diff --git a/.run/JavaSteam [syncProtobufs].run.xml b/.run/JavaSteam [syncProtobufs].run.xml new file mode 100644 index 00000000..d6cd802a --- /dev/null +++ b/.run/JavaSteam [syncProtobufs].run.xml @@ -0,0 +1,27 @@ + + + + + + + true + true + false + false + false + false + false + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 62bd125e..10acc0d7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -16,6 +16,7 @@ plugins { projectversiongen steamlanguagegen rpcinterfacegen + protosync } allprojects { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index c0e7b9c1..dcb5d267 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -32,5 +32,9 @@ gradlePlugin { id = "rpcinterfacegen" implementationClass = "in.dragonbra.generators.rpc.RpcGenPlugin" } + create("protosync") { + id = "protosync" + implementationClass = "in.dragonbra.generators.protosync.ProtoSyncPlugin" + } } } diff --git a/buildSrc/src/main/kotlin/in/dragonbra/generators/protosync/ProtoSyncPlugin.kt b/buildSrc/src/main/kotlin/in/dragonbra/generators/protosync/ProtoSyncPlugin.kt new file mode 100644 index 00000000..832ddd8e --- /dev/null +++ b/buildSrc/src/main/kotlin/in/dragonbra/generators/protosync/ProtoSyncPlugin.kt @@ -0,0 +1,10 @@ +package `in`.dragonbra.generators.protosync + +import org.gradle.api.Plugin +import org.gradle.api.Project + +class ProtoSyncPlugin : Plugin { + override fun apply(project: Project) { + project.tasks.register("syncProtobufs", ProtoSyncTask::class.java) + } +} diff --git a/buildSrc/src/main/kotlin/in/dragonbra/generators/protosync/ProtoSyncTask.kt b/buildSrc/src/main/kotlin/in/dragonbra/generators/protosync/ProtoSyncTask.kt new file mode 100644 index 00000000..c329d507 --- /dev/null +++ b/buildSrc/src/main/kotlin/in/dragonbra/generators/protosync/ProtoSyncTask.kt @@ -0,0 +1,273 @@ +package `in`.dragonbra.generators.protosync + +import org.gradle.api.DefaultTask +import org.gradle.api.GradleException +import org.gradle.api.tasks.TaskAction +import java.io.File +import javax.inject.Inject + +/** + * Re-downloads every .proto file listed in `protosync-whitelist.txt` (repository root) + * from [SteamTracking/Protobufs](https://github.com/SteamTracking/Protobufs) and + * re-applies the JavaSteam transformations: + * + * - imports are rewritten to this repository's proto source-root layout + * - `option java_package` is injected, `cc_generic_services` is replaced + * with `java_generic_services = false` + * - tab indentation is converted to two spaces + * + * The whitelist is the manifest of vetted protos: only listed files are written + * (created if not present locally yet). Upstream imports of unlisted files are dropped + * and reported as vetting candidates - protoc fails the build if a listed proto + * actually uses their types, which is the prompt to vet the file and whitelist it. + * + * Usage: `gradlew syncProtobufs` + */ +@Suppress("unused") +abstract class ProtoSyncTask : DefaultTask { + + private data class ProtoModule( + val upstreamDir: String, + val localDir: String, + val pkg: String, + val packageLine: String? = null, + ) + + private companion object { + const val REPO_URL = "https://github.com/SteamTracking/Protobufs.git" + const val PROTO_ROOT = "src/main/proto/in/dragonbra/javasteam/protobufs" + + val MODULES = listOf( + ProtoModule("steam", PROTO_ROOT, "steamclient"), + ProtoModule("webui", "javasteam-protobufs-webui/$PROTO_ROOT", "webui", packageLine = "package webui;"), + ProtoModule("csgo", "javasteam-cs/$PROTO_ROOT", "cs"), + ProtoModule("dota2", "javasteam-dota2/$PROTO_ROOT", "dota2"), + ProtoModule("tf2", "javasteam-tf/$PROTO_ROOT", "tf"), + ProtoModule("deadlock", "javasteam-deadlock/$PROTO_ROOT", "deadlock"), + ) + + // Header options owned by the transform: stripped from upstream (and from any + // previously transformed file) before the canonical block is inserted. + // additional_includes only exists in Valve's own descriptor.proto, protoc rejects it. + val MANAGED_OPTIONS = Regex( + """^option\s+(optimize_for|cc_generic_services|py_generic_services|java_generic_services|java_package|additional_includes)\b.*""" + ) + + // Field options that only exist in Valve's own descriptor.proto; bare (non-extension) + // names like these are unresolvable with a standard protoc and must be dropped. + val VALVE_FIELD_OPTIONS = Regex("""(,\s*)?(boxed_type|synthetic_default)\s*=\s*("[^"]*"|[^,\[\]]+)""") + + // Root-qualified references like `optional .CFoo` / `[(.description) = ...]` break once a + // `package` line is injected; they get rewritten relative to the injected package. + val ROOT_TYPE_REF = Regex("""([\s(<,])\.(?=[A-Z])""") + val ROOT_EXT_OPTION = Regex("""\(\.(?=[a-z_])""") + + val IMPORT_LINE = Regex("""^import( public| weak)?\s+"([^"]+)";?\s*$""") + } + + private val rootDir: File = project.projectDir + private val checkoutDir: File = project.layout.buildDirectory.dir("steamtracking").get().asFile + + @Inject + constructor() { + group = "protobufs" + description = "Updates all .proto files from SteamTracking/Protobufs" + } + + @TaskAction + fun sync() { + val upstream = obtainUpstream() + val sha = git(upstream, "rev-parse", "HEAD").trim() + println("Syncing protobufs from SteamTracking/Protobufs @ $sha") + + val whitelist = loadWhitelist() + val missing = mutableListOf() + val added = mutableListOf() + val candidates = mutableListOf() + val unmanaged = mutableListOf() + var count = 0 + + MODULES.forEach { module -> + val listed = whitelist[module.pkg].orEmpty() + val localDir = rootDir.resolve(module.localDir).resolve(module.pkg) + val localFiles = localDir.listFiles { file -> file.extension == "proto" } + ?: throw GradleException("Proto directory not found: $localDir") + + localFiles.filter { it.name !in listed }.forEach { unmanaged.add("${module.pkg}/${it.name}") } + + // Line endings of the current checkout, so synced files diff cleanly + val eol = localFiles.firstOrNull()?.readText()?.let { if (it.contains("\r\n")) "\r\n" else "\n" } ?: "\n" + + listed.forEach { name -> + val upstreamFile = upstream.resolve(module.upstreamDir).resolve(name) + if (!upstreamFile.isFile) { + missing.add("${module.upstreamDir}/$name") + return@forEach + } + + // Imports of unlisted files are dropped unless a local copy exists anyway; + // dropped ones are reported as vetting candidates. + val transformed = transform(upstreamFile.readText(), module) { importName -> + val drop = importName !in listed && !localDir.resolve(importName).isFile + if (drop) { + candidates.add("${module.pkg}/$importName (imported by $name)") + } + drop + } + val local = localDir.resolve(name) + if (!local.isFile) { + added.add("${module.localDir}/${module.pkg}/$name") + } + local.writeText(transformed.replace("\n", eol)) + count++ + } + } + + println("Synced $count proto files @ $sha") + + if (added.isNotEmpty()) { + println("Added ${added.size} newly whitelisted file(s):") + added.forEach { println(" $it") } + } + + if (candidates.isNotEmpty()) { + println("Skipped ${candidates.size} upstream import(s) of files not in protosync-whitelist.txt;") + println("protoc will fail if their types are used - vet them and add them to the whitelist:") + candidates.forEach { println(" $it") } + } + + if (unmanaged.isNotEmpty()) { + println("${unmanaged.size} local proto file(s) are not whitelisted and were left untouched:") + unmanaged.forEach { println(" $it") } + } + + if (missing.isNotEmpty()) { + logger.warn( + "WARNING: ${missing.size} whitelisted proto file(s) do not exist upstream " + + "(renamed or deleted from SteamTracking, needs manual attention):" + ) + missing.forEach { logger.warn(" $it") } + } + } + + private fun transform(content: String, module: ProtoModule, dropImport: (String) -> Boolean): String { + val importPrefix = "in/dragonbra/javasteam/protobufs/${module.pkg}" + val imports = mutableListOf() + val body = mutableListOf() + + content.lines().forEach { raw -> + val line = raw.trimEnd() + val trimmed = line.trim() + val importMatch = IMPORT_LINE.matchEntire(trimmed) + when { + importMatch != null -> { + val modifier = importMatch.groupValues[1] + val file = importMatch.groupValues[2] + val baseName = file.substringAfterLast('/') + when { + file.startsWith("google/") -> imports.add("import$modifier \"$file\";") + !dropImport(baseName) -> imports.add("import$modifier \"$importPrefix/$baseName\";") + } + } + MANAGED_OPTIONS.matches(trimmed) -> Unit + module.packageLine != null && trimmed.startsWith("package ") -> Unit + else -> body.add(transformBodyLine(line, module)) + } + } + + while (body.isNotEmpty() && body.first().isBlank()) body.removeAt(0) + while (body.isNotEmpty() && body.last().isBlank()) body.removeAt(body.lastIndex) + + return buildString { + imports.forEach { appendLine(it) } + if (imports.isNotEmpty()) appendLine() + module.packageLine?.let { + appendLine(it) + appendLine() + } + appendLine("option java_package = \"in.dragonbra.javasteam.protobufs.${module.pkg}\";") + appendLine() + appendLine("option optimize_for = SPEED;") + appendLine("option java_generic_services = false;") + appendLine() + body.forEach { appendLine(it) } + } + } + + private fun loadWhitelist(): Map> { + val file = rootDir.resolve("protosync-whitelist.txt") + if (!file.isFile) { + throw GradleException("Whitelist not found: $file") + } + + val sections = mutableMapOf>() + var current: MutableSet? = null + + file.readLines().map { it.trim() }.forEach { line -> + when { + line.isEmpty() || line.startsWith("#") -> Unit + line.startsWith("[") && line.endsWith("]") -> { + val pkg = line.substring(1, line.length - 1) + if (MODULES.none { it.pkg == pkg }) { + throw GradleException("Unknown module [$pkg] in protosync-whitelist.txt") + } + current = sections.getOrPut(pkg) { mutableSetOf() } + } + else -> (current ?: throw GradleException("Entry before any [module] section in protosync-whitelist.txt: $line")) + .add(line) + } + } + + return sections + } + + private fun transformBodyLine(raw: String, module: ProtoModule): String { + var line = stripValveFieldOptions(raw.replace("\t", " ")) + + if (module.packageLine != null) { + line = line + .replace(ROOT_TYPE_REF, "$1") + .replace(ROOT_EXT_OPTION, "(${module.pkg}.") + } + + return line + } + + private fun stripValveFieldOptions(line: String): String { + if (!VALVE_FIELD_OPTIONS.containsMatchIn(line)) { + return line + } + + return line + .replace(VALVE_FIELD_OPTIONS, "") + .replace(Regex("""\[\s*,\s*"""), "[") + .replace(Regex("""\s*,\s*]"""), "]") + .replace(Regex("""\s*\[\s*]"""), "") + } + + private fun obtainUpstream(): File { + if (checkoutDir.resolve(".git").isDirectory) { + git(checkoutDir, "fetch", "--depth", "1", "origin", "master") + git(checkoutDir, "reset", "--hard", "origin/master") + } else { + checkoutDir.parentFile.mkdirs() + git(checkoutDir.parentFile, "clone", "--depth", "1", REPO_URL, checkoutDir.name) + } + + return checkoutDir + } + + private fun git(workingDir: File, vararg args: String): String { + val process = ProcessBuilder("git", *args) + .directory(workingDir) + .redirectErrorStream(true) + .start() + + val output = process.inputStream.bufferedReader().readText() + if (process.waitFor() != 0) { + throw GradleException("git ${args.joinToString(" ")} failed:\n$output") + } + + return output + } +} diff --git a/gradle.properties b/gradle.properties index a4b39382..7ad79a48 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,6 +8,8 @@ signing.secretKeyRingFile=~/.gnupg/secring.gpg ossrhUsername= ossrhPassword= -org.gradle.jvmargs=-Xmx2048m +org.gradle.jvmargs=-Xmx2048m -Didea.max.content.load.filesize=65536 +# The Kotlin compiler refuses to index Java sources larger than 20 MB +kotlin.daemon.jvmargs=-Xmx2048m -Didea.max.content.load.filesize=65536 org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/base_gcmessages.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/base_gcmessages.proto index 8b60b7b8..d3d99c72 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/base_gcmessages.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/base_gcmessages.proto @@ -195,21 +195,6 @@ message CMsgApplyStatTrakSwap { optional uint64 item_2_item_id = 3; } -message CMsgApplyStrangePart { - optional uint64 strange_part_item_id = 1; - optional uint64 item_item_id = 2; -} - -message CMsgApplyPennantUpgrade { - optional uint64 upgrade_item_id = 1; - optional uint64 pennant_item_id = 2; -} - -message CMsgApplyEggEssence { - optional uint64 essence_item_id = 1; - optional uint64 egg_item_id = 2; -} - message CSOEconItemAttribute { optional uint32 def_index = 1; optional uint32 value = 2; @@ -246,6 +231,22 @@ message CMsgSortItems { optional uint32 sort_type = 1; } +message CMsgDeleteItem { + optional uint64 item_id = 1; +} + +message CMsgModifyItemStringAttr { + optional uint64 tool_item_id = 1; + optional uint64 subject_item_id = 2; + optional uint32 attr_def = 3; + optional string attr_value = 4; +} + +message CMsgCraftItemsRequest { + optional uint32 recipe_def = 1; + repeated uint64 craft_items = 2; +} + message CSOEconClaimCode { optional uint32 account_id = 1; optional uint32 code_type = 2; @@ -279,20 +280,10 @@ message CMsgGCError { message CMsgRequestInventoryRefresh { } -message CMsgConVarValue { - optional string name = 1; - optional string value = 2; -} - -message CMsgReplicateConVars { - repeated .CMsgConVarValue convars = 1; -} - message CMsgUseItem { optional uint64 item_id = 1; optional fixed64 target_steam_id = 2; repeated uint32 gift__potential_targets = 3; - optional uint32 duel__class_lock = 4; optional fixed64 initiator_steam_id = 5; } @@ -348,13 +339,6 @@ message CMsgGCNameItemNotification { optional string item_name_custom = 3; } -message CMsgGCClientDisplayNotification { - optional string notification_title_localization_key = 1; - optional string notification_body_localization_key = 2; - repeated string body_substring_keys = 3; - repeated string body_substring_values = 4; -} - message CMsgGCShowItemsPickedUp { optional fixed64 player_steamid = 1; } @@ -388,10 +372,6 @@ message CSOEconItemEventTicket { optional uint64 item_id = 3; } -message CMsgGCItemPreviewItemBoughtNotification { - optional uint32 item_def_index = 1; -} - message CMsgGCStorePurchaseCancel { optional uint64 txn_id = 1; } @@ -453,11 +433,6 @@ message CMsgGCToGCDirtyMultipleSDOCache { repeated uint64 key_uint64 = 2; } -message CMsgGCCollectItem { - optional uint64 collection_item_id = 1; - optional uint64 subject_item_id = 2; -} - message CMsgSDONoMemcached { } @@ -545,6 +520,7 @@ message CMsgOpenCrate { optional uint64 subject_item_id = 2; optional bool for_rental = 3; optional uint32 points_remaining = 4; + optional uint32 volatile_limit = 5; } message CSOEconRentalHistory { diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/cstrike15_gcmessages.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/cstrike15_gcmessages.proto index f77f78cd..e322c5af 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/cstrike15_gcmessages.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/cstrike15_gcmessages.proto @@ -95,14 +95,9 @@ enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_ClientPerfReport = 9202; k_EMsgGCCStrike15_v2_GetEventFavorites_Response = 9203; k_EMsgGCCStrike15_v2_ClientRequestSouvenir = 9204; - k_EMsgGCCStrike15_v2_ClientReportValidation = 9205; - k_EMsgGCCStrike15_v2_GC2ClientRefuseSecureMode = 9206; - k_EMsgGCCStrike15_v2_GC2ClientRequestValidation = 9207; k_EMsgGCCStrike15_v2_ClientRedeemMissionReward = 9209; k_EMsgGCCStrike15_ClientDeepStats = 9210; k_EMsgGCCStrike15_StartAgreementSessionInGame = 9211; - k_EMsgGCCStrike15_v2_GC2ClientInitSystem = 9212; - k_EMsgGCCStrike15_v2_GC2ClientInitSystem_Response = 9213; k_EMsgGCCStrike15_v2_PrivateQueues = 9214; k_EMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt = 9215; k_EMsgGCCStrike15_v2_BetaEnrollment = 9217; @@ -116,6 +111,8 @@ enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_RequestRecurringMissionSchedule = 9225; k_EMsgGCCStrike15_v2_RecurringMissionSchema = 9226; k_EMsgGCCStrike15_v2_VolatileItemClaimReward = 9227; + k_EMsgGCCStrike15_v2_VolatileShopSubscribe = 9228; + k_EMsgGCCStrike15_v2_SetClanId = 9229; } enum ECsgoSteamUserStat { @@ -135,18 +132,6 @@ enum EClientReportingVersion { k_EClientReportingVersion_SupportsTrustedMode = 2; } -enum EInitSystemResult { - k_EInitSystemResult_Invalid = 0; - k_EInitSystemResult_Success = 1; - k_EInitSystemResult_None = 2; - k_EInitSystemResult_NotFound = 3; - k_EInitSystemResult_Existing = 4; - k_EInitSystemResult_FailedOpen = 5; - k_EInitSystemResult_Mismatch = 6; - k_EInitSystemResult_FailedInit = 7; - k_EInitSystemResult_Max = 8; -} - message GameServerPing { optional int32 ping = 2; optional uint32 ip = 3; @@ -556,6 +541,7 @@ message CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve { optional uint32 socache_control = 20; repeated int32 teammate_colors = 21; optional uint32 match_id_additional = 22; + repeated string clan_tags = 23; } message CMsgGCCStrike15_v2_MatchmakingServerReservationResponse { @@ -686,6 +672,7 @@ message CMsgGCCStrike15_v2_ServerNotificationForUserPenalty { optional uint32 reason = 2; optional uint32 seconds = 3; optional bool communication_cooldown = 4; + optional uint32 cheating_penalty_level = 5; } message CMsgGCCStrike15_v2_ClientReportPlayer { @@ -757,6 +744,7 @@ message CMsgGCCStrike15_v2_ClientRequestJoinFriendData { optional uint32 join_ipp = 4; optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 5; optional string errormsg = 6; + optional bool is_local_server = 7; } message CMsgGCCStrike15_v2_ClientRequestJoinServerData { @@ -775,6 +763,8 @@ message CMsgGCCstrike15_v2_ClientRedeemMissionReward { optional uint32 redeemable_balance = 3; optional uint32 expected_cost = 4; optional int32 bid_control = 5; + repeated uint64 volatile_shop = 6; + optional uint64 souvenir_matchid = 7; } message CMsgGCCstrike15_v2_ClientRedeemFreeReward { @@ -942,7 +932,7 @@ message CEconItemPreviewDataBlock { optional uint32 paintseed = 8; optional uint32 killeaterscoretype = 9; optional uint32 killeatervalue = 10; - optional string customname = 11; + repeated string customnames = 11; repeated .CEconItemPreviewDataBlock.Sticker stickers = 12; optional uint32 inventory = 13; optional uint32 origin = 14; @@ -955,6 +945,8 @@ message CEconItemPreviewDataBlock { optional uint32 style = 21; repeated .CEconItemPreviewDataBlock.Sticker variations = 22; optional uint32 upgrade_level = 23; + optional uint32 pet_food_expiration_date = 24; + optional bytes blobdata = 25; } message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification { @@ -1203,6 +1195,14 @@ message CSOVolatileItemClaimedRewards { repeated uint32 generation_time = 3; } +message CMsgGCCStrike15_v2_VolatileShopSubscribe { + optional uint32 defidx = 1; + optional uint64 psid = 2; + optional uint32 upnext = 3; + optional uint32 gctime = 4; + optional bytes payload = 5; +} + message CSOAccountKeychainRemoveToolCharges { optional uint32 charges = 1; } @@ -1240,6 +1240,8 @@ message CSOPersonaDataPublic { optional bool elevated_state = 3; optional uint32 xp_trail_timestamp_refresh = 4; optional uint32 xp_trail_level = 5; + optional uint32 clan_id = 6; + optional string clan_tag = 7; } message CSOAccountRecurringMission { @@ -1434,6 +1436,10 @@ message CMsgGCCStrike15_v2_ClientAccountBalance { optional string url = 2; } +message CMsgGCCStrike15_v2_SetClanId { + optional uint32 clan_id = 1; +} + message CMsgGCCStrike15_v2_ClientPartyJoinRelay { optional uint32 accountid = 1; optional uint64 lobbyid = 2; @@ -1483,71 +1489,6 @@ message CVDiagnostic { optional string string_value = 4; } -message CMsgGCCStrike15_v2_ClientReportValidation { - optional string file_report = 1; - optional string command_line = 2; - optional uint32 total_files = 3; - optional uint32 internal_error = 4; - optional uint32 trust_time = 5; - optional uint32 count_pending = 6; - optional uint32 count_completed = 7; - optional uint32 process_id = 8; - optional int32 osversion = 9; - optional uint32 clientreportversion = 10; - optional uint32 status_id = 11; - optional uint32 diagnostic1 = 12; - optional uint64 diagnostic2 = 13; - optional uint64 diagnostic3 = 14; - optional string last_launch_data = 15; - optional uint32 report_count = 16; - optional uint64 client_time = 17; - optional uint64 diagnostic4 = 18; - optional uint64 diagnostic5 = 19; - repeated .CVDiagnostic diagnostics = 20; -} - -message CMsgGCCStrike15_v2_GC2ClientRefuseSecureMode { - optional string file_report = 1; - optional bool offer_insecure_mode = 2; - optional bool offer_secure_mode = 3; - optional bool show_unsigned_ui = 4; - optional bool kick_user = 5; - optional bool show_trusted_ui = 6; - optional bool show_warning_not_trusted = 7; - optional bool show_warning_not_trusted_2 = 8; - optional string files_prevented_trusted = 9; -} - -message CMsgGCCStrike15_v2_GC2ClientRequestValidation { - optional bool full_report = 1; - optional string module = 2; -} - -message CMsgGCCStrike15_v2_GC2ClientInitSystem { - optional bool load = 1; - optional string name = 2; - optional string outputname = 3; - optional bytes key_data = 4; - optional bytes sha_hash = 5; - optional int32 cookie = 6; - optional string manifest = 7; - optional bytes system_package = 8; - optional bool load_system = 9; -} - -message CMsgGCCStrike15_v2_GC2ClientInitSystem_Response { - optional bool success = 1; - optional string diagnostic = 2; - optional bytes sha_hash = 3; - optional int32 response = 4; - optional int32 error_code1 = 5; - optional int32 error_code2 = 6; - optional int64 handle = 7; - optional .EInitSystemResult einit_result = 8 [default = k_EInitSystemResult_Invalid]; - optional int32 aux_system1 = 9; - optional int32 aux_system2 = 10; -} - message CMsgGCCStrike15_v2_SetPlayerLeaderboardSafeName { optional string leaderboard_safe_name = 1; } diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/econ_gcmessages.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/econ_gcmessages.proto index dd41d0e2..9d6d35dd 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/econ_gcmessages.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/econ_gcmessages.proto @@ -11,15 +11,15 @@ enum EGCItemMsg { k_EMsgGCCraft = 1002; k_EMsgGCCraftResponse = 1003; k_EMsgGCDelete = 1004; - k_EMsgGCVerifyCacheSubscription = 1005; + k_EMsgGCVerifyCacheSubscription_DEPRECATED = 1005; k_EMsgGCNameItem = 1006; k_EMsgGCUnlockCrate_DEPRECATED = 1007; k_EMsgGCUnlockCrateResponse = 1008; - k_EMsgGCPaintItem = 1009; - k_EMsgGCPaintItemResponse = 1010; - k_EMsgGCGoldenWrenchBroadcast = 1011; - k_EMsgGCMOTDRequest = 1012; - k_EMsgGCMOTDRequestResponse = 1013; + k_EMsgGCPaintItem_DEPRECATED = 1009; + k_EMsgGCPaintItemResponse_DEPRECATED = 1010; + k_EMsgGCGoldenWrenchBroadcast_DEPRECATED = 1011; + k_EMsgGCMOTDRequest_DEPRECATED = 1012; + k_EMsgGCMOTDRequestResponse_DEPRECATED = 1013; k_EMsgGCAddItemToSocket_DEPRECATED = 1014; k_EMsgGCAddItemToSocketResponse_DEPRECATED = 1015; k_EMsgGCAddSocketToBaseItem_DEPRECATED = 1016; @@ -29,59 +29,59 @@ enum EGCItemMsg { k_EMsgGCNameBaseItemResponse = 1020; k_EMsgGCRemoveSocketItem_DEPRECATED = 1021; k_EMsgGCRemoveSocketItemResponse_DEPRECATED = 1022; - k_EMsgGCCustomizeItemTexture = 1023; - k_EMsgGCCustomizeItemTextureResponse = 1024; + k_EMsgGCCustomizeItemTexture_DEPRECATED = 1023; + k_EMsgGCCustomizeItemTextureResponse_DEPRECATED = 1024; k_EMsgGCUseItemRequest = 1025; k_EMsgGCUseItemResponse = 1026; k_EMsgGCGiftedItems_DEPRECATED = 1027; k_EMsgGCRemoveItemName = 1030; - k_EMsgGCRemoveItemPaint = 1031; - k_EMsgGCGiftWrapItem = 1032; - k_EMsgGCGiftWrapItemResponse = 1033; - k_EMsgGCDeliverGift = 1034; - k_EMsgGCDeliverGiftResponseGiver = 1035; - k_EMsgGCDeliverGiftResponseReceiver = 1036; - k_EMsgGCUnwrapGiftRequest = 1037; - k_EMsgGCUnwrapGiftResponse = 1038; - k_EMsgGCSetItemStyle = 1039; - k_EMsgGCUsedClaimCodeItem = 1040; + k_EMsgGCRemoveItemPaint_DEPRECATED = 1031; + k_EMsgGCGiftWrapItem_DEPRECATED = 1032; + k_EMsgGCGiftWrapItemResponse_DEPRECATED = 1033; + k_EMsgGCDeliverGift_DEPRECATED = 1034; + k_EMsgGCDeliverGiftResponseGiver_DEPRECATED = 1035; + k_EMsgGCDeliverGiftResponseReceiver_DEPRECATED = 1036; + k_EMsgGCUnwrapGiftRequest_DEPRECATED = 1037; + k_EMsgGCUnwrapGiftResponse_DEPRECATED = 1038; + k_EMsgGCSetItemStyle_DEPRECATED = 1039; + k_EMsgGCUsedClaimCodeItem_DEPRECATED = 1040; k_EMsgGCSortItems = 1041; k_EMsgGC_RevolvingLootList_DEPRECATED = 1042; - k_EMsgGCLookupAccount = 1043; - k_EMsgGCLookupAccountResponse = 1044; - k_EMsgGCLookupAccountName = 1045; - k_EMsgGCLookupAccountNameResponse = 1046; + k_EMsgGCLookupAccount_DEPRECATED = 1043; + k_EMsgGCLookupAccountResponse_DEPRECATED = 1044; + k_EMsgGCLookupAccountName_DEPRECATED = 1045; + k_EMsgGCLookupAccountNameResponse_DEPRECATED = 1046; k_EMsgGCUpdateItemSchema = 1049; - k_EMsgGCRemoveCustomTexture = 1051; - k_EMsgGCRemoveCustomTextureResponse = 1052; - k_EMsgGCRemoveMakersMark = 1053; - k_EMsgGCRemoveMakersMarkResponse = 1054; - k_EMsgGCRemoveUniqueCraftIndex = 1055; - k_EMsgGCRemoveUniqueCraftIndexResponse = 1056; + k_EMsgGCRemoveCustomTexture_DEPRECATED = 1051; + k_EMsgGCRemoveCustomTextureResponse_DEPRECATED = 1052; + k_EMsgGCRemoveMakersMark_DEPRECATED = 1053; + k_EMsgGCRemoveMakersMarkResponse_DEPRECATED = 1054; + k_EMsgGCRemoveUniqueCraftIndex_DEPRECATED = 1055; + k_EMsgGCRemoveUniqueCraftIndexResponse_DEPRECATED = 1056; k_EMsgGCSaxxyBroadcast = 1057; k_EMsgGCBackpackSortFinished = 1058; - k_EMsgGCCollectItem = 1061; + k_EMsgGCCollectItem_DEPRECATED = 1061; k_EMsgGCItemAcknowledged__DEPRECATED = 1062; k_EMsgGC_ReportAbuse = 1065; k_EMsgGC_ReportAbuseResponse = 1066; k_EMsgGCNameItemNotification = 1068; - k_EMsgGCApplyConsumableEffects = 1069; + k_EMsgGCApplyConsumableEffects_DEPRECATED = 1069; k_EMsgGCConsumableExhausted = 1070; k_EMsgGCShowItemsPickedUp = 1071; - k_EMsgGCClientDisplayNotification = 1072; - k_EMsgGCApplyStrangePart = 1073; + k_EMsgGCClientDisplayNotification_DEPRECATED = 1072; + k_EMsgGCApplyStrangePart_DEPRECATED = 1073; k_EMsgGC_IncrementKillCountAttribute = 1074; k_EMsgGC_IncrementKillCountResponse = 1075; - k_EMsgGCApplyPennantUpgrade = 1076; + k_EMsgGCApplyPennantUpgrade_DEPRECATED = 1076; k_EMsgGCSetItemPositions = 1077; - k_EMsgGCApplyEggEssence = 1078; - k_EMsgGCNameEggEssenceResponse = 1079; - k_EMsgGCPaintKitItem = 1080; - k_EMsgGCPaintKitBaseItem = 1081; - k_EMsgGCPaintKitItemResponse = 1082; + k_EMsgGCApplyEggEssence_DEPRECATED = 1078; + k_EMsgGCNameEggEssenceResponse_DEPRECATED = 1079; + k_EMsgGCPaintKitItem_DEPRECATED = 1080; + k_EMsgGCPaintKitBaseItem_DEPRECATED = 1081; + k_EMsgGCPaintKitItemResponse_DEPRECATED = 1082; k_EMsgGCGiftedItems = 1083; - k_EMsgGCUnlockItemStyle = 1084; - k_EMsgGCUnlockItemStyleResponse = 1085; + k_EMsgGCUnlockItemStyle_DEPRECATED = 1084; + k_EMsgGCUnlockItemStyleResponse_DEPRECATED = 1085; k_EMsgGCApplySticker = 1086; k_EMsgGCItemAcknowledged = 1087; k_EMsgGCStatTrakSwap = 1088; @@ -91,33 +91,19 @@ enum EGCItemMsg { k_EMsgGCCasketItemAdd = 1092; k_EMsgGCCasketItemExtract = 1093; k_EMsgGCCasketItemLoadContents = 1094; - k_EMsgGCTradingBase = 1500; - k_EMsgGCTrading_InitiateTradeRequest = 1501; - k_EMsgGCTrading_InitiateTradeResponse = 1502; - k_EMsgGCTrading_StartSession = 1503; - k_EMsgGCTrading_SetItem = 1504; - k_EMsgGCTrading_RemoveItem = 1505; - k_EMsgGCTrading_UpdateTradeInfo = 1506; - k_EMsgGCTrading_SetReadiness = 1507; - k_EMsgGCTrading_ReadinessResponse = 1508; - k_EMsgGCTrading_SessionClosed = 1509; - k_EMsgGCTrading_CancelSession = 1510; - k_EMsgGCTrading_TradeChatMsg = 1511; - k_EMsgGCTrading_ConfirmOffer = 1512; - k_EMsgGCTrading_TradeTypingChatMsg = 1513; - k_EMsgGCServerBrowser_FavoriteServer = 1601; - k_EMsgGCServerBrowser_BlacklistServer = 1602; - k_EMsgGCServerRentalsBase = 1700; - k_EMsgGCItemPreviewCheckStatus = 1701; - k_EMsgGCItemPreviewStatusResponse = 1702; - k_EMsgGCItemPreviewRequest = 1703; - k_EMsgGCItemPreviewRequestResponse = 1704; - k_EMsgGCItemPreviewExpire = 1705; - k_EMsgGCItemPreviewExpireNotification = 1706; - k_EMsgGCItemPreviewItemBoughtNotification = 1707; + k_EMsgGCServerBrowser_FavoriteServer_DEPRECATED = 1601; + k_EMsgGCServerBrowser_BlacklistServer_DEPRECATED = 1602; + k_EMsgGCServerRentalsBase_DEPRECATED = 1700; + k_EMsgGCItemPreviewCheckStatus_DEPRECATED = 1701; + k_EMsgGCItemPreviewStatusResponse_DEPRECATED = 1702; + k_EMsgGCItemPreviewRequest_DEPRECATED = 1703; + k_EMsgGCItemPreviewRequestResponse_DEPRECATED = 1704; + k_EMsgGCItemPreviewExpire_DEPRECATED = 1705; + k_EMsgGCItemPreviewExpireNotification_DEPRECATED = 1706; + k_EMsgGCItemPreviewItemBoughtNotification_DEPRECATED = 1707; k_EMsgGCDev_NewItemRequest = 2001; k_EMsgGCDev_NewItemRequestResponse = 2002; - k_EMsgGCDev_PaintKitDropItem = 2003; + k_EMsgGCDev_PaintKitDropItem_DEPRECATED = 2003; k_EMsgGCDev_SchemaReservationRequest = 2004; k_EMsgGCStoreGetUserData = 2500; k_EMsgGCStoreGetUserDataResponse = 2501; @@ -127,8 +113,8 @@ enum EGCItemMsg { k_EMsgGCStorePurchaseFinalizeResponse = 2505; k_EMsgGCStorePurchaseCancel = 2506; k_EMsgGCStorePurchaseCancelResponse = 2507; - k_EMsgGCStorePurchaseQueryTxn = 2508; - k_EMsgGCStorePurchaseQueryTxnResponse = 2509; + k_EMsgGCStorePurchaseQueryTxn_DEPRECATED = 2508; + k_EMsgGCStorePurchaseQueryTxnResponse_DEPRECATED = 2509; k_EMsgGCStorePurchaseInit = 2510; k_EMsgGCStorePurchaseInitResponse = 2511; k_EMsgGCBannedWordListRequest = 2512; @@ -169,15 +155,6 @@ enum EGCMsgResponse { k_EGCMsgCommitUnfinalized = 10; } -enum EUnlockStyle { - k_UnlockStyle_Succeeded = 0; - k_UnlockStyle_Failed_PreReq = 1; - k_UnlockStyle_Failed_CantAfford = 2; - k_UnlockStyle_Failed_CantCommit = 3; - k_UnlockStyle_Failed_CantLockCache = 4; - k_UnlockStyle_Failed_CantAffordAttrib = 5; -} - enum EGCItemCustomizationNotification { k_EGCItemCustomizationNotification_NameItem = 1006; k_EGCItemCustomizationNotification_UnlockCrate = 1007; diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/gcsystemmsgs.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/gcsystemmsgs.proto index 583c6a6d..24c8c012 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/gcsystemmsgs.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/gcsystemmsgs.proto @@ -26,7 +26,7 @@ enum EGCSystemMsg { k_EGCMsgLookupAccountFromInput = 66; k_EGCMsgSendHTTPRequest = 67; k_EGCMsgSendHTTPRequestResponse = 68; - k_EGCMsgPreTestSetup = 69; + k_EGCMsgPreTestSetup_DEPRECATED = 69; k_EGCMsgRecordSupportAction = 70; k_EGCMsgGetAccountDetails_DEPRECATED = 71; k_EGCMsgReceiveInterAppMessage = 73; @@ -96,6 +96,13 @@ enum EGCSystemMsg { k_EGCMsgRecurringSubscriptionStatusChange = 530; k_EGCMsgDirectServiceMethod = 531; k_EGCMsgDirectServiceMethodResponse = 532; + k_EGCMsgAppCheersReceived = 533; + k_EGCMsgAppCheersGetAllowedTypes = 534; + k_EGCMsgAppCheersGetAllowedTypesResponse = 535; + k_EGCMsgReportMetrics = 536; + k_EGCMsgReportMetricsResponse = 537; + k_EGCMsgGetClanDetails = 538; + k_EGCMsgGetClanDetailsResponse = 539; } enum ESOMsg { diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/netmessages.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/netmessages.proto index 76cd28b7..b1c3ba2c 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/netmessages.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/netmessages.proto @@ -1,5 +1,6 @@ import "in/dragonbra/javasteam/protobufs/cs/networkbasetypes.proto"; import "in/dragonbra/javasteam/protobufs/cs/source2_steam_stats.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.cs"; @@ -55,6 +56,7 @@ enum SVC_Messages { svc_HltvFixupOperatorStatus = 75; svc_UserCmds = 76; svc_NextMsgPredicted = 77; + svc_EncryptedData = 78; } enum VoiceDataFormat_t { @@ -100,15 +102,10 @@ enum SVC_Messages_LowFrequency { enum Bidirectional_Messages { bi_RebroadcastGameEvent = 16; bi_RebroadcastSource = 17; - bi_GameEvent = 18; + bi_GameEvent_DEPRECATED = 18; bi_PredictionEvent = 19; } -enum Bidirectional_Messages_LowFrequency { - bi_RelayInfo = 700; - bi_RelayPacket = 701; -} - enum ReplayEventType_t { REPLAY_EVENT_CANCEL = 0; REPLAY_EVENT_DEATH = 1; @@ -206,7 +203,7 @@ message CCLCMsg_Diagnostic { } message CSVCMsg_ServerInfo { - option (maximum_size_bytes) = 102400; + option (maximum_size_bytes) = 409600; optional int32 protocol = 1; optional int32 server_count = 2; @@ -227,6 +224,8 @@ message CSVCMsg_ServerInfo { } message CSVCMsg_ClassInfo { + option (maximum_size_bytes) = 8192; + message class_t { optional int32 class_id = 1; optional string class_name = 3; @@ -247,6 +246,8 @@ message CSVCMsg_VoiceInit { } message CSVCMsg_Print { + option (maximum_size_bytes) = 8192; + optional string text = 1; } @@ -409,7 +410,7 @@ message CSVCMsg_TempEntities { } message CSVCMsg_CreateStringTable { - option (maximum_size_bytes) = 49152; + option (maximum_size_bytes) = 102400; optional string name = 1; optional int32 num_entries = 2; @@ -433,12 +434,19 @@ message CSVCMsg_UpdateStringTable { message CSVCMsg_VoiceData { optional .CMsgVoiceAudio audio = 1; - optional int32 client = 2 [default = -1]; + optional int32 client_deprecated = 2 [default = -1]; optional bool proximity = 3; optional fixed64 xuid = 4; optional int32 audible_mask = 5; optional uint32 tick = 6; optional int32 passthrough = 7; + optional int32 entity = 8 [default = -1]; + optional bool caster = 9; +} + +message CSVCMsg_EncryptedData { + optional bytes encrypted = 1; + optional int32 key_type = 2; } message CSVCMsg_PacketReliable { @@ -503,6 +511,10 @@ message ProtoFlattenedSerializerField_t { optional int32 polymorphic_field_serializer_version = 2; } + message proto_enum_info_t { + optional bool is_signed_enum = 1; + } + optional int32 var_type_sym = 1; optional int32 var_name_sym = 2; optional int32 bit_count = 3; @@ -515,6 +527,7 @@ message ProtoFlattenedSerializerField_t { optional int32 var_encoder_sym = 10; repeated .ProtoFlattenedSerializerField_t.polymorphic_field_t polymorphic_types = 11; optional int32 var_serializer_sym = 12; + optional .ProtoFlattenedSerializerField_t.proto_enum_info_t var_enum_info = 13; } message ProtoFlattenedSerializer_t { @@ -523,12 +536,22 @@ message ProtoFlattenedSerializer_t { repeated int32 fields_index = 3; } +message ProtoCoordSizeParams_t { + optional int32 coord_integer_bits = 1; + optional int32 coord_fractional_bits = 2; + optional int32 coord_integer_bits_mp = 3; + optional int32 coord_fractional_bits_mp = 4; + optional int32 normal_fractional_bits = 5; + optional int32 angle_bits = 6; +} + message CSVCMsg_FlattenedSerializer { option (maximum_size_bytes) = 0; repeated .ProtoFlattenedSerializer_t serializers = 1; repeated string symbols = 2; repeated .ProtoFlattenedSerializerField_t fields = 3; + optional .ProtoCoordSizeParams_t coord_size_params = 4; } message CSVCMsg_StopSound { @@ -647,6 +670,8 @@ message CMsgServerUserCmd { optional int32 player_slot = 3 [default = -1]; optional int32 server_tick_executed = 4; optional int32 client_tick = 5; + optional bytes delta_data = 6; + optional bool delta_processed = 7; } message CSVCMsg_UserCommands { diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/networkbasetypes.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/networkbasetypes.proto index b88a370f..4f6b609f 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/networkbasetypes.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/networkbasetypes.proto @@ -1,3 +1,4 @@ +import "in/dragonbra/javasteam/protobufs/cs/valveextensions.proto"; import "google/protobuf/descriptor.proto"; import "in/dragonbra/javasteam/protobufs/cs/network_connection.proto"; @@ -49,6 +50,8 @@ enum SpawnGroupFlags_t { } message CMsgVector { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; optional float z = 3; @@ -56,17 +59,23 @@ message CMsgVector { } message CMsgVector2D { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; } message CMsgQAngle { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; optional float z = 3; } message CMsgQuaternion { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; optional float z = 3; @@ -74,12 +83,16 @@ message CMsgQuaternion { } message CMsgTransform { + option (codegen_delta_encoder) = true; + optional .CMsgVector position = 1; optional float scale = 2; optional .CMsgQuaternion orientation = 3; } message CMsgRGBA { + option (codegen_delta_encoder) = true; + optional int32 r = 1; optional int32 g = 2; optional int32 b = 3; @@ -93,6 +106,8 @@ message CMsgPlayerInfo { optional fixed64 steamid = 4; optional bool fakeplayer = 5; optional bool ishltv = 6; + optional bool clan_member = 9; + optional bool clan_officer = 10; } message CEntityMsg { @@ -200,6 +215,8 @@ message CNETMsg_SpawnGroup_Load { } message CNETMsg_SpawnGroup_ManifestUpdate { + option (maximum_size_bytes) = 2048; + optional uint32 spawngrouphandle = 1; optional bytes spawngroupmanifest = 2; optional bool manifestincomplete = 3; @@ -221,6 +238,15 @@ message CNETMsg_SpawnGroup_LoadCompleted { optional uint32 spawngrouphandle = 1; } +message QuantizedFloatEncoderAlias_t { + optional string name = 1; + optional int32 bit_count = 2; + optional int32 encode_flags = 3; + optional float min_value = 4; + optional float max_value = 5; + optional bool validate = 6; +} + message CSVCMsg_GameSessionConfiguration { optional bool is_multiplayer = 1; optional bool is_loadsavegame = 2; @@ -241,6 +267,8 @@ message CSVCMsg_GameSessionConfiguration { optional bool is_transition = 16; optional string previouslevel = 17; optional string landmarkname = 18; + repeated .QuantizedFloatEncoderAlias_t quantized_float_encoder_aliases = 20; + optional float max_coord = 21; } message CNETMsg_DebugOverlay { diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/source2_steam_stats.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/source2_steam_stats.proto index 5bdb378e..c75d0ab9 100644 --- a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/source2_steam_stats.proto +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/source2_steam_stats.proto @@ -19,6 +19,9 @@ enum ESource2PlayStatsFieldType { Source2PlayStats_String = 12; Source2PlayStats_LowCardinalityString = 13; Source2PlayStats_UTCDateTime = 14; + Source2PlayStats_SteamIDTrustBucket = 15; + Source2PlayStats_SteamIDTrustBucketMin = 16; + Source2PlayStats_SteamID = 17; } message CMsgSource2SystemSpecs { @@ -81,6 +84,14 @@ message CMsgSource2NetworkFlowQuality { optional uint32 netframes_size_exceeds_mtu = 34; optional uint32 netframes_size_p95 = 35; optional uint32 netframes_size_p99 = 36; + optional uint32 netframes_size_uncompressed_p50 = 12; + optional uint32 netframes_size_uncompressed_p95 = 13; + optional uint32 netframes_size_uncompressed_p99 = 14; + optional uint32 netframes_size_uncompressed_max = 15; + optional uint32 netframes_msgs_p50 = 16; + optional uint32 netframes_msgs_p95 = 17; + optional uint32 netframes_msgs_p99 = 18; + optional uint32 netframes_msgs_max = 19; optional uint32 ticks_total = 40; optional uint32 ticks_good = 41; optional uint32 ticks_good_almost_late = 42; @@ -110,6 +121,18 @@ message CMsgSource2NetworkFlowQuality { optional uint32 net_ping_p5 = 80; optional uint32 net_ping_p50 = 81; optional uint32 net_ping_p95 = 82; + optional uint32 msgproc_usec_p50 = 90; + optional uint32 msgproc_usec_p95 = 91; + optional uint32 msgproc_usec_p99 = 92; + optional uint32 msgproc_usec_max = 93; + optional uint32 msgproc_usec_avg_p50 = 94; + optional uint32 msgproc_usec_avg_p95 = 95; + optional uint32 msgproc_usec_avg_p99 = 96; + optional uint32 msgproc_usec_avg_max = 97; + optional uint32 queuedmsgs_p50 = 100; + optional uint32 queuedmsgs_p95 = 101; + optional uint32 queuedmsgs_p99 = 102; + optional uint32 queuedmsgs_max = 103; } message CMsgSource2PerfIntervalSample { @@ -152,6 +175,10 @@ message CMsgSource2PlayStatsPackedRecordList { optional .ESource2PlayStatsFieldType field_type = 2 [default = Source2PlayStats_Invalid]; } + message SteamIDList { + repeated fixed64 steamid = 1 [packed = true]; + } + optional string record_name = 1; repeated .CMsgSource2PlayStatsPackedRecordList.FieldDef field_defs = 2; optional uint32 record_count = 3; @@ -169,9 +196,41 @@ message CMsgSource2PlayStatsPackedRecordList { repeated string string_vals = 15; repeated string low_cardinality_string_vals = 16; repeated fixed32 utcdatetime_vals = 17 [packed = true]; + repeated fixed64 steamidtrustbucket_vals = 18 [packed = true]; + repeated .CMsgSource2PlayStatsPackedRecordList.SteamIDList trustbucket_vals = 19; + repeated uint64 steamid_vals = 20 [packed = true]; } message CSource2Metrics_RecordPlayStats_Notification { repeated .CMsgSource2PlayStatsPackedRecordList record_types = 1; optional uint32 appid = 2; } + +message CSource2Metrics_FetchMapData_Request { + optional uint32 appid = 1; + optional string map_name = 2; + optional uint32 game_type = 3; + optional uint32 game_mode = 4; + optional string param = 5; + optional uint32 time_span = 6; +} + +message CSource2Metrics_FetchMapData_Response { + message MapData { + optional string name = 1; + optional string type = 2; + optional string data = 3; + } + + repeated .CSource2Metrics_FetchMapData_Response.MapData results = 1; +} + +message CUserMessage_UserSentBugBug { + optional string command_line = 1; + optional string autoexec_cfg = 2; + optional .CMsgSource2SystemSpecs system_specs = 3; + optional uint32 build_id = 4; + optional int32 osversion = 5; + optional string command_logs = 6; + optional int32 bugbug_no = 7; +} diff --git a/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/valveextensions.proto b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/valveextensions.proto new file mode 100644 index 00000000..a4992a17 --- /dev/null +++ b/javasteam-cs/src/main/proto/in/dragonbra/javasteam/protobufs/cs/valveextensions.proto @@ -0,0 +1,36 @@ +import "google/protobuf/descriptor.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.cs"; + +option optimize_for = SPEED; +option java_generic_services = false; + +extend .google.protobuf.MessageOptions { + optional bool codegen_delta_encoder = 61000 [default = false]; +} + +extend .google.protobuf.FieldOptions { + optional bool valve_map_field = 61000 [default = false]; + optional bool valve_map_key = 61001 [default = false]; + optional int32 diff_encode_field = 61002 [default = 0]; + optional bool delta_ignore = 61003 [default = false]; + optional int32 untrusted_delta_max = 61008 [default = 256]; + optional uint32 steamml_max_entries = 61004 [default = 0]; + optional bool steamml_is_timestamp = 61005 [default = false]; + optional uint32 steamlearn_count = 61006 [default = 0]; + optional .EProtoDebugVisiblity debugprint_visibility = 61007 [default = k_EProtoDebugVisibility_Always]; +} + +extend .google.protobuf.EnumValueOptions { + optional string schema_friendly_name = 1000; + optional string schema_description = 1001; + optional bool schema_suppress_enumerator = 1002; +} + +enum EProtoDebugVisiblity { + k_EProtoDebugVisibility_Always = 0; + k_EProtoDebugVisibility_Server = 70; + k_EProtoDebugVisibility_ValveServer = 80; + k_EProtoDebugVisibility_GC = 90; + k_EProtoDebugVisibility_Never = 100; +} diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto index 26891983..ab1b849f 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; @@ -8,410 +9,411 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGCBaseMsg { - k_EMsgGCInviteToParty = 4501; - k_EMsgGCInvitationCreated = 4502; - k_EMsgGCPartyInviteResponse = 4503; - k_EMsgGCKickFromParty = 4504; - k_EMsgGCLeaveParty = 4505; - k_EMsgGCServerAvailable = 4506; - k_EMsgGCClientConnectToServer = 4507; - k_EMsgGCGameServerInfo = 4508; - k_EMsgGCLANServerAvailable = 4511; - k_EMsgGCInviteToLobby = 4512; - k_EMsgGCLobbyInviteResponse = 4513; - k_EMsgGCToClientPollFileRequest = 4514; - k_EMsgGCToClientPollFileResponse = 4515; - k_EMsgGCToGCPerformManualOp = 4516; - k_EMsgGCToGCPerformManualOpCompleted = 4517; - k_EMsgGCToGCReloadServerRegionSettings = 4518; - k_EMsgGCAdditionalWelcomeMsgList = 4519; - k_EMsgGCToClientApplyRemoteConVars = 4520; - k_EMsgGCToServerApplyRemoteConVars = 4521; - k_EMsgClientToGCIntegrityStatus = 4522; - k_EMsgClientToGCAggregateMetrics = 4523; - k_EMsgGCToClientAggregateMetricsBackoff = 4524; - k_EMsgGCToServerSteamLearnAccessTokensChanged = 4525; - k_EMsgGCToServerSteamLearnUseHTTP = 4526; + k_EMsgGCInviteToParty = 4501; + k_EMsgGCInvitationCreated = 4502; + k_EMsgGCPartyInviteResponse = 4503; + k_EMsgGCKickFromParty = 4504; + k_EMsgGCLeaveParty = 4505; + k_EMsgGCServerAvailable = 4506; + k_EMsgGCClientConnectToServer = 4507; + k_EMsgGCGameServerInfo = 4508; + k_EMsgGCLANServerAvailable = 4511; + k_EMsgGCInviteToLobby = 4512; + k_EMsgGCLobbyInviteResponse = 4513; + k_EMsgGCToClientPollFileRequest = 4514; + k_EMsgGCToClientPollFileResponse = 4515; + k_EMsgGCToGCPerformManualOp = 4516; + k_EMsgGCToGCPerformManualOpCompleted = 4517; + k_EMsgGCToGCReloadServerRegionSettings = 4518; + k_EMsgGCAdditionalWelcomeMsgList = 4519; + k_EMsgGCToClientApplyRemoteConVars = 4520; + k_EMsgGCToServerApplyRemoteConVars = 4521; + k_EMsgClientToGCIntegrityStatus = 4522; + k_EMsgClientToGCAggregateMetrics = 4523; + k_EMsgGCToClientAggregateMetricsBackoff = 4524; + k_EMsgGCToServerSteamLearnAccessTokensChanged = 4525; + k_EMsgGCToServerSteamLearnUseHTTP = 4526; } enum ECustomGameInstallStatus { - k_ECustomGameInstallStatus_Unknown = 0; - k_ECustomGameInstallStatus_Ready = 1; - k_ECustomGameInstallStatus_Busy = 2; - k_ECustomGameInstallStatus_FailedGeneric = 101; - k_ECustomGameInstallStatus_FailedInternalError = 102; - k_ECustomGameInstallStatus_RequestedTimestampTooOld = 103; - k_ECustomGameInstallStatus_RequestedTimestampTooNew = 104; - k_ECustomGameInstallStatus_CRCMismatch = 105; - k_ECustomGameInstallStatus_FailedSteam = 106; - k_ECustomGameInstallStatus_FailedCanceled = 107; + k_ECustomGameInstallStatus_Unknown = 0; + k_ECustomGameInstallStatus_Ready = 1; + k_ECustomGameInstallStatus_Busy = 2; + k_ECustomGameInstallStatus_FailedGeneric = 101; + k_ECustomGameInstallStatus_FailedInternalError = 102; + k_ECustomGameInstallStatus_RequestedTimestampTooOld = 103; + k_ECustomGameInstallStatus_RequestedTimestampTooNew = 104; + k_ECustomGameInstallStatus_CRCMismatch = 105; + k_ECustomGameInstallStatus_FailedSteam = 106; + k_ECustomGameInstallStatus_FailedCanceled = 107; } message CGCStorePurchaseInit_LineItem { - optional uint32 item_def_id = 1; - optional uint32 quantity = 2; - optional uint32 cost_in_local_currency = 3; - optional uint32 purchase_type = 4; - optional uint64 source_reference_id = 5; - optional int32 price_index = 6; + optional uint32 item_def_id = 1; + optional uint32 quantity = 2; + optional uint32 cost_in_local_currency = 3; + optional uint32 purchase_type = 4; + optional uint64 source_reference_id = 5; + optional int32 price_index = 6; } message CMsgGCStorePurchaseInit { - optional string country = 1; - optional int32 language = 2; - optional int32 currency = 3; - repeated .CGCStorePurchaseInit_LineItem line_items = 4; + optional string country = 1; + optional int32 language = 2; + optional int32 currency = 3; + repeated .CGCStorePurchaseInit_LineItem line_items = 4; } message CMsgGCStorePurchaseInitResponse { - optional int32 result = 1; - optional uint64 txn_id = 2; + optional int32 result = 1; + optional uint64 txn_id = 2; } message CMsgClientPingData { - repeated fixed32 relay_codes = 4 [packed = true]; - repeated uint32 relay_pings = 5 [packed = true]; - repeated uint32 region_codes = 8 [packed = true]; - repeated uint32 region_pings = 9 [packed = true]; - optional uint32 region_ping_failed_bitmask = 10; + repeated fixed32 relay_codes = 4 [packed = true]; + repeated uint32 relay_pings = 5 [packed = true]; + repeated uint32 region_codes = 8 [packed = true]; + repeated uint32 region_pings = 9 [packed = true]; + optional uint64 region_ping_failed_bitmask = 10; } message CMsgInviteToParty { - optional fixed64 steam_id = 1; - optional uint32 client_version = 2; - optional uint32 team_id = 3; - optional bool as_coach = 4; - optional .CMsgClientPingData ping_data = 5; + optional fixed64 steam_id = 1; + optional uint32 client_version = 2; + optional uint32 team_id = 3; + optional bool as_coach = 4; + optional .CMsgClientPingData ping_data = 5; } message CMsgInviteToLobby { - optional fixed64 steam_id = 1; - optional uint32 client_version = 2; + optional fixed64 steam_id = 1; + optional uint32 client_version = 2; } message CMsgInvitationCreated { - optional uint64 group_id = 1; - optional fixed64 steam_id = 2; - optional bool user_offline = 3; + optional uint64 group_id = 1; + optional fixed64 steam_id = 2; + optional bool user_offline = 3; } message CMsgPartyInviteResponse { - optional uint64 party_id = 1; - optional bool accept = 2; - optional uint32 client_version = 3; - optional .CMsgClientPingData ping_data = 8; + optional uint64 party_id = 1; + optional bool accept = 2; + optional uint32 client_version = 3; + optional .CMsgClientPingData ping_data = 8; } message CMsgLobbyInviteResponse { - optional fixed64 lobby_id = 1; - optional bool accept = 2; - optional uint32 client_version = 3; - optional fixed64 custom_game_crc = 6; - optional fixed32 custom_game_timestamp = 7; + optional fixed64 lobby_id = 1; + optional bool accept = 2; + optional uint32 client_version = 3; + optional fixed64 custom_game_crc = 6; + optional fixed32 custom_game_timestamp = 7; } message CMsgKickFromParty { - optional fixed64 steam_id = 1; + optional fixed64 steam_id = 1; } message CMsgLeaveParty { } message CMsgCustomGameInstallStatus { - optional .ECustomGameInstallStatus status = 1 [default = k_ECustomGameInstallStatus_Unknown]; - optional string message = 2; - optional fixed32 latest_timestamp_from_steam = 3; + optional .ECustomGameInstallStatus status = 1 [default = k_ECustomGameInstallStatus_Unknown]; + optional string message = 2; + optional fixed32 latest_timestamp_from_steam = 3; } message CMsgServerAvailable { - optional .CMsgCustomGameInstallStatus custom_game_install_status = 1; + optional .CMsgCustomGameInstallStatus custom_game_install_status = 1; } message CMsgLANServerAvailable { - optional fixed64 lobby_id = 1; + optional fixed64 lobby_id = 1; + optional fixed64 nonce = 2; } message CSOEconGameAccountClient { - optional uint32 additional_backpack_slots = 1 [default = 0]; - optional bool trial_account = 2 [default = false]; - optional bool eligible_for_online_play = 3 [default = true]; - optional bool need_to_choose_most_helpful_friend = 4; - optional bool in_coaches_list = 5; - optional fixed32 trade_ban_expiration = 6; - optional fixed32 duel_ban_expiration = 7; - optional bool made_first_purchase = 9 [default = false]; + optional uint32 additional_backpack_slots = 1 [default = 0]; + optional bool trial_account = 2 [default = false]; + optional bool eligible_for_online_play = 3 [default = true]; + optional bool need_to_choose_most_helpful_friend = 4; + optional bool in_coaches_list = 5; + optional fixed32 trade_ban_expiration = 6; + optional fixed32 duel_ban_expiration = 7; + optional bool made_first_purchase = 9 [default = false]; } message CMsgApplyStrangePart { - optional uint64 strange_part_item_id = 1; - optional uint64 item_item_id = 2; + optional uint64 strange_part_item_id = 1; + optional uint64 item_item_id = 2; } message CMsgApplyPennantUpgrade { - optional uint64 upgrade_item_id = 1; - optional uint64 pennant_item_id = 2; + optional uint64 upgrade_item_id = 1; + optional uint64 pennant_item_id = 2; } message CMsgApplyEggEssence { - optional uint64 essence_item_id = 1; - optional uint64 egg_item_id = 2; + optional uint64 essence_item_id = 1; + optional uint64 egg_item_id = 2; } message CSOEconItemAttribute { - optional uint32 def_index = 1 [default = 65535]; - optional uint32 value = 2; - optional bytes value_bytes = 3; + optional uint32 def_index = 1 [default = 65535]; + optional uint32 value = 2; + optional bytes value_bytes = 3; } message CSOEconItemEquipped { - optional uint32 new_class = 1; - optional uint32 new_slot = 2; + optional uint32 new_class = 1; + optional uint32 new_slot = 2; } message CSOEconItem { - optional uint64 id = 1; - optional uint32 account_id = 2; - optional uint32 inventory = 3; - optional uint32 def_index = 4; - optional uint32 quantity = 5 [default = 1]; - optional uint32 level = 6 [default = 1]; - optional uint32 quality = 7 [default = 4]; - optional uint32 flags = 8 [default = 0]; - optional uint32 origin = 9 [default = 0]; - repeated .CSOEconItemAttribute attribute = 12; - optional .CSOEconItem interior_item = 13; - optional uint32 style = 15 [default = 0]; - optional uint64 original_id = 16; - repeated .CSOEconItemEquipped equipped_state = 18; + optional uint64 id = 1; + optional uint32 account_id = 2; + optional uint32 inventory = 3; + optional uint32 def_index = 4; + optional uint32 quantity = 5 [default = 1]; + optional uint32 level = 6 [default = 1]; + optional uint32 quality = 7 [default = 4]; + optional uint32 flags = 8 [default = 0]; + optional uint32 origin = 9 [default = 0]; + repeated .CSOEconItemAttribute attribute = 12; + optional .CSOEconItem interior_item = 13; + optional uint32 style = 15 [default = 0]; + optional uint64 original_id = 16; + repeated .CSOEconItemEquipped equipped_state = 18; } message CMsgSortItems { - optional uint32 sort_type = 1; + optional uint32 sort_type = 1; } message CMsgItemAcknowledged { - optional uint32 account_id = 1; - optional uint32 inventory = 2; - optional uint32 def_index = 3; - optional uint32 quality = 4; - optional uint32 rarity = 5; - optional uint32 origin = 6; + optional uint32 account_id = 1; + optional uint32 inventory = 2; + optional uint32 def_index = 3; + optional uint32 quality = 4; + optional uint32 rarity = 5; + optional uint32 origin = 6; } message CMsgSetItemPositions { - message ItemPosition { - optional uint64 item_id = 1; - optional uint32 position = 2; - } + message ItemPosition { + optional uint64 item_id = 1; + optional uint32 position = 2; + } - repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; + repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; } message CMsgGCStorePurchaseCancel { - optional uint64 txn_id = 1; + optional uint64 txn_id = 1; } message CMsgGCStorePurchaseCancelResponse { - optional uint32 result = 1; + optional uint32 result = 1; } message CMsgGCStorePurchaseFinalize { - optional uint64 txn_id = 1; + optional uint64 txn_id = 1; } message CMsgGCStorePurchaseFinalizeResponse { - optional uint32 result = 1; - repeated uint64 item_ids = 2; + optional uint32 result = 1; + repeated uint64 item_ids = 2; } message CMsgGCToGCBannedWordListUpdated { - optional uint32 group_id = 1; + optional uint32 group_id = 1; } message CMsgGCToGCDirtySDOCache { - optional uint32 sdo_type = 1; - optional uint64 key_uint64 = 2; + optional uint32 sdo_type = 1; + optional uint64 key_uint64 = 2; } message CMsgSDONoMemcached { } message CMsgGCToGCUpdateSQLKeyValue { - optional string key_name = 1; + optional string key_name = 1; } message CMsgGCServerVersionUpdated { - optional uint32 server_version = 1; + optional uint32 server_version = 1; } message CMsgGCClientVersionUpdated { - optional uint32 client_version = 1; + optional uint32 client_version = 1; } message CMsgGCToGCWebAPIAccountChanged { } message CMsgExtractGems { - optional uint64 tool_item_id = 1; - optional uint64 item_item_id = 2; - optional uint32 item_socket_id = 3 [default = 65535]; + optional uint64 tool_item_id = 1; + optional uint64 item_item_id = 2; + optional uint32 item_socket_id = 3 [default = 65535]; } message CMsgExtractGemsResponse { - enum EExtractGems { - k_ExtractGems_Succeeded = 0; - k_ExtractGems_Failed_ToolIsInvalid = 1; - k_ExtractGems_Failed_ItemIsInvalid = 2; - k_ExtractGems_Failed_ToolCannotRemoveGem = 3; - k_ExtractGems_Failed_FailedToRemoveGem = 4; - } + enum EExtractGems { + k_ExtractGems_Succeeded = 0; + k_ExtractGems_Failed_ToolIsInvalid = 1; + k_ExtractGems_Failed_ItemIsInvalid = 2; + k_ExtractGems_Failed_ToolCannotRemoveGem = 3; + k_ExtractGems_Failed_FailedToRemoveGem = 4; + } - optional uint64 item_id = 1; - optional .CMsgExtractGemsResponse.EExtractGems response = 2 [default = k_ExtractGems_Succeeded]; + optional uint64 item_id = 1; + optional .CMsgExtractGemsResponse.EExtractGems response = 2 [default = k_ExtractGems_Succeeded]; } message CMsgAddSocket { - optional uint64 tool_item_id = 1; - optional uint64 item_item_id = 2; - optional bool unusual = 3; + optional uint64 tool_item_id = 1; + optional uint64 item_item_id = 2; + optional bool unusual = 3; } message CMsgAddSocketResponse { - enum EAddSocket { - k_AddSocket_Succeeded = 0; - k_AddSocket_Failed_ToolIsInvalid = 1; - k_AddSocket_Failed_ItemCannotBeSocketed = 2; - k_AddSocket_Failed_FailedToAddSocket = 3; - } + enum EAddSocket { + k_AddSocket_Succeeded = 0; + k_AddSocket_Failed_ToolIsInvalid = 1; + k_AddSocket_Failed_ItemCannotBeSocketed = 2; + k_AddSocket_Failed_FailedToAddSocket = 3; + } - optional uint64 item_id = 1; - repeated uint32 updated_socket_index = 2; - optional .CMsgAddSocketResponse.EAddSocket response = 3 [default = k_AddSocket_Succeeded]; + optional uint64 item_id = 1; + repeated uint32 updated_socket_index = 2; + optional .CMsgAddSocketResponse.EAddSocket response = 3 [default = k_AddSocket_Succeeded]; } message CMsgAddItemToSocketData { - optional uint64 gem_item_id = 1; - optional uint32 socket_index = 2 [default = 65535]; + optional uint64 gem_item_id = 1; + optional uint32 socket_index = 2 [default = 65535]; } message CMsgAddItemToSocket { - optional uint64 item_item_id = 1; - repeated .CMsgAddItemToSocketData gems_to_socket = 2; + optional uint64 item_item_id = 1; + repeated .CMsgAddItemToSocketData gems_to_socket = 2; } message CMsgAddItemToSocketResponse { - enum EAddGem { - k_AddGem_Succeeded = 0; - k_AddGem_Failed_GemIsInvalid = 1; - k_AddGem_Failed_ItemIsInvalid = 2; - k_AddGem_Failed_FailedToAddGem = 3; - k_AddGem_Failed_InvalidGemTypeForSocket = 4; - k_AddGem_Failed_InvalidGemTypeForHero = 5; - k_AddGem_Failed_InvalidGemTypeForSlot = 6; - k_AddGem_Failed_SocketContainsUnremovableGem = 7; - } - - optional uint64 item_item_id = 1; - repeated uint32 updated_socket_index = 2; - optional .CMsgAddItemToSocketResponse.EAddGem response = 3 [default = k_AddGem_Succeeded]; + enum EAddGem { + k_AddGem_Succeeded = 0; + k_AddGem_Failed_GemIsInvalid = 1; + k_AddGem_Failed_ItemIsInvalid = 2; + k_AddGem_Failed_FailedToAddGem = 3; + k_AddGem_Failed_InvalidGemTypeForSocket = 4; + k_AddGem_Failed_InvalidGemTypeForHero = 5; + k_AddGem_Failed_InvalidGemTypeForSlot = 6; + k_AddGem_Failed_SocketContainsUnremovableGem = 7; + } + + optional uint64 item_item_id = 1; + repeated uint32 updated_socket_index = 2; + optional .CMsgAddItemToSocketResponse.EAddGem response = 3 [default = k_AddGem_Succeeded]; } message CMsgResetStrangeGemCount { - optional uint64 item_item_id = 1; - optional uint32 socket_index = 2 [default = 65535]; + optional uint64 item_item_id = 1; + optional uint32 socket_index = 2 [default = 65535]; } message CMsgResetStrangeGemCountResponse { - enum EResetGem { - k_ResetGem_Succeeded = 0; - k_ResetGem_Failed_FailedToResetGem = 1; - k_ResetGem_Failed_ItemIsInvalid = 2; - k_ResetGem_Failed_InvalidSocketId = 3; - k_ResetGem_Failed_SocketCannotBeReset = 4; - } + enum EResetGem { + k_ResetGem_Succeeded = 0; + k_ResetGem_Failed_FailedToResetGem = 1; + k_ResetGem_Failed_ItemIsInvalid = 2; + k_ResetGem_Failed_InvalidSocketId = 3; + k_ResetGem_Failed_SocketCannotBeReset = 4; + } - optional .CMsgResetStrangeGemCountResponse.EResetGem response = 1 [default = k_ResetGem_Succeeded]; + optional .CMsgResetStrangeGemCountResponse.EResetGem response = 1 [default = k_ResetGem_Succeeded]; } message CMsgGCToClientPollFileRequest { - optional string file_name = 1; - optional uint32 client_version = 2; - optional uint32 poll_id = 3; + optional string file_name = 1; + optional uint32 client_version = 2; + optional uint32 poll_id = 3; } message CMsgGCToClientPollFileResponse { - optional uint32 poll_id = 1; - optional uint32 file_size = 2; - optional uint32 file_crc = 3; + optional uint32 poll_id = 1; + optional uint32 file_size = 2; + optional uint32 file_crc = 3; } message CMsgGCToGCPerformManualOp { - optional uint64 op_id = 1; - optional uint32 group_code = 2; + optional uint64 op_id = 1; + optional uint32 group_code = 2; } message CMsgGCToGCPerformManualOpCompleted { - optional bool success = 1; - optional int32 source_gc = 2 [default = -1]; + optional bool success = 1; + optional int32 source_gc = 2 [default = -1]; } message CMsgGCToGCReloadServerRegionSettings { } message CMsgGCAdditionalWelcomeMsgList { - repeated .CExtraMsgBlock welcome_messages = 1; + repeated .CExtraMsgBlock welcome_messages = 1; } message CMsgApplyRemoteConVars { - message ConVar { - optional string name = 1; - optional string value = 2; - optional uint32 version_min = 3; - optional uint32 version_max = 4; - optional .EGCPlatform platform = 5 [default = k_eGCPlatform_None]; - } + message ConVar { + optional string name = 1; + optional string value = 2; + optional uint32 version_min = 3; + optional uint32 version_max = 4; + optional .EGCPlatform platform = 5 [default = k_eGCPlatform_None]; + } - repeated .CMsgApplyRemoteConVars.ConVar con_vars = 1; + repeated .CMsgApplyRemoteConVars.ConVar con_vars = 1; } message CMsgGCToClientApplyRemoteConVars { - optional .CMsgApplyRemoteConVars msg = 1; + optional .CMsgApplyRemoteConVars msg = 1; } message CMsgGCToServerApplyRemoteConVars { - optional .CMsgApplyRemoteConVars msg = 1; + optional .CMsgApplyRemoteConVars msg = 1; } message CMsgClientToGCIntegrityStatus { - message keyvalue { - optional uint32 id = 1; - optional uint32 extended = 2; - optional uint64 value = 3; - optional string string_value = 4; - } + message keyvalue { + optional uint32 id = 1; + optional uint32 extended = 2; + optional uint64 value = 3; + optional string string_value = 4; + } - optional string report = 1; - optional bool secure_allowed = 2; - repeated .CMsgClientToGCIntegrityStatus.keyvalue diagnostics = 3; + optional string report = 1; + optional bool secure_allowed = 2; + repeated .CMsgClientToGCIntegrityStatus.keyvalue diagnostics = 3; } message CMsgClientToGCAggregateMetrics { - message SingleMetric { - optional string metric_name = 1; - optional uint32 metric_count = 2; - } + message SingleMetric { + optional string metric_name = 1; + optional uint32 metric_count = 2; + } - repeated .CMsgClientToGCAggregateMetrics.SingleMetric metrics = 1; + repeated .CMsgClientToGCAggregateMetrics.SingleMetric metrics = 1; } message CMsgGCToClientAggregateMetricsBackoff { - optional float upload_rate_modifier = 1; + optional float upload_rate_modifier = 1; } message CMsgGCToServerSteamLearnAccessTokensChanged { - optional .CMsgSteamLearnAccessTokens access_tokens = 1; + optional .CMsgSteamLearnAccessTokens access_tokens = 1; } message CMsgGCToServerSteamLearnUseHTTP { - optional bool use_http = 1; + optional bool use_http = 1; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_client.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_client.proto index 5ed5e4c9..aaeca007 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_client.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_client.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; @@ -24,9 +25,6 @@ enum EGCCitadelClientMessages { k_EMsgClientToGCUpdateRoster = 9026; k_EMsgClientToGCUpdateRosterResponse = 9027; k_EMsgGCToClientProfileCardUpdated = 9028; - k_EMsgGCToClientDevAnnouncements = 9029; - k_EMsgClientToGCModifyDevAnnouncements = 9030; - k_EMsgClientToGCModifyDevAnnouncementsResponse = 9031; k_EMsgGCToClientSDRTicket = 9100; k_EMsgClientToGCReplacementSDRTicket = 9101; k_EMsgClientToGCReplacementSDRTicketResponse = 9102; @@ -160,6 +158,37 @@ enum EGCCitadelClientMessages { k_EMsgGCToClientPartyChatMsg = 9279; k_EMsgClientToGCRequestHeroReleaseVoteTally = 9280; k_EMsgGCToClientUpdateHeroReleaseVoteTally = 9281; + k_EMsgClientToGCSetAccountPrivacySetting = 9282; + k_EMsgClientToGCSetAccountPrivacySettingResponse = 9283; + k_EMsgClientToGCVariantItemChangeSlotStyles = 9284; + k_EMsgClientToGCVariantItemChangeSlotStylesResponse = 9285; + k_EMsgClientToGCPartyPlayerTyping = 9286; + k_EMsgClientToGCPartyPlayerTypingResponse = 9287; + k_EMsgGCToClientPartyPlayerTyping = 9288; + k_EMsgClientToGCStartRankedInterval = 9289; + k_EMsgClientToGCStartRankedIntervalResponse = 9290; + k_EMsgClientToGCGetInternalLeaderboards = 9291; + k_EMsgClientToGCGetInternalLeaderboardsResponse = 9292; + k_EMsgClientToGCGetLeaderboardStatus = 9293; + k_EMsgClientToGCGetLeaderboardStatusResponse = 9294; + k_EMsgClientToGCRequestReporterUpdates = 9295; + k_EMsgClientToGCRequestReporterUpdatesResponse = 9296; + k_EMsgClientToGCAcknowledgeReporterUpdates = 9297; + k_EMsgClientToGCCabalCreate = 9298; + k_EMsgClientToGCCabalCreateResponse = 9299; + k_EMsgClientToGCCabalInviteAccount = 9300; + k_EMsgClientToGCCabalInviteAccountResponse = 9301; + k_EMsgClientToGCCabalAnswerInvite = 9302; + k_EMsgClientToGCCabalAnswerInviteResponse = 9303; + k_EMsgClientToGCCabalLeave = 9304; + k_EMsgClientToGCCabalLeaveResponse = 9305; + k_EMsgClientToGCCabalGetDetails = 9306; + k_EMsgClientToGCCabalGetDetailsResponse = 9307; + k_EMsgGCToClientCabalUpdated = 9308; + k_EMsgClientToGCCabalKickPlayer = 9309; + k_EMsgClientToGCCabalKickPlayerResponse = 9310; + k_EMsgClientToGCCabalGetMatchHistory = 9311; + k_EMsgClientToGCCabalGetMatchHistoryResponse = 9312; } enum ECitadelAccountPermissionFlag { @@ -170,6 +199,7 @@ enum ECitadelNewPlayerProgressFlag { k_eNewPlayerProgress_GettingStarted = 1; k_eNewPlayerProgress_HeroTraining = 2; k_eNewPlayerProgress_LaneTraining = 3; + k_eNewPlayerProgress_CombinedTutorial2026 = 4; } enum EProfileCardSlotType { @@ -242,7 +272,7 @@ enum ECitadelClientAccountEvent { k_eSandboxViaHeroPage = 55; k_eViewedSettings_SteamInput = 56; k_eViewedSettings_Social = 57; - k_eCalibrationMatch = 58; + k_eNewPlayerPlacementMatch = 58; k_eSandboxViaPlayMenu = 59; k_eBotMatch_Medium = 60; k_eSandboxViaHideoutTeleport = 61; @@ -257,6 +287,63 @@ enum ECommendType { k_eSkilled = 4; } +message CSORankedProgress { + optional uint32 account_id = 1 [(key_field) = true]; + optional .ECitadelRankedType rank_type = 2 [default = k_eCitadelRankedType_Invalid, (key_field) = true]; + optional uint32 rank_interval = 3 [(key_field) = true]; + optional uint32 progress = 4; + optional uint32 max_progress = 5; + optional uint32 rank = 6; + optional uint32 max_rank = 7; + optional uint32 leaderboard_rank = 8; + optional uint32 max_leaderboard_rank = 9; + optional uint32 demote_protect_games = 10; + optional uint32 calibrate_games = 11; + optional uint32 win_bit_mask = 12; + optional uint32 match_count = 13; + optional uint32 last_match_hero_id = 14; + optional .EPlayerMatchOutcome last_match_outcome = 15 [default = k_EPlayerMatchOutcome_Invalid]; + optional uint32 last_match_kills = 16; + optional uint32 last_match_deaths = 17; + optional uint32 last_match_assists = 18; +} + +message CSOAccountCabalMembership { + optional uint32 account_id = 1 [(key_field) = true]; + optional uint64 cabal_id = 2 [(key_field) = true]; + optional uint32 state = 3; +} + +message CMsgCitadelCabal { + message MMStats { + optional .ECitadelCabalMMTier mm_tier = 1 [default = k_eCabalMMTier_Invalid]; + optional uint32 wins = 2; + optional uint32 matches = 3; + } + + message Member { + optional uint32 account_id = 1; + optional .CMsgCitadelCabal.EMemberState member_state = 2 [default = k_eMemberState_Left]; + optional uint32 time_stamp = 3; + optional uint32 wins = 4; + optional uint32 matches = 5; + repeated .CMsgCitadelCabal.MMStats mm_stats = 6; + } + + enum EMemberState { + k_eMemberState_Left = 0; + k_eMemberState_Active = 1; + k_eMemberState_Invited = 2; + } + + optional uint64 cabal_id = 1; + optional string cabal_name = 2; + optional uint32 created_time = 3; + optional uint32 created_by = 4; + repeated .CMsgCitadelCabal.Member members = 5; + repeated .CMsgCitadelCabal.MMStats mm_stats = 6; +} + message CSOGameAccountClient { enum EFlags { k_eDeveloper = 1; @@ -268,6 +355,12 @@ message CSOGameAccountClient { k_eAccountBanned = 64; } + enum EPrivacySetting { + k_ePrivacy_FriendsOnly = 0; + k_ePrivacy_Hidden = 1; + k_ePrivacy_Public = 2; + } + optional uint32 account_id = 1 [(key_field) = true]; optional uint64 flags = 2; optional uint32 wins = 3; @@ -281,13 +374,14 @@ message CSOGameAccountClient { optional uint32 comms_ban_until = 11; optional uint32 low_priority_games_remaining = 12; optional uint32 report_ban_until = 13; - optional uint32 ranked_badge_level = 14; optional uint32 priority_tokens = 15; optional uint32 priority_token_progress = 16; optional uint32 priority_tokens_earned = 17; optional uint32 brawl_wins = 18; optional uint32 brawl_losses = 19; optional uint32 brawl_kills = 20; + optional uint32 last_mm_match_time = 21; + optional .CSOGameAccountClient.EPrivacySetting privacy_setting = 22 [default = k_ePrivacy_FriendsOnly]; } message CSOAccountSyncStorage { @@ -306,10 +400,8 @@ message CSOAccountHeroInfo { optional uint32 hero_id = 2; optional .CSOAccountHeroInfo.EHeroStatus status = 3 [default = k_eLocked]; optional uint32 wins = 4; - optional uint32 kills = 5; optional uint32 hero_xp = 6; optional uint32 brawl_wins = 7; - optional uint32 brawl_kills = 8; } message CSOAccountChallenge { @@ -338,6 +430,8 @@ message CSOAccountChallenge { } message CMsgCitadelClientHello { + optional bytes pgi_hash = 1; + optional bytes pgi_version = 2; } message CMsgClientToGCStartMatchmaking { @@ -346,6 +440,7 @@ message CMsgClientToGCStartMatchmaking { optional .CMsgStartFindingMatchInfo match_info = 3; optional .CMsgRegionPingTimesClient ping_times = 4; optional .CMsgHeroSelectionMatchInfo heroes = 5; + optional bool pgi_verified = 6; } message CMsgClientToGCStartMatchmakingResponse { @@ -376,6 +471,9 @@ message CMsgClientToGCStartMatchmakingResponse { k_EResult_NoHeroLabsWhileInLowPri = 23; k_EResult_AccountLocked = 24; k_EResult_TooManyLimitedHeroes = 25; + k_EResult_UnverifiedPGI = 26; + k_EResult_RankedInvalidPartySize = 27; + k_EResult_NoBrawlWhileInLowPri = 28; } optional .CMsgClientToGCStartMatchmakingResponse.EResultCode result = 1 [default = k_EResult_OK]; @@ -413,6 +511,7 @@ message CMsgClientWelcomeCitadel { repeated .CExtraMsgBlock extra_messages = 2; optional uint32 compatibility_version = 3; optional .ECitadelRegionMode region_mode = 4 [default = k_ECitadelRegionMode_ROW]; + optional bool pgi_verified = 5; } message CMsgClientToGCIsInMatchmaking { @@ -455,6 +554,7 @@ message CMsgDevMatchInfo { optional uint32 match_score = 18; optional .ECitadelRegionMode region_mode = 19 [default = k_ECitadelRegionMode_ROW]; optional uint32 compat_version = 20; + optional bool low_pri_pool = 21; repeated .CMsgDevMatchInfo.Team team_stats = 22; } @@ -470,6 +570,17 @@ message CMsgGCToClientDevPlaytestStatus { optional .ECitadelGameMode game_mode = 3 [default = k_ECitadelGameMode_Invalid]; } + message LeaderboardTier { + optional uint32 leaderboard_rank = 1; + optional uint32 required_progress = 2; + } + + message ActiveRankedMode { + optional .ECitadelRankedType rank_type = 1 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 2; + repeated .CMsgGCToClientDevPlaytestStatus.LeaderboardTier leaderboard_tiers = 3; + } + repeated .CMsgGCToClientDevPlaytestStatus.DevQueueSize dev_queue_size = 1; optional uint32 dev_available_servers = 2; optional uint32 coop_bot_max_wait_s = 3; @@ -482,6 +593,7 @@ message CMsgGCToClientDevPlaytestStatus { optional uint32 active_match_count = 21; optional uint32 roster_non_limited_heroes = 22; optional uint32 matches_per_priority_token = 23; + repeated .CMsgGCToClientDevPlaytestStatus.ActiveRankedMode active_ranked_modes = 24; } message CMsgGCToClientSDRTicket { @@ -532,6 +644,7 @@ message CMsgPartyMMInfo { optional .CMsgRegionPingTimesClient ping_times = 2; optional uint32 client_version = 3; optional .ECitadelRegionMode region_mode = 4 [default = k_ECitadelRegionMode_ROW]; + optional bool pgi_verified = 5; } message CMsgClientToGCPartyCreate { @@ -637,6 +750,9 @@ message CMsgClientToGCPartyAction { k_eSetDesiresLaningTogether = 23; k_eSetMMPreference = 24; k_eSetPrivateLobbyGameMode = 25; + k_eSetCorruptedItemShopSpawnTime = 26; + k_eSetActiveCabal = 27; + k_eSetCabalMMTier = 28; } optional fixed64 party_id = 1; @@ -703,6 +819,12 @@ message CMsgClientToGCPartySetModeResponse { k_eNoHeroLabsWhileInLowPri = 23; k_eNoHighRangeFiveStack = 24; k_eAccountLocked = 25; + k_eRankedInCalibration = 26; + k_eRankedInvalidPartySize = 27; + k_eRankedPartySkillRangeInvalid = 28; + k_eRankedMemberInLowPri = 29; + k_eRankedMemberCurrentlyBanned = 30; + k_eBrawlMemberInLowPri = 31; } optional .CMsgClientToGCPartySetModeResponse.EResponse result = 1 [default = k_eInternalError]; @@ -746,6 +868,7 @@ message CMsgClientToGCPartyStartMatchResponse { k_eHeroLabsMMNotOpen = 29; k_eHeroLabsNotUnlocked = 30; k_eNoHeroLabsWhileInLowPri = 31; + k_eUnverifiedPGI = 32; } optional .CMsgClientToGCPartyStartMatchResponse.EResponse result = 1 [default = k_eInternalError]; @@ -778,7 +901,7 @@ message CMsgClientToGCPartyInviteUserResponse { } message CMsgGCToClientPartyEvent { - enum EEvent { + enum EPartyEvent { k_ePlayerKicked = 1; k_eJoinedParty = 3; k_eMatchCompleted = 4; @@ -794,7 +917,7 @@ message CMsgGCToClientPartyEvent { } optional fixed64 party_id = 1; - optional .CMsgGCToClientPartyEvent.EEvent event = 2 [default = k_ePlayerKicked]; + optional .CMsgGCToClientPartyEvent.EPartyEvent event = 2 [default = k_ePlayerKicked]; optional uint32 initiator_account_id = 3; optional uint32 target_account_id = 4; optional bytes bytes_data = 5; @@ -853,6 +976,9 @@ message CMsgClientToGCGetMatchHistory { optional uint64 continue_cursor = 2; optional .ECitadelGameMode game_mode = 4 [default = k_ECitadelGameMode_Invalid]; optional .ECitadelMatchMode match_mode = 5 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelRankedType ranked_type = 6 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 7; + optional uint64 cabal_id = 8; } message CMsgClientToGCGetMatchHistoryResponse { @@ -876,11 +1002,16 @@ message CMsgClientToGCGetMatchHistoryResponse { optional uint32 abandoned_time_s = 18; optional .ECitadelMatchMode match_mode = 19 [default = k_ECitadelMatchMode_Invalid]; optional .ECitadelGameMode game_mode = 20 [default = k_ECitadelGameMode_Invalid]; - optional bool not_scored = 21; optional uint32 game_mode_version = 22; optional uint32 brawl_score_team0 = 23; optional uint32 brawl_score_team1 = 24; optional uint32 brawl_avg_round_time_s = 25; + optional .EPlayerMatchOutcome player_match_outcome = 26 [default = k_EPlayerMatchOutcome_Invalid]; + optional uint32 ranked_display_badge = 27; + optional int32 ranked_delta = 28; + optional uint32 ranked_calibration_match = 29; + optional bool ranked_used_demotion_protection = 30; + optional bool low_pri_pool = 31; } enum EResult { @@ -992,6 +1123,9 @@ message CMsgClientToGCUpdateRosterResponse { k_eMMBusy = 5; k_eInvalidHeroSelection = 6; k_eHeroesNotUnlocked = 7; + k_eNotInMatchmaking = 8; + k_eInvalidPartyRoster = 9; + k_eInvalidMode = 10; } optional .CMsgClientToGCUpdateRosterResponse.EResponse result = 1 [default = k_eInternalError]; @@ -1044,47 +1178,6 @@ message CMsgClientToGCGetMatchMetaDataResponse { optional uint32 replay_processing_through = 6; } -message CMsgGCToClientDevAnnouncements { - message Announcement { - optional uint32 priority = 1; - optional string title = 2; - optional string message = 3; - optional string url = 4; - optional uint32 unique_id = 5; - optional uint32 posted_time = 6; - optional string patch_version = 7; - } - - repeated .CMsgGCToClientDevAnnouncements.Announcement announcements = 1; -} - -message CMsgClientToGCModifyDevAnnouncements { - enum EOperation { - k_eCreate = 0; - k_eUpdate = 1; - k_eDelete = 2; - } - - optional .CMsgClientToGCModifyDevAnnouncements.EOperation operation = 1 [default = k_eCreate]; - optional uint32 target_id = 2; - optional uint32 priority = 3; - optional string title = 4; - optional string message = 5; - optional string url = 6; - optional string patch_version = 7; -} - -message CMsgClientToGCModifyDevAnnouncementsResponse { - enum EResult { - k_eSuccess = 0; - k_eInvalidPermission = 1; - k_eInvalidTarget = 2; - k_eInternalError = 3; - } - - optional .CMsgClientToGCModifyDevAnnouncementsResponse.EResult result = 1 [default = k_eSuccess]; -} - message CMsgClientToGCDevAction { enum EAction { k_eSetDeveloper = 1; @@ -1287,6 +1380,14 @@ message CMsgClientToGCUpdateHeroBuildResponse { enum EResponse { k_eInternalError = 0; k_eSuccess = 1; + k_eNotAuthor = 2; + k_eInvalidBuildID = 3; + k_eInvalidName = 4; + k_eNameTooLong = 5; + k_eDescriptionTooLong = 6; + k_eInvalidDetails = 7; + k_eStaleVersion = 8; + k_eBuildTooLarge = 9; } optional .CMsgClientToGCUpdateHeroBuildResponse.EResponse response = 1 [default = k_eInternalError]; @@ -1319,11 +1420,12 @@ message CMsgClientToGCFindHeroBuildsResponse { k_eInternalError = 0; k_eSuccess = 1; k_eTooBusy = 2; + k_eMissingHeroID = 3; + k_eInvalidLanguages = 4; } optional .CMsgClientToGCFindHeroBuildsResponse.EResponse response = 1 [default = k_eInternalError]; repeated .CMsgClientToGCFindHeroBuildsResponse.HeroBuildResult results = 2; - optional uint32 build_window_start_time_override = 3; } message CMsgClientToGCUpdateHeroBuildPreference { @@ -1335,6 +1437,7 @@ message CMsgClientToGCUpdateHeroBuildPreferenceResponse { enum EResponse { k_eInternalError = 0; k_eSuccess = 1; + k_eTooBusy = 2; } optional .CMsgClientToGCUpdateHeroBuildPreferenceResponse.EResponse response = 1 [default = k_eInternalError]; @@ -1399,6 +1502,28 @@ message CMsgClientToGCGetAccountMatchReportsResponse { repeated .CMsgClientToGCGetAccountMatchReportsResponse.Commend commends = 3; } +message CMsgClientToGCRequestReporterUpdates { +} + +message CMsgClientToGCRequestReporterUpdatesResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eRateLimited = 2; + k_eDisabled = 4; + k_eTooBusy = 7; + } + + optional .CMsgClientToGCRequestReporterUpdatesResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgClientToGCReportPlayerFromMatch.EReportType report_type = 5 [default = k_eReport_None]; + + reserved 2, 3, 4; +} + +message CMsgClientToGCAcknowledgeReporterUpdates { + reserved 1; +} + message CMsgClientToGCDeleteHeroBuild { optional uint32 author_account_id = 1; optional uint32 hero_build_id = 2; @@ -1504,6 +1629,8 @@ message CMsgClientToGCCommendPlayerFromMatchResponse { k_eTooBusy = 3; k_eRateLimited = 4; k_eTimeout = 5; + k_eEnemyCommendsDisabled = 6; + k_eTooLate = 7; } optional .CMsgClientToGCCommendPlayerFromMatchResponse.EResponse result = 1 [default = k_eInternalError]; @@ -1562,6 +1689,7 @@ message CMsgClientToGCGetHeroMMRRankingsResponse { message CMsgClientToGCGetLeaderboard { optional .ECitadelLeaderboardRegion leaderboard_region = 1 [default = k_ECitadelLeaderboardRegion_None]; optional uint32 hero_id = 2; + optional uint32 leaderboard_id = 3; } message CMsgClientToGCGetLeaderboardResponse { @@ -1569,7 +1697,6 @@ message CMsgClientToGCGetLeaderboardResponse { optional string account_name = 1; optional uint32 rank = 2; repeated uint32 top_hero_ids = 3; - optional uint32 badge_level = 4; } enum EResult { @@ -1586,6 +1713,7 @@ message CMsgClientToGCGetLeaderboardResponse { message CMsgClientToGCGetAccountLeaderboards { optional uint32 account_id = 1; + optional uint32 leaderboard_id = 2; } message CMsgClientToGCGetAccountLeaderboardsResponse { @@ -1673,6 +1801,11 @@ message CMsgSurveyQuestion { k_eHeroPlayAgainst = 3; k_eMoreFunHero = 4; k_eHeroPower = 5; + k_eHeroPlayAs = 6; + k_eHeroFrontliner = 7; + k_eHeroCarry = 8; + k_eHeroDisable = 9; + k_eHeroUtility = 10; } optional uint32 question_id = 1; @@ -1683,6 +1816,7 @@ message CMsgSurveyQuestion { } message CMsgClientToGCGetSurveyQuestion { + optional .CMsgSurveyQuestion.EQuestionType dev_force_new_question_type = 1 [default = k_eInvalid]; } message CMsgClientToGCGetSurveyQuestionResponse { @@ -1700,6 +1834,7 @@ message CMsgClientToGCSubmitSurvey { optional uint32 question_id = 1; optional bool is_skip = 2; optional uint32 response_value = 3; + optional .CMsgSurveyQuestion.EQuestionType dev_force_new_question_type = 4 [default = k_eInvalid]; } message CMsgClientToGCSubmitSurveyResponse { @@ -1734,15 +1869,11 @@ message CMsgGCToClientRankDataUpdate { message CMsgClientToGCRequestHeroReleaseVoteTally { repeated uint32 vote_rounds = 1 [packed = true]; + optional bool is_initial_request = 2; } message CMsgGCToClientUpdateHeroReleaseVoteTally { - message VoteRoundToTallyEntry { - optional uint32 key = 1; - optional .CMsgHeroReleaseVoteTally value = 2; - } - - repeated .CMsgGCToClientUpdateHeroReleaseVoteTally.VoteRoundToTallyEntry vote_round_to_tally = 1; + map vote_round_to_tally = 1; } message CMsgClientToGCSubmitHeroReleaseVote { @@ -1779,6 +1910,11 @@ message CMsgGCToClientPartyChatMsg { repeated .CMsgGCToClientPartyChatMsg.ChatLine chat_lines = 2; } +message CMsgGCToClientPartyPlayerTyping { + optional fixed64 party_id = 1; + optional uint32 account_id = 2; +} + message CMsgPostGameProgressData { message PlayerAccolade { optional uint32 accolade_id = 1; @@ -1789,7 +1925,6 @@ message CMsgPostGameProgressData { } message PlayerAward { - optional uint32 award_column = 1; optional uint32 award_id = 2; optional int32 award_value = 3; optional uint32 award_rank = 4; @@ -1797,6 +1932,10 @@ message CMsgPostGameProgressData { optional string award_class = 6; } + message HeroXPReward { + optional .CMsgHeroXPGrant xp_grant = 1; + } + message PlayerData { optional uint32 player_slot = 1; optional uint32 account_id = 2; @@ -1805,10 +1944,270 @@ message CMsgPostGameProgressData { optional uint32 mvp_rank = 5; repeated .CMsgPostGameProgressData.PlayerAccolade accolades = 6; repeated .CMsgPostGameProgressData.PlayerAward awards = 7; + optional .CMsgPlayerHeroData hero_data = 8; + repeated .CMsgPostGameProgressData.HeroXPReward hero_xp_rewards = 9; + optional .CMsgMatchPlayerRankData player_rank_data = 10; + optional .EPlayerMatchOutcome player_match_outcome = 11 [default = k_EPlayerMatchOutcome_Invalid]; } optional uint64 match_id = 1; optional .ECitadelLobbyTeam winning_team = 2 [default = k_ECitadelLobbyTeam_Team0]; - optional .CMsgPostGameProgressData.PlayerData local_player = 3; - repeated .CMsgPostGameProgressData.PlayerData mvp_players = 4; + optional .ECitadelMatchMode match_mode = 3 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 4 [default = k_ECitadelGameMode_Invalid]; + optional .ECitadelRankedType ranked_type = 5 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 6; + optional .CMsgPostGameProgressData.PlayerData local_player = 7; + repeated .CMsgPostGameProgressData.PlayerData mvp_players = 8; + optional .CMsgMatchHeroReleaseVotes hero_release_votes = 9; + repeated .CMsgPostGameProgressData.PlayerData all_players = 10; +} + +message CMsgClientToGCSetAccountPrivacySetting { + optional .CSOGameAccountClient.EPrivacySetting privacy_setting = 1 [default = k_ePrivacy_FriendsOnly]; +} + +message CMsgClientToGCSetAccountPrivacySettingResponse { + enum EResultCode { + k_eSuccess = 0; + k_eInternalError = 1; + } + + optional .CMsgClientToGCSetAccountPrivacySettingResponse.EResultCode result = 1 [default = k_eSuccess]; +} + +message CMsgClientToGCVariantItemChangeSlotStyles { + message SlotStyleAction { + optional uint32 slot_id = 1; + optional uint32 style_id = 2; + optional .CMsgClientToGCVariantItemChangeSlotStyles.EStyleAction style_action = 3 [default = k_eUnlockStyle]; + } + + enum EStyleAction { + k_eUnlockStyle = 0; + k_eEquipStyle = 1; + k_eDevUnlockStyle = 2; + k_eDevLockStyle = 3; + } + + optional uint64 item_id = 1; + repeated .CMsgClientToGCVariantItemChangeSlotStyles.SlotStyleAction slot_style_actions = 2; +} + +message CMsgClientToGCVariantItemChangeSlotStylesResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNoItem = 5; + k_eNoActions = 6; + k_eUnknownAction = 8; + k_eCantEquipNotOwned = 9; + k_eNoPermission = 10; + k_eInvalidSlot = 11; + } + + optional .CMsgClientToGCVariantItemChangeSlotStylesResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCStartRankedInterval { + optional .ECitadelRankedType rank_type = 1 [default = k_eCitadelRankedType_Invalid]; + optional uint32 interval = 2; +} + +message CMsgClientToGCStartRankedIntervalResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eIntervalInactive = 2; + k_eAlreadyStarted = 3; + k_eNotEnoughMatchesPlayed = 4; + k_eNotEnoughHeroesUnlocked = 5; + } + + optional .CMsgClientToGCStartRankedIntervalResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCGetInternalLeaderboards { + optional uint32 account_id = 1; +} + +message CMsgClientToGCGetInternalLeaderboardsResponse { + message LeaderboardMatch { + optional uint64 match_id = 1; + optional uint32 round = 2; + optional uint32 duration = 3; + optional uint32 timestamp = 4; + repeated uint32 account_ids = 5; + repeated uint32 hero_ids = 6; + } + + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eAccessDenied = 2; + } + + optional .CMsgClientToGCGetInternalLeaderboardsResponse.EResponse response = 1 [default = k_eInternalError]; + repeated .CMsgClientToGCGetInternalLeaderboardsResponse.LeaderboardMatch matches = 2; +} + +message CMsgClientToGCGetLeaderboardStatus { + optional uint32 leaderboard_id = 1; +} + +message CMsgClientToGCGetLeaderboardStatusResponse { + message Hero { + optional uint32 hero_id = 1; + optional uint32 recent_matches = 2; + optional .ECitadelLeaderboardRegion region = 3 [default = k_ECitadelLeaderboardRegion_None]; + optional uint32 lifetime_wins = 4; + optional bool is_eligible = 5; + } + + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eRateLimited = 3; + k_eInvalidLeaderboard = 4; + } + + optional .CMsgClientToGCGetLeaderboardStatusResponse.EResult result = 1 [default = k_eInternalError]; + optional bool is_eligible = 2; + optional uint32 recent_matches = 3; + optional uint32 required_recent_matches = 4; + optional uint32 required_recent_hero_matches = 5; + optional .ECitadelLeaderboardRegion region = 6 [default = k_ECitadelLeaderboardRegion_None]; + optional bool is_rank_high_enough = 7; + optional uint32 lifetime_matches = 8; + optional uint32 required_lifetime_matches = 9; + optional uint32 required_lifetime_hero_wins = 10; + repeated .CMsgClientToGCGetLeaderboardStatusResponse.Hero hero_info = 11; + optional uint32 match_history_days = 12; +} + +message CMsgClientToGCCabalCreate { +} + +message CMsgClientToGCCabalCreateResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eRateLimited = 3; + k_eAlreadyInMaxCabals = 4; + } + + optional .CMsgClientToGCCabalCreateResponse.EResult result = 1 [default = k_eInternalError]; + optional uint64 cabal_id = 2; +} + +message CMsgClientToGCCabalInviteAccount { + optional uint64 cabal_id = 1; + optional uint32 account_id = 2; + optional bool cancel_invite = 3; +} + +message CMsgClientToGCCabalInviteAccountResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eRateLimited = 3; + k_eInvalidPermission = 4; + k_eTargetInMaxCabals = 5; + k_eTargetAtMaxInvites = 6; + k_eTargetAlreadyInvited = 7; + k_eCabalAtMaxInvites = 8; + k_eCabalAtMaxMembers = 9; + k_eInvalidTargetAccount = 10; + k_eTargetNotInvited = 11; + } + + optional .CMsgClientToGCCabalInviteAccountResponse.EResult result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCCabalAnswerInvite { + optional uint64 cabal_id = 1; + optional bool accepted = 2; +} + +message CMsgClientToGCCabalAnswerInviteResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eRateLimited = 3; + k_eInvalidPermission = 4; + k_eAlreadyInMaxCabals = 5; + k_eCabalAtMaxMembers = 6; + } + + optional .CMsgClientToGCCabalAnswerInviteResponse.EResult result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCCabalLeave { + optional uint64 cabal_id = 1; + optional bool acknowledged_last_member = 2; +} + +message CMsgClientToGCCabalLeaveResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eWasLastMember = 3; + k_eNotMember = 4; + } + + optional .CMsgClientToGCCabalLeaveResponse.EResult result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCCabalGetDetails { + optional uint64 cabal_id = 1; +} + +message CMsgClientToGCCabalGetDetailsResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eRateLimited = 3; + k_eInvalidPermission = 4; + } + + optional .CMsgClientToGCCabalGetDetailsResponse.EResult result = 1 [default = k_eInternalError]; + optional .CMsgCitadelCabal cabal_info = 2; +} + +message CMsgGCToClientCabalUpdated { + optional .CMsgCitadelCabal cabal_info = 1; +} + +message CMsgClientToGCCabalKickPlayer { + optional uint64 cabal_id = 1; + optional uint32 kick_account_id = 2; +} + +message CMsgClientToGCCabalKickPlayerResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eInvalidPermission = 4; + k_eInvalidTarget = 5; + } + + optional .CMsgClientToGCCabalKickPlayerResponse.EResult result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCCabalGetMatchHistory { + optional uint64 cabal_id = 1; + optional .ECitadelCabalMMTier cabal_mm_tier = 2 [default = k_eCabalMMTier_Invalid]; + optional uint64 cursor = 3; +} + +message CMsgClientToGCCabalGetMatchHistoryResponse { + optional .CMsgClientToGCGetMatchHistoryResponse history_response = 1; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto index 5ada7800..4131a1f7 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto @@ -2,6 +2,8 @@ import "in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto"; +import "in/dragonbra/javasteam/protobufs/deadlock/networkbasetypes.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; @@ -30,7 +32,7 @@ enum ECitadelMatchMode { k_ECitadelMatchMode_ServerTest = 5; k_ECitadelMatchMode_Tutorial = 6; k_ECitadelMatchMode_HeroLabs = 7; - k_ECitadelMatchMode_Calibration = 8; + k_ECitadelMatchMode_NewPlayerPlacement = 8; } enum ECitadelLobbyTeam { @@ -46,12 +48,25 @@ enum ECitadelAccountStatMedal { k_eGold = 3; } +enum ECitadelRankedType { + k_eCitadelRankedType_Invalid = 0; + k_eCitadelRankedType_Normal = 1; +} + enum ECitadelMMPreference { k_ECitadelMMPreference_Invalid = 0; k_ECitadelMMPreference_Casual = 1; k_ECitadelMMPreference_Serious = 2; } +enum ECitadelCabalMMTier { + k_eCabalMMTier_Invalid = 0; + k_eCabalMMTier_Bronze = 1; + k_eCabalMMTier_Silver = 2; + k_eCabalMMTier_Gold = 3; + k_eCabalMMTier_Platinum = 4; +} + enum ECitadelObjective { k_eCitadelObjective_Team0_Core = 0; k_eCitadelObjective_Team0_Tier1_Lane1 = 1; @@ -140,6 +155,8 @@ enum ECitadelGameMode { k_ECitadelGameMode_1v1Test = 2; k_ECitadelGameMode_Sandbox = 3; k_ECitadelGameMode_StreetBrawl = 4; + k_ECitadelGameMode_ExploreNYC = 5; + k_ECitadelGameMode_Internal = 6; } enum ELobbyServerState { @@ -163,6 +180,64 @@ enum EFeatureBanReason { k_eFeatureBanReason_ReportedByOtherPlayers = 2; k_eFeatureBanReason_MatchAbandons = 3; k_eFeatureBanReason_TooManyReportsSubmitted = 4; + k_eFeatureBanReason_ToxicChat = 5; +} + +enum EHeroXPGrantReason { + k_eGrant_Win = 0; + k_eGrant_Loss = 1; + k_eGrant_Award = 2; +} + +enum EPlayerMatchOutcome { + k_EPlayerMatchOutcome_Invalid = 0; + k_EPlayerMatchOutcome_Win = 1; + k_EPlayerMatchOutcome_Loss = 2; + k_EPlayerMatchOutcome_Penalized = 3; + k_EPlayerMatchOutcome_PenalizedParty = 4; + k_EPlayerMatchOutcome_NotScored = 5; +} + +enum EMatchMetadataExtraMessage { + k_EMatchMetadataExtraMessage_HeroReleaseVotes = 2; +} + +enum ECitadelCombatLogTypes { + k_eCitadelCombatLog_Invalid = -1; + k_eCitadelCombatLog_Damage = 0; + k_eCitadelCombatLog_Heal = 1; + k_eCitadelCombatLog_ModifierAdd = 2; + k_eCitadelCombatLog_ModifierRemove = 3; + k_eCitadelCombatLog_Death = 4; + k_eCitadelCombatLog_AbilityUse = 5; + k_eCitadelCombatLog_AbilityTrigger = 42; + k_eCitadelCombatLog_ItemUse = 6; + k_eCitadelCombatLog_Location = 7; + k_eCitadelCombatLog_CurrencyChange = 8; + k_eCitadelCombatLog_ItemPurchase = 11; + k_eCitadelCombatLog_SoulSecure = 10; + k_eCitadelCombatLog_Multikill = 15; + k_eCitadelCombatLog_Killstreak = 16; + k_eCitadelCombatLog_ObjectiveKill = 17; + k_eCitadelCombatLog_FirstBlood = 18; + k_eCitadelCombatLog_ModifierStackEvent = 19; + k_eCitadelCombatLog_ActivatePowerup = 21; + k_eCitadelCombatLog_HeroSaved = 23; + k_eCitadelCombatLog_HeroLevelup = 25; + k_eCitadelCombatLog_InterruptChannel = 28; + k_eCitadelCombatLog_AlliedGold = 29; + k_eCitadelCombatLog_RejuvTaken = 30; + k_eCitadelCombatLog_UnitSummoned = 33; + k_eCitadelCombatLog_EndKillstreak = 37; + k_eCitadelCombatLog_CriticalDamage = 39; + k_eCitadelCombatLog_SpellAbsorb = 40; + k_eCitadelCombatLog_UnitTeleported = 41; +} + +message CMsgHeroXPGrant { + optional uint32 hero_id = 1; + optional uint32 xp_grant = 2; + optional .EHeroXPGrantReason reason = 3 [default = k_eGrant_Win]; } message CSOCitadelLobby { @@ -190,6 +265,14 @@ message CSOCitadelHideoutLobby { optional bool hideout_holiday_award_2025 = 32; } + enum EServerStatus { + k_eNoServer = 0; + k_eServerAssigned = 1; + k_eTooFewPlayers = 2; + k_ePlayersInMatch = 3; + k_eDisabled = 4; + } + optional uint64 hideout_lobby_id = 1; optional uint64 party_id = 2; optional fixed64 server_steam_id = 3; @@ -201,6 +284,7 @@ message CSOCitadelHideoutLobby { repeated .CSOCitadelHideoutLobby.Member members = 9; optional uint32 active_account_hideout = 10; repeated .CExtraMsgBlock extra_messages = 11; + optional .CSOCitadelHideoutLobby.EServerStatus server_status = 12 [default = k_eNoServer]; } message CLobbyData_PostMatchSurvey { @@ -287,6 +371,15 @@ message CSOCitadelParty { optional bool cheats_enabled = 7; repeated .CSOCitadelParty.ServerRegion available_regions = 8; optional bool duplicate_heroes_enabled = 9; + optional uint32 corrupted_item_shop_spawn_minutes = 10; + } + + message RankedScores { + optional .ECitadelRankedType rank_type = 1 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 2; + optional uint32 rank_display_badge = 3; + repeated uint32 unlocked_heroes = 5; + optional bool in_calibration = 6; } message Member { @@ -303,6 +396,8 @@ message CSOCitadelParty { optional uint64 new_player_progress = 11; repeated uint32 owned_heroes = 12 [packed = true]; optional uint32 low_priority_games_remaining = 13; + repeated .CSOCitadelParty.RankedScores ranked_scores = 14; + repeated uint64 player_cabals = 15 [packed = true]; } message LeftMember { @@ -344,7 +439,6 @@ message CSOCitadelParty { optional .ECitadelGameMode game_mode = 10 [default = k_ECitadelGameMode_Invalid]; optional uint32 match_making_start_time = 11; optional string server_search_key = 12; - optional bool is_high_skill_range_party = 13; optional .CSOCitadelParty.EChatMode chat_mode = 14 [default = k_eNone]; optional .ECitadelRegionMode region_mode = 15 [default = k_ECitadelRegionMode_ROW]; optional bool is_private_lobby = 16; @@ -352,6 +446,12 @@ message CSOCitadelParty { optional bool desires_laning_together = 18; optional .ECitadelMMPreference mm_preference = 19 [default = k_ECitadelMMPreference_Invalid]; optional string hideout_search_key = 21; + repeated uint64 candidate_cabals = 22 [packed = true]; + optional uint64 active_cabal = 23; + optional .ECitadelCabalMMTier party_min_cabal_tier = 24 [default = k_eCabalMMTier_Invalid]; + optional .ECitadelCabalMMTier party_active_cabal_tier = 25 [default = k_eCabalMMTier_Invalid]; + optional .ECitadelRankedType ranked_type = 26 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 27; } message CMsgMatchPlayerPathsData { @@ -422,6 +522,8 @@ message CMsgMatchPlayerDamageMatrix { k_eType_Mitigated = 3; k_eType_LethalDamage = 4; k_eType_Regen = 5; + k_eType_CrowdControl = 6; + k_eType_MitigatedBySource = 7; } repeated .CMsgMatchPlayerDamageMatrix.DamageDealer damage_dealers = 1; @@ -429,6 +531,17 @@ message CMsgMatchPlayerDamageMatrix { optional .CMsgMatchPlayerDamageMatrix.SourceDetails source_details = 3; } +message CMsgMatchPlayerRankData { + optional uint32 initial_display_rank = 1; + optional uint32 initial_flat_progress = 2; + optional uint32 final_flat_progress = 3; + optional int32 desired_progress_change = 4; + optional uint32 initial_calibration_games = 6; + optional uint32 initial_demotion_protection_games = 7; + optional bool consumed_demotion_protection = 8; + optional uint32 initial_win_streak = 9; +} + message CMsgMatchMetaDataContents { message Position { optional float x = 1; @@ -452,6 +565,7 @@ message CMsgMatchMetaDataContents { optional uint32 sold_time_s = 4; optional uint32 flags = 5; optional uint32 imbued_ability_id = 6; + optional uint32 upgrade_info = 7; } message Ping { @@ -482,6 +596,8 @@ message CMsgMatchMetaDataContents { optional string type = 1; optional uint32 value = 2; optional bool is_permanent = 3; + repeated uint32 pickup_times_s = 4 [packed = true]; + repeated float pickup_stat_values = 5 [packed = true]; } message PlayerStats { @@ -549,6 +665,10 @@ message CMsgMatchMetaDataContents { optional uint32 starting_xp = 3; } + message HeroXPReward { + optional .CMsgHeroXPGrant xp_grant = 1; + } + message PlayerAccolade { optional uint32 accolade_id = 1; optional int32 accolade_stat_value = 2; @@ -570,7 +690,6 @@ message CMsgMatchMetaDataContents { optional uint32 last_hits = 13; optional uint32 denies = 14; optional uint32 ability_points = 15; - optional uint32 party = 16; optional uint32 assigned_lane = 17; optional uint32 level = 18; repeated .CMsgMatchMetaDataContents.Ping pings = 19; @@ -585,6 +704,9 @@ message CMsgMatchMetaDataContents { optional uint32 mvp_rank = 28; optional bool earned_holiday_award_2025 = 29; repeated .CMsgMatchMetaDataContents.PowerUpBuff power_up_buffs = 30; + repeated .CMsgMatchMetaDataContents.HeroXPReward hero_xp_rewards = 31; + optional .CMsgMatchPlayerRankData player_rank_data = 32; + optional .EPlayerMatchOutcome player_match_outcome = 33 [default = k_EPlayerMatchOutcome_Invalid]; } message Teams { @@ -659,6 +781,10 @@ message CMsgMatchMetaDataContents { repeated .CMsgMatchMetaDataContents.Teams teams = 30; optional .ECitadelBotDifficulty bot_difficulty = 32 [default = k_ECitadelBotDifficulty_None]; repeated .CMsgMatchMetaDataContents.StreetBrawlRound street_brawl_rounds = 33; + optional .ECitadelRankedType ranked_type = 34 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 35; + optional uint32 corrupted_penalty_seed = 36; + repeated .CExtraMsgBlock extra_messages = 37; } enum EMatchOutcome { @@ -680,6 +806,7 @@ message CMsgMatchMetaDataContents { k_eItemTrophyCollector = 10; k_eItemCultistSacrifice = 11; k_eBreakable = 12; + k_eItemGooseEgg = 13; } optional .CMsgMatchMetaDataContents.MatchInfo match_info = 2; @@ -725,9 +852,12 @@ message CMsgTrackedStat { message CMsgGCAccountData { optional uint32 account_id = 1; optional float cheater_report_score = 2; + optional uint32 num_comms_reports = 3; } message CMsgHeroBuild { + option (maximum_size_bytes) = 16000; + message BuildModEntry { optional uint32 ability_id = 1; optional string annotation = 2; @@ -782,8 +912,103 @@ message CMsgHeroBuildPreference { optional bool reported = 3; } +message CMsgCitadelCombatLogEntry { + optional .ECitadelCombatLogTypes type = 1 [default = k_eCitadelCombatLog_Invalid]; + optional uint32 target_name = 2; + optional uint32 target_source_name = 3; + optional uint32 attacker_name = 4; + optional uint32 damage_source_name = 5; + optional uint32 inflictor_name = 6; + optional bool is_attacker_hero = 7; + optional bool is_target_hero = 8; + optional bool is_visible_sapphire = 9; + optional bool is_visible_amber = 10; + optional uint32 value = 11; + optional int32 health = 12; + optional float timestamp = 13; + optional float timestamp_raw = 14; + optional uint32 attacker_team = 17; + optional uint32 target_team = 18; + optional bool is_ability_toggle_on = 19; + optional bool is_ability_toggle_off = 20; + optional uint32 damage_type = 21; + optional uint32 networth = 22; + optional uint32 currency_type = 24; + optional uint32 currency_source = 45; + optional float location_x = 25; + optional float location_y = 26; + optional int32 ability_upgrade_bits = 27; + optional float modifier_duration = 28; + repeated int32 assist_players = 29; + optional uint32 target_objective_id = 23; + optional bool target_is_self = 31; + optional int32 target_class = 54; + optional bool is_ultimate_ability = 32; + optional bool uses_charges = 33; + optional bool inflictor_is_stolen_ability = 34; + optional bool spell_generated_attack = 35; + optional bool heal_from_lifesteal = 36; + optional float regenerated_health = 37; + optional bool will_reincarnate = 38; + optional uint32 modifier_ability = 39; + optional bool modifier_hidden = 40; + optional float modifier_elapsed_duration = 41; + optional bool hidden_modifier = 42; + optional bool silence_modifier = 43; + optional bool modifier_purged = 44; + optional bool long_range_kill = 46; + optional bool aura_modifier = 47; + optional bool immobilize_modifier = 48; + optional int32 modifier_purge_npc = 49; + optional int32 modifier_purge_ability = 50; + optional float modifier_purged_duration = 51; + optional bool movement_control_modifier = 52; + optional int32 powerup_type = 53; + optional bool is_primary_weapon = 55; + optional bool is_headshot = 56; + optional int32 ability_name = 57; + optional int32 full_refresh = 59; + optional int32 hits = 60; +} + +message CSerializedCombatLog { + message Dictionary { + message DictString { + optional uint32 id = 1; + optional string value = 2; + } + + repeated .CSerializedCombatLog.Dictionary.DictString strings = 1; + } + + optional uint32 version = 1; + optional .CSerializedCombatLog.Dictionary dictionary = 2; + repeated .CMsgCitadelCombatLogEntry entries = 3; +} + message CMsgHeroReleaseVoteTally { optional uint32 remaining_votes = 1; repeated uint32 votes_cast = 2 [packed = true]; optional uint32 daily_reward_time_stamp = 3; } + +message CMsgMatchHeroReleaseVotes { + message HeroVote { + optional uint32 vote_player_slot = 1; + optional uint32 vote_hero_id = 2; + optional uint32 vote_count = 3 [default = 1]; + } + + message Category { + optional .CMsgMatchHeroReleaseVotes.EHeroReleaseVoteCategory vote_category = 1 [default = k_eMatchCompleted]; + repeated .CMsgMatchHeroReleaseVotes.HeroVote hero_votes = 2; + } + + enum EHeroReleaseVoteCategory { + k_eMatchCompleted = 0; + k_eMatchWon = 1; + k_eDailyBonus = 2; + } + + repeated .CMsgMatchHeroReleaseVotes.Category categories = 1; +} diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_server.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_server.proto index f55ebb13..be750a2a 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_server.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_server.proto @@ -2,6 +2,7 @@ import "in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; @@ -33,18 +34,31 @@ enum EGCCitadelServerMessages { k_EMsgServerToGCRequestPlayerHeroDataResponse = 10045; k_EMsgGCToServerAllocateForHideout = 10046; k_EMsgGCToServerAllocateForHideoutResponse = 10047; + k_EMsgServerToGCInternalMatchStats = 10048; + k_EMsgGCToServerRequestPlayerChatLog = 10049; + k_EMsgGCToServerRequestPlayerChatLogResponse = 10050; + k_EMsgGCToServerToxicChatEvaluationResult = 10051; + k_EMsgServerToGCTestToxicChatEval = 10052; } enum ECitadelMatchAuxStat { k_eMatchAuxStat_Dummy = 1; } +enum ECitadelServerMode { + k_eCitadelServerMode_Match = 0; + k_eCitadelServerMode_Hideout = 1; + k_eCitadelServerMode_CoopBot = 2; + k_eCitadelServerMode_Internal = 3; +} + enum EGCServerLobbyData { k_EServerLobbyData_PlayerMMR = 1; k_EServerLobbyData_PlayerInfo = 2; k_EServerLobbyData_PostMatchSurvey = 3; k_EServerLobbyData_AutoTest = 4; k_EServerLobbyData_PlayerStatValues = 5; + k_EServerLobbyData_HeroReleaseVote = 6; } enum EGCServerSignoutData { @@ -62,6 +76,8 @@ enum EGCServerSignoutData { k_EServerSignoutData_MatchKills = 14; k_EServerSignoutData_PlayerBehavior = 15; k_EServerSignoutData_StreetBrawlData = 16; + k_EServerSignoutData_HeroDraftData = 17; + k_EServerSignoutData_HeroReleaseVotes = 18; } message CMsgServerCrashSentinelFile { @@ -79,9 +95,8 @@ message CMsgServerCrashSentinelFile { optional .ECitadelGameMode game_mode = 7 [default = k_ECitadelGameMode_Invalid]; optional bool was_server_shutdown = 8; optional uint64 hideout_lobby_id = 9; - optional bool allow_matches = 10; - optional bool allow_hideout = 11; optional bool was_lost_lobby = 12; + repeated .ECitadelServerMode server_modes = 13; } optional uint32 version = 1; @@ -115,6 +130,7 @@ message CServerLobbyData_PlayerMMR { optional uint32 hero_mmr = 4; optional uint32 hero_mmr_with_uncertainty = 5; optional uint32 player_slot = 6; + optional float hero_mmru_skill = 7; } repeated .CServerLobbyData_PlayerMMR.Player players = 1; @@ -157,6 +173,10 @@ message CServerLobbyData_PlayerStatValues { repeated .CServerLobbyData_PlayerStatValues.StatDistribution stat_distributions = 2; } +message CServerLobbyData_HeroReleaseVote { + repeated uint32 daily_win_eligible_account_ids = 1; +} + message CSOCitadelServerDynamicLobby { optional uint64 lobby_id = 1; repeated uint32 left_account_ids = 2 [packed = true]; @@ -183,6 +203,19 @@ message CSOCitadelServerStaticLobby { optional .CMsgPlayerHeroData hero_data = 19; optional uint32 match_number = 20; optional bool randomed_hero = 21; + optional bool prior_comms_abuse = 22; + optional bool is_new_player = 23; + repeated uint32 unlocked_hero_ids = 26; + optional uint32 ranked_calibration_matches = 27; + optional uint32 ranked_demote_protection_matches = 28; + optional uint32 ranked_progress = 29; + optional int32 ranked_delta_win = 30; + optional int32 ranked_delta_loss = 31; + optional int32 ranked_delta_abandon = 32; + optional uint32 rank_progress_badge = 33; + optional uint32 rank_display_badge = 34; + optional uint32 ranked_win_streak = 35; + optional uint64 cabal_id = 36; } message DevSettings { @@ -217,12 +250,21 @@ message CSOCitadelServerStaticLobby { optional string gameplay_experiment = 27; optional bool rewards_eligible = 28; repeated uint32 banned_heroes = 29; + optional .ECitadelRankedType rank_type = 30 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 31; + optional .ECitadelCabalMMTier cabal_mm_tier = 32 [default = k_eCabalMMTier_Invalid]; + repeated .CServerCabalInfo server_cabal_info = 33; + optional uint32 corrupted_item_shop_spawn_minutes = 34; } message CSOCitadelServerHideoutLobby { optional uint64 hideout_lobby_id = 1; } +message CServerCabalInfo { + optional uint64 cabal_id = 1; +} + message CMsgServerSignoutData_ServerPerfStats { message FrameCounts { optional uint32 num_frames = 1; @@ -272,6 +314,8 @@ message CMsgServerToGCUpdateMatchInfo { optional uint64 objectives_mask_team1 = 10; optional uint32 brawl_score_team0 = 11; optional uint32 brawl_score_team1 = 12; + repeated uint32 changed_hero_slots = 13 [packed = true]; + repeated uint32 changed_hero_ids = 14 [packed = true]; } message CMsgServerToGCMatchSignoutPermission { @@ -371,6 +415,7 @@ message CMsgServerSignoutData_DetailedStats { optional uint32 comeback_kills = 16; optional uint32 comeback_treasure = 17; optional uint32 comeback_misc = 18; + optional uint32 item_goose_egg = 19; } optional uint32 match_time_s = 1; @@ -398,6 +443,17 @@ message CMsgServerSignoutData_DetailedStats { optional uint32 destroyed_time_s = 3; } + message KothCapture { + optional .ECitadelLobbyTeam winning_team = 1 [default = k_ECitadelLobbyTeam_Team0]; + optional .ECitadelLobbyTeam deposit_team = 2 [default = k_ECitadelLobbyTeam_Team0]; + optional bool overtime = 3; + optional uint32 match_time_s = 4; + optional uint32 winning_players = 5; + optional uint32 losing_players = 6; + optional uint32 duration_s = 7; + optional bool was_comeback_victory = 8; + } + message Player { optional uint32 player_slot = 1; repeated .CMsgServerSignoutData_DetailedStats.TimeSample time_samples = 3; @@ -406,6 +462,7 @@ message CMsgServerSignoutData_DetailedStats { repeated .CMsgServerSignoutData_DetailedStats.Player player_stats = 1; repeated .CMsgServerSignoutData_DetailedStats.Objective objectives = 2; repeated .CMsgServerSignoutData_DetailedStats.MidBoss mid_boss = 3; + repeated .CMsgServerSignoutData_DetailedStats.KothCapture koth_captures = 4; } message CMsgServerSignoutData_PerfData { @@ -462,21 +519,9 @@ message CMsgServerSignoutData_ChallengeProgress { } message CMsgServerSignoutData_HeroXPGrant { - message HeroXPGrant { - optional uint32 hero_id = 1; - optional uint32 xp_grant = 2; - optional .CMsgServerSignoutData_HeroXPGrant.EGrantReason reason = 3 [default = k_eGrant_Win]; - } - message AccountXPGrant { optional uint32 account_id = 1; - repeated .CMsgServerSignoutData_HeroXPGrant.HeroXPGrant xp_grant = 2; - } - - enum EGrantReason { - k_eGrant_Win = 0; - k_eGrant_Loss = 1; - k_eGrant_Award = 2; + repeated .CMsgHeroXPGrant xp_grant = 2; } repeated .CMsgServerSignoutData_HeroXPGrant.AccountXPGrant account_xp = 1; @@ -515,6 +560,7 @@ message CMsgServerSignoutData_PlayerChat { optional float game_time = 2; optional bool team_only = 3; optional string chat_line = 4; + optional bool comms_restricted = 5; } repeated .CMsgServerSignoutData_PlayerChat.ChatLine chat_lines = 1; @@ -589,6 +635,23 @@ message CMsgServerSignoutData_StreetBrawlData { repeated .CMsgServerSignoutData_StreetBrawlData.Round rounds = 1; } +message CMsgServerSignoutData_HeroDraftData { + message HeroDraftAttempt { + optional uint32 player_slot = 1; + optional uint32 hero_id = 2; + optional .CMsgServerSignoutData_HeroDraftData.EDraftOutcome outcome = 3 [default = k_eError]; + optional uint32 time = 4; + } + + enum EDraftOutcome { + k_eError = 0; + k_eAlreadyTaken = 1; + k_eSuccess = 2; + } + + repeated .CMsgServerSignoutData_HeroDraftData.HeroDraftAttempt hero_draft_attempts = 1; +} + message CMsgServerSignoutData_PenalizedPlayers { message Penalty { optional uint32 account_id = 1; @@ -607,6 +670,15 @@ message CMsgServerSignoutData_PenalizedPlayers { repeated .CMsgServerSignoutData_PenalizedPlayers.Penalty penalized_players = 1; } +message CMsgServerSignoutData_HeroReleaseVotes { + message PlayerVote { + optional uint32 account_id = 1; + optional uint32 voted_hero_id = 2; + } + + repeated .CMsgServerSignoutData_HeroReleaseVotes.PlayerVote player_votes = 1; +} + message CMsgMatchData { message PlayerItem { optional uint32 item_id = 1; @@ -615,6 +687,7 @@ message CMsgMatchData { optional uint32 sold_time_s = 4; optional uint32 flags = 5; optional uint32 imbued_ability_id = 6; + optional uint32 upgrade_info = 7; } message AuxStat { @@ -680,6 +753,11 @@ message CMsgMatchData { repeated .CMsgMatchData.AuxStat aux_stats = 55; repeated .CMsgTrackedStat player_tracked_stats = 56; optional float new_player_score = 57; + optional float hero_mmru_skill = 58; + optional .EPlayerMatchOutcome player_match_outcome = 61 [default = k_EPlayerMatchOutcome_Invalid]; + optional int32 rank_change_delta = 62; + optional uint32 initial_hero_id = 63; + optional uint64 cabal_id = 64; } message TeamInfo { @@ -719,6 +797,11 @@ message CMsgMatchData { optional float winner_pct_time_in_enemy = 21; optional bool forgive_existing_abandons = 22; optional uint32 brawl_avg_round_time_s = 23; + optional uint32 first_blood_time = 24; + optional .ECitadelRankedType rank_type = 25 [default = k_eCitadelRankedType_Invalid]; + optional uint32 rank_interval = 26; + optional .ECitadelCabalMMTier cabal_mm_tier = 27 [default = k_eCabalMMTier_Invalid]; + optional uint32 corrupted_penalty_seed = 28; } message CMsgServerToGCMatchSignout { @@ -779,8 +862,8 @@ message CMsgServerToGCEnterMatchmaking { optional uint32 server_port = 7; optional bytes sdr_address = 9; optional uint32 replay_group_id = 10; - optional bool allow_matches = 11; - optional bool allow_hideout = 12; + optional uint32 process_id = 13; + repeated .ECitadelServerMode server_modes = 14; } message CMsgGCToServerCancelAllocateForMatch { @@ -825,9 +908,8 @@ message CMsgServerToGCAbandonMatch { optional uint32 region_id = 18; optional uint64 hideout_lobby_id = 19; optional uint64 routing_id = 20; - optional bool allow_matches = 21; - optional bool allow_hideout = 22; optional bool was_lost_lobby = 23; + repeated .ECitadelServerMode server_modes = 24; } message CMsgServerToGCAbandonMatchResponse { @@ -918,4 +1000,60 @@ message CMsgServerSteamLearnCitadelPlayerMechanicalBehavior { optional float time_spent_not_contributing_to_game_events_ratio = 23; optional float dash_jumps_per_minute = 24; optional float wall_jumps_per_minute = 25; + + reserved 17; +} + +message CMsgServerToGCInternalMatchStats { + optional uint64 match_id = 1; + optional uint32 round = 2; + optional uint32 duration = 3; + optional uint32 timestamp = 4; + repeated uint32 account_ids = 5; + repeated uint32 hero_ids = 6; +} + +message CMsgToxicChatEvaluationContext { + optional uint32 target_account_id = 1; + optional uint32 reporter_account_id = 2; + optional uint64 match_id = 3; + optional bool dry_run = 4; + optional bool enemy_report = 5; +} + +message CMsgToxicChatLine { + optional uint32 timestamp = 1; + optional string line = 2; + optional bool team_only = 3; +} + +message CMsgGCToServerRequestPlayerChatLog { + optional .CMsgToxicChatEvaluationContext context = 1; +} + +message CMsgGCToServerRequestPlayerChatLogResponse { + optional uint32 reporter_account_id = 1; + repeated .CMsgToxicChatLine lines = 2; +} + +message CMsgGCToServerToxicChatEvaluationResult { + optional .CMsgToxicChatEvaluationContext context = 1; + optional bool convicted = 2; + optional uint32 ban_duration_seconds = 4; + optional uint32 sent_lines = 5; + optional uint32 evaluated_lines = 6; + optional uint32 toxic_lines = 7; + optional float toxicity_score = 8; + optional bool api_failure = 9; + optional bool announce_mute = 11; +} + +message CMsgServerToGCTestToxicChatEval { + message Player { + optional uint32 account_id = 1; + repeated .CMsgToxicChatLine lines = 2; + } + + optional uint64 match_id = 1; + repeated .CMsgServerToGCTestToxicChatEval.Player players = 2; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_gcmessages.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_gcmessages.proto index aed69722..a8052273 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_gcmessages.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_gcmessages.proto @@ -2,6 +2,7 @@ import "in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/econ_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; @@ -442,7 +443,18 @@ message CMsgDevNewItemRequest { } message CMsgDevNewItemRequestResponse { - optional bool success = 1; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eUnknownItemDef = 6; + k_eItemDefNotAllowed = 7; + } + + optional .CMsgDevNewItemRequestResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgDevUnlockAllItemStyles { @@ -872,7 +884,6 @@ message CMsgProcessTransactionOrder { optional uint64 txn_id = 1; optional uint64 steam_txn_id = 2; - optional uint64 partner_txn_id = 3; optional fixed64 steam_id = 4; optional uint32 time_stamp = 5; optional uint64 watermark = 6; diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/engine_gcmessages.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/engine_gcmessages.proto index 57531358..f5e788e6 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/engine_gcmessages.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/engine_gcmessages.proto @@ -6,14 +6,14 @@ option optimize_for = SPEED; option java_generic_services = false; message CEngineGotvSyncPacket { - optional uint64 match_id = 1; - optional uint32 instance_id = 2; - optional uint32 signupfragment = 3; - optional uint32 currentfragment = 4; - optional float tickrate = 5; - optional uint32 tick = 6; - optional float rtdelay = 8; - optional float rcvage = 9; - optional float keyframe_interval = 10; - optional uint32 cdndelay = 11; + optional uint64 match_id = 1; + optional uint32 instance_id = 2; + optional uint32 signupfragment = 3; + optional uint32 currentfragment = 4; + optional float tickrate = 5; + optional uint32 tick = 6; + optional float rtdelay = 8; + optional float rcvage = 9; + optional float keyframe_interval = 10; + optional uint32 cdndelay = 11; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto index 6cf09b7b..b1fdc0d3 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; @@ -226,7 +227,6 @@ message CMsgClientHello { repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; optional uint32 client_session_need = 3; optional .PartnerAccountType client_launcher = 4 [default = PARTNER_NONE]; - optional string secret_key = 5; optional uint32 client_language = 6; optional .ESourceEngine engine = 7 [default = k_ESE_Source1]; optional bytes steamdatagram_login = 8; diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsystemmsgs.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsystemmsgs.proto index b25fa244..559fa294 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsystemmsgs.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsystemmsgs.proto @@ -4,28 +4,28 @@ option optimize_for = SPEED; option java_generic_services = false; enum ESOMsg { - k_ESOMsg_Create = 21; - k_ESOMsg_Update = 22; - k_ESOMsg_Destroy = 23; - k_ESOMsg_CacheSubscribed = 24; - k_ESOMsg_CacheUnsubscribed = 25; - k_ESOMsg_UpdateMultiple = 26; - k_ESOMsg_CacheSubscriptionRefresh = 28; - k_ESOMsg_CacheSubscribedUpToDate = 29; + k_ESOMsg_Create = 21; + k_ESOMsg_Update = 22; + k_ESOMsg_Destroy = 23; + k_ESOMsg_CacheSubscribed = 24; + k_ESOMsg_CacheUnsubscribed = 25; + k_ESOMsg_UpdateMultiple = 26; + k_ESOMsg_CacheSubscriptionRefresh = 28; + k_ESOMsg_CacheSubscribedUpToDate = 29; } enum EGCBaseClientMsg { - k_EMsgGCPingRequest = 3001; - k_EMsgGCPingResponse = 3002; - k_EMsgGCToClientPollConvarRequest = 3003; - k_EMsgGCToClientPollConvarResponse = 3004; - k_EMsgGCCompressedMsgToClient = 3005; - k_EMsgGCCompressedMsgToClient_Legacy = 523; - k_EMsgGCToClientRequestDropped = 3006; - k_EMsgGCClientWelcome = 4004; - k_EMsgGCServerWelcome = 4005; - k_EMsgGCClientHello = 4006; - k_EMsgGCServerHello = 4007; - k_EMsgGCClientConnectionStatus = 4009; - k_EMsgGCServerConnectionStatus = 4010; + k_EMsgGCPingRequest = 3001; + k_EMsgGCPingResponse = 3002; + k_EMsgGCToClientPollConvarRequest = 3003; + k_EMsgGCToClientPollConvarResponse = 3004; + k_EMsgGCCompressedMsgToClient = 3005; + k_EMsgGCCompressedMsgToClient_Legacy = 523; + k_EMsgGCToClientRequestDropped = 3006; + k_EMsgGCClientWelcome = 4004; + k_EMsgGCServerWelcome = 4005; + k_EMsgGCClientHello = 4006; + k_EMsgGCServerHello = 4007; + k_EMsgGCClientConnectionStatus = 4009; + k_EMsgGCServerConnectionStatus = 4010; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/networkbasetypes.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/networkbasetypes.proto new file mode 100644 index 00000000..e5e201be --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/networkbasetypes.proto @@ -0,0 +1,282 @@ +import "in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto"; +import "google/protobuf/descriptor.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +extend .google.protobuf.MessageOptions { + optional int32 maximum_size_bytes = 50000; +} + +enum SignonState_t { + SIGNONSTATE_NONE = 0; + SIGNONSTATE_CHALLENGE = 1; + SIGNONSTATE_CONNECTED = 2; + SIGNONSTATE_NEW = 3; + SIGNONSTATE_PRESPAWN = 4; + SIGNONSTATE_SPAWN = 5; + SIGNONSTATE_FULL = 6; + SIGNONSTATE_CHANGELEVEL = 7; +} + +enum NET_Messages { + net_NOP = 0; + net_Disconnect_Legacy = 1; + net_SplitScreenUser = 3; + net_Tick = 4; + net_StringCmd = 5; + net_SetConVar = 6; + net_SignonState = 7; + net_SpawnGroup_Load = 8; + net_SpawnGroup_ManifestUpdate = 9; + net_SpawnGroup_SetCreationTick = 11; + net_SpawnGroup_Unload = 12; + net_SpawnGroup_LoadCompleted = 13; + net_DebugOverlay = 15; +} + +enum SpawnGroupFlags_t { + SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE = 1; + SPAWN_GROUP_DONT_SPAWN_ENTITIES = 2; + SPAWN_GROUP_SYNCHRONOUS_SPAWN = 4; + SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP = 8; + SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES = 16; + SPAWN_GROUP_BLOCK_UNTIL_LOADED = 64; + SPAWN_GROUP_LOAD_STREAMING_DATA = 128; + SPAWN_GROUP_CREATE_NEW_SCENE_WORLD = 256; +} + +message CMsgVector { + option (codegen_delta_encoder) = true; + + optional float x = 1; + optional float y = 2; + optional float z = 3; + optional float w = 4; +} + +message CMsgVector2D { + option (codegen_delta_encoder) = true; + + optional float x = 1; + optional float y = 2; +} + +message CMsgQAngle { + option (codegen_delta_encoder) = true; + + optional float x = 1; + optional float y = 2; + optional float z = 3; +} + +message CMsgQuaternion { + option (codegen_delta_encoder) = true; + + optional float x = 1; + optional float y = 2; + optional float z = 3; + optional float w = 4; +} + +message CMsgTransform { + option (codegen_delta_encoder) = true; + + optional .CMsgVector position = 1; + optional float scale = 2; + optional .CMsgQuaternion orientation = 3; +} + +message CMsgRGBA { + option (codegen_delta_encoder) = true; + + optional int32 r = 1; + optional int32 g = 2; + optional int32 b = 3; + optional int32 a = 4; +} + +message CMsgPlayerInfo { + optional string name = 1; + optional fixed64 xuid = 2; + optional int32 userid = 3; + optional fixed64 steamid = 4; + optional bool fakeplayer = 5; + optional bool ishltv = 6; + optional bool clan_member = 9; + optional bool clan_officer = 10; +} + +message CEntityMsg { + optional uint32 target_entity = 1 [default = 16777215]; +} + +message CMsg_CVars { + message CVar { + optional string name = 1; + optional string value = 2; + } + + repeated .CMsg_CVars.CVar cvars = 1; +} + +message CNETMsg_NOP { +} + +message CNETMsg_SplitScreenUser { + optional int32 slot = 1; +} + +message CNETMsg_Tick { + optional uint32 tick = 1; + optional uint32 host_computationtime = 4; + optional uint32 host_computationtime_std_deviation = 5; + optional uint32 legacy_host_loss = 7; + optional uint32 host_unfiltered_frametime = 8; + optional uint32 hltv_replay_flags = 9; + optional uint32 expected_long_tick = 10; + optional string expected_long_tick_reason = 11; + optional uint32 host_frame_dropped_pct_x10 = 12; + optional uint32 host_frame_irregular_arrival_pct_x10 = 13; +} + +message CNETMsg_StringCmd { + optional string command = 1; + optional uint32 prediction_sync = 2; +} + +message CNETMsg_SetConVar { + option (maximum_size_bytes) = 4096; + + optional .CMsg_CVars convars = 1; +} + +message CNETMsg_SignonState { + optional .SignonState_t signon_state = 1 [default = SIGNONSTATE_NONE]; + optional uint32 spawn_count = 2; + optional uint32 num_server_players = 3; + repeated string players_networkids = 4; + optional string map_name = 5; + optional string addons = 6; +} + +message CSVCMsg_GameEvent { + message key_t { + optional int32 type = 1; + optional string val_string = 2; + optional float val_float = 3; + optional int32 val_long = 4; + optional int32 val_short = 5; + optional int32 val_byte = 6; + optional bool val_bool = 7; + optional uint64 val_uint64 = 8; + } + + optional string event_name = 1; + optional int32 eventid = 2; + repeated .CSVCMsg_GameEvent.key_t keys = 3; +} + +message CSVCMsgList_GameEvents { + message event_t { + optional int32 tick = 1; + optional .CSVCMsg_GameEvent event = 2; + } + + repeated .CSVCMsgList_GameEvents.event_t events = 1; +} + +message CNETMsg_SpawnGroup_Load { + option (maximum_size_bytes) = 131072; + + optional string worldname = 1; + optional string entitylumpname = 2; + optional string entityfiltername = 3; + optional uint32 spawngrouphandle = 4; + optional uint32 spawngroupownerhandle = 5; + optional .CMsgVector world_offset_pos = 6; + optional .CMsgQAngle world_offset_angle = 7; + optional bytes spawngroupmanifest = 8; + optional uint32 flags = 9; + optional int32 tickcount = 10; + optional bool manifestincomplete = 11; + optional string localnamefixup = 12; + optional string parentnamefixup = 13; + optional int32 manifestloadpriority = 14; + optional uint32 worldgroupid = 15; + optional uint32 creationsequence = 16; + optional string savegamefilename = 17; + optional uint32 spawngroupparenthandle = 18; + optional bool leveltransition = 19; + optional string worldgroupname = 20; +} + +message CNETMsg_SpawnGroup_ManifestUpdate { + option (maximum_size_bytes) = 2048; + + optional uint32 spawngrouphandle = 1; + optional bytes spawngroupmanifest = 2; + optional bool manifestincomplete = 3; +} + +message CNETMsg_SpawnGroup_SetCreationTick { + optional uint32 spawngrouphandle = 1; + optional int32 tickcount = 2; + optional uint32 creationsequence = 3; +} + +message CNETMsg_SpawnGroup_Unload { + optional uint32 spawngrouphandle = 1; + optional uint32 flags = 2; + optional int32 tickcount = 3; +} + +message CNETMsg_SpawnGroup_LoadCompleted { + optional uint32 spawngrouphandle = 1; +} + +message QuantizedFloatEncoderAlias_t { + optional string name = 1; + optional int32 bit_count = 2; + optional int32 encode_flags = 3; + optional float min_value = 4; + optional float max_value = 5; + optional bool validate = 6; +} + +message CSVCMsg_GameSessionConfiguration { + optional bool is_multiplayer = 1; + optional bool is_loadsavegame = 2; + optional bool is_background_map = 3; + optional bool is_headless = 4; + optional uint32 min_client_limit = 5; + optional uint32 max_client_limit = 6; + optional uint32 max_clients = 7; + optional fixed32 tick_interval = 8; + optional string hostname = 9; + optional string savegamename = 10; + optional string s1_mapname = 11; + optional string gamemode = 12; + optional string server_ip_address = 13; + optional bytes data = 14; + optional bool is_localonly = 15; + optional bool no_steam_server = 19; + optional bool is_transition = 16; + optional string previouslevel = 17; + optional string landmarkname = 18; + repeated .QuantizedFloatEncoderAlias_t quantized_float_encoder_aliases = 20; + optional float max_coord = 21; +} + +message CNETMsg_DebugOverlay { + optional int32 etype = 1; + repeated .CMsgVector vectors = 2; + repeated .CMsgRGBA colors = 3; + repeated float dimensions = 4; + repeated float times = 5; + repeated bool bools = 6; + repeated uint64 uint64s = 7; + repeated string strings = 8; +} diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto index a1374f85..603f5825 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto @@ -6,108 +6,106 @@ option optimize_for = SPEED; option java_generic_services = false; extend .google.protobuf.FieldOptions { - optional bool key_field = 60000 [default = false]; + optional bool key_field = 60000 [default = false]; } extend .google.protobuf.MessageOptions { - optional int32 msgpool_soft_limit = 60000 [default = 32]; - optional int32 msgpool_hard_limit = 60001 [default = 384]; + optional int32 msgpool_soft_limit = 60000 [default = 32]; + optional int32 msgpool_hard_limit = 60001 [default = 384]; } enum EGCPlatform { - k_eGCPlatform_None = 0; - k_eGCPlatform_PC = 1; - k_eGCPlatform_Mac = 2; - k_eGCPlatform_Linux = 3; - k_eGCPlatform_Android = 4; - k_eGCPlatform_iOS = 5; + k_eGCPlatform_None = 0; + k_eGCPlatform_PC = 1; + k_eGCPlatform_Mac = 2; + k_eGCPlatform_Linux = 3; } enum GCProtoBufMsgSrc { - GCProtoBufMsgSrc_Unspecified = 0; - GCProtoBufMsgSrc_FromSystem = 1; - GCProtoBufMsgSrc_FromSteamID = 2; - GCProtoBufMsgSrc_FromGC = 3; - GCProtoBufMsgSrc_ReplySystem = 4; - GCProtoBufMsgSrc_SpoofedSteamID = 5; + GCProtoBufMsgSrc_Unspecified = 0; + GCProtoBufMsgSrc_FromSystem = 1; + GCProtoBufMsgSrc_FromSteamID = 2; + GCProtoBufMsgSrc_FromGC = 3; + GCProtoBufMsgSrc_ReplySystem = 4; + GCProtoBufMsgSrc_SpoofedSteamID = 5; } message CMsgProtoBufHeader { - option (msgpool_soft_limit) = 256; - option (msgpool_hard_limit) = 1024; + option (msgpool_soft_limit) = 256; + option (msgpool_hard_limit) = 1024; - optional fixed64 client_steam_id = 1; - optional int32 client_session_id = 2; - optional uint32 source_app_id = 3; - optional fixed64 job_id_source = 10 [default = 18446744073709551615]; - optional fixed64 job_id_target = 11 [default = 18446744073709551615]; - optional string target_job_name = 12; - optional int32 eresult = 13 [default = 2]; - optional string error_message = 14; - optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; - optional int32 gc_dir_index_source = 201 [default = -1]; + optional fixed64 client_steam_id = 1; + optional int32 client_session_id = 2; + optional uint32 source_app_id = 3; + optional fixed64 job_id_source = 10 [default = 18446744073709551615]; + optional fixed64 job_id_target = 11 [default = 18446744073709551615]; + optional string target_job_name = 12; + optional int32 eresult = 13 [default = 2]; + optional string error_message = 14; + optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; + optional int32 gc_dir_index_source = 201 [default = -1]; } message CGCSystemMsg_GetAccountDetails { - option (msgpool_soft_limit) = 128; - option (msgpool_hard_limit) = 512; + option (msgpool_soft_limit) = 128; + option (msgpool_hard_limit) = 512; - optional fixed64 steamid = 1; - optional uint32 appid = 2; + optional fixed64 steamid = 1; + optional uint32 appid = 2; } message CGCSystemMsg_GetAccountDetails_Response { - option (msgpool_soft_limit) = 128; - option (msgpool_hard_limit) = 512; + option (msgpool_soft_limit) = 128; + option (msgpool_hard_limit) = 512; - optional uint32 eresult_deprecated = 1 [default = 2]; - optional string account_name = 2; - optional string persona_name = 3; - optional bool is_profile_created = 26; - optional bool is_profile_public = 4; - optional bool is_inventory_public = 5; - optional bool is_vac_banned = 7; - optional bool is_cyber_cafe = 8; - optional bool is_school_account = 9; - optional bool is_limited = 10; - optional bool is_subscribed = 11; - optional uint32 package = 12; - optional bool is_free_trial_account = 13; - optional uint32 free_trial_expiration = 14; - optional bool is_low_violence = 15; - optional bool is_account_locked_down = 16; - optional bool is_community_banned = 17; - optional bool is_trade_banned = 18; - optional uint32 trade_ban_expiration = 19; - optional uint32 accountid = 20; - optional uint32 suspension_end_time = 21; - optional string currency = 22; - optional uint32 steam_level = 23; - optional uint32 friend_count = 24; - optional uint32 account_creation_time = 25; - optional bool is_steamguard_enabled = 27; - optional bool is_phone_verified = 28; - optional bool is_two_factor_auth_enabled = 29; - optional uint32 two_factor_enabled_time = 30; - optional uint32 phone_verification_time = 31; - optional uint64 phone_id = 33; - optional bool is_phone_identifying = 34; - optional uint32 rt_identity_linked = 35; - optional uint32 rt_birth_date = 36; - optional string txn_country_code = 37; - optional bool has_accepted_china_ssa = 38; - optional bool is_banned_steam_china = 39; + optional uint32 eresult_deprecated = 1 [default = 2]; + optional string account_name = 2; + optional string persona_name = 3; + optional bool is_profile_created = 26; + optional bool is_profile_public = 4; + optional bool is_inventory_public = 5; + optional bool is_vac_banned = 7; + optional bool is_cyber_cafe = 8; + optional bool is_school_account = 9; + optional bool is_limited = 10; + optional bool is_subscribed = 11; + optional uint32 package = 12; + optional bool is_free_trial_account = 13; + optional uint32 free_trial_expiration = 14; + optional bool is_low_violence = 15; + optional bool is_account_locked_down = 16; + optional bool is_community_banned = 17; + optional bool is_trade_banned = 18; + optional uint32 trade_ban_expiration = 19; + optional uint32 accountid = 20; + optional uint32 suspension_end_time = 21; + optional string currency = 22; + optional uint32 steam_level = 23; + optional uint32 friend_count = 24; + optional uint32 account_creation_time = 25; + optional bool is_steamguard_enabled = 27; + optional bool is_phone_verified = 28; + optional bool is_two_factor_auth_enabled = 29; + optional uint32 two_factor_enabled_time = 30; + optional uint32 phone_verification_time = 31; + optional uint64 phone_id = 33; + optional bool is_phone_identifying = 34; + optional uint32 rt_identity_linked = 35; + optional uint32 rt_birth_date = 36; + optional string txn_country_code = 37; + optional bool has_accepted_china_ssa = 38; + optional bool is_banned_steam_china = 39; } message CIPLocationInfo { - optional uint32 ip = 1; - optional float latitude = 2; - optional float longitude = 3; - optional string country = 4; - optional string state = 5; - optional string city = 6; + optional uint32 ip = 1; + optional float latitude = 2; + optional float longitude = 3; + optional string country = 4; + optional string state = 5; + optional string city = 6; } message CGCMsgGetIPLocationResponse { - repeated .CIPLocationInfo infos = 1; + repeated .CIPLocationInfo infos = 1; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto index 45c12e2e..8ee593ea 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto @@ -274,19 +274,9 @@ message CMsgSteamLearn_InferenceMetadata_Response { optional uint64 count = 3; } - message MapValuesEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value = 2; - } - - message MapMappingsEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value = 2; - } - optional string name = 1; - repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry map_values = 2; - repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry map_mappings = 3; + map map_values = 2; + map map_mappings = 3; } message SequenceTable { @@ -296,19 +286,9 @@ message CMsgSteamLearn_InferenceMetadata_Response { optional uint32 count = 3; } - message MapValuesEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; - } - - message MapMappingsEntry { - optional string key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; - } - optional string name = 1; - repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry map_values = 2; - repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry map_mappings = 3; + map map_values = 2; + map map_mappings = 3; optional uint64 total_count = 4; } @@ -343,11 +323,6 @@ message CMsgSteamLearn_InferenceMetadata_Response { optional bool adult_sex = 7; } - message AppInfoEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.AppInfo value = 2; - } - optional .ESteamLearnInferenceMetadataResult inference_metadata_result = 1 [default = STEAMLEARN_INFERENCE_METADATA_ERROR]; optional .CMsgSteamLearn_InferenceMetadata_Response.RowRange row_range = 2; repeated .CMsgSteamLearn_InferenceMetadata_Response.Range ranges = 3; @@ -355,7 +330,7 @@ message CMsgSteamLearn_InferenceMetadata_Response { repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable compact_tables = 5; repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable sequence_tables = 9; repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans kmeans = 6; - repeated .CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry app_info = 8; + map app_info = 8; optional .CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram snapshot_histogram = 7; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto index 4e8d9454..8ff20327 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto @@ -6,27 +6,27 @@ option optimize_for = SPEED; option java_generic_services = false; extend .google.protobuf.FieldOptions { - optional string description = 50000; + optional string description = 50000; } extend .google.protobuf.ServiceOptions { - optional string service_description = 50000; - optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown]; + optional string service_description = 50000; + optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown]; } extend .google.protobuf.MethodOptions { - optional string method_description = 50000; + optional string method_description = 50000; } extend .google.protobuf.EnumOptions { - optional string enum_description = 50000; + optional string enum_description = 50000; } extend .google.protobuf.EnumValueOptions { - optional string enum_value_description = 50000; + optional string enum_value_description = 50000; } enum EProtoExecutionSite { - k_EProtoExecutionSiteUnknown = 0; - k_EProtoExecutionSiteSteamClient = 3; + k_EProtoExecutionSiteUnknown = 0; + k_EProtoExecutionSiteSteamClient = 3; } diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto index a900d576..8b2c9327 100644 --- a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto @@ -5,27 +5,32 @@ option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; option optimize_for = SPEED; option java_generic_services = false; +extend .google.protobuf.MessageOptions { + optional bool codegen_delta_encoder = 61000 [default = false]; +} + extend .google.protobuf.FieldOptions { - optional bool valve_map_field = 61000 [default = false]; - optional bool valve_map_key = 61001 [default = false]; - optional int32 diff_encode_field = 61002 [default = 0]; - optional bool delta_ignore = 61003 [default = false]; - optional uint32 steamml_max_entries = 61004 [default = 0]; - optional bool steamml_is_timestamp = 61005 [default = false]; - optional uint32 steamlearn_count = 61006 [default = 0]; - optional .EProtoDebugVisiblity debugprint_visibility = 61007 [default = k_EProtoDebugVisibility_Always]; + optional bool valve_map_field = 61000 [default = false]; + optional bool valve_map_key = 61001 [default = false]; + optional int32 diff_encode_field = 61002 [default = 0]; + optional bool delta_ignore = 61003 [default = false]; + optional int32 untrusted_delta_max = 61008 [default = 256]; + optional uint32 steamml_max_entries = 61004 [default = 0]; + optional bool steamml_is_timestamp = 61005 [default = false]; + optional uint32 steamlearn_count = 61006 [default = 0]; + optional .EProtoDebugVisiblity debugprint_visibility = 61007 [default = k_EProtoDebugVisibility_Always]; } extend .google.protobuf.EnumValueOptions { - optional string schema_friendly_name = 1000; - optional string schema_description = 1001; - optional bool schema_suppress_enumerator = 1002; + optional string schema_friendly_name = 1000; + optional string schema_description = 1001; + optional bool schema_suppress_enumerator = 1002; } enum EProtoDebugVisiblity { - k_EProtoDebugVisibility_Always = 0; - k_EProtoDebugVisibility_Server = 70; - k_EProtoDebugVisibility_ValveServer = 80; - k_EProtoDebugVisibility_GC = 90; - k_EProtoDebugVisibility_Never = 100; + k_EProtoDebugVisibility_Always = 0; + k_EProtoDebugVisibility_Server = 70; + k_EProtoDebugVisibility_ValveServer = 80; + k_EProtoDebugVisibility_GC = 90; + k_EProtoDebugVisibility_Never = 100; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto index 8dc6d09f..2b0a8593 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -8,410 +9,411 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGCBaseMsg { - k_EMsgGCInviteToParty = 4501; - k_EMsgGCInvitationCreated = 4502; - k_EMsgGCPartyInviteResponse = 4503; - k_EMsgGCKickFromParty = 4504; - k_EMsgGCLeaveParty = 4505; - k_EMsgGCServerAvailable = 4506; - k_EMsgGCClientConnectToServer = 4507; - k_EMsgGCGameServerInfo = 4508; - k_EMsgGCLANServerAvailable = 4511; - k_EMsgGCInviteToLobby = 4512; - k_EMsgGCLobbyInviteResponse = 4513; - k_EMsgGCToClientPollFileRequest = 4514; - k_EMsgGCToClientPollFileResponse = 4515; - k_EMsgGCToGCPerformManualOp = 4516; - k_EMsgGCToGCPerformManualOpCompleted = 4517; - k_EMsgGCToGCReloadServerRegionSettings = 4518; - k_EMsgGCAdditionalWelcomeMsgList = 4519; - k_EMsgGCToClientApplyRemoteConVars = 4520; - k_EMsgGCToServerApplyRemoteConVars = 4521; - k_EMsgClientToGCIntegrityStatus = 4522; - k_EMsgClientToGCAggregateMetrics = 4523; - k_EMsgGCToClientAggregateMetricsBackoff = 4524; - k_EMsgGCToServerSteamLearnAccessTokensChanged = 4525; - k_EMsgGCToServerSteamLearnUseHTTP = 4526; + k_EMsgGCInviteToParty = 4501; + k_EMsgGCInvitationCreated = 4502; + k_EMsgGCPartyInviteResponse = 4503; + k_EMsgGCKickFromParty = 4504; + k_EMsgGCLeaveParty = 4505; + k_EMsgGCServerAvailable = 4506; + k_EMsgGCClientConnectToServer = 4507; + k_EMsgGCGameServerInfo = 4508; + k_EMsgGCLANServerAvailable = 4511; + k_EMsgGCInviteToLobby = 4512; + k_EMsgGCLobbyInviteResponse = 4513; + k_EMsgGCToClientPollFileRequest = 4514; + k_EMsgGCToClientPollFileResponse = 4515; + k_EMsgGCToGCPerformManualOp = 4516; + k_EMsgGCToGCPerformManualOpCompleted = 4517; + k_EMsgGCToGCReloadServerRegionSettings = 4518; + k_EMsgGCAdditionalWelcomeMsgList = 4519; + k_EMsgGCToClientApplyRemoteConVars = 4520; + k_EMsgGCToServerApplyRemoteConVars = 4521; + k_EMsgClientToGCIntegrityStatus = 4522; + k_EMsgClientToGCAggregateMetrics = 4523; + k_EMsgGCToClientAggregateMetricsBackoff = 4524; + k_EMsgGCToServerSteamLearnAccessTokensChanged = 4525; + k_EMsgGCToServerSteamLearnUseHTTP = 4526; } enum ECustomGameInstallStatus { - k_ECustomGameInstallStatus_Unknown = 0; - k_ECustomGameInstallStatus_Ready = 1; - k_ECustomGameInstallStatus_Busy = 2; - k_ECustomGameInstallStatus_FailedGeneric = 101; - k_ECustomGameInstallStatus_FailedInternalError = 102; - k_ECustomGameInstallStatus_RequestedTimestampTooOld = 103; - k_ECustomGameInstallStatus_RequestedTimestampTooNew = 104; - k_ECustomGameInstallStatus_CRCMismatch = 105; - k_ECustomGameInstallStatus_FailedSteam = 106; - k_ECustomGameInstallStatus_FailedCanceled = 107; + k_ECustomGameInstallStatus_Unknown = 0; + k_ECustomGameInstallStatus_Ready = 1; + k_ECustomGameInstallStatus_Busy = 2; + k_ECustomGameInstallStatus_FailedGeneric = 101; + k_ECustomGameInstallStatus_FailedInternalError = 102; + k_ECustomGameInstallStatus_RequestedTimestampTooOld = 103; + k_ECustomGameInstallStatus_RequestedTimestampTooNew = 104; + k_ECustomGameInstallStatus_CRCMismatch = 105; + k_ECustomGameInstallStatus_FailedSteam = 106; + k_ECustomGameInstallStatus_FailedCanceled = 107; } message CGCStorePurchaseInit_LineItem { - optional uint32 item_def_id = 1; - optional uint32 quantity = 2; - optional uint32 cost_in_local_currency = 3; - optional uint32 purchase_type = 4; - optional uint64 source_reference_id = 5; - optional int32 price_index = 6; + optional uint32 item_def_id = 1; + optional uint32 quantity = 2; + optional uint32 cost_in_local_currency = 3; + optional uint32 purchase_type = 4; + optional uint64 source_reference_id = 5; + optional int32 price_index = 6; } message CMsgGCStorePurchaseInit { - optional string country = 1; - optional int32 language = 2; - optional int32 currency = 3; - repeated .CGCStorePurchaseInit_LineItem line_items = 4; + optional string country = 1; + optional int32 language = 2; + optional int32 currency = 3; + repeated .CGCStorePurchaseInit_LineItem line_items = 4; } message CMsgGCStorePurchaseInitResponse { - optional int32 result = 1; - optional uint64 txn_id = 2; + optional int32 result = 1; + optional uint64 txn_id = 2; } message CMsgClientPingData { - repeated fixed32 relay_codes = 4 [packed = true]; - repeated uint32 relay_pings = 5 [packed = true]; - repeated uint32 region_codes = 8 [packed = true]; - repeated uint32 region_pings = 9 [packed = true]; - optional uint32 region_ping_failed_bitmask = 10; + repeated fixed32 relay_codes = 4 [packed = true]; + repeated uint32 relay_pings = 5 [packed = true]; + repeated uint32 region_codes = 8 [packed = true]; + repeated uint32 region_pings = 9 [packed = true]; + optional uint64 region_ping_failed_bitmask = 10; } message CMsgInviteToParty { - optional fixed64 steam_id = 1; - optional uint32 client_version = 2; - optional uint32 team_id = 3; - optional bool as_coach = 4; - optional .CMsgClientPingData ping_data = 5; + optional fixed64 steam_id = 1; + optional uint32 client_version = 2; + optional uint32 team_id = 3; + optional bool as_coach = 4; + optional .CMsgClientPingData ping_data = 5; } message CMsgInviteToLobby { - optional fixed64 steam_id = 1; - optional uint32 client_version = 2; + optional fixed64 steam_id = 1; + optional uint32 client_version = 2; } message CMsgInvitationCreated { - optional uint64 group_id = 1; - optional fixed64 steam_id = 2; - optional bool user_offline = 3; + optional uint64 group_id = 1; + optional fixed64 steam_id = 2; + optional bool user_offline = 3; } message CMsgPartyInviteResponse { - optional uint64 party_id = 1; - optional bool accept = 2; - optional uint32 client_version = 3; - optional .CMsgClientPingData ping_data = 8; + optional uint64 party_id = 1; + optional bool accept = 2; + optional uint32 client_version = 3; + optional .CMsgClientPingData ping_data = 8; } message CMsgLobbyInviteResponse { - optional fixed64 lobby_id = 1; - optional bool accept = 2; - optional uint32 client_version = 3; - optional fixed64 custom_game_crc = 6; - optional fixed32 custom_game_timestamp = 7; + optional fixed64 lobby_id = 1; + optional bool accept = 2; + optional uint32 client_version = 3; + optional fixed64 custom_game_crc = 6; + optional fixed32 custom_game_timestamp = 7; } message CMsgKickFromParty { - optional fixed64 steam_id = 1; + optional fixed64 steam_id = 1; } message CMsgLeaveParty { } message CMsgCustomGameInstallStatus { - optional .ECustomGameInstallStatus status = 1 [default = k_ECustomGameInstallStatus_Unknown]; - optional string message = 2; - optional fixed32 latest_timestamp_from_steam = 3; + optional .ECustomGameInstallStatus status = 1 [default = k_ECustomGameInstallStatus_Unknown]; + optional string message = 2; + optional fixed32 latest_timestamp_from_steam = 3; } message CMsgServerAvailable { - optional .CMsgCustomGameInstallStatus custom_game_install_status = 1; + optional .CMsgCustomGameInstallStatus custom_game_install_status = 1; } message CMsgLANServerAvailable { - optional fixed64 lobby_id = 1; + optional fixed64 lobby_id = 1; + optional fixed64 nonce = 2; } message CSOEconGameAccountClient { - optional uint32 additional_backpack_slots = 1 [default = 0]; - optional bool trial_account = 2 [default = false]; - optional bool eligible_for_online_play = 3 [default = true]; - optional bool need_to_choose_most_helpful_friend = 4; - optional bool in_coaches_list = 5; - optional fixed32 trade_ban_expiration = 6; - optional fixed32 duel_ban_expiration = 7; - optional bool made_first_purchase = 9 [default = false]; + optional uint32 additional_backpack_slots = 1 [default = 0]; + optional bool trial_account = 2 [default = false]; + optional bool eligible_for_online_play = 3 [default = true]; + optional bool need_to_choose_most_helpful_friend = 4; + optional bool in_coaches_list = 5; + optional fixed32 trade_ban_expiration = 6; + optional fixed32 duel_ban_expiration = 7; + optional bool made_first_purchase = 9 [default = false]; } message CMsgApplyStrangePart { - optional uint64 strange_part_item_id = 1; - optional uint64 item_item_id = 2; + optional uint64 strange_part_item_id = 1; + optional uint64 item_item_id = 2; } message CMsgApplyPennantUpgrade { - optional uint64 upgrade_item_id = 1; - optional uint64 pennant_item_id = 2; + optional uint64 upgrade_item_id = 1; + optional uint64 pennant_item_id = 2; } message CMsgApplyEggEssence { - optional uint64 essence_item_id = 1; - optional uint64 egg_item_id = 2; + optional uint64 essence_item_id = 1; + optional uint64 egg_item_id = 2; } message CSOEconItemAttribute { - optional uint32 def_index = 1 [default = 65535]; - optional uint32 value = 2; - optional bytes value_bytes = 3; + optional uint32 def_index = 1 [default = 65535]; + optional uint32 value = 2; + optional bytes value_bytes = 3; } message CSOEconItemEquipped { - optional uint32 new_class = 1; - optional uint32 new_slot = 2; + optional uint32 new_class = 1; + optional uint32 new_slot = 2; } message CSOEconItem { - optional uint64 id = 1; - optional uint32 account_id = 2; - optional uint32 inventory = 3; - optional uint32 def_index = 4; - optional uint32 quantity = 5 [default = 1]; - optional uint32 level = 6 [default = 1]; - optional uint32 quality = 7 [default = 4]; - optional uint32 flags = 8 [default = 0]; - optional uint32 origin = 9 [default = 0]; - repeated .CSOEconItemAttribute attribute = 12; - optional .CSOEconItem interior_item = 13; - optional uint32 style = 15 [default = 0]; - optional uint64 original_id = 16; - repeated .CSOEconItemEquipped equipped_state = 18; + optional uint64 id = 1; + optional uint32 account_id = 2; + optional uint32 inventory = 3; + optional uint32 def_index = 4; + optional uint32 quantity = 5 [default = 1]; + optional uint32 level = 6 [default = 1]; + optional uint32 quality = 7 [default = 4]; + optional uint32 flags = 8 [default = 0]; + optional uint32 origin = 9 [default = 0]; + repeated .CSOEconItemAttribute attribute = 12; + optional .CSOEconItem interior_item = 13; + optional uint32 style = 15 [default = 0]; + optional uint64 original_id = 16; + repeated .CSOEconItemEquipped equipped_state = 18; } message CMsgSortItems { - optional uint32 sort_type = 1; + optional uint32 sort_type = 1; } message CMsgItemAcknowledged { - optional uint32 account_id = 1; - optional uint32 inventory = 2; - optional uint32 def_index = 3; - optional uint32 quality = 4; - optional uint32 rarity = 5; - optional uint32 origin = 6; + optional uint32 account_id = 1; + optional uint32 inventory = 2; + optional uint32 def_index = 3; + optional uint32 quality = 4; + optional uint32 rarity = 5; + optional uint32 origin = 6; } message CMsgSetItemPositions { - message ItemPosition { - optional uint64 item_id = 1; - optional uint32 position = 2; - } + message ItemPosition { + optional uint64 item_id = 1; + optional uint32 position = 2; + } - repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; + repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; } message CMsgGCStorePurchaseCancel { - optional uint64 txn_id = 1; + optional uint64 txn_id = 1; } message CMsgGCStorePurchaseCancelResponse { - optional uint32 result = 1; + optional uint32 result = 1; } message CMsgGCStorePurchaseFinalize { - optional uint64 txn_id = 1; + optional uint64 txn_id = 1; } message CMsgGCStorePurchaseFinalizeResponse { - optional uint32 result = 1; - repeated uint64 item_ids = 2; + optional uint32 result = 1; + repeated uint64 item_ids = 2; } message CMsgGCToGCBannedWordListUpdated { - optional uint32 group_id = 1; + optional uint32 group_id = 1; } message CMsgGCToGCDirtySDOCache { - optional uint32 sdo_type = 1; - optional uint64 key_uint64 = 2; + optional uint32 sdo_type = 1; + optional uint64 key_uint64 = 2; } message CMsgSDONoMemcached { } message CMsgGCToGCUpdateSQLKeyValue { - optional string key_name = 1; + optional string key_name = 1; } message CMsgGCServerVersionUpdated { - optional uint32 server_version = 1; + optional uint32 server_version = 1; } message CMsgGCClientVersionUpdated { - optional uint32 client_version = 1; + optional uint32 client_version = 1; } message CMsgGCToGCWebAPIAccountChanged { } message CMsgExtractGems { - optional uint64 tool_item_id = 1; - optional uint64 item_item_id = 2; - optional uint32 item_socket_id = 3 [default = 65535]; + optional uint64 tool_item_id = 1; + optional uint64 item_item_id = 2; + optional uint32 item_socket_id = 3 [default = 65535]; } message CMsgExtractGemsResponse { - enum EExtractGems { - k_ExtractGems_Succeeded = 0; - k_ExtractGems_Failed_ToolIsInvalid = 1; - k_ExtractGems_Failed_ItemIsInvalid = 2; - k_ExtractGems_Failed_ToolCannotRemoveGem = 3; - k_ExtractGems_Failed_FailedToRemoveGem = 4; - } + enum EExtractGems { + k_ExtractGems_Succeeded = 0; + k_ExtractGems_Failed_ToolIsInvalid = 1; + k_ExtractGems_Failed_ItemIsInvalid = 2; + k_ExtractGems_Failed_ToolCannotRemoveGem = 3; + k_ExtractGems_Failed_FailedToRemoveGem = 4; + } - optional uint64 item_id = 1; - optional .CMsgExtractGemsResponse.EExtractGems response = 2 [default = k_ExtractGems_Succeeded]; + optional uint64 item_id = 1; + optional .CMsgExtractGemsResponse.EExtractGems response = 2 [default = k_ExtractGems_Succeeded]; } message CMsgAddSocket { - optional uint64 tool_item_id = 1; - optional uint64 item_item_id = 2; - optional bool unusual = 3; + optional uint64 tool_item_id = 1; + optional uint64 item_item_id = 2; + optional bool unusual = 3; } message CMsgAddSocketResponse { - enum EAddSocket { - k_AddSocket_Succeeded = 0; - k_AddSocket_Failed_ToolIsInvalid = 1; - k_AddSocket_Failed_ItemCannotBeSocketed = 2; - k_AddSocket_Failed_FailedToAddSocket = 3; - } + enum EAddSocket { + k_AddSocket_Succeeded = 0; + k_AddSocket_Failed_ToolIsInvalid = 1; + k_AddSocket_Failed_ItemCannotBeSocketed = 2; + k_AddSocket_Failed_FailedToAddSocket = 3; + } - optional uint64 item_id = 1; - repeated uint32 updated_socket_index = 2; - optional .CMsgAddSocketResponse.EAddSocket response = 3 [default = k_AddSocket_Succeeded]; + optional uint64 item_id = 1; + repeated uint32 updated_socket_index = 2; + optional .CMsgAddSocketResponse.EAddSocket response = 3 [default = k_AddSocket_Succeeded]; } message CMsgAddItemToSocketData { - optional uint64 gem_item_id = 1; - optional uint32 socket_index = 2 [default = 65535]; + optional uint64 gem_item_id = 1; + optional uint32 socket_index = 2 [default = 65535]; } message CMsgAddItemToSocket { - optional uint64 item_item_id = 1; - repeated .CMsgAddItemToSocketData gems_to_socket = 2; + optional uint64 item_item_id = 1; + repeated .CMsgAddItemToSocketData gems_to_socket = 2; } message CMsgAddItemToSocketResponse { - enum EAddGem { - k_AddGem_Succeeded = 0; - k_AddGem_Failed_GemIsInvalid = 1; - k_AddGem_Failed_ItemIsInvalid = 2; - k_AddGem_Failed_FailedToAddGem = 3; - k_AddGem_Failed_InvalidGemTypeForSocket = 4; - k_AddGem_Failed_InvalidGemTypeForHero = 5; - k_AddGem_Failed_InvalidGemTypeForSlot = 6; - k_AddGem_Failed_SocketContainsUnremovableGem = 7; - } - - optional uint64 item_item_id = 1; - repeated uint32 updated_socket_index = 2; - optional .CMsgAddItemToSocketResponse.EAddGem response = 3 [default = k_AddGem_Succeeded]; + enum EAddGem { + k_AddGem_Succeeded = 0; + k_AddGem_Failed_GemIsInvalid = 1; + k_AddGem_Failed_ItemIsInvalid = 2; + k_AddGem_Failed_FailedToAddGem = 3; + k_AddGem_Failed_InvalidGemTypeForSocket = 4; + k_AddGem_Failed_InvalidGemTypeForHero = 5; + k_AddGem_Failed_InvalidGemTypeForSlot = 6; + k_AddGem_Failed_SocketContainsUnremovableGem = 7; + } + + optional uint64 item_item_id = 1; + repeated uint32 updated_socket_index = 2; + optional .CMsgAddItemToSocketResponse.EAddGem response = 3 [default = k_AddGem_Succeeded]; } message CMsgResetStrangeGemCount { - optional uint64 item_item_id = 1; - optional uint32 socket_index = 2 [default = 65535]; + optional uint64 item_item_id = 1; + optional uint32 socket_index = 2 [default = 65535]; } message CMsgResetStrangeGemCountResponse { - enum EResetGem { - k_ResetGem_Succeeded = 0; - k_ResetGem_Failed_FailedToResetGem = 1; - k_ResetGem_Failed_ItemIsInvalid = 2; - k_ResetGem_Failed_InvalidSocketId = 3; - k_ResetGem_Failed_SocketCannotBeReset = 4; - } + enum EResetGem { + k_ResetGem_Succeeded = 0; + k_ResetGem_Failed_FailedToResetGem = 1; + k_ResetGem_Failed_ItemIsInvalid = 2; + k_ResetGem_Failed_InvalidSocketId = 3; + k_ResetGem_Failed_SocketCannotBeReset = 4; + } - optional .CMsgResetStrangeGemCountResponse.EResetGem response = 1 [default = k_ResetGem_Succeeded]; + optional .CMsgResetStrangeGemCountResponse.EResetGem response = 1 [default = k_ResetGem_Succeeded]; } message CMsgGCToClientPollFileRequest { - optional string file_name = 1; - optional uint32 client_version = 2; - optional uint32 poll_id = 3; + optional string file_name = 1; + optional uint32 client_version = 2; + optional uint32 poll_id = 3; } message CMsgGCToClientPollFileResponse { - optional uint32 poll_id = 1; - optional uint32 file_size = 2; - optional uint32 file_crc = 3; + optional uint32 poll_id = 1; + optional uint32 file_size = 2; + optional uint32 file_crc = 3; } message CMsgGCToGCPerformManualOp { - optional uint64 op_id = 1; - optional uint32 group_code = 2; + optional uint64 op_id = 1; + optional uint32 group_code = 2; } message CMsgGCToGCPerformManualOpCompleted { - optional bool success = 1; - optional int32 source_gc = 2 [default = -1]; + optional bool success = 1; + optional int32 source_gc = 2 [default = -1]; } message CMsgGCToGCReloadServerRegionSettings { } message CMsgGCAdditionalWelcomeMsgList { - repeated .CExtraMsgBlock welcome_messages = 1; + repeated .CExtraMsgBlock welcome_messages = 1; } message CMsgApplyRemoteConVars { - message ConVar { - optional string name = 1; - optional string value = 2; - optional uint32 version_min = 3; - optional uint32 version_max = 4; - optional .EGCPlatform platform = 5 [default = k_eGCPlatform_None]; - } + message ConVar { + optional string name = 1; + optional string value = 2; + optional uint32 version_min = 3; + optional uint32 version_max = 4; + optional .EGCPlatform platform = 5 [default = k_eGCPlatform_None]; + } - repeated .CMsgApplyRemoteConVars.ConVar con_vars = 1; + repeated .CMsgApplyRemoteConVars.ConVar con_vars = 1; } message CMsgGCToClientApplyRemoteConVars { - optional .CMsgApplyRemoteConVars msg = 1; + optional .CMsgApplyRemoteConVars msg = 1; } message CMsgGCToServerApplyRemoteConVars { - optional .CMsgApplyRemoteConVars msg = 1; + optional .CMsgApplyRemoteConVars msg = 1; } message CMsgClientToGCIntegrityStatus { - message keyvalue { - optional uint32 id = 1; - optional uint32 extended = 2; - optional uint64 value = 3; - optional string string_value = 4; - } + message keyvalue { + optional uint32 id = 1; + optional uint32 extended = 2; + optional uint64 value = 3; + optional string string_value = 4; + } - optional string report = 1; - optional bool secure_allowed = 2; - repeated .CMsgClientToGCIntegrityStatus.keyvalue diagnostics = 3; + optional string report = 1; + optional bool secure_allowed = 2; + repeated .CMsgClientToGCIntegrityStatus.keyvalue diagnostics = 3; } message CMsgClientToGCAggregateMetrics { - message SingleMetric { - optional string metric_name = 1; - optional uint32 metric_count = 2; - } + message SingleMetric { + optional string metric_name = 1; + optional uint32 metric_count = 2; + } - repeated .CMsgClientToGCAggregateMetrics.SingleMetric metrics = 1; + repeated .CMsgClientToGCAggregateMetrics.SingleMetric metrics = 1; } message CMsgGCToClientAggregateMetricsBackoff { - optional float upload_rate_modifier = 1; + optional float upload_rate_modifier = 1; } message CMsgGCToServerSteamLearnAccessTokensChanged { - optional .CMsgSteamLearnAccessTokens access_tokens = 1; + optional .CMsgSteamLearnAccessTokens access_tokens = 1; } message CMsgGCToServerSteamLearnUseHTTP { - optional bool use_http = 1; + optional bool use_http = 1; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_client_enums.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_client_enums.proto index db40eeff..03bc924b 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_client_enums.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_client_enums.proto @@ -6,93 +6,93 @@ option optimize_for = SPEED; option java_generic_services = false; enum ETournamentTemplate { - k_ETournamentTemplate_None = 0; - k_ETournamentTemplate_AutomatedWin3 = 1; + k_ETournamentTemplate_None = 0; + k_ETournamentTemplate_AutomatedWin3 = 1; } enum ETournamentGameState { - k_ETournamentGameState_Unknown = 0; - k_ETournamentGameState_Canceled = 1; - k_ETournamentGameState_Scheduled = 2; - k_ETournamentGameState_Active = 3; - k_ETournamentGameState_RadVictory = 20; - k_ETournamentGameState_DireVictory = 21; - k_ETournamentGameState_RadVictoryByForfeit = 22; - k_ETournamentGameState_DireVictoryByForfeit = 23; - k_ETournamentGameState_ServerFailure = 40; - k_ETournamentGameState_NotNeeded = 41; + k_ETournamentGameState_Unknown = 0; + k_ETournamentGameState_Canceled = 1; + k_ETournamentGameState_Scheduled = 2; + k_ETournamentGameState_Active = 3; + k_ETournamentGameState_RadVictory = 20; + k_ETournamentGameState_DireVictory = 21; + k_ETournamentGameState_RadVictoryByForfeit = 22; + k_ETournamentGameState_DireVictoryByForfeit = 23; + k_ETournamentGameState_ServerFailure = 40; + k_ETournamentGameState_NotNeeded = 41; } enum ETournamentTeamState { - k_ETournamentTeamState_Unknown = 0; - k_ETournamentTeamState_Node1 = 1; - k_ETournamentTeamState_NodeMax = 1024; - k_ETournamentTeamState_Eliminated = 14003; - k_ETournamentTeamState_Forfeited = 14004; - k_ETournamentTeamState_Finished1st = 15001; - k_ETournamentTeamState_Finished2nd = 15002; - k_ETournamentTeamState_Finished3rd = 15003; - k_ETournamentTeamState_Finished4th = 15004; - k_ETournamentTeamState_Finished5th = 15005; - k_ETournamentTeamState_Finished6th = 15006; - k_ETournamentTeamState_Finished7th = 15007; - k_ETournamentTeamState_Finished8th = 15008; - k_ETournamentTeamState_Finished9th = 15009; - k_ETournamentTeamState_Finished10th = 15010; - k_ETournamentTeamState_Finished11th = 15011; - k_ETournamentTeamState_Finished12th = 15012; - k_ETournamentTeamState_Finished13th = 15013; - k_ETournamentTeamState_Finished14th = 15014; - k_ETournamentTeamState_Finished15th = 15015; - k_ETournamentTeamState_Finished16th = 15016; + k_ETournamentTeamState_Unknown = 0; + k_ETournamentTeamState_Node1 = 1; + k_ETournamentTeamState_NodeMax = 1024; + k_ETournamentTeamState_Eliminated = 14003; + k_ETournamentTeamState_Forfeited = 14004; + k_ETournamentTeamState_Finished1st = 15001; + k_ETournamentTeamState_Finished2nd = 15002; + k_ETournamentTeamState_Finished3rd = 15003; + k_ETournamentTeamState_Finished4th = 15004; + k_ETournamentTeamState_Finished5th = 15005; + k_ETournamentTeamState_Finished6th = 15006; + k_ETournamentTeamState_Finished7th = 15007; + k_ETournamentTeamState_Finished8th = 15008; + k_ETournamentTeamState_Finished9th = 15009; + k_ETournamentTeamState_Finished10th = 15010; + k_ETournamentTeamState_Finished11th = 15011; + k_ETournamentTeamState_Finished12th = 15012; + k_ETournamentTeamState_Finished13th = 15013; + k_ETournamentTeamState_Finished14th = 15014; + k_ETournamentTeamState_Finished15th = 15015; + k_ETournamentTeamState_Finished16th = 15016; } enum ETournamentState { - k_ETournamentState_Unknown = 0; - k_ETournamentState_CanceledByAdmin = 1; - k_ETournamentState_Completed = 2; - k_ETournamentState_Merged = 3; - k_ETournamentState_ServerFailure = 4; - k_ETournamentState_TeamAbandoned = 5; - k_ETournamentState_TeamTimeoutForfeit = 6; - k_ETournamentState_TeamTimeoutRefund = 7; - k_ETournamentState_ServerFailureGrantedVictory = 8; - k_ETournamentState_TeamTimeoutGrantedVictory = 9; - k_ETournamentState_InProgress = 100; - k_ETournamentState_WaitingToMerge = 101; + k_ETournamentState_Unknown = 0; + k_ETournamentState_CanceledByAdmin = 1; + k_ETournamentState_Completed = 2; + k_ETournamentState_Merged = 3; + k_ETournamentState_ServerFailure = 4; + k_ETournamentState_TeamAbandoned = 5; + k_ETournamentState_TeamTimeoutForfeit = 6; + k_ETournamentState_TeamTimeoutRefund = 7; + k_ETournamentState_ServerFailureGrantedVictory = 8; + k_ETournamentState_TeamTimeoutGrantedVictory = 9; + k_ETournamentState_InProgress = 100; + k_ETournamentState_WaitingToMerge = 101; } enum ETournamentNodeState { - k_ETournamentNodeState_Unknown = 0; - k_ETournamentNodeState_Canceled = 1; - k_ETournamentNodeState_TeamsNotYetAssigned = 2; - k_ETournamentNodeState_InBetweenGames = 3; - k_ETournamentNodeState_GameInProgress = 4; - k_ETournamentNodeState_A_Won = 5; - k_ETournamentNodeState_B_Won = 6; - k_ETournamentNodeState_A_WonByForfeit = 7; - k_ETournamentNodeState_B_WonByForfeit = 8; - k_ETournamentNodeState_A_Bye = 9; - k_ETournamentNodeState_A_Abandoned = 10; - k_ETournamentNodeState_ServerFailure = 11; - k_ETournamentNodeState_A_TimeoutForfeit = 12; - k_ETournamentNodeState_A_TimeoutRefund = 13; + k_ETournamentNodeState_Unknown = 0; + k_ETournamentNodeState_Canceled = 1; + k_ETournamentNodeState_TeamsNotYetAssigned = 2; + k_ETournamentNodeState_InBetweenGames = 3; + k_ETournamentNodeState_GameInProgress = 4; + k_ETournamentNodeState_A_Won = 5; + k_ETournamentNodeState_B_Won = 6; + k_ETournamentNodeState_A_WonByForfeit = 7; + k_ETournamentNodeState_B_WonByForfeit = 8; + k_ETournamentNodeState_A_Bye = 9; + k_ETournamentNodeState_A_Abandoned = 10; + k_ETournamentNodeState_ServerFailure = 11; + k_ETournamentNodeState_A_TimeoutForfeit = 12; + k_ETournamentNodeState_A_TimeoutRefund = 13; } enum EDOTAGroupMergeResult { - k_EDOTAGroupMergeResult_OK = 0; - k_EDOTAGroupMergeResult_FAILED_GENERIC = 1; - k_EDOTAGroupMergeResult_NOT_LEADER = 2; - k_EDOTAGroupMergeResult_TOO_MANY_PLAYERS = 3; - k_EDOTAGroupMergeResult_TOO_MANY_COACHES = 4; - k_EDOTAGroupMergeResult_ENGINE_MISMATCH = 5; - k_EDOTAGroupMergeResult_NO_SUCH_GROUP = 6; - k_EDOTAGroupMergeResult_OTHER_GROUP_NOT_OPEN = 7; - k_EDOTAGroupMergeResult_ALREADY_INVITED = 8; - k_EDOTAGroupMergeResult_NOT_INVITED = 9; + k_EDOTAGroupMergeResult_OK = 0; + k_EDOTAGroupMergeResult_FAILED_GENERIC = 1; + k_EDOTAGroupMergeResult_NOT_LEADER = 2; + k_EDOTAGroupMergeResult_TOO_MANY_PLAYERS = 3; + k_EDOTAGroupMergeResult_TOO_MANY_COACHES = 4; + k_EDOTAGroupMergeResult_ENGINE_MISMATCH = 5; + k_EDOTAGroupMergeResult_NO_SUCH_GROUP = 6; + k_EDOTAGroupMergeResult_OTHER_GROUP_NOT_OPEN = 7; + k_EDOTAGroupMergeResult_ALREADY_INVITED = 8; + k_EDOTAGroupMergeResult_NOT_INVITED = 9; } enum EPartyBeaconType { - k_EPartyBeaconType_Available = 0; - k_EPartyBeaconType_Joinable = 1; + k_EPartyBeaconType_Available = 0; + k_EPartyBeaconType_Joinable = 1; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client.proto index 4aa2c61a..6d9fea8f 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; +import "in/dragonbra/javasteam/protobufs/dota2/event_gcmessages_common.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_webapi.proto"; @@ -8,6 +9,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_match_mana import "in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/econ_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -594,6 +596,15 @@ message CMsgGCLobbyUpdateBroadcastChannelInfo { optional string language_code = 4; } +message CMsgClaimEventActionData_ItemGift { + optional uint32 give_to_account_id = 1; + optional string gift_message = 2; +} + +message CMsgClaimEventActionData_ItemChoice { + optional uint32 grant_item_choice_item_def = 1; +} + message CMsgDOTAClaimEventActionData { message GrantItemGiftData { optional uint32 give_to_account_id = 1; @@ -1327,6 +1338,7 @@ message CMsgGCToClientQuestProgressUpdated { message CMsgDOTARedeemItem { optional uint64 currency_id = 1; optional uint32 purchase_def = 2; + optional bool claim_as_points = 3; } message CMsgDOTARedeemItemResponse { @@ -2392,16 +2404,6 @@ message CMsgGCToClientRecordContestVoteResponse { optional .CMsgGCToClientRecordContestVoteResponse.EResult eresult = 1 [default = SUCCESS]; } -message CMsgDevGrantEventPoints { - optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; - optional uint32 event_points = 2; - optional uint32 premium_points = 3; -} - -message CMsgDevGrantEventPointsResponse { - optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success]; -} - message CMsgDevGrantEventAction { optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; optional uint32 action_id = 2; @@ -2423,22 +2425,6 @@ message CMsgDevDeleteEventActionsResponse { optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success]; } -message CMsgDevResetEventState { - optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; - optional bool remove_audit = 2; -} - -message CMsgDevResetEventStateResponse { - optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success]; -} - -message CMsgDevReloadAllEvents { -} - -message CMsgDevReloadAllEventsResponse { - optional .EDevEventRequestResult result = 1 [default = k_EDevEventRequestResult_Success]; -} - message CMsgConsumeEventSupportGrantItem { optional uint64 item_id = 1; } @@ -2822,12 +2808,6 @@ message CMsgClientToGCRecalibrateMMRResponse { optional .CMsgClientToGCRecalibrateMMRResponse.EResponse result = 1 [default = k_eInternalError]; } -message CMsgDOTAPostGameItemAwardNotification { - optional uint32 receiver_account_id = 1; - repeated uint32 item_def_index = 2; - optional uint32 action_id = 3; -} - message CMsgClientToGCGetOWMatchDetails { } @@ -3407,11 +3387,11 @@ message CMsgClientToGCGetEventRankingResponse { optional float score = 3; optional float percentile = 4; optional uint32 final_rank_bucket = 5; + optional bool update_in_progress = 6; } message CMsgClientToGCGetEventCoupon { optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; - repeated uint32 coupon_ids = 2; } message CMsgClientToGCGetEventCouponResponse { diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_chat.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_chat.proto index 85734a85..accc86a3 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_chat.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_chat.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,242 +7,242 @@ option optimize_for = SPEED; option java_generic_services = false; message CMsgClientToGCPrivateChatInvite { - optional string private_chat_channel_name = 1; - optional uint32 invited_account_id = 2; + optional string private_chat_channel_name = 1; + optional uint32 invited_account_id = 2; } message CMsgClientToGCPrivateChatKick { - optional string private_chat_channel_name = 1; - optional uint32 kick_account_id = 2; + optional string private_chat_channel_name = 1; + optional uint32 kick_account_id = 2; } message CMsgClientToGCPrivateChatPromote { - optional string private_chat_channel_name = 1; - optional uint32 promote_account_id = 2; + optional string private_chat_channel_name = 1; + optional uint32 promote_account_id = 2; } message CMsgClientToGCPrivateChatDemote { - optional string private_chat_channel_name = 1; - optional uint32 demote_account_id = 2; + optional string private_chat_channel_name = 1; + optional uint32 demote_account_id = 2; } message CMsgGCToClientPrivateChatResponse { - enum Result { - SUCCESS = 0; - FAILURE_CREATION_LOCK = 1; - FAILURE_SQL_TRANSACTION = 2; - FAILURE_SDO_LOAD = 3; - FAILURE_NO_PERMISSION = 4; - FAILURE_ALREADY_MEMBER = 5; - FAILURE_NOT_A_MEMBER = 7; - FAILURE_NO_REMAINING_ADMINS = 8; - FAILURE_NO_ROOM = 9; - FAILURE_CREATION_RATE_LIMITED = 10; - FAILURE_UNKNOWN_CHANNEL_NAME = 11; - FAILURE_UNKNOWN_USER = 12; - FAILURE_UNKNOWN_ERROR = 13; - FAILURE_CANNOT_KICK_ADMIN = 14; - FAILURE_ALREADY_ADMIN = 15; - } - - optional string private_chat_channel_name = 1; - optional .CMsgGCToClientPrivateChatResponse.Result result = 2 [default = SUCCESS]; - optional string username = 3; + enum Result { + SUCCESS = 0; + FAILURE_CREATION_LOCK = 1; + FAILURE_SQL_TRANSACTION = 2; + FAILURE_SDO_LOAD = 3; + FAILURE_NO_PERMISSION = 4; + FAILURE_ALREADY_MEMBER = 5; + FAILURE_NOT_A_MEMBER = 7; + FAILURE_NO_REMAINING_ADMINS = 8; + FAILURE_NO_ROOM = 9; + FAILURE_CREATION_RATE_LIMITED = 10; + FAILURE_UNKNOWN_CHANNEL_NAME = 11; + FAILURE_UNKNOWN_USER = 12; + FAILURE_UNKNOWN_ERROR = 13; + FAILURE_CANNOT_KICK_ADMIN = 14; + FAILURE_ALREADY_ADMIN = 15; + } + + optional string private_chat_channel_name = 1; + optional .CMsgGCToClientPrivateChatResponse.Result result = 2 [default = SUCCESS]; + optional string username = 3; } message CMsgDOTAJoinChatChannel { - optional string channel_name = 2; - optional .DOTAChatChannelType_t channel_type = 4 [default = DOTAChannelType_Regional]; - optional bool silent_rejection = 5; + optional string channel_name = 2; + optional .DOTAChatChannelType_t channel_type = 4 [default = DOTAChannelType_Regional]; + optional bool silent_rejection = 5; } message CMsgDOTALeaveChatChannel { - optional uint64 channel_id = 1; + optional uint64 channel_id = 1; } message CMsgGCChatReportPublicSpam { - optional uint64 channel_id = 1; - optional uint32 channel_user_id = 2; + optional uint64 channel_id = 1; + optional uint32 channel_user_id = 2; } message CMsgDOTAChatModeratorBan { - optional uint64 channel_id = 1; - optional uint32 account_id = 2; - optional uint32 duration = 3; + optional uint64 channel_id = 1; + optional uint32 account_id = 2; + optional uint32 duration = 3; } message CMsgDOTAChatMessage { - message DiceRoll { - optional int32 roll_min = 1; - optional int32 roll_max = 2; - optional int32 result = 3; - } - - message TriviaAnswered { - optional uint32 question_id = 1; - optional uint32 answer_index = 2; - optional uint32 party_questions_correct = 3; - optional uint32 party_questions_viewed = 4; - optional uint32 party_trivia_points = 5; - } - - message PlayerDraftPick { - optional int32 player_id = 1 [default = -1]; - optional int32 team = 2; - } - - message ChatWheelMessage { - optional uint32 message_id = 1 [default = 4294967295]; - optional uint32 emoticon_id = 2; - optional string message_text = 3; - optional uint32 hero_badge_tier = 4; - } - - optional uint32 account_id = 1; - optional uint64 channel_id = 2; - optional string persona_name = 3; - optional string text = 4; - optional uint32 timestamp = 5; - optional uint32 suggest_invite_account_id = 6; - optional string suggest_invite_name = 7; - optional uint32 fantasy_draft_owner_account_id = 8; - optional uint32 fantasy_draft_player_account_id = 9; - optional uint32 event_id = 10; - optional bool suggest_invite_to_lobby = 11; - optional bool coin_flip = 13; - optional int32 player_id = 14 [default = -1]; - optional uint32 share_profile_account_id = 15; - optional uint32 channel_user_id = 16; - optional .CMsgDOTAChatMessage.DiceRoll dice_roll = 17; - optional uint64 share_party_id = 18; - optional uint64 share_lobby_id = 19; - optional uint64 share_lobby_custom_game_id = 20; - optional string share_lobby_passkey = 21; - optional uint32 private_chat_channel_id = 22; - optional uint32 status = 23; - optional bool legacy_battle_cup_victory = 24; - optional uint32 battle_cup_streak = 29; - optional uint32 badge_level = 25; - optional int32 suggest_pick_hero_id = 26; - optional string suggest_pick_hero_role = 27; - optional int32 suggest_ban_hero_id = 30; - optional .CMsgDOTAChatMessage.TriviaAnswered trivia_answer = 32; - optional int32 requested_ability_id = 33 [default = -1]; - optional uint32 chat_flags = 34; - optional bool started_finding_match = 35; - optional bool ctrl_is_down = 36; - optional uint32 favorite_team_id = 37; - optional uint32 favorite_team_quality = 38; - optional int32 suggest_player_draft_pick = 39 [default = -1]; - optional .CMsgDOTAChatMessage.PlayerDraftPick player_draft_pick = 40; - optional .CMsgDOTAChatMessage.ChatWheelMessage chat_wheel_message = 41; - optional uint32 event_level = 42; - optional uint32 suggest_pick_hero_facet = 43; - optional int32 requested_hero_id = 44; - optional uint64 requested_hero_facet_key = 45; + message DiceRoll { + optional int32 roll_min = 1; + optional int32 roll_max = 2; + optional int32 result = 3; + } + + message TriviaAnswered { + optional uint32 question_id = 1; + optional uint32 answer_index = 2; + optional uint32 party_questions_correct = 3; + optional uint32 party_questions_viewed = 4; + optional uint32 party_trivia_points = 5; + } + + message PlayerDraftPick { + optional int32 player_id = 1 [default = -1]; + optional int32 team = 2; + } + + message ChatWheelMessage { + optional uint32 message_id = 1 [default = 4294967295]; + optional uint32 emoticon_id = 2; + optional string message_text = 3; + optional uint32 hero_badge_tier = 4; + } + + optional uint32 account_id = 1; + optional uint64 channel_id = 2; + optional string persona_name = 3; + optional string text = 4; + optional uint32 timestamp = 5; + optional uint32 suggest_invite_account_id = 6; + optional string suggest_invite_name = 7; + optional uint32 fantasy_draft_owner_account_id = 8; + optional uint32 fantasy_draft_player_account_id = 9; + optional uint32 event_id = 10; + optional bool suggest_invite_to_lobby = 11; + optional bool coin_flip = 13; + optional int32 player_id = 14 [default = -1]; + optional uint32 share_profile_account_id = 15; + optional uint32 channel_user_id = 16; + optional .CMsgDOTAChatMessage.DiceRoll dice_roll = 17; + optional uint64 share_party_id = 18; + optional uint64 share_lobby_id = 19; + optional uint64 share_lobby_custom_game_id = 20; + optional string share_lobby_passkey = 21; + optional uint32 private_chat_channel_id = 22; + optional uint32 status = 23; + optional bool legacy_battle_cup_victory = 24; + optional uint32 battle_cup_streak = 29; + optional uint32 badge_level = 25; + optional int32 suggest_pick_hero_id = 26; + optional string suggest_pick_hero_role = 27; + optional int32 suggest_ban_hero_id = 30; + optional .CMsgDOTAChatMessage.TriviaAnswered trivia_answer = 32; + optional int32 requested_ability_id = 33 [default = -1]; + optional uint32 chat_flags = 34; + optional bool started_finding_match = 35; + optional bool ctrl_is_down = 36; + optional uint32 favorite_team_id = 37; + optional uint32 favorite_team_quality = 38; + optional int32 suggest_player_draft_pick = 39 [default = -1]; + optional .CMsgDOTAChatMessage.PlayerDraftPick player_draft_pick = 40; + optional .CMsgDOTAChatMessage.ChatWheelMessage chat_wheel_message = 41; + optional uint32 event_level = 42; + optional uint32 suggest_pick_hero_facet = 43; + optional int32 requested_hero_id = 44; + optional uint64 requested_hero_facet_key = 45; } message CMsgDOTAChatMember { - optional fixed64 steam_id = 1; - optional string persona_name = 2; - optional uint32 channel_user_id = 3; - optional uint32 status = 4; + optional fixed64 steam_id = 1; + optional string persona_name = 2; + optional uint32 channel_user_id = 3; + optional uint32 status = 4; } message CMsgDOTAJoinChatChannelResponse { - enum Result { - JOIN_SUCCESS = 0; - INVALID_CHANNEL_TYPE = 1; - ACCOUNT_NOT_FOUND = 2; - ACH_FAILED = 3; - USER_IN_TOO_MANY_CHANNELS = 4; - RATE_LIMIT_EXCEEDED = 5; - CHANNEL_FULL = 6; - CHANNEL_FULL_OVERFLOWED = 7; - FAILED_TO_ADD_USER = 8; - CHANNEL_TYPE_DISABLED = 9; - PRIVATE_CHAT_CREATE_FAILED = 10; - PRIVATE_CHAT_NO_PERMISSION = 11; - PRIVATE_CHAT_CREATE_LOCK_FAILED = 12; - PRIVATE_CHAT_KICKED = 13; - USER_NOT_ALLOWED = 14; - ENSURE_SPECIAL_PRIVILEGES_FAILED = 15; - NEW_PLAYER_USER_NOT_ELIGIBLE = 16; - SILENT_ERROR = 17; - NEW_PLAYER_USER_BANNED = 18; - } - - optional uint32 response = 1; - optional string channel_name = 2; - optional fixed64 channel_id = 3; - optional uint32 max_members = 4; - repeated .CMsgDOTAChatMember members = 5; - optional .DOTAChatChannelType_t channel_type = 6 [default = DOTAChannelType_Regional]; - optional .CMsgDOTAJoinChatChannelResponse.Result result = 7 [default = JOIN_SUCCESS]; - optional bool gc_initiated_join = 8; - optional uint32 channel_user_id = 9; - optional string welcome_message = 10; - optional .EChatSpecialPrivileges special_privileges = 11 [default = k_EChatSpecialPrivileges_None]; + enum Result { + JOIN_SUCCESS = 0; + INVALID_CHANNEL_TYPE = 1; + ACCOUNT_NOT_FOUND = 2; + ACH_FAILED = 3; + USER_IN_TOO_MANY_CHANNELS = 4; + RATE_LIMIT_EXCEEDED = 5; + CHANNEL_FULL = 6; + CHANNEL_FULL_OVERFLOWED = 7; + FAILED_TO_ADD_USER = 8; + CHANNEL_TYPE_DISABLED = 9; + PRIVATE_CHAT_CREATE_FAILED = 10; + PRIVATE_CHAT_NO_PERMISSION = 11; + PRIVATE_CHAT_CREATE_LOCK_FAILED = 12; + PRIVATE_CHAT_KICKED = 13; + USER_NOT_ALLOWED = 14; + ENSURE_SPECIAL_PRIVILEGES_FAILED = 15; + NEW_PLAYER_USER_NOT_ELIGIBLE = 16; + SILENT_ERROR = 17; + NEW_PLAYER_USER_BANNED = 18; + } + + optional uint32 response = 1; + optional string channel_name = 2; + optional fixed64 channel_id = 3; + optional uint32 max_members = 4; + repeated .CMsgDOTAChatMember members = 5; + optional .DOTAChatChannelType_t channel_type = 6 [default = DOTAChannelType_Regional]; + optional .CMsgDOTAJoinChatChannelResponse.Result result = 7 [default = JOIN_SUCCESS]; + optional bool gc_initiated_join = 8; + optional uint32 channel_user_id = 9; + optional string welcome_message = 10; + optional .EChatSpecialPrivileges special_privileges = 11 [default = k_EChatSpecialPrivileges_None]; } message CMsgDOTAOtherJoinedChatChannel { - optional fixed64 channel_id = 1; - optional string persona_name = 2; - optional fixed64 steam_id = 3; - optional uint32 channel_user_id = 4; - optional uint32 status = 5; + optional fixed64 channel_id = 1; + optional string persona_name = 2; + optional fixed64 steam_id = 3; + optional uint32 channel_user_id = 4; + optional uint32 status = 5; } message CMsgDOTAOtherLeftChatChannel { - optional fixed64 channel_id = 1; - optional fixed64 steam_id = 2; - optional uint32 channel_user_id = 3; + optional fixed64 channel_id = 1; + optional fixed64 steam_id = 2; + optional uint32 channel_user_id = 3; } message CMsgDOTARequestChatChannelList { } message CMsgDOTARequestChatChannelListResponse { - message ChatChannel { - optional string channel_name = 1; - optional uint32 num_members = 2; - optional .DOTAChatChannelType_t channel_type = 3 [default = DOTAChannelType_Regional]; - } + message ChatChannel { + optional string channel_name = 1; + optional uint32 num_members = 2; + optional .DOTAChatChannelType_t channel_type = 3 [default = DOTAChannelType_Regional]; + } - repeated .CMsgDOTARequestChatChannelListResponse.ChatChannel channels = 1; + repeated .CMsgDOTARequestChatChannelListResponse.ChatChannel channels = 1; } message CMsgDOTAChatGetUserListResponse { - message Member { - optional fixed64 steam_id = 1; - optional string persona_name = 2; - optional uint32 channel_user_id = 3; - optional uint32 status = 4; - } + message Member { + optional fixed64 steam_id = 1; + optional string persona_name = 2; + optional uint32 channel_user_id = 3; + optional uint32 status = 4; + } - optional fixed64 channel_id = 1; - repeated .CMsgDOTAChatGetUserListResponse.Member members = 2; + optional fixed64 channel_id = 1; + repeated .CMsgDOTAChatGetUserListResponse.Member members = 2; } message CMsgDOTAChatGetMemberCount { - optional string channel_name = 1; - optional .DOTAChatChannelType_t channel_type = 2 [default = DOTAChannelType_Regional]; + optional string channel_name = 1; + optional .DOTAChatChannelType_t channel_type = 2 [default = DOTAChannelType_Regional]; } message CMsgDOTAChatGetMemberCountResponse { - optional string channel_name = 1; - optional .DOTAChatChannelType_t channel_type = 2 [default = DOTAChannelType_Regional]; - optional uint32 member_count = 3; + optional string channel_name = 1; + optional .DOTAChatChannelType_t channel_type = 2 [default = DOTAChannelType_Regional]; + optional uint32 member_count = 3; } message CMsgDOTAChatRegionsEnabled { - message Region { - optional float min_latitude = 1; - optional float max_latitude = 2; - optional float min_longitude = 3; - optional float max_longitude = 4; - } - - optional bool enable_all_regions = 1; - repeated .CMsgDOTAChatRegionsEnabled.Region enabled_regions = 2; + message Region { + optional float min_latitude = 1; + optional float max_latitude = 2; + optional float min_longitude = 3; + optional float max_longitude = 4; + } + + optional bool enable_all_regions = 1; + repeated .CMsgDOTAChatRegionsEnabled.Region enabled_regions = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_coaching.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_coaching.proto index 0ee76fe0..43515a00 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_coaching.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_coaching.proto @@ -1,5 +1,6 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_lobby.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -7,375 +8,375 @@ option optimize_for = SPEED; option java_generic_services = false; enum ECoachTeammateRating { - k_ECoachTeammateRating_None = 0; - k_ECoachTeammateRating_Positive = 1; - k_ECoachTeammateRating_Negative = 2; - k_ECoachTeammateRating_Abusive = 3; + k_ECoachTeammateRating_None = 0; + k_ECoachTeammateRating_Positive = 1; + k_ECoachTeammateRating_Negative = 2; + k_ECoachTeammateRating_Abusive = 3; } enum EPrivateCoachingSessionState { - k_ePrivateCoachingSessionState_Invalid = 0; - k_ePrivateCoachingSessionState_SearchingForCoach = 1; - k_ePrivateCoachingSessionState_CoachAssigned = 2; - k_ePrivateCoachingSessionState_Finished = 3; - k_ePrivateCoachingSessionState_Expired = 4; - k_ePrivateCoachingSessionState_Abandoned = 5; + k_ePrivateCoachingSessionState_Invalid = 0; + k_ePrivateCoachingSessionState_SearchingForCoach = 1; + k_ePrivateCoachingSessionState_CoachAssigned = 2; + k_ePrivateCoachingSessionState_Finished = 3; + k_ePrivateCoachingSessionState_Expired = 4; + k_ePrivateCoachingSessionState_Abandoned = 5; } enum EPrivateCoachingSessionMemberFlag { - k_EPrivateCoachingSessionMemberFlag_Requester = 1; - k_EPrivateCoachingSessionMemberFlag_Coach = 2; - k_EPrivateCoachingSessionMemberFlag_LeftSession = 4; + k_EPrivateCoachingSessionMemberFlag_Requester = 1; + k_EPrivateCoachingSessionMemberFlag_Coach = 2; + k_EPrivateCoachingSessionMemberFlag_LeftSession = 4; } enum EPlayerCoachMatchFlag { - k_EPlayerCoachMatchFlag_EligibleForRewards = 1; - k_EPlayerCoachMatchFlag_PrivateCoach = 2; + k_EPlayerCoachMatchFlag_EligibleForRewards = 1; + k_EPlayerCoachMatchFlag_PrivateCoach = 2; } message CMsgPlayerCoachMatch { - optional uint64 match_id = 1; - optional .EMatchOutcome match_outcome = 2 [default = k_EMatchOutcome_Unknown]; - optional uint32 coached_team = 3; - optional fixed32 start_time = 4; - optional uint32 duration = 5; - repeated .ECoachTeammateRating teammate_ratings = 6; - optional uint32 coach_flags = 7; + optional uint64 match_id = 1; + optional .EMatchOutcome match_outcome = 2 [default = k_EMatchOutcome_Unknown]; + optional uint32 coached_team = 3; + optional fixed32 start_time = 4; + optional uint32 duration = 5; + repeated .ECoachTeammateRating teammate_ratings = 6; + optional uint32 coach_flags = 7; } message CMsgPrivateCoachingSessionMember { - optional uint32 account_id = 1; - optional uint32 member_flags = 2; - optional .ECoachTeammateRating member_session_rating = 3 [default = k_ECoachTeammateRating_None]; + optional uint32 account_id = 1; + optional uint32 member_flags = 2; + optional .ECoachTeammateRating member_session_rating = 3 [default = k_ECoachTeammateRating_None]; } message CMsgPrivateCoachingSession { - optional uint64 private_coaching_session_id = 1; - optional fixed32 requested_timestamp = 2; - optional uint32 requested_language = 3; - optional .EPrivateCoachingSessionState coaching_session_state = 4 [default = k_ePrivateCoachingSessionState_Invalid]; - repeated .CMsgPrivateCoachingSessionMember session_members = 5; - optional uint64 current_lobby_id = 6; - optional uint64 current_server_steam_id = 7; - optional fixed32 accepted_timestamp = 8; - optional fixed32 completed_timestamp = 9; + optional uint64 private_coaching_session_id = 1; + optional fixed32 requested_timestamp = 2; + optional uint32 requested_language = 3; + optional .EPrivateCoachingSessionState coaching_session_state = 4 [default = k_ePrivateCoachingSessionState_Invalid]; + repeated .CMsgPrivateCoachingSessionMember session_members = 5; + optional uint64 current_lobby_id = 6; + optional uint64 current_server_steam_id = 7; + optional fixed32 accepted_timestamp = 8; + optional fixed32 completed_timestamp = 9; } message CMsgPrivateCoachingSessionStatus { - optional uint32 requester_competitive_rank_tier = 1; - optional uint32 requester_games_played = 2; + optional uint32 requester_competitive_rank_tier = 1; + optional uint32 requester_games_played = 2; } message CMsgAvailablePrivateCoachingSession { - optional .CMsgPrivateCoachingSession coaching_session = 1; - optional .CMsgPrivateCoachingSessionStatus coaching_session_status = 2; + optional .CMsgPrivateCoachingSession coaching_session = 1; + optional .CMsgPrivateCoachingSessionStatus coaching_session_status = 2; } message CMsgAvailablePrivateCoachingSessionList { - repeated .CMsgAvailablePrivateCoachingSession available_coaching_sessions = 1; + repeated .CMsgAvailablePrivateCoachingSession available_coaching_sessions = 1; } message CMsgAvailablePrivateCoachingSessionSummary { - optional uint32 coaching_session_count = 1; + optional uint32 coaching_session_count = 1; } message CMsgClientToGCRequestPlayerCoachMatches { } message CMsgClientToGCRequestPlayerCoachMatchesResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + } - optional .CMsgClientToGCRequestPlayerCoachMatchesResponse.EResponse result = 1 [default = k_eInternalError]; - repeated .CMsgPlayerCoachMatch coach_matches = 2; + optional .CMsgClientToGCRequestPlayerCoachMatchesResponse.EResponse result = 1 [default = k_eInternalError]; + repeated .CMsgPlayerCoachMatch coach_matches = 2; } message CMsgClientToGCRequestPlayerCoachMatch { - optional uint64 match_id = 1; + optional uint64 match_id = 1; } message CMsgClientToGCRequestPlayerCoachMatchResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + } - optional .CMsgClientToGCRequestPlayerCoachMatchResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgPlayerCoachMatch coach_match = 2; + optional .CMsgClientToGCRequestPlayerCoachMatchResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgPlayerCoachMatch coach_match = 2; } message CMsgClientToGCSubmitCoachTeammateRating { - optional uint64 match_id = 1; - optional uint32 coach_account_id = 2; - optional .ECoachTeammateRating rating = 3 [default = k_ECoachTeammateRating_None]; - optional string reason = 4; + optional uint64 match_id = 1; + optional uint32 coach_account_id = 2; + optional .ECoachTeammateRating rating = 3 [default = k_ECoachTeammateRating_None]; + optional string reason = 4; } message CMsgClientToGCSubmitCoachTeammateRatingResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eInvalidInput = 4; - k_eAlreadySubmitted = 5; - k_eVotingFinished = 6; - k_ePlayerNotInMatch = 7; - k_eCoachNotInMatch = 8; - k_ePlayerNotOnCoachTeam = 9; - k_ePlayerInSamePartyAsCoach = 10; - k_eMatchNotEligible = 11; - } - - optional .CMsgClientToGCSubmitCoachTeammateRatingResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eInvalidInput = 4; + k_eAlreadySubmitted = 5; + k_eVotingFinished = 6; + k_ePlayerNotInMatch = 7; + k_eCoachNotInMatch = 8; + k_ePlayerNotOnCoachTeam = 9; + k_ePlayerInSamePartyAsCoach = 10; + k_eMatchNotEligible = 11; + } + + optional .CMsgClientToGCSubmitCoachTeammateRatingResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgGCToClientCoachTeammateRatingsChanged { - optional .CMsgPlayerCoachMatch coach_match = 1; + optional .CMsgPlayerCoachMatch coach_match = 1; } message CMsgClientToGCRequestPrivateCoachingSession { - optional uint32 language = 1; + optional uint32 language = 1; } message CMsgClientToGCRequestPrivateCoachingSessionResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eAlreadyInSession = 5; - k_eBehaviorScoreTooLow = 6; - k_eInvalidLobbyType = 7; - k_eLowPriorityPlayer = 8; - k_eLowPriorityLobby = 9; - k_eLowPriorityParty = 10; - k_eTextChatBan = 11; - k_eVoiceChatBan = 12; - k_eMatchBan = 13; - } - - optional .CMsgClientToGCRequestPrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgPrivateCoachingSession coaching_session = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eAlreadyInSession = 5; + k_eBehaviorScoreTooLow = 6; + k_eInvalidLobbyType = 7; + k_eLowPriorityPlayer = 8; + k_eLowPriorityLobby = 9; + k_eLowPriorityParty = 10; + k_eTextChatBan = 11; + k_eVoiceChatBan = 12; + k_eMatchBan = 13; + } + + optional .CMsgClientToGCRequestPrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgPrivateCoachingSession coaching_session = 2; } message CMsgClientToGCAcceptPrivateCoachingSession { - optional uint64 coaching_session_id = 1; + optional uint64 coaching_session_id = 1; } message CMsgClientToGCAcceptPrivateCoachingSessionResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eUnknownSession = 5; - k_eAlreadyHasCoach = 6; - k_eAlreadyHasSession = 7; - k_eInvalidUser = 8; - k_eAlreadyFinished = 9; - k_eInvalidLobbyType = 10; - k_eAlreadyInLobby = 11; - k_eLobbyIsLan = 12; - k_eLobbyIsLeague = 13; - k_eInvalidLobbyState = 14; - k_eRequesterIsNotPlayer = 15; - k_eTooManyCoaches = 16; - k_eCoachWasPlayer = 17; - k_eCoachBehaviorScoreTooLow = 18; - k_eCoachRankNotCalibrated = 19; - k_eCoachRankNotEligible = 20; - k_eCoachRankTooLow = 21; - } - - optional .CMsgClientToGCAcceptPrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgPrivateCoachingSession coaching_session = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eUnknownSession = 5; + k_eAlreadyHasCoach = 6; + k_eAlreadyHasSession = 7; + k_eInvalidUser = 8; + k_eAlreadyFinished = 9; + k_eInvalidLobbyType = 10; + k_eAlreadyInLobby = 11; + k_eLobbyIsLan = 12; + k_eLobbyIsLeague = 13; + k_eInvalidLobbyState = 14; + k_eRequesterIsNotPlayer = 15; + k_eTooManyCoaches = 16; + k_eCoachWasPlayer = 17; + k_eCoachBehaviorScoreTooLow = 18; + k_eCoachRankNotCalibrated = 19; + k_eCoachRankNotEligible = 20; + k_eCoachRankTooLow = 21; + } + + optional .CMsgClientToGCAcceptPrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgPrivateCoachingSession coaching_session = 2; } message CMsgClientToGCLeavePrivateCoachingSession { } message CMsgClientToGCLeavePrivateCoachingSessionResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eNoSession = 5; - k_eAlreadyLeft = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNoSession = 5; + k_eAlreadyLeft = 6; + } - optional .CMsgClientToGCLeavePrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgClientToGCLeavePrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCGetCurrentPrivateCoachingSession { } message CMsgClientToGCGetCurrentPrivateCoachingSessionResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + } - optional .CMsgClientToGCGetCurrentPrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgPrivateCoachingSession current_session = 2; + optional .CMsgClientToGCGetCurrentPrivateCoachingSessionResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgPrivateCoachingSession current_session = 2; } message CMsgGCToClientPrivateCoachingSessionUpdated { - optional .CMsgPrivateCoachingSession coaching_session = 1; + optional .CMsgPrivateCoachingSession coaching_session = 1; } message CMsgClientToGCSubmitPrivateCoachingSessionRating { - optional uint64 coaching_session_id = 1; - optional .ECoachTeammateRating session_rating = 2 [default = k_ECoachTeammateRating_None]; + optional uint64 coaching_session_id = 1; + optional .ECoachTeammateRating session_rating = 2 [default = k_ECoachTeammateRating_None]; } message CMsgClientToGCSubmitPrivateCoachingSessionRatingResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eUnknownSession = 5; - k_eNotMember = 6; - k_eAlreadySubmitted = 7; - k_eSessionActive = 8; - k_eSessionTooShort = 9; - k_eNoCoach = 10; - k_eInvalidRating = 11; - } - - optional .CMsgClientToGCSubmitPrivateCoachingSessionRatingResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eUnknownSession = 5; + k_eNotMember = 6; + k_eAlreadySubmitted = 7; + k_eSessionActive = 8; + k_eSessionTooShort = 9; + k_eNoCoach = 10; + k_eInvalidRating = 11; + } + + optional .CMsgClientToGCSubmitPrivateCoachingSessionRatingResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCGetAvailablePrivateCoachingSessions { - optional uint32 language = 1; + optional uint32 language = 1; } message CMsgClientToGCGetAvailablePrivateCoachingSessionsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + } - optional .CMsgClientToGCGetAvailablePrivateCoachingSessionsResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgAvailablePrivateCoachingSessionList available_sessions_list = 2; + optional .CMsgClientToGCGetAvailablePrivateCoachingSessionsResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgAvailablePrivateCoachingSessionList available_sessions_list = 2; } message CMsgClientToGCGetAvailablePrivateCoachingSessionsSummary { } message CMsgClientToGCGetAvailablePrivateCoachingSessionsSummaryResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + } - optional .CMsgClientToGCGetAvailablePrivateCoachingSessionsSummaryResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgAvailablePrivateCoachingSessionSummary coaching_session_summary = 2; + optional .CMsgClientToGCGetAvailablePrivateCoachingSessionsSummaryResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgAvailablePrivateCoachingSessionSummary coaching_session_summary = 2; } message CMsgClientToGCJoinPrivateCoachingSessionLobby { } message CMsgClientToGCJoinPrivateCoachingSessionLobbyResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eNoSession = 5; - k_eSessionFinished = 6; - k_eAlreadyLeft = 7; - k_eNotACoach = 8; - k_eNoLobby = 9; - k_eCoachInThisLobby = 10; - k_eCoachInALobby = 11; - k_eLobbyIsLan = 12; - k_eLobbyIsLeague = 13; - k_eInvalidLobbyType = 14; - k_eInvalidLobbyState = 15; - k_eRequesterIsNotPlayer = 16; - k_eTooManyCoaches = 17; - k_eCoachWasPlayer = 18; - k_eJoinFailed = 19; - } - - optional .CMsgClientToGCJoinPrivateCoachingSessionLobbyResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNoSession = 5; + k_eSessionFinished = 6; + k_eAlreadyLeft = 7; + k_eNotACoach = 8; + k_eNoLobby = 9; + k_eCoachInThisLobby = 10; + k_eCoachInALobby = 11; + k_eLobbyIsLan = 12; + k_eLobbyIsLeague = 13; + k_eInvalidLobbyType = 14; + k_eInvalidLobbyState = 15; + k_eRequesterIsNotPlayer = 16; + k_eTooManyCoaches = 17; + k_eCoachWasPlayer = 18; + k_eJoinFailed = 19; + } + + optional .CMsgClientToGCJoinPrivateCoachingSessionLobbyResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCCoachFriend { - optional uint32 target_account_id = 1; + optional uint32 target_account_id = 1; } message CMsgClientToGCCoachFriendResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eCoachNotSubscriber = 5; - k_eLobbyNotFound = 6; - k_eFriendsOnBothSides = 7; - k_eNotFriends = 8; - k_eCoachInThisLobby = 9; - k_eCoachInALobby = 10; - k_eLobbyIsLan = 11; - k_eInvalidLobbyType = 12; - k_eInvalidLobbyState = 13; - k_eFriendIsNotAPlayer = 14; - k_eTooManyCoaches = 15; - k_eCoachSwitchedTeams = 16; - k_eLobbyIsLeague = 17; - k_eCoachWasPlayer = 18; - k_eRequestRejected = 19; - } - - optional .CMsgClientToGCCoachFriendResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eCoachNotSubscriber = 5; + k_eLobbyNotFound = 6; + k_eFriendsOnBothSides = 7; + k_eNotFriends = 8; + k_eCoachInThisLobby = 9; + k_eCoachInALobby = 10; + k_eLobbyIsLan = 11; + k_eInvalidLobbyType = 12; + k_eInvalidLobbyState = 13; + k_eFriendIsNotAPlayer = 14; + k_eTooManyCoaches = 15; + k_eCoachSwitchedTeams = 16; + k_eLobbyIsLeague = 17; + k_eCoachWasPlayer = 18; + k_eRequestRejected = 19; + } + + optional .CMsgClientToGCCoachFriendResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCRespondToCoachFriendRequest { - optional uint32 coach_account_id = 1; - optional .ELobbyMemberCoachRequestState response = 2 [default = k_eLobbyMemberCoachRequestState_None]; + optional uint32 coach_account_id = 1; + optional .ELobbyMemberCoachRequestState response = 2 [default = k_eLobbyMemberCoachRequestState_None]; } message CMsgClientToGCRespondToCoachFriendRequestResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eLobbyNotFound = 5; - k_eInvalidLobbyState = 6; - k_eCoachNotInLobby = 7; - k_ePlayerInvalidTeam = 8; - k_eCoachInvalidTeam = 9; - k_eNoRequest = 10; - k_eInvalidResponse = 11; - k_eAlreadyResponded = 12; - } - - optional .CMsgClientToGCRespondToCoachFriendRequestResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eLobbyNotFound = 5; + k_eInvalidLobbyState = 6; + k_eCoachNotInLobby = 7; + k_ePlayerInvalidTeam = 8; + k_eCoachInvalidTeam = 9; + k_eNoRequest = 10; + k_eInvalidResponse = 11; + k_eAlreadyResponded = 12; + } + + optional .CMsgClientToGCRespondToCoachFriendRequestResponse.EResponse result = 1 [default = k_eInternalError]; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_craftworks.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_craftworks.proto index ede4392d..104534ce 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_craftworks.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_craftworks.proto @@ -8,6 +8,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/econ_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client.proto"; import "in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_craftworks.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -15,78 +16,78 @@ option optimize_for = SPEED; option java_generic_services = false; message CMsgCraftworksUserData { - optional .CMsgCraftworksComponents component_inventory = 1; + optional .CMsgCraftworksComponents component_inventory = 1; } message CMsgClientToGCCraftworksGetUserData { - optional uint32 craftworks_id = 1; + optional uint32 craftworks_id = 1; } message CMsgClientToGCCraftworksGetUserDataResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidCraftworks = 5; - k_eExpiredCraftworks = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidCraftworks = 5; + k_eExpiredCraftworks = 6; + } - optional .CMsgClientToGCCraftworksGetUserDataResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgCraftworksUserData user_data = 2; + optional .CMsgClientToGCCraftworksGetUserDataResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgCraftworksUserData user_data = 2; } message CMsgGCToClientCraftworksUserDataUpdated { - optional uint32 craftworks_id = 1; - optional .CMsgCraftworksUserData user_data = 2; + optional uint32 craftworks_id = 1; + optional .CMsgCraftworksUserData user_data = 2; } message CMsgClientToGCCraftworksCraftRecipe { - optional uint32 craftworks_id = 1; - optional uint64 recipe_id = 2; + optional uint32 craftworks_id = 1; + optional uint64 recipe_id = 2; } message CMsgClientToGCCraftworksCraftRecipeResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidCraftworks = 5; - k_eExpiredCraftworks = 6; - k_eNotEnoughComponents = 7; - k_eInvalidRecipe = 8; - k_eRecipeTierLocked = 9; - k_eAlreadyCraftedMaxAmount = 10; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidCraftworks = 5; + k_eExpiredCraftworks = 6; + k_eNotEnoughComponents = 7; + k_eInvalidRecipe = 8; + k_eRecipeTierLocked = 9; + k_eAlreadyCraftedMaxAmount = 10; + } - optional .CMsgClientToGCCraftworksCraftRecipeResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDOTAClaimEventActionResponse claim_response = 2; + optional .CMsgClientToGCCraftworksCraftRecipeResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDOTAClaimEventActionResponse claim_response = 2; } message CMsgClientToGCCraftworksDevModifyComponents { - enum EOperation { - k_eAddComponents = 1; - k_eSubtractComponents = 2; - } + enum EOperation { + k_eAddComponents = 1; + k_eSubtractComponents = 2; + } - optional uint32 craftworks_id = 1; - optional .CMsgCraftworksComponents components = 2; - optional .CMsgClientToGCCraftworksDevModifyComponents.EOperation operation = 3 [default = k_eAddComponents]; + optional uint32 craftworks_id = 1; + optional .CMsgCraftworksComponents components = 2; + optional .CMsgClientToGCCraftworksDevModifyComponents.EOperation operation = 3 [default = k_eAddComponents]; } message CMsgClientToGCCraftworksDevModifyComponentsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidCraftworks = 5; - k_eNotAllowed = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidCraftworks = 5; + k_eNotAllowed = 6; + } - optional .CMsgClientToGCCraftworksDevModifyComponentsResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgClientToGCCraftworksDevModifyComponentsResponse.EResponse response = 1 [default = k_eInternalError]; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_fantasy.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_fantasy.proto index 30c7cc10..24c374f9 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_fantasy.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_fantasy.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,569 +7,624 @@ option optimize_for = SPEED; option java_generic_services = false; enum DOTA_2013PassportSelectionIndices { - PP13_SEL_ALLSTAR_PLAYER_0 = 0; - PP13_SEL_ALLSTAR_PLAYER_1 = 1; - PP13_SEL_ALLSTAR_PLAYER_2 = 2; - PP13_SEL_ALLSTAR_PLAYER_3 = 3; - PP13_SEL_ALLSTAR_PLAYER_4 = 4; - PP13_SEL_ALLSTAR_PLAYER_5 = 5; - PP13_SEL_ALLSTAR_PLAYER_6 = 6; - PP13_SEL_ALLSTAR_PLAYER_7 = 7; - PP13_SEL_ALLSTAR_PLAYER_8 = 8; - PP13_SEL_ALLSTAR_PLAYER_9 = 9; - PP13_SEL_QUALPRED_WEST_0 = 10; - PP13_SEL_QUALPRED_WEST_1 = 11; - PP13_SEL_QUALPRED_WEST_2 = 12; - PP13_SEL_QUALPRED_WEST_3 = 13; - PP13_SEL_QUALPRED_WEST_4 = 14; - PP13_SEL_QUALPRED_WEST_5 = 15; - PP13_SEL_QUALPRED_WEST_6 = 16; - PP13_SEL_QUALPRED_WEST_7 = 17; - PP13_SEL_QUALPRED_WEST_8 = 18; - PP13_SEL_QUALPRED_WEST_9 = 19; - PP13_SEL_QUALPRED_WEST_10 = 20; - PP13_SEL_QUALPRED_WEST_11 = 21; - PP13_SEL_QUALPRED_WEST_12 = 22; - PP13_SEL_QUALPRED_WEST_13 = 23; - PP13_SEL_QUALPRED_WEST_14 = 24; - PP13_SEL_QUALPRED_EAST_0 = 25; - PP13_SEL_QUALPRED_EAST_1 = 26; - PP13_SEL_QUALPRED_EAST_2 = 27; - PP13_SEL_QUALPRED_EAST_3 = 28; - PP13_SEL_QUALPRED_EAST_4 = 29; - PP13_SEL_QUALPRED_EAST_5 = 30; - PP13_SEL_QUALPRED_EAST_6 = 31; - PP13_SEL_QUALPRED_EAST_7 = 32; - PP13_SEL_QUALPRED_EAST_8 = 33; - PP13_SEL_QUALPRED_EAST_9 = 34; - PP13_SEL_QUALPRED_EAST_10 = 35; - PP13_SEL_QUALPRED_EAST_11 = 36; - PP13_SEL_QUALPRED_EAST_12 = 37; - PP13_SEL_QUALPRED_EAST_13 = 38; - PP13_SEL_QUALPRED_EAST_14 = 39; - PP13_SEL_TEAMCUP_TEAM = 40; - PP13_SEL_TEAMCUP_PLAYER = 41; - PP13_SEL_TEAMCUP_TEAM_LOCK = 42; - PP13_SEL_TEAMCUP_PLAYER_LOCK = 43; - PP13_SEL_EVENTPRED_0 = 44; - PP13_SEL_EVENTPRED_1 = 45; - PP13_SEL_EVENTPRED_2 = 46; - PP13_SEL_EVENTPRED_3 = 47; - PP13_SEL_EVENTPRED_4 = 48; - PP13_SEL_EVENTPRED_5 = 49; - PP13_SEL_EVENTPRED_6 = 50; - PP13_SEL_EVENTPRED_7 = 51; - PP13_SEL_EVENTPRED_8 = 52; - PP13_SEL_EVENTPRED_9 = 53; - PP13_SEL_EVENTPRED_10 = 54; - PP13_SEL_EVENTPRED_11 = 55; - PP13_SEL_EVENTPRED_12 = 56; - PP13_SEL_EVENTPRED_13 = 57; - PP13_SEL_EVENTPRED_14 = 58; - PP13_SEL_EVENTPRED_15 = 59; - PP13_SEL_EVENTPRED_16 = 60; - PP13_SEL_EVENTPRED_17 = 61; - PP13_SEL_EVENTPRED_18 = 62; - PP13_SEL_EVENTPRED_19 = 63; - PP13_SEL_EVENTPRED_20 = 64; - PP13_SEL_EVENTPRED_21 = 65; - PP13_SEL_EVENTPRED_22 = 66; - PP13_SEL_EVENTPRED_23 = 67; - PP13_SEL_EVENTPRED_24 = 68; - PP13_SEL_EVENTPRED_25 = 69; - PP13_SEL_EVENTPRED_26 = 70; - PP13_SEL_EVENTPRED_27 = 71; - PP13_SEL_EVENTPRED_28 = 72; - PP13_SEL_EVENTPRED_29 = 73; - PP13_SEL_EVENTPRED_30 = 74; - PP13_SEL_EVENTPRED_31 = 75; - PP13_SEL_EVENTPRED_32 = 76; - PP13_SEL_EVENTPRED_33 = 77; - PP13_SEL_EVENTPRED_34 = 78; - PP13_SEL_EVENTPRED_35 = 79; - PP13_SEL_EVENTPRED_36 = 80; - PP13_SEL_EVENTPRED_37 = 81; - PP13_SEL_EVENTPRED_38 = 82; - PP13_SEL_EVENTPRED_39 = 83; - PP13_SEL_EVENTPRED_40 = 84; - PP13_SEL_EVENTPRED_41 = 85; - PP13_SEL_EVENTPRED_42 = 86; - PP13_SEL_EVENTPRED_43 = 87; - PP13_SEL_SOLO_0 = 88; - PP13_SEL_SOLO_1 = 89; - PP13_SEL_SOLO_2 = 90; - PP13_SEL_SOLO_3 = 91; - PP13_SEL_SOLO_4 = 92; - PP13_SEL_SOLO_5 = 93; - PP13_SEL_SOLO_6 = 94; - PP13_SEL_SOLO_7 = 95; + PP13_SEL_ALLSTAR_PLAYER_0 = 0; + PP13_SEL_ALLSTAR_PLAYER_1 = 1; + PP13_SEL_ALLSTAR_PLAYER_2 = 2; + PP13_SEL_ALLSTAR_PLAYER_3 = 3; + PP13_SEL_ALLSTAR_PLAYER_4 = 4; + PP13_SEL_ALLSTAR_PLAYER_5 = 5; + PP13_SEL_ALLSTAR_PLAYER_6 = 6; + PP13_SEL_ALLSTAR_PLAYER_7 = 7; + PP13_SEL_ALLSTAR_PLAYER_8 = 8; + PP13_SEL_ALLSTAR_PLAYER_9 = 9; + PP13_SEL_QUALPRED_WEST_0 = 10; + PP13_SEL_QUALPRED_WEST_1 = 11; + PP13_SEL_QUALPRED_WEST_2 = 12; + PP13_SEL_QUALPRED_WEST_3 = 13; + PP13_SEL_QUALPRED_WEST_4 = 14; + PP13_SEL_QUALPRED_WEST_5 = 15; + PP13_SEL_QUALPRED_WEST_6 = 16; + PP13_SEL_QUALPRED_WEST_7 = 17; + PP13_SEL_QUALPRED_WEST_8 = 18; + PP13_SEL_QUALPRED_WEST_9 = 19; + PP13_SEL_QUALPRED_WEST_10 = 20; + PP13_SEL_QUALPRED_WEST_11 = 21; + PP13_SEL_QUALPRED_WEST_12 = 22; + PP13_SEL_QUALPRED_WEST_13 = 23; + PP13_SEL_QUALPRED_WEST_14 = 24; + PP13_SEL_QUALPRED_EAST_0 = 25; + PP13_SEL_QUALPRED_EAST_1 = 26; + PP13_SEL_QUALPRED_EAST_2 = 27; + PP13_SEL_QUALPRED_EAST_3 = 28; + PP13_SEL_QUALPRED_EAST_4 = 29; + PP13_SEL_QUALPRED_EAST_5 = 30; + PP13_SEL_QUALPRED_EAST_6 = 31; + PP13_SEL_QUALPRED_EAST_7 = 32; + PP13_SEL_QUALPRED_EAST_8 = 33; + PP13_SEL_QUALPRED_EAST_9 = 34; + PP13_SEL_QUALPRED_EAST_10 = 35; + PP13_SEL_QUALPRED_EAST_11 = 36; + PP13_SEL_QUALPRED_EAST_12 = 37; + PP13_SEL_QUALPRED_EAST_13 = 38; + PP13_SEL_QUALPRED_EAST_14 = 39; + PP13_SEL_TEAMCUP_TEAM = 40; + PP13_SEL_TEAMCUP_PLAYER = 41; + PP13_SEL_TEAMCUP_TEAM_LOCK = 42; + PP13_SEL_TEAMCUP_PLAYER_LOCK = 43; + PP13_SEL_EVENTPRED_0 = 44; + PP13_SEL_EVENTPRED_1 = 45; + PP13_SEL_EVENTPRED_2 = 46; + PP13_SEL_EVENTPRED_3 = 47; + PP13_SEL_EVENTPRED_4 = 48; + PP13_SEL_EVENTPRED_5 = 49; + PP13_SEL_EVENTPRED_6 = 50; + PP13_SEL_EVENTPRED_7 = 51; + PP13_SEL_EVENTPRED_8 = 52; + PP13_SEL_EVENTPRED_9 = 53; + PP13_SEL_EVENTPRED_10 = 54; + PP13_SEL_EVENTPRED_11 = 55; + PP13_SEL_EVENTPRED_12 = 56; + PP13_SEL_EVENTPRED_13 = 57; + PP13_SEL_EVENTPRED_14 = 58; + PP13_SEL_EVENTPRED_15 = 59; + PP13_SEL_EVENTPRED_16 = 60; + PP13_SEL_EVENTPRED_17 = 61; + PP13_SEL_EVENTPRED_18 = 62; + PP13_SEL_EVENTPRED_19 = 63; + PP13_SEL_EVENTPRED_20 = 64; + PP13_SEL_EVENTPRED_21 = 65; + PP13_SEL_EVENTPRED_22 = 66; + PP13_SEL_EVENTPRED_23 = 67; + PP13_SEL_EVENTPRED_24 = 68; + PP13_SEL_EVENTPRED_25 = 69; + PP13_SEL_EVENTPRED_26 = 70; + PP13_SEL_EVENTPRED_27 = 71; + PP13_SEL_EVENTPRED_28 = 72; + PP13_SEL_EVENTPRED_29 = 73; + PP13_SEL_EVENTPRED_30 = 74; + PP13_SEL_EVENTPRED_31 = 75; + PP13_SEL_EVENTPRED_32 = 76; + PP13_SEL_EVENTPRED_33 = 77; + PP13_SEL_EVENTPRED_34 = 78; + PP13_SEL_EVENTPRED_35 = 79; + PP13_SEL_EVENTPRED_36 = 80; + PP13_SEL_EVENTPRED_37 = 81; + PP13_SEL_EVENTPRED_38 = 82; + PP13_SEL_EVENTPRED_39 = 83; + PP13_SEL_EVENTPRED_40 = 84; + PP13_SEL_EVENTPRED_41 = 85; + PP13_SEL_EVENTPRED_42 = 86; + PP13_SEL_EVENTPRED_43 = 87; + PP13_SEL_SOLO_0 = 88; + PP13_SEL_SOLO_1 = 89; + PP13_SEL_SOLO_2 = 90; + PP13_SEL_SOLO_3 = 91; + PP13_SEL_SOLO_4 = 92; + PP13_SEL_SOLO_5 = 93; + PP13_SEL_SOLO_6 = 94; + PP13_SEL_SOLO_7 = 95; } message CMsgDOTAPlayerInfo { - message Results { - optional uint32 league_id = 1; - optional uint32 placement = 2; - optional uint32 earnings = 3; - } - - message AuditEntry { - optional uint32 start_timestamp = 1; - optional uint32 end_timestamp = 2; - optional uint32 team_id = 3; - optional string team_name = 4; - optional string team_tag = 5; - optional string team_url_logo = 6; - } - - message ProRegistration { - optional uint32 registration_period = 1; - optional uint32 timestamp = 2; - } - - optional uint32 account_id = 1; - optional string name = 2; - optional string country_code = 3; - optional .Fantasy_Roles fantasy_role = 4 [default = FANTASY_ROLE_UNDEFINED]; - optional uint32 team_id = 5; - optional string team_name = 6; - optional string team_tag = 7; - optional string sponsor = 8; - optional string real_name = 11; - optional uint32 total_earnings = 13; - repeated .CMsgDOTAPlayerInfo.Results results = 14; - optional string team_url_logo = 15; - repeated .CMsgDOTAPlayerInfo.AuditEntry audit_entries = 16; - optional string team_abbreviation = 17; - repeated .CMsgDOTAPlayerInfo.ProRegistration pro_registration = 18; - optional bool has_played_in_international = 19; + message Results { + optional uint32 league_id = 1; + optional uint32 placement = 2; + optional uint32 earnings = 3; + } + + message AuditEntry { + optional uint32 start_timestamp = 1; + optional uint32 end_timestamp = 2; + optional uint32 team_id = 3; + optional string team_name = 4; + optional string team_tag = 5; + optional string team_url_logo = 6; + } + + message ProRegistration { + optional uint32 registration_period = 1; + optional uint32 timestamp = 2; + } + + optional uint32 account_id = 1; + optional string name = 2; + optional string country_code = 3; + optional .Fantasy_Roles fantasy_role = 4 [default = FANTASY_ROLE_UNDEFINED]; + optional uint32 team_id = 5; + optional string team_name = 6; + optional string team_tag = 7; + optional string sponsor = 8; + optional string real_name = 11; + optional uint32 total_earnings = 13; + repeated .CMsgDOTAPlayerInfo.Results results = 14; + optional string team_url_logo = 15; + repeated .CMsgDOTAPlayerInfo.AuditEntry audit_entries = 16; + optional string team_abbreviation = 17; + repeated .CMsgDOTAPlayerInfo.ProRegistration pro_registration = 18; + optional bool has_played_in_international = 19; } message CMsgDOTAPlayerInfoList { - repeated .CMsgDOTAPlayerInfo player_infos = 1; + repeated .CMsgDOTAPlayerInfo player_infos = 1; + optional uint32 retry_time = 2; } message CMsgDOTATeamRoster { - optional uint32 timestamp = 1; - optional uint32 team_id = 2; - repeated uint32 member_account_ids = 3; - optional uint32 coach_account_id = 4; + optional uint32 timestamp = 1; + optional uint32 team_id = 2; + repeated uint32 member_account_ids = 3; + optional uint32 coach_account_id = 4; } message CMsgDOTADPCProfileInfo { - message PredictionInfo { - optional uint32 percent = 1; - optional int32 shard_winnings = 2; - } + message PredictionInfo { + optional uint32 percent = 1; + optional int32 shard_winnings = 2; + } - message FantasyInfo { - optional uint32 top_90_finishes = 1; - optional uint32 top_75_finishes = 2; - optional uint32 top_50_finishes = 3; - optional uint32 shard_winnings = 4; - } + message FantasyInfo { + optional uint32 top_90_finishes = 1; + optional uint32 top_75_finishes = 2; + optional uint32 top_50_finishes = 3; + optional uint32 shard_winnings = 4; + } - optional .CMsgDOTAPlayerInfo player_info = 1; - optional .CMsgDOTADPCProfileInfo.PredictionInfo prediction_info = 2; - optional .CMsgDOTADPCProfileInfo.FantasyInfo fantasy_info = 3; - repeated uint32 disabled_notifications = 4; + optional .CMsgDOTAPlayerInfo player_info = 1; + optional .CMsgDOTADPCProfileInfo.PredictionInfo prediction_info = 2; + optional .CMsgDOTADPCProfileInfo.FantasyInfo fantasy_info = 3; + repeated uint32 disabled_notifications = 4; } message CMsgDOTALeaderboards { - message RegionLeaderboard { - optional uint32 division = 1; - repeated uint32 account_ids = 2; - } + message RegionLeaderboard { + optional uint32 division = 1; + repeated uint32 account_ids = 2; + } - repeated .CMsgDOTALeaderboards.RegionLeaderboard leaderboards = 2; + repeated .CMsgDOTALeaderboards.RegionLeaderboard leaderboards = 2; } message CMsgDOTAPassportVoteTeamGuess { - optional uint32 league_id = 1; - optional uint32 winner_id = 2; - optional uint32 runnerup_id = 3; + optional uint32 league_id = 1; + optional uint32 winner_id = 2; + optional uint32 runnerup_id = 3; } message CMsgDOTAPassportVoteGenericSelection { - optional .DOTA_2013PassportSelectionIndices selection_index = 1 [default = PP13_SEL_ALLSTAR_PLAYER_0]; - optional uint32 selection = 2; + optional .DOTA_2013PassportSelectionIndices selection_index = 1 [default = PP13_SEL_ALLSTAR_PLAYER_0]; + optional uint32 selection = 2; } message CMsgDOTAPassportStampedPlayer { - optional uint64 steam_id = 1; - optional uint32 stamp_level = 2; + optional uint64 steam_id = 1; + optional uint32 stamp_level = 2; } message CMsgDOTAPassportPlayerCardChallenge { - optional uint32 challenge_id = 1; + optional uint32 challenge_id = 1; } message CMsgDOTAPassportVote { - repeated .CMsgDOTAPassportVoteTeamGuess team_votes = 1; - repeated .CMsgDOTAPassportVoteGenericSelection generic_selections = 2; - repeated .CMsgDOTAPassportStampedPlayer stamped_players = 3; - repeated .CMsgDOTAPassportPlayerCardChallenge player_card_challenges = 4; + repeated .CMsgDOTAPassportVoteTeamGuess team_votes = 1; + repeated .CMsgDOTAPassportVoteGenericSelection generic_selections = 2; + repeated .CMsgDOTAPassportStampedPlayer stamped_players = 3; + repeated .CMsgDOTAPassportPlayerCardChallenge player_card_challenges = 4; } message CMsgClientToGCGetPlayerCardRosterRequest { - optional uint32 league_id = 1; - optional uint32 fantasy_period = 3 [default = 4294967295]; + optional uint32 league_id = 1; + optional uint32 fantasy_period = 3 [default = 4294967295]; } message CMsgClientToGCGetPlayerCardRosterResponse { - enum Result { - SUCCESS = 0; - ERROR_UNSPECIFIED = 1; - ERROR_INVALID_LEAGUE_ID = 2; - ERROR_INVALID_TIMESTAMP = 3; - } + enum Result { + SUCCESS = 0; + ERROR_UNSPECIFIED = 1; + ERROR_INVALID_LEAGUE_ID = 2; + ERROR_INVALID_TIMESTAMP = 3; + } - optional .CMsgClientToGCGetPlayerCardRosterResponse.Result result = 1 [default = SUCCESS]; - repeated uint64 player_card_item_id = 2; - optional float score = 3; - optional bool finalized = 4; - optional float percentile = 5; + optional .CMsgClientToGCGetPlayerCardRosterResponse.Result result = 1 [default = SUCCESS]; + repeated uint64 player_card_item_id = 2; + optional float score = 3; + optional bool finalized = 4; + optional float percentile = 5; } message CMsgClientToGCBatchGetPlayerCardRosterRequest { - message LeagueTimestamp { - optional uint32 league_id = 1; - optional uint32 fantasy_period = 3 [default = 4294967295]; - } + message LeagueTimestamp { + optional uint32 league_id = 1; + optional uint32 fantasy_period = 3 [default = 4294967295]; + } - repeated .CMsgClientToGCBatchGetPlayerCardRosterRequest.LeagueTimestamp league_timestamps = 1; + repeated .CMsgClientToGCBatchGetPlayerCardRosterRequest.LeagueTimestamp league_timestamps = 1; } message CMsgClientToGCBatchGetPlayerCardRosterResponse { - message RosterResponse { - optional uint32 league_id = 1; - optional uint32 deprecated_timestamp = 2; - optional .CMsgClientToGCBatchGetPlayerCardRosterResponse.Result result = 3 [default = SUCCESS]; - repeated uint64 player_card_item_id = 4; - optional float score = 5; - optional bool finalized = 6; - optional float percentile = 7; - optional uint32 fantasy_period = 8 [default = 4294967295]; - } - - enum Result { - SUCCESS = 0; - ERROR_UNSPECIFIED = 1; - ERROR_INVALID_LEAGUE_ID = 2; - ERROR_INVALID_TIMESTAMP = 3; - } - - repeated .CMsgClientToGCBatchGetPlayerCardRosterResponse.RosterResponse responses = 1; + message RosterResponse { + optional uint32 league_id = 1; + optional uint32 deprecated_timestamp = 2; + optional .CMsgClientToGCBatchGetPlayerCardRosterResponse.Result result = 3 [default = SUCCESS]; + repeated uint64 player_card_item_id = 4; + optional float score = 5; + optional bool finalized = 6; + optional float percentile = 7; + optional uint32 fantasy_period = 8 [default = 4294967295]; + } + + enum Result { + SUCCESS = 0; + ERROR_UNSPECIFIED = 1; + ERROR_INVALID_LEAGUE_ID = 2; + ERROR_INVALID_TIMESTAMP = 3; + } + + repeated .CMsgClientToGCBatchGetPlayerCardRosterResponse.RosterResponse responses = 1; } message CMsgClientToGCSetPlayerCardRosterRequest { - optional uint32 league_id = 1; - optional uint32 deprecated_timestamp = 2; - optional uint32 slot = 3; - optional uint64 player_card_item_id = 4; - optional uint32 event_id = 5; - optional uint32 fantasy_period = 6 [default = 4294967295]; + optional uint32 league_id = 1; + optional uint32 deprecated_timestamp = 2; + optional uint32 slot = 3; + optional uint64 player_card_item_id = 4; + optional uint32 event_id = 5; + optional uint32 fantasy_period = 6 [default = 4294967295]; } message CMsgClientToGCSetPlayerCardRosterResponse { - enum Result { - SUCCESS = 0; - ERROR_UNSPECIFIED = 1; - ERROR_INVALID_LEAGUE_ID = 2; - ERROR_INVALID_TIMESTAMP = 3; - ERROR_PLAYER_CARD_NOT_OWNED = 4; - ERROR_INVALID_SLOT = 5; - ERROR_FAILED_CARD_INFO = 6; - ERROR_ACCOUNT_DUPLICATE = 7; - ERROR_LOCKED_TIMESTAMP = 8; - ERROR_INVALID_LEAGUE_FOR_PERIOD = 9; - ERROR_INVALID_EVENT = 10; - } - - optional .CMsgClientToGCSetPlayerCardRosterResponse.Result result = 1 [default = SUCCESS]; + enum Result { + SUCCESS = 0; + ERROR_UNSPECIFIED = 1; + ERROR_INVALID_LEAGUE_ID = 2; + ERROR_INVALID_TIMESTAMP = 3; + ERROR_PLAYER_CARD_NOT_OWNED = 4; + ERROR_INVALID_SLOT = 5; + ERROR_FAILED_CARD_INFO = 6; + ERROR_ACCOUNT_DUPLICATE = 7; + ERROR_LOCKED_TIMESTAMP = 8; + ERROR_INVALID_LEAGUE_FOR_PERIOD = 9; + ERROR_INVALID_EVENT = 10; + } + + optional .CMsgClientToGCSetPlayerCardRosterResponse.Result result = 1 [default = SUCCESS]; } message CMsgDOTAFantasyDPCLeagueStatus { - message LeagueInfo { - optional uint32 league_id = 1; - optional string league_name = 2; - optional uint32 start_timestamp = 3; - optional uint32 end_timestamp = 4; - repeated uint32 day_timestamps = 5; - optional .CMsgDOTAFantasyDPCLeagueStatus.ERosterStatus status = 8 [default = UNSET]; - } + message LeagueInfo { + optional uint32 league_id = 1; + optional string league_name = 2; + optional uint32 start_timestamp = 3; + optional uint32 end_timestamp = 4; + repeated uint32 day_timestamps = 5; + optional .CMsgDOTAFantasyDPCLeagueStatus.ERosterStatus status = 8 [default = UNSET]; + } - enum ERosterStatus { - UNSET = 0; - PARTIAL = 1; - FULL = 2; - CONCLUDED = 3; - } + enum ERosterStatus { + UNSET = 0; + PARTIAL = 1; + FULL = 2; + CONCLUDED = 3; + } - repeated .CMsgDOTAFantasyDPCLeagueStatus.LeagueInfo league_infos = 1; + repeated .CMsgDOTAFantasyDPCLeagueStatus.LeagueInfo league_infos = 1; } message CMsgDOTADPCSearchResults { - message Player { - optional uint32 id = 1; - optional string name = 2; - optional string real_name = 3; - } - - message Team { - optional uint32 id = 1; - optional string name = 2; - optional string url = 3; - } - - message League { - optional uint32 id = 1; - optional string name = 2; - } - - enum ESearchResultsDesired { - k_ESearchResultsDesired_Players = 1; - k_ESearchResultsDesired_Teams = 2; - k_ESearchResultsDesired_Leagues = 4; - k_ESearchResultsDesired_All = 7; - } - - repeated .CMsgDOTADPCSearchResults.Player players = 1; - repeated .CMsgDOTADPCSearchResults.Team teams = 2; - repeated .CMsgDOTADPCSearchResults.League leagues = 3; + message Player { + optional uint32 id = 1; + optional string name = 2; + optional string real_name = 3; + } + + message Team { + optional uint32 id = 1; + optional string name = 2; + optional string url = 3; + } + + message League { + optional uint32 id = 1; + optional string name = 2; + } + + enum ESearchResultsDesired { + k_ESearchResultsDesired_Players = 1; + k_ESearchResultsDesired_Teams = 2; + k_ESearchResultsDesired_Leagues = 4; + k_ESearchResultsDesired_All = 7; + } + + repeated .CMsgDOTADPCSearchResults.Player players = 1; + repeated .CMsgDOTADPCSearchResults.Team teams = 2; + repeated .CMsgDOTADPCSearchResults.League leagues = 3; } message CMsgDOTADPCTeamFavoriteRankings { - message Team { - optional uint32 team_id = 1; - optional uint32 favorites = 2; - } + message Team { + optional uint32 team_id = 1; + optional uint32 favorites = 2; + } - repeated .CMsgDOTADPCTeamFavoriteRankings.Team teams = 1; + repeated .CMsgDOTADPCTeamFavoriteRankings.Team teams = 1; } message CMsgDotaFantasyCraftingTabletPeriodData { - message Gem { - optional .Fantasy_Gem_Type type = 1 [default = FANTASY_GEM_TYPE_RUBY]; - optional uint32 slot = 2; - optional uint32 shape = 3; - optional uint32 quality = 4; - optional .Fantasy_Scoring stat = 5 [default = FANTASY_SCORING_KILLS]; - } - - message Tablet { - optional uint32 tablet_id = 1; - optional uint32 tablet_level = 2; - optional .Fantasy_Roles fantasy_role = 3 [default = FANTASY_ROLE_UNDEFINED]; - optional uint32 account_id = 4; - optional uint32 prefix = 5; - optional uint32 suffix = 6; - repeated .CMsgDotaFantasyCraftingTabletPeriodData.Gem gems = 7; - optional float score = 8; - optional uint32 best_series = 9; - } - - optional uint32 fantasy_period = 1 [default = 4294967295]; - repeated .CMsgDotaFantasyCraftingTabletPeriodData.Tablet tablets = 2; + message Gem { + optional .Fantasy_Gem_Type type = 1 [default = FANTASY_GEM_TYPE_RUBY]; + optional uint32 slot = 2; + optional uint32 shape = 3; + optional uint32 quality = 4; + optional .Fantasy_Scoring stat = 5 [default = FANTASY_SCORING_KILLS]; + } + + message Tablet { + optional uint32 tablet_id = 1; + optional uint32 tablet_level = 2; + optional .Fantasy_Roles fantasy_role = 3 [default = FANTASY_ROLE_UNDEFINED]; + optional uint32 account_id = 4; + optional uint32 prefix = 5; + optional uint32 suffix = 6; + optional uint32 team_id = 10; + repeated .CMsgDotaFantasyCraftingTabletPeriodData.Gem gems = 7; + optional float score = 8; + optional uint32 best_series = 9; + } + + optional uint32 fantasy_period = 1 [default = 4294967295]; + repeated .CMsgDotaFantasyCraftingTabletPeriodData.Tablet tablets = 2; } message CMsgDotaFantasyCraftingTabletData { - message TabletPeriodDataEntry { - optional uint32 key = 1; - optional .CMsgDotaFantasyCraftingTabletPeriodData value = 2; - } - - repeated .CMsgDotaFantasyCraftingTabletData.TabletPeriodDataEntry tablet_period_data = 1; + map tablet_period_data = 1; } message CMsgDotaFantasyCraftingUserData { - message PeriodScore { - optional float total_score = 1; - optional float percentile = 2; - } - - message PeriodRollTokensEntry { - optional uint32 key = 1; - optional uint32 value = 2; - } - - message PeriodScoresEntry { - optional uint32 key = 1; - optional .CMsgDotaFantasyCraftingUserData.PeriodScore value = 2; - } + message PeriodScore { + optional float total_score = 1; + optional float percentile = 2; + } - repeated uint32 available_rolls = 1; - repeated .CMsgDotaFantasyCraftingUserData.PeriodRollTokensEntry period_roll_tokens = 2; - repeated .CMsgDotaFantasyCraftingUserData.PeriodScoresEntry period_scores = 3; + repeated uint32 available_rolls = 1; + map period_roll_tokens = 2; + map period_scores = 3; } message CMsgDotaFantasyCraftingDataCache { - message CacheEntry { - optional uint32 account_id = 1; - optional uint32 fantasy_league = 2; - optional .CMsgGCToClientFantasyCraftingDataUpdated cache_data = 3; - } + message CacheEntry { + optional uint32 account_id = 1; + optional uint32 fantasy_league = 2; + optional .CMsgGCToClientFantasyCraftingDataUpdated cache_data = 3; + } - repeated .CMsgDotaFantasyCraftingDataCache.CacheEntry cache_entries = 1; + repeated .CMsgDotaFantasyCraftingDataCache.CacheEntry cache_entries = 1; } message CMsgClientToGCFantasyCraftingGetData { - optional uint32 fantasy_league = 1; - optional uint32 account_id = 2; + optional uint32 fantasy_league = 1; + optional uint32 account_id = 2; } message CMsgClientToGCFantasyCraftingGetDataResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + } - optional .CMsgClientToGCFantasyCraftingGetDataResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDotaFantasyCraftingUserData user_data = 2; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 4; + optional .CMsgClientToGCFantasyCraftingGetDataResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingUserData user_data = 2; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 4; } message CMsgClientToGCFantasyCraftingPerformOperation { - optional uint32 fantasy_league = 1; - optional uint32 tablet_id = 2; - optional uint32 operation_id = 3; - optional uint64 extra_data = 4; + optional uint32 fantasy_league = 1; + optional uint32 tablet_id = 2; + optional uint32 operation_id = 3; + optional uint64 extra_data = 4; } message CMsgClientToGCFantasyCraftingPerformOperationResponse { - message TitleChoice { - optional uint32 prefix_choice = 1; - optional uint32 suffix_choice = 2; - } - - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - k_eNoTokens = 6; - k_eMoreInfo = 7; - } - - optional .CMsgClientToGCFantasyCraftingPerformOperationResponse.EResponse response = 1 [default = k_eInternalError]; - optional uint32 operation_id = 2; - optional uint32 tablet_id = 7; - optional .CMsgDotaFantasyCraftingUserData user_data = 8; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 9; - repeated uint32 player_choices = 3; - repeated uint32 prefix_choices = 4; - repeated uint32 suffix_choices = 5; - repeated .CMsgClientToGCFantasyCraftingPerformOperationResponse.TitleChoice title_choices = 6; + message TitleChoice { + optional uint32 prefix_choice = 1; + optional uint32 suffix_choice = 2; + } + + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eNoTokens = 6; + k_eMoreInfo = 7; + } + + optional .CMsgClientToGCFantasyCraftingPerformOperationResponse.EResponse response = 1 [default = k_eInternalError]; + optional uint32 operation_id = 2; + optional uint32 tablet_id = 7; + optional .CMsgDotaFantasyCraftingUserData user_data = 8; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 9; + repeated uint32 player_choices = 3; + repeated uint32 prefix_choices = 4; + repeated uint32 suffix_choices = 5; + repeated .CMsgClientToGCFantasyCraftingPerformOperationResponse.TitleChoice title_choices = 6; } message CMsgGCToClientFantasyCraftingDataUpdated { - optional uint32 fantasy_league = 1; - optional .CMsgDotaFantasyCraftingUserData user_data = 2; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 4; + optional uint32 fantasy_league = 1; + optional .CMsgDotaFantasyCraftingUserData user_data = 2; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 4; } message CMsgClientToGCFantasyCraftingDevModifyTablet { - optional uint32 fantasy_league = 1; - optional bool reset_tablet = 2; - optional uint32 modify_tokens = 3; - optional bool upgrade_tablets = 6; - optional uint32 fantasy_period = 5 [default = 4294967295]; + optional uint32 fantasy_league = 1; + optional bool reset_tablet = 2; + optional uint32 modify_tokens = 3; + optional bool upgrade_tablets = 6; + optional uint32 fantasy_period = 5 [default = 4294967295]; } message CMsgClientToGCFantasyCraftingDevModifyTabletResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + } - optional .CMsgClientToGCFantasyCraftingDevModifyTabletResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDotaFantasyCraftingUserData user_data = 2; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 3; + optional .CMsgClientToGCFantasyCraftingDevModifyTabletResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingUserData user_data = 2; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 3; } message CMsgClientToGCFantasyCraftingSelectPlayer { - optional uint32 fantasy_league = 1; - optional uint32 account_id = 2; + optional uint32 fantasy_league = 1; + optional uint32 account_id = 2; } message CMsgClientToGCFantasyCraftingSelectPlayerResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - k_eInvalidPlayer = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eInvalidPlayer = 6; + } + + optional .CMsgClientToGCFantasyCraftingSelectPlayerResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 2; +} + +message CMsgClientToGCFantasyCraftingSelectTeam { + optional uint32 fantasy_league = 1; + optional .Fantasy_Roles role = 2 [default = FANTASY_ROLE_UNDEFINED]; + optional uint32 team_id = 3; +} + +message CMsgClientToGCFantasyCraftingSelectTeamResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eInvalidTeam = 7; + } + + optional .CMsgClientToGCFantasyCraftingSelectTeamResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 2; +} - optional .CMsgClientToGCFantasyCraftingSelectPlayerResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 2; +message CMsgClientToGCFantasyCraftingSelectGlobalPrefix { + optional uint32 fantasy_league = 1; + optional uint32 prefix = 2; +} + +message CMsgClientToGCFantasyCraftingSelectGlobalPrefixResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eInvalidPrefix = 7; + } + + optional .CMsgClientToGCFantasyCraftingSelectGlobalPrefixResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 2; +} + +message CMsgClientToGCFantasyCraftingSelectGlobalSuffix { + optional uint32 fantasy_league = 1; + optional uint32 suffix = 2; +} + +message CMsgClientToGCFantasyCraftingSelectGlobalSuffixResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eInvalidSuffix = 7; + } + + optional .CMsgClientToGCFantasyCraftingSelectGlobalSuffixResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 2; } message CMsgClientToGCFantasyCraftingGenerateTablets { - optional uint32 fantasy_league = 1; - repeated uint32 account_ids = 2; + message TeamChoice { + optional .Fantasy_Roles fantasy_role = 1 [default = FANTASY_ROLE_UNDEFINED]; + optional uint32 team_id = 2; + } + + optional uint32 fantasy_league = 1; + repeated uint32 account_ids = 2; + repeated .CMsgClientToGCFantasyCraftingGenerateTablets.TeamChoice selected_teams = 3; } message CMsgClientToGCFantasyCraftingGenerateTabletsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - k_eInvalidPlayer = 6; - } - - optional .CMsgClientToGCFantasyCraftingGenerateTabletsResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDotaFantasyCraftingUserData user_data = 2; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 3; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eInvalidPlayer = 6; + k_eInvalidTeam = 7; + } + + optional .CMsgClientToGCFantasyCraftingGenerateTabletsResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingUserData user_data = 2; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 3; } message CMsgClientToGcFantasyCraftingUpgradeTablets { - optional uint32 fantasy_league = 1; + optional uint32 fantasy_league = 1; } message CMsgClientToGcFantasyCraftingUpgradeTabletsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + } - optional .CMsgClientToGcFantasyCraftingUpgradeTabletsResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDotaFantasyCraftingTabletData tablet_data = 3; + optional .CMsgClientToGcFantasyCraftingUpgradeTabletsResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingTabletData tablet_data = 3; } message CMsgClientToGCFantasyCraftingRerollOptions { - optional uint32 fantasy_league = 1; + optional uint32 fantasy_league = 1; } message CMsgClientToGCFantasyCraftingRerollOptionsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidLeague = 5; - k_eInsufficientTokens = 6; - } - - optional .CMsgClientToGCFantasyCraftingRerollOptionsResponse.EResponse response = 1 [default = k_eInternalError]; - optional .CMsgDotaFantasyCraftingUserData user_data = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidLeague = 5; + k_eInsufficientTokens = 6; + } + + optional .CMsgClientToGCFantasyCraftingRerollOptionsResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDotaFantasyCraftingUserData user_data = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild.proto index 0b511f77..be803c23 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,651 +7,651 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGuildAuditAction { - k_EGuildAuditAction_Invalid = 0; - k_EGuildAuditAction_GuildCreated = 1; - k_EGuildAuditAction_GuildLanguageChanged = 2; - k_EGuildAuditAction_GuildFlagsChanged = 3; - k_EGuildAuditAction_GuildMemberJoined = 5; - k_EGuildAuditAction_GuildMemberLeft = 6; - k_EGuildAuditAction_GuildMemberKicked = 7; - k_EGuildAuditAction_GuildMemberRoleChanged = 8; - k_EGuildAuditAction_GuildLogoChanged = 9; - k_EGuildAuditAction_GuildRegionChanged = 10; - k_EGuildAuditAction_GuildDescriptionChanged = 11; - k_EGuildAuditAction_GuildPrimaryColorChanged = 12; - k_EGuildAuditAction_GuildSecondaryColorChanged = 13; - k_EGuildAuditAction_GuildPatternChanged = 14; - k_EGuildAuditAction_AdminClearedLogo = 15; - k_EGuildAuditAction_GuildRequiredRankChanged = 16; - k_EGuildAuditAction_GuildMotDChanged = 18; - k_EGuildAuditAction_AdminResetName = 19; - k_EGuildAuditAction_AdminResetTag = 20; - k_EGuildAuditAction_AdminLock = 21; - k_EGuildAuditAction_GuildNameChanged = 22; - k_EGuildAuditAction_GuildTagChanged = 23; - k_EGuildAuditAction_AdminPermitted = 24; - k_EGuildAuditAction_AdminBlocked = 25; - k_EGuildAuditAction_AdminBannedUser = 26; - k_EGuildAuditAction_AdminExonerated = 27; + k_EGuildAuditAction_Invalid = 0; + k_EGuildAuditAction_GuildCreated = 1; + k_EGuildAuditAction_GuildLanguageChanged = 2; + k_EGuildAuditAction_GuildFlagsChanged = 3; + k_EGuildAuditAction_GuildMemberJoined = 5; + k_EGuildAuditAction_GuildMemberLeft = 6; + k_EGuildAuditAction_GuildMemberKicked = 7; + k_EGuildAuditAction_GuildMemberRoleChanged = 8; + k_EGuildAuditAction_GuildLogoChanged = 9; + k_EGuildAuditAction_GuildRegionChanged = 10; + k_EGuildAuditAction_GuildDescriptionChanged = 11; + k_EGuildAuditAction_GuildPrimaryColorChanged = 12; + k_EGuildAuditAction_GuildSecondaryColorChanged = 13; + k_EGuildAuditAction_GuildPatternChanged = 14; + k_EGuildAuditAction_AdminClearedLogo = 15; + k_EGuildAuditAction_GuildRequiredRankChanged = 16; + k_EGuildAuditAction_GuildMotDChanged = 18; + k_EGuildAuditAction_AdminResetName = 19; + k_EGuildAuditAction_AdminResetTag = 20; + k_EGuildAuditAction_AdminLock = 21; + k_EGuildAuditAction_GuildNameChanged = 22; + k_EGuildAuditAction_GuildTagChanged = 23; + k_EGuildAuditAction_AdminPermitted = 24; + k_EGuildAuditAction_AdminBlocked = 25; + k_EGuildAuditAction_AdminBannedUser = 26; + k_EGuildAuditAction_AdminExonerated = 27; } enum EGuildChatType { - k_EGuildChatType_Unspecified = 0; - k_EGuildChatType_SteamChatGroup = 1; - k_EGuildChatType_GC = 2; + k_EGuildChatType_Unspecified = 0; + k_EGuildChatType_SteamChatGroup = 1; + k_EGuildChatType_GC = 2; } message CMsgGuildInfo { - optional string guild_name = 1; - optional string guild_tag = 2; - optional uint32 created_timestamp = 3; - optional uint32 guild_language = 4; - optional uint32 guild_flags = 5; - optional uint64 guild_logo = 7; - optional uint32 guild_region = 8; - optional uint64 guild_chat_group_id = 9; - optional string guild_description = 10; - optional uint64 default_chat_channel_id = 11; - optional uint32 guild_primary_color = 12; - optional uint32 guild_secondary_color = 13; - optional uint32 guild_pattern = 14; - optional uint32 guild_refresh_time_offset = 15; - optional uint32 guild_required_rank_tier = 16; - optional uint32 guild_motd_timestamp = 17; - optional string guild_motd = 18; + optional string guild_name = 1; + optional string guild_tag = 2; + optional uint32 created_timestamp = 3; + optional uint32 guild_language = 4; + optional uint32 guild_flags = 5; + optional uint64 guild_logo = 7; + optional uint32 guild_region = 8; + optional uint64 guild_chat_group_id = 9; + optional string guild_description = 10; + optional uint64 default_chat_channel_id = 11; + optional uint32 guild_primary_color = 12; + optional uint32 guild_secondary_color = 13; + optional uint32 guild_pattern = 14; + optional uint32 guild_refresh_time_offset = 15; + optional uint32 guild_required_rank_tier = 16; + optional uint32 guild_motd_timestamp = 17; + optional string guild_motd = 18; } message CMsgGuildSummary { - message EventPoints { - optional uint32 event_id = 1; - optional uint32 guild_points = 2; - optional uint32 guild_rank = 3; - optional uint32 guild_weekly_rank = 4; - optional uint32 guild_weekly_percentile = 5; - optional uint32 guild_current_percentile = 6; - } + message EventPoints { + optional uint32 event_id = 1; + optional uint32 guild_points = 2; + optional uint32 guild_rank = 3; + optional uint32 guild_weekly_rank = 4; + optional uint32 guild_weekly_percentile = 5; + optional uint32 guild_current_percentile = 6; + } - optional .CMsgGuildInfo guild_info = 1; - optional uint32 member_count = 2; - repeated .CMsgGuildSummary.EventPoints event_points = 3; + optional .CMsgGuildInfo guild_info = 1; + optional uint32 member_count = 2; + repeated .CMsgGuildSummary.EventPoints event_points = 3; } message CMsgGuildRole { - optional uint32 role_id = 1; - optional string role_name = 2; - optional uint32 role_flags = 3; - optional uint32 role_order = 4; + optional uint32 role_id = 1; + optional string role_name = 2; + optional uint32 role_flags = 3; + optional uint32 role_order = 4; } message CMsgGuildMember { - optional uint32 member_account_id = 1; - optional uint32 member_role_id = 2; - optional uint32 member_joined_timestamp = 3; - optional uint32 member_last_active_timestamp = 4; + optional uint32 member_account_id = 1; + optional uint32 member_role_id = 2; + optional uint32 member_joined_timestamp = 3; + optional uint32 member_last_active_timestamp = 4; } message CMsgGuildInvite { - optional uint32 requester_account_id = 1; - optional uint32 target_account_id = 2; - optional uint32 timestamp_sent = 3; + optional uint32 requester_account_id = 1; + optional uint32 target_account_id = 2; + optional uint32 timestamp_sent = 3; } message CMsgGuildData { - optional uint32 guild_id = 1; - optional .CMsgGuildInfo guild_info = 2; - repeated .CMsgGuildRole guild_roles = 3; - repeated .CMsgGuildMember guild_members = 4; - repeated .CMsgGuildInvite guild_invites = 5; + optional uint32 guild_id = 1; + optional .CMsgGuildInfo guild_info = 2; + repeated .CMsgGuildRole guild_roles = 3; + repeated .CMsgGuildMember guild_members = 4; + repeated .CMsgGuildInvite guild_invites = 5; } message CMsgAccountGuildInvite { - optional uint32 guild_id = 1; - optional uint32 requester_account_id = 2; - optional uint32 timestamp_sent = 3; + optional uint32 guild_id = 1; + optional uint32 requester_account_id = 2; + optional uint32 timestamp_sent = 3; } message CMsgAccountGuildMemberships { - repeated uint32 guild_ids = 1; - repeated .CMsgAccountGuildInvite guild_invites = 2; + repeated uint32 guild_ids = 1; + repeated .CMsgAccountGuildInvite guild_invites = 2; } message CMsgGuildPersonaInfo { - optional uint32 guild_id = 1; - optional string guild_tag = 2; - optional uint32 guild_flags = 3; + optional uint32 guild_id = 1; + optional string guild_tag = 2; + optional uint32 guild_flags = 3; } message CMsgAccountGuildsPersonaInfo { - repeated .CMsgGuildPersonaInfo guild_persona_infos = 1; + repeated .CMsgGuildPersonaInfo guild_persona_infos = 1; } message CMsgGuildFeedEvent { - optional uint64 feed_event_id = 1; - optional uint32 timestamp = 2; - optional uint32 event_type = 3; - optional uint32 param_uint_1 = 4; - optional uint32 param_uint_2 = 5; - optional uint32 param_uint_3 = 6; + optional uint64 feed_event_id = 1; + optional uint32 timestamp = 2; + optional uint32 event_type = 3; + optional uint32 param_uint_1 = 4; + optional uint32 param_uint_2 = 5; + optional uint32 param_uint_3 = 6; } message CMsgClientToGCCreateGuild { - optional .CMsgGuildInfo guild_info = 1; - optional .EGuildChatType guild_chat_type = 2 [default = k_EGuildChatType_Unspecified]; + optional .CMsgGuildInfo guild_info = 1; + optional .EGuildChatType guild_chat_type = 2 [default = k_EGuildChatType_Unspecified]; } message CMsgClientToGCCreateGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidName = 5; - k_eNameAlreadyUsed = 6; - k_eInvalidTag = 7; - k_eTagAlreadyUsed = 8; - k_eInvalidDescription = 9; - k_eInvalidRegion = 10; - k_eInvalidLogo = 11; - k_eDoesNotOwnEvent = 12; - k_eGuildLimit = 13; - k_eInvalidMotD = 14; - k_eBlocked = 15; - k_eFreeTrialNotAllowed = 16; - } - - optional .CMsgClientToGCCreateGuildResponse.EResponse result = 1 [default = k_eInternalError]; - optional uint32 guild_id = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidName = 5; + k_eNameAlreadyUsed = 6; + k_eInvalidTag = 7; + k_eTagAlreadyUsed = 8; + k_eInvalidDescription = 9; + k_eInvalidRegion = 10; + k_eInvalidLogo = 11; + k_eDoesNotOwnEvent = 12; + k_eGuildLimit = 13; + k_eInvalidMotD = 14; + k_eBlocked = 15; + k_eFreeTrialNotAllowed = 16; + } + + optional .CMsgClientToGCCreateGuildResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 guild_id = 2; } message CMsgClientToGCSetGuildInfo { - optional uint32 guild_id = 1; - optional .CMsgGuildInfo guild_info = 2; - optional .EGuildChatType guild_chat_type = 3 [default = k_EGuildChatType_Unspecified]; + optional uint32 guild_id = 1; + optional .CMsgGuildInfo guild_info = 2; + optional .EGuildChatType guild_chat_type = 3 [default = k_EGuildChatType_Unspecified]; } message CMsgClientToGCSetGuildInfoResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNotMember = 6; - k_eNoPermission = 7; - k_eMotDTooLong = 8; - k_eNameChangeNoPermissions = 9; - k_eTagChangeNoPermissions = 10; - k_eNameInvalid = 11; - k_eTagInvalid = 12; - k_eDescriptionInvalid = 13; - k_eBlocked = 14; - } - - optional .CMsgClientToGCSetGuildInfoResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNotMember = 6; + k_eNoPermission = 7; + k_eMotDTooLong = 8; + k_eNameChangeNoPermissions = 9; + k_eTagChangeNoPermissions = 10; + k_eNameInvalid = 11; + k_eTagInvalid = 12; + k_eDescriptionInvalid = 13; + k_eBlocked = 14; + } + + optional .CMsgClientToGCSetGuildInfoResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCRequestGuildData { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCRequestGuildDataResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNotMember = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNotMember = 6; + } - optional .CMsgClientToGCRequestGuildDataResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgGuildData guild_data = 2; + optional .CMsgClientToGCRequestGuildDataResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgGuildData guild_data = 2; } message CMsgGCToClientGuildDataUpdated { - optional .CMsgGuildData guild_data = 1; - optional uint32 update_flags = 2; + optional .CMsgGuildData guild_data = 1; + optional uint32 update_flags = 2; } message CMsgGCToClientGuildMembersDataUpdated { - optional uint32 guild_id = 1; - repeated .CMsgGuildMember members_data = 2; + optional uint32 guild_id = 1; + repeated .CMsgGuildMember members_data = 2; } message CMsgClientToGCRequestGuildMembership { } message CMsgClientToGCRequestGuildMembershipResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + } - optional .CMsgClientToGCRequestGuildMembershipResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgAccountGuildMemberships guild_memberships = 2; + optional .CMsgClientToGCRequestGuildMembershipResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgAccountGuildMemberships guild_memberships = 2; } message CMsgGCToClientGuildMembershipUpdated { - optional .CMsgAccountGuildMemberships guild_memberships = 1; + optional .CMsgAccountGuildMemberships guild_memberships = 1; } message CMsgClientToGCJoinGuild { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCJoinGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eGuildFull = 6; - k_eAlreadyMember = 7; - k_eGuildLimit = 8; - k_eGuildRequiresInvite = 9; - k_eGuildRankTooLow = 10; - } - - optional .CMsgClientToGCJoinGuildResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eGuildFull = 6; + k_eAlreadyMember = 7; + k_eGuildLimit = 8; + k_eGuildRequiresInvite = 9; + k_eGuildRankTooLow = 10; + } + + optional .CMsgClientToGCJoinGuildResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCLeaveGuild { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCLeaveGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNotMember = 6; - k_eLastAdmin = 7; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNotMember = 6; + k_eLastAdmin = 7; + } - optional .CMsgClientToGCLeaveGuildResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgClientToGCLeaveGuildResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCKickGuildMember { - optional uint32 guild_id = 1; - optional uint32 target_account_id = 2; + optional uint32 guild_id = 1; + optional uint32 target_account_id = 2; } message CMsgClientToGCKickGuildMemberResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eRequesterNotMember = 6; - k_eTargetNotMember = 7; - k_eNoPermission = 8; - k_eCantKickSelf = 9; - } - - optional .CMsgClientToGCKickGuildMemberResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eRequesterNotMember = 6; + k_eTargetNotMember = 7; + k_eNoPermission = 8; + k_eCantKickSelf = 9; + } + + optional .CMsgClientToGCKickGuildMemberResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCSetGuildMemberRole { - optional uint32 guild_id = 1; - optional uint32 target_account_id = 2; - optional uint32 target_role_id = 3; + optional uint32 guild_id = 1; + optional uint32 target_account_id = 2; + optional uint32 target_role_id = 3; } message CMsgClientToGCSetGuildMemberRoleResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eRequesterNotMember = 6; - k_eTargetNotMember = 7; - k_eNoPermission = 8; - k_eInvalidRole = 9; - k_eAdminViolation = 10; - } - - optional .CMsgClientToGCSetGuildMemberRoleResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eRequesterNotMember = 6; + k_eTargetNotMember = 7; + k_eNoPermission = 8; + k_eInvalidRole = 9; + k_eAdminViolation = 10; + } + + optional .CMsgClientToGCSetGuildMemberRoleResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCInviteToGuild { - optional uint32 guild_id = 1; - optional uint32 target_account_id = 2; + optional uint32 guild_id = 1; + optional uint32 target_account_id = 2; } message CMsgClientToGCInviteToGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eGuildFull = 6; - k_eRequesterNotMember = 7; - k_eAlreadyAMember = 8; - k_eAlreadyInvited = 9; - k_eNoInvitePermissions = 10; - k_eTooManyInvites = 11; - k_eInvalidUser = 12; - } - - optional .CMsgClientToGCInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eGuildFull = 6; + k_eRequesterNotMember = 7; + k_eAlreadyAMember = 8; + k_eAlreadyInvited = 9; + k_eNoInvitePermissions = 10; + k_eTooManyInvites = 11; + k_eInvalidUser = 12; + } + + optional .CMsgClientToGCInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCDeclineInviteToGuild { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCDeclineInviteToGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNoInviteFound = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNoInviteFound = 6; + } - optional .CMsgClientToGCDeclineInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgClientToGCDeclineInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCAcceptInviteToGuild { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCAcceptInviteToGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNoInviteFound = 6; - k_eGuildFull = 7; - k_eGuildLimit = 8; - k_eInvalidInviter = 9; - k_eAlreadyInGuild = 10; - } - - optional .CMsgClientToGCAcceptInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNoInviteFound = 6; + k_eGuildFull = 7; + k_eGuildLimit = 8; + k_eInvalidInviter = 9; + k_eAlreadyInGuild = 10; + } + + optional .CMsgClientToGCAcceptInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCCancelInviteToGuild { - optional uint32 guild_id = 1; - optional uint32 target_account_id = 2; + optional uint32 guild_id = 1; + optional uint32 target_account_id = 2; } message CMsgClientToGCCancelInviteToGuildResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNoInviteFound = 6; - k_eNoPermissions = 7; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNoInviteFound = 6; + k_eNoPermissions = 7; + } - optional .CMsgClientToGCCancelInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgClientToGCCancelInviteToGuildResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCAddGuildRole { - optional uint32 guild_id = 1; - optional string role_name = 2; - optional uint32 role_flags = 3; + optional uint32 guild_id = 1; + optional string role_name = 2; + optional uint32 role_flags = 3; } message CMsgClientToGCAddGuildRoleResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNameAlreadyUsed = 6; - k_eNoPermissions = 7; - k_eInvalidFlags = 8; - k_eInvalidName = 9; - k_eAdminViolation = 10; - k_eTooManyRoles = 11; - k_eBlocked = 12; - } - - optional .CMsgClientToGCAddGuildRoleResponse.EResponse result = 1 [default = k_eInternalError]; - optional uint32 role_id = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNameAlreadyUsed = 6; + k_eNoPermissions = 7; + k_eInvalidFlags = 8; + k_eInvalidName = 9; + k_eAdminViolation = 10; + k_eTooManyRoles = 11; + k_eBlocked = 12; + } + + optional .CMsgClientToGCAddGuildRoleResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 role_id = 2; } message CMsgClientToGCModifyGuildRole { - optional uint32 guild_id = 1; - optional uint32 role_id = 2; - optional string role_name = 3; - optional uint32 role_flags = 4; + optional uint32 guild_id = 1; + optional uint32 role_id = 2; + optional string role_name = 3; + optional uint32 role_flags = 4; } message CMsgClientToGCModifyGuildRoleResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eInvalidRole = 6; - k_eNameAlreadyUsed = 7; - k_eInvalidFlags = 8; - k_eInvalidName = 9; - k_eNoPermissions = 10; - k_eAdminViolation = 11; - k_eBlocked = 12; - } - - optional .CMsgClientToGCModifyGuildRoleResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eInvalidRole = 6; + k_eNameAlreadyUsed = 7; + k_eInvalidFlags = 8; + k_eInvalidName = 9; + k_eNoPermissions = 10; + k_eAdminViolation = 11; + k_eBlocked = 12; + } + + optional .CMsgClientToGCModifyGuildRoleResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCRemoveGuildRole { - optional uint32 guild_id = 1; - optional uint32 role_id = 2; + optional uint32 guild_id = 1; + optional uint32 role_id = 2; } message CMsgClientToGCRemoveGuildRoleResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eInvalidRole = 6; - k_eRoleNotEmpty = 7; - k_eNoPermissions = 8; - k_eAdminViolation = 9; - k_eCantRemoveDefaultRole = 10; - } - - optional .CMsgClientToGCRemoveGuildRoleResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eInvalidRole = 6; + k_eRoleNotEmpty = 7; + k_eNoPermissions = 8; + k_eAdminViolation = 9; + k_eCantRemoveDefaultRole = 10; + } + + optional .CMsgClientToGCRemoveGuildRoleResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCSetGuildRoleOrder { - optional uint32 guild_id = 1; - repeated uint32 requested_role_ids = 2; - repeated uint32 previous_role_ids = 3; + optional uint32 guild_id = 1; + repeated uint32 requested_role_ids = 2; + repeated uint32 previous_role_ids = 3; } message CMsgClientToGCSetGuildRoleOrderResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eInvalidRole = 6; - k_eInvalidOrder = 7; - k_eNoPermissions = 8; - k_eAdminViolation = 9; - } - - optional .CMsgClientToGCSetGuildRoleOrderResponse.EResponse result = 1 [default = k_eInternalError]; - repeated uint32 confirmed_role_ids = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eInvalidRole = 6; + k_eInvalidOrder = 7; + k_eNoPermissions = 8; + k_eAdminViolation = 9; + } + + optional .CMsgClientToGCSetGuildRoleOrderResponse.EResponse result = 1 [default = k_eInternalError]; + repeated uint32 confirmed_role_ids = 2; } message CMsgClientToGCGuildFeedRequest { - optional uint32 guild_id = 1; - optional uint64 last_seen_id = 2; + optional uint32 guild_id = 1; + optional uint64 last_seen_id = 2; } message CMsgClientToGCRequestGuildFeedResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNoPermissions = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNoPermissions = 6; + } - optional .CMsgClientToGCRequestGuildFeedResponse.EResponse result = 1 [default = k_eInternalError]; - optional uint32 guild_id = 2; - repeated .CMsgGuildFeedEvent feed_events = 3; + optional .CMsgClientToGCRequestGuildFeedResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 guild_id = 2; + repeated .CMsgGuildFeedEvent feed_events = 3; } message CMsgGCToClientGuildFeedUpdated { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCAddPlayerToGuildChat { - optional uint32 guild_id = 1; + optional uint32 guild_id = 1; } message CMsgClientToGCAddPlayerToGuildChatResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidGuild = 5; - k_eNotMember = 6; - k_eSteamChatNotEnabled = 7; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidGuild = 5; + k_eNotMember = 6; + k_eSteamChatNotEnabled = 7; + } - optional .CMsgClientToGCAddPlayerToGuildChatResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgClientToGCAddPlayerToGuildChatResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgFindGuildByTagResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidTag = 5; - k_eGuildNotFound = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidTag = 5; + k_eGuildNotFound = 6; + } - optional .CMsgFindGuildByTagResponse.EResponse result = 1 [default = k_eInternalError]; - optional uint32 guild_id = 2; - optional .CMsgGuildSummary guild_summary = 3; + optional .CMsgFindGuildByTagResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 guild_id = 2; + optional .CMsgGuildSummary guild_summary = 3; } message CMsgSearchForOpenGuildsResponse { - message SearchResult { - optional uint32 guild_id = 1; - optional .CMsgGuildSummary guild_summary = 2; - } + message SearchResult { + optional uint32 guild_id = 1; + optional .CMsgGuildSummary guild_summary = 2; + } - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + } - optional .CMsgSearchForOpenGuildsResponse.EResponse result = 1 [default = k_eInternalError]; - repeated .CMsgSearchForOpenGuildsResponse.SearchResult search_results = 2; - optional bool use_whitelist = 3; + optional .CMsgSearchForOpenGuildsResponse.EResponse result = 1 [default = k_eInternalError]; + repeated .CMsgSearchForOpenGuildsResponse.SearchResult search_results = 2; + optional bool use_whitelist = 3; } message CMsgClientToGCReportGuildContent { - enum EContentFlags { - k_eNone = 0; - k_eInappropriateName = 1; - k_eInappropriateTag = 2; - k_eInappropriateLogo = 4; - k_eValidFlags = 7; - } + enum EContentFlags { + k_eNone = 0; + k_eInappropriateName = 1; + k_eInappropriateTag = 2; + k_eInappropriateLogo = 4; + k_eValidFlags = 7; + } - optional uint32 guild_id = 1; - optional uint32 guild_content_flags = 2; + optional uint32 guild_id = 1; + optional uint32 guild_content_flags = 2; } message CMsgClientToGCReportGuildContentResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eGuildNotFound = 5; - k_eFlagsInvalid = 6; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eGuildNotFound = 5; + k_eFlagsInvalid = 6; + } - optional .CMsgClientToGCReportGuildContentResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgClientToGCReportGuildContentResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCRequestAccountGuildPersonaInfo { - optional uint32 account_id = 1; + optional uint32 account_id = 1; } message CMsgClientToGCRequestAccountGuildPersonaInfoResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidAccount = 5; - } + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidAccount = 5; + } - optional .CMsgClientToGCRequestAccountGuildPersonaInfoResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgAccountGuildsPersonaInfo persona_info = 2; + optional .CMsgClientToGCRequestAccountGuildPersonaInfoResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgAccountGuildsPersonaInfo persona_info = 2; } message CMsgClientToGCRequestAccountGuildPersonaInfoBatch { - repeated uint32 account_ids = 1; + repeated uint32 account_ids = 1; } message CMsgClientToGCRequestAccountGuildPersonaInfoBatchResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidRequest = 5; - } - - optional .CMsgClientToGCRequestAccountGuildPersonaInfoBatchResponse.EResponse result = 1 [default = k_eInternalError]; - repeated .CMsgAccountGuildsPersonaInfo persona_infos = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidRequest = 5; + } + + optional .CMsgClientToGCRequestAccountGuildPersonaInfoBatchResponse.EResponse result = 1 [default = k_eInternalError]; + repeated .CMsgAccountGuildsPersonaInfo persona_infos = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild_events.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild_events.proto index 59588ace..5eb8e234 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild_events.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_guild_events.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,231 +7,231 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGuildEventAuditAction { - k_EGuildEventAuditAction_Invalid = 0; - k_EGuildEventAuditAction_DevGrant = 1; - k_EGuildEventAuditAction_CompleteContract = 2; - k_EGuildEventAuditAction_CompleteChallenge = 3; - k_EGuildEventAuditAction_CompleteMatch_Winner = 4; - k_EGuildEventAuditAction_ChallengeProgress = 5; - k_EGuildEventAuditAction_CompleteMatch_Loser = 6; - k_EGuildEventAuditAction_WeeklyLeaderboard = 7; - k_EGuildEventAuditAction_ManualGrant = 8; + k_EGuildEventAuditAction_Invalid = 0; + k_EGuildEventAuditAction_DevGrant = 1; + k_EGuildEventAuditAction_CompleteContract = 2; + k_EGuildEventAuditAction_CompleteChallenge = 3; + k_EGuildEventAuditAction_CompleteMatch_Winner = 4; + k_EGuildEventAuditAction_ChallengeProgress = 5; + k_EGuildEventAuditAction_CompleteMatch_Loser = 6; + k_EGuildEventAuditAction_WeeklyLeaderboard = 7; + k_EGuildEventAuditAction_ManualGrant = 8; } message CMsgGuildContract { - optional uint64 contract_id = 1; - optional uint32 challenge_instance_id = 2; - optional uint32 challenge_parameter = 3; - optional uint32 challenge_timestamp = 4; - optional uint32 assigned_account_id = 5; - optional uint32 contract_flags = 6; + optional uint64 contract_id = 1; + optional uint32 challenge_instance_id = 2; + optional uint32 challenge_parameter = 3; + optional uint32 challenge_timestamp = 4; + optional uint32 assigned_account_id = 5; + optional uint32 contract_flags = 6; } message CMsgGuildContractSlot { - optional .CMsgGuildContract contract = 1; + optional .CMsgGuildContract contract = 1; } message CMsgAccountGuildEventData { - optional uint32 guild_points = 1; - optional uint32 contracts_refreshed_timestamp = 2; - repeated .CMsgGuildContractSlot contract_slots = 3; - optional uint32 completed_challenge_count = 4; - optional uint32 challenges_refresh_timestamp = 5; - optional uint32 guild_weekly_percentile = 6; - optional uint32 guild_weekly_last_timestamp = 7; - optional uint32 last_weekly_claim_time = 8; - optional uint32 guild_current_percentile = 9; + optional uint32 guild_points = 1; + optional uint32 contracts_refreshed_timestamp = 2; + repeated .CMsgGuildContractSlot contract_slots = 3; + optional uint32 completed_challenge_count = 4; + optional uint32 challenges_refresh_timestamp = 5; + optional uint32 guild_weekly_percentile = 6; + optional uint32 guild_weekly_last_timestamp = 7; + optional uint32 last_weekly_claim_time = 8; + optional uint32 guild_current_percentile = 9; } message CMsgGuildActiveContracts { - optional uint32 contracts_refreshed_timestamp = 1; - repeated .CMsgGuildContract contracts = 2; + optional uint32 contracts_refreshed_timestamp = 1; + repeated .CMsgGuildContract contracts = 2; } message CMsgGuildChallenge { - optional uint32 challenge_instance_id = 1; - optional uint32 challenge_parameter = 2; - optional uint32 challenge_timestamp = 3; - optional uint32 challenge_progress = 4; - optional uint32 challenge_flags = 5; + optional uint32 challenge_instance_id = 1; + optional uint32 challenge_parameter = 2; + optional uint32 challenge_timestamp = 3; + optional uint32 challenge_progress = 4; + optional uint32 challenge_flags = 5; } message CMsgGuildEventMember { - optional uint32 account_id = 1; - optional uint32 guild_points_earned = 2; + optional uint32 account_id = 1; + optional uint32 guild_points_earned = 2; } message CMsgClientToGCRequestAccountGuildEventData { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; } message CMsgClientToGCRequestAccountGuildEventDataResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidEvent = 5; - k_eInvalidGuild = 6; - k_eNotMember = 7; - k_eInvalidGuildEvent = 8; - } - - optional .CMsgClientToGCRequestAccountGuildEventDataResponse.EResponse result = 1 [default = k_eInternalError]; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; - optional .CMsgAccountGuildEventData event_data = 3; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidEvent = 5; + k_eInvalidGuild = 6; + k_eNotMember = 7; + k_eInvalidGuildEvent = 8; + } + + optional .CMsgClientToGCRequestAccountGuildEventDataResponse.EResponse result = 1 [default = k_eInternalError]; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional .CMsgAccountGuildEventData event_data = 3; } message CMsgGCToClientAccountGuildEventDataUpdated { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; - optional uint32 update_flags = 3; - optional .CMsgAccountGuildEventData guild_event_data = 4; - optional bool contracts_updated = 5; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 update_flags = 3; + optional .CMsgAccountGuildEventData guild_event_data = 4; + optional bool contracts_updated = 5; } message CMsgClientToGCRequestActiveGuildContracts { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; } message CMsgClientToGCRequestActiveGuildContractsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidEvent = 5; - k_eInvalidGuild = 6; - k_eNotMember = 7; - k_eInvalidGuildEvent = 8; - } - - optional .CMsgClientToGCRequestActiveGuildContractsResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgGuildActiveContracts active_contracts = 2; - optional .CMsgGuildChallenge active_challenges = 3; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidEvent = 5; + k_eInvalidGuild = 6; + k_eNotMember = 7; + k_eInvalidGuildEvent = 8; + } + + optional .CMsgClientToGCRequestActiveGuildContractsResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgGuildActiveContracts active_contracts = 2; + optional .CMsgGuildChallenge active_challenges = 3; } message CMsgGCToClientActiveGuildContractsUpdated { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; } message CMsgClientToGCSelectGuildContract { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; - optional uint64 contract_id = 3; - optional uint32 contract_slot = 4; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint64 contract_id = 3; + optional uint32 contract_slot = 4; } message CMsgClientToGCSelectGuildContractResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidEvent = 5; - k_eInvalidGuild = 6; - k_eNotMember = 7; - k_eInvalidGuildEvent = 8; - k_eInvalidContractID = 9; - k_eAlreadyAssigned = 10; - k_eInvalidContractSlot = 11; - k_eContractSlotLockedGuild = 12; - k_eContractSlotCooldown = 13; - k_eContractDuplicate = 14; - k_eContractSlotTimeError = 15; - k_eContractSlotLockedDotaPlus = 16; - } - - optional .CMsgClientToGCSelectGuildContractResponse.EResponse result = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidEvent = 5; + k_eInvalidGuild = 6; + k_eNotMember = 7; + k_eInvalidGuildEvent = 8; + k_eInvalidContractID = 9; + k_eAlreadyAssigned = 10; + k_eInvalidContractSlot = 11; + k_eContractSlotLockedGuild = 12; + k_eContractSlotCooldown = 13; + k_eContractDuplicate = 14; + k_eContractSlotTimeError = 15; + k_eContractSlotLockedDotaPlus = 16; + } + + optional .CMsgClientToGCSelectGuildContractResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgClientToGCRequestActiveGuildChallenge { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; } message CMsgClientToGCRequestActiveGuildChallengeResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidEvent = 5; - k_eInvalidGuild = 6; - k_eNotMember = 7; - k_eInvalidGuildEvent = 8; - } - - optional .CMsgClientToGCRequestActiveGuildChallengeResponse.EResponse result = 1 [default = k_eInternalError]; - optional .CMsgGuildChallenge active_challenge = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidEvent = 5; + k_eInvalidGuild = 6; + k_eNotMember = 7; + k_eInvalidGuildEvent = 8; + } + + optional .CMsgClientToGCRequestActiveGuildChallengeResponse.EResponse result = 1 [default = k_eInternalError]; + optional .CMsgGuildChallenge active_challenge = 2; } message CMsgGCToClientActiveGuildChallengeUpdated { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; - optional .CMsgGuildChallenge active_challenge = 3; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional .CMsgGuildChallenge active_challenge = 3; } message CMsgClientToGCRequestGuildEventMembers { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; } message CMsgClientToGCRequestGuildEventMembersResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidEvent = 5; - k_eInvalidGuild = 6; - k_eNotMember = 7; - k_eInvalidGuildEvent = 8; - } - - optional .CMsgClientToGCRequestGuildEventMembersResponse.EResponse result = 1 [default = k_eInternalError]; - repeated .CMsgGuildEventMember members = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidEvent = 5; + k_eInvalidGuild = 6; + k_eNotMember = 7; + k_eInvalidGuildEvent = 8; + } + + optional .CMsgClientToGCRequestGuildEventMembersResponse.EResponse result = 1 [default = k_eInternalError]; + repeated .CMsgGuildEventMember members = 2; } message CMsgGuildLeaderboardCombinedResponse { - optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; - optional uint32 region = 2; - optional uint32 last_updated = 3; - repeated uint32 guild_id = 4 [packed = true]; - repeated uint32 rank = 5 [packed = true]; - repeated uint32 current_percentile = 6 [packed = true]; - repeated uint32 weekly_percentile = 7 [packed = true]; - repeated uint32 points = 8 [packed = true]; + optional .EEvent event_id = 1 [default = EVENT_ID_NONE]; + optional uint32 region = 2; + optional uint32 last_updated = 3; + repeated uint32 guild_id = 4 [packed = true]; + repeated uint32 rank = 5 [packed = true]; + repeated uint32 current_percentile = 6 [packed = true]; + repeated uint32 weekly_percentile = 7 [packed = true]; + repeated uint32 points = 8 [packed = true]; } message CMsgClientToGCClaimLeaderboardRewards { - optional uint32 guild_id = 1; - optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; + optional uint32 guild_id = 1; + optional .EEvent event_id = 2 [default = EVENT_ID_NONE]; } message CMsgClientToGCClaimLeaderboardRewardsResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eInvalidEvent = 5; - k_eInvalidGuild = 6; - k_eNotMember = 7; - k_eInvalidGuildEvent = 8; - k_eDoesNotQualify = 9; - k_eAlreadyClaimed = 10; - } - - optional .CMsgClientToGCClaimLeaderboardRewardsResponse.EResponse result = 1 [default = k_eInternalError]; - optional uint32 event_points = 2; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidEvent = 5; + k_eInvalidGuild = 6; + k_eNotMember = 7; + k_eInvalidGuildEvent = 8; + k_eDoesNotQualify = 9; + k_eAlreadyClaimed = 10; + } + + optional .CMsgClientToGCClaimLeaderboardRewardsResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 event_points = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_match_management.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_match_management.proto index af2fdaf5..242d21a9 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_match_management.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_match_management.proto @@ -3,6 +3,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_client_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_lobby.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -10,460 +11,461 @@ option optimize_for = SPEED; option java_generic_services = false; enum EStartFindingMatchResult { - k_EStartFindingMatchResult_Invalid = 0; - k_EStartFindingMatchResult_OK = 1; - k_EStartFindingMatchResult_AlreadySearching = 2; - k_EStartFindingMatchResult_FailGeneric = 100; - k_EStartFindingMatchResult_FailedIgnore = 101; - k_EStartFindingMatchResult_MatchmakingDisabled = 102; - k_EStartFindingMatchResult_RegionOffline = 103; - k_EStartFindingMatchResult_MatchmakingCooldown = 104; - k_EStartFindingMatchResult_ClientOutOfDate = 105; - k_EStartFindingMatchResult_CompetitiveNoLowPriority = 106; - k_EStartFindingMatchResult_CompetitiveNotUnlocked = 107; - k_EStartFindingMatchResult_GameModeNotUnlocked = 108; - k_EStartFindingMatchResult_CompetitiveNotEnoughPlayTime = 109; - k_EStartFindingMatchResult_MissingInitialSkill = 110; - k_EStartFindingMatchResult_CompetitiveRankSpreadTooLarge = 111; - k_EStartFindingMatchResult_MemberAlreadyInLobby = 112; - k_EStartFindingMatchResult_MemberNotVACVerified = 113; - k_EStartFindingMatchResult_WeekendTourneyBadPartySize = 114; - k_EStartFindingMatchResult_WeekendTourneyTeamBuyInTooSmall = 115; - k_EStartFindingMatchResult_WeekendTourneyIndividualBuyInTooLarge = 116; - k_EStartFindingMatchResult_WeekendTourneyTeamBuyInTooLarge = 117; - k_EStartFindingMatchResult_MemberMissingEventOwnership = 118; - k_EStartFindingMatchResult_WeekendTourneyNotUnlocked = 119; - k_EStartFindingMatchResult_WeekendTourneyRecentParticipation = 120; - k_EStartFindingMatchResult_MemberMissingAnchoredPhoneNumber = 121; - k_EStartFindingMatchResult_NotMemberOfClan = 122; - k_EStartFindingMatchResult_CoachesChallengeBadPartySize = 123; - k_EStartFindingMatchResult_CoachesChallengeRequirementsNotMet = 124; - k_EStartFindingMatchResult_InvalidRoleSelections = 125; - k_EStartFindingMatchResult_PhoneNumberDiscrepancy = 126; - k_EStartFindingMatchResult_NoQueuePoints = 127; - k_EStartFindingMatchResult_MemberMissingGauntletFlag = 128; - k_EStartFindingMatchResult_MemberGauntletTooRecent = 129; - k_EStartFindingMatchResult_DifficultyNotUnlocked = 130; - k_EStartFindingMatchResult_CoachesNotAllowedInParty = 131; - k_EStartFindingMatchResult_MatchmakingBusy = 132; - k_EStartFindingMatchResult_SteamChinaBanned = 133; - k_EStartFindingMatchResult_SteamChinaInvalidMixedParty = 134; - k_EStartFindingMatchResult_RestrictedFromRanked = 135; - k_EStartFindingMatchResult_RankPreventsParties = 136; - k_EStartFindingMatchResult_RegisteredNameRequired = 137; + k_EStartFindingMatchResult_Invalid = 0; + k_EStartFindingMatchResult_OK = 1; + k_EStartFindingMatchResult_AlreadySearching = 2; + k_EStartFindingMatchResult_FailGeneric = 100; + k_EStartFindingMatchResult_FailedIgnore = 101; + k_EStartFindingMatchResult_MatchmakingDisabled = 102; + k_EStartFindingMatchResult_RegionOffline = 103; + k_EStartFindingMatchResult_MatchmakingCooldown = 104; + k_EStartFindingMatchResult_ClientOutOfDate = 105; + k_EStartFindingMatchResult_CompetitiveNoLowPriority = 106; + k_EStartFindingMatchResult_CompetitiveNotUnlocked = 107; + k_EStartFindingMatchResult_GameModeNotUnlocked = 108; + k_EStartFindingMatchResult_CompetitiveNotEnoughPlayTime = 109; + k_EStartFindingMatchResult_MissingInitialSkill = 110; + k_EStartFindingMatchResult_CompetitiveRankSpreadTooLarge = 111; + k_EStartFindingMatchResult_MemberAlreadyInLobby = 112; + k_EStartFindingMatchResult_MemberNotVACVerified = 113; + k_EStartFindingMatchResult_WeekendTourneyBadPartySize = 114; + k_EStartFindingMatchResult_WeekendTourneyTeamBuyInTooSmall = 115; + k_EStartFindingMatchResult_WeekendTourneyIndividualBuyInTooLarge = 116; + k_EStartFindingMatchResult_WeekendTourneyTeamBuyInTooLarge = 117; + k_EStartFindingMatchResult_MemberMissingEventOwnership = 118; + k_EStartFindingMatchResult_WeekendTourneyNotUnlocked = 119; + k_EStartFindingMatchResult_WeekendTourneyRecentParticipation = 120; + k_EStartFindingMatchResult_MemberMissingAnchoredPhoneNumber = 121; + k_EStartFindingMatchResult_NotMemberOfClan = 122; + k_EStartFindingMatchResult_CoachesChallengeBadPartySize = 123; + k_EStartFindingMatchResult_CoachesChallengeRequirementsNotMet = 124; + k_EStartFindingMatchResult_InvalidRoleSelections = 125; + k_EStartFindingMatchResult_PhoneNumberDiscrepancy = 126; + k_EStartFindingMatchResult_NoQueuePoints = 127; + k_EStartFindingMatchResult_MemberMissingGauntletFlag = 128; + k_EStartFindingMatchResult_MemberGauntletTooRecent = 129; + k_EStartFindingMatchResult_DifficultyNotUnlocked = 130; + k_EStartFindingMatchResult_CoachesNotAllowedInParty = 131; + k_EStartFindingMatchResult_MatchmakingBusy = 132; + k_EStartFindingMatchResult_SteamChinaBanned = 133; + k_EStartFindingMatchResult_SteamChinaInvalidMixedParty = 134; + k_EStartFindingMatchResult_RestrictedFromRanked = 135; + k_EStartFindingMatchResult_RankPreventsParties = 136; + k_EStartFindingMatchResult_RegisteredNameRequired = 137; } message CMsgStartFindingMatch { - optional string key = 1; - optional uint32 matchgroups = 2 [default = 4294967295]; - optional uint32 client_version = 3; - optional uint32 game_modes = 4 [default = 4294967295]; - optional .MatchType match_type = 6 [default = MATCH_TYPE_CASUAL]; - optional uint32 matchlanguages = 7 [default = 4294967295]; - optional uint32 team_id = 8; - optional .MatchLanguages game_language_enum = 10 [default = MATCH_LANGUAGE_INVALID]; - optional string game_language_name = 11; - optional .CMsgClientPingData ping_data = 12; - optional uint32 region_select_flags = 13; - optional bool solo_queue = 14; - optional uint32 steam_clan_account_id = 16; - optional bool is_challenge_match = 17; - optional uint32 lane_selection_flags = 18; - optional bool high_priority_disabled = 19; - optional bool disable_experimental_gameplay = 20; - optional uint32 custom_game_difficulty_mask = 21; - optional uint32 bot_difficulty_mask = 22; - optional uint32 bot_script_index_mask = 23; + optional string key = 1; + optional uint32 matchgroups = 2 [default = 4294967295]; + optional uint32 client_version = 3; + optional uint32 game_modes = 4 [default = 4294967295]; + optional .MatchType match_type = 6 [default = MATCH_TYPE_CASUAL]; + optional uint32 matchlanguages = 7 [default = 4294967295]; + optional uint32 team_id = 8; + optional .MatchLanguages game_language_enum = 10 [default = MATCH_LANGUAGE_INVALID]; + optional string game_language_name = 11; + optional .CMsgClientPingData ping_data = 12; + optional uint32 region_select_flags = 13; + optional bool solo_queue = 14; + optional uint32 steam_clan_account_id = 16; + optional bool is_challenge_match = 17; + optional uint32 lane_selection_flags = 18; + optional bool high_priority_disabled = 19; + optional bool disable_experimental_gameplay = 20; + optional uint32 custom_game_difficulty_mask = 21; + optional uint32 bot_difficulty_mask = 22; + optional uint32 bot_script_index_mask = 23; } message CMsgStartFindingMatchResult { - optional uint32 legacy_generic_eresult = 1 [default = 2]; - optional .EStartFindingMatchResult result = 2 [default = k_EStartFindingMatchResult_Invalid]; - optional string error_token = 3; - optional string debug_message = 4; - repeated fixed64 responsible_party_members = 5; - optional uint32 result_metadata = 6; + optional uint32 legacy_generic_eresult = 1 [default = 2]; + optional .EStartFindingMatchResult result = 2 [default = k_EStartFindingMatchResult_Invalid]; + optional string error_token = 3; + optional string debug_message = 4; + repeated fixed64 responsible_party_members = 5; + optional uint32 result_metadata = 6; } message CMsgStopFindingMatch { - optional bool accept_cooldown = 1; + optional bool accept_cooldown = 1; } message CMsgPartyBuilderOptions { - optional uint32 additional_slots = 1; - optional .MatchType match_type = 2 [default = MATCH_TYPE_CASUAL]; - optional uint32 matchgroups = 3; - optional uint32 client_version = 4; - optional .MatchLanguages language = 5 [default = MATCH_LANGUAGE_INVALID]; + optional uint32 additional_slots = 1; + optional .MatchType match_type = 2 [default = MATCH_TYPE_CASUAL]; + optional uint32 matchgroups = 3; + optional uint32 client_version = 4; + optional .MatchLanguages language = 5 [default = MATCH_LANGUAGE_INVALID]; } message CMsgReadyUp { - optional .DOTALobbyReadyState state = 1 [default = DOTALobbyReadyState_UNDECLARED]; - optional fixed64 ready_up_key = 2; - optional .CDOTAClientHardwareSpecs hardware_specs = 3; + optional .DOTALobbyReadyState state = 1 [default = DOTALobbyReadyState_UNDECLARED]; + optional fixed64 ready_up_key = 2; + optional .CDOTAClientHardwareSpecs hardware_specs = 3; } message CMsgReadyUpStatus { - optional fixed64 lobby_id = 1; - repeated uint32 accepted_ids = 2; - repeated uint32 declined_ids = 3; - repeated uint32 accepted_indices = 4; - repeated uint32 declined_indices = 5; - optional .DOTALobbyReadyState local_ready_state = 6 [default = DOTALobbyReadyState_UNDECLARED]; + optional fixed64 lobby_id = 1; + repeated uint32 accepted_ids = 2; + repeated uint32 declined_ids = 3; + repeated uint32 accepted_indices = 4; + repeated uint32 declined_indices = 5; + optional .DOTALobbyReadyState local_ready_state = 6 [default = DOTALobbyReadyState_UNDECLARED]; } message CMsgAbandonCurrentGame { } message CMsgLobbyScenarioSave { - optional int32 version = 1; - optional bytes data = 2; + optional int32 version = 1; + optional bytes data = 2; } message CMsgPracticeLobbySetDetails { - message AbilityDraftSpecificDetails { - optional bool shuffle_draft_order = 1; - } - - optional uint64 lobby_id = 1; - optional string game_name = 2; - repeated .CLobbyTeamDetails team_details = 3; - optional uint32 server_region = 4; - optional uint32 game_mode = 5; - optional .DOTA_CM_PICK cm_pick = 6 [default = DOTA_CM_RANDOM]; - optional .DOTABotDifficulty bot_difficulty_radiant = 9 [default = BOT_DIFFICULTY_PASSIVE]; - optional bool allow_cheats = 10; - optional bool fill_with_bots = 11; - optional bool allow_spectating = 13; - optional string pass_key = 15; - optional uint32 leagueid = 16; - optional uint32 penalty_level_radiant = 17; - optional uint32 penalty_level_dire = 18; - optional uint32 series_type = 20; - optional uint32 radiant_series_wins = 21; - optional uint32 dire_series_wins = 22; - optional bool allchat = 23 [default = false]; - optional .LobbyDotaTVDelay dota_tv_delay = 24 [default = LobbyDotaTV_120]; - optional bool lan = 25; - optional string custom_game_mode = 26; - optional string custom_map_name = 27; - optional uint32 custom_difficulty = 28; - optional uint64 custom_game_id = 29; - optional uint32 custom_min_players = 30; - optional uint32 custom_max_players = 31; - optional .DOTALobbyVisibility visibility = 33 [default = DOTALobbyVisibility_Public]; - optional fixed64 custom_game_crc = 34; - optional fixed32 custom_game_timestamp = 37; - optional uint64 previous_match_override = 38; - optional .LobbyDotaPauseSetting pause_setting = 42 [default = LobbyDotaPauseSetting_Unlimited]; - optional .DOTABotDifficulty bot_difficulty_dire = 43 [default = BOT_DIFFICULTY_PASSIVE]; - optional uint64 bot_radiant = 44; - optional uint64 bot_dire = 45; - optional .DOTASelectionPriorityRules selection_priority_rules = 46 [default = k_DOTASelectionPriorityRules_Manual]; - optional bool custom_game_penalties = 47; - optional string lan_host_ping_location = 48; - optional uint32 league_node_id = 49; - repeated int32 requested_hero_ids = 50; - optional .CMsgLobbyScenarioSave scenario_save = 51; - optional .CMsgPracticeLobbySetDetails.AbilityDraftSpecificDetails ability_draft_specific_details = 52; - optional bool do_player_draft = 53; - repeated int32 requested_hero_teams = 54; + message AbilityDraftSpecificDetails { + optional bool shuffle_draft_order = 1; + } + + optional uint64 lobby_id = 1; + optional string game_name = 2; + repeated .CLobbyTeamDetails team_details = 3; + optional uint32 server_region = 4; + optional uint32 game_mode = 5; + optional .DOTA_CM_PICK cm_pick = 6 [default = DOTA_CM_RANDOM]; + optional .DOTABotDifficulty bot_difficulty_radiant = 9 [default = BOT_DIFFICULTY_PASSIVE]; + optional bool allow_cheats = 10; + optional bool fill_with_bots = 11; + optional bool allow_spectating = 13; + optional string pass_key = 15; + optional uint32 leagueid = 16; + optional uint32 penalty_level_radiant = 17; + optional uint32 penalty_level_dire = 18; + optional uint32 series_type = 20; + optional uint32 radiant_series_wins = 21; + optional uint32 dire_series_wins = 22; + optional bool allchat = 23 [default = false]; + optional .LobbyDotaTVDelay dota_tv_delay = 24 [default = LobbyDotaTV_120]; + optional bool lan = 25; + optional string custom_game_mode = 26; + optional string custom_map_name = 27; + optional uint32 custom_difficulty = 28; + optional uint64 custom_game_id = 29; + optional uint32 custom_min_players = 30; + optional uint32 custom_max_players = 31; + optional .DOTALobbyVisibility visibility = 33 [default = DOTALobbyVisibility_Public]; + optional fixed64 custom_game_crc = 34; + optional fixed32 custom_game_timestamp = 37; + optional uint64 previous_match_override = 38; + optional .LobbyDotaPauseSetting pause_setting = 42 [default = LobbyDotaPauseSetting_Unlimited]; + optional .DOTABotDifficulty bot_difficulty_dire = 43 [default = BOT_DIFFICULTY_PASSIVE]; + optional uint64 bot_radiant = 44; + optional uint64 bot_dire = 45; + optional .DOTASelectionPriorityRules selection_priority_rules = 46 [default = k_DOTASelectionPriorityRules_Manual]; + optional bool custom_game_penalties = 47; + optional string lan_host_ping_location = 48; + optional uint32 league_node_id = 49; + repeated int32 requested_hero_ids = 50; + optional .CMsgLobbyScenarioSave scenario_save = 51; + optional .CMsgPracticeLobbySetDetails.AbilityDraftSpecificDetails ability_draft_specific_details = 52; + optional bool do_player_draft = 53; + repeated int32 requested_hero_teams = 54; } message CMsgPracticeLobbyCreate { - optional string search_key = 1; - optional string pass_key = 5; - optional uint32 client_version = 6; - optional .CMsgPracticeLobbySetDetails lobby_details = 7; + optional string search_key = 1; + optional string pass_key = 5; + optional uint32 client_version = 6; + optional .CMsgPracticeLobbySetDetails lobby_details = 7; } message CMsgPracticeLobbySetTeamSlot { - optional .DOTA_GC_TEAM team = 1 [default = DOTA_GC_TEAM_GOOD_GUYS]; - optional uint32 slot = 2; - optional .DOTABotDifficulty bot_difficulty = 3 [default = BOT_DIFFICULTY_PASSIVE]; + optional .DOTA_GC_TEAM team = 1 [default = DOTA_GC_TEAM_GOOD_GUYS]; + optional uint32 slot = 2; + optional .DOTABotDifficulty bot_difficulty = 3 [default = BOT_DIFFICULTY_PASSIVE]; } message CMsgPracticeLobbySetCoach { - optional .DOTA_GC_TEAM team = 1 [default = DOTA_GC_TEAM_GOOD_GUYS]; + optional .DOTA_GC_TEAM team = 1 [default = DOTA_GC_TEAM_GOOD_GUYS]; } message CMsgPracticeLobbyJoinBroadcastChannel { - optional uint32 channel = 1; - optional string preferred_description = 2; - optional string preferred_country_code = 3; - optional string preferred_language_code = 4; + optional uint32 channel = 1; + optional string preferred_description = 2; + optional string preferred_country_code = 3; + optional string preferred_language_code = 4; } message CMsgPracticeLobbyCloseBroadcastChannel { - optional uint32 channel = 1; + optional uint32 channel = 1; } message CMsgPracticeLobbyToggleBroadcastChannelCameramanStatus { } message CMsgPracticeLobbyKick { - optional uint32 account_id = 3; + optional uint32 account_id = 3; } message CMsgPracticeLobbyKickFromTeam { - optional uint32 account_id = 1; + optional uint32 account_id = 1; } message CMsgPracticeLobbyLeave { } message CMsgPracticeLobbyLaunch { - optional uint32 client_version = 5; + optional uint32 client_version = 5; + optional fixed64 nonce = 6; } message CMsgApplyTeamToPracticeLobby { - optional uint32 team_id = 1; + optional uint32 team_id = 1; } message CMsgPracticeLobbyList { - optional string pass_key = 2; - optional uint32 region = 3; - optional .DOTA_GameMode game_mode = 4 [default = DOTA_GAMEMODE_NONE]; + optional string pass_key = 2; + optional uint32 region = 3; + optional .DOTA_GameMode game_mode = 4 [default = DOTA_GAMEMODE_NONE]; } message CMsgPracticeLobbyListResponseEntry { - message CLobbyMember { - optional uint32 account_id = 1; - optional string player_name = 2; - } - - optional uint64 id = 1 [(key_field) = true]; - repeated .CMsgPracticeLobbyListResponseEntry.CLobbyMember members = 5; - optional bool requires_pass_key = 6; - optional uint32 leader_account_id = 7; - optional string name = 10; - optional string custom_game_mode = 11; - optional .DOTA_GameMode game_mode = 12 [default = DOTA_GAMEMODE_NONE]; - optional bool friend_present = 13; - optional uint32 players = 14; - optional string custom_map_name = 15; - optional uint32 max_player_count = 16; - optional uint32 server_region = 17; - optional uint32 league_id = 19; - optional string lan_host_ping_location = 20; - optional uint32 min_player_count = 21; - optional bool penalties_enabled = 22; + message CLobbyMember { + optional uint32 account_id = 1; + optional string player_name = 2; + } + + optional uint64 id = 1 [(key_field) = true]; + repeated .CMsgPracticeLobbyListResponseEntry.CLobbyMember members = 5; + optional bool requires_pass_key = 6; + optional uint32 leader_account_id = 7; + optional string name = 10; + optional string custom_game_mode = 11; + optional .DOTA_GameMode game_mode = 12 [default = DOTA_GAMEMODE_NONE]; + optional bool friend_present = 13; + optional uint32 players = 14; + optional string custom_map_name = 15; + optional uint32 max_player_count = 16; + optional uint32 server_region = 17; + optional uint32 league_id = 19; + optional string lan_host_ping_location = 20; + optional uint32 min_player_count = 21; + optional bool penalties_enabled = 22; } message CMsgPracticeLobbyListResponse { - repeated .CMsgPracticeLobbyListResponseEntry lobbies = 2; + repeated .CMsgPracticeLobbyListResponseEntry lobbies = 2; } message CMsgLobbyList { - optional uint32 server_region = 1 [default = 0]; - optional .DOTA_GameMode game_mode = 2 [default = DOTA_GAMEMODE_NONE]; + optional uint32 server_region = 1 [default = 0]; + optional .DOTA_GameMode game_mode = 2 [default = DOTA_GAMEMODE_NONE]; } message CMsgLobbyListResponse { - repeated .CMsgPracticeLobbyListResponseEntry lobbies = 1; + repeated .CMsgPracticeLobbyListResponseEntry lobbies = 1; } message CMsgPracticeLobbyJoin { - optional uint64 lobby_id = 1; - optional uint32 client_version = 2; - optional string pass_key = 3; - optional fixed64 custom_game_crc = 4; - optional fixed32 custom_game_timestamp = 5; + optional uint64 lobby_id = 1; + optional uint32 client_version = 2; + optional string pass_key = 3; + optional fixed64 custom_game_crc = 4; + optional fixed32 custom_game_timestamp = 5; } message CMsgPracticeLobbyJoinResponse { - optional .DOTAJoinLobbyResult result = 1 [default = DOTA_JOIN_RESULT_SUCCESS]; + optional .DOTAJoinLobbyResult result = 1 [default = DOTA_JOIN_RESULT_SUCCESS]; } message CMsgFriendPracticeLobbyListRequest { - repeated uint32 friends = 1; + repeated uint32 friends = 1; } message CMsgFriendPracticeLobbyListResponse { - repeated .CMsgPracticeLobbyListResponseEntry lobbies = 1; + repeated .CMsgPracticeLobbyListResponseEntry lobbies = 1; } message CMsgJoinableCustomGameModesRequest { - optional uint32 server_region = 1; + optional uint32 server_region = 1; } message CMsgJoinableCustomGameModesResponseEntry { - optional uint64 custom_game_id = 1; - optional uint32 lobby_count = 2; - optional uint32 player_count = 3; + optional uint64 custom_game_id = 1; + optional uint32 lobby_count = 2; + optional uint32 player_count = 3; } message CMsgJoinableCustomGameModesResponse { - repeated .CMsgJoinableCustomGameModesResponseEntry game_modes = 1; + repeated .CMsgJoinableCustomGameModesResponseEntry game_modes = 1; } message CMsgJoinableCustomLobbiesRequest { - optional uint32 server_region = 1; - optional uint64 custom_game_id = 2; + optional uint32 server_region = 1; + optional uint64 custom_game_id = 2; } message CMsgJoinableCustomLobbiesResponseEntry { - optional fixed64 lobby_id = 1; - optional uint64 custom_game_id = 2; - optional string lobby_name = 3; - optional uint32 member_count = 4; - optional uint32 leader_account_id = 5; - optional string leader_name = 6; - optional string custom_map_name = 7; - optional uint32 max_player_count = 8; - optional uint32 server_region = 9; - optional bool has_pass_key = 11; - optional string lan_host_ping_location = 12; - optional uint32 lobby_creation_time = 13; - optional uint32 custom_game_timestamp = 14; - optional uint64 custom_game_crc = 15; - optional uint32 min_player_count = 16; - optional bool penalties_enabled = 17; + optional fixed64 lobby_id = 1; + optional uint64 custom_game_id = 2; + optional string lobby_name = 3; + optional uint32 member_count = 4; + optional uint32 leader_account_id = 5; + optional string leader_name = 6; + optional string custom_map_name = 7; + optional uint32 max_player_count = 8; + optional uint32 server_region = 9; + optional bool has_pass_key = 11; + optional string lan_host_ping_location = 12; + optional uint32 lobby_creation_time = 13; + optional uint32 custom_game_timestamp = 14; + optional uint64 custom_game_crc = 15; + optional uint32 min_player_count = 16; + optional bool penalties_enabled = 17; } message CMsgJoinableCustomLobbiesResponse { - repeated .CMsgJoinableCustomLobbiesResponseEntry lobbies = 1; + repeated .CMsgJoinableCustomLobbiesResponseEntry lobbies = 1; } message CMsgQuickJoinCustomLobby { - message LegacyRegionPing { - optional uint32 server_region = 1; - optional uint32 ping = 2; - optional fixed32 region_code = 3; - } + message LegacyRegionPing { + optional uint32 server_region = 1; + optional uint32 ping = 2; + optional fixed32 region_code = 3; + } - optional uint32 legacy_server_region = 1; - optional uint64 custom_game_id = 2; - optional uint32 client_version = 3; - optional .CMsgPracticeLobbySetDetails create_lobby_details = 4; - optional bool allow_any_map = 5; - repeated .CMsgQuickJoinCustomLobby.LegacyRegionPing legacy_region_pings = 6; - optional .CMsgClientPingData ping_data = 7; + optional uint32 legacy_server_region = 1; + optional uint64 custom_game_id = 2; + optional uint32 client_version = 3; + optional .CMsgPracticeLobbySetDetails create_lobby_details = 4; + optional bool allow_any_map = 5; + repeated .CMsgQuickJoinCustomLobby.LegacyRegionPing legacy_region_pings = 6; + optional .CMsgClientPingData ping_data = 7; } message CMsgQuickJoinCustomLobbyResponse { - optional .DOTAJoinLobbyResult result = 1 [default = DOTA_JOIN_RESULT_SUCCESS]; + optional .DOTAJoinLobbyResult result = 1 [default = DOTA_JOIN_RESULT_SUCCESS]; } message CMsgBotGameCreate { - optional string search_key = 1; - optional uint32 client_version = 2; - optional .DOTABotDifficulty difficulty_radiant = 3 [default = BOT_DIFFICULTY_PASSIVE]; - optional .DOTA_GC_TEAM team = 4 [default = DOTA_GC_TEAM_GOOD_GUYS]; - optional uint32 game_mode = 5; - optional .DOTABotDifficulty difficulty_dire = 6 [default = BOT_DIFFICULTY_PASSIVE]; + optional string search_key = 1; + optional uint32 client_version = 2; + optional .DOTABotDifficulty difficulty_radiant = 3 [default = BOT_DIFFICULTY_PASSIVE]; + optional .DOTA_GC_TEAM team = 4 [default = DOTA_GC_TEAM_GOOD_GUYS]; + optional uint32 game_mode = 5; + optional .DOTABotDifficulty difficulty_dire = 6 [default = BOT_DIFFICULTY_PASSIVE]; } message CMsgDOTAPartyMemberSetCoach { - optional bool wants_coach = 1; + optional bool wants_coach = 1; } message CMsgDOTASetGroupLeader { - optional fixed64 new_leader_steamid = 1; + optional fixed64 new_leader_steamid = 1; } message CMsgDOTACancelGroupInvites { - repeated fixed64 invited_steamids = 1; - repeated fixed64 invited_groupids = 2; + repeated fixed64 invited_steamids = 1; + repeated fixed64 invited_groupids = 2; } message CMsgDOTASetGroupOpenStatus { - optional bool open = 1; + optional bool open = 1; } message CMsgDOTAGroupMergeInvite { - optional fixed64 other_group_id = 1; + optional fixed64 other_group_id = 1; } message CMsgDOTAGroupMergeResponse { - optional fixed64 initiator_group_id = 1; - optional bool accept = 2; + optional fixed64 initiator_group_id = 1; + optional bool accept = 2; } message CMsgDOTAGroupMergeReply { - optional .EDOTAGroupMergeResult result = 1 [default = k_EDOTAGroupMergeResult_OK]; + optional .EDOTAGroupMergeResult result = 1 [default = k_EDOTAGroupMergeResult_OK]; } message CMsgSpectatorLobbyGameDetails { - message Team { - optional uint32 team_id = 1; - optional string team_name = 2; - optional fixed64 team_logo = 3; - } - - optional uint32 language = 1; - optional uint64 match_id = 2; - optional fixed64 server_steam_id = 3; - optional string stream_url = 4; - optional string stream_name = 5; - optional uint32 league_id = 6; - optional uint32 series_type = 7; - optional uint32 series_game = 8; - optional .CMsgSpectatorLobbyGameDetails.Team radiant_team = 9; - optional .CMsgSpectatorLobbyGameDetails.Team dire_team = 10; + message Team { + optional uint32 team_id = 1; + optional string team_name = 2; + optional fixed64 team_logo = 3; + } + + optional uint32 language = 1; + optional uint64 match_id = 2; + optional fixed64 server_steam_id = 3; + optional string stream_url = 4; + optional string stream_name = 5; + optional uint32 league_id = 6; + optional uint32 series_type = 7; + optional uint32 series_game = 8; + optional .CMsgSpectatorLobbyGameDetails.Team radiant_team = 9; + optional .CMsgSpectatorLobbyGameDetails.Team dire_team = 10; } message CMsgSetSpectatorLobbyDetails { - optional uint64 lobby_id = 1; - optional string lobby_name = 2; - optional string pass_key = 3; - optional .CMsgSpectatorLobbyGameDetails game_details = 4; + optional uint64 lobby_id = 1; + optional string lobby_name = 2; + optional string pass_key = 3; + optional .CMsgSpectatorLobbyGameDetails game_details = 4; } message CMsgCreateSpectatorLobby { - optional uint32 client_version = 1; - optional .CMsgSetSpectatorLobbyDetails details = 2; + optional uint32 client_version = 1; + optional .CMsgSetSpectatorLobbyDetails details = 2; } message CMsgSpectatorLobbyList { } message CMsgSpectatorLobbyListResponse { - message SpectatorLobby { - optional uint64 lobby_id = 1; - optional string game_name = 2; - optional bool requires_pass_key = 3; - optional uint32 leader_account_id = 4; - optional uint32 member_count = 5; - optional .CMsgSpectatorLobbyGameDetails game_details = 7; - } + message SpectatorLobby { + optional uint64 lobby_id = 1; + optional string game_name = 2; + optional bool requires_pass_key = 3; + optional uint32 leader_account_id = 4; + optional uint32 member_count = 5; + optional .CMsgSpectatorLobbyGameDetails game_details = 7; + } - repeated .CMsgSpectatorLobbyListResponse.SpectatorLobby lobbies = 1; + repeated .CMsgSpectatorLobbyListResponse.SpectatorLobby lobbies = 1; } message CMsgClientToGCRequestSteamDatagramTicket { - optional fixed64 server_steam_id = 1; + optional fixed64 server_steam_id = 1; } message CMsgClientToGCRequestSteamDatagramTicketResponse { - optional bytes serialized_ticket = 1; - optional string message = 2; + optional bytes serialized_ticket = 1; + optional string message = 2; } message CMsgGCToClientSteamDatagramTicket { - optional fixed32 legacy_time_expiry = 1; - optional fixed64 legacy_authorized_steam_id = 2; - optional fixed32 legacy_authorized_public_ip = 3; - optional fixed64 legacy_gameserver_steam_id = 4; - optional fixed64 legacy_gameserver_net_id = 5; - optional bytes legacy_signature = 6; - optional uint32 legacy_app_id = 7; - repeated bytes legacy_extra_fields = 8; - optional bytes serialized_ticket = 16; + optional fixed32 legacy_time_expiry = 1; + optional fixed64 legacy_authorized_steam_id = 2; + optional fixed32 legacy_authorized_public_ip = 3; + optional fixed64 legacy_gameserver_steam_id = 4; + optional fixed64 legacy_gameserver_net_id = 5; + optional bytes legacy_signature = 6; + optional uint32 legacy_app_id = 7; + repeated bytes legacy_extra_fields = 8; + optional bytes serialized_ticket = 16; } message CMsgGCToClientRequestLaneSelection { } message CMsgGCToClientRequestLaneSelectionResponse { - optional uint32 lane_selection_flags = 1; - optional bool high_priority_disabled = 2; + optional uint32 lane_selection_flags = 1; + optional bool high_priority_disabled = 2; } message CMsgGCToClientRequestMMInfo { } message CMsgClientToGCMMInfo { - optional uint32 lane_selection_flags = 1; - optional bool high_priority_disabled = 2; + optional uint32 lane_selection_flags = 1; + optional bool high_priority_disabled = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_team.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_team.proto index b14115ad..e9af7079 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_team.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_team.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_tournament.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_tournament.proto index 8be9fae2..a78a3c80 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_tournament.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_tournament.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_client_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,173 +7,173 @@ option optimize_for = SPEED; option java_generic_services = false; enum ETournamentEvent { - k_ETournamentEvent_None = 0; - k_ETournamentEvent_TournamentCreated = 1; - k_ETournamentEvent_TournamentsMerged = 2; - k_ETournamentEvent_GameOutcome = 3; - k_ETournamentEvent_TeamGivenBye = 4; - k_ETournamentEvent_TournamentCanceledByAdmin = 5; - k_ETournamentEvent_TeamAbandoned = 6; - k_ETournamentEvent_ScheduledGameStarted = 7; - k_ETournamentEvent_Canceled = 8; - k_ETournamentEvent_TeamParticipationTimedOut_EntryFeeRefund = 9; - k_ETournamentEvent_TeamParticipationTimedOut_EntryFeeForfeit = 10; - k_ETournamentEvent_TeamParticipationTimedOut_GrantedVictory = 11; + k_ETournamentEvent_None = 0; + k_ETournamentEvent_TournamentCreated = 1; + k_ETournamentEvent_TournamentsMerged = 2; + k_ETournamentEvent_GameOutcome = 3; + k_ETournamentEvent_TeamGivenBye = 4; + k_ETournamentEvent_TournamentCanceledByAdmin = 5; + k_ETournamentEvent_TeamAbandoned = 6; + k_ETournamentEvent_ScheduledGameStarted = 7; + k_ETournamentEvent_Canceled = 8; + k_ETournamentEvent_TeamParticipationTimedOut_EntryFeeRefund = 9; + k_ETournamentEvent_TeamParticipationTimedOut_EntryFeeForfeit = 10; + k_ETournamentEvent_TeamParticipationTimedOut_GrantedVictory = 11; } message CMsgRequestWeekendTourneySchedule { } message CMsgWeekendTourneySchedule { - message Division { - optional uint32 division_code = 1; - optional uint32 time_window_open = 2; - optional uint32 time_window_close = 3; - optional uint32 time_window_open_next = 4; - optional uint32 trophy_id = 5; - optional bool free_weekend = 6; - } - - repeated .CMsgWeekendTourneySchedule.Division divisions = 1; + message Division { + optional uint32 division_code = 1; + optional uint32 time_window_open = 2; + optional uint32 time_window_close = 3; + optional uint32 time_window_open_next = 4; + optional uint32 trophy_id = 5; + optional bool free_weekend = 6; + } + + repeated .CMsgWeekendTourneySchedule.Division divisions = 1; } message CMsgWeekendTourneyOpts { - optional bool participating = 1; - optional uint32 division_id = 2; - optional uint32 buyin = 3; - optional uint32 skill_level = 4; - optional uint32 match_groups = 5; - optional uint32 team_id = 6; - optional string pickup_team_name = 7; - optional uint64 pickup_team_logo = 8; + optional bool participating = 1; + optional uint32 division_id = 2; + optional uint32 buyin = 3; + optional uint32 skill_level = 4; + optional uint32 match_groups = 5; + optional uint32 team_id = 6; + optional string pickup_team_name = 7; + optional uint64 pickup_team_logo = 8; } message CMsgWeekendTourneyLeave { } message CMsgDOTATournament { - message Team { - optional fixed64 team_gid = 1; - optional uint32 node_or_state = 2; - repeated uint32 players = 3 [packed = true]; - repeated uint32 player_buyin = 9 [packed = true]; - repeated uint32 player_skill_level = 10 [packed = true]; - optional uint32 match_group_mask = 12; - optional uint32 team_id = 4; - optional string team_name = 5; - optional uint64 team_base_logo = 7; - optional uint64 team_ui_logo = 8; - } - - message Game { - optional uint32 node_idx = 1; - optional fixed64 lobby_id = 2; - optional uint64 match_id = 3; - optional bool team_a_good = 4; - optional .ETournamentGameState state = 5 [default = k_ETournamentGameState_Unknown]; - optional uint32 start_time = 6; - } - - message Node { - optional uint32 node_id = 1; - optional uint32 team_idx_a = 2; - optional uint32 team_idx_b = 3; - optional .ETournamentNodeState node_state = 4 [default = k_ETournamentNodeState_Unknown]; - } - - optional uint32 tournament_id = 1; - optional uint32 division_id = 2; - optional uint32 schedule_time = 3; - optional uint32 skill_level = 4; - optional .ETournamentTemplate tournament_template = 5 [default = k_ETournamentTemplate_None]; - optional .ETournamentState state = 6 [default = k_ETournamentState_Unknown]; - optional uint32 state_seq_num = 10; - optional uint32 season_trophy_id = 11; - repeated .CMsgDOTATournament.Team teams = 7; - repeated .CMsgDOTATournament.Game games = 8; - repeated .CMsgDOTATournament.Node nodes = 9; + message Team { + optional fixed64 team_gid = 1; + optional uint32 node_or_state = 2; + repeated uint32 players = 3 [packed = true]; + repeated uint32 player_buyin = 9 [packed = true]; + repeated uint32 player_skill_level = 10 [packed = true]; + optional uint32 match_group_mask = 12; + optional uint32 team_id = 4; + optional string team_name = 5; + optional uint64 team_base_logo = 7; + optional uint64 team_ui_logo = 8; + } + + message Game { + optional uint32 node_idx = 1; + optional fixed64 lobby_id = 2; + optional uint64 match_id = 3; + optional bool team_a_good = 4; + optional .ETournamentGameState state = 5 [default = k_ETournamentGameState_Unknown]; + optional uint32 start_time = 6; + } + + message Node { + optional uint32 node_id = 1; + optional uint32 team_idx_a = 2; + optional uint32 team_idx_b = 3; + optional .ETournamentNodeState node_state = 4 [default = k_ETournamentNodeState_Unknown]; + } + + optional uint32 tournament_id = 1; + optional uint32 division_id = 2; + optional uint32 schedule_time = 3; + optional uint32 skill_level = 4; + optional .ETournamentTemplate tournament_template = 5 [default = k_ETournamentTemplate_None]; + optional .ETournamentState state = 6 [default = k_ETournamentState_Unknown]; + optional uint32 state_seq_num = 10; + optional uint32 season_trophy_id = 11; + repeated .CMsgDOTATournament.Team teams = 7; + repeated .CMsgDOTATournament.Game games = 8; + repeated .CMsgDOTATournament.Node nodes = 9; } message CMsgDOTATournamentStateChange { - message GameChange { - optional uint64 match_id = 1; - optional .ETournamentGameState new_state = 2 [default = k_ETournamentGameState_Unknown]; - } - - message TeamChange { - optional uint64 team_gid = 1; - optional uint32 new_node_or_state = 2; - optional uint32 old_node_or_state = 3; - } - - optional uint32 new_tournament_id = 1; - optional .ETournamentEvent event = 2 [default = k_ETournamentEvent_None]; - optional .ETournamentState new_tournament_state = 3 [default = k_ETournamentState_Unknown]; - repeated .CMsgDOTATournamentStateChange.GameChange game_changes = 4; - repeated .CMsgDOTATournamentStateChange.TeamChange team_changes = 5; - repeated uint32 merged_tournament_ids = 6 [packed = true]; - optional uint32 state_seq_num = 7; + message GameChange { + optional uint64 match_id = 1; + optional .ETournamentGameState new_state = 2 [default = k_ETournamentGameState_Unknown]; + } + + message TeamChange { + optional uint64 team_gid = 1; + optional uint32 new_node_or_state = 2; + optional uint32 old_node_or_state = 3; + } + + optional uint32 new_tournament_id = 1; + optional .ETournamentEvent event = 2 [default = k_ETournamentEvent_None]; + optional .ETournamentState new_tournament_state = 3 [default = k_ETournamentState_Unknown]; + repeated .CMsgDOTATournamentStateChange.GameChange game_changes = 4; + repeated .CMsgDOTATournamentStateChange.TeamChange team_changes = 5; + repeated uint32 merged_tournament_ids = 6 [packed = true]; + optional uint32 state_seq_num = 7; } message CMsgDOTAWeekendTourneyPlayerSkillLevelStats { - optional uint32 skill_level = 1; - optional uint32 times_won_0 = 2; - optional uint32 times_won_1 = 3; - optional uint32 times_won_2 = 4; - optional uint32 times_won_3 = 5; - optional uint32 times_bye_and_lost = 6; - optional uint32 times_bye_and_won = 7; - optional uint32 times_unusual_champ = 10; - optional uint32 total_games_won = 8; - optional uint32 score = 9; + optional uint32 skill_level = 1; + optional uint32 times_won_0 = 2; + optional uint32 times_won_1 = 3; + optional uint32 times_won_2 = 4; + optional uint32 times_won_3 = 5; + optional uint32 times_bye_and_lost = 6; + optional uint32 times_bye_and_won = 7; + optional uint32 times_unusual_champ = 10; + optional uint32 total_games_won = 8; + optional uint32 score = 9; } message CMsgDOTAWeekendTourneyPlayerStats { - optional uint32 account_id = 1; - optional uint32 season_trophy_id = 2; - repeated .CMsgDOTAWeekendTourneyPlayerSkillLevelStats skill_levels = 3; - optional uint32 current_tier = 4; + optional uint32 account_id = 1; + optional uint32 season_trophy_id = 2; + repeated .CMsgDOTAWeekendTourneyPlayerSkillLevelStats skill_levels = 3; + optional uint32 current_tier = 4; } message CMsgDOTAWeekendTourneyPlayerStatsRequest { - optional uint32 account_id = 1; - optional uint32 season_trophy_id = 2; + optional uint32 account_id = 1; + optional uint32 season_trophy_id = 2; } message CMsgDOTAWeekendTourneyPlayerHistory { - message Tournament { - optional uint32 tournament_id = 1; - optional uint32 start_time = 2; - optional uint32 tournament_tier = 3; - optional uint32 team_id = 4; - optional uint32 team_date = 5; - optional uint32 team_result = 6; - repeated uint32 account_id = 7; - optional string team_name = 8; - optional uint32 season_trophy_id = 9; - } - - optional uint32 account_id = 1; - repeated .CMsgDOTAWeekendTourneyPlayerHistory.Tournament tournaments = 3; + message Tournament { + optional uint32 tournament_id = 1; + optional uint32 start_time = 2; + optional uint32 tournament_tier = 3; + optional uint32 team_id = 4; + optional uint32 team_date = 5; + optional uint32 team_result = 6; + repeated uint32 account_id = 7; + optional string team_name = 8; + optional uint32 season_trophy_id = 9; + } + + optional uint32 account_id = 1; + repeated .CMsgDOTAWeekendTourneyPlayerHistory.Tournament tournaments = 3; } message CMsgDOTAWeekendTourneyParticipationDetails { - message Tier { - optional uint32 tier = 1; - optional uint32 players = 2; - optional uint32 teams = 3; - optional uint32 winning_teams = 4; - optional uint32 players_streak_2 = 5; - optional uint32 players_streak_3 = 6; - optional uint32 players_streak_4 = 7; - optional uint32 players_streak_5 = 8; - } - - message Division { - optional uint32 division_id = 1; - optional uint32 schedule_time = 2; - repeated .CMsgDOTAWeekendTourneyParticipationDetails.Tier tiers = 3; - } - - repeated .CMsgDOTAWeekendTourneyParticipationDetails.Division divisions = 1; + message Tier { + optional uint32 tier = 1; + optional uint32 players = 2; + optional uint32 teams = 3; + optional uint32 winning_teams = 4; + optional uint32 players_streak_2 = 5; + optional uint32 players_streak_3 = 6; + optional uint32 players_streak_4 = 7; + optional uint32 players_streak_5 = 8; + } + + message Division { + optional uint32 division_id = 1; + optional uint32 schedule_time = 2; + repeated .CMsgDOTAWeekendTourneyParticipationDetails.Tier tiers = 3; + } + + repeated .CMsgDOTAWeekendTourneyParticipationDetails.Division divisions = 1; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_watch.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_watch.proto index 51d22672..32fdb49d 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_watch.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_client_watch.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,71 +7,71 @@ option optimize_for = SPEED; option java_generic_services = false; message CSourceTVGameSmall { - message Player { - optional uint32 account_id = 1; - optional int32 hero_id = 2; - optional uint32 team_slot = 3; - optional uint32 team = 4; - } - - optional uint32 activate_time = 1; - optional uint32 deactivate_time = 2; - optional uint64 server_steam_id = 3; - optional uint64 lobby_id = 4; - optional uint32 league_id = 5; - optional uint32 lobby_type = 6; - optional int32 game_time = 7; - optional uint32 delay = 8; - optional uint32 spectators = 9; - optional uint32 game_mode = 10; - optional uint32 average_mmr = 11; - optional uint64 match_id = 12; - optional uint32 series_id = 13; - optional string team_name_radiant = 15; - optional string team_name_dire = 16; - optional fixed64 team_logo_radiant = 24; - optional fixed64 team_logo_dire = 25; - optional uint32 team_id_radiant = 30; - optional uint32 team_id_dire = 31; - optional uint32 sort_score = 17; - optional float last_update_time = 18; - optional int32 radiant_lead = 19; - optional uint32 radiant_score = 20; - optional uint32 dire_score = 21; - repeated .CSourceTVGameSmall.Player players = 22; - optional fixed32 building_state = 23; - optional uint32 weekend_tourney_tournament_id = 26; - optional uint32 weekend_tourney_division = 27; - optional uint32 weekend_tourney_skill_level = 28; - optional uint32 weekend_tourney_bracket_round = 29; - optional uint32 custom_game_difficulty = 32; - optional bool is_player_draft = 33; - optional bool is_watch_eligible = 34; + message Player { + optional uint32 account_id = 1; + optional int32 hero_id = 2; + optional uint32 team_slot = 3; + optional uint32 team = 4; + } + + optional uint32 activate_time = 1; + optional uint32 deactivate_time = 2; + optional uint64 server_steam_id = 3; + optional uint64 lobby_id = 4; + optional uint32 league_id = 5; + optional uint32 lobby_type = 6; + optional int32 game_time = 7; + optional uint32 delay = 8; + optional uint32 spectators = 9; + optional uint32 game_mode = 10; + optional uint32 average_mmr = 11; + optional uint64 match_id = 12; + optional uint32 series_id = 13; + optional string team_name_radiant = 15; + optional string team_name_dire = 16; + optional fixed64 team_logo_radiant = 24; + optional fixed64 team_logo_dire = 25; + optional uint32 team_id_radiant = 30; + optional uint32 team_id_dire = 31; + optional uint32 sort_score = 17; + optional float last_update_time = 18; + optional int32 radiant_lead = 19; + optional uint32 radiant_score = 20; + optional uint32 dire_score = 21; + repeated .CSourceTVGameSmall.Player players = 22; + optional fixed32 building_state = 23; + optional uint32 weekend_tourney_tournament_id = 26; + optional uint32 weekend_tourney_division = 27; + optional uint32 weekend_tourney_skill_level = 28; + optional uint32 weekend_tourney_bracket_round = 29; + optional uint32 custom_game_difficulty = 32; + optional bool is_player_draft = 33; + optional bool is_watch_eligible = 34; } message CMsgClientToGCFindTopSourceTVGames { - optional string search_key = 1; - optional uint32 league_id = 2; - optional int32 hero_id = 3; - optional uint32 start_game = 4; - optional uint32 game_list_index = 5; - repeated uint64 lobby_ids = 6; + optional string search_key = 1; + optional uint32 league_id = 2; + optional int32 hero_id = 3; + optional uint32 start_game = 4; + optional uint32 game_list_index = 5; + repeated uint64 lobby_ids = 6; } message CMsgGCToClientFindTopSourceTVGamesResponse { - optional string search_key = 1; - optional uint32 league_id = 2; - optional int32 hero_id = 3; - optional uint32 start_game = 4; - optional uint32 num_games = 5; - optional uint32 game_list_index = 6; - repeated .CSourceTVGameSmall game_list = 7; - optional bool specific_games = 8; - optional .CSourceTVGameSmall bot_game = 9; + optional string search_key = 1; + optional uint32 league_id = 2; + optional int32 hero_id = 3; + optional uint32 start_game = 4; + optional uint32 num_games = 5; + optional uint32 game_list_index = 6; + repeated .CSourceTVGameSmall game_list = 7; + optional bool specific_games = 8; + optional .CSourceTVGameSmall bot_game = 9; } message CMsgGCToClientTopWeekendTourneyGames { - repeated .CSourceTVGameSmall live_games = 1; + repeated .CSourceTVGameSmall live_games = 1; } message CMsgClientToGCTopLeagueMatchesRequest { @@ -80,134 +81,134 @@ message CMsgClientToGCTopFriendMatchesRequest { } message CMsgClientToGCMatchesMinimalRequest { - repeated uint64 match_ids = 1; + repeated uint64 match_ids = 1; } message CMsgClientToGCMatchesMinimalResponse { - repeated .CMsgDOTAMatchMinimal matches = 1; - optional bool last_match = 2; + repeated .CMsgDOTAMatchMinimal matches = 1; + optional bool last_match = 2; } message CMsgGCToClientTopLeagueMatchesResponse { - repeated .CMsgDOTAMatchMinimal matches = 2; + repeated .CMsgDOTAMatchMinimal matches = 2; } message CMsgGCToClientTopFriendMatchesResponse { - repeated .CMsgDOTAMatchMinimal matches = 1; + repeated .CMsgDOTAMatchMinimal matches = 1; } message CMsgSpectateFriendGame { - optional fixed64 steam_id = 1; - optional bool live = 2; + optional fixed64 steam_id = 1; + optional bool live = 2; } message CMsgSpectateFriendGameResponse { - enum EWatchLiveResult { - SUCCESS = 0; - ERROR_GENERIC = 1; - ERROR_NO_PLUS = 2; - ERROR_NOT_FRIENDS = 3; - ERROR_LOBBY_NOT_FOUND = 4; - ERROR_SPECTATOR_IN_A_LOBBY = 5; - ERROR_LOBBY_IS_LAN = 6; - ERROR_WRONG_LOBBY_TYPE = 7; - ERROR_WRONG_LOBBY_STATE = 8; - ERROR_PLAYER_NOT_PLAYER = 9; - ERROR_TOO_MANY_SPECTATORS = 10; - ERROR_SPECTATOR_SWITCHED_TEAMS = 11; - ERROR_FRIENDS_ON_BOTH_SIDES = 12; - ERROR_SPECTATOR_IN_THIS_LOBBY = 13; - ERROR_LOBBY_IS_LEAGUE = 14; - } - - optional fixed64 server_steamid = 4; - optional .CMsgSpectateFriendGameResponse.EWatchLiveResult watch_live_result = 5 [default = SUCCESS]; + enum EWatchLiveResult { + SUCCESS = 0; + ERROR_GENERIC = 1; + ERROR_NO_PLUS = 2; + ERROR_NOT_FRIENDS = 3; + ERROR_LOBBY_NOT_FOUND = 4; + ERROR_SPECTATOR_IN_A_LOBBY = 5; + ERROR_LOBBY_IS_LAN = 6; + ERROR_WRONG_LOBBY_TYPE = 7; + ERROR_WRONG_LOBBY_STATE = 8; + ERROR_PLAYER_NOT_PLAYER = 9; + ERROR_TOO_MANY_SPECTATORS = 10; + ERROR_SPECTATOR_SWITCHED_TEAMS = 11; + ERROR_FRIENDS_ON_BOTH_SIDES = 12; + ERROR_SPECTATOR_IN_THIS_LOBBY = 13; + ERROR_LOBBY_IS_LEAGUE = 14; + } + + optional fixed64 server_steamid = 4; + optional .CMsgSpectateFriendGameResponse.EWatchLiveResult watch_live_result = 5 [default = SUCCESS]; } message CDOTAReplayDownloadInfo { - message Highlight { - optional uint32 timestamp = 1; - optional string description = 2; - } + message Highlight { + optional uint32 timestamp = 1; + optional string description = 2; + } - optional .CMsgDOTAMatchMinimal match = 1; - optional string title = 2; - optional string description = 3; - optional uint32 size = 4; - repeated string tags = 5; - optional bool exists_on_disk = 6; + optional .CMsgDOTAMatchMinimal match = 1; + optional string title = 2; + optional string description = 3; + optional uint32 size = 4; + repeated string tags = 5; + optional bool exists_on_disk = 6; } message CMsgWatchGame { - optional fixed64 server_steamid = 1; - optional uint32 client_version = 2; - optional fixed64 watch_server_steamid = 3; - optional uint64 lobby_id = 4; - repeated uint32 regions = 5; + optional fixed64 server_steamid = 1; + optional uint32 client_version = 2; + optional fixed64 watch_server_steamid = 3; + optional uint64 lobby_id = 4; + repeated uint32 regions = 5; } message CMsgCancelWatchGame { } message CMsgWatchGameResponse { - enum WatchGameResult { - PENDING = 0; - READY = 1; - GAMESERVERNOTFOUND = 2; - UNAVAILABLE = 3; - CANCELLED = 4; - INCOMPATIBLEVERSION = 5; - MISSINGLEAGUESUBSCRIPTION = 6; - LOBBYNOTFOUND = 7; - } - - optional .CMsgWatchGameResponse.WatchGameResult watch_game_result = 1 [default = PENDING]; - optional uint32 source_tv_public_addr = 2; - optional uint32 source_tv_private_addr = 3; - optional uint32 source_tv_port = 4; - optional fixed64 game_server_steamid = 5; - optional fixed64 watch_server_steamid = 6; - optional fixed64 watch_tv_unique_secret_code = 7; - optional string broadcast_url = 8; + enum WatchGameResult { + PENDING = 0; + READY = 1; + GAMESERVERNOTFOUND = 2; + UNAVAILABLE = 3; + CANCELLED = 4; + INCOMPATIBLEVERSION = 5; + MISSINGLEAGUESUBSCRIPTION = 6; + LOBBYNOTFOUND = 7; + } + + optional .CMsgWatchGameResponse.WatchGameResult watch_game_result = 1 [default = PENDING]; + optional uint32 source_tv_public_addr = 2; + optional uint32 source_tv_private_addr = 3; + optional uint32 source_tv_port = 4; + optional fixed64 game_server_steamid = 5; + optional fixed64 watch_server_steamid = 6; + optional fixed64 watch_tv_unique_secret_code = 7; + optional string broadcast_url = 8; } message CMsgPartyLeaderWatchGamePrompt { - optional fixed64 game_server_steamid = 5; + optional fixed64 game_server_steamid = 5; } message CDOTABroadcasterInfo { - optional uint32 account_id = 1; - optional fixed64 server_steam_id = 2; - optional bool live = 3; - optional string team_name_radiant = 4; - optional string team_name_dire = 5; - optional uint32 series_game = 7; - optional uint32 upcoming_broadcast_timestamp = 9; - optional bool allow_live_video = 10; - optional uint32 node_type = 11; - optional string node_name = 12; + optional uint32 account_id = 1; + optional fixed64 server_steam_id = 2; + optional bool live = 3; + optional string team_name_radiant = 4; + optional string team_name_dire = 5; + optional uint32 series_game = 7; + optional uint32 upcoming_broadcast_timestamp = 9; + optional bool allow_live_video = 10; + optional uint32 node_type = 11; + optional string node_name = 12; } message CMsgDOTASeries { - message TeamInfo { - optional uint32 team_id = 1; - optional string team_name = 2; - optional string team_logo_url = 3; - optional uint32 wager_count = 4; - } - - message LiveGame { - optional fixed64 server_steam_id = 1; - optional .CMsgDOTASeries.TeamInfo team_radiant = 2; - optional .CMsgDOTASeries.TeamInfo team_dire = 3; - optional uint32 team_radiant_score = 4; - optional uint32 team_dire_score = 5; - } - - optional uint32 series_id = 1; - optional uint32 series_type = 2; - optional .CMsgDOTASeries.TeamInfo team_1 = 3; - optional .CMsgDOTASeries.TeamInfo team_2 = 4; - repeated .CMsgDOTAMatchMinimal match_minimal = 5; - optional .CMsgDOTASeries.LiveGame live_game = 6; + message TeamInfo { + optional uint32 team_id = 1; + optional string team_name = 2; + optional string team_logo_url = 3; + optional uint32 wager_count = 4; + } + + message LiveGame { + optional fixed64 server_steam_id = 1; + optional .CMsgDOTASeries.TeamInfo team_radiant = 2; + optional .CMsgDOTASeries.TeamInfo team_dire = 3; + optional uint32 team_radiant_score = 4; + optional uint32 team_dire_score = 5; + } + + optional uint32 series_id = 1; + optional uint32 series_type = 2; + optional .CMsgDOTASeries.TeamInfo team_1 = 3; + optional .CMsgDOTASeries.TeamInfo team_2 = 4; + repeated .CMsgDOTAMatchMinimal match_minimal = 5; + optional .CMsgDOTASeries.LiveGame live_game = 6; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto index 0c2e544f..47779680 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto @@ -2,6 +2,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/networkbasetypes.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -301,6 +302,7 @@ message CMatchPlayerTimedStats { optional uint32 triple_kills = 40; optional uint32 rampages = 41; repeated .CMatchPlayerTimedCustomStat custom_stats = 42; + optional uint32 summon_kill_gold = 43; } message CMatchTeamTimedStats { @@ -1362,6 +1364,7 @@ message CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse { k_eSuccess = 1; k_eTooBusy = 2; k_eDisabled = 3; + k_eForbidden = 4; } optional .CMsgServerToGCRequestPlayerRecentAccomplishmentsResponse.EResponse result = 1 [default = k_eInternalError]; @@ -1615,6 +1618,7 @@ message CMsgGameDataItemAbilityList { optional bool is_earlygame_suggested = 7; optional bool is_lategame_suggested = 8; repeated .CMsgGameDataItemAbilityList.ItemAbilityInfo.Recipe recipes = 9; + optional bool is_innate = 10; } repeated .CMsgGameDataItemAbilityList.ItemAbilityInfo itemabilities = 1; @@ -1865,19 +1869,11 @@ message CDotaMsgStructuredTooltipProperties { } } - message FacetDisplayProperties { - optional string facet_name_loc_token = 1; - optional string facet_desc_loc_token = 2; - optional string facet_icon_style_name = 3; - optional string facet_color_style_name = 4; - optional string facet_gradient_style_name = 5; - } - message Attribute { - optional string name_loc_token = 1; - optional .CDotaMsgStructuredTooltipProperties.EAttributeType type = 2 [default = kUnknown]; - optional .CDotaMsgStructuredTooltipProperties.AttributeValue value = 3; - optional .CDotaMsgStructuredTooltipProperties.FacetDisplayProperties facet = 4; + optional string internal_name = 1; + optional string localized_name_text = 2; + optional .CDotaMsgStructuredTooltipProperties.EAttributeType resolved_type = 3 [default = kUnknown]; + optional .CDotaMsgStructuredTooltipProperties.AttributeValue value = 4; } message AttributeGroupDesc_Basic { @@ -1888,15 +1884,11 @@ message CDotaMsgStructuredTooltipProperties { optional string desc_loc_token = 2; } - message AttributeGroupDesc_Facet { - optional .CDotaMsgStructuredTooltipProperties.FacetDisplayProperties facet = 1; - } - message AttributeGroupDescription { oneof attr_group_desc { .CDotaMsgStructuredTooltipProperties.AttributeGroupDesc_Basic basic = 1; - .CDotaMsgStructuredTooltipProperties.AttributeGroupDesc_Specific specific = 2; - .CDotaMsgStructuredTooltipProperties.AttributeGroupDesc_Facet facet = 3; + .CDotaMsgStructuredTooltipProperties.AttributeGroupDesc_Basic characteristics = 2; + .CDotaMsgStructuredTooltipProperties.AttributeGroupDesc_Specific specific = 3; } } @@ -1915,10 +1907,17 @@ message CDotaMsgStructuredTooltipProperties { } } - message SummaryDescriptionEmbedValue { - optional string name = 1; - optional .CDotaMsgStructuredTooltipProperties.EAttributeType type = 2 [default = kUnknown]; - optional .CDotaMsgStructuredTooltipProperties.AttributeValue value = 3; + message SummaryDescriptionEmbeddedSubAbility { + optional string ability_name_loc_token = 1; + optional string ability_desc_loc_token = 2; + optional string ability_icon_url = 3; + } + + enum EAbilityTooltipCategory { + kPassive = 1; + kAutocast = 2; + kToggle = 3; + kChanneled = 4; } enum EAttributeType { @@ -1936,17 +1935,31 @@ message CDotaMsgStructuredTooltipProperties { kDebuffValue = 11; kBuffPercentage = 12; kBuffValue = 13; + kMagicalDamagePercentage = 14; + kHealthPercentage = 15; + kManaPercentage = 16; + kNumCharges = 17; + kDebuffDuration = 18; + kBuffDuration = 19; + kAbilityDefinedDamage = 20; + kDispellability = 21; + kSpellImmunityPiercing = 22; + kHealthPercentageAsPureDamage = 23; + kPhysicalDamagePercentage = 24; } optional string ability_name_loc_token = 1; - optional string ability_category_loc_token = 2; + optional .CDotaMsgStructuredTooltipProperties.EAbilityTooltipCategory ability_category = 2 [default = kPassive]; optional int32 ability_level = 3; optional int32 current_mana_cost = 4; optional int32 current_health_cost = 5; optional float current_cooldown = 6; optional string summary_description_loc_token = 7; - optional string summary_description_level_up_loc_token = 8; - repeated .CDotaMsgStructuredTooltipProperties.SummaryDescriptionEmbedValue summary_description_embed_values = 9; - optional .CDotaMsgStructuredTooltipProperties.FacetDisplayProperties summary_description_facet = 10; + repeated .CDotaMsgStructuredTooltipProperties.Attribute summary_description_embed_values = 8; + repeated string summary_description_surfaced_lines = 9; + repeated .CDotaMsgStructuredTooltipProperties.SummaryDescriptionEmbeddedSubAbility summary_description_embedded_sub_abilities = 10; + optional string summary_description_aghs_scepter = 11; + optional string summary_description_aghs_shard = 12; + optional string preview_video_url = 13; repeated .CDotaMsgStructuredTooltipProperties.TooltipContentChunk chunks = 20; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_craftworks.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_craftworks.proto index 1fa00a8c..13f8f24b 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_craftworks.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_craftworks.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -8,23 +9,18 @@ option optimize_for = SPEED; option java_generic_services = false; enum ECraftworksAuditAction { - k_eInvalid = 0; - k_eRecipeCrafted = 1; - k_eMatchRewards = 2; - k_eMatchRewardsTurbo = 3; + k_eInvalid = 0; + k_eRecipeCrafted = 1; + k_eMatchRewards = 2; + k_eMatchRewardsTurbo = 3; } message CMsgCraftworksComponents { - message ComponentQuantitiesEntry { - optional uint32 key = 1; - optional uint32 value = 2; - } - - repeated .CMsgCraftworksComponents.ComponentQuantitiesEntry component_quantities = 1; + map component_quantities = 1; } message CMsgCraftworksQuestReward { - optional uint32 quest_id = 1; - optional .CMsgCraftworksComponents reward_components = 2; - optional uint32 stat_value = 3; + optional uint32 quest_id = 1; + optional .CMsgCraftworksComponents reward_components = 2; + optional uint32 stat_value = 3; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_league.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_league.proto index 5a2b3b6e..1fed4abc 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_league.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_league.proto @@ -1,4 +1,5 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -6,353 +7,355 @@ option optimize_for = SPEED; option java_generic_services = false; enum ELeagueNodeGroupType { - INVALID_GROUP_TYPE = 0; - ORGANIZATIONAL = 1; - ROUND_ROBIN = 2; - SWISS = 3; - BRACKET_SINGLE = 4; - BRACKET_DOUBLE_SEED_LOSER = 5; - BRACKET_DOUBLE_ALL_WINNER = 6; - SHOWMATCH = 7; - GSL = 8; - PLACEMENT = 9; + INVALID_GROUP_TYPE = 0; + ORGANIZATIONAL = 1; + ROUND_ROBIN = 2; + SWISS = 3; + BRACKET_SINGLE = 4; + BRACKET_DOUBLE_SEED_LOSER = 5; + BRACKET_DOUBLE_ALL_WINNER = 6; + SHOWMATCH = 7; + GSL = 8; + PLACEMENT = 9; } enum ELeagueNodeType { - INVALID_NODE_TYPE = 0; - BEST_OF_ONE = 1; - BEST_OF_THREE = 2; - BEST_OF_FIVE = 3; - BEST_OF_TWO = 4; + INVALID_NODE_TYPE = 0; + BEST_OF_ONE = 1; + BEST_OF_THREE = 2; + BEST_OF_FIVE = 3; + BEST_OF_TWO = 4; } message CMsgDOTALeagueNode { - message MatchDetails { - optional uint64 match_id = 1; - optional uint32 winning_team_id = 2; - } - - message VOD { - optional uint32 series_game = 1; - optional uint32 stream_id = 2; - optional string url = 3; - } - - optional string name = 1; - optional uint32 node_id = 2; - optional uint32 node_group_id = 3; - optional uint32 winning_node_id = 4; - optional uint32 losing_node_id = 5; - optional uint32 incoming_node_id_1 = 6; - optional uint32 incoming_node_id_2 = 7; - optional .ELeagueNodeType node_type = 8 [default = INVALID_NODE_TYPE]; - optional uint32 scheduled_time = 9; - optional uint32 actual_time = 19; - optional uint32 series_id = 10; - optional uint32 team_id_1 = 11; - optional uint32 team_id_2 = 12; - repeated .CMsgDOTALeagueNode.MatchDetails matches = 13; - optional uint32 team_1_wins = 14; - optional uint32 team_2_wins = 15; - optional bool has_started = 16; - optional bool is_completed = 17; - repeated uint32 stream_ids = 18; - repeated .CMsgDOTALeagueNode.VOD vods = 20; + message MatchDetails { + optional uint64 match_id = 1; + optional uint32 winning_team_id = 2; + optional uint32 duration = 3; + } + + message VOD { + optional uint32 series_game = 1; + optional uint32 stream_id = 2; + optional string url = 3; + } + + optional string name = 1; + optional uint32 node_id = 2; + optional uint32 node_group_id = 3; + optional uint32 winning_node_id = 4; + optional uint32 losing_node_id = 5; + optional uint32 incoming_node_id_1 = 6; + optional uint32 incoming_node_id_2 = 7; + optional .ELeagueNodeType node_type = 8 [default = INVALID_NODE_TYPE]; + optional uint32 scheduled_time = 9; + optional uint32 actual_time = 19; + optional uint32 series_id = 10; + optional uint32 team_id_1 = 11; + optional uint32 team_id_2 = 12; + repeated .CMsgDOTALeagueNode.MatchDetails matches = 13; + optional uint32 team_1_wins = 14; + optional uint32 team_2_wins = 15; + optional bool has_started = 16; + optional bool is_completed = 17; + repeated uint32 stream_ids = 18; + repeated .CMsgDOTALeagueNode.VOD vods = 20; } message CMsgDOTALeagueNodeGroup { - message TeamStanding { - optional uint32 standing = 1; - optional uint32 team_id = 2; - optional string team_name = 3; - optional string team_tag = 4; - optional uint64 team_logo = 5; - optional string team_logo_url = 6; - optional uint32 wins = 7; - optional uint32 losses = 8; - optional int64 score = 9; - optional string team_abbreviation = 10; - optional bool is_pro = 14; - optional uint32 tiebreak_game_win_pct = 15; - optional uint32 tiebreak_opponent_match_wins = 16; - optional uint32 tiebreak_opponent_game_win_pct = 17; - optional uint32 tiebreak_coinflip = 18; - } - - optional string name = 1; - optional uint32 node_group_id = 2; - optional uint32 parent_node_group_id = 3; - repeated uint32 incoming_node_group_ids = 4; - optional uint32 advancing_node_group_id = 5; - optional uint32 advancing_team_count = 6; - optional uint32 team_count = 7; - optional .ELeagueNodeGroupType node_group_type = 8 [default = INVALID_GROUP_TYPE]; - optional .ELeagueNodeType default_node_type = 9 [default = INVALID_NODE_TYPE]; - optional uint32 round = 10; - optional uint32 max_rounds = 11; - optional uint32 win_loss_limit = 27; - optional bool is_tiebreaker = 12; - optional bool is_final_group = 13; - optional bool is_completed = 14; - optional .ELeaguePhase phase = 18 [default = LEAGUE_PHASE_UNSET]; - optional .ELeagueRegion region = 19 [default = LEAGUE_REGION_UNSET]; - optional uint32 start_time = 20; - optional uint32 end_time = 21; - optional uint32 secondary_advancing_node_group_id = 22; - optional uint32 secondary_advancing_team_count = 23; - optional uint32 tertiary_advancing_node_group_id = 24; - optional uint32 tertiary_advancing_team_count = 25; - optional uint32 elimination_dpc_points = 26; - repeated .CMsgDOTALeagueNodeGroup.TeamStanding team_standings = 15; - repeated .CMsgDOTALeagueNode nodes = 16; - repeated .CMsgDOTALeagueNodeGroup node_groups = 17; + message TeamStanding { + optional uint32 standing = 1; + optional uint32 team_id = 2; + optional string team_name = 3; + optional string team_tag = 4; + optional uint64 team_logo = 5; + optional string team_logo_url = 6; + optional uint32 wins = 7; + optional uint32 losses = 8; + optional int64 score = 9; + optional string team_abbreviation = 10; + optional bool is_pro = 14; + optional uint32 tiebreak_game_win_pct = 15; + optional uint32 tiebreak_opponent_match_wins = 16; + optional uint32 tiebreak_opponent_game_win_pct = 17; + optional uint32 tiebreak_coinflip = 18; + optional uint32 tiebereak_average_game_length = 19; + } + + optional string name = 1; + optional uint32 node_group_id = 2; + optional uint32 parent_node_group_id = 3; + repeated uint32 incoming_node_group_ids = 4; + optional uint32 advancing_node_group_id = 5; + optional uint32 advancing_team_count = 6; + optional uint32 team_count = 7; + optional .ELeagueNodeGroupType node_group_type = 8 [default = INVALID_GROUP_TYPE]; + optional .ELeagueNodeType default_node_type = 9 [default = INVALID_NODE_TYPE]; + optional uint32 round = 10; + optional uint32 max_rounds = 11; + optional uint32 win_loss_limit = 27; + optional bool is_tiebreaker = 12; + optional bool is_final_group = 13; + optional bool is_completed = 14; + optional .ELeaguePhase phase = 18 [default = LEAGUE_PHASE_UNSET]; + optional .ELeagueRegion region = 19 [default = LEAGUE_REGION_UNSET]; + optional uint32 start_time = 20; + optional uint32 end_time = 21; + optional uint32 secondary_advancing_node_group_id = 22; + optional uint32 secondary_advancing_team_count = 23; + optional uint32 tertiary_advancing_node_group_id = 24; + optional uint32 tertiary_advancing_team_count = 25; + optional uint32 elimination_dpc_points = 26; + repeated .CMsgDOTALeagueNodeGroup.TeamStanding team_standings = 15; + repeated .CMsgDOTALeagueNode nodes = 16; + repeated .CMsgDOTALeagueNodeGroup node_groups = 17; } message CMsgDOTALeague { - message Info { - optional uint32 league_id = 1; - optional string name = 2; - optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET]; - optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET]; - optional string url = 5; - optional string description = 6; - optional string notes = 7; - optional uint32 start_timestamp = 8; - optional uint32 end_timestamp = 9; - optional uint32 pro_circuit_points = 10; - optional uint32 image_bits = 11; - optional .ELeagueStatus status = 12 [default = LEAGUE_STATUS_UNSET]; - optional uint32 most_recent_activity = 13; - optional uint32 registration_period = 14; - } - - message Admin { - optional uint32 account_id = 1; - optional bool is_primary = 2; - optional string email_address = 3; - } - - message PrizePoolItem { - optional uint32 item_def = 1; - optional uint32 sales_stop_timestamp = 2; - optional uint32 revenue_pct = 3; - optional uint32 revenue_cents_per_sale = 4; - } - - message PrizePool { - optional uint32 base_prize_pool = 1; - optional uint32 total_prize_pool = 2; - repeated uint32 prize_split_pct_x100 = 3; - repeated .CMsgDOTALeague.PrizePoolItem prize_pool_items = 4; - } - - message Stream { - optional uint32 stream_id = 1; - optional uint32 language = 2; - optional string name = 3; - optional .ELeagueBroadcastProvider broadcast_provider = 4 [default = LEAGUE_BROADCAST_UNKNOWN]; - optional string stream_url = 5; - optional string vod_url = 6; - } - - message SeriesInfo { - optional uint32 series_id = 1; - optional uint32 series_type = 2; - optional uint32 start_time = 3; - repeated uint64 match_ids = 4; - optional uint32 team_id_1 = 5; - optional uint32 team_id_2 = 6; - } - - message Player { - optional uint32 account_id = 1; - optional string name = 2; - optional uint32 team_id = 3; - } - - optional .CMsgDOTALeague.Info info = 1; - optional .CMsgDOTALeague.PrizePool prize_pool = 2; - repeated .CMsgDOTALeague.Admin admins = 3; - repeated .CMsgDOTALeague.Stream streams = 4; - repeated .CMsgDOTALeagueNodeGroup node_groups = 5; - repeated .CMsgDOTALeague.SeriesInfo series_infos = 6; - repeated .CMsgDOTALeague.Player registered_players = 7; + message Info { + optional uint32 league_id = 1; + optional string name = 2; + optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET]; + optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET]; + optional string url = 5; + optional string description = 6; + optional string notes = 7; + optional uint32 start_timestamp = 8; + optional uint32 end_timestamp = 9; + optional uint32 pro_circuit_points = 10; + optional uint32 image_bits = 11; + optional .ELeagueStatus status = 12 [default = LEAGUE_STATUS_UNSET]; + optional uint32 most_recent_activity = 13; + optional uint32 registration_period = 14; + } + + message Admin { + optional uint32 account_id = 1; + optional bool is_primary = 2; + optional string email_address = 3; + } + + message PrizePoolItem { + optional uint32 item_def = 1; + optional uint32 sales_stop_timestamp = 2; + optional uint32 revenue_pct = 3; + optional uint32 revenue_cents_per_sale = 4; + } + + message PrizePool { + optional uint32 base_prize_pool = 1; + optional uint32 total_prize_pool = 2; + repeated uint32 prize_split_pct_x100 = 3; + repeated .CMsgDOTALeague.PrizePoolItem prize_pool_items = 4; + } + + message Stream { + optional uint32 stream_id = 1; + optional uint32 language = 2; + optional string name = 3; + optional .ELeagueBroadcastProvider broadcast_provider = 4 [default = LEAGUE_BROADCAST_UNKNOWN]; + optional string stream_url = 5; + optional string vod_url = 6; + } + + message SeriesInfo { + optional uint32 series_id = 1; + optional uint32 series_type = 2; + optional uint32 start_time = 3; + repeated uint64 match_ids = 4; + optional uint32 team_id_1 = 5; + optional uint32 team_id_2 = 6; + } + + message Player { + optional uint32 account_id = 1; + optional string name = 2; + optional uint32 team_id = 3; + } + + optional .CMsgDOTALeague.Info info = 1; + optional .CMsgDOTALeague.PrizePool prize_pool = 2; + repeated .CMsgDOTALeague.Admin admins = 3; + repeated .CMsgDOTALeague.Stream streams = 4; + repeated .CMsgDOTALeagueNodeGroup node_groups = 5; + repeated .CMsgDOTALeague.SeriesInfo series_infos = 6; + repeated .CMsgDOTALeague.Player registered_players = 7; } message CMsgDOTALeagueList { - repeated .CMsgDOTALeague leagues = 1; + repeated .CMsgDOTALeague leagues = 1; } message CMsgDOTALeagueInfo { - optional uint32 league_id = 1; - optional string name = 2; - optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET]; - optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET]; - optional uint32 most_recent_activity = 5; - optional uint32 total_prize_pool = 6; - optional uint32 start_timestamp = 7; - optional uint32 end_timestamp = 8; - optional uint32 status = 9; + optional uint32 league_id = 1; + optional string name = 2; + optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET]; + optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET]; + optional uint32 most_recent_activity = 5; + optional uint32 total_prize_pool = 6; + optional uint32 start_timestamp = 7; + optional uint32 end_timestamp = 8; + optional uint32 status = 9; } message CMsgDOTALeagueInfoList { - repeated .CMsgDOTALeagueInfo infos = 1; + repeated .CMsgDOTALeagueInfo infos = 1; } message CMsgDOTALeagueLiveGames { - message LiveGame { - optional uint32 league_id = 1; - optional uint64 server_steam_id = 2; - optional string radiant_name = 3; - optional uint64 radiant_logo = 4; - optional uint32 radiant_team_id = 9; - optional string dire_name = 5; - optional uint64 dire_logo = 6; - optional uint32 dire_team_id = 10; - optional uint32 time = 7; - optional uint32 spectators = 8; - optional uint32 league_node_id = 11; - optional uint32 series_id = 12; - optional uint64 match_id = 13; - } - - repeated .CMsgDOTALeagueLiveGames.LiveGame games = 1; + message LiveGame { + optional uint32 league_id = 1; + optional uint64 server_steam_id = 2; + optional string radiant_name = 3; + optional uint64 radiant_logo = 4; + optional uint32 radiant_team_id = 9; + optional string dire_name = 5; + optional uint64 dire_logo = 6; + optional uint32 dire_team_id = 10; + optional uint32 time = 7; + optional uint32 spectators = 8; + optional uint32 league_node_id = 11; + optional uint32 series_id = 12; + optional uint64 match_id = 13; + } + + repeated .CMsgDOTALeagueLiveGames.LiveGame games = 1; } message CMsgDOTALeagueMessages { - message Message { - optional uint32 author_account_id = 1; - optional uint32 timestamp = 2; - optional string message = 3; - } + message Message { + optional uint32 author_account_id = 1; + optional uint32 timestamp = 2; + optional string message = 3; + } - repeated .CMsgDOTALeagueMessages.Message messages = 1; + repeated .CMsgDOTALeagueMessages.Message messages = 1; } message CMsgDOTALeaguePrizePool { - optional uint32 prize_pool = 1; - optional float increment_per_second = 2; + optional uint32 prize_pool = 1; + optional float increment_per_second = 2; } message CMsgDOTALeagueInfoListAdminsRequest { } message CMsgDOTALeagueAvailableLobbyNodesRequest { - optional uint32 league_id = 1; + optional uint32 league_id = 1; } message CMsgDOTALeagueAvailableLobbyNodes { - message NodeInfo { - optional uint32 node_id = 1; - optional string node_name = 2; - optional string node_group_name = 3; - optional uint32 team_id_1 = 4; - optional uint32 team_id_2 = 5; - } - - repeated .CMsgDOTALeagueAvailableLobbyNodes.NodeInfo node_infos = 1; + message NodeInfo { + optional uint32 node_id = 1; + optional string node_name = 2; + optional string node_group_name = 3; + optional uint32 team_id_1 = 4; + optional uint32 team_id_2 = 5; + } + + repeated .CMsgDOTALeagueAvailableLobbyNodes.NodeInfo node_infos = 1; } message CMsgDOTALeagueNodeResults { - message Result { - optional uint32 node_id = 1; - optional uint32 winning_node_id = 2; - optional uint32 losing_node_id = 3; - optional uint32 incoming_node_id_1 = 4; - optional uint32 incoming_node_id_2 = 5; - optional uint32 team_id_1 = 6; - optional uint32 team_id_2 = 7; - optional string team_1_name = 8; - optional string team_2_name = 9; - optional uint32 team_1_wins = 10; - optional uint32 team_2_wins = 11; - optional uint32 winning_team_id = 12; - optional uint32 losing_team_id = 13; - optional bool has_started = 14; - optional bool is_completed = 15; - optional uint32 scheduled_time = 16; - repeated uint64 match_ids = 17; - } - - repeated .CMsgDOTALeagueNodeResults.Result node_results = 1; + message Result { + optional uint32 node_id = 1; + optional uint32 winning_node_id = 2; + optional uint32 losing_node_id = 3; + optional uint32 incoming_node_id_1 = 4; + optional uint32 incoming_node_id_2 = 5; + optional uint32 team_id_1 = 6; + optional uint32 team_id_2 = 7; + optional string team_1_name = 8; + optional string team_2_name = 9; + optional uint32 team_1_wins = 10; + optional uint32 team_2_wins = 11; + optional uint32 winning_team_id = 12; + optional uint32 losing_team_id = 13; + optional bool has_started = 14; + optional bool is_completed = 15; + optional uint32 scheduled_time = 16; + repeated uint64 match_ids = 17; + } + + repeated .CMsgDOTALeagueNodeResults.Result node_results = 1; } message CMsgDOTADPCLeagueResults { - message Result { - optional uint32 standing = 1; - optional uint32 team_id = 2; - optional string team_name = 3; - optional uint64 team_logo = 4; - optional string team_logo_url = 5; - optional uint32 points = 6; - optional uint32 earnings = 7; - optional uint32 timestamp = 8; - optional .ELeaguePhase phase = 9 [default = LEAGUE_PHASE_UNSET]; - optional string team_abbreviation = 10; - } - - repeated .CMsgDOTADPCLeagueResults.Result results = 1; - repeated uint32 points = 2; - repeated uint32 dollars = 3; + message Result { + optional uint32 standing = 1; + optional uint32 team_id = 2; + optional string team_name = 3; + optional uint64 team_logo = 4; + optional string team_logo_url = 5; + optional uint32 points = 6; + optional uint32 earnings = 7; + optional uint32 timestamp = 8; + optional .ELeaguePhase phase = 9 [default = LEAGUE_PHASE_UNSET]; + optional string team_abbreviation = 10; + } + + repeated .CMsgDOTADPCLeagueResults.Result results = 1; + repeated uint32 points = 2; + repeated uint32 dollars = 3; } message CMsgDOTADPCTeamResults { - message Result { - optional uint32 league_id = 1; - optional uint32 standing = 2; - optional uint32 points = 3; - optional uint32 earnings = 4; - optional uint32 timestamp = 5; - } - - repeated .CMsgDOTADPCTeamResults.Result results = 1; + message Result { + optional uint32 league_id = 1; + optional uint32 standing = 2; + optional uint32 points = 3; + optional uint32 earnings = 4; + optional uint32 timestamp = 5; + } + + repeated .CMsgDOTADPCTeamResults.Result results = 1; } message CMsgDOTADPCSeasonResults { - message TeamLeagueResult { - optional uint32 timestamp = 1; - optional uint32 league_id = 2; - optional uint32 standing = 3; - optional uint32 points = 4; - optional uint32 earnings = 5; - optional uint32 audit_action = 6; - optional uint32 audit_data = 7; - } - - message TeamResult { - optional uint32 team_id = 1; - optional string team_name = 2; - optional string team_abbreviation = 8; - optional uint64 team_logo = 3; - optional string team_logo_url = 4; - optional uint32 total_points = 5; - optional uint32 total_earnings = 6; - repeated .CMsgDOTADPCSeasonResults.TeamLeagueResult league_results = 7; - } - - message StandingEntry { - optional uint32 team_id = 1; - optional uint32 wins = 2; - optional uint32 losses = 3; - optional string team_url = 4; - optional string team_name = 5; - optional string team_abbreviation = 6; - } - - message Standing { - optional .ELeagueRegion region = 1 [default = LEAGUE_REGION_UNSET]; - optional .ELeagueDivision division = 2 [default = LEAGUE_DIVISION_UNSET]; - repeated .CMsgDOTADPCSeasonResults.StandingEntry entries = 3; - } - - repeated .CMsgDOTADPCSeasonResults.TeamResult results = 1; - repeated .CMsgDOTADPCSeasonResults.Standing standings = 2; - repeated .CMsgDOTADPCSeasonResults.StandingEntry major_wildcard_standings = 3; - repeated .CMsgDOTADPCSeasonResults.StandingEntry major_group_standings = 4; - repeated .CMsgDOTADPCSeasonResults.StandingEntry major_playoff_standings = 5; + message TeamLeagueResult { + optional uint32 timestamp = 1; + optional uint32 league_id = 2; + optional uint32 standing = 3; + optional uint32 points = 4; + optional uint32 earnings = 5; + optional uint32 audit_action = 6; + optional uint32 audit_data = 7; + } + + message TeamResult { + optional uint32 team_id = 1; + optional string team_name = 2; + optional string team_abbreviation = 8; + optional uint64 team_logo = 3; + optional string team_logo_url = 4; + optional uint32 total_points = 5; + optional uint32 total_earnings = 6; + repeated .CMsgDOTADPCSeasonResults.TeamLeagueResult league_results = 7; + } + + message StandingEntry { + optional uint32 team_id = 1; + optional uint32 wins = 2; + optional uint32 losses = 3; + optional string team_url = 4; + optional string team_name = 5; + optional string team_abbreviation = 6; + } + + message Standing { + optional .ELeagueRegion region = 1 [default = LEAGUE_REGION_UNSET]; + optional .ELeagueDivision division = 2 [default = LEAGUE_DIVISION_UNSET]; + repeated .CMsgDOTADPCSeasonResults.StandingEntry entries = 3; + } + + repeated .CMsgDOTADPCSeasonResults.TeamResult results = 1; + repeated .CMsgDOTADPCSeasonResults.Standing standings = 2; + repeated .CMsgDOTADPCSeasonResults.StandingEntry major_wildcard_standings = 3; + repeated .CMsgDOTADPCSeasonResults.StandingEntry major_group_standings = 4; + repeated .CMsgDOTADPCSeasonResults.StandingEntry major_playoff_standings = 5; } message CMsgDOTADPCSeasonSpoilerResults { - optional uint32 time_last_updated = 1; - optional .CMsgDOTADPCSeasonResults saved_results = 2; + optional uint32 time_last_updated = 1; + optional .CMsgDOTADPCSeasonResults saved_results = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_lobby.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_lobby.proto index 326a119b..e231148e 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_lobby.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_lobby.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -15,9 +16,10 @@ enum ELobbyMemberCoachRequestState { enum LobbyDotaTVDelay { LobbyDotaTV_10 = 0; - LobbyDotaTV_120 = 1; - LobbyDotaTV_300 = 2; - LobbyDotaTV_900 = 3; + LobbyDotaTV_60 = 1; + LobbyDotaTV_120 = 2; + LobbyDotaTV_300 = 3; + LobbyDotaTV_900 = 4; } enum LobbyDotaPauseSetting { diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_match_management.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_match_management.proto index 926e8d7f..ea876a5b 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_match_management.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_match_management.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -70,7 +71,7 @@ message CSODOTAPartyMember { optional bool is_coach = 2; repeated uint32 region_ping_codes = 4 [packed = true]; repeated uint32 region_ping_times = 5 [packed = true]; - optional uint32 region_ping_failed_bitmask = 6; + optional uint64 region_ping_failed_bitmask = 6; optional bool is_plus_subscriber = 10; optional uint32 tourney_skill_level = 7; optional uint32 tourney_buyin = 8; diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_monster_hunter.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_monster_hunter.proto index cc2fd417..27f41006 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_monster_hunter.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_monster_hunter.proto @@ -2,6 +2,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -51,13 +52,8 @@ message CMsgMonsterHunterHeroCodexEntry { } message CMsgMonsterHunterUserData { - message HeroCodexEntry { - optional int32 key = 1; - optional .CMsgMonsterHunterHeroCodexEntry value = 2; - } - optional .CMsgMonsterHunterMaterialQuantity material_inventory = 1; - repeated .CMsgMonsterHunterUserData.HeroCodexEntry hero_codex = 2; + map hero_codex = 2; optional int32 unlocked_count = 3; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_overworld.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_overworld.proto index 69c55234..d2621510 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_overworld.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_overworld.proto @@ -3,6 +3,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_survivors.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -39,6 +40,14 @@ enum EOverworldAuditAction { k_eOverworldAuditAction_EncounterRewardTokenReward = 14; k_eOverworldAuditAction_SupportGrantTokens = 16; k_eOverworldAuditAction_TokenGiftSent = 17; + k_eOverworldAuditAction_DevSetFortune = 18; + k_eOverworldAuditAction_DevClearFortune = 19; + k_eOverworldAuditAction_RequestFortune = 20; + k_eOverworldAuditAction_ClaimFortuneReward = 21; + k_eOverworldAuditAction_DevGrantFortuneTellerCoin = 22; + k_eOverworldAuditAction_ClaimFortuneTellerStoryNodeReward = 23; + k_eOverworldAuditAction_MatchRewardsAbilityDraft = 24; + k_eOverworldAuditAction_MatchRewardsCoopBotMatch = 25; } enum EOverworldMinigameAction { @@ -124,17 +133,34 @@ message CMsgOverworldMinigameUserData { optional .CMsgOverworldMinigameCustomData custom_data = 3; } -message CMsgOverworldUserData { - message MinigameDataEntry { - optional uint32 key = 1; - optional .CMsgOverworldMinigameUserData value = 2; +message CMsgOverworldFortune { + message CMsgFortuneCount { + optional uint32 fortune = 1; + optional uint32 count = 2; } + optional uint32 fortune = 1; + optional uint32 timestamp = 4; + optional uint32 times_completed = 5; + optional bool reward_claimed = 7; + optional uint32 fortune_count = 8; + repeated .CMsgOverworldFortune.CMsgFortuneCount fortune_counts = 9; +} + +message CMsgLobbyOverworldFortuneList { + repeated uint32 account_id = 1; + repeated .CMsgOverworldFortune fortune = 2; +} + +message CMsgOverworldUserData { optional .CMsgOverworldTokenQuantity token_inventory = 1; repeated .CMsgOverworldNode overworld_nodes = 2; repeated .CMsgOverworldPath overworld_paths = 3; optional uint32 current_node_id = 4; - repeated .CMsgOverworldUserData.MinigameDataEntry minigame_data = 5; + map minigame_data = 5; + optional .CMsgOverworldFortune current_fortune = 6; + optional int32 last_related_hero_id = 7; + optional uint32 overworld_version = 8; } message CMsgOverworldMatchRewards { @@ -173,6 +199,8 @@ message CMsgGCToClientOverworldUserDataUpdated { message CMsgClientToGCOverworldCompletePath { optional uint32 overworld_id = 1; optional uint32 path_id = 2; + optional bool use_path_unlocker = 3; + optional bool dev_ignore_release_schedule = 4; } message CMsgClientToGCOverworldCompletePathResponse { @@ -188,6 +216,7 @@ message CMsgClientToGCOverworldCompletePathResponse { k_ePathIsLocked = 8; k_ePathAlreadyUnlocked = 9; k_eEventExpired = 10; + k_eNodeNotReleased = 11; } optional .CMsgClientToGCOverworldCompletePathResponse.EResponse response = 1 [default = k_eInternalError]; @@ -431,6 +460,125 @@ message CMsgClientToGCOverworldDevClearInventoryResponse { optional .CMsgClientToGCOverworldDevClearInventoryResponse.EResponse response = 1 [default = k_eInternalError]; } +message CMsgClientToGCOverworldDevSetFortune { + optional uint32 overworld_id = 1; + optional uint32 fortune_id = 2; +} + +message CMsgClientToGCOverworldDevSetFortuneResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + } + + optional .CMsgClientToGCOverworldDevSetFortuneResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCOverworldDevClearFortune { + optional uint32 overworld_id = 1; + optional uint32 fortune_id = 2; +} + +message CMsgClientToGCOverworldDevClearFortuneResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + } + + optional .CMsgClientToGCOverworldDevClearFortuneResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCOverworldDevGrantFortuneTellerCoin { + optional uint32 overworld_id = 1; +} + +message CMsgClientToGCOverworldDevGrantFortuneTellerCoinResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + } + + optional .CMsgClientToGCOverworldDevGrantFortuneTellerCoinResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCOverworldRequestFortune { + optional uint32 overworld_id = 1; +} + +message CMsgClientToGCOverworldRequestFortuneResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + k_eNotEnoughPoints = 7; + k_ePendingRewardAvailable = 8; + } + + optional .CMsgClientToGCOverworldRequestFortuneResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDOTAClaimEventActionResponse claim_response = 2; +} + +message CMsgClientToGCOverworldClaimFortuneReward { + optional uint32 overworld_id = 1; +} + +message CMsgClientToGCOverworldClaimFortuneRewardResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + k_eNoFortuneRewardAvailable = 7; + } + + optional .CMsgClientToGCOverworldClaimFortuneRewardResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgOverworldTokenQuantity token_quantity = 2; + optional .CMsgDOTAClaimEventActionResponse claim_response = 3; +} + +message CMsgClientToGCOverworldClaimFortunePermanentReward { + optional uint32 overworld_id = 1; + optional uint32 fortune_id = 2; +} + +message CMsgClientToGCOverworldClaimFortunePermanentRewardResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + k_eRewardAlreadyClaimed = 7; + } + + optional .CMsgClientToGCOverworldClaimFortunePermanentRewardResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDOTAClaimEventActionResponse claim_response = 2; +} + message CMsgClientToGCOverworldFeedback { optional uint32 language = 1; optional uint32 overworld_id = 2; @@ -502,3 +650,25 @@ message CMsgClientToGCOverworldMinigameActionResponse { optional .CMsgClientToGCOverworldMinigameActionResponse.EResponse response = 1 [default = k_eInternalError]; } + +message CMsgClientToGCOverworldClaimFortuneTellerStoryNode { + optional uint32 overworld_id = 1; + optional uint32 story_node_id = 2; +} + +message CMsgClientToGCOverworldClaimFortuneTellerStoryNodeResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidOverworld = 6; + k_eRewardAlreadyClaimed = 7; + k_eInsufficientFortuneCount = 8; + } + + optional .CMsgClientToGCOverworldClaimFortuneTellerStoryNodeResponse.EResponse response = 1 [default = k_eInternalError]; + optional .CMsgDOTAClaimEventActionResponse claim_response = 2; +} diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_survivors.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_survivors.proto index b8610a95..9f43e12b 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_survivors.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_survivors.proto @@ -9,45 +9,40 @@ option optimize_for = SPEED; option java_generic_services = false; message CMsgSurvivorsUserData { - message AttributeLevelsEntry { - optional int32 key = 1; - optional uint32 value = 2; - } - - repeated .CMsgSurvivorsUserData.AttributeLevelsEntry attribute_levels = 1; - optional uint32 unlocked_difficulty = 2; + map attribute_levels = 1; + optional uint32 unlocked_difficulty = 2; } message CMsgClientToGCSurvivorsPowerUpTelemetryData { - optional uint32 powerup_id = 1; - optional uint32 level = 2; - optional uint32 time_received = 3; - optional uint32 time_held = 4; - optional uint64 total_damage = 5; - optional uint32 dps = 6; - optional uint32 has_scepter = 7; + optional uint32 powerup_id = 1; + optional uint32 level = 2; + optional uint32 time_received = 3; + optional uint32 time_held = 4; + optional uint64 total_damage = 5; + optional uint32 dps = 6; + optional uint32 has_scepter = 7; } message CMsgClientToGCSurvivorsGameTelemetryData { - optional uint32 time_survived = 1; - optional uint32 player_level = 2; - optional uint32 game_result = 3; - optional uint32 gold_earned = 4; - repeated .CMsgClientToGCSurvivorsPowerUpTelemetryData powerups = 5; - optional uint32 difficulty = 6; - optional uint32 metaprogression_level = 7; + optional uint32 time_survived = 1; + optional uint32 player_level = 2; + optional uint32 game_result = 3; + optional uint32 gold_earned = 4; + repeated .CMsgClientToGCSurvivorsPowerUpTelemetryData powerups = 5; + optional uint32 difficulty = 6; + optional uint32 metaprogression_level = 7; } message CMsgClientToGCSurvivorsGameTelemetryDataResponse { - enum EResponse { - k_eInternalError = 0; - k_eSuccess = 1; - k_eTooBusy = 2; - k_eDisabled = 3; - k_eTimeout = 4; - k_eNotAllowed = 5; - k_eInvalidItem = 6; - } - - optional .CMsgClientToGCSurvivorsGameTelemetryDataResponse.EResponse response = 1 [default = k_eInternalError]; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eInvalidItem = 6; + } + + optional .CMsgClientToGCSurvivorsGameTelemetryDataResponse.EResponse response = 1 [default = k_eInternalError]; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_msgid.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_msgid.proto index 0a53ce0a..09d6c1a6 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_msgid.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_msgid.proto @@ -447,6 +447,7 @@ enum EDOTAGCMsg { k_EMsgClientToGCSetPlayerCardRosterRequest = 8180; k_EMsgClientToGCSetPlayerCardRosterResponse = 8181; k_EMsgServerToGCCloseCompendiumInGamePredictionVotingResponse = 8183; + k_EMsgLobbyOverworldFortuneList = 8185; k_EMsgLobbyBattleCupVictory = 8186; k_EMsgGCGetPlayerCardItemInfo = 8187; k_EMsgGCGetPlayerCardItemInfoResponse = 8188; @@ -559,12 +560,8 @@ enum EDOTAGCMsg { k_EMsgGCToGCGrantAutographResponse = 8316; k_EMsgSignOutConsumableUsage = 8317; k_EMsgLobbyEventGameDetails = 8318; - k_EMsgDevGrantEventPoints = 8319; - k_EMsgDevGrantEventPointsResponse = 8320; k_EMsgDevGrantEventAction = 8321; k_EMsgDevGrantEventActionResponse = 8322; - k_EMsgDevResetEventState = 8323; - k_EMsgDevResetEventStateResponse = 8324; k_EMsgGCToGCReconcileEventOwnership = 8325; k_EMsgConsumeEventSupportGrantItem = 8326; k_EMsgConsumeEventSupportGrantItemResponse = 8327; @@ -595,8 +592,6 @@ enum EDOTAGCMsg { k_EMsgSQLGCToGCGrantAllHeroProgressVictory = 8364; k_EMsgDevDeleteEventActions = 8365; k_EMsgDevDeleteEventActionsResponse = 8366; - k_EMsgDevReloadAllEvents = 8367; - k_EMsgDevReloadAllEventsResponse = 8368; k_EMsgGCToGCGetAllHeroCurrent = 8635; k_EMsgGCToGCGetAllHeroCurrentResponse = 8636; k_EMsgGCSubmitPlayerAvoidRequest = 8637; @@ -701,7 +696,6 @@ enum EDOTAGCMsg { k_EMsgGCToClientGuildMembersDataUpdated = 8747; k_EMsgSignOutReportActivityMarkers = 8748; k_EMsgSignOutDiretideCandy = 8749; - k_EMsgGCToClientPostGameItemAwardNotification = 8750; k_EMsgClientToGCGetOWMatchDetails = 8751; k_EMsgClientToGCGetOWMatchDetailsResponse = 8752; k_EMsgClientToGCSubmitOWConviction = 8753; @@ -993,6 +987,19 @@ enum EDOTAGCMsg { k_EMsgClientToGCMonsterHunterClaimCodexRewardResponse = 9048; k_EMsgClientToGCMonsterHunterClaimSetReward = 9049; k_EMsgClientToGCMonsterHunterClaimSetRewardResponse = 9050; + k_EMsgClientToGCFantasyCraftingSelectTeam = 9051; + k_EMsgClientToGCFantasyCraftingSelectTeamResponse = 9052; + k_EMsgClientToGCFantasyCraftingSelectGlobalPrefix = 9053; + k_EMsgClientToGCFantasyCraftingSelectGlobalPrefixResponse = 9054; + k_EMsgClientToGCFantasyCraftingSelectGlobalSuffix = 9055; + k_EMsgClientToGCFantasyCraftingSelectGlobalSuffixResponse = 9056; + k_EMsgClientToGCItemBattlerGetUserData = 9100; + k_EMsgClientToGCItemBattlerGetUserDataResponse = 9101; + k_EMsgClientToGCItemBattlerGameAction = 9102; + k_EMsgClientToGCItemBattlerGameActionResponse = 9103; + k_EMsgGCToClientItemBattlerUserDataUpdated = 9104; + k_EMsgClientToGCItemBattlerDevGrantItem = 9105; + k_EMsgClientToGCItemBattlerDevGrantItemResponse = 9106; k_EMsgClientToGCGetEventRanking = 9107; k_EMsgClientToGCGetEventRankingResponse = 9108; k_EMsgClientToGCGetEventCoupon = 9109; @@ -1003,4 +1010,18 @@ enum EDOTAGCMsg { k_EMsgServerToGCWarningInvalidBotAbilityUsage = 9114; k_EMsgClientToGCInviteToDemoMode = 9115; k_EMsgGCToClientInviteToDemoMode = 9116; + k_EMsgClientToGCOverworldDevSetFortune = 9117; + k_EMsgClientToGCOverworldDevSetFortuneResponse = 9118; + k_EMsgClientToGCOverworldRequestFortune = 9119; + k_EMsgClientToGCOverworldRequestFortuneResponse = 9120; + k_EMsgClientToGCOverworldDevClearFortune = 9121; + k_EMsgClientToGCOverworldDevClearFortuneResponse = 9122; + k_EMsgClientToGCOverworldClaimFortuneReward = 9123; + k_EMsgClientToGCOverworldClaimFortuneRewardResponse = 9124; + k_EMsgClientToGCOverworldDevGrantFortuneTellerCoin = 9125; + k_EMsgClientToGCOverworldDevGrantFortuneTellerCoinResponse = 9126; + k_EMsgClientToGCOverworldClaimFortunePermanentReward = 9127; + k_EMsgClientToGCOverworldClaimFortunePermanentRewardResponse = 9128; + k_EMsgClientToGCOverworldClaimFortuneTellerStoryNode = 9129; + k_EMsgClientToGCOverworldClaimFortuneTellerStoryNodeResponse = 9130; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_server.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_server.proto index 20a8eb57..5d606b66 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_server.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_server.proto @@ -12,6 +12,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_craftworks import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common_monster_hunter.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -284,6 +285,8 @@ message CMsgGameMatchSignOut { optional uint32 selected_facet = 82; optional uint32 enhancement_level = 83; optional uint32 disable_duration = 84; + optional uint32 tormentor_kills = 85; + optional uint32 wisdom_shrines_taken = 86; } repeated .CMsgGameMatchSignOut.CTeam.CPlayer players = 1; @@ -300,7 +303,6 @@ message CMsgGameMatchSignOut { optional uint32 timestamp = 2; optional uint32 event_type = 3; optional int32 game_time = 4; - optional uint32 replay_time = 5; } message CCustomGameData { @@ -317,17 +319,6 @@ message CMsgGameMatchSignOut { optional uint32 extra_data_5 = 7; } - message WardPlacement { - optional int32 player_id = 1 [default = -1]; - optional uint32 team_id = 2; - optional uint32 placed_time = 3; - optional uint32 building_state = 4; - optional uint32 creep_state = 5; - optional bool roshan_alive = 6; - optional uint32 position_x = 7; - optional uint32 position_y = 8; - } - optional uint64 match_id = 1 [(key_field) = true]; optional uint32 duration = 2; optional bool good_guys_win = 3; @@ -352,7 +343,6 @@ message CMsgGameMatchSignOut { repeated uint32 team_scores = 39; optional uint32 pre_game_duration = 40; repeated .CMsgGameMatchSignOut.EventGameLeaderboardEntry event_game_leaderboard_entries = 42; - repeated .CMsgGameMatchSignOut.WardPlacement ward_placements = 43; optional .CMsgSignOutGameplayStats gameplay_stats = 44; repeated .CExtraMsgBlock extra_messages = 54; optional .DOTA_GC_TEAM winning_team = 56 [default = DOTA_GC_TEAM_GOOD_GUYS]; @@ -414,6 +404,7 @@ message CMsgSignOutPlayerStats { optional uint32 observer_wards_placed = 28; optional uint32 wards_destroyed = 29; optional uint32 lobby_type = 30; + optional uint32 wisdom_shrines_taken = 31; } message CMsgSignOutCommunicationSummary { @@ -527,6 +518,8 @@ message CMsgGameMatchSignOutPerfData { optional float server_average_sleep_frame_time = 26; optional float server_max_sleep_frame_time = 27; optional uint32 num_multitick_frames = 28; + repeated float average_missed_snapshot_rate = 29; + repeated float max_missed_snapshot_rate = 30; } message CMsgGameMatchSignOutBanData { @@ -540,6 +533,7 @@ message CMsgDOTALiveScoreboardUpdate { message HeroAbility { optional int32 ability_id = 1 [default = -1]; optional uint32 ability_level = 2; + optional bool tome_upgraded = 3; } enum DOTAUltimateState { @@ -660,7 +654,6 @@ message CMsgTournamentItemEvent { optional .DOTA_TournamentEvents event_type = 3 [default = TE_FIRST_BLOOD]; optional int32 tv_delay = 4; optional int32 dota_time = 5; - optional float replay_time = 6; optional string loot_list = 7; optional uint32 event_team = 8; optional uint32 multi_kill_count = 9; @@ -735,8 +728,8 @@ message CMsgServerGCUpdateSpectatorCount { message CSerializedCombatLog { message Dictionary { message DictString { - required uint32 id = 1; - required string value = 2; + optional uint32 id = 1; + optional string value = 2; } repeated .CSerializedCombatLog.Dictionary.DictString strings = 1; @@ -928,141 +921,6 @@ message CMsgGCToGCCompendiumInGamePredictionResults { optional .CMsgServerToGCCompendiumInGamePredictionResults results = 1; } -message CMsgServerToGCMatchPlayerItemPurchaseHistory { - message ItemPurchase { - optional int32 item = 1 [default = -1]; - optional uint32 gold = 2; - optional uint32 net_worth = 3; - optional uint32 game_time = 4; - repeated int32 inventory_items = 5; - repeated bool talents_skilled = 7; - } - - message Player { - optional uint32 player_slot = 1; - optional uint32 account_id = 2; - optional int32 hero_id = 3; - repeated int32 allied_hero_ids = 4; - repeated int32 enemy_hero_ids = 5; - repeated .CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase item_purchases = 6; - optional uint32 lane = 7; - optional bool is_winner = 8; - } - - optional uint64 match_id = 1; - optional uint32 mmr = 2; - repeated .CMsgServerToGCMatchPlayerItemPurchaseHistory.Player players = 3; -} - -message CMsgServerToGCMatchPlayerNeutralItemEquipHistory { - message ItemEquip { - optional int32 item = 1 [default = -1]; - optional uint32 game_time = 2; - repeated int32 inventory_items = 3; - repeated bool talents_skilled = 4; - repeated int32 available_neutral_items = 5; - } - - message Player { - optional uint32 account_id = 1; - repeated int32 allied_hero_ids = 2; - repeated int32 enemy_hero_ids = 3; - repeated .CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip item_equips = 4; - optional bool is_winner = 5; - } - - optional uint64 match_id = 1; - repeated .CMsgServerToGCMatchPlayerNeutralItemEquipHistory.Player players = 2; -} - -message CMsgServerToGCMatchStateHistory { - message PlayerState { - optional int32 hero_id = 1; - optional uint32 net_worth = 2; - optional uint32 level = 3; - optional uint32 deaths = 4; - optional uint32 respawn_time = 5; - optional bool has_buyback = 6; - optional bool has_aegis = 7; - optional bool has_rapier = 8; - optional uint32 distance = 9; - } - - message TeamState { - optional uint32 team = 1; - repeated .CMsgServerToGCMatchStateHistory.PlayerState player_states = 2 [(steamml_max_entries) = 5]; - repeated uint32 tower_health_pct = 3 [(steamml_max_entries) = 11]; - repeated uint32 barracks_health_pct = 4 [(steamml_max_entries) = 3]; - optional uint32 ancient_health_pct = 5; - optional uint32 glyph_cooldown = 6; - optional uint32 kills = 7; - optional uint32 creep_distance_safe = 8; - optional uint32 creep_distance_mid = 9; - optional uint32 creep_distance_off = 10; - } - - message MatchState { - optional uint32 game_time = 1; - optional .CMsgServerToGCMatchStateHistory.TeamState radiant_state = 2; - optional .CMsgServerToGCMatchStateHistory.TeamState dire_state = 3; - } - - optional uint64 match_id = 1; - optional bool radiant_won = 2; - optional uint32 mmr = 3; - repeated .CMsgServerToGCMatchStateHistory.MatchState match_states = 4; -} - -message CMsgMatchStateSteamMLEntry { - optional .CMsgServerToGCMatchStateHistory.MatchState match_state = 1; - optional uint32 mmr = 2; - optional bool radiant_won = 3; -} - -message CMsgLaneSelectionSteamMLEntry { - repeated int32 hero_ids = 1 [(steamml_max_entries) = 10]; - repeated uint32 lanes = 2 [(steamml_max_entries) = 6]; -} - -message CMsgAbilitySelectionSteamMLEntry { - optional uint32 mmr = 1; - optional int32 hero_id = 2; - repeated int32 enemy_hero_ids = 3 [(steamml_max_entries) = 4]; - optional uint32 lane = 4; - repeated int32 abilities = 5 [(steamml_max_entries) = 25]; - optional int32 selected_ability = 6 [default = -1]; -} - -message CMsgItemPurchasePregameSteamMLEntry { - optional uint32 mmr = 1; - optional uint32 lane = 2; - optional float balance = 3; - optional int32 hero_id = 4; - repeated int32 allied_hero_ids = 5 [(steamml_max_entries) = 4]; - repeated int32 enemy_hero_ids = 6 [(steamml_max_entries) = 5]; - repeated int32 items = 7 [(steamml_max_entries) = 9]; -} - -message CMsgItemPurchaseSteamMLEntry { - optional uint32 mmr = 1; - optional uint32 lane = 2; - optional int32 hero_id = 3; - repeated int32 allied_hero_ids = 4 [(steamml_max_entries) = 4]; - repeated int32 enemy_hero_ids = 5 [(steamml_max_entries) = 5]; - repeated int32 items = 6 [(steamml_max_entries) = 20]; - repeated int32 items_to_be_purchased = 7 [(steamml_max_entries) = 20]; -} - -message CMsgItemPurchaseSequenceSteamMLEntry { - optional uint32 mmr = 1; - optional uint32 lane = 2; - optional int32 hero_id = 3; - repeated int32 allied_hero_ids = 4 [(steamml_max_entries) = 4]; - repeated int32 enemy_hero_ids = 5 [(steamml_max_entries) = 5]; - repeated int32 items = 6 [(steamml_max_entries) = 20]; - optional int32 item_to_be_purchased = 7 [default = -1]; -} - message CMsgServerToGCCavernCrawlIsHeroActive { optional uint32 event_id = 1; optional uint32 account_id = 2; @@ -1158,8 +1016,8 @@ message CMsgSignOutGuildChallengeProgress { message CMsgSignOutMVPStats { message Player { message KillEaterEvent { - required uint32 event_type = 1; - required uint32 amount = 2; + optional uint32 event_type = 1; + optional uint32 amount = 2; } optional uint32 team_id = 1; @@ -1358,6 +1216,15 @@ message CMsgSteamLearnMatchHeroesV3 { repeated uint32 dire_positions = 8 [(steamlearn_count) = 5]; } +message CMsgSteamLearnMatchHeroesV4 { + repeated int32 radiant_hero_ids = 1 [(steamlearn_count) = 5]; + repeated int32 dire_hero_ids = 2 [(steamlearn_count) = 5]; + repeated uint32 radiant_lanes = 3 [(steamlearn_count) = 5]; + repeated uint32 dire_lanes = 4 [(steamlearn_count) = 5]; + repeated uint32 radiant_positions = 5 [(steamlearn_count) = 5]; + repeated uint32 dire_positions = 6 [(steamlearn_count) = 5]; +} + message CMsgSteamLearnMatchHeroV6 { optional int32 hero_id = 1; optional uint32 facet = 2; @@ -1368,6 +1235,14 @@ message CMsgSteamLearnMatchHeroV6 { repeated uint32 enemy_hero_and_facet = 7 [(steamlearn_count) = 5]; } +message CMsgSteamLearnMatchHeroV8 { + optional int32 hero_id = 1; + optional uint32 lane = 2; + optional uint32 position = 3; + repeated uint32 allied_heroes = 4 [(steamlearn_count) = 4]; + repeated uint32 enemy_heroes = 5 [(steamlearn_count) = 5]; +} + message CMsgSteamLearnPlayerTimedStats { message StatBucket { optional float game_time = 1; @@ -1443,6 +1318,14 @@ message CMsgSteamLearnNeutralItemPurchaseV4 { optional int32 enhancement_id = 5 [default = -1]; } +message CMsgSteamLearnNeutralItemPurchaseV6 { + optional uint32 tier = 1; + repeated int32 trinket_options = 2 [(steamlearn_count) = 5]; + repeated int32 enhancement_options = 3 [(steamlearn_count) = 5]; + optional int32 trinket_id = 4 [default = -1]; + optional int32 enhancement_id = 5 [default = -1]; +} + message CMsgSteamLearnAbilitySkill { optional int32 ability_id = 1 [default = -1]; repeated int32 skilled_abilities = 2 [(steamlearn_count) = 30]; @@ -1506,6 +1389,7 @@ message CMsgSignOutOverworld { optional uint32 account_id = 1; optional uint32 overworld_id = 2; repeated uint32 desired_token_rewards = 3; + optional .CMsgOverworldFortune fortune = 4; } repeated .CMsgSignOutOverworld.Player players = 1; diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_webapi.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_webapi.proto index 0b688812..8a1b0079 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_webapi.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_webapi.proto @@ -3,6 +3,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_match_metadata.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -220,19 +221,37 @@ message CMsgTalentContentAssetStatus { optional .ETalentContentAssetType asset_type = 1 [default = k_eTalentContentAssetType_Photo]; optional uint32 asset_index = 2; optional .ETalentContentAssetStatus asset_status = 3 [default = k_eTalentContentAssetStatus_None]; + optional uint32 revision = 4; } message CMsgTalentContentStatus { + message SubmitRevision { + optional string zip_file = 1; + optional uint32 timestamp = 2; + optional uint32 revision_number = 3; + } + message TalentDetails { optional uint32 account_id = 1; optional string full_name = 2; optional string nickname = 3; optional uint32 workshop_item_id = 4; - optional string zip_file = 5; - optional .ETalentContentStatus status = 6 [default = TALENT_CONTENT_STATUS_INVALID]; - repeated .CMsgTalentContentAssetStatus asset_status = 7; - optional uint32 broadcast_language = 8; - optional uint32 submission_timestamp = 9; + optional .ETalentContentStatus status = 5 [default = TALENT_CONTENT_STATUS_INVALID]; + repeated .CMsgTalentContentAssetStatus asset_status = 8; + optional uint32 broadcast_language = 9; + repeated .CMsgTalentContentStatus.SubmitRevision revision = 10; + optional uint32 revision_count = 11; + optional .CMsgTalentContentStatus.EWorkshopItemStatus workshop_item_status = 12 [default = k_eSuccess]; + optional string workshop_item_details = 13; + } + + enum EWorkshopItemStatus { + k_eSuccess = 0; + k_eInvalidWorkshopId = 1; + k_eWrongAppId = 2; + k_eRevenueSharingNotFinalized = 3; + k_eWorkshopItemNotFound = 4; + k_eUnknown = 5; } repeated .CMsgTalentContentStatus.TalentDetails talent_status = 1; diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_match_metadata.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_match_metadata.proto index fb97e246..277299e7 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_match_metadata.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_match_metadata.proto @@ -8,6 +8,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/dota_gcmessages_common.proto"; import "in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/networkbasetypes.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -22,8 +23,8 @@ enum EPlayerInventorySnapshotFlags { message CDOTAMatchMetadataFile { option (maximum_size_bytes) = 1000000; - required int32 version = 1; - required uint64 match_id = 2; + optional int32 version = 1; + optional uint64 match_id = 2; optional .CDOTAMatchMetadata metadata = 3; optional bytes private_metadata = 5; } @@ -182,6 +183,12 @@ message CDOTAMatchMetadata { optional .CMsgOverworldTokenQuantity tokens = 2; } + message NeutralItem { + optional int32 trinket_id = 1 [default = -1]; + optional int32 enchantment_id = 2 [default = -1]; + optional int32 tier = 3; + } + repeated int32 ability_upgrades = 2; optional uint32 player_slot = 3; repeated .CDOTAMatchMetadata.Team.PlayerKill kills = 5; @@ -239,6 +246,8 @@ message CDOTAMatchMetadata { repeated .CMsgCraftworksQuestReward craftworks_quest_rewards = 60; optional int32 ad_facet_hero_id = 61; optional .CMsgMonsterHunterMatchRewards.Player monster_hunter_rewards = 62; + optional uint32 wisdom_shrines_taken = 63; + repeated .CDOTAMatchMetadata.Team.Player.NeutralItem neutral_items = 64; } optional uint32 dota_team = 1; @@ -348,6 +357,7 @@ message CDOTAMatchPrivateMetadata { optional uint32 abilities = 6; optional uint32 wards = 7; optional uint32 other = 8; + optional uint32 summons = 9; } message XPReceived { @@ -358,6 +368,7 @@ message CDOTAMatchPrivateMetadata { optional uint32 outpost = 5; optional uint32 other = 6; optional uint32 abilities = 7; + optional uint32 summons = 8; } optional uint32 player_slot = 2; @@ -374,6 +385,8 @@ message CDOTAMatchPrivateMetadata { optional .CDOTAMatchPrivateMetadata.Team.Player.XPReceived xp_received = 13; optional .DOTA_GC_TEAM team_number = 14 [default = DOTA_GC_TEAM_GOOD_GUYS]; optional uint32 team_slot = 15; + + reserved 16 to 25; } message Building { @@ -386,9 +399,81 @@ message CDOTAMatchPrivateMetadata { optional uint32 dota_team = 1; repeated .CDOTAMatchPrivateMetadata.Team.Player players = 2; repeated .CDOTAMatchPrivateMetadata.Team.Building buildings = 3; + + reserved 4; + } + + message ContributionsCombatSegment { + message DamageContributionRecord { + optional int32 attacker_ability_id = 1 [default = -1]; + optional int32 attacker_hero_id = 2; + optional int32 target_hero_id = 3; + optional int32 contributor_ability_id = 4 [default = -1]; + optional int32 contributor_hero_id = 5; + optional uint32 value = 6; + optional uint32 type = 7; + optional uint32 attacker_unit_index = 8; + } + + message DamageMitigationRecord { + optional int32 attacker_ability_id = 1 [default = -1]; + optional int32 attacker_hero_id = 2; + optional int32 target_hero_id = 3; + optional int32 contributor_ability_id = 4 [default = -1]; + optional int32 contributor_hero_id = 5; + optional uint32 value = 6; + optional uint32 type = 7; + optional uint32 attacker_unit_index = 8; + } + + message HealingContributionRecord { + optional int32 attacker_ability_id = 1 [default = -1]; + optional int32 attacker_hero_id = 2; + optional int32 target_hero_id = 3; + optional int32 contributor_ability_id = 4 [default = -1]; + optional int32 contributor_hero_id = 5; + optional uint32 value = 6; + optional uint32 type = 7; + optional uint32 attacker_unit_index = 8; + } + + message HealingReductionRecord { + optional int32 attacker_ability_id = 1 [default = -1]; + optional int32 attacker_hero_id = 2; + optional int32 target_hero_id = 3; + optional int32 contributor_ability_id = 4 [default = -1]; + optional int32 contributor_hero_id = 5; + optional uint32 value = 6; + optional uint32 type = 7; + optional uint32 attacker_unit_index = 8; + } + + message KillingBlow { + optional int32 attacker_hero_id = 1; + optional int32 target_hero_id = 2; + optional int32 inflictor_ability_id = 3 [default = -1]; + } + + message Dispel { + optional int32 attacker_hero_id = 1; + optional int32 target_hero_id = 2; + optional int32 inflictor_ability_id = 3 [default = -1]; + optional int32 modifier_ability_id = 4 [default = -1]; + optional float duration_reduced = 5; + } + + optional int32 game_time = 1; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment.DamageContributionRecord damage_contributions = 2; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment.DamageMitigationRecord damage_mitigations = 3; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment.HealingContributionRecord healing_contributions = 4; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment.HealingReductionRecord healing_reductions = 5; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment.KillingBlow killing_blows = 6; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment.Dispel dispels = 7; } repeated .CDOTAMatchPrivateMetadata.Team teams = 1; repeated float graph_win_probability = 2; repeated .CDOTAMatchPrivateMetadata.StringName string_names = 3; + repeated .CDOTAMatchPrivateMetadata.ContributionsCombatSegment contributions = 4; + repeated string contribution_unit_names = 5; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto index 81dd5373..53eb90d8 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/dota_shared_enums.proto @@ -1,3 +1,7 @@ +import public "in/dragonbra/javasteam/protobufs/dota2/events.proto"; +import "in/dragonbra/javasteam/protobufs/dota2/event_gcmessages_common.proto"; +import "google/protobuf/descriptor.proto"; + option java_package = "in.dragonbra.javasteam.protobufs.dota2"; option optimize_for = SPEED; @@ -68,67 +72,6 @@ enum DOTA_GC_TEAM { DOTA_GC_TEAM_NEUTRALS = 14; } -enum EEvent { - EVENT_ID_NONE = 0; - EVENT_ID_DIRETIDE = 1; - EVENT_ID_SPRING_FESTIVAL = 2; - EVENT_ID_FROSTIVUS_2013 = 3; - EVENT_ID_COMPENDIUM_2014 = 4; - EVENT_ID_NEXON_PC_BANG = 5; - EVENT_ID_PWRD_DAC_2015 = 6; - EVENT_ID_NEW_BLOOM_2015 = 7; - EVENT_ID_INTERNATIONAL_2015 = 8; - EVENT_ID_FALL_MAJOR_2015 = 9; - EVENT_ID_ORACLE_PA = 10; - EVENT_ID_NEW_BLOOM_2015_PREBEAST = 11; - EVENT_ID_FROSTIVUS = 12; - EVENT_ID_WINTER_MAJOR_2016 = 13; - EVENT_ID_INTERNATIONAL_2016 = 14; - EVENT_ID_FALL_MAJOR_2016 = 15; - EVENT_ID_WINTER_MAJOR_2017 = 16; - EVENT_ID_NEW_BLOOM_2017 = 17; - EVENT_ID_INTERNATIONAL_2017 = 18; - EVENT_ID_PLUS_SUBSCRIPTION = 19; - EVENT_ID_SINGLES_DAY_2017 = 20; - EVENT_ID_FROSTIVUS_2017 = 21; - EVENT_ID_INTERNATIONAL_2018 = 22; - EVENT_ID_FROSTIVUS_2018 = 23; - EVENT_ID_NEW_BLOOM_2019 = 24; - EVENT_ID_INTERNATIONAL_2019 = 25; - EVENT_ID_NEW_PLAYER_EXPERIENCE = 26; - EVENT_ID_FROSTIVUS_2019 = 27; - EVENT_ID_NEW_BLOOM_2020 = 28; - EVENT_ID_INTERNATIONAL_2020 = 29; - EVENT_ID_TEAM_FANDOM = 30; - EVENT_ID_DIRETIDE_2020 = 31; - EVENT_ID_SPRING_2021 = 32; - EVENT_ID_FALL_2021 = 33; - EVENT_ID_TEAM_FANDOM_FALL_2021 = 34; - EVENT_ID_TEAM_2021_2022_TOUR2 = 35; - EVENT_ID_INTERNATIONAL_2022 = 36; - EVENT_ID_TEAM_2021_2022_TOUR3 = 37; - EVENT_ID_TEAM_INTERNATIONAL_2022 = 38; - EVENT_ID_PERMANENT_GRANTS = 39; - EVENT_ID_MUERTA_RELEASE_SPRING2023 = 40; - EVENT_ID_TEAM_2023_TOUR1 = 41; - EVENT_ID_TEAM_2023_TOUR2 = 42; - EVENT_ID_TEAM_2023_TOUR3 = 43; - EVENT_ID_INTERNATIONAL_2023 = 45; - EVENT_ID_10TH_ANNIVERSARY = 46; - EVENT_ID_CROWNFALL = 47; - EVENT_ID_FROSTIVUS_2023 = 48; - EVENT_ID_INTERNATIONAL_2024 = 49; - EVENT_ID_FROSTIVUS_2024 = 50; - EVENT_ID_MONSTER_HUNTER = 51; - EVENT_ID_INTERNATIONAL_2025 = 52; - EVENT_ID_FALL_2025 = 53; - EVENT_ID_WINTER_2025 = 55; - EVENT_ID_SPRING_2026 = 56; - EVENT_ID_SUMMER_2026 = 57; - EVENT_ID_FALL_2026 = 58; - EVENT_ID_WINTER_2026 = 59; -} - enum ERankType { k_ERankType_Invalid = 0; k_ERankType_Casual = 1; @@ -439,6 +382,10 @@ enum DOTA_BOT_MODE { DOTA_BOT_MODE_MINION = 25; DOTA_BOT_MODE_OUTPOST = 26; DOTA_BOT_MODE_BOT_CHALLENGE_ENDGAME = 27; + DOTA_BOT_MODE_WATCHER = 28; + DOTA_BOT_MODE_WISDOM_SHRINE = 29; + DOTA_BOT_MODE_LOTUS_POOL = 30; + DOTA_BOT_MODE_DEWARD = 31; } enum MatchLanguages { @@ -521,6 +468,11 @@ enum EBadgeType { k_EBadgeType_TI14_FinalsDay3 = 24; k_EBadgeType_TI14_FinalsDay4 = 25; k_EBadgeType_TI14_Special = 26; + k_EBadgeType_TI15_FinalsDay1 = 27; + k_EBadgeType_TI15_FinalsDay2 = 28; + k_EBadgeType_TI15_FinalsDay3 = 29; + k_EBadgeType_TI15_FinalsDay4 = 30; + k_EBadgeType_TI15_Special = 31; } enum ELeagueStatus { @@ -698,11 +650,6 @@ enum EDPCPushNotification { DPC_PUSH_NOTIFICATION_FANTASY_FINAL_RESULTS = 42; } -enum EEventActionScoreMode { - k_eEventActionScoreMode_Add = 0; - k_eEventActionScoreMode_Min = 1; -} - enum EPlayerChallengeHistoryType { k_EPlayerChallengeHistoryType_Invalid = 0; k_EPlayerChallengeHistoryType_KillEater = 1; @@ -860,6 +807,8 @@ message CMsgDOTACombatLogEntry { optional bool will_reincarnate = 78; optional bool uses_charges = 79; optional uint32 tracked_stat_id = 80; + optional float modifier_purged_duration = 81; + optional bool heal_from_regen = 82; } message CMsgPendingEventAward { @@ -872,12 +821,7 @@ message CMsgPendingEventAward { } message CMsgMonsterHunterMaterialQuantity { - message MaterialCountsEntry { - optional uint32 key = 1; - optional int32 value = 2; - } - - repeated .CMsgMonsterHunterMaterialQuantity.MaterialCountsEntry material_counts = 1; + map material_counts = 1; } message CMsgMonsterHunterInvestigation { diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_gcmessages.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_gcmessages.proto index a34e7e55..06347195 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_gcmessages.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_gcmessages.proto @@ -2,6 +2,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/econ_shared_enums.proto"; import "in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/base_gcmessages.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -291,6 +292,7 @@ message CMsgRequestCrateEscalationLevelResponse { optional uint32 escalation_level1 = 3; optional uint32 escalation_level2 = 4; optional uint32 escalation_level3 = 5; + optional uint32 escalation_level4 = 6; } message CMsgGCToGCCanUseDropRateBonus { @@ -442,7 +444,18 @@ message CMsgDevNewItemRequest { } message CMsgDevNewItemRequestResponse { - optional bool success = 1; + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eNotAllowed = 5; + k_eUnknownItemDef = 6; + k_eItemDefNotAllowed = 7; + } + + optional .CMsgDevNewItemRequestResponse.EResponse result = 1 [default = k_eInternalError]; } message CMsgDevUnlockAllItemStyles { @@ -866,13 +879,11 @@ message CMsgProcessTransactionOrder { optional uint64 source_reference_id = 6; optional int32 parent_stack_index = 7; optional bool default_price = 8; - optional bool is_user_facing = 9; optional int32 price_index = 11; } optional uint64 txn_id = 1; optional uint64 steam_txn_id = 2; - optional uint64 partner_txn_id = 3; optional fixed64 steam_id = 4; optional uint32 time_stamp = 5; optional uint64 watermark = 6; diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_shared_enums.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_shared_enums.proto index 549c2f5f..728a45e2 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_shared_enums.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/econ_shared_enums.proto @@ -4,39 +4,42 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGCEconBaseMsg { - k_EMsgGCGenericResult = 2579; + k_EMsgGCGenericResult = 2579; } enum EGCMsgResponse { - k_EGCMsgResponseOK = 0; - k_EGCMsgResponseDenied = 1; - k_EGCMsgResponseServerError = 2; - k_EGCMsgResponseTimeout = 3; - k_EGCMsgResponseInvalid = 4; - k_EGCMsgResponseNoMatch = 5; - k_EGCMsgResponseUnknownError = 6; - k_EGCMsgResponseNotLoggedOn = 7; - k_EGCMsgFailedToCreate = 8; + k_EGCMsgResponseOK = 0; + k_EGCMsgResponseDenied = 1; + k_EGCMsgResponseServerError = 2; + k_EGCMsgResponseTimeout = 3; + k_EGCMsgResponseInvalid = 4; + k_EGCMsgResponseNoMatch = 5; + k_EGCMsgResponseUnknownError = 6; + k_EGCMsgResponseNotLoggedOn = 7; + k_EGCMsgFailedToCreate = 8; } enum EGCMsgUseItemResponse { - k_EGCMsgUseItemResponse_ItemUsed = 0; - k_EGCMsgUseItemResponse_GiftNoOtherPlayers = 1; - k_EGCMsgUseItemResponse_ServerError = 2; - k_EGCMsgUseItemResponse_MiniGameAlreadyStarted = 3; - k_EGCMsgUseItemResponse_ItemUsed_ItemsGranted = 4; - k_EGCMsgUseItemResponse_DropRateBonusAlreadyGranted = 5; - k_EGCMsgUseItemResponse_NotInLowPriorityPool = 6; - k_EGCMsgUseItemResponse_NotHighEnoughLevel = 7; - k_EGCMsgUseItemResponse_EventNotActive = 8; - k_EGCMsgUseItemResponse_ItemUsed_EventPointsGranted = 9; - k_EGCMsgUseItemResponse_MissingRequirement = 10; - k_EGCMsgUseItemResponse_EmoticonUnlock_NoNew = 11; - k_EGCMsgUseItemResponse_EmoticonUnlock_Complete = 12; - k_EGCMsgUseItemResponse_ItemUsed_Compendium = 13; + k_EGCMsgUseItemResponse_ItemUsed = 0; + k_EGCMsgUseItemResponse_GiftNoOtherPlayers = 1; + k_EGCMsgUseItemResponse_ServerError = 2; + k_EGCMsgUseItemResponse_MiniGameAlreadyStarted = 3; + k_EGCMsgUseItemResponse_ItemUsed_ItemsGranted = 4; + k_EGCMsgUseItemResponse_DropRateBonusAlreadyGranted = 5; + k_EGCMsgUseItemResponse_NotInLowPriorityPool = 6; + k_EGCMsgUseItemResponse_NotHighEnoughLevel = 7; + k_EGCMsgUseItemResponse_EventNotActive = 8; + k_EGCMsgUseItemResponse_ItemUsed_EventPointsGranted = 9; + k_EGCMsgUseItemResponse_MissingRequirement = 10; + k_EGCMsgUseItemResponse_EmoticonUnlock_NoNew = 11; + k_EGCMsgUseItemResponse_EmoticonUnlock_Complete = 12; + k_EGCMsgUseItemResponse_ItemUsed_Compendium = 13; + k_EGCMsgUseItemResponse_CannotUseWhileUntradable = 14; + k_EGCMsgUseItemResponse_CannotBeUsedByAccount = 15; + k_EGCMsgUseItemResponse_RecipientCannotRecieve = 16; } message CMsgGenericResult { - optional uint32 eresult = 1 [default = 2]; - optional string debug_message = 2; + optional uint32 eresult = 1 [default = 2]; + optional string debug_message = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/event_gcmessages_common.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/event_gcmessages_common.proto new file mode 100644 index 00000000..eb3ee51c --- /dev/null +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/event_gcmessages_common.proto @@ -0,0 +1,39 @@ +import "google/protobuf/descriptor.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.dota2"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EEventActionScoreMode { + k_eEventActionScoreMode_Add = 0; + k_eEventActionScoreMode_Min = 1; +} + +message CMsgEventAction { + optional uint32 action_id = 1; + optional uint32 times_completed = 2 [default = 1]; +} + +message CMsgUserEventPoints { + optional uint32 account_id = 1; + optional uint32 event_id = 2; + optional uint32 total_points = 3; + optional uint32 total_premium_points = 4; + optional uint32 points = 5; + optional uint32 premium_points = 6; + repeated .CMsgEventAction completed_actions = 7; + optional bool owned = 8; + optional uint32 active_season_id = 9; +} + +message CMsgPeriodicResourceKey { + optional uint32 account_id = 1; + optional uint32 periodic_resource_id = 2; + optional uint32 timestamp = 3; +} + +message CMsgPeriodicResourceValue { + optional uint32 periodic_resource_max = 1; + optional uint32 periodic_resource_used = 2; +} diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/events.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/events.proto new file mode 100644 index 00000000..4daa7322 --- /dev/null +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/events.proto @@ -0,0 +1,67 @@ +option java_package = "in.dragonbra.javasteam.protobufs.dota2"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EEvent { + EVENT_ID_NONE = 0; + EVENT_ID_DIRETIDE = 1; + EVENT_ID_SPRING_FESTIVAL = 2; + EVENT_ID_FROSTIVUS_2013 = 3; + EVENT_ID_COMPENDIUM_2014 = 4; + EVENT_ID_NEXON_PC_BANG = 5; + EVENT_ID_PWRD_DAC_2015 = 6; + EVENT_ID_NEW_BLOOM_2015 = 7; + EVENT_ID_INTERNATIONAL_2015 = 8; + EVENT_ID_FALL_MAJOR_2015 = 9; + EVENT_ID_ORACLE_PA = 10; + EVENT_ID_NEW_BLOOM_2015_PREBEAST = 11; + EVENT_ID_FROSTIVUS = 12; + EVENT_ID_WINTER_MAJOR_2016 = 13; + EVENT_ID_INTERNATIONAL_2016 = 14; + EVENT_ID_FALL_MAJOR_2016 = 15; + EVENT_ID_WINTER_MAJOR_2017 = 16; + EVENT_ID_NEW_BLOOM_2017 = 17; + EVENT_ID_INTERNATIONAL_2017 = 18; + EVENT_ID_PLUS_SUBSCRIPTION = 19; + EVENT_ID_SINGLES_DAY_2017 = 20; + EVENT_ID_FROSTIVUS_2017 = 21; + EVENT_ID_INTERNATIONAL_2018 = 22; + EVENT_ID_FROSTIVUS_2018 = 23; + EVENT_ID_NEW_BLOOM_2019 = 24; + EVENT_ID_INTERNATIONAL_2019 = 25; + EVENT_ID_NEW_PLAYER_EXPERIENCE = 26; + EVENT_ID_FROSTIVUS_2019 = 27; + EVENT_ID_NEW_BLOOM_2020 = 28; + EVENT_ID_INTERNATIONAL_2020 = 29; + EVENT_ID_TEAM_FANDOM = 30; + EVENT_ID_DIRETIDE_2020 = 31; + EVENT_ID_SPRING_2021 = 32; + EVENT_ID_FALL_2021 = 33; + EVENT_ID_TEAM_FANDOM_FALL_2021 = 34; + EVENT_ID_TEAM_2021_2022_TOUR2 = 35; + EVENT_ID_INTERNATIONAL_2022 = 36; + EVENT_ID_TEAM_2021_2022_TOUR3 = 37; + EVENT_ID_TEAM_INTERNATIONAL_2022 = 38; + EVENT_ID_PERMANENT_GRANTS = 39; + EVENT_ID_MUERTA_RELEASE_SPRING2023 = 40; + EVENT_ID_TEAM_2023_TOUR1 = 41; + EVENT_ID_TEAM_2023_TOUR2 = 42; + EVENT_ID_TEAM_2023_TOUR3 = 43; + EVENT_ID_INTERNATIONAL_2023 = 45; + EVENT_ID_10TH_ANNIVERSARY = 46; + EVENT_ID_CROWNFALL = 47; + EVENT_ID_FROSTIVUS_2023 = 48; + EVENT_ID_INTERNATIONAL_2024 = 49; + EVENT_ID_FROSTIVUS_2024 = 50; + EVENT_ID_MONSTER_HUNTER = 51; + EVENT_ID_INTERNATIONAL_2025 = 52; + EVENT_ID_FALL_2025 = 53; + EVENT_ID_DARK_CARNIVAL = 54; + EVENT_ID_WINTER_2025 = 55; + EVENT_ID_SPRING_2026 = 56; + EVENT_ID_SUMMER_2026 = 57; + EVENT_ID_FALL_2026 = 58; + EVENT_ID_WINTER_2026 = 59; + EVENT_ID_INTERNATIONAL_2026 = 60; +} diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto index 724a985f..941a8be9 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsdk_gcmessages.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto"; import "in/dragonbra/javasteam/protobufs/dota2/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto"; +import "google/protobuf/descriptor.proto"; option java_package = "in.dragonbra.javasteam.protobufs.dota2"; @@ -8,494 +9,493 @@ option optimize_for = SPEED; option java_generic_services = false; enum ESourceEngine { - k_ESE_Source1 = 0; - k_ESE_Source2 = 1; + k_ESE_Source1 = 0; + k_ESE_Source2 = 1; } enum PartnerAccountType { - PARTNER_NONE = 0; - PARTNER_PERFECT_WORLD = 1; - PARTNER_INVALID = 3; + PARTNER_NONE = 0; + PARTNER_PERFECT_WORLD = 1; + PARTNER_INVALID = 3; } enum GCConnectionStatus { - GCConnectionStatus_HAVE_SESSION = 0; - GCConnectionStatus_GC_GOING_DOWN = 1; - GCConnectionStatus_NO_SESSION = 2; - GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3; - GCConnectionStatus_NO_STEAM = 4; - GCConnectionStatus_SUSPENDED = 5; - GCConnectionStatus_STEAM_GOING_DOWN = 6; + GCConnectionStatus_HAVE_SESSION = 0; + GCConnectionStatus_GC_GOING_DOWN = 1; + GCConnectionStatus_NO_SESSION = 2; + GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3; + GCConnectionStatus_NO_STEAM = 4; + GCConnectionStatus_SUSPENDED = 5; + GCConnectionStatus_STEAM_GOING_DOWN = 6; } message CExtraMsgBlock { - optional uint32 msg_type = 1; - optional bytes contents = 2 [(debugprint_visibility) = k_EProtoDebugVisibility_Never]; - optional uint64 msg_key = 3; - optional bool is_compressed = 4; + optional uint32 msg_type = 1; + optional bytes contents = 2 [(debugprint_visibility) = k_EProtoDebugVisibility_Never]; + optional uint64 msg_key = 3; + optional bool is_compressed = 4; } message CMsgSteamLearnServerInfo { - message ProjectInfo { - optional uint32 project_id = 1; - optional uint32 snapshot_published_version = 2; - optional uint32 inference_published_version = 3; - optional uint32 snapshot_percentage = 6; - optional bool snapshot_enabled = 7; - } + message ProjectInfo { + optional uint32 project_id = 1; + optional uint32 snapshot_published_version = 2; + optional uint32 inference_published_version = 3; + optional uint32 snapshot_percentage = 6; + optional bool snapshot_enabled = 7; + } - optional .CMsgSteamLearnAccessTokens access_tokens = 4; - repeated .CMsgSteamLearnServerInfo.ProjectInfo project_infos = 5; + optional .CMsgSteamLearnAccessTokens access_tokens = 4; + repeated .CMsgSteamLearnServerInfo.ProjectInfo project_infos = 5; } message CMsgGCAssertJobData { - optional string message_type = 1; - optional bytes message_data = 2; + optional string message_type = 1; + optional bytes message_data = 2; } message CMsgGCConCommand { - optional string command = 1; + optional string command = 1; } message CMsgSDOAssert { - message Request { - repeated uint64 key = 1; - optional string requesting_job = 2; - } + message Request { + repeated uint64 key = 1; + optional string requesting_job = 2; + } - optional int32 sdo_type = 1; - repeated .CMsgSDOAssert.Request requests = 2; + optional int32 sdo_type = 1; + repeated .CMsgSDOAssert.Request requests = 2; } message CMsgSOIDOwner { - optional uint32 type = 1; - optional uint64 id = 2; + optional uint32 type = 1; + optional uint64 id = 2; } message CMsgSOSingleObject { - optional int32 type_id = 2; - optional bytes object_data = 3; - optional fixed64 version = 4; - optional .CMsgSOIDOwner owner_soid = 5; - optional uint32 service_id = 6; + optional int32 type_id = 2; + optional bytes object_data = 3; + optional fixed64 version = 4; + optional .CMsgSOIDOwner owner_soid = 5; + optional uint32 service_id = 6; } message CMsgSOMultipleObjects { - message SingleObject { - option (msgpool_soft_limit) = 256; - option (msgpool_hard_limit) = 1024; + message SingleObject { + option (msgpool_soft_limit) = 256; + option (msgpool_hard_limit) = 1024; - optional int32 type_id = 1; - optional bytes object_data = 2; - } + optional int32 type_id = 1; + optional bytes object_data = 2; + } - repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2; - optional fixed64 version = 3; - repeated .CMsgSOMultipleObjects.SingleObject objects_added = 4; - repeated .CMsgSOMultipleObjects.SingleObject objects_removed = 5; - optional .CMsgSOIDOwner owner_soid = 6; - optional uint32 service_id = 7; + repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2; + optional fixed64 version = 3; + repeated .CMsgSOMultipleObjects.SingleObject objects_added = 4; + repeated .CMsgSOMultipleObjects.SingleObject objects_removed = 5; + optional .CMsgSOIDOwner owner_soid = 6; + optional uint32 service_id = 7; } message CMsgSOCacheSubscribed { - message SubscribedType { - optional int32 type_id = 1; - repeated bytes object_data = 2; - } + message SubscribedType { + optional int32 type_id = 1; + repeated bytes object_data = 2; + } - repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2; - optional fixed64 version = 3; - optional .CMsgSOIDOwner owner_soid = 4; - optional uint32 service_id = 5; - repeated uint32 service_list = 6; - optional fixed64 sync_version = 7; + repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2; + optional fixed64 version = 3; + optional .CMsgSOIDOwner owner_soid = 4; + optional uint32 service_id = 5; + repeated uint32 service_list = 6; + optional fixed64 sync_version = 7; } message CMsgSOCacheSubscribedUpToDate { - optional fixed64 version = 1; - optional .CMsgSOIDOwner owner_soid = 2; - optional uint32 service_id = 3; - repeated uint32 service_list = 4; - optional fixed64 sync_version = 5; + optional fixed64 version = 1; + optional .CMsgSOIDOwner owner_soid = 2; + optional uint32 service_id = 3; + repeated uint32 service_list = 4; + optional fixed64 sync_version = 5; } message CMsgSOCacheUnsubscribed { - optional .CMsgSOIDOwner owner_soid = 2; + optional .CMsgSOIDOwner owner_soid = 2; } message CMsgSOCacheSubscriptionCheck { - optional fixed64 version = 2; - optional .CMsgSOIDOwner owner_soid = 3; - optional uint32 service_id = 4; - repeated uint32 service_list = 5; - optional fixed64 sync_version = 6; + optional fixed64 version = 2; + optional .CMsgSOIDOwner owner_soid = 3; + optional uint32 service_id = 4; + repeated uint32 service_list = 5; + optional fixed64 sync_version = 6; } message CMsgSOCacheSubscriptionRefresh { - optional .CMsgSOIDOwner owner_soid = 2; + optional .CMsgSOIDOwner owner_soid = 2; } message CMsgSOCacheVersion { - optional fixed64 version = 1; + optional fixed64 version = 1; } message CMsgGCMultiplexMessage { - optional uint32 msgtype = 1; - optional bytes payload = 2; - repeated fixed64 steamids = 3; + optional uint32 msgtype = 1; + optional bytes payload = 2; + repeated fixed64 steamids = 3; } message CMsgGCToGCSubGCStarting { - optional int32 dir_index = 1 [default = -1]; + optional int32 dir_index = 1 [default = -1]; } message CGCToGCMsgMasterAck { - message Process { - optional int32 dir_index = 1 [default = -1]; - repeated uint32 type_instances = 2; - } + message Process { + optional int32 dir_index = 1 [default = -1]; + repeated uint32 type_instances = 2; + } - optional int32 dir_index = 1 [default = -1]; - optional string machine_name = 3; - optional string process_name = 4; - repeated .CGCToGCMsgMasterAck.Process directory = 6; + optional int32 dir_index = 1 [default = -1]; + optional string machine_name = 3; + optional string process_name = 4; + repeated .CGCToGCMsgMasterAck.Process directory = 6; } message CGCToGCMsgMasterAck_Response { - optional int32 eresult = 1 [default = 2]; + optional int32 eresult = 1 [default = 2]; } message CMsgGCToGCUniverseStartup { - optional bool is_initial_startup = 1; + optional bool is_initial_startup = 1; } message CMsgGCToGCUniverseStartupResponse { - optional int32 eresult = 1; + optional int32 eresult = 1; } message CGCToGCMsgMasterStartupComplete { - message GCInfo { - optional int32 dir_index = 1 [default = -1]; - optional string machine_name = 2; - } + message GCInfo { + optional int32 dir_index = 1 [default = -1]; + optional string machine_name = 2; + } - repeated .CGCToGCMsgMasterStartupComplete.GCInfo gc_info = 1; + repeated .CGCToGCMsgMasterStartupComplete.GCInfo gc_info = 1; } message CGCToGCMsgRouted { - optional uint32 msg_type = 1; - optional fixed64 sender_id = 2; - optional bytes net_message = 3; + optional uint32 msg_type = 1; + optional fixed64 sender_id = 2; + optional bytes net_message = 3; } message CGCToGCMsgRoutedReply { - optional uint32 msg_type = 1; - optional bytes net_message = 2; + optional uint32 msg_type = 1; + optional bytes net_message = 2; } message CMsgGCUpdateSubGCSessionInfo { - message CMsgUpdate { - optional fixed64 steamid = 1; - optional fixed32 ip = 2; - optional bool trusted = 3; - } + message CMsgUpdate { + optional fixed64 steamid = 1; + optional fixed32 ip = 2; + optional bool trusted = 3; + } - repeated .CMsgGCUpdateSubGCSessionInfo.CMsgUpdate updates = 1; + repeated .CMsgGCUpdateSubGCSessionInfo.CMsgUpdate updates = 1; } message CMsgGCRequestSubGCSessionInfo { - optional fixed64 steamid = 1; + optional fixed64 steamid = 1; } message CMsgGCRequestSubGCSessionInfoResponse { - optional fixed32 ip = 1; - optional bool trusted = 2; - optional uint32 port = 3; - optional bool success = 4; + optional fixed32 ip = 1; + optional bool trusted = 2; + optional uint32 port = 3; + optional bool success = 4; } message CMsgSOCacheHaveVersion { - optional .CMsgSOIDOwner soid = 1; - optional fixed64 version = 2; - optional uint32 service_id = 3; - optional uint32 cached_file_version = 4; + optional .CMsgSOIDOwner soid = 1; + optional fixed64 version = 2; + optional uint32 service_id = 3; + optional uint32 cached_file_version = 4; } message CMsgClientHello { - optional uint32 version = 1; - repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; - optional uint32 client_session_need = 3; - optional .PartnerAccountType client_launcher = 4 [default = PARTNER_NONE]; - optional string secret_key = 5; - optional uint32 client_language = 6; - optional .ESourceEngine engine = 7 [default = k_ESE_Source1]; - optional bytes steamdatagram_login = 8; - optional uint32 platform_id = 9; - optional bytes game_msg = 10; - optional int32 os_type = 11; - optional uint32 render_system = 12; - optional uint32 render_system_req = 13; - optional uint32 screen_width = 14; - optional uint32 screen_height = 15; - optional uint32 screen_refresh = 16; - optional uint32 render_width = 17; - optional uint32 render_height = 18; - optional uint32 swap_width = 19; - optional uint32 swap_height = 20; - optional bool is_steam_china = 22; - optional bool is_steam_china_client = 24; - optional string platform_name = 23; + optional uint32 version = 1; + repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; + optional uint32 client_session_need = 3; + optional .PartnerAccountType client_launcher = 4 [default = PARTNER_NONE]; + optional uint32 client_language = 6; + optional .ESourceEngine engine = 7 [default = k_ESE_Source1]; + optional bytes steamdatagram_login = 8; + optional uint32 platform_id = 9; + optional bytes game_msg = 10; + optional int32 os_type = 11; + optional uint32 render_system = 12; + optional uint32 render_system_req = 13; + optional uint32 screen_width = 14; + optional uint32 screen_height = 15; + optional uint32 screen_refresh = 16; + optional uint32 render_width = 17; + optional uint32 render_height = 18; + optional uint32 swap_width = 19; + optional uint32 swap_height = 20; + optional bool is_steam_china = 22; + optional bool is_steam_china_client = 24; + optional string platform_name = 23; } message CMsgClientWelcome { - message Location { - optional float latitude = 1; - optional float longitude = 2; - optional string country = 3; - } - - optional uint32 version = 1; - optional bytes game_data = 2; - repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; - repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; - optional .CMsgClientWelcome.Location location = 5; - optional uint32 gc_socache_file_version = 9; - optional string txn_country_code = 10; - optional bytes game_data2 = 11; - optional uint32 rtime32_gc_welcome_timestamp = 12; - optional uint32 currency = 13; - optional uint32 balance = 14; - optional string balance_url = 15; - optional bool has_accepted_china_ssa = 16; - optional bool is_banned_steam_china = 17; - optional .CExtraMsgBlock additional_welcome_msgs = 18; - optional .CMsgSteamLearnServerInfo steam_learn_server_info = 20; + message Location { + optional float latitude = 1; + optional float longitude = 2; + optional string country = 3; + } + + optional uint32 version = 1; + optional bytes game_data = 2; + repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; + repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; + optional .CMsgClientWelcome.Location location = 5; + optional uint32 gc_socache_file_version = 9; + optional string txn_country_code = 10; + optional bytes game_data2 = 11; + optional uint32 rtime32_gc_welcome_timestamp = 12; + optional uint32 currency = 13; + optional uint32 balance = 14; + optional string balance_url = 15; + optional bool has_accepted_china_ssa = 16; + optional bool is_banned_steam_china = 17; + optional .CExtraMsgBlock additional_welcome_msgs = 18; + optional .CMsgSteamLearnServerInfo steam_learn_server_info = 20; } message CMsgConnectionStatus { - optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION]; - optional uint32 client_session_need = 2; - optional int32 queue_position = 3; - optional int32 queue_size = 4; - optional int32 wait_seconds = 5; - optional int32 estimated_wait_seconds_remaining = 6; + optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION]; + optional uint32 client_session_need = 2; + optional int32 queue_position = 3; + optional int32 queue_size = 4; + optional int32 wait_seconds = 5; + optional int32 estimated_wait_seconds_remaining = 6; } message CMsgGCToGCSOCacheSubscribe { - message CMsgHaveVersions { - optional uint32 service_id = 1; - optional uint64 version = 2; - } + message CMsgHaveVersions { + optional uint32 service_id = 1; + optional uint64 version = 2; + } - optional fixed64 subscriber = 1; - optional fixed64 subscribe_to_id = 2; - optional fixed64 sync_version = 3; - repeated .CMsgGCToGCSOCacheSubscribe.CMsgHaveVersions have_versions = 4; - optional uint32 subscribe_to_type = 5; + optional fixed64 subscriber = 1; + optional fixed64 subscribe_to_id = 2; + optional fixed64 sync_version = 3; + repeated .CMsgGCToGCSOCacheSubscribe.CMsgHaveVersions have_versions = 4; + optional uint32 subscribe_to_type = 5; } message CMsgGCToGCSOCacheUnsubscribe { - optional fixed64 subscriber = 1; - optional fixed64 unsubscribe_from_id = 2; - optional uint32 unsubscribe_from_type = 3; + optional fixed64 subscriber = 1; + optional fixed64 unsubscribe_from_id = 2; + optional uint32 unsubscribe_from_type = 3; } message CMsgGCClientPing { } message CMsgGCToGCForwardAccountDetails { - optional fixed64 steamid = 1; - optional .CGCSystemMsg_GetAccountDetails_Response account_details = 2; - optional uint32 age_seconds = 3; + optional fixed64 steamid = 1; + optional .CGCSystemMsg_GetAccountDetails_Response account_details = 2; + optional uint32 age_seconds = 3; } message CMsgGCToGCLoadSessionSOCache { - optional uint32 account_id = 1; - optional .CMsgGCToGCForwardAccountDetails forward_account_details = 2; + optional uint32 account_id = 1; + optional .CMsgGCToGCForwardAccountDetails forward_account_details = 2; } message CMsgGCToGCLoadSessionSOCacheResponse { } message CMsgGCToGCUpdateSessionStats { - optional uint32 user_sessions = 1; - optional uint32 server_sessions = 2; - optional bool in_logon_surge = 3; + optional uint32 user_sessions = 1; + optional uint32 server_sessions = 2; + optional bool in_logon_surge = 3; } message CMsgGCToClientRequestDropped { } message CWorkshop_PopulateItemDescriptions_Request { - message SingleItemDescription { - optional uint32 gameitemid = 1; - optional string item_description = 2; - } + message SingleItemDescription { + optional uint32 gameitemid = 1; + optional string item_description = 2; + } - message ItemDescriptionsLanguageBlock { - optional string language = 1; - repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2; - } + message ItemDescriptionsLanguageBlock { + optional string language = 1; + repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2; + } - optional uint32 appid = 1; - repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2; + optional uint32 appid = 1; + repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2; } message CWorkshop_GetContributors_Request { - optional uint32 appid = 1; - optional uint32 gameitemid = 2; + optional uint32 appid = 1; + optional uint32 gameitemid = 2; } message CWorkshop_GetContributors_Response { - repeated fixed64 contributors = 1; + repeated fixed64 contributors = 1; } message CWorkshop_SetItemPaymentRules_Request { - message WorkshopItemPaymentRule { - optional uint64 workshop_file_id = 1; - optional float revenue_percentage = 2; - optional string rule_description = 3; - optional uint32 rule_type = 4 [default = 1]; - } - - message WorkshopDirectPaymentRule { - optional uint64 workshop_file_id = 1; - optional string rule_description = 2; - } - - message PartnerItemPaymentRule { - optional uint32 account_id = 1; - optional float revenue_percentage = 2; - optional string rule_description = 3; - } - - optional uint32 appid = 1; - optional uint32 gameitemid = 2; - repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3; - repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4; - optional bool validate_only = 5; - optional bool make_workshop_files_subscribable = 6; - optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7; + message WorkshopItemPaymentRule { + optional uint64 workshop_file_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + optional uint32 rule_type = 4 [default = 1]; + } + + message WorkshopDirectPaymentRule { + optional uint64 workshop_file_id = 1; + optional string rule_description = 2; + } + + message PartnerItemPaymentRule { + optional uint32 account_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + } + + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3; + repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4; + optional bool validate_only = 5; + optional bool make_workshop_files_subscribable = 6; + optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7; } message CWorkshop_SetItemPaymentRules_Response { - repeated string validation_errors = 1; + repeated string validation_errors = 1; } message CCommunity_ClanAnnouncementInfo { - optional uint64 gid = 1; - optional uint64 clanid = 2; - optional uint64 posterid = 3; - optional string headline = 4; - optional uint32 posttime = 5; - optional uint32 updatetime = 6; - optional string body = 7; - optional int32 commentcount = 8; - repeated string tags = 9; - optional int32 language = 10; - optional bool hidden = 11; - optional fixed64 forum_topic_id = 12; + optional uint64 gid = 1; + optional uint64 clanid = 2; + optional uint64 posterid = 3; + optional string headline = 4; + optional uint32 posttime = 5; + optional uint32 updatetime = 6; + optional string body = 7; + optional int32 commentcount = 8; + repeated string tags = 9; + optional int32 language = 10; + optional bool hidden = 11; + optional fixed64 forum_topic_id = 12; } message CCommunity_GetClanAnnouncements_Request { - optional uint64 steamid = 1; - optional uint32 offset = 2; - optional uint32 count = 3; - optional uint32 maxchars = 4; - optional bool strip_html = 5; - repeated string required_tags = 6; - optional bool require_no_tags = 7; - repeated uint32 language_preference = 8; - optional bool hidden_only = 9; - optional bool only_gid = 10; - optional uint32 rtime_oldest_date = 11; - optional bool include_hidden = 12; - optional bool include_partner_events = 13; + optional uint64 steamid = 1; + optional uint32 offset = 2; + optional uint32 count = 3; + optional uint32 maxchars = 4; + optional bool strip_html = 5; + repeated string required_tags = 6; + optional bool require_no_tags = 7; + repeated uint32 language_preference = 8; + optional bool hidden_only = 9; + optional bool only_gid = 10; + optional uint32 rtime_oldest_date = 11; + optional bool include_hidden = 12; + optional bool include_partner_events = 13; } message CCommunity_GetClanAnnouncements_Response { - optional uint32 maxchars = 1; - optional bool strip_html = 2; - repeated .CCommunity_ClanAnnouncementInfo announcements = 3; + optional uint32 maxchars = 1; + optional bool strip_html = 2; + repeated .CCommunity_ClanAnnouncementInfo announcements = 3; } message CBroadcast_PostGameDataFrame_Request { - optional uint32 appid = 1; - optional fixed64 steamid = 2; - optional fixed64 broadcast_id = 3; - optional bytes frame_data = 4; + optional uint32 appid = 1; + optional fixed64 steamid = 2; + optional fixed64 broadcast_id = 3; + optional bytes frame_data = 4; } message CMsgSerializedSOCache { - message TypeCache { - optional uint32 type = 1; - repeated bytes objects = 2; - optional uint32 service_id = 3; - } + message TypeCache { + optional uint32 type = 1; + repeated bytes objects = 2; + optional uint32 service_id = 3; + } - message Cache { - message Version { - optional uint32 service = 1; - optional uint64 version = 2; - } + message Cache { + message Version { + optional uint32 service = 1; + optional uint64 version = 2; + } - optional uint32 type = 1; - optional uint64 id = 2; - repeated .CMsgSerializedSOCache.Cache.Version versions = 3; - repeated .CMsgSerializedSOCache.TypeCache type_caches = 4; - } + optional uint32 type = 1; + optional uint64 id = 2; + repeated .CMsgSerializedSOCache.Cache.Version versions = 3; + repeated .CMsgSerializedSOCache.TypeCache type_caches = 4; + } - optional uint32 file_version = 1; - repeated .CMsgSerializedSOCache.Cache caches = 2; - optional uint32 gc_socache_file_version = 3; + optional uint32 file_version = 1; + repeated .CMsgSerializedSOCache.Cache caches = 2; + optional uint32 gc_socache_file_version = 3; } message CMsgGCToClientPollConvarRequest { - optional string convar_name = 1; - optional uint32 poll_id = 2; + optional string convar_name = 1; + optional uint32 poll_id = 2; } message CMsgGCToClientPollConvarResponse { - optional uint32 poll_id = 1; - optional string convar_value = 2; + optional uint32 poll_id = 1; + optional string convar_value = 2; } message CGCMsgCompressedMsgToClient { - optional uint32 msg_id = 1; - optional bytes compressed_msg = 2; + optional uint32 msg_id = 1; + optional bytes compressed_msg = 2; } message CMsgGCToGCMasterBroadcastMessage { - optional uint32 users_per_second = 1; - optional bool send_to_users = 2; - optional bool send_to_servers = 3; - optional uint32 msg_id = 4; - optional bytes msg_data = 5; - optional bool trusted_servers_only = 6; + optional uint32 users_per_second = 1; + optional bool send_to_users = 2; + optional bool send_to_servers = 3; + optional uint32 msg_id = 4; + optional bytes msg_data = 5; + optional bool trusted_servers_only = 6; } message CMsgGCToGCMasterSubscribeToCache { - optional uint32 soid_type = 1; - optional fixed64 soid_id = 2; - repeated uint32 account_ids = 3; - repeated fixed64 steam_ids = 4; + optional uint32 soid_type = 1; + optional fixed64 soid_id = 2; + repeated uint32 account_ids = 3; + repeated fixed64 steam_ids = 4; } message CMsgGCToGCMasterSubscribeToCacheResponse { } message CMsgGCToGCMasterSubscribeToCacheAsync { - optional .CMsgGCToGCMasterSubscribeToCache subscribe_msg = 1; + optional .CMsgGCToGCMasterSubscribeToCache subscribe_msg = 1; } message CMsgGCToGCMasterUnsubscribeFromCache { - optional uint32 soid_type = 1; - optional fixed64 soid_id = 2; - repeated uint32 account_ids = 3; - repeated fixed64 steam_ids = 4; + optional uint32 soid_type = 1; + optional fixed64 soid_id = 2; + repeated uint32 account_ids = 3; + repeated fixed64 steam_ids = 4; } message CMsgGCToGCMasterDestroyCache { - optional uint32 soid_type = 1; - optional fixed64 soid_id = 2; + optional uint32 soid_type = 1; + optional fixed64 soid_id = 2; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsystemmsgs.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsystemmsgs.proto index 2e211289..7ec8f31c 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsystemmsgs.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/gcsystemmsgs.proto @@ -4,28 +4,28 @@ option optimize_for = SPEED; option java_generic_services = false; enum ESOMsg { - k_ESOMsg_Create = 21; - k_ESOMsg_Update = 22; - k_ESOMsg_Destroy = 23; - k_ESOMsg_CacheSubscribed = 24; - k_ESOMsg_CacheUnsubscribed = 25; - k_ESOMsg_UpdateMultiple = 26; - k_ESOMsg_CacheSubscriptionRefresh = 28; - k_ESOMsg_CacheSubscribedUpToDate = 29; + k_ESOMsg_Create = 21; + k_ESOMsg_Update = 22; + k_ESOMsg_Destroy = 23; + k_ESOMsg_CacheSubscribed = 24; + k_ESOMsg_CacheUnsubscribed = 25; + k_ESOMsg_UpdateMultiple = 26; + k_ESOMsg_CacheSubscriptionRefresh = 28; + k_ESOMsg_CacheSubscribedUpToDate = 29; } enum EGCBaseClientMsg { - k_EMsgGCPingRequest = 3001; - k_EMsgGCPingResponse = 3002; - k_EMsgGCToClientPollConvarRequest = 3003; - k_EMsgGCToClientPollConvarResponse = 3004; - k_EMsgGCCompressedMsgToClient = 3005; - k_EMsgGCCompressedMsgToClient_Legacy = 523; - k_EMsgGCToClientRequestDropped = 3006; - k_EMsgGCClientWelcome = 4004; - k_EMsgGCServerWelcome = 4005; - k_EMsgGCClientHello = 4006; - k_EMsgGCServerHello = 4007; - k_EMsgGCClientConnectionStatus = 4009; - k_EMsgGCServerConnectionStatus = 4010; + k_EMsgGCPingRequest = 3001; + k_EMsgGCPingResponse = 3002; + k_EMsgGCToClientPollConvarRequest = 3003; + k_EMsgGCToClientPollConvarResponse = 3004; + k_EMsgGCCompressedMsgToClient = 3005; + k_EMsgGCCompressedMsgToClient_Legacy = 523; + k_EMsgGCToClientRequestDropped = 3006; + k_EMsgGCClientWelcome = 4004; + k_EMsgGCServerWelcome = 4005; + k_EMsgGCClientHello = 4006; + k_EMsgGCServerHello = 4007; + k_EMsgGCClientConnectionStatus = 4009; + k_EMsgGCServerConnectionStatus = 4010; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/networkbasetypes.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/networkbasetypes.proto index 9890789f..94e1b0f4 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/networkbasetypes.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/networkbasetypes.proto @@ -1,3 +1,4 @@ +import "in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto"; import "google/protobuf/descriptor.proto"; import "in/dragonbra/javasteam/protobufs/dota2/network_connection.proto"; @@ -49,6 +50,8 @@ enum SpawnGroupFlags_t { } message CMsgVector { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; optional float z = 3; @@ -56,17 +59,23 @@ message CMsgVector { } message CMsgVector2D { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; } message CMsgQAngle { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; optional float z = 3; } message CMsgQuaternion { + option (codegen_delta_encoder) = true; + optional float x = 1; optional float y = 2; optional float z = 3; @@ -74,12 +83,16 @@ message CMsgQuaternion { } message CMsgTransform { + option (codegen_delta_encoder) = true; + optional .CMsgVector position = 1; optional float scale = 2; optional .CMsgQuaternion orientation = 3; } message CMsgRGBA { + option (codegen_delta_encoder) = true; + optional int32 r = 1; optional int32 g = 2; optional int32 b = 3; @@ -93,6 +106,8 @@ message CMsgPlayerInfo { optional fixed64 steamid = 4; optional bool fakeplayer = 5; optional bool ishltv = 6; + optional bool clan_member = 9; + optional bool clan_officer = 10; } message CEntityMsg { @@ -200,6 +215,8 @@ message CNETMsg_SpawnGroup_Load { } message CNETMsg_SpawnGroup_ManifestUpdate { + option (maximum_size_bytes) = 2048; + optional uint32 spawngrouphandle = 1; optional bytes spawngroupmanifest = 2; optional bool manifestincomplete = 3; @@ -221,6 +238,15 @@ message CNETMsg_SpawnGroup_LoadCompleted { optional uint32 spawngrouphandle = 1; } +message QuantizedFloatEncoderAlias_t { + optional string name = 1; + optional int32 bit_count = 2; + optional int32 encode_flags = 3; + optional float min_value = 4; + optional float max_value = 5; + optional bool validate = 6; +} + message CSVCMsg_GameSessionConfiguration { optional bool is_multiplayer = 1; optional bool is_loadsavegame = 2; @@ -241,6 +267,8 @@ message CSVCMsg_GameSessionConfiguration { optional bool is_transition = 16; optional string previouslevel = 17; optional string landmarkname = 18; + repeated .QuantizedFloatEncoderAlias_t quantized_float_encoder_aliases = 20; + optional float max_coord = 21; } message CNETMsg_DebugOverlay { diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages.proto index fdda1106..0cecc758 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages.proto @@ -6,108 +6,106 @@ option optimize_for = SPEED; option java_generic_services = false; extend .google.protobuf.FieldOptions { - optional bool key_field = 60000 [default = false]; + optional bool key_field = 60000 [default = false]; } extend .google.protobuf.MessageOptions { - optional int32 msgpool_soft_limit = 60000 [default = 32]; - optional int32 msgpool_hard_limit = 60001 [default = 384]; + optional int32 msgpool_soft_limit = 60000 [default = 32]; + optional int32 msgpool_hard_limit = 60001 [default = 384]; } enum EGCPlatform { - k_eGCPlatform_None = 0; - k_eGCPlatform_PC = 1; - k_eGCPlatform_Mac = 2; - k_eGCPlatform_Linux = 3; - k_eGCPlatform_Android = 4; - k_eGCPlatform_iOS = 5; + k_eGCPlatform_None = 0; + k_eGCPlatform_PC = 1; + k_eGCPlatform_Mac = 2; + k_eGCPlatform_Linux = 3; } enum GCProtoBufMsgSrc { - GCProtoBufMsgSrc_Unspecified = 0; - GCProtoBufMsgSrc_FromSystem = 1; - GCProtoBufMsgSrc_FromSteamID = 2; - GCProtoBufMsgSrc_FromGC = 3; - GCProtoBufMsgSrc_ReplySystem = 4; - GCProtoBufMsgSrc_SpoofedSteamID = 5; + GCProtoBufMsgSrc_Unspecified = 0; + GCProtoBufMsgSrc_FromSystem = 1; + GCProtoBufMsgSrc_FromSteamID = 2; + GCProtoBufMsgSrc_FromGC = 3; + GCProtoBufMsgSrc_ReplySystem = 4; + GCProtoBufMsgSrc_SpoofedSteamID = 5; } message CMsgProtoBufHeader { - option (msgpool_soft_limit) = 256; - option (msgpool_hard_limit) = 1024; + option (msgpool_soft_limit) = 256; + option (msgpool_hard_limit) = 1024; - optional fixed64 client_steam_id = 1; - optional int32 client_session_id = 2; - optional uint32 source_app_id = 3; - optional fixed64 job_id_source = 10 [default = 18446744073709551615]; - optional fixed64 job_id_target = 11 [default = 18446744073709551615]; - optional string target_job_name = 12; - optional int32 eresult = 13 [default = 2]; - optional string error_message = 14; - optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; - optional int32 gc_dir_index_source = 201 [default = -1]; + optional fixed64 client_steam_id = 1; + optional int32 client_session_id = 2; + optional uint32 source_app_id = 3; + optional fixed64 job_id_source = 10 [default = 18446744073709551615]; + optional fixed64 job_id_target = 11 [default = 18446744073709551615]; + optional string target_job_name = 12; + optional int32 eresult = 13 [default = 2]; + optional string error_message = 14; + optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; + optional int32 gc_dir_index_source = 201 [default = -1]; } message CGCSystemMsg_GetAccountDetails { - option (msgpool_soft_limit) = 128; - option (msgpool_hard_limit) = 512; + option (msgpool_soft_limit) = 128; + option (msgpool_hard_limit) = 512; - optional fixed64 steamid = 1; - optional uint32 appid = 2; + optional fixed64 steamid = 1; + optional uint32 appid = 2; } message CGCSystemMsg_GetAccountDetails_Response { - option (msgpool_soft_limit) = 128; - option (msgpool_hard_limit) = 512; + option (msgpool_soft_limit) = 128; + option (msgpool_hard_limit) = 512; - optional uint32 eresult_deprecated = 1 [default = 2]; - optional string account_name = 2; - optional string persona_name = 3; - optional bool is_profile_created = 26; - optional bool is_profile_public = 4; - optional bool is_inventory_public = 5; - optional bool is_vac_banned = 7; - optional bool is_cyber_cafe = 8; - optional bool is_school_account = 9; - optional bool is_limited = 10; - optional bool is_subscribed = 11; - optional uint32 package = 12; - optional bool is_free_trial_account = 13; - optional uint32 free_trial_expiration = 14; - optional bool is_low_violence = 15; - optional bool is_account_locked_down = 16; - optional bool is_community_banned = 17; - optional bool is_trade_banned = 18; - optional uint32 trade_ban_expiration = 19; - optional uint32 accountid = 20; - optional uint32 suspension_end_time = 21; - optional string currency = 22; - optional uint32 steam_level = 23; - optional uint32 friend_count = 24; - optional uint32 account_creation_time = 25; - optional bool is_steamguard_enabled = 27; - optional bool is_phone_verified = 28; - optional bool is_two_factor_auth_enabled = 29; - optional uint32 two_factor_enabled_time = 30; - optional uint32 phone_verification_time = 31; - optional uint64 phone_id = 33; - optional bool is_phone_identifying = 34; - optional uint32 rt_identity_linked = 35; - optional uint32 rt_birth_date = 36; - optional string txn_country_code = 37; - optional bool has_accepted_china_ssa = 38; - optional bool is_banned_steam_china = 39; + optional uint32 eresult_deprecated = 1 [default = 2]; + optional string account_name = 2; + optional string persona_name = 3; + optional bool is_profile_created = 26; + optional bool is_profile_public = 4; + optional bool is_inventory_public = 5; + optional bool is_vac_banned = 7; + optional bool is_cyber_cafe = 8; + optional bool is_school_account = 9; + optional bool is_limited = 10; + optional bool is_subscribed = 11; + optional uint32 package = 12; + optional bool is_free_trial_account = 13; + optional uint32 free_trial_expiration = 14; + optional bool is_low_violence = 15; + optional bool is_account_locked_down = 16; + optional bool is_community_banned = 17; + optional bool is_trade_banned = 18; + optional uint32 trade_ban_expiration = 19; + optional uint32 accountid = 20; + optional uint32 suspension_end_time = 21; + optional string currency = 22; + optional uint32 steam_level = 23; + optional uint32 friend_count = 24; + optional uint32 account_creation_time = 25; + optional bool is_steamguard_enabled = 27; + optional bool is_phone_verified = 28; + optional bool is_two_factor_auth_enabled = 29; + optional uint32 two_factor_enabled_time = 30; + optional uint32 phone_verification_time = 31; + optional uint64 phone_id = 33; + optional bool is_phone_identifying = 34; + optional uint32 rt_identity_linked = 35; + optional uint32 rt_birth_date = 36; + optional string txn_country_code = 37; + optional bool has_accepted_china_ssa = 38; + optional bool is_banned_steam_china = 39; } message CIPLocationInfo { - optional uint32 ip = 1; - optional float latitude = 2; - optional float longitude = 3; - optional string country = 4; - optional string state = 5; - optional string city = 6; + optional uint32 ip = 1; + optional float latitude = 2; + optional float longitude = 3; + optional string country = 4; + optional string state = 5; + optional string city = 6; } message CGCMsgGetIPLocationResponse { - repeated .CIPLocationInfo infos = 1; + repeated .CIPLocationInfo infos = 1; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_oauth.steamworkssdk.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_oauth.steamworkssdk.proto index f690106f..c37beea7 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_oauth.steamworkssdk.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_oauth.steamworkssdk.proto @@ -6,18 +6,18 @@ option optimize_for = SPEED; option java_generic_services = false; message COAuthToken_ImplicitGrantNoPrompt_Request { - optional string clientid = 1 [(description) = "Client ID for which to count the number of issued tokens"]; + optional string clientid = 1 [(description) = "Client ID for which to count the number of issued tokens"]; } message COAuthToken_ImplicitGrantNoPrompt_Response { - optional string access_token = 1 [(description) = "OAuth Token, granted on success"]; - optional string redirect_uri = 2 [(description) = "Redirection URI provided during client registration."]; + optional string access_token = 1 [(description) = "OAuth Token, granted on success"]; + optional string redirect_uri = 2 [(description) = "Redirection URI provided during client registration."]; } service OAuthToken { - option (service_description) = "Service containing methods to manage OAuth tokens"; + option (service_description) = "Service containing methods to manage OAuth tokens"; - rpc ImplicitGrantNoPrompt (.COAuthToken_ImplicitGrantNoPrompt_Request) returns (.COAuthToken_ImplicitGrantNoPrompt_Response) { - option (method_description) = "Grants an implicit OAuth token (grant type 'token') for the specified client ID on behalf of a user without prompting"; - } + rpc ImplicitGrantNoPrompt (.COAuthToken_ImplicitGrantNoPrompt_Request) returns (.COAuthToken_ImplicitGrantNoPrompt_Response) { + option (method_description) = "Grants an implicit OAuth token (grant type 'token') for the specified client ID on behalf of a user without prompting"; + } } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto index 2a6833a1..a24b38c9 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_steamlearn.steamworkssdk.proto @@ -6,435 +6,410 @@ option optimize_for = SPEED; option java_generic_services = false; enum ESteamLearnDataType { - STEAMLEARN_DATATYPE_INVALID = 0; - STEAMLEARN_DATATYPE_INT32 = 1; - STEAMLEARN_DATATYPE_FLOAT32 = 2; - STEAMLEARN_DATATYPE_BOOL = 3; - STEAMLEARN_DATATYPE_STRING = 4; - STEAMLEARN_DATATYPE_OBJECT = 5; + STEAMLEARN_DATATYPE_INVALID = 0; + STEAMLEARN_DATATYPE_INT32 = 1; + STEAMLEARN_DATATYPE_FLOAT32 = 2; + STEAMLEARN_DATATYPE_BOOL = 3; + STEAMLEARN_DATATYPE_STRING = 4; + STEAMLEARN_DATATYPE_OBJECT = 5; } enum ESteammLearnRegisterDataSourceResult { - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR = 0; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_CREATED = 1; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_FOUND = 2; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_GENERIC = 3; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_NAME = 4; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_VERSION = 5; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_CHANGED = 6; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_INVALID = 7; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_FORBIDDEN = 8; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_TIMESTAMP = 9; - STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_DISABLED = 10; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR = 0; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_CREATED = 1; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_FOUND = 2; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_GENERIC = 3; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_NAME = 4; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_VERSION = 5; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_CHANGED = 6; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_INVALID = 7; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_FORBIDDEN = 8; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_TIMESTAMP = 9; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_DISABLED = 10; } enum ESteamLearnCacheDataResult { - STEAMLEARN_CACHE_DATA_ERROR = 0; - STEAMLEARN_CACHE_DATA_SUCCESS = 1; - STEAMLEARN_CACHE_DATA_ERROR_UNKNOWN_DATA_SOURCE = 2; - STEAMLEARN_CACHE_DATA_ERROR_UNCACHED_DATA_SOURCE = 3; - STEAMLEARN_CACHE_DATA_ERROR_INVALID_KEYS = 4; - STEAMLEARN_CACHE_DATA_ERROR_FORBIDDEN = 5; - STEAMLEARN_CACHE_DATA_ERROR_INVALID_TIMESTAMP = 6; - STEAMLEARN_CACHE_DATA_DISABLED = 7; + STEAMLEARN_CACHE_DATA_ERROR = 0; + STEAMLEARN_CACHE_DATA_SUCCESS = 1; + STEAMLEARN_CACHE_DATA_ERROR_UNKNOWN_DATA_SOURCE = 2; + STEAMLEARN_CACHE_DATA_ERROR_UNCACHED_DATA_SOURCE = 3; + STEAMLEARN_CACHE_DATA_ERROR_INVALID_KEYS = 4; + STEAMLEARN_CACHE_DATA_ERROR_FORBIDDEN = 5; + STEAMLEARN_CACHE_DATA_ERROR_INVALID_TIMESTAMP = 6; + STEAMLEARN_CACHE_DATA_DISABLED = 7; } enum ESteamLearnSnapshotProjectResult { - STEAMLEARN_SNAPSHOT_PROJECT_ERROR = 0; - STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_STORED = 1; - STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_QUEUED = 2; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PROJECT_ID = 3; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_UNKNOWN_DATA_SOURCE = 4; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_DATA_SOURCE_KEY = 5; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_MISSING_CACHE_DURATION = 6; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_NO_PUBLISHED_CONFIG = 7; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_FORBIDDEN = 8; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_TIMESTAMP = 9; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INTERNAL_DATA_SOURCE_ERROR = 10; - STEAMLEARN_SNAPSHOT_PROJECT_DISABLED = 11; - STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PUBLISHED_VERSION = 12; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR = 0; + STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_STORED = 1; + STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_QUEUED = 2; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PROJECT_ID = 3; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_UNKNOWN_DATA_SOURCE = 4; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_DATA_SOURCE_KEY = 5; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_MISSING_CACHE_DURATION = 6; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_NO_PUBLISHED_CONFIG = 7; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_FORBIDDEN = 8; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_TIMESTAMP = 9; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INTERNAL_DATA_SOURCE_ERROR = 10; + STEAMLEARN_SNAPSHOT_PROJECT_DISABLED = 11; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PUBLISHED_VERSION = 12; } enum ESteamLearnGetAccessTokensResult { - STEAMLEARN_GET_ACCESS_TOKENS_ERROR = 0; - STEAMLEARN_GET_ACCESS_TOKENS_SUCCESS = 1; + STEAMLEARN_GET_ACCESS_TOKENS_ERROR = 0; + STEAMLEARN_GET_ACCESS_TOKENS_SUCCESS = 1; } enum ESteamLearnInferenceResult { - STEAMLEARN_INFERENCE_ERROR = 0; - STEAMLEARN_INFERENCE_SUCCESS = 1; - STEAMLEARN_INFERENCE_ERROR_INVALID_PROJECT_ID = 2; - STEAMLEARN_INFERENCE_ERROR_MISSING_CACHED_SCHEMA_DATA = 3; - STEAMLEARN_INFERENCE_ERROR_NO_PUBLISHED_CONFIG = 4; - STEAMLEARN_INFERENCE_ERROR_FORBIDDEN = 5; - STEAMLEARN_INFERENCE_ERROR_INVALID_TIMESTAMP = 6; - STEAMLEARN_INFERENCE_ERROR_INVALID_PUBLISHED_VERSION = 7; - STEAMLEARN_INFERENCE_ERROR_NO_FETCH_ID_FOUND = 8; - STEAMLEARN_INFERENCE_ERROR_TOO_BUSY = 9; - STEAMLEARN_INFERENCE_ERROR_UNSUPPLIED_DATA_FAIL = 10; - STEAMLEARN_INFERENCE_ERROR_UNSUPPLIED_DATA_NO_KEYS = 11; - STEAMLEARN_INFERENCE_DISABLED = 12; - STEAMLEARN_INFERENCE_ERROR_NO_OUTPUT = 13; - STEAMLEARN_INFERENCE_ERROR_INVALID_NAMED_INFERENCE = 14; + STEAMLEARN_INFERENCE_ERROR = 0; + STEAMLEARN_INFERENCE_SUCCESS = 1; + STEAMLEARN_INFERENCE_ERROR_INVALID_PROJECT_ID = 2; + STEAMLEARN_INFERENCE_ERROR_MISSING_CACHED_SCHEMA_DATA = 3; + STEAMLEARN_INFERENCE_ERROR_NO_PUBLISHED_CONFIG = 4; + STEAMLEARN_INFERENCE_ERROR_FORBIDDEN = 5; + STEAMLEARN_INFERENCE_ERROR_INVALID_TIMESTAMP = 6; + STEAMLEARN_INFERENCE_ERROR_INVALID_PUBLISHED_VERSION = 7; + STEAMLEARN_INFERENCE_ERROR_NO_FETCH_ID_FOUND = 8; + STEAMLEARN_INFERENCE_ERROR_TOO_BUSY = 9; + STEAMLEARN_INFERENCE_ERROR_UNSUPPLIED_DATA_FAIL = 10; + STEAMLEARN_INFERENCE_ERROR_UNSUPPLIED_DATA_NO_KEYS = 11; + STEAMLEARN_INFERENCE_DISABLED = 12; + STEAMLEARN_INFERENCE_ERROR_NO_OUTPUT = 13; + STEAMLEARN_INFERENCE_ERROR_INVALID_NAMED_INFERENCE = 14; } enum ESteamLearnInferenceMetadataResult { - STEAMLEARN_INFERENCE_METADATA_ERROR = 0; - STEAMLEARN_INFERENCE_METADATA_SUCCESS = 1; - STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PROJECT_ID = 2; - STEAMLEARN_INFERENCE_METADATA_ERROR_NO_PUBLISHED_CONFIG = 3; - STEAMLEARN_INFERENCE_METADATA_ERROR_FORBIDDEN = 4; - STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_TIMESTAMP = 5; - STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PUBLISHED_VERSION = 6; - STEAMLEARN_INFERENCE_METADATA_ERROR_NO_FETCH_ID_FOUND = 7; + STEAMLEARN_INFERENCE_METADATA_ERROR = 0; + STEAMLEARN_INFERENCE_METADATA_SUCCESS = 1; + STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PROJECT_ID = 2; + STEAMLEARN_INFERENCE_METADATA_ERROR_NO_PUBLISHED_CONFIG = 3; + STEAMLEARN_INFERENCE_METADATA_ERROR_FORBIDDEN = 4; + STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_TIMESTAMP = 5; + STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PUBLISHED_VERSION = 6; + STEAMLEARN_INFERENCE_METADATA_ERROR_NO_FETCH_ID_FOUND = 7; } message CMsgSteamLearnDataSourceDescObject { - repeated .CMsgSteamLearnDataSourceDescElement elements = 1; + repeated .CMsgSteamLearnDataSourceDescElement elements = 1; } message CMsgSteamLearnDataSourceDescElement { - optional string name = 1; - optional .ESteamLearnDataType data_type = 2 [default = STEAMLEARN_DATATYPE_INVALID]; - optional .CMsgSteamLearnDataSourceDescObject object = 3; - optional uint32 count = 4; + optional string name = 1; + optional .ESteamLearnDataType data_type = 2 [default = STEAMLEARN_DATATYPE_INVALID]; + optional .CMsgSteamLearnDataSourceDescObject object = 3; + optional uint32 count = 4; } message CMsgSteamLearnDataSource { - optional uint32 id = 1; - optional string name = 2; - optional uint32 version = 3; - optional string source_description = 4; - optional .CMsgSteamLearnDataSourceDescObject structure = 5; - optional uint32 structure_crc = 6; - optional uint32 cache_duration_seconds = 7; + optional uint32 id = 1; + optional string name = 2; + optional uint32 version = 3; + optional string source_description = 4; + optional .CMsgSteamLearnDataSourceDescObject structure = 5; + optional uint32 structure_crc = 6; + optional uint32 cache_duration_seconds = 7; } message CMsgSteamLearnDataObject { - repeated .CMsgSteamLearnDataElement elements = 1; + repeated .CMsgSteamLearnDataElement elements = 1; } message CMsgSteamLearnDataElement { - optional string name = 1; - repeated int32 data_int32s = 20; - repeated float data_floats = 21; - repeated bool data_bools = 22; - repeated string data_strings = 23; - repeated .CMsgSteamLearnDataObject data_objects = 24; + optional string name = 1; + repeated int32 data_int32s = 20; + repeated float data_floats = 21; + repeated bool data_bools = 22; + repeated string data_strings = 23; + repeated .CMsgSteamLearnDataObject data_objects = 24; } message CMsgSteamLearnData { - optional uint32 data_source_id = 1; - repeated uint64 keys = 2; - optional .CMsgSteamLearnDataObject data_object = 3; + optional uint32 data_source_id = 1; + repeated uint64 keys = 2; + optional .CMsgSteamLearnDataObject data_object = 3; } message CMsgSteamLearnDataList { - repeated .CMsgSteamLearnData data = 1; + repeated .CMsgSteamLearnData data = 1; } message CMsgSteamLearn_RegisterDataSource_Request { - optional string access_token = 1; - optional .CMsgSteamLearnDataSource data_source = 3; + optional string access_token = 1; + optional .CMsgSteamLearnDataSource data_source = 3; } message CMsgSteamLearn_RegisterDataSource_Response { - optional .ESteammLearnRegisterDataSourceResult result = 1 [default = STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR]; - optional .CMsgSteamLearnDataSource data_source = 2; + optional .ESteammLearnRegisterDataSourceResult result = 1 [default = STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR]; + optional .CMsgSteamLearnDataSource data_source = 2; } message CMsgSteamLearn_CacheData_Request { - optional string access_token = 1; - optional .CMsgSteamLearnData data = 3; + optional string access_token = 1; + optional .CMsgSteamLearnData data = 3; } message CMsgSteamLearn_CacheData_Response { - optional .ESteamLearnCacheDataResult cache_data_result = 1 [default = STEAMLEARN_CACHE_DATA_ERROR]; + optional .ESteamLearnCacheDataResult cache_data_result = 1 [default = STEAMLEARN_CACHE_DATA_ERROR]; } message CMsgSteamLearn_SnapshotProject_Request { - optional string access_token = 1; - optional uint32 project_id = 3; - optional uint32 published_version = 7; - repeated uint64 keys = 4; - repeated .CMsgSteamLearnData data = 5; - optional uint32 pending_data_limit_seconds = 6; + optional string access_token = 1; + optional uint32 project_id = 3; + optional uint32 published_version = 7; + repeated uint64 keys = 4; + repeated .CMsgSteamLearnData data = 5; + optional uint32 pending_data_limit_seconds = 6; } message CMsgSteamLearn_SnapshotProject_Response { - optional .ESteamLearnSnapshotProjectResult snapshot_result = 1 [default = STEAMLEARN_SNAPSHOT_PROJECT_ERROR]; + optional .ESteamLearnSnapshotProjectResult snapshot_result = 1 [default = STEAMLEARN_SNAPSHOT_PROJECT_ERROR]; } message CMsgSteamLearn_BatchOperation_Request { - repeated .CMsgSteamLearn_CacheData_Request cache_data_requests = 1; - repeated .CMsgSteamLearn_SnapshotProject_Request snapshot_requests = 2; - repeated .CMsgSteamLearn_Inference_Request inference_requests = 3; + repeated .CMsgSteamLearn_CacheData_Request cache_data_requests = 1; + repeated .CMsgSteamLearn_SnapshotProject_Request snapshot_requests = 2; + repeated .CMsgSteamLearn_Inference_Request inference_requests = 3; } message CMsgSteamLearn_BatchOperation_Response { - repeated .CMsgSteamLearn_CacheData_Response cache_data_responses = 1; - repeated .CMsgSteamLearn_SnapshotProject_Response snapshot_responses = 2; - repeated .CMsgSteamLearn_Inference_Response inference_responses = 3; + repeated .CMsgSteamLearn_CacheData_Response cache_data_responses = 1; + repeated .CMsgSteamLearn_SnapshotProject_Response snapshot_responses = 2; + repeated .CMsgSteamLearn_Inference_Response inference_responses = 3; } message CMsgSteamLearnAccessTokens { - message CacheDataAccessToken { - optional uint32 data_source_id = 1; - optional string access_token = 2; - } + message CacheDataAccessToken { + optional uint32 data_source_id = 1; + optional string access_token = 2; + } - message SnapshotProjectAccessToken { - optional uint32 project_id = 1; - optional string access_token = 2; - } + message SnapshotProjectAccessToken { + optional uint32 project_id = 1; + optional string access_token = 2; + } - message InferenceAccessToken { - optional uint32 project_id = 1; - optional string access_token = 2; - } + message InferenceAccessToken { + optional uint32 project_id = 1; + optional string access_token = 2; + } - optional string register_data_source_access_token = 1; - repeated .CMsgSteamLearnAccessTokens.CacheDataAccessToken cache_data_access_tokens = 2; - repeated .CMsgSteamLearnAccessTokens.SnapshotProjectAccessToken snapshot_project_access_tokens = 3; - repeated .CMsgSteamLearnAccessTokens.InferenceAccessToken inference_access_tokens = 4; + optional string register_data_source_access_token = 1; + repeated .CMsgSteamLearnAccessTokens.CacheDataAccessToken cache_data_access_tokens = 2; + repeated .CMsgSteamLearnAccessTokens.SnapshotProjectAccessToken snapshot_project_access_tokens = 3; + repeated .CMsgSteamLearnAccessTokens.InferenceAccessToken inference_access_tokens = 4; } message CMsgSteamLearn_GetAccessTokens_Request { - optional uint32 appid = 1; + optional uint32 appid = 1; } message CMsgSteamLearn_GetAccessTokens_Response { - optional .ESteamLearnGetAccessTokensResult result = 1 [default = STEAMLEARN_GET_ACCESS_TOKENS_ERROR]; - optional .CMsgSteamLearnAccessTokens access_tokens = 2; + optional .ESteamLearnGetAccessTokensResult result = 1 [default = STEAMLEARN_GET_ACCESS_TOKENS_ERROR]; + optional .CMsgSteamLearnAccessTokens access_tokens = 2; } message CMsgInferenceIterateBeamSearch { - message CustomItemScalar { - optional uint32 item = 1; - optional float scale = 2; - } + message CustomItemScalar { + optional uint32 item = 1; + optional float scale = 2; + } - optional uint32 beam_length = 1; - optional uint32 beam_width = 2; - optional float item_decay = 3; - optional uint32 next_item_count = 4; - repeated .CMsgInferenceIterateBeamSearch.CustomItemScalar item_scalars = 5; - optional uint32 item_sequence_end = 7; - optional float item_sequence_end_threshold = 8; - optional float repeat_multiplier = 9; + optional uint32 beam_length = 1; + optional uint32 beam_width = 2; + optional float item_decay = 3; + optional uint32 next_item_count = 4; + repeated .CMsgInferenceIterateBeamSearch.CustomItemScalar item_scalars = 5; + optional uint32 item_sequence_end = 7; + optional float item_sequence_end_threshold = 8; + optional float repeat_multiplier = 9; } message CMsgSteamLearn_Inference_Request { - optional string access_token = 1; - optional uint32 project_id = 3; - optional uint32 published_version = 4; - optional uint32 override_train_id = 5; - optional .CMsgSteamLearnDataList data = 6; - repeated float additional_data = 7; - repeated uint64 keys = 8; - optional string named_inference = 9; - optional .CMsgInferenceIterateBeamSearch iterate_beam_search = 13; - optional uint32 debug_spew = 14; + optional string access_token = 1; + optional uint32 project_id = 3; + optional uint32 published_version = 4; + optional uint32 override_train_id = 5; + optional .CMsgSteamLearnDataList data = 6; + repeated float additional_data = 7; + repeated uint64 keys = 8; + optional string named_inference = 9; + optional .CMsgInferenceIterateBeamSearch iterate_beam_search = 13; + optional uint32 debug_spew = 14; } message CMsgSteamLearn_InferenceMetadata_Request { - optional string access_token = 1; - optional uint32 project_id = 3; - optional uint32 published_version = 4; - optional uint32 override_train_id = 5; + optional string access_token = 1; + optional uint32 project_id = 3; + optional uint32 published_version = 4; + optional uint32 override_train_id = 5; } message CMsgSteamLearn_InferenceMetadataBackend_Request { - optional uint32 project_id = 1; - optional uint32 fetch_id = 2; + optional uint32 project_id = 1; + optional uint32 fetch_id = 2; } message CMsgSteamLearn_InferenceMetadata_Response { - message RowRange { - optional uint64 min_row = 1; - optional uint64 max_row = 2; - } - - message Range { - optional string data_element_path = 1; - optional float min_value = 2; - optional float max_value = 3; - } - - message StdDev { - optional string data_element_path = 1; - optional float mean = 2; - optional float std_dev = 3; - } - - message CompactTable { - message Entry { - optional uint32 value = 1; - optional uint32 mapping = 2; - optional uint64 count = 3; - } - - message MapValuesEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value = 2; - } - - message MapMappingsEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value = 2; - } - - optional string name = 1; - repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry map_values = 2; - repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry map_mappings = 3; - } - - message SequenceTable { - message Entry { - repeated uint32 values = 1; - optional uint32 crc = 2; - optional uint32 count = 3; - } - - message MapValuesEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; - } - - message MapMappingsEntry { - optional string key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; - } - - optional string name = 1; - repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry map_values = 2; - repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry map_mappings = 3; - optional uint64 total_count = 4; - } - - message KMeans { - message Cluster { - optional float x = 1; - optional float y = 2; - optional float radius = 3; - optional float radius_75pct = 4; - optional float radius_50pct = 5; - optional float radius_25pct = 6; - } - - optional string name = 1; - repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster clusters = 2; - } - - message SnapshotHistogram { - optional float min_value = 1; - optional float max_value = 2; - optional uint32 num_buckets = 3; - repeated uint32 bucket_counts = 4; - } - - message AppInfo { - optional string country_allow = 1; - optional string country_deny = 2; - optional bool platform_win = 3; - optional bool platform_mac = 4; - optional bool platform_linux = 5; - optional bool adult_violence = 6; - optional bool adult_sex = 7; - } - - message AppInfoEntry { - optional uint32 key = 1; - optional .CMsgSteamLearn_InferenceMetadata_Response.AppInfo value = 2; - } - - optional .ESteamLearnInferenceMetadataResult inference_metadata_result = 1 [default = STEAMLEARN_INFERENCE_METADATA_ERROR]; - optional .CMsgSteamLearn_InferenceMetadata_Response.RowRange row_range = 2; - repeated .CMsgSteamLearn_InferenceMetadata_Response.Range ranges = 3; - repeated .CMsgSteamLearn_InferenceMetadata_Response.StdDev std_devs = 4; - repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable compact_tables = 5; - repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable sequence_tables = 9; - repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans kmeans = 6; - repeated .CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry app_info = 8; - optional .CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram snapshot_histogram = 7; + message RowRange { + optional uint64 min_row = 1; + optional uint64 max_row = 2; + } + + message Range { + optional string data_element_path = 1; + optional float min_value = 2; + optional float max_value = 3; + } + + message StdDev { + optional string data_element_path = 1; + optional float mean = 2; + optional float std_dev = 3; + } + + message CompactTable { + message Entry { + optional uint32 value = 1; + optional uint32 mapping = 2; + optional uint64 count = 3; + } + + optional string name = 1; + map map_values = 2; + map map_mappings = 3; + } + + message SequenceTable { + message Entry { + repeated uint32 values = 1; + optional uint32 crc = 2; + optional uint32 count = 3; + } + + optional string name = 1; + map map_values = 2; + map map_mappings = 3; + optional uint64 total_count = 4; + } + + message KMeans { + message Cluster { + optional float x = 1; + optional float y = 2; + optional float radius = 3; + optional float radius_75pct = 4; + optional float radius_50pct = 5; + optional float radius_25pct = 6; + } + + optional string name = 1; + repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster clusters = 2; + } + + message SnapshotHistogram { + optional float min_value = 1; + optional float max_value = 2; + optional uint32 num_buckets = 3; + repeated uint32 bucket_counts = 4; + } + + message AppInfo { + optional string country_allow = 1; + optional string country_deny = 2; + optional bool platform_win = 3; + optional bool platform_mac = 4; + optional bool platform_linux = 5; + optional bool adult_violence = 6; + optional bool adult_sex = 7; + } + + optional .ESteamLearnInferenceMetadataResult inference_metadata_result = 1 [default = STEAMLEARN_INFERENCE_METADATA_ERROR]; + optional .CMsgSteamLearn_InferenceMetadata_Response.RowRange row_range = 2; + repeated .CMsgSteamLearn_InferenceMetadata_Response.Range ranges = 3; + repeated .CMsgSteamLearn_InferenceMetadata_Response.StdDev std_devs = 4; + repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable compact_tables = 5; + repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable sequence_tables = 9; + repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans kmeans = 6; + map app_info = 8; + optional .CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram snapshot_histogram = 7; } message CMsgSteamLearn_InferenceBackend_Response { - message Sequence { - repeated float value = 1; - } - - message RegressionOutput { - optional float value = 2; - } - - message NamedInferenceOutput { - repeated float value = 3; - } - - message BinaryCrossEntropyOutput { - optional float value = 1; - } - - message MutliBinaryCrossEntropyOutput { - repeated float weight = 1; - repeated float value = 2; - repeated .CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; - } - - message CategoricalCrossEntropyOutput { - repeated float weight = 1; - repeated float value = 2; - repeated .CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; - } - - message Output { - oneof ResponseType { - .CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput binary_crossentropy = 1; - .CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput categorical_crossentropy = 2; - .CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput multi_binary_crossentropy = 3; - .CMsgSteamLearn_InferenceBackend_Response.RegressionOutput regression = 4; - .CMsgSteamLearn_InferenceBackend_Response.NamedInferenceOutput named_inference = 5; - } - } - - repeated .CMsgSteamLearn_InferenceBackend_Response.Output outputs = 1; + message Sequence { + repeated float value = 1; + } + + message RegressionOutput { + optional float value = 2; + } + + message NamedInferenceOutput { + repeated float value = 3; + } + + message BinaryCrossEntropyOutput { + optional float value = 1; + } + + message MutliBinaryCrossEntropyOutput { + repeated float weight = 1; + repeated float value = 2; + repeated .CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; + } + + message CategoricalCrossEntropyOutput { + repeated float weight = 1; + repeated float value = 2; + repeated .CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; + } + + message Output { + oneof ResponseType { + .CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput binary_crossentropy = 1; + .CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput categorical_crossentropy = 2; + .CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput multi_binary_crossentropy = 3; + .CMsgSteamLearn_InferenceBackend_Response.RegressionOutput regression = 4; + .CMsgSteamLearn_InferenceBackend_Response.NamedInferenceOutput named_inference = 5; + } + } + + repeated .CMsgSteamLearn_InferenceBackend_Response.Output outputs = 1; } message CMsgSteamLearn_Inference_Response { - optional .ESteamLearnInferenceResult inference_result = 1 [default = STEAMLEARN_INFERENCE_ERROR]; - optional .CMsgSteamLearn_InferenceBackend_Response backend_response = 2; - repeated uint64 keys = 3; + optional .ESteamLearnInferenceResult inference_result = 1 [default = STEAMLEARN_INFERENCE_ERROR]; + optional .CMsgSteamLearn_InferenceBackend_Response backend_response = 2; + repeated uint64 keys = 3; } service SteamLearn { - option (service_description) = "Service for submitting data, training, and inferencing with SteamLearn."; + option (service_description) = "Service for submitting data, training, and inferencing with SteamLearn."; - rpc RegisterDataSource (.CMsgSteamLearn_RegisterDataSource_Request) returns (.CMsgSteamLearn_RegisterDataSource_Response) { - option (method_description) = "Registers a data desc (or finds a data desc if it's already registered)."; - } + rpc RegisterDataSource (.CMsgSteamLearn_RegisterDataSource_Request) returns (.CMsgSteamLearn_RegisterDataSource_Response) { + option (method_description) = "Registers a data desc (or finds a data desc if it's already registered)."; + } - rpc CacheData (.CMsgSteamLearn_CacheData_Request) returns (.CMsgSteamLearn_CacheData_Response) { - option (method_description) = "Updates a cached data entry."; - } + rpc CacheData (.CMsgSteamLearn_CacheData_Request) returns (.CMsgSteamLearn_CacheData_Response) { + option (method_description) = "Updates a cached data entry."; + } - rpc SnapshotProject (.CMsgSteamLearn_SnapshotProject_Request) returns (.CMsgSteamLearn_SnapshotProject_Response) { - option (method_description) = "Snapshots the current data for a project."; - } + rpc SnapshotProject (.CMsgSteamLearn_SnapshotProject_Request) returns (.CMsgSteamLearn_SnapshotProject_Response) { + option (method_description) = "Snapshots the current data for a project."; + } - rpc BatchOperation (.CMsgSteamLearn_BatchOperation_Request) returns (.CMsgSteamLearn_BatchOperation_Response) { - option (method_description) = "Batches multiple data updates, snapshots, and inference requests into a single call"; - } + rpc BatchOperation (.CMsgSteamLearn_BatchOperation_Request) returns (.CMsgSteamLearn_BatchOperation_Response) { + option (method_description) = "Batches multiple data updates, snapshots, and inference requests into a single call"; + } - rpc GetAccessTokens (.CMsgSteamLearn_GetAccessTokens_Request) returns (.CMsgSteamLearn_GetAccessTokens_Response) { - option (method_description) = "Gets the access tokens needed for registering data sources, submitting data to them, and snapshotting projects"; - } + rpc GetAccessTokens (.CMsgSteamLearn_GetAccessTokens_Request) returns (.CMsgSteamLearn_GetAccessTokens_Response) { + option (method_description) = "Gets the access tokens needed for registering data sources, submitting data to them, and snapshotting projects"; + } - rpc Inference (.CMsgSteamLearn_Inference_Request) returns (.CMsgSteamLearn_Inference_Response) { - option (method_description) = "Inferences using supplied data, or data associated with the specified key."; - } + rpc Inference (.CMsgSteamLearn_Inference_Request) returns (.CMsgSteamLearn_Inference_Response) { + option (method_description) = "Inferences using supplied data, or data associated with the specified key."; + } - rpc InferenceMetadata (.CMsgSteamLearn_InferenceMetadata_Request) returns (.CMsgSteamLearn_InferenceMetadata_Response) { - option (method_description) = "Requests the metadata that was generated from a specified fetch."; - } + rpc InferenceMetadata (.CMsgSteamLearn_InferenceMetadata_Request) returns (.CMsgSteamLearn_InferenceMetadata_Response) { + option (method_description) = "Requests the metadata that was generated from a specified fetch."; + } } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_unified_base.steamworkssdk.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_unified_base.steamworkssdk.proto index b742b756..39a53ae8 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_unified_base.steamworkssdk.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/steammessages_unified_base.steamworkssdk.proto @@ -6,27 +6,27 @@ option optimize_for = SPEED; option java_generic_services = false; extend .google.protobuf.FieldOptions { - optional string description = 50000; + optional string description = 50000; } extend .google.protobuf.ServiceOptions { - optional string service_description = 50000; - optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown]; + optional string service_description = 50000; + optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown]; } extend .google.protobuf.MethodOptions { - optional string method_description = 50000; + optional string method_description = 50000; } extend .google.protobuf.EnumOptions { - optional string enum_description = 50000; + optional string enum_description = 50000; } extend .google.protobuf.EnumValueOptions { - optional string enum_value_description = 50000; + optional string enum_value_description = 50000; } enum EProtoExecutionSite { - k_EProtoExecutionSiteUnknown = 0; - k_EProtoExecutionSiteSteamClient = 3; + k_EProtoExecutionSiteUnknown = 0; + k_EProtoExecutionSiteSteamClient = 3; } diff --git a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto index d4f9445a..7ed421e3 100644 --- a/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto +++ b/javasteam-dota2/src/main/proto/in/dragonbra/javasteam/protobufs/dota2/valveextensions.proto @@ -5,27 +5,32 @@ option java_package = "in.dragonbra.javasteam.protobufs.dota2"; option optimize_for = SPEED; option java_generic_services = false; +extend .google.protobuf.MessageOptions { + optional bool codegen_delta_encoder = 61000 [default = false]; +} + extend .google.protobuf.FieldOptions { - optional bool valve_map_field = 61000 [default = false]; - optional bool valve_map_key = 61001 [default = false]; - optional int32 diff_encode_field = 61002 [default = 0]; - optional bool delta_ignore = 61003 [default = false]; - optional uint32 steamml_max_entries = 61004 [default = 0]; - optional bool steamml_is_timestamp = 61005 [default = false]; - optional uint32 steamlearn_count = 61006 [default = 0]; - optional .EProtoDebugVisiblity debugprint_visibility = 61007 [default = k_EProtoDebugVisibility_Always]; + optional bool valve_map_field = 61000 [default = false]; + optional bool valve_map_key = 61001 [default = false]; + optional int32 diff_encode_field = 61002 [default = 0]; + optional bool delta_ignore = 61003 [default = false]; + optional int32 untrusted_delta_max = 61008 [default = 256]; + optional uint32 steamml_max_entries = 61004 [default = 0]; + optional bool steamml_is_timestamp = 61005 [default = false]; + optional uint32 steamlearn_count = 61006 [default = 0]; + optional .EProtoDebugVisiblity debugprint_visibility = 61007 [default = k_EProtoDebugVisibility_Always]; } extend .google.protobuf.EnumValueOptions { - optional string schema_friendly_name = 1000; - optional string schema_description = 1001; - optional bool schema_suppress_enumerator = 1002; + optional string schema_friendly_name = 1000; + optional string schema_description = 1001; + optional bool schema_suppress_enumerator = 1002; } enum EProtoDebugVisiblity { - k_EProtoDebugVisibility_Always = 0; - k_EProtoDebugVisibility_Server = 70; - k_EProtoDebugVisibility_ValveServer = 80; - k_EProtoDebugVisibility_GC = 90; - k_EProtoDebugVisibility_Never = 100; + k_EProtoDebugVisibility_Always = 0; + k_EProtoDebugVisibility_Server = 70; + k_EProtoDebugVisibility_ValveServer = 80; + k_EProtoDebugVisibility_GC = 90; + k_EProtoDebugVisibility_Never = 100; } diff --git a/javasteam-protobufs-webui/build.gradle.kts b/javasteam-protobufs-webui/build.gradle.kts index da44b6ef..1ec9affc 100644 --- a/javasteam-protobufs-webui/build.gradle.kts +++ b/javasteam-protobufs-webui/build.gradle.kts @@ -56,6 +56,11 @@ dokka { moduleName.set("JavaSteam") dokkaSourceSets.main { suppressGeneratedFiles.set(false) // Allow generated files to be documented. + sourceRoots.setFrom( + "src/main/java", + files(layout.buildDirectory.dir("generated/source/javasteam/main/java")).builtBy("generateRpcMethods"), + ) + classpath.from(tasks.compileJava.map { it.destinationDirectory }) perPackageOption { // Deny most of the generated files. matchingRegex.set("in.dragonbra.javasteam.(protobufs|enums|generated).*") diff --git a/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/common.proto b/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/common.proto index f9472ef2..94b01a3a 100644 --- a/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/common.proto +++ b/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/common.proto @@ -7,12 +7,39 @@ option java_package = "in.dragonbra.javasteam.protobufs.webui"; option optimize_for = SPEED; option java_generic_services = false; -message AssetPropertyFilter { - optional uint32 property_id = 1; - optional float float_min = 2; - optional float float_max = 3; - optional int64 int_min = 4; - optional int64 int_max = 5; +// Used by: common.proto +message AppCloudStatus { + optional uint32 status = 1; + optional uint32 sync_state = 2; + optional double transfer_percentage = 3; +} + +// Used by: common.proto +message AppStageProgress { + optional uint64 in_progress = 1; + optional uint64 total = 2; + optional int32 estimated_time_remaining_secs = 3; + optional float weight = 4; +} + +// Used by: common.proto +message AppUpdateInfo { + optional fixed32 time_update_start = 1; + optional uint64 bytes_to_download = 2; + optional uint64 bytes_downloaded = 3; + optional uint64 bytes_to_process = 4; + optional uint64 bytes_processed = 5; + optional int32 estimated_seconds_remaining = 6 [default = -1]; + optional int32 update_result = 7; + optional uint32 update_state = 8; + optional uint32 download_type = 9; + optional uint64 staging_bytes_staged = 10; + optional uint64 staging_bytes_to_stage = 11; + optional uint32 bytes_to_disc_per_second = 12; + repeated AppStageProgress progress_weights = 13; + optional uint32 time_deferred_until = 14; + optional uint32 source_build_id = 15; + optional uint32 target_build_id = 16; } // Used by: common.proto @@ -70,6 +97,8 @@ message CAppOverview { optional bool has_custom_sort_as = 76; optional uint64 bitfield_supported_languages = 77 [default = 0]; repeated CAppOverview_PerClientData remote_per_client_data = 78; + repeated int32 content_descriptors = 79 [(webui.description) = "enum"]; + optional uint32 custom_images_found = 80; } message CAppOverview_Change { @@ -111,7 +140,7 @@ message CartCoupon { optional int32 discount_pct = 8; } -// Used by: AccountCart, Checkout +// Used by: AccountCart, Checkout, ShoppingCart message CartGiftInfo { optional int32 accountid_giftee = 1; optional CartGiftMessage gift_message = 2; @@ -119,7 +148,7 @@ message CartGiftInfo { optional string email_giftee = 4; } -// Used by: AccountCart, Checkout +// Used by: AccountCart, Checkout, ShoppingCart message CartGiftMessage { optional string gifteename = 1; optional string message = 2; @@ -127,6 +156,40 @@ message CartGiftMessage { optional string signature = 4; } +message CAudioFormat { + optional int32 format = 1 [(webui.description) = "enum"]; + optional uint32 frequency = 2; + optional uint32 channels = 3; +} + +message CAuthenticationRequestMsg { + optional bytes token = 1; + optional int32 version = 2 [(webui.description) = "enum"]; + optional uint64 steamid = 3; +} + +message CAuthenticationResponseMsg { + optional int32 result = 1 [(webui.description) = "enum"]; + optional int32 version = 2 [(webui.description) = "enum"]; +} + +message CBilling_Address { + optional string first_name = 1; + optional string last_name = 2; + optional string address1 = 3; + optional string address2 = 4; + optional string city = 5; + optional string us_state = 6; + optional string country_code = 7; + optional string postcode = 8; + optional int32 zip_plus4 = 9; + optional string phone = 10; +} + +message CCaptureFailedMsg { + optional int32 reason = 1 [(webui.description) = "enum"]; +} + // Used by: ChatRoom, ChatRoomClient, ClanChatRooms message CChatPartyBeacon { optional uint32 app_id = 1; @@ -189,220 +252,43 @@ message CChatRoomState { optional uint32 accountid_last_message = 8; } -// Used by: common.proto -message CClientMetrics_AppInterfaceCreation { - optional string raw_version = 1; - optional string requested_interface_type = 2; -} - -// Used by: common.proto -message CClientMetrics_AppInterfaceMethodCounts { - optional string interface_name = 1; - optional string method_name = 2; - optional uint32 call_count = 3; -} - -message CClientMetrics_AppInterfaceStats_Notification { - optional uint64 game_id = 1; - repeated CClientMetrics_AppInterfaceCreation interfaces_created = 2; - repeated CClientMetrics_AppInterfaceMethodCounts methods_called = 3; - optional uint32 session_length_seconds = 4; -} - -message CClientMetrics_ClientBootstrap_Notification { - optional CClientMetrics_ClientBootstrap_Summary summary = 1; -} - -// Used by: common.proto -message CClientMetrics_ClientBootstrap_RequestInfo { - optional string original_hostname = 1; - optional string actual_hostname = 2; - optional string path = 3; - optional string base_name = 4; - optional bool success = 5; - optional uint32 status_code = 6; - optional string address_of_request_url = 7; - optional uint32 response_time_ms = 8; - optional uint64 bytes_received = 9; - optional uint32 num_retries = 10; -} - -// Used by: common.proto -message CClientMetrics_ClientBootstrap_Summary { - optional uint32 launcher_type = 1; - optional uint32 steam_realm = 2; - optional string beta_name = 3; - optional bool download_completed = 4; - optional uint32 total_time_ms = 6; - repeated CClientMetrics_ClientBootstrap_RequestInfo manifest_requests = 7; - repeated CClientMetrics_ClientBootstrap_RequestInfo package_requests = 8; -} - -message CClientMetrics_ClipRange_Notification { - optional int32 original_range_method = 1 [(webui.description) = "enum"]; - optional CClientMetrics_ClipRange_Notification_RelativeRangeEdge start = 2; - optional CClientMetrics_ClipRange_Notification_RelativeRangeEdge end = 3; - optional float seconds = 4; - optional fixed64 gameid = 5; -} - -// Used by: common.proto -message CClientMetrics_ClipRange_Notification_RelativeRangeEdge { - optional int32 original_range_method = 1 [(webui.description) = "enum"]; - optional int32 latest_range_method = 2 [(webui.description) = "enum"]; - optional int32 delta_ms = 3; -} - -message CClientMetrics_ClipShare_Notification { - optional uint32 eresult = 1 [default = 2]; - optional int32 share_method = 2 [(webui.description) = "enum"]; - optional float seconds = 3; - optional uint64 bytes = 4; - optional fixed64 gameid = 5; -} - -message CClientMetrics_CloudAppSyncStats_Notification { - optional uint32 app_id = 1; - optional uint32 platform_type = 2; - optional bool preload = 3; - optional bool blocking_app_launch = 4; - optional uint32 files_uploaded = 5; - optional uint32 files_downloaded = 6; - optional uint32 files_deleted = 7; - optional uint64 bytes_uploaded = 8; - optional uint64 bytes_downloaded = 9; - optional uint64 microsec_total = 10; - optional uint64 microsec_init_caches = 11; - optional uint64 microsec_validate_state = 12; - optional uint64 microsec_ac_launch = 13; - optional uint64 microsec_ac_prep_user_files = 14; - optional uint64 microsec_ac_exit = 15; - optional uint64 microsec_build_sync_list = 16; - optional uint64 microsec_delete_files = 17; - optional uint64 microsec_download_files = 18; - optional uint64 microsec_upload_files = 19; - optional uint32 hardware_type = 20; - optional uint32 files_managed = 21; -} - -// Used by: common.proto -message CClientMetrics_ContentDownloadResponse_Counts { - optional uint32 class_100 = 1; - optional uint32 class_200 = 2; - optional uint32 class_300 = 3; - optional uint32 class_400 = 4; - optional uint32 class_500 = 5; - optional uint32 no_response = 6; - optional uint32 class_unknown = 7; -} - -message CClientMetrics_ContentDownloadResponse_Counts_Notification { - optional uint32 cell_id = 1; - optional CClientMetrics_ContentDownloadResponse_Hosts data = 2; -} - -// Used by: common.proto -message CClientMetrics_ContentDownloadResponse_HostCounts { - optional string hostname = 1; - optional uint32 source_type = 2; - optional CClientMetrics_ContentDownloadResponse_Counts counts = 3; -} - -// Used by: common.proto -message CClientMetrics_ContentDownloadResponse_Hosts { - repeated CClientMetrics_ContentDownloadResponse_HostCounts hosts = 1; -} - -message CClientMetrics_ContentValidation_Notification { - optional int32 validation_result = 1; - optional uint32 app_id = 2; - optional bool staged_files = 3; - optional bool user_initiated = 4; - optional bool early_out = 5; - optional uint32 chunks_scanned = 6; - optional uint32 chunks_corrupt = 7; - optional uint64 bytes_scanned = 8; - optional uint64 chunk_bytes_corrupt = 9; - optional uint64 total_file_size_corrupt = 10; -} - -message CClientMetrics_DownloadRates_Notification { - optional uint32 cell_id = 1; - repeated CClientMetrics_DownloadRates_Notification_StatsInfo stats = 2; - optional uint32 throttling_kbps = 3; - optional uint32 os_type = 4; - optional uint32 device_type = 5; -} - -// Used by: common.proto -message CClientMetrics_DownloadRates_Notification_StatsInfo { - optional uint32 source_type = 1; - optional uint32 source_id = 2; - optional uint64 bytes = 3; - optional string host_name = 4; - optional uint64 microseconds = 5; - optional bool used_ipv6 = 6; - optional bool proxied = 7; - optional bool used_http2 = 8; - optional uint32 cache_hits = 9; - optional uint32 cache_misses = 10; - optional uint64 hit_bytes = 11; - optional uint64 miss_bytes = 12; - optional uint32 chunks_scored = 13; - optional double sum_chunk_scores = 14; -} - -message CClientMetrics_EndGameRecording_Notification { - optional int32 recording_type = 1 [(webui.description) = "enum"]; - optional float seconds = 2; - optional uint64 bytes = 3; - optional fixed64 gameid = 4; - optional bool instant_clip = 5; -} - -message CClientMetrics_GamePerformance_Notification { - repeated CClientMetrics_GamePerformance_Notification_FrameRate frame_rates = 2; - optional UserSystemInformation system_info = 3; -} - -// Used by: common.proto -message CClientMetrics_GamePerformance_Notification_FrameRate { - optional fixed64 gameid = 1; - optional uint32 frame_rate = 2; - optional int32 session_seconds = 3; - optional uint32 framegen_frame_rate = 4; - optional GamePerformanceSettings game_settings = 5; -} - -message CClientMetrics_IPv6Connectivity_Notification { - optional uint32 cell_id = 1; - repeated CClientMetrics_IPv6Connectivity_Result results = 2; - optional bool private_ip_is_rfc6598 = 3; -} - -// Used by: common.proto -message CClientMetrics_IPv6Connectivity_Result { - optional uint32 protocol_tested = 1; - optional uint32 connectivity_state = 2; -} - -message CClientMetrics_SteamPipeWorkStats_Notification { - optional uint32 appid = 1; - optional uint32 depotid = 2; - optional int32 work_type = 3 [(webui.description) = "enum"]; - repeated CClientMetrics_SteamPipeWorkStats_Operation operations = 4; - optional uint32 hardware_type = 5; -} - -// Used by: common.proto -message CClientMetrics_SteamPipeWorkStats_Operation { - optional int32 type = 1 [(webui.description) = "enum"]; - optional uint32 num_ops = 2; - optional uint64 num_bytes = 3; - optional uint64 busy_time_ms = 4; - optional uint64 idle_time_ms = 5; - optional uint64 sum_run_time_ms = 6; - optional uint64 sum_wait_time_ms = 7; +message CClanEventData { + optional fixed64 gid = 1; + optional fixed64 clan_steamid = 2; + optional string event_name = 3; + optional int32 event_type = 4 [(webui.description) = "enum"]; + optional uint32 appid = 5; + optional string server_address = 6; + optional string server_password = 7; + optional uint32 rtime32_start_time = 8; + optional uint32 rtime32_end_time = 9; + optional int32 comment_count = 10; + optional fixed64 creator_steamid = 11; + optional fixed64 last_update_steamid = 12; + optional string event_notes = 13; + optional string jsondata = 14; + optional CCommunity_ClanAnnouncementInfo announcement_body = 15; + optional bool published = 16; + optional bool hidden = 17; + optional uint32 rtime32_visibility_start = 18; + optional uint32 rtime32_visibility_end = 19; + optional uint32 broadcaster_accountid = 20; + optional uint32 follower_count = 21; + optional uint32 ignore_count = 22; + optional fixed64 forum_topic_id = 23; + optional uint32 rtime32_last_modified = 24; + optional fixed64 news_post_gid = 25; + optional uint32 rtime_mod_reviewed = 26; + optional uint32 featured_app_tagid = 27; + repeated uint32 referenced_appids = 28; + optional uint32 build_id = 29; + optional string build_branch = 30; + optional bool unlisted = 31; + optional uint32 rtime_created = 32; +} + +message CClientHandshakeMsg { + optional CStreamingClientHandshakeInfo info = 1; } message CClientNotificationAchievement { @@ -463,6 +349,16 @@ message CClientNotificationDockUnsupportedFirmware { message CClientNotificationDownloadCompleted { optional uint32 appid = 1; optional uint32 dlc_appid = 2; + optional string remote_client_name = 3; +} + +message CClientNotificationFamilySharingDeviceAuthorizationChanged { + optional uint32 accountid_owner = 1; + optional bool authorized = 2; +} + +message CClientNotificationFamilySharingLibraryAvailable { + optional uint32 accountid_owner = 1; } message CClientNotificationFamilySharingStopPlaying { @@ -476,6 +372,10 @@ message CClientNotificationFriendInGame { optional string game_name = 2; } +message CClientNotificationFriendInvite { + optional fixed64 steamid = 1; +} + message CClientNotificationFriendInviteRollup { optional uint32 new_invite_count = 1; } @@ -519,6 +419,10 @@ message CClientNotificationGameRecordingUserMarkerAdded { optional fixed64 game_id = 1; } +message CClientNotificationGiftReceived { + optional string sender_name = 1; +} + message CClientNotificationGroupChatMessage { optional string tag = 1; optional string steamid_sender = 2; @@ -547,6 +451,9 @@ message CClientNotificationItemAnnouncement { optional bool new_backpack_items = 2; } +message CClientNotificationLoggedInAsUser { +} + message CClientNotificationLoginRefresh { } @@ -561,11 +468,19 @@ message CClientNotificationLowDiskSpace { message CClientNotificationOverlaySplashScreen { } +message CClientNotificationPeerContentUpload { + optional uint32 appid = 1; + optional string peer_name = 2; +} + message CClientNotificationPlaytimeWarning { optional string type = 1; optional uint32 playtime_remaining = 2; } +message CClientNotificationRedeemFramePromo { +} + message CClientNotificationRemoteClientConnection { optional string machine = 1; optional bool connected = 2; @@ -576,6 +491,9 @@ message CClientNotificationRemoteClientStartStream { optional string game_name = 2; } +message CClientNotificationRestartNeeded { +} + message CClientNotificationScreenshot { optional string screenshot_handle = 1; optional string description = 2; @@ -609,13 +527,6 @@ message CClientNotificationTimedTrialRemaining { message CClientNotificationTimerExpired { } -message CCloud_AppExitSyncDone_Notification { - optional uint32 appid = 1; - optional uint64 client_id = 2; - optional bool uploads_completed = 3; - optional bool uploads_required = 4; -} - // Used by: Cloud, common.proto message CCloud_PendingRemoteOperation { optional int32 operation = 1 [(webui.description) = "enum"]; @@ -626,98 +537,167 @@ message CCloud_PendingRemoteOperation { optional int32 device_type = 6; } -message CContentServerConfig_AnonymousDepots_Notification { - repeated uint32 anon_session_allowed_depots = 2; +message CCMRemoteClient_ClientMessage { + optional CRemoteClient_CreateSession_Request create_session_request = 1; + optional CRemoteClient_StartPairing_Request start_pairing_request = 2; + optional CRemoteClient_SetPairingInfo_Request set_pairing_info_request = 3; + optional CRemoteClient_CancelPairing_Request cancel_pairing_request = 4; + optional CRemoteClient_RegisterStatusUpdate_Notification register_status_update = 5; + optional CRemoteClient_UnregisterStatusUpdate_Notification unregister_status_update = 6; + optional CRemoteClient_RemotePacket_Notification remote_packet = 7; +} + +message CCMRemoteClient_ServerMessage { + optional int32 result = 1; + optional CRemoteClient_CreateSession_Response create_session_response = 2; + optional CRemoteClient_StartPairing_Response start_pairing_response = 3; + optional CRemoteClient_SetPairingInfo_Response set_pairing_info_response = 4; + optional CRemoteClient_CancelPairing_Response cancel_pairing_response = 5; + optional CRemoteClient_GetReplies_Response reply_packet = 6; + optional CRemoteClient_Offline_Notification offline = 7; +} + +// Used by: common.proto +message CCommunity_ClanAnnouncementInfo { + optional uint64 gid = 1; + optional uint64 clanid = 2; + optional uint64 posterid = 3; + optional string headline = 4; + optional uint32 posttime = 5; + optional uint32 updatetime = 6; + optional string body = 7; + optional int32 commentcount = 8; + repeated string tags = 9; + optional int32 language = 10; + optional bool hidden = 11; + optional fixed64 forum_topic_id = 12; + optional fixed64 event_gid = 13; + optional int32 voteupcount = 14; + optional int32 votedowncount = 15; + optional int32 ban_check_result = 16 [(webui.description) = "enum"]; + optional bool banned = 17; +} + +message CControllerConfigMsg { + optional int32 type = 1 [(webui.description) = "enum"]; + optional string controllerPath = 2; + optional uint32 appid = 3; + optional CControllerConfigMsg_ControllerPersonalizationResponse personalizationResponse = 4; + repeated CControllerConfigMsg_ControllerConfigResponse configResponse = 6; + optional CControllerConfigMsg_ControllerActiveConfigMsg activeConfigChangeMsg = 7; } -message CContentServerConfig_CMStats_Notification { - repeated CContentServerConfig_CMStats_Notification_Stats stats = 1; +message CControllerConfigMsg_ControllerActiveConfigChangeResponse { + optional string configURL = 2; + optional uint32 controllerType = 3; + optional string controllerData = 4; + optional uint32 selectionOrder = 5; } // Used by: common.proto -message CContentServerConfig_CMStats_Notification_Stats { - optional uint32 sysid_cm = 1; - optional uint32 current_load = 2; - optional uint32 rtime_last_updated = 3; +message CControllerConfigMsg_ControllerActiveConfigMsg { + optional uint32 appid = 1; + optional string configURL = 2; + optional uint32 controllerType = 3; + optional string controllerData = 4; } -message CContentServerConfig_ContentServerStats_Notification { - repeated CContentServerConfig_ContentServerStats_Notification_Stats stats = 1; - repeated CContentServerConfig_ContentServerStats_Notification_CDNStats cdn_stats = 2; - repeated CContentServerConfig_ContentServerStats_Notification_SteamCacheStats steamcache_stats = 3; +// Used by: common.proto +message CControllerConfigMsg_ControllerConfigResponse { + optional uint32 appid = 1; + optional string configURL = 2; + optional uint32 controllerType = 3; + optional string controllerData = 4; + optional uint32 selectionOrder = 5; + optional bool actionBlock = 6; } // Used by: common.proto -message CContentServerConfig_ContentServerStats_Notification_CDNStats { - optional string cdn_name = 1; - optional int32 current_load = 2; - optional uint32 rtime_last_updated = 3; +message CControllerConfigMsg_ControllerPersonalizationResponse { + optional string personalizationData = 1; } -// Used by: common.proto -message CContentServerConfig_ContentServerStats_Notification_Stats { - optional uint32 cs_id = 1; - optional uint32 current_load = 2; - optional uint32 rtime_last_updated = 3; +message CControllerPersonalizationUpdateMsg { + optional string controller_path = 1; + optional string controller_name = 2; + optional bool reverse_diamond_button_layout = 3; } -// Used by: common.proto -message CContentServerConfig_ContentServerStats_Notification_SteamCacheStats { - optional uint32 cache_id = 1; - optional uint32 current_load = 2; - optional uint32 rtime_last_updated = 3; - optional uint32 load_adjustment = 4; +message CCuratorPreferences { + optional bool platform_windows = 2; + optional bool platform_mac = 3; + optional bool platform_linux = 4; + optional bool vr_content = 5; + optional bool adult_content_violence = 6; + optional bool adult_content_sex = 7; + optional uint32 timestamp_updated = 8; + repeated uint32 tagids_curated = 9; + repeated uint32 tagids_filtered = 10; + optional string website_title = 11; + optional string website_url = 12; + optional string discussion_url = 13; + optional bool show_broadcast = 14; } -// Used by: ContentServerConfig, common.proto -message CContentServerConfig_OpenCacheConfig { - optional uint32 cache_id = 1; - optional bool is_enabled = 2; - optional string host_name = 3; - optional string provider = 4; - optional uint32 cell_id = 5; - optional string config_json = 6; - optional string name = 7; - optional string ip_filter_list = 8; +message CDebugDumpMsg { + optional bytes screenshot = 1; } -message CContentServerConfig_OpenCacheConfigUpdate_Notification { - optional CContentServerConfig_OpenCacheConfig config = 1; +message CDeleteCursorMsg { + optional uint64 cursor_id = 1; } -// Used by: ContentServerConfig, common.proto -message CContentServerConfig_SteamCacheConfig { - optional uint32 cache_id = 1; - optional bool is_enabled = 2; - optional string host_name = 3; - optional string provider = 4; - optional uint32 cell_id = 5; - optional string api_key_primary = 6; - optional string api_key_secondary = 7; - optional string config_json = 8; - optional string name = 9; - optional string ip_filter_list = 10; - optional uint32 timestamp = 11; +message CDisableHighResCaptureMsg { } -message CContentServerConfig_SteamCacheConfigUpdate_Notification { - optional CContentServerConfig_SteamCacheConfig config = 1; +message CDiscoveryPingRequest { + optional uint32 sequence = 1; + optional uint32 packet_size_requested = 2; } -// Used by: ContentServerConfig, common.proto -message CContentServerConfig_SteamCSConfig { - optional uint32 cs_id = 1; - optional bool is_enabled = 2; - optional string host_name = 3; - optional string provider = 4; - optional uint32 cell_id = 5; - optional string config_json = 8; - optional string name = 9; - optional string ip_filter_list = 10; +message CDiscoveryPingResponse { + optional uint32 sequence = 1; + optional uint32 packet_size_received = 2; +} + +message CEnableHighResCaptureMsg { } -message CContentServerConfig_SteamCSConfigUpdate_Notification { - optional CContentServerConfig_SteamCSConfig config = 1; +// Used by: common.proto +message CFrameEvent { + optional int32 event_id = 1 [(webui.description) = "enum"]; + optional uint32 timestamp = 2; +} + +// Used by: common.proto +message CFrameStatAccumulatedValue { + optional int32 stat_type = 1 [(webui.description) = "enum"]; + optional int32 count = 2; + optional float average = 3; + optional float stddev = 4; +} + +// Used by: common.proto +message CFrameStats { + optional uint32 frame_id = 1; + optional uint32 input_mark = 2; + repeated CFrameEvent events = 3; + optional int32 result = 4 [(webui.description) = "enum"]; + optional float frame_start_delta = 5; + optional float frame_display_delta = 6; + optional float ping_time = 7; + optional float server_bitrate = 8; + optional float client_bitrate = 9; + optional float link_bandwidth = 10; + optional float packet_loss = 11; + optional uint32 frame_size = 12; +} + +message CFrameStatsListMsg { + optional int32 data_type = 1 [(webui.description) = "enum"]; + repeated CFrameStats stats = 2; + repeated CFrameStatAccumulatedValue accumulated_stats = 3; + optional int32 latest_frame_id = 4; } message CGameNetworkingUI_AppSummary { @@ -728,6 +708,7 @@ message CGameNetworkingUI_AppSummary { optional CGameNetworkingUI_ConnectionSummary main_cxn = 30; } +// Used by: common.proto message CGameNetworkingUI_ConnectionState { optional string connection_key = 1; optional uint32 appid = 2; @@ -770,6 +751,13 @@ message CGameNetworkingUI_ConnectionSummary { optional uint32 connection_state = 8; } +message CGameNetworkingUI_GlobalState { +} + +message CGameNetworkingUI_Message { + repeated CGameNetworkingUI_ConnectionState connection_state = 1; +} + message CGameRecording_AudioSessionsChanged_Notification { repeated CGameRecording_AudioSessionsChanged_Notification_Session sessions = 1; } @@ -788,17 +776,259 @@ message CGameRecording_AudioSessionsChanged_Notification_Session { optional bool is_saved = 10; } -message CMDSAdmin_DepotIngestChunkStorageFailure_Notification { +message CGameRecordingClipFile { + repeated CGameRecordingTimelineMetadata timelines = 1; + optional uint64 first_timeline_start_offset_ms = 2; + optional uint32 date_recorded = 3; + optional uint64 game_id = 4; + optional fixed64 published_file_id = 5; + optional uint64 size_in_bytes = 6; + optional string name = 7; + optional bool temporary = 8; + optional string original_device = 9; + optional uint32 original_gaming_device_type = 10; + optional uint32 date_downloaded = 11; + optional uint32 thumbnail_width = 12; + optional uint32 thumbnail_height = 13; + repeated CGameRecordingTag tags = 14; + repeated CGameRecordingPhase phases = 15; +} + +message CGameRecordingFile { + repeated CGameRecordingTimelineMetadata timelines = 1; + repeated CGameRecordingPostGameSummary postgame_events = 2; + repeated string temporary_clips = 3; + repeated CGameRecordingTag tags = 4; +} + +// Used by: GameRecording, common.proto +message CGameRecordingPhase { + optional string phase_id = 4; + optional uint64 duration_ms = 5; + repeated CGameRecordingPhase_Tag tags = 6; + repeated CGameRecordingPhase_Tag contained_tags = 7; + optional uint64 background_timeline_offset = 8; + repeated CPhaseAttribute attributes = 9; +} + +// Used by: GameRecording, common.proto +message CGameRecordingPhase_Tag { + optional string name = 1; + optional string group = 2; +} + +// Used by: common.proto +message CGameRecordingPostGameSummary { + optional uint64 game_id = 1; + repeated CGameRecordingTimelineEvent events = 2; +} + +// Used by: common.proto +message CGameRecordingTag { + optional uint64 game_id = 1; + optional CTimelineTag tag = 2; + repeated CGameRecordingTag_Timeline references = 3; +} + +// Used by: common.proto +message CGameRecordingTag_Timeline { + optional string clip_id = 1; + optional string timeline_id = 2; + optional uint64 offset_ms = 3; +} + +message CGameRecordingTagInstance { + optional string timeline_id = 1; + optional uint64 entry_id = 2; + optional uint64 timeline_offset_ms = 3; + optional uint64 duration_ms = 4; +} + +// Used by: GameRecording, common.proto +message CGameRecordingTimelineEvent { + optional uint64 game_id = 1; + optional uint32 rt_created = 2; + optional int32 possible_clip = 3; + optional string timeline_id = 4; + optional uint64 entry_id = 5; + optional uint64 timeline_offset_ms = 6; + optional uint64 duration_ms = 7; + optional string marker_icon = 8; + optional string marker_title = 9; + optional bool user_marker = 10; +} + +// Used by: GameRecording, common.proto +message CGameRecordingTimelineMetadata { + optional string timeline_id = 1; + optional uint64 game_id = 2; + optional uint32 date_recorded = 3; + optional uint64 duration_ms = 4; + repeated CGameRecordingTimelineMetadata_Recording recordings = 5; + repeated CGameRecordingPhase phases = 6; + repeated CGameRecordingTimelineEvent significant_events = 7; +} + +// Used by: GameRecording, common.proto +message CGameRecordingTimelineMetadata_Recording { + optional string recording_id = 1; + optional uint64 start_offset_ms = 2; + optional uint64 duration_ms = 3; + optional int32 recording_type = 4 [(webui.description) = "enum"]; + optional bool delete_on_cleanup = 5; + optional uint64 video_manager_clip_id = 6; + optional uint64 video_manager_video_id = 7; + optional string cdn_manifest_url = 8; + optional uint64 file_size = 9; + optional uint64 recording_zero_timeline_offset_ms = 10; +} + +message CGetCursorImageMsg { + optional uint64 cursor_id = 1; +} + +message CGetTouchConfigDataMsg { optional uint32 appid = 1; - optional uint32 depot_id = 2; - optional fixed64 build_handle = 3; - optional bytes sha = 4; +} + +message CGetTouchIconDataMsg { + optional uint32 appid = 1; + optional string icon = 2; +} + +message CHideCursorMsg { +} + +// Used by: common.proto +message CInputKeyDownMsg { + optional uint32 input_mark = 1; + optional uint32 scancode = 2; + optional uint32 modifiers = 3; + optional uint32 keycode = 4; +} + +// Used by: common.proto +message CInputKeyUpMsg { + optional uint32 input_mark = 1; + optional uint32 scancode = 2; + optional uint32 modifiers = 3; + optional uint32 keycode = 4; +} + +// Used by: common.proto +message CInputMouseDownMsg { + optional uint32 input_mark = 1; + optional int32 button = 2 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CInputMouseMotionMsg { + optional uint32 input_mark = 1; + optional float x_normalized = 2; + optional float y_normalized = 3; + optional int32 dx = 4; + optional int32 dy = 5; +} + +// Used by: common.proto +message CInputMouseUpMsg { + optional uint32 input_mark = 1; + optional int32 button = 2 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CInputMouseWheelMsg { + optional uint32 input_mark = 1; + optional int32 direction = 2 [(webui.description) = "enum"]; + optional float amount = 3 [default = 1]; +} + +// Used by: common.proto +message CInputTextMsg { + optional uint32 input_mark = 1; + optional string text_utf8 = 2; +} + +// Used by: common.proto +message CInputTouchFingerDownMsg { + optional uint32 input_mark = 1; + optional uint64 fingerid = 2; + optional float x_normalized = 3; + optional float y_normalized = 4; +} + +// Used by: common.proto +message CInputTouchFingerMotionMsg { + optional uint32 input_mark = 1; + optional uint64 fingerid = 2; + optional float x_normalized = 3; + optional float y_normalized = 4; +} + +// Used by: common.proto +message CInputTouchFingerUpMsg { + optional uint32 input_mark = 1; + optional uint64 fingerid = 2; + optional float x_normalized = 3; + optional float y_normalized = 4; + optional bool canceled = 5; +} + +message CKeepAliveMsg { +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreCuration, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message CLocalizationToken { + optional uint32 language = 1; + optional string localized_string = 2; +} + +message CLogMsg { + optional int32 type = 1; + optional string message = 2; +} + +message CLogUploadMsg { + optional int32 type = 1 [(webui.description) = "enum"]; + optional bytes data = 3; } message CMsgAchievementChange { optional uint32 appid = 1; } +message CMsgAMUnlockH264 { + optional uint32 appid = 1; + optional int32 platform = 2; + optional int32 reason = 3; +} + +message CMsgAMUnlockH264Response { + optional int32 eresult = 1 [default = 2]; + optional bytes encryption_key = 2; +} + +message CMsgAppRights { + optional bool edit_info = 1; + optional bool publish = 2; + optional bool view_error_data = 3; + optional bool download = 4; + optional bool upload_cdkeys = 5; + optional bool generate_cdkeys = 6; + optional bool view_financials = 7; + optional bool manage_ceg = 8; + optional bool manage_signing = 9; + optional bool manage_cdkeys = 10; + optional bool edit_marketing = 11; + optional bool economy_support = 12; + optional bool economy_support_supervisor = 13; + optional bool manage_pricing = 14; + optional bool broadcast_live = 15; + optional bool view_marketing_traffic = 16; + optional bool edit_store_display_content = 17; +} + +// Used by: common.proto message CMsgAuthTicket { optional uint32 estate = 1; optional uint32 eresult = 2 [default = 2]; @@ -816,6 +1046,59 @@ message CMsgBadgeCraftedNotification { optional uint32 badge_level = 2; } +// Used by: common.proto +message CMsgBezierCurve { + optional Vector2 start = 1; + optional Vector2 control_point1 = 2; + optional Vector2 control_point2 = 3; + optional Vector2 end = 4; +} + +message CMsgBluetoothDevicesData { + repeated CMsgBluetoothDevicesData_Adapter adapters = 1; + repeated CMsgBluetoothDevicesData_Device devices = 2; + optional CMsgBluetoothDevicesData_Manager manager = 3; +} + +// Used by: common.proto +message CMsgBluetoothDevicesData_Adapter { + optional uint32 id = 1 [default = 0]; + optional string mac = 2; + optional string name = 3; + optional bool is_enabled = 4; + optional bool is_discovering = 5; +} + +// Used by: common.proto +message CMsgBluetoothDevicesData_Device { + optional uint32 id = 1 [default = 0]; + optional uint32 adapter_id = 2 [default = 0]; + optional int32 etype = 3 [(webui.description) = "enum"]; + optional string mac = 4; + optional string name = 5; + optional bool is_connected = 6; + optional bool is_paired = 7; + optional int32 strength_raw = 8; + optional bool wake_allowed = 9; + optional bool wake_allowed_supported = 10; + optional int32 battery_percent = 11; +} + +// Used by: common.proto +message CMsgBluetoothDevicesData_Manager { + optional bool is_bluetooth_enabled = 1; +} + +message CMsgCellList { + repeated CMsgCellList_Cell cells = 1; +} + +// Used by: common.proto +message CMsgCellList_Cell { + optional uint32 cell_id = 1; + optional string loc_name = 2; +} + message CMsgClientAccountInfo { optional string persona_name = 1; optional string ip_country = 2; @@ -828,6 +1111,26 @@ message CMsgClientAccountInfo { optional bool is_phone_needing_reverify = 19; } +message CMsgClientActivateOEMLicense { + optional string bios_manufacturer = 1; + optional string bios_serialnumber = 2; + optional bytes license_file = 3; + optional string mainboard_manufacturer = 4; + optional string mainboard_product = 5; + optional string mainboard_serialnumber = 6; +} + +message CMsgClientAddFriend { + optional fixed64 steamid_to_add = 1; + optional string accountname_or_email_to_add = 2; +} + +message CMsgClientAddFriendResponse { + optional int32 eresult = 1 [default = 2]; + optional fixed64 steam_id_added = 2; + optional string persona_name_added = 3; +} + message CMsgClientAddFriendToGroup { optional int32 groupid = 1; optional fixed64 steamiduser = 2; @@ -837,6 +1140,16 @@ message CMsgClientAddFriendToGroupResponse { optional uint32 eresult = 1; } +message CMsgClientAMGetClanOfficers { + optional fixed64 steamid_clan = 1; +} + +message CMsgClientAMGetClanOfficersResponse { + optional int32 eresult = 1 [default = 2]; + optional fixed64 steamid_clan = 2; + optional int32 officer_count = 3; +} + message CMsgClientAMGetPersonaNameHistory { optional int32 id_count = 1; repeated CMsgClientAMGetPersonaNameHistory_IdInstance Ids = 2; @@ -864,17 +1177,125 @@ message CMsgClientAMGetPersonaNameHistoryResponse_NameTableInstance_NameInstance optional string name = 2; } -message CMsgClientChangeStatus { - optional uint32 persona_state = 1; - optional string player_name = 2; - optional bool is_auto_generated_name = 3; - optional bool high_priority = 4; +message CMsgClientAuthList { + optional uint32 tokens_left = 1; + optional uint32 last_request_seq = 2; + optional uint32 last_request_seq_from_server = 3; + repeated CMsgAuthTicket tickets = 4; + repeated uint32 app_ids = 5; + optional uint32 message_sequence = 6; + optional bool filtered = 7; +} + +message CMsgClientAuthListAck { + repeated uint32 ticket_crc = 1; + repeated uint32 app_ids = 2; + optional uint32 message_sequence = 3; +} + +message CMsgClientAuthorizeLocalDevice { + optional int32 eresult = 1 [default = 2]; + optional uint32 owner_account_id = 2; + optional uint64 authed_device_token = 3; +} + +message CMsgClientAuthorizeLocalDeviceNotification { + optional int32 eresult = 1 [default = 2]; + optional uint32 owner_account_id = 2; + optional uint64 local_device_token = 3; +} + +message CMsgClientAuthorizeLocalDeviceRequest { + optional string device_description = 1; + optional uint32 owner_account_id = 2; + optional uint64 local_device_token = 3; +} + +message CMsgClientChallengeRequest { + optional fixed64 steamid = 1; +} + +message CMsgClientChallengeResponse { + optional fixed64 challenge = 1; +} + +message CMsgClientChangeStatus { + optional uint32 persona_state = 1; + optional string player_name = 2; + optional bool is_auto_generated_name = 3; + optional bool high_priority = 4; optional bool persona_set_by_user = 5; optional uint32 persona_state_flags = 6 [default = 0]; optional bool need_persona_response = 7; optional bool is_client_idle = 8; } +message CMsgClientChatGetFriendMessageHistory { + optional fixed64 steamid = 1; +} + +message CMsgClientChatGetFriendMessageHistoryForOfflineMessages { +} + +message CMsgClientChatGetFriendMessageHistoryResponse { + optional fixed64 steamid = 1; + optional uint32 success = 2; + repeated CMsgClientChatGetFriendMessageHistoryResponse_FriendMessage messages = 3; +} + +// Used by: common.proto +message CMsgClientChatGetFriendMessageHistoryResponse_FriendMessage { + optional uint32 accountid = 1; + optional uint32 timestamp = 2; + optional string message = 3; + optional bool unread = 4; +} + +message CMsgClientChatInvite { + optional fixed64 steam_id_invited = 1; + optional fixed64 steam_id_chat = 2; + optional fixed64 steam_id_patron = 3; + optional int32 chatroom_type = 4; + optional fixed64 steam_id_friend_chat = 5; + optional string chat_name = 6; + optional fixed64 game_id = 7; +} + +message CMsgClientCheckAppBetaPassword { + optional uint32 app_id = 1; + optional string betapassword = 2; + optional int32 language = 3; +} + +message CMsgClientCheckAppBetaPasswordResponse { + optional int32 eresult = 1 [default = 2]; + repeated CMsgClientCheckAppBetaPasswordResponse_BetaPassword betapasswords = 4; +} + +// Used by: common.proto +message CMsgClientCheckAppBetaPasswordResponse_BetaPassword { + optional string betaname = 1; + optional string betapassword = 2; + optional string betadescription = 3; +} + +message CMsgClientCheckFileSignature { + optional uint32 app_id = 1; +} + +message CMsgClientCheckFileSignatureResponse { + optional uint32 app_id = 1; + optional uint32 pid = 2; + optional uint32 eresult = 3; + optional string filename = 4; + optional uint32 esignatureresult = 5; + optional bytes sha_file = 6; + optional bytes signatureheader = 7; + optional uint32 filesize = 8; + optional uint32 getlasterror = 9; + optional uint32 evalvesignaturecheckdetail = 10; +} + message CMsgClientClanState { optional fixed64 steamid_clan = 1; optional uint32 clan_account_flags = 3; @@ -909,6 +1330,64 @@ message CMsgClientClanState_UserCounts { optional uint32 chat_room_members = 5; } +message CMsgClientCommentNotifications { + optional uint32 count_new_comments = 1; + optional uint32 count_new_comments_owner = 2; + optional uint32 count_new_comments_subscriptions = 3; +} + +message CMsgClientConnectionStats { + optional CMsgClientConnectionStats_Stats_Logon stats_logon = 1; + optional CMsgClientConnectionStats_Stats_VConn stats_vconn = 2; +} + +// Used by: common.proto +message CMsgClientConnectionStats_Stats_Logon { + optional int32 connect_attempts = 1; + optional int32 connect_successes = 2; + optional int32 connect_failures = 3; + optional int32 connections_dropped = 4; + optional uint32 seconds_running = 5; + optional uint32 msec_tologonthistime = 6; + optional uint32 count_bad_cms = 7; + optional bool no_udp_connectivity = 8; + optional bool no_tcp_connectivity = 9; + optional bool no_websocket_443_connectivity = 10; + optional bool no_websocket_non_443_connectivity = 11; +} + +// Used by: common.proto +message CMsgClientConnectionStats_Stats_UDP { + optional uint64 pkts_sent = 1; + optional uint64 bytes_sent = 2; + optional uint64 pkts_recv = 3; + optional uint64 pkts_processed = 4; + optional uint64 bytes_recv = 5; +} + +// Used by: common.proto +message CMsgClientConnectionStats_Stats_VConn { + optional uint32 connections_udp = 1; + optional uint32 connections_tcp = 2; + optional CMsgClientConnectionStats_Stats_UDP stats_udp = 3; + optional uint64 pkts_abandoned = 4; + optional uint64 conn_req_received = 5; + optional uint64 pkts_resent = 6; + optional uint64 msgs_sent = 7; + optional uint64 msgs_sent_failed = 8; + optional uint64 msgs_recv = 9; + optional uint64 datagrams_sent = 10; + optional uint64 datagrams_recv = 11; + optional uint64 bad_pkts_recv = 12; + optional uint64 unknown_conn_pkts_recv = 13; + optional uint64 missed_pkts_recv = 14; + optional uint64 dup_pkts_recv = 15; + optional uint64 failed_connect_challenges = 16; + optional uint32 micro_sec_avg_latency = 17; + optional uint32 micro_sec_min_latency = 18; + optional uint32 micro_sec_max_latency = 19; +} + message CMsgClientCreateFriendsGroup { optional fixed64 steamid = 1; optional string groupname = 2; @@ -920,6 +1399,16 @@ message CMsgClientCreateFriendsGroupResponse { optional int32 groupid = 2; } +message CMsgClientDeauthorizeDevice { + optional int32 eresult = 1 [default = 2]; + optional uint32 deauthorization_account_id = 2; +} + +message CMsgClientDeauthorizeDeviceRequest { + optional uint32 deauthorization_account_id = 1; + optional uint64 deauthorization_device_token = 2; +} + message CMsgClientDeleteFriendsGroup { optional fixed64 steamid = 1; optional int32 groupid = 2; @@ -929,6 +1418,42 @@ message CMsgClientDeleteFriendsGroupResponse { optional uint32 eresult = 1; } +message CMsgClientDeregisterWithServer { + optional uint32 eservertype = 1; + optional uint32 app_id = 2; +} + +message CMsgClientDPCheckSpecialSurvey { + optional uint32 survey_id = 1; +} + +message CMsgClientDPCheckSpecialSurveyResponse { + optional uint32 eResult = 1 [default = 2]; + optional uint32 state = 2; + optional string name = 3; + optional string custom_url = 4; + optional bool include_software = 5; + optional bytes token = 6; +} + +message CMsgClientDPSendSpecialSurveyResponse { + optional uint32 survey_id = 1; + optional bytes data = 2; +} + +message CMsgClientDPSendSpecialSurveyResponseReply { + optional uint32 eResult = 1 [default = 2]; + optional bytes token = 2; +} + +message CMsgClientEmailAddrInfo { + optional string email_address = 1; + optional bool email_is_validated = 2; + optional bool email_validation_changed = 3; + optional bool credential_change_requires_code = 4; + optional bool password_or_secretqa_change_requires_code = 5; +} + message CMsgClientEmoticonList { repeated CMsgClientEmoticonList_Emoticon emoticons = 1; repeated CMsgClientEmoticonList_Sticker stickers = 2; @@ -964,17 +1489,206 @@ message CMsgClientEmoticonList_Sticker { optional uint32 use_count = 6; } +message CMsgClientFriendMsg { + optional fixed64 steamid = 1; + optional int32 chat_entry_type = 2; + optional bytes message = 3; + optional fixed32 rtime32_server_timestamp = 4; + optional bool echo_to_sender = 5; +} + +message CMsgClientFriendMsgIncoming { + optional fixed64 steamid_from = 1; + optional int32 chat_entry_type = 2; + optional bool from_limited_account = 3; + optional bytes message = 4; + optional fixed32 rtime32_server_timestamp = 5; +} + +message CMsgClientFriendProfileInfo { + optional fixed64 steamid_friend = 1; +} + +message CMsgClientFriendProfileInfoResponse { + optional int32 eresult = 1 [default = 2]; + optional fixed64 steamid_friend = 2; + optional uint32 time_created = 3; + optional string real_name = 4; + optional string city_name = 5; + optional string state_name = 6; + optional string country_name = 7; + optional string headline = 8; + optional string summary = 9; +} + +message CMsgClientFriendsGroupsList { + optional bool bremoval = 1; + optional bool bincremental = 2; + repeated CMsgClientFriendsGroupsList_FriendGroup friendGroups = 3; + repeated CMsgClientFriendsGroupsList_FriendGroupsMembership memberships = 4; +} + +// Used by: common.proto +message CMsgClientFriendsGroupsList_FriendGroup { + optional int32 nGroupID = 1; + optional string strGroupName = 2; +} + +// Used by: common.proto +message CMsgClientFriendsGroupsList_FriendGroupsMembership { + optional fixed64 ulSteamID = 1; + optional int32 nGroupID = 2; +} + +message CMsgClientFriendUserStatusPublished { + optional fixed64 friend_steamid = 1; + optional uint32 appid = 2; + optional string status_text = 3; +} + +message CMsgClientFSGetFriendsSteamLevels { + repeated uint32 accountids = 1; +} + +message CMsgClientFSGetFriendsSteamLevelsResponse { + repeated CMsgClientFSGetFriendsSteamLevelsResponse_Friend friends = 1; +} + +// Used by: common.proto +message CMsgClientFSGetFriendsSteamLevelsResponse_Friend { + optional uint32 accountid = 1; + optional uint32 level = 2; +} + +message CMsgClientGameConnectTokens { + optional uint32 max_tokens_to_keep = 1 [default = 10]; + repeated bytes tokens = 2; +} + +message CMsgClientGamesPlayed { + repeated CMsgClientGamesPlayed_GamePlayed games_played = 1; + optional uint32 client_os_type = 2; + optional uint32 cloud_gaming_platform = 3; + optional bool recent_reauthentication = 4; +} + +// Used by: common.proto +message CMsgClientGamesPlayed_GamePlayed { + optional uint64 steam_id_gs = 1; + optional fixed64 game_id = 2; + optional uint32 deprecated_game_ip_address = 3; + optional uint32 game_port = 4; + optional bool is_secure = 5; + optional bytes token = 6; + optional string game_extra_info = 7; + optional bytes game_data_blob = 8; + optional uint32 process_id = 9; + optional uint32 streaming_provider_id = 10; + optional uint32 game_flags = 11; + optional uint32 owner_id = 12; + optional string vr_hmd_vendor = 13; + optional string vr_hmd_model = 14; + optional uint32 launch_option_type = 15 [default = 0]; + optional int32 primary_controller_type = 16 [default = -1]; + optional string primary_steam_controller_serial = 17 [default = ""]; + optional uint32 total_steam_controller_count = 18 [default = 0]; + optional uint32 total_non_steam_controller_count = 19 [default = 0]; + optional uint64 controller_workshop_file_id = 20 [default = 0]; + optional uint32 launch_source = 21 [default = 0]; + optional uint32 vr_hmd_runtime = 22; + optional CMsgIPAddress game_ip_address = 23; + optional uint32 controller_connection_type = 24 [default = 0]; + optional int32 game_os_platform = 25; + optional uint32 game_build_id = 26; + optional uint32 compat_tool_id = 27 [default = 0]; + optional string compat_tool_cmd = 28; + optional uint32 compat_tool_build_id = 29; + optional string beta_name = 30; + optional uint32 dlc_context = 31; + repeated CMsgClientGamesPlayed_ProcessInfo process_id_list = 32; +} + +// Used by: common.proto +message CMsgClientGamesPlayed_ProcessInfo { + optional uint32 process_id = 1; + optional uint32 process_id_parent = 2; + optional bool parent_is_steam = 3; +} + +message CMsgClientGetAppOwnershipTicket { + optional uint32 app_id = 1; +} + +message CMsgClientGetAppOwnershipTicketResponse { + optional uint32 eresult = 1 [default = 2]; + optional uint32 app_id = 2; + optional bytes ticket = 3; +} + +message CMsgClientGetAuthorizedDevices { +} + +message CMsgClientGetAuthorizedDevicesResponse { + optional int32 eresult = 1 [default = 2]; + repeated CMsgClientGetAuthorizedDevicesResponse_AuthorizedDevice authorized_device = 2; +} + +// Used by: common.proto +message CMsgClientGetAuthorizedDevicesResponse_AuthorizedDevice { + optional uint64 auth_device_token = 1; + optional string device_name = 2; + optional uint32 last_access_time = 3; + optional uint32 borrower_id = 4; + optional bool is_pending = 5; + optional uint32 app_played = 6; +} + message CMsgClientGetClanActivityCounts { repeated uint64 steamid_clans = 1; } +message CMsgClientGetClanActivityCountsResponse { + optional uint32 eresult = 1 [default = 2]; +} + +message CMsgClientGetDepotDecryptionKey { + optional uint32 depot_id = 1; + optional uint32 app_id = 2; +} + +message CMsgClientGetDepotDecryptionKeyResponse { + optional int32 eresult = 1 [default = 2]; + optional uint32 depot_id = 2; + optional bytes depot_encryption_key = 3; +} + message CMsgClientGetEmoticonList { } +message CMsgClientGetPeerContentInfo { + optional fixed64 steamid = 1; + optional fixed64 client_remote_id = 2; + optional bool owned_games_visible = 3; +} + +message CMsgClientGetPeerContentInfoResponse { + optional uint32 result = 1; + repeated uint32 apps = 2; +} + message CMsgClientHeartBeat { optional bool send_reply = 1; } +message CMsgClientHello { + optional uint32 protocol_version = 1; +} + +message CMsgClientHideFriend { + optional fixed64 friendid = 1; + optional bool hide = 2; +} + message CMsgClientInviteToGame { optional fixed64 steam_id_dest = 1; optional fixed64 steam_id_src = 2; @@ -982,6 +1696,13 @@ message CMsgClientInviteToGame { optional string remote_play = 4; } +message CMsgClientIsLimitedAccount { + optional bool bis_limited_account = 1; + optional bool bis_community_banned = 2; + optional bool bis_locked_account = 3; + optional bool bis_limited_account_allowed_to_invite_friends = 4; +} + message CMsgClientItemAnnouncements { optional uint32 count_new_items = 1; repeated CMsgClientItemAnnouncements_UnseenItem unseen_items = 2; @@ -997,10 +1718,44 @@ message CMsgClientItemAnnouncements_UnseenItem { optional uint32 source_appid = 6; } +message CMsgClientKickPlayingSession { + optional bool only_stop_game = 1; +} + +message CMsgClientLicenseList { + optional int32 eresult = 1 [default = 2]; + repeated CMsgClientLicenseList_License licenses = 2; +} + +// Used by: common.proto +message CMsgClientLicenseList_License { + optional uint32 package_id = 1; + optional fixed32 time_created = 2; + optional fixed32 time_next_process = 3; + optional int32 minute_limit = 4; + optional int32 minutes_used = 5; + optional uint32 payment_method = 6; + optional uint32 flags = 7; + optional string purchase_country_code = 8; + optional uint32 license_type = 9; + optional int32 territory_code = 10; + optional int32 change_number = 11; + optional uint32 owner_id = 12; + optional uint32 initial_period = 13; + optional uint32 initial_time_unit = 14; + optional uint32 renewal_period = 15; + optional uint32 renewal_time_unit = 16; + optional uint64 access_token = 17; + optional uint32 master_package_id = 18; +} + message CMsgClientLoggedOff { optional int32 eresult = 1 [default = 2]; } +message CMsgClientLogOff { +} + message CMsgClientLogon { optional uint32 protocol_version = 1; optional uint32 deprecated_obfustucated_private_ip = 2; @@ -1100,376 +1855,901 @@ message CMsgClientManageFriendsGroupResponse { optional uint32 eresult = 1; } -message CMsgClientMMSInviteToLobby { +message CMsgClientMMSCreateLobby { optional uint32 app_id = 1; - optional fixed64 steam_id_lobby = 2; - optional fixed64 steam_id_user_invited = 3; -} - -message CMsgClientOfflineMessageNotification { - optional uint32 offline_messages = 1; - repeated uint32 friends_with_offline_messages = 2; + optional int32 max_members = 2; + optional int32 lobby_type = 3; + optional int32 lobby_flags = 4; + optional uint32 cell_id = 5; + optional uint32 deprecated_public_ip = 6; + optional bytes metadata_kv = 7; + optional string persona_name_owner = 8; + optional CMsgIPAddress public_ip = 9; + optional string network_ping_location = 10; + repeated MMSKeyValuePair metadata = 11; } -message CMsgClientPersonaState { - optional uint32 status_flags = 1; - repeated CMsgClientPersonaState_Friend friends = 2; +message CMsgClientMMSCreateLobbyResponse { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 eresult = 3 [default = 2]; } -// Used by: ChatRoom, ChatRoomClient, common.proto -message CMsgClientPersonaState_Friend { - optional fixed64 friendid = 1; - optional uint32 persona_state = 2; - optional uint32 game_played_app_id = 3; - optional uint32 game_server_ip = 4; - optional uint32 game_server_port = 5; - optional uint32 persona_state_flags = 6; - optional uint32 online_session_instances = 7; - optional bool persona_set_by_user = 10; - optional string player_name = 15; - optional uint32 query_port = 20; - optional fixed64 steamid_source = 25; - optional bytes avatar_hash = 31; - optional uint32 last_logoff = 45; - optional uint32 last_logon = 46; - optional uint32 last_seen_online = 47; - optional uint32 clan_rank = 50; - optional string game_name = 55; - optional fixed64 gameid = 56; - optional bytes game_data_blob = 60; - optional CMsgClientPersonaState_Friend_ClanData clan_data = 64; - optional string clan_tag = 65; - repeated CMsgClientPersonaState_Friend_KV rich_presence = 71; - optional fixed64 broadcast_id = 72; - optional fixed64 game_lobby_id = 73; - optional uint32 watching_broadcast_accountid = 74; - optional uint32 watching_broadcast_appid = 75; - optional uint32 watching_broadcast_viewers = 76; - optional string watching_broadcast_title = 77; - optional bool is_community_banned = 78; - optional bool player_name_pending_review = 79; - optional bool avatar_pending_review = 80; - optional bool on_steam_deck = 81; - repeated CMsgClientPersonaState_Friend_OtherGameData other_game_data = 82; - optional uint32 gaming_device_type = 83; +message CMsgClientMMSGetLobbyData { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; } -// Used by: ChatRoom, ChatRoomClient, common.proto -message CMsgClientPersonaState_Friend_ClanData { - optional uint32 ogg_app_id = 1; - optional uint64 chat_group_id = 2; +message CMsgClientMMSGetLobbyList { + optional uint32 app_id = 1; + optional int32 num_lobbies_requested = 3; + optional uint32 cell_id = 4; + optional uint32 deprecated_public_ip = 5; + repeated CMsgClientMMSGetLobbyList_Filter filters = 6; + optional CMsgIPAddress public_ip = 7; + optional string network_ping_location = 8; } -// Used by: ChatRoom, ChatRoomClient, common.proto -message CMsgClientPersonaState_Friend_KV { +// Used by: common.proto +message CMsgClientMMSGetLobbyList_Filter { optional string key = 1; optional string value = 2; + optional int32 comparision = 3; + optional int32 filter_type = 4; } -// Used by: ChatRoom, ChatRoomClient, common.proto -message CMsgClientPersonaState_Friend_OtherGameData { - optional uint64 gameid = 1; - repeated CMsgClientPersonaState_Friend_KV rich_presence = 2; +message CMsgClientMMSGetLobbyListResponse { + optional uint32 app_id = 1; + optional int32 eresult = 3 [default = 2]; + repeated CMsgClientMMSGetLobbyListResponse_Lobby lobbies = 4; } -message CMsgClientRemoveFriendFromGroup { - optional int32 groupid = 1; - optional fixed64 steamiduser = 2; +// Used by: common.proto +message CMsgClientMMSGetLobbyListResponse_Lobby { + optional fixed64 steam_id = 1; + optional int32 max_members = 2; + optional int32 lobby_type = 3; + optional int32 lobby_flags = 4; + optional bytes metadata_kv = 5; + optional int32 num_members = 6; + optional float distance = 7; + optional int64 weight = 8; + optional int32 ping = 9; + optional int32 missing_ping = 10; + repeated MMSKeyValuePair metadata = 11; } -message CMsgClientRemoveFriendFromGroupResponse { - optional uint32 eresult = 1; +message CMsgClientMMSGetLobbyStatus { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional bool claim_membership = 3; + optional bool claim_ownership = 4; } -message CMsgClientRequestFriendData { - optional uint32 persona_state_requested = 1; - repeated fixed64 friends = 2; +message CMsgClientMMSGetLobbyStatusResponse { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 lobby_status = 3 [(webui.description) = "enum"]; } -message CMsgClientRequestOfflineMessageCount { +message CMsgClientMMSInviteToLobby { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_user_invited = 3; } -// Used by: common.proto -message CMsgClientSecret { - optional uint32 version = 1; - optional uint32 appid = 2; - optional uint32 deviceid = 3; - optional fixed64 nonce = 4; - optional bytes hmac = 5; +message CMsgClientMMSJoinLobby { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional string persona_name = 3; + optional string network_ping_location = 4; + optional uint32 cell_id = 5; } -message CMsgClientServersAvailable { - repeated CMsgClientServersAvailable_Server_Types_Available server_types_available = 1; - optional uint32 server_type_for_auth_services = 2; +message CMsgClientMMSJoinLobbyResponse { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 chat_room_enter_response = 3; + optional int32 max_members = 4; + optional int32 lobby_type = 5; + optional int32 lobby_flags = 6; + optional fixed64 steam_id_owner = 7; + optional bytes metadata_kv = 8; + repeated CMsgClientMMSJoinLobbyResponse_Member members = 9; + repeated MMSKeyValuePair metadata = 10; } // Used by: common.proto -message CMsgClientServersAvailable_Server_Types_Available { - optional uint32 server = 1; - optional bool changed = 2; +message CMsgClientMMSJoinLobbyResponse_Member { + optional fixed64 steam_id = 1; + optional string persona_name = 2; + optional bytes metadata_kv = 3; + repeated MMSKeyValuePair metadata = 4; } -message CMsgClientServerTimestampRequest { - optional uint64 client_request_timestamp = 1; +message CMsgClientMMSLeaveLobby { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; } -message CMsgClientServerTimestampResponse { - optional uint64 client_request_timestamp = 1; - optional uint64 server_timestamp_ms = 2; +message CMsgClientMMSLeaveLobbyResponse { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 eresult = 3 [default = 2]; } -message CMsgClientSettings { - optional bool no_save_personal_info = 1; - optional bool in_client_beta = 3; - optional bool is_steam_sideloaded = 4; - optional string preferred_monitor = 5; - optional bool steam_cef_gpu_blocklist_disabled = 6; - optional bool bigpicture_windowed = 7; - optional string display_name = 8; - optional bool is_external_display = 9; - optional float steam_os_underscan_level = 10; - optional bool steam_os_underscan_enabled = 11; - optional float min_scale_factor = 12; - optional float max_scale_factor = 13; - optional float auto_scale_factor = 14; - optional bool small_mode = 16; - optional bool skip_steamvr_install_dialog = 19; - optional bool always_show_user_chooser = 20; - optional bool os_version_unsupported = 21; - optional bool show_family_sharing_notifications = 3000; - optional bool show_copy_count_in_library = 3001; - optional int32 overlay_fps_counter_corner = 4000; - optional bool overlay_fps_counter_high_contrast = 4001; - optional CMsgHotkey overlay_key = 4002; - optional CMsgHotkey screenshot_key = 4003; - optional bool enable_overlay = 4004; - optional bool enable_screenshot_notification = 4006; - optional bool enable_screenshot_sound = 4007; - optional bool save_uncompressed_screenshots = 4008; - optional string screenshots_path = 4009; - optional int32 default_ping_rate = 4010; - optional int32 server_ping_rate = 4011; - optional int32 steam_networking_share_ip = 4012; - optional string web_browser_home = 4013; - optional string voice_mic_device_name = 4014; - optional float voice_mic_input_gain = 4015; - optional float voice_speaker_output_gain = 4016; - optional int32 voice_push_to_talk_setting = 4017; - optional CMsgHotkey voice_push_to_talk_key = 4018; - optional bool overlay_toolbar_list_view = 4019; - optional bool always_use_gamepadui_overlay = 4020; - optional string overlay_tabs = 4021; - optional bool overlay_scale_interface = 4022; - optional bool overlay_restore_browser_tabs = 4023; - optional bool enable_avif_screenshots = 4024; - optional int32 overlay_fps_counter_detail_level = 4025; - optional float overlay_fps_counter_saturation_factor = 4026; - optional float overlay_fps_counter_bgopacity = 4027; - optional float overlay_fps_counter_scale_factor = 4028; - optional CMsgHotkey overlay_fps_counter_key = 4029; - optional bool overlay_fps_counter_fps_graph = 4030; - optional bool overlay_fps_counter_cpu_graph = 4031; - optional bool overlay_fps_counter_allow_km_driver = 4032; - optional bool achievement_notification_toast = 4033; - optional bool achievement_notification_sound = 4034; - optional bool controllerconnect_notification_toast = 4035; - optional bool controllerconnect_notification_sound = 4036; - optional bool controller_low_battery_notification_toast = 4037; - optional bool controller_low_battery_notification_sound = 4038; - optional bool smooth_scroll_webviews = 5000; - optional bool enable_gpu_accelerated_webviews = 5001; - optional bool enable_hardware_video_decoding = 5003; - optional bool run_at_startup = 5004; - optional bool enable_dpi_scaling = 5005; - optional bool enable_marketing_messages = 5006; - optional bool start_in_big_picture_mode = 5007; - optional uint32 jumplist_flags = 5008; - optional bool enable_ui_sounds = 5009; - optional bool enable_gamescope_composer = 5010; - optional bool enable_gamescope_composer_vr = 5011; - optional bool show_switch_to_desktop_at_login = 5012; - optional bool enable_steamrt64_client = 5013; - optional bool disable_all_toasts = 6000; - optional bool disable_toasts_in_game = 6001; - optional bool play_sound_on_toast = 6002; - optional int32 library_display_size = 7000; - optional bool library_whats_new_show_only_product_updates = 7001; - optional bool show_store_content_on_home = 7002; - optional string start_page = 7003; - optional bool library_low_bandwidth_mode = 7004; - optional bool library_low_perf_mode = 7005; - optional bool library_disable_community_content = 7006; - optional bool library_display_icon_in_game_list = 7007; - optional bool ready_to_play_includes_streaming = 7008; - optional bool show_steam_deck_info = 7009; - optional bool enable_shader_precache = 8000; - optional bool enable_shader_background_processing = 8001; - optional uint64 shader_precached_size = 8002; - optional bool needs_steam_service_repair = 8003; - optional int32 download_peer_content = 8004; - optional bool download_rate_bits_per_s = 8005; - optional bool restrict_auto_updates = 8006; - optional int32 restrict_auto_updates_start = 8007; - optional int32 restrict_auto_updates_end = 8008; - optional int32 download_region = 8009; - optional bool download_while_app_running = 8010; - optional bool download_throttle_while_streaming = 8011; - optional int32 download_throttle_rate = 8012; - optional int32 default_app_update_behavior = 8013; - optional bool cloud_enabled = 10000; - optional bool show_screenshot_manager = 10001; - optional int32 music_volume = 11000; - optional bool music_pause_on_app_start = 11001; - optional bool music_pause_on_voice_chat = 11002; - optional bool music_download_high_quality = 11003; - optional int32 broadcast_permissions = 12000 [(webui.description) = "enum"]; - optional int32 broadcast_output_width = 12001; - optional int32 broadcast_output_height = 12002; - optional int32 broadcast_bitrate = 12003; - optional int32 broadcast_encoding_option = 12004 [(webui.description) = "enum"]; - optional bool broadcast_record_all_video = 12005; - optional bool broadcast_record_all_audio = 12006; - optional bool broadcast_record_microphone = 12007; - optional bool broadcast_show_upload_stats = 12008; - optional bool broadcast_show_live_reminder = 12009; - optional int32 broadcast_chat_corner = 12010; - optional bool gamestream_hardware_video_encode = 13000; - optional bool gamestream_enable_video_h265 = 13001; - optional bool steam_input_configurator_error_msg_enable = 14001; - optional bool controller_guide_button_focus_steam = 14002; - optional int32 controller_ps_support = 14003; - optional bool controller_xbox_support = 14004; - optional bool controller_xbox_driver = 14005; - optional bool controller_switch_support = 14006; - optional bool controller_generic_support = 14007; - optional int32 controller_power_off_timeout = 14008; - optional bool turn_off_controller_on_exit = 14009; - optional bool controller_combine_nintendo_joycons = 14010; - optional uint64 startup_movie_id = 16000; - optional string startup_movie_local_path = 16001; - optional bool startup_movie_shuffle = 16002; - optional bool startup_movie_used_for_resume = 16003; - optional bool game_notes_enable_spellcheck = 17001; - optional int32 screenshot_items_per_row = 18000; - optional string gamerecording_background_path = 18201; - optional string gamerecording_background_max_keep = 18202; - optional int32 gamerecording_background_time_resolution = 18203; - optional CMsgHotkey gamerecording_background_mk = 18207; - optional CMsgHotkey gamerecording_background_tg = 18208; - optional bool gamerecording_background_a_m = 18209; - optional string gamerecording_video_bitrate = 18210; - optional int32 gamerecording_background_mode = 18212 [(webui.description) = "enum"]; - optional int32 gamerecording_background_audio = 18213 [(webui.description) = "enum"]; - optional int32 gamerecording_max_fps = 18214; - optional CMsgHotkey gamerecording_hotkey_ic = 18215; - optional float gamerecording_ic_seconds = 18216; - optional int32 gamerecording_export_limit_type = 18217 [(webui.description) = "enum"]; - optional int32 gamerecording_export_limit_size_mb = 18218; - optional int32 gamerecording_export_limit_bitrate = 18219; - optional int32 gamerecording_export_limit_width = 18220; - optional int32 gamerecording_export_limit_height = 18221; - optional int32 gamerecording_export_limit_frame_rate = 18222; - optional string gamerecording_export_directory = 18223; - optional int32 gamerecording_export_codec = 18224 [(webui.description) = "enum"]; - optional int32 gamerecording_video_maxheight = 18225; - optional bool gamerecording_force_mic_mono = 18226; - optional bool gamerecording_automatic_gain_control = 18227; - optional bool show_timestamps_in_console = 20000; - optional int32 override_browser_composer_mode = 20002; - optional bool cef_remote_debugging_enabled = 20003; - optional bool force_deck_perf_tab = 20004; - optional bool force_fake_mandatory_update = 20005; - optional bool hdr_compat_testing = 20006; - optional bool developer_mode_enabled = 20007; - optional bool show_advanced_update_channels = 20008; - optional bool browserview_underlays_allowed = 20009; - optional int32 gamescope_hdr_visualization = 21001 [(webui.description) = "enum"]; - optional int32 gamescope_app_target_framerate = 21002; - optional bool gamescope_enable_app_target_framerate = 21003; - optional bool gamescope_disable_framelimit = 21004; - optional int32 gamescope_display_refresh_rate = 21005; - optional bool gamescope_use_game_refresh_rate_in_steam = 21006; - optional bool gamescope_disable_mura_correction = 21007; - optional bool gamescope_include_steamui_in_screenshots = 21008; - optional bool gamescope_allow_tearing = 21009; - optional bool gamescope_composite_debug = 21010; - optional bool gamescope_force_composite = 21011; - optional string gamescope_game_resolution_global = 21012; - optional CMsgHotkey gamescope_guide_hotkey = 21013; - optional CMsgHotkey gamescope_qam_hotkey = 21014; - optional bool gamescope_hdr_enabled = 21015; - optional bool gamescope_native_external_res_in_steam = 21016; - optional int32 steamos_status_led_brightness = 22000; - optional bool steamos_tdp_limit_enabled = 22001; - optional int32 steamos_tdp_limit = 22002; - optional bool steamos_cec_enabled = 22003; - optional bool steamos_cec_wake_on_resume = 22004; - optional bool steamos_wifi_debug = 22005; - optional bool steamos_wifi_force_wpa_supplicant = 22006; - optional int32 steamos_magnifier_scale = 22007; - optional bool steamos_manual_gpu_clock_enabled = 22008; - optional int32 steamos_manual_gpu_clock_hz = 22009; - optional string steamos_platform_performance_profile = 22010; - optional bool steamos_charge_limit_enabled = 22011; - optional int32 steamos_charge_limit = 22012; - optional bool steamos_charge_limit_devmode = 22013; - optional bool steamos_system_tracing_enabled = 22014; - optional bool steamos_vrs_enabled = 22015; - optional bool steamos_separate_led_colors = 22016; - optional bool steamos_wifi_reload_wifi_driver_on_sleep = 22017; - optional bool steamos_cec_control = 22019; - optional bool steamos_cec_suspend_tv = 22020; - optional bool steamos_cec_suspend_device = 22021; - optional bool steamos_cec_wake_tv = 22022; - optional bool steamos_cec_wake_device = 22023; - optional bool setting_validation_bool = 23001; - optional int32 setting_validation_enum = 23002 [(webui.description) = "enum"]; - optional int32 setting_validation_int32 = 23003; - optional uint32 setting_validation_uint32 = 23004; - optional uint64 setting_validation_uint64 = 23005; - optional float setting_validation_float = 23006; - optional string setting_validation_string = 23007; - optional CMsgHotkey setting_validation_hotkey = 23008; - optional bool system_bluetooth_enabled = 24000; - optional bool hardware_updater_enabled = 24001; - optional int32 system_idle_suspend_battery_sec = 24003; - optional int32 system_idle_suspend_ac_sec = 24004; - optional bool system_enable_low_power_downloads = 24005; - optional bool system_allow_battery_low_power_downloads = 24006; - optional int32 system_idle_screensaver_battery_sec = 24008; - optional int32 system_idle_screensaver_ac_sec = 24009; - optional bool vr_show_perf_graph_in_hmd = 25000; - optional bool vr_audio_spatialize = 25001; - optional bool vr_audio_spatialize_surround = 25002; - optional bool accessibility_debug_visualizer = 26000; - optional bool accessibility_screen_reader_enabled = 26001; - optional float accessibility_screen_reader_rate = 26002; - optional float accessibility_screen_reader_pitch = 26003; - optional float accessibility_screen_reader_volume = 26004; - optional bool accessibility_high_contrast_mode = 26005; - optional bool accessibility_reduce_motion = 26006; - optional uint32 accessibility_minimum_font_size = 26008; - optional string accessibility_color_filter_name = 26009; - optional float accessibility_desktop_ui_scale = 26010; - optional string accessibility_screen_reader_locale = 26011; - optional bool accessibility_mono_audio = 26012; - optional bool remote_play_wifi_ap_enabled = 27000; - optional int32 remote_play_wifi_ap_channel_5ghz = 27001; - optional int32 remote_play_wifi_ap_channel_6ghz = 27002; - optional int32 remote_play_wifi_ap_channel_width = 27003; - optional bool remote_play_wifi_ap_hotspot_mode = 27004; - optional string remote_play_wifi_ap_hotspot_ssid = 27005; - optional string remote_play_wifi_ap_hotspot_password = 27006; - optional string remote_play_wifi_ap_hotspot_routing = 27007; - optional bool remote_play_wifi_ap_show_advanced = 27008; - optional string remote_play_wifi_ap_paired_ssid = 27009; - optional bool skip_steamframe_pairing_dialog = 27010; - optional bool oobe_completed = 28001; - optional bool oobe_test_mode_enabled = 28002; - optional bool force_oobe = 28003; - optional bool oobe_stage_2_completed = 28004; - optional bool oobe_stage_2_test_mode_enabled = 28005; +message CMsgClientMMSLobbyChatMsg { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_sender = 3; + optional bytes lobby_message = 4; +} + +message CMsgClientMMSLobbyData { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 num_members = 3; + optional int32 max_members = 4; + optional int32 lobby_type = 5; + optional int32 lobby_flags = 6; + optional fixed64 steam_id_owner = 7; + optional bytes metadata_kv = 8; + repeated CMsgClientMMSLobbyData_Member members = 9; + optional uint32 lobby_cellid = 10; + optional bool owner_should_accept_changes = 11; + repeated MMSKeyValuePair metadata = 12; +} + +// Used by: common.proto +message CMsgClientMMSLobbyData_Member { + optional fixed64 steam_id = 1; + optional string persona_name = 2; + optional bytes metadata_kv = 3; + optional string ping_data = 4; + repeated MMSKeyValuePair metadata = 5; +} + +message CMsgClientMMSLobbyGameServerSet { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional uint32 deprecated_game_server_ip = 3; + optional uint32 game_server_port = 4; + optional fixed64 game_server_steam_id = 5; + optional CMsgIPAddress game_server_ip = 6; +} + +message CMsgClientMMSSendLobbyChatMsg { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_target = 3; + optional bytes lobby_message = 4; +} + +message CMsgClientMMSSetLobbyData { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_member = 3; + optional int32 max_members = 4; + optional int32 lobby_type = 5; + optional int32 lobby_flags = 6; + optional bytes metadata_kv = 7; + optional string network_ping_location = 8; + repeated MMSKeyValuePair metadata = 9; +} + +message CMsgClientMMSSetLobbyDataResponse { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 eresult = 3 [default = 2]; +} + +message CMsgClientMMSSetLobbyGameServer { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional uint32 deprecated_game_server_ip = 3; + optional uint32 game_server_port = 4; + optional fixed64 game_server_steam_id = 5; + optional CMsgIPAddress game_server_ip = 6; + optional string network_ping_location = 7; +} + +message CMsgClientMMSSetLobbyLinked { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_lobby2 = 3; +} + +message CMsgClientMMSSetLobbyOwner { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_new_owner = 3; +} + +message CMsgClientMMSSetLobbyOwnerResponse { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional int32 eresult = 3 [default = 2]; +} + +message CMsgClientMMSSetRatelimitPolicyOnClient { + optional uint32 app_id = 1; + optional bool enable_rate_limits = 2; + optional int32 seconds_per_message = 3; + optional int32 milliseconds_per_data_update = 4; +} + +message CMsgClientMMSUserJoinedLobby { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_user = 3; + optional string persona_name = 4; +} + +message CMsgClientMMSUserLeftLobby { + optional uint32 app_id = 1; + optional fixed64 steam_id_lobby = 2; + optional fixed64 steam_id_user = 3; + optional string persona_name = 4; +} + +message CMsgClientNetworkingCertReply { + optional bytes cert = 4; + optional fixed64 ca_key_id = 5; + optional bytes ca_signature = 6; +} + +message CMsgClientNetworkingCertRequest { + optional bytes key_data = 2; + optional uint32 app_id = 3; +} + +message CMsgClientNetworkingMobileCertReply { + optional string encoded_cert = 1; +} + +message CMsgClientNetworkingMobileCertRequest { + optional uint32 app_id = 1; +} + +message CMsgClientNewLoginKey { + optional uint32 unique_id = 1; + optional string login_key = 2; +} + +message CMsgClientNewLoginKeyAccepted { + optional uint32 unique_id = 1; +} + +message CMsgClientOfflineMessageNotification { + optional uint32 offline_messages = 1; + repeated uint32 friends_with_offline_messages = 2; +} + +message CMsgClientOGSReportBug { + optional uint64 sessionid = 1; + optional string bugtext = 2; + optional bytes screenshot = 3; +} + +message CMsgClientOGSReportString { + optional bool accumulated = 1; + optional uint64 sessionid = 2; + optional int32 severity = 3; + optional string formatter = 4; + optional bytes varargs = 5; +} + +message CMsgClientP2PConnectionFailInfo { + optional fixed64 steam_id_dest = 1; + optional fixed64 steam_id_src = 2; + optional uint32 app_id = 3; + optional uint32 ep2p_session_error = 4; + optional fixed64 connection_id_dest = 5; + optional uint32 close_reason = 7; + optional string close_message = 8; +} + +message CMsgClientP2PConnectionInfo { + optional fixed64 steam_id_dest = 1; + optional fixed64 steam_id_src = 2; + optional uint32 app_id = 3; + optional bytes candidate = 4; + optional fixed64 legacy_connection_id_src = 5; + optional bytes rendezvous = 6; + optional uint32 app_id_secondary = 7; +} + +message CMsgClientPendingGameLaunch { + optional uint32 app_id = 1; +} + +message CMsgClientPendingGameLaunchResponse { + optional int32 eresult = 1 [default = 2]; + optional uint32 app_id = 2; + optional string envkey = 3; +} + +message CMsgClientPersonaState { + optional uint32 status_flags = 1; + repeated CMsgClientPersonaState_Friend friends = 2; +} + +// Used by: ChatRoom, ChatRoomClient, common.proto +message CMsgClientPersonaState_Friend { + optional fixed64 friendid = 1; + optional uint32 persona_state = 2; + optional uint32 game_played_app_id = 3; + optional uint32 game_server_ip = 4; + optional uint32 game_server_port = 5; + optional uint32 persona_state_flags = 6; + optional uint32 online_session_instances = 7; + optional bool persona_set_by_user = 10; + optional string player_name = 15; + optional uint32 query_port = 20; + optional fixed64 steamid_source = 25; + optional bytes avatar_hash = 31; + optional uint32 last_logoff = 45; + optional uint32 last_logon = 46; + optional uint32 last_seen_online = 47; + optional uint32 clan_rank = 50; + optional string game_name = 55; + optional fixed64 gameid = 56; + optional bytes game_data_blob = 60; + optional CMsgClientPersonaState_Friend_ClanData clan_data = 64; + optional string clan_tag = 65; + repeated CMsgClientPersonaState_Friend_KV rich_presence = 71; + optional fixed64 broadcast_id = 72; + optional fixed64 game_lobby_id = 73; + optional uint32 watching_broadcast_accountid = 74; + optional uint32 watching_broadcast_appid = 75; + optional uint32 watching_broadcast_viewers = 76; + optional string watching_broadcast_title = 77; + optional bool is_community_banned = 78; + optional bool player_name_pending_review = 79; + optional bool avatar_pending_review = 80; + optional bool on_steam_deck = 81; + repeated CMsgClientPersonaState_Friend_OtherGameData other_game_data = 82; + optional uint32 gaming_device_type = 83; +} + +// Used by: ChatRoom, ChatRoomClient, common.proto +message CMsgClientPersonaState_Friend_ClanData { + optional uint32 ogg_app_id = 1; + optional uint64 chat_group_id = 2; +} + +// Used by: ChatRoom, ChatRoomClient, common.proto +message CMsgClientPersonaState_Friend_KV { + optional string key = 1; + optional string value = 2; +} + +// Used by: ChatRoom, ChatRoomClient, common.proto +message CMsgClientPersonaState_Friend_OtherGameData { + optional uint64 gameid = 1; + repeated CMsgClientPersonaState_Friend_KV rich_presence = 2; +} + +message CMsgClientPlayerNicknameList { + optional bool removal = 1; + optional bool incremental = 2; + repeated CMsgClientPlayerNicknameList_PlayerNickname nicknames = 3; +} + +// Used by: common.proto +message CMsgClientPlayerNicknameList_PlayerNickname { + optional fixed64 steamid = 1; + optional string nickname = 3; +} + +message CMsgClientPlayingSessionState { + optional bool playing_blocked = 2; + optional uint32 playing_app = 3; +} + +message CMsgClientPurchaseResponse { + optional int32 eresult = 1 [default = 2]; + optional int32 purchase_result_details = 2; + optional bytes purchase_receipt_info = 3; +} + +message CMsgClientPurchaseWithMachineID { + optional uint32 package_id = 1; + optional bytes machine_info = 2; +} + +message CMsgClientRedeemGuestPass { + optional fixed64 guest_pass_id = 1; +} + +message CMsgClientRedeemGuestPassResponse { + optional uint32 eresult = 1 [default = 2]; + optional uint32 package_id = 2; + optional uint32 must_own_appid = 3; +} + +message CMsgClientRegisterAuthTicketWithCM { + optional uint32 protocol_version = 1; + optional bytes ticket = 3; + optional uint64 client_instance_id = 4; +} + +message CMsgClientRegisterKey { + optional string key = 1; +} + +message CMsgClientRegisterOEMMachine { + optional bytes oem_register_file = 1; +} + +message CMsgClientRegisterOEMMachineResponse { + optional uint32 eresult = 1; +} + +message CMsgClientRemoveFriend { + optional fixed64 friendid = 1; +} + +message CMsgClientRemoveFriendFromGroup { + optional int32 groupid = 1; + optional fixed64 steamiduser = 2; +} + +message CMsgClientRemoveFriendFromGroupResponse { + optional uint32 eresult = 1; +} + +message CMsgClientReportOverlayDetourFailure { + repeated string failure_strings = 1; +} + +message CMsgClientRequestCommentNotifications { +} + +message CMsgClientRequestedClientStats { + repeated CMsgClientRequestedClientStats_StatsToSend stats_to_send = 1; +} + +// Used by: common.proto +message CMsgClientRequestedClientStats_StatsToSend { + optional uint32 client_stat = 1; + optional uint32 stat_aggregate_method = 2; +} + +message CMsgClientRequestEncryptedAppTicket { + optional uint32 app_id = 1; + optional bytes userdata = 2; +} + +message CMsgClientRequestEncryptedAppTicketResponse { + optional uint32 app_id = 1; + optional int32 eresult = 2 [default = 2]; + optional EncryptedAppTicket encrypted_app_ticket = 3; +} + +message CMsgClientRequestForgottenPasswordEmail { + optional string account_name = 1; + optional string password_tried = 2; +} + +message CMsgClientRequestForgottenPasswordEmailResponse { + optional uint32 eResult = 1; + optional bool use_secret_question = 2; +} + +message CMsgClientRequestFreeLicense { + repeated uint32 appids = 2; +} + +message CMsgClientRequestFreeLicenseResponse { + optional uint32 eresult = 1 [default = 2]; + repeated uint32 granted_packageids = 2; + repeated uint32 granted_appids = 3; +} + +message CMsgClientRequestFriendData { + optional uint32 persona_state_requested = 1; + repeated fixed64 friends = 2; +} + +message CMsgClientRequestItemAnnouncements { +} + +message CMsgClientRequestOfflineMessageCount { +} + +message CMsgClientRequestWebAPIAuthenticateUserNonce { + optional int32 token_type = 1 [default = -1]; +} + +message CMsgClientRequestWebAPIAuthenticateUserNonceResponse { + optional int32 eresult = 1 [default = 2]; + optional int32 token_type = 3 [default = -1]; + optional string webapi_authenticate_user_nonce = 11; +} + +message CMsgClientRichPresenceInfo { + repeated CMsgClientRichPresenceInfo_RichPresence rich_presence = 1; +} + +// Used by: common.proto +message CMsgClientRichPresenceInfo_KV { + optional string key = 1; + optional string value = 2; +} + +// Used by: common.proto +message CMsgClientRichPresenceInfo_RichPresence { + optional fixed64 steamid_user = 1; + repeated CMsgClientRichPresenceInfo_KV rich_presense = 3; +} + +message CMsgClientRichPresenceRequest { + repeated fixed64 steamid_request = 1; +} + +message CMsgClientRichPresenceUpload { + optional bytes rich_presence_kv = 1; + repeated fixed64 steamid_broadcast = 2; +} + +// Used by: common.proto +message CMsgClientSecret { + optional uint32 version = 1; + optional uint32 appid = 2; + optional uint32 deviceid = 3; + optional fixed64 nonce = 4; + optional bytes hmac = 5; +} + +message CMsgClientSentLogs { +} + +message CMsgClientServersAvailable { + repeated CMsgClientServersAvailable_Server_Types_Available server_types_available = 1; + optional uint32 server_type_for_auth_services = 2; +} + +// Used by: common.proto +message CMsgClientServersAvailable_Server_Types_Available { + optional uint32 server = 1; + optional bool changed = 2; +} + +message CMsgClientServerTimestampRequest { + optional uint64 client_request_timestamp = 1; +} + +message CMsgClientServerTimestampResponse { + optional uint64 client_request_timestamp = 1; + optional uint64 server_timestamp_ms = 2; +} + +message CMsgClientServiceCall { + optional bytes sysid_routing = 1; + optional uint32 call_handle = 2; + optional uint32 module_crc = 3; + optional bytes module_hash = 4; + optional uint32 function_id = 5; + optional uint32 cub_output_max = 6; + optional uint32 flags = 7; + optional bytes callparameter = 8; + optional bool ping_only = 9; + optional uint32 max_outstanding_calls = 10; + optional uint32 app_id = 11; +} + +message CMsgClientServiceCallResponse { + optional bytes sysid_routing = 1; + optional uint32 call_handle = 2; + optional uint32 module_crc = 3; + optional bytes module_hash = 4; + optional uint32 ecallresult = 5; + optional bytes result_content = 6; + optional bytes os_version_info = 7; + optional bytes system_info = 8; + optional fixed64 load_address = 9; + optional bytes exception_record = 10; + optional bytes portable_os_version_info = 11; + optional bytes portable_system_info = 12; + optional bool was_converted = 13; + optional uint32 internal_result = 14; + optional uint32 current_count = 15; + optional uint32 last_call_handle = 16; + optional uint32 last_call_module_crc = 17; + optional bytes last_call_sysid_routing = 18; + optional uint32 last_ecallresult = 19; + optional uint32 last_callissue_delta = 20; + optional uint32 last_callcomplete_delta = 21; +} + +message CMsgClientServiceMethodLegacy { + optional string method_name = 1; + optional bytes serialized_method = 2; + optional bool is_notification = 3; +} + +message CMsgClientServiceMethodLegacyResponse { + optional string method_name = 1; + optional bytes serialized_method_response = 2; +} + +message CMsgClientServiceModule { + optional uint32 module_crc = 1; + optional bytes module_hash = 2; + optional bytes module_content = 3; +} + +message CMsgClientSessionToken { + optional uint64 token = 1; +} + +message CMsgClientSetPlayerNickname { + optional fixed64 steamid = 1; + optional string nickname = 2; +} + +message CMsgClientSetPlayerNicknameResponse { + optional uint32 eresult = 1; +} + +message CMsgClientSettings { + optional bool no_save_personal_info = 1; + optional string preferred_monitor = 5; + optional bool steam_cef_gpu_blocklist_disabled = 6; + optional bool bigpicture_windowed = 7; + optional string display_name = 8; + optional bool is_external_display = 9; + optional float steam_os_underscan_level = 10; + optional bool steam_os_underscan_enabled = 11; + optional float min_scale_factor = 12; + optional float max_scale_factor = 13; + optional float auto_scale_factor = 14; + optional bool small_mode = 16; + optional bool skip_steamvr_install_dialog = 19; + optional bool always_show_user_chooser = 20; + optional bool os_version_unsupported = 21; + optional bool show_family_sharing_notifications = 3000; + optional bool show_copy_count_in_library = 3001; + optional int32 overlay_fps_counter_corner = 4000; + optional bool overlay_fps_counter_high_contrast = 4001; + optional CMsgHotkey overlay_key = 4002; + optional CMsgHotkey screenshot_key = 4003; + optional bool enable_overlay = 4004; + optional bool enable_screenshot_notification = 4006; + optional bool enable_screenshot_sound = 4007; + optional bool save_uncompressed_screenshots = 4008; + optional string screenshots_path = 4009; + optional int32 default_ping_rate = 4010; + optional int32 server_ping_rate = 4011; + optional int32 steam_networking_share_ip = 4012; + optional string web_browser_home = 4013; + optional string voice_mic_device_name = 4014; + optional float voice_mic_input_gain = 4015; + optional float voice_speaker_output_gain = 4016; + optional int32 voice_push_to_talk_setting = 4017; + optional CMsgHotkey voice_push_to_talk_key = 4018; + optional bool overlay_toolbar_list_view = 4019; + optional bool always_use_gamepadui_overlay = 4020; + optional string overlay_tabs = 4021; + optional bool overlay_scale_interface = 4022; + optional bool overlay_restore_browser_tabs = 4023; + optional bool enable_avif_screenshots = 4024; + optional int32 overlay_fps_counter_detail_level = 4025; + optional float overlay_fps_counter_saturation_factor = 4026; + optional float overlay_fps_counter_bgopacity = 4027; + optional float overlay_fps_counter_scale_factor = 4028; + optional CMsgHotkey overlay_fps_counter_key = 4029; + optional bool overlay_fps_counter_fps_graph = 4030; + optional bool overlay_fps_counter_cpu_graph = 4031; + optional bool overlay_fps_counter_allow_km_driver = 4032; + optional bool achievement_notification_toast = 4033; + optional bool achievement_notification_sound = 4034; + optional bool controllerconnect_notification_toast = 4035; + optional bool controllerconnect_notification_sound = 4036; + optional bool controller_low_battery_notification_toast = 4037; + optional bool controller_low_battery_notification_sound = 4038; + optional bool logged_in_as_user_notification_toast = 4039; + optional bool logged_in_as_user_notification_sound = 4040; + optional bool smooth_scroll_webviews = 5000; + optional bool enable_gpu_accelerated_webviews = 5001; + optional bool enable_hardware_video_decoding = 5003; + optional bool run_at_startup = 5004; + optional bool enable_dpi_scaling = 5005; + optional bool enable_marketing_messages = 5006; + optional bool start_in_big_picture_mode = 5007; + optional uint32 jumplist_flags = 5008; + optional bool enable_ui_sounds = 5009; + optional bool enable_gamescope_composer = 5010; + optional bool enable_gamescope_composer_vr = 5011; + optional bool show_switch_to_desktop_at_login = 5012; + optional bool disable_all_toasts = 6000; + optional bool disable_toasts_in_game = 6001; + optional bool play_sound_on_toast = 6002; + optional int32 library_display_size = 7000; + optional bool library_whats_new_show_only_product_updates = 7001; + optional bool show_store_content_on_home = 7002; + optional string start_page = 7003; + optional bool library_low_bandwidth_mode = 7004; + optional bool library_low_perf_mode = 7005; + optional bool library_disable_community_content = 7006; + optional bool library_display_icon_in_game_list = 7007; + optional bool ready_to_play_includes_streaming = 7008; + optional bool show_steam_deck_info = 7009; + optional bool library_home_big_art = 7010; + optional bool enable_shader_precache = 8000; + optional bool enable_shader_background_processing = 8001; + optional uint64 shader_precached_size = 8002; + optional bool needs_steam_service_repair = 8003; + optional int32 download_peer_content = 8004; + optional bool download_rate_bits_per_s = 8005; + optional bool restrict_auto_updates = 8006; + optional int32 restrict_auto_updates_start = 8007; + optional int32 restrict_auto_updates_end = 8008; + optional int32 download_region = 8009; + optional bool download_while_app_running = 8010; + optional bool download_throttle_while_streaming = 8011; + optional int32 download_throttle_rate = 8012; + optional int32 default_app_update_behavior = 8013; + optional bool cloud_enabled = 10000; + optional bool show_screenshot_manager = 10001; + optional int32 music_volume = 11000; + optional bool music_pause_on_app_start = 11001; + optional bool music_pause_on_voice_chat = 11002; + optional bool music_download_high_quality = 11003; + optional int32 broadcast_permissions = 12000 [(webui.description) = "enum"]; + optional int32 broadcast_output_width = 12001; + optional int32 broadcast_output_height = 12002; + optional int32 broadcast_bitrate = 12003; + optional int32 broadcast_encoding_option = 12004 [(webui.description) = "enum"]; + optional bool broadcast_record_all_video = 12005; + optional bool broadcast_record_all_audio = 12006; + optional bool broadcast_record_microphone = 12007; + optional bool broadcast_show_upload_stats = 12008; + optional bool broadcast_show_live_reminder = 12009; + optional int32 broadcast_chat_corner = 12010; + optional bool gamestream_hardware_video_encode = 13000; + optional bool gamestream_enable_video_h265 = 13001; + optional bool steam_input_configurator_error_msg_enable = 14001; + optional bool controller_guide_button_focus_steam = 14002; + optional int32 controller_ps_support = 14003; + optional bool controller_xbox_support = 14004; + optional bool controller_xbox_driver = 14005; + optional bool controller_switch_support = 14006; + optional bool controller_generic_support = 14007; + optional int32 controller_power_off_timeout = 14008; + optional bool turn_off_controller_on_exit = 14009; + optional bool controller_combine_nintendo_joycons = 14010; + optional uint64 startup_movie_id = 16000; + optional string startup_movie_local_path = 16001; + optional bool startup_movie_shuffle = 16002; + optional bool startup_movie_used_for_resume = 16003; + optional string screensaver_current_id = 16004; + optional string screensaver_settings = 16005; + optional bool screensaver_while_ingame = 16006; + optional bool game_notes_enable_spellcheck = 17001; + optional int32 screenshot_items_per_row = 18000; + optional string gamerecording_background_path = 18201; + optional string gamerecording_background_max_keep = 18202; + optional int32 gamerecording_background_time_resolution = 18203; + optional CMsgHotkey gamerecording_background_mk = 18207; + optional CMsgHotkey gamerecording_background_tg = 18208; + optional bool gamerecording_background_a_m = 18209; + optional string gamerecording_video_bitrate = 18210; + optional int32 gamerecording_background_mode = 18212 [(webui.description) = "enum"]; + optional int32 gamerecording_background_audio = 18213 [(webui.description) = "enum"]; + optional int32 gamerecording_max_fps = 18214; + optional CMsgHotkey gamerecording_hotkey_ic = 18215; + optional float gamerecording_ic_seconds = 18216; + optional int32 gamerecording_export_limit_type = 18217 [(webui.description) = "enum"]; + optional int32 gamerecording_export_limit_size_mb = 18218; + optional int32 gamerecording_export_limit_bitrate = 18219; + optional int32 gamerecording_export_limit_width = 18220; + optional int32 gamerecording_export_limit_height = 18221; + optional int32 gamerecording_export_limit_frame_rate = 18222; + optional string gamerecording_export_directory = 18223; + optional int32 gamerecording_export_codec = 18224 [(webui.description) = "enum"]; + optional int32 gamerecording_video_maxheight = 18225; + optional bool gamerecording_force_mic_mono = 18226; + optional bool gamerecording_automatic_gain_control = 18227; + optional bool show_timestamps_in_console = 20000; + optional int32 override_browser_composer_mode = 20002; + optional bool cef_remote_debugging_enabled = 20003; + optional bool force_deck_perf_tab = 20004; + optional bool force_fake_mandatory_update = 20005; + optional bool hdr_compat_testing = 20006; + optional bool developer_mode_enabled = 20007; + optional bool show_advanced_update_channels = 20008; + optional bool browserview_underlays_allowed = 20009; + optional int32 gamescope_hdr_visualization = 21001 [(webui.description) = "enum"]; + optional int32 gamescope_app_target_framerate = 21002; + optional bool gamescope_enable_app_target_framerate = 21003; + optional bool gamescope_disable_framelimit = 21004; + optional int32 gamescope_display_refresh_rate = 21005; + optional bool gamescope_use_game_refresh_rate_in_steam = 21006; + optional bool gamescope_disable_mura_correction = 21007; + optional bool gamescope_include_steamui_in_screenshots = 21008; + optional bool gamescope_allow_tearing = 21009; + optional bool gamescope_composite_debug = 21010; + optional bool gamescope_force_composite = 21011; + optional string gamescope_game_resolution_global = 21012; + optional CMsgHotkey gamescope_guide_hotkey = 21013; + optional CMsgHotkey gamescope_qam_hotkey = 21014; + optional bool gamescope_hdr_enabled = 21015; + optional bool gamescope_native_external_res_in_steam = 21016; + optional int32 steamos_status_led_brightness = 22000; + optional bool steamos_tdp_limit_enabled = 22001; + optional int32 steamos_tdp_limit = 22002; + optional bool steamos_cec_enabled = 22003; + optional bool steamos_cec_wake_on_resume = 22004; + optional bool steamos_wifi_debug = 22005; + optional bool steamos_wifi_force_wpa_supplicant = 22006; + optional int32 steamos_magnifier_scale = 22007; + optional bool steamos_manual_gpu_clock_enabled = 22008; + optional int32 steamos_manual_gpu_clock_hz = 22009; + optional string steamos_platform_performance_profile = 22010; + optional bool steamos_charge_limit_enabled = 22011; + optional int32 steamos_charge_limit = 22012; + optional bool steamos_charge_limit_devmode = 22013; + optional bool steamos_system_tracing_enabled = 22014; + optional bool steamos_vrs_enabled = 22015; + optional bool steamos_separate_led_colors = 22016; + optional bool steamos_wifi_reload_wifi_driver_on_sleep = 22017; + optional bool steamos_cec_control = 22019; + optional bool steamos_cec_suspend_tv = 22020; + optional bool steamos_cec_suspend_device = 22021; + optional bool steamos_cec_wake_tv = 22022; + optional bool steamos_cec_wake_device = 22023; + optional bool steamos_ec_logging_enabled = 22024; + optional bool setting_validation_bool = 23001; + optional int32 setting_validation_enum = 23002 [(webui.description) = "enum"]; + optional int32 setting_validation_int32 = 23003; + optional uint32 setting_validation_uint32 = 23004; + optional uint64 setting_validation_uint64 = 23005; + optional float setting_validation_float = 23006; + optional string setting_validation_string = 23007; + optional CMsgHotkey setting_validation_hotkey = 23008; + optional bool system_bluetooth_enabled = 24000; + optional bool hardware_updater_enabled = 24001; + optional int32 system_idle_suspend_battery_sec = 24003; + optional int32 system_idle_suspend_ac_sec = 24004; + optional bool system_enable_low_power_downloads = 24005; + optional bool system_allow_battery_low_power_downloads = 24006; + optional int32 system_idle_screensaver_battery_sec = 24008; + optional int32 system_idle_screensaver_ac_sec = 24009; + optional bool vr_show_perf_graph_in_hmd = 25000; + optional bool accessibility_debug_visualizer = 26000; + optional bool accessibility_screen_reader_enabled = 26001; + optional float accessibility_screen_reader_rate = 26002; + optional float accessibility_screen_reader_pitch = 26003; + optional float accessibility_screen_reader_volume = 26004; + optional bool accessibility_high_contrast_mode = 26005; + optional bool accessibility_reduce_motion = 26006; + optional uint32 accessibility_minimum_font_size = 26008; + optional string accessibility_color_filter_name = 26009; + optional float accessibility_desktop_ui_scale = 26010; + optional string accessibility_screen_reader_locale = 26011; + optional bool accessibility_mono_audio = 26012; + optional bool remote_play_wifi_ap_enabled = 27000; + optional int32 remote_play_wifi_ap_channel_5ghz = 27001; + optional int32 remote_play_wifi_ap_channel_6ghz = 27002; + optional int32 remote_play_wifi_ap_channel_width = 27003; + optional bool remote_play_wifi_ap_hotspot_mode = 27004; + optional string remote_play_wifi_ap_hotspot_ssid = 27005; + optional string remote_play_wifi_ap_hotspot_password = 27006; + optional string remote_play_wifi_ap_hotspot_routing = 27007; + optional bool remote_play_wifi_ap_show_advanced = 27008; + optional string remote_play_wifi_ap_paired_ssid = 27009; + optional bool skip_steamframe_pairing_dialog = 27010; + optional bool skip_steamframe_troubleshooting_dialog = 27011; + optional bool skip_steamframe_airplane_dialog = 27012; + optional bool oobe_completed = 28001; + optional bool oobe_test_mode_enabled = 28002; + optional bool force_oobe = 28003; + optional bool oobe_stage_2_completed = 28004; + optional bool oobe_stage_2_test_mode_enabled = 28005; optional bool force_stage_2_oobe = 28006; + optional bool compat_show_all_tools = 29000; optional bool controller_enable_chord = 140011; optional bool controller_poll_rate = 140012; optional bool controller_siapi_config_author_mode = 140013; @@ -1485,1059 +2765,3080 @@ message CMsgClientSettings { optional bool steamos_wifi_power_management_enabled = 220018; } -message CMsgCloudPendingRemoteOperations { - repeated CCloud_PendingRemoteOperation operations = 1; +message CMsgClientShaderHitCache { + repeated CMsgClientShaderHitCacheEntry entries = 1; +} + +// Used by: common.proto +message CMsgClientShaderHitCacheEntry { + optional bytes key_sha = 1; + optional bytes code_sha = 2; + optional uint64 time_last_reported = 3; +} + +message CMsgClientSharedLibraryLockStatus { + repeated CMsgClientSharedLibraryLockStatus_LockedLibrary locked_library = 1; + optional uint32 own_library_locked_by = 2; +} + +// Used by: common.proto +message CMsgClientSharedLibraryLockStatus_LockedLibrary { + optional uint32 owner_id = 1; + optional uint32 locked_by = 2; +} + +message CMsgClientSharedLibraryStopPlaying { + optional int32 seconds_left = 1; + repeated CMsgClientSharedLibraryStopPlaying_StopApp stop_apps = 2; +} + +// Used by: common.proto +message CMsgClientSharedLibraryStopPlaying_StopApp { + optional uint32 app_id = 1; + optional uint32 owner_id = 2; +} + +message CMsgClientStartPeerContentServer { + optional fixed64 steamid = 1; + optional fixed64 client_remote_id = 2; + optional uint32 app_id = 3; + optional uint32 current_build_id = 4; +} + +message CMsgClientStartPeerContentServerResponse { + optional uint32 result = 1; + optional uint32 server_port = 2; + repeated uint32 installed_depots = 3; + optional uint64 access_token = 4; +} + +message CMsgClientStat2 { + repeated CMsgClientStat2_StatDetail stat_detail = 1; +} + +// Used by: common.proto +message CMsgClientStat2_StatDetail { + optional uint32 client_stat = 1; + optional int64 ll_value = 2; + optional uint32 time_of_day = 3; + optional uint32 cell_id = 4; + optional uint32 depot_id = 5; + optional uint32 app_id = 6; +} + +message CMsgClientTicketAuthComplete { + optional fixed64 steam_id = 1; + optional fixed64 game_id = 2; + optional uint32 estate = 3; + optional uint32 eauth_session_response = 4; + optional bytes DEPRECATED_ticket = 5; + optional uint32 ticket_crc = 6; + optional uint32 ticket_sequence = 7; + optional fixed64 owner_steam_id = 8; +} + +message CMsgClientUGSGetGlobalStats { + optional uint64 gameid = 1; + optional uint32 history_days_requested = 2; + optional fixed32 time_last_requested = 3; + optional uint32 first_day_cached = 4; + optional uint32 days_cached = 5; +} + +message CMsgClientUGSGetGlobalStatsResponse { + optional int32 eresult = 1 [default = 2]; + optional fixed32 timestamp = 2; + optional int32 day_current = 3; + repeated CMsgClientUGSGetGlobalStatsResponse_Day days = 4; +} + +// Used by: common.proto +message CMsgClientUGSGetGlobalStatsResponse_Day { + optional uint32 day_id = 1; + repeated CMsgClientUGSGetGlobalStatsResponse_Day_Stat stats = 2; +} + +// Used by: common.proto +message CMsgClientUGSGetGlobalStatsResponse_Day_Stat { + optional int32 stat_id = 1; + optional int64 data = 2; +} + +message CMsgClientUIMode { + optional uint32 uimode = 1; + optional uint32 chat_mode = 2; +} + +message CMsgClientUpdateUserGameInfo { + optional fixed64 steamid_idgs = 1; + optional fixed64 gameid = 2; + optional uint32 game_ip = 3; + optional uint32 game_port = 4; + optional bytes token = 5; +} + +message CMsgClientUseLocalDeviceAuthorizations { + repeated uint32 authorization_account_id = 1; + repeated CMsgClientUseLocalDeviceAuthorizations_DeviceToken device_tokens = 2; +} + +// Used by: common.proto +message CMsgClientUseLocalDeviceAuthorizations_DeviceToken { + optional uint32 owner_account_id = 1; + optional uint64 token_id = 2; +} + +message CMsgClientUserNotifications { + repeated CMsgClientUserNotifications_Notification notifications = 1; +} + +// Used by: common.proto +message CMsgClientUserNotifications_Notification { + optional uint32 user_notification_type = 1; + optional uint32 count = 2; +} + +message CMsgClientVanityURLChangedNotification { + optional string vanity_url = 1; +} + +message CMsgClientVoiceCallPreAuthorize { + optional fixed64 caller_steamid = 1; + optional fixed64 receiver_steamid = 2; + optional int32 caller_id = 3; + optional bool hangup = 4; +} + +message CMsgClientVoiceCallPreAuthorizeResponse { + optional fixed64 caller_steamid = 1; + optional fixed64 receiver_steamid = 2; + optional int32 eresult = 3 [default = 2]; + optional int32 caller_id = 4; +} + +message CMsgClientWalletInfoUpdate { + optional bool has_wallet = 1; + optional int32 balance = 2; + optional int32 currency = 3; + optional int32 balance_delayed = 4; + optional int64 balance64 = 5; + optional int64 balance64_delayed = 6; + optional int32 realm = 7; +} + +message CMsgCloudPendingRemoteOperations { + repeated CCloud_PendingRemoteOperation operations = 1; +} + +// Used by: common.proto +message CMsgControllerActionSetMiscSettings { + optional string cursor_visible_action_set_key = 1; + optional string cursor_hidden_action_set_key = 2; +} + +message CMsgControllerConfiguration { + optional uint32 binding_handle = 1; + optional string display_name = 2; + optional string description = 3; + optional string creator = 4; + optional int32 controller_type = 5; + optional int32 controller_style = 7; + repeated CMsgGameActionSet sets = 8; + repeated CMsgControllerMode modes = 9; + optional string error_msg = 10; + optional string action_block_path = 11; + optional CMsgControllerActionSetMiscSettings misc_action_set_settings = 12; + optional string url = 13; + optional int32 selection_type = 14; +} + +// Used by: common.proto +message CMsgControllerInput { + optional int32 key = 1 [(webui.description) = "enum"]; + repeated CMsgControllerInputActivator activators = 2; + repeated CMsgControllerInputActivator disabled_activators = 3; + optional bool inherited_from_parentset = 4; +} + +// Used by: common.proto +message CMsgControllerInputActivator { + optional int32 activation = 1 [(webui.description) = "enum"]; + repeated CMsgControllerInputBinding bindings = 2; + repeated CMsgControllerSetting settings = 3; +} + +// Used by: common.proto +message CMsgControllerInputBinding { + optional int32 type = 1; + optional CMsgControllerInputBinding_KeyBindingData key_binding_data = 2; + optional CMsgControllerInputKeyBinding keyboard_key = 3; + optional CMsgControllerInputMouseButtonBinding mouse_button = 4; + optional CMsgControllerInputGamepadButtonBinding gamepad_button = 5; + optional CMsgControllerInputMouseWheelBinding mouse_wheel = 6; + optional CMsgControllerInputModeShiftBinding mode_shift = 7; + optional CMsgControllerInputGameActionBinding game_action = 8; + optional CMsgControllerInputControllerActionBinding controller_action = 9; +} + +// Used by: common.proto +message CMsgControllerInputBinding_IconBindingData { + optional string icon_filename = 1; + optional string color_foreground = 2; + optional string color_background = 3; + optional string icon_url = 4; +} + +// Used by: common.proto +message CMsgControllerInputBinding_KeyBindingData { + optional string keys_bound_utf8 = 1; + optional string friendly_name_utf8 = 2; + optional CMsgControllerInputBinding_IconBindingData icon_data = 3; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionBinding { + optional int32 action = 1 [(webui.description) = "enum"]; + optional CMsgControllerInputControllerActionMouseBinding mouse = 2; + optional CMsgControllerInputControllerActionCameraHorizonReset camera_horizon_reset = 3; + optional CMsgControllerInputControllerActionDotsPer360CalibrationSpin dots_per_360_calibration_spin = 4; + optional CMsgControllerInputControllerActionTurnToFaceDirection turn_to_face_direction = 5; + optional CMsgControllerInputControllerActionGameActionSetBinding action_set = 6; + optional CMsgControllerInputControllerActionLEDColorBinding led_color = 7; + optional CMsgControllerInputControllerActionChangePlayerNumberBinding change_player_number = 8; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionCameraHorizonReset { + optional int32 camera_dip_angle = 1; + optional int32 delay_duration = 2; + optional int32 camera_horizon_reset_angle = 3; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionChangePlayerNumberBinding { + optional int32 player_number = 1; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionDotsPer360CalibrationSpin { + optional int32 spin_by_amount = 1; + optional int32 spin_duration = 2; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionGameActionSetBinding { + optional int32 preset_type = 1 [(webui.description) = "enum"]; + optional string action_set_key = 2; + optional bool display = 3; + optional bool beep = 4; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionLEDColorBinding { + optional int32 setting = 1 [(webui.description) = "enum"]; + optional int32 brightness = 2; + optional int32 saturation = 3; + optional int32 color_r = 4; + optional int32 color_g = 5; + optional int32 color_b = 6; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionMouseBinding { + optional sint32 x = 1; + optional sint32 y = 2; + optional bool restore = 3; +} + +// Used by: common.proto +message CMsgControllerInputControllerActionTurnToFaceDirection { + optional int32 source_of_direction = 1; + optional int32 turn_duration = 2; + optional bool use_last_direction_if_deadzoned = 3; +} + +// Used by: common.proto +message CMsgControllerInputGameActionBinding { + optional string action_set_key = 1; + optional string action_key = 2; +} + +// Used by: common.proto +message CMsgControllerInputGamepadButtonBinding { + optional int32 button = 1 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgControllerInputKeyBinding { + optional int32 key = 1 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgControllerInputModeShiftBinding { + optional int32 source = 1 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgControllerInputMouseButtonBinding { + optional int32 button = 1 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgControllerInputMouseWheelBinding { + optional int32 button = 1 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgControllerMode { + optional int32 mode = 1 [(webui.description) = "enum"]; + optional uint32 modeid = 2; + optional string description = 3; + repeated CMsgControllerInput inputs = 4; + repeated CMsgControllerSetting settings = 5; + optional string friendlyname = 6; + optional int32 source = 7 [(webui.description) = "enum"]; + optional CMsgControllerVirtualMenuPreviewInfo virtual_menu_info = 8; + optional bool mode_shift = 9; + optional uint32 reference_modeid = 10; + repeated int32 mode_shift_buttons = 11 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgControllerSetting { + optional int32 key = 1 [(webui.description) = "enum"]; + optional sint32 int_value = 2; + optional sint32 int_min = 3; + optional sint32 int_max = 4; + optional sint32 int_default = 5; + optional CMsgControllerSetting parentset_setting = 6; + optional sint64 long_value = 7; +} + +// Used by: common.proto +message CMsgControllerSourceGroup { + optional int32 mode = 1 [(webui.description) = "enum"]; + optional CMsgControllerInputGameActionBinding game_action = 2; + repeated CMsgControllerInput inputs = 3; + repeated CMsgControllerSetting settings = 4; + optional uint32 modeid = 5; + optional bool mode_shift = 6; + optional CMsgControllerSourceGroup mode_shift_source_group = 7; +} + +// Used by: common.proto +message CMsgControllerSources { + optional int32 key = 1 [(webui.description) = "enum"]; + optional CMsgControllerSourceGroup active_group = 2; +} + +// Used by: common.proto +message CMsgControllerVirtualMenuPreviewInfo { + optional int32 source = 1 [(webui.description) = "enum"]; + optional float x_pos = 2; + optional float y_pos = 3; + optional float opacity = 4; + optional float scale = 5; + optional bool show_labels = 6; + optional uint32 menu_style = 7; + optional bool force_on = 8; + repeated CVirtualMenuKey keys = 9; +} + +message CMsgCREGetUserPublishedItemVoteDetails { + repeated CMsgCREGetUserPublishedItemVoteDetails_PublishedFileId published_file_ids = 1; +} + +// Used by: common.proto +message CMsgCREGetUserPublishedItemVoteDetails_PublishedFileId { + optional fixed64 published_file_id = 1; +} + +message CMsgCREGetUserPublishedItemVoteDetailsResponse { + optional int32 eresult = 1 [default = 2]; + repeated CMsgCREGetUserPublishedItemVoteDetailsResponse_UserItemVoteDetail user_item_vote_details = 2; +} + +// Used by: common.proto +message CMsgCREGetUserPublishedItemVoteDetailsResponse_UserItemVoteDetail { + optional fixed64 published_file_id = 1; + optional int32 vote = 2 [default = 0]; +} + +message CMsgCREItemVoteSummary { + repeated CMsgCREItemVoteSummary_PublishedFileId published_file_ids = 1; +} + +// Used by: common.proto +message CMsgCREItemVoteSummary_PublishedFileId { + optional fixed64 published_file_id = 1; +} + +message CMsgCREItemVoteSummaryResponse { + optional int32 eresult = 1 [default = 2]; + repeated CMsgCREItemVoteSummaryResponse_ItemVoteSummary item_vote_summaries = 2; +} + +// Used by: common.proto +message CMsgCREItemVoteSummaryResponse_ItemVoteSummary { + optional fixed64 published_file_id = 1; + optional int32 votes_for = 2; + optional int32 votes_against = 3; + optional int32 reports = 4; + optional float score = 5; +} + +message CMsgCREUpdateUserPublishedItemVote { + optional fixed64 published_file_id = 1; + optional bool vote_up = 2; +} + +message CMsgCREUpdateUserPublishedItemVoteResponse { + optional int32 eresult = 1 [default = 2]; +} + +message CMsgDPGetNumberOfCurrentPlayers { + optional uint32 appid = 1; +} + +message CMsgDPGetNumberOfCurrentPlayersResponse { + optional int32 eresult = 1 [default = 2]; + optional int32 player_count = 2; +} + +message CMsgDRMDownloadRequestWithCrashData { + optional uint32 download_flags = 1; + optional uint32 download_types_known = 2; + optional bytes guid_drm = 3; + optional bytes guid_split = 4; + optional bytes guid_merge = 5; + optional string module_name = 6; + optional string module_path = 7; + optional bytes crash_data = 8; +} + +message CMsgDRMDownloadResponse { + optional uint32 eresult = 1 [default = 2]; + optional uint32 app_id = 2; + optional uint32 blob_download_type = 3; + optional bytes merge_guid = 4; + optional uint32 download_file_dfs_ip = 5; + optional uint32 download_file_dfs_port = 6; + optional string download_file_url = 7; + optional string module_path = 8; +} + +message CMsgDRMFinalResult { + optional uint32 eResult = 1 [default = 2]; + optional uint32 app_id = 2; + optional uint32 blob_download_type = 3; + optional uint32 error_detail = 4; + optional bytes merge_guid = 5; + optional uint32 download_file_dfs_ip = 6; + optional uint32 download_file_dfs_port = 7; + optional string download_file_url = 8; +} + +message CMsgDuplicateControllerSourceMode { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 source_binding_key = 3 [(webui.description) = "enum"]; + optional uint32 existing_modeid = 5; + optional string new_name = 6; +} + +message CMsgFSEnumerateFollowingList { + optional uint32 start_index = 1; +} + +message CMsgFSEnumerateFollowingListResponse { + optional int32 eresult = 1 [default = 2]; + optional int32 total_results = 2; + repeated fixed64 steam_ids = 3; +} + +message CMsgFSGetFollowerCount { + optional fixed64 steam_id = 1; +} + +message CMsgFSGetFollowerCountResponse { + optional int32 eresult = 1 [default = 2]; + optional int32 count = 2 [default = 0]; +} + +message CMsgFSGetIsFollowing { + optional fixed64 steam_id = 1; +} + +message CMsgFSGetIsFollowingResponse { + optional int32 eresult = 1 [default = 2]; + optional bool is_following = 2 [default = false]; +} + +// Used by: common.proto +message CMsgFunctionalCurve { + optional int32 type = 1 [(webui.description) = "enum"]; + optional CMsgLinearCurve linear = 2; + optional CMsgPowerCurve power = 3; + optional CMsgSigmoidalCurve sigmoidal = 4; + optional CMsgBezierCurve bezier = 5; + optional CMsgLinearListCurve linear_list = 6; +} + +// Used by: common.proto +message CMsgGameAction { + optional string key = 1; + optional string display_name = 2; + repeated int32 modes = 3 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgGameActionBindingType { + optional int32 key = 1 [(webui.description) = "enum"]; + repeated CMsgGameAction actions = 2; +} + +// Used by: common.proto +message CMsgGameActionSet { + optional string key = 1; + optional string display_name = 2; + optional bool legacy_set = 3; + repeated CMsgGameActionSet layers = 4; + repeated CMsgGameActionBindingType action_binding_types = 5; + repeated CMsgControllerSources source_bindings = 6; + optional bool has_inactive_mouse_mode = 7; +} + +message CMsgGameServerPolicyUpdate { + optional uint32 app_id = 1; + optional uint32 app_id_aux = 2; +} + +message CMsgGCClient { + optional uint32 appid = 1; + optional uint32 msgtype = 2; + optional bytes payload = 3; + optional fixed64 steamid = 4; + optional string gcname = 5; + optional uint32 ip = 6; + optional uint32 flags = 7; +} + +// Used by: common.proto +message CMsgGCRoutingProtoBufHeader { + optional uint64 dst_gcid_queue = 1; + optional uint32 dst_gc_dir_index = 2; +} + +message CMsgGenerateSystemReportReply { + optional string report_id = 1; +} + +message CMsgGSApprove { + optional fixed64 steam_id = 1; + optional fixed64 owner_steam_id = 2; +} + +message CMsgGSDeny { + optional fixed64 steam_id = 1; + optional int32 edeny_reason = 2; + optional string deny_string = 3; +} + +message CMsgGSKick { + optional fixed64 steam_id = 1; + optional int32 edeny_reason = 2; +} + +// Used by: common.proto +message CMsgHotkey { + optional uint32 key_code = 1; + optional bool alt_key = 2; + optional bool shift_key = 3; + optional bool ctrl_key = 4; + optional bool meta_key = 5; + optional string display_name = 6; +} + +// Used by: common.proto +message CMsgICECandidate { + optional string candidate = 3; +} + +// Used by: common.proto +message CMsgICERendezvous { + optional CMsgICECandidate add_candidate = 1; + optional CMsgICERendezvous_Auth auth = 2; +} + +// Used by: common.proto +message CMsgICERendezvous_Auth { + optional string pwd_frag = 1; +} + +// Used by: Authentication, AuthenticationSupport, Community, common.proto +message CMsgIPAddress { + optional fixed32 v4 = 1; + optional bytes v6 = 2; +} + +message CMsgIPAddressBucket { + optional CMsgIPAddress original_ip_address = 1; + optional fixed64 bucket = 2; +} + +// Used by: common.proto +message CMsgKeyValuePair { + optional string name = 1; + optional string value = 2; +} + +message CMsgKeyValueSet { + repeated CMsgKeyValuePair pairs = 1; +} + +message CMsgKubeRPCPacket { + optional CMsgKubeRPCPacket_Hdr hdr = 1; + optional bytes payload = 2; +} + +// Used by: common.proto +message CMsgKubeRPCPacket_Hdr { + optional fixed64 jobid_source = 10 [default = 18446744073709551615]; + optional fixed64 jobid_target = 11 [default = 18446744073709551615]; + optional string target_job_name = 12; + optional int32 eresult = 13 [default = 2]; + optional string error_message = 14; + optional string reply_address = 42; +} + +// Used by: common.proto +message CMsgLinearCurve { + optional Vector2 start = 1; + optional Vector2 end = 2; +} + +// Used by: common.proto +message CMsgLinearListCurve { + repeated Vector2 points = 1; +} + +message CMsgMonitorInfo { + optional string selected_device_name = 1; + repeated CMsgMonitorInfo_MonitorInfo monitors = 2; +} + +// Used by: common.proto +message CMsgMonitorInfo_MonitorInfo { + optional string monitor_device_name = 1; + optional string monitor_display_name = 2; +} + +message CMsgMulti { + optional uint32 size_unzipped = 1; + optional bytes message_body = 2; +} + +message CMsgNetworkDeviceConnect { + optional uint32 device_id = 1 [default = 0]; + optional CMsgNetworkDeviceConnect_KnownAP ap_known = 2; + optional CMsgNetworkDeviceConnect_CustomAP ap_custom = 3; + optional CMsgNetworkDeviceConnect_Credentials credentials = 4; + optional CMsgNetworkDeviceIP4Config ip4 = 5; + optional CMsgNetworkDeviceIP6Config ip6 = 6; + optional CMsgNetworkDeviceConnect_Wireless wireless = 7; +} + +// Used by: common.proto +message CMsgNetworkDeviceConnect_Credentials { + optional string username = 1; + optional string password = 2; +} + +// Used by: common.proto +message CMsgNetworkDeviceConnect_CustomAP { + optional string ssid = 1; + optional int32 esecurity = 2; +} + +// Used by: common.proto +message CMsgNetworkDeviceConnect_KnownAP { + optional uint32 ap_id = 1; +} + +// Used by: common.proto +message CMsgNetworkDeviceConnect_Wireless { + optional string band_filter = 1; +} + +// Used by: common.proto +message CMsgNetworkDeviceIP4Address { + optional int32 ip = 1 [default = 0]; + optional int32 netmask = 2; +} + +// Used by: common.proto +message CMsgNetworkDeviceIP4Config { + repeated CMsgNetworkDeviceIP4Address addresses = 1; + repeated int32 dns_ip = 2; + optional int32 gateway_ip = 3; + optional bool is_dhcp_enabled = 4; + optional bool is_default_route = 5; + optional bool is_enabled = 6 [default = false]; +} + +// Used by: common.proto +message CMsgNetworkDeviceIP6Address { + optional string ip = 1 [default = ""]; +} + +// Used by: common.proto +message CMsgNetworkDeviceIP6Config { + repeated CMsgNetworkDeviceIP6Address addresses = 1; + repeated string dns_ip = 2; + optional string gateway_ip = 3; + optional bool is_dhcp_enabled = 4; + optional bool is_default_route = 5; + optional bool is_enabled = 6 [default = false]; +} + +message CMsgNetworkDevicesData { + repeated CMsgNetworkDevicesData_Device devices = 1; + optional bool is_wifi_enabled = 2; + optional bool is_wifi_scanning_enabled = 3; +} + +// Used by: common.proto +message CMsgNetworkDevicesData_Device { + optional uint32 id = 1 [default = 0]; + optional int32 etype = 2; + optional int32 estate = 3; + optional string mac = 4; + optional string vendor = 5; + optional string product = 6; + optional CMsgNetworkDeviceIP4Config ip4 = 7; + optional CMsgNetworkDeviceIP6Config ip6 = 8; + optional CMsgNetworkDevicesData_Device_Wired wired = 9; + optional CMsgNetworkDevicesData_Device_Wireless wireless = 10; +} + +// Used by: common.proto +message CMsgNetworkDevicesData_Device_Wired { + optional bool is_cable_present = 1 [default = false]; + optional uint32 speed_mbit = 2; + optional string friendly_name = 3; +} + +// Used by: common.proto +message CMsgNetworkDevicesData_Device_Wireless { + repeated CMsgNetworkDevicesData_Device_Wireless_AP aps = 1; + optional int32 esecurity_supported = 2; +} + +// Used by: common.proto +message CMsgNetworkDevicesData_Device_Wireless_AP { + optional uint32 id = 1 [default = 0]; + optional int32 estrength = 2; + optional string ssid = 3; + optional bool is_active = 4; + optional bool is_autoconnect = 5; + optional int32 esecurity = 6; + optional string user_name = 7; + optional string password = 8; + optional int32 strength_raw = 9; + optional string band_filter = 10; + optional bool has_non_6ghz_channel = 11; + optional bool is_saved = 12; +} + +message CMsgNetworkDeviceSetOptions { + optional CMsgNetworkDeviceSetOptions_Wireless wireless = 2; +} + +// Used by: common.proto +message CMsgNetworkDeviceSetOptions_Wireless { + optional uint32 ap_id = 1; + optional bool is_autoconnect = 2; + optional string band_filter = 3; +} + +message CMsgPersonaChangeResponse { + optional uint32 result = 1; + optional string player_name = 2; +} + +// Used by: common.proto +message CMsgPowerCurve { + optional Vector2 start = 1; + optional Vector2 end = 2; + optional float power = 3; +} + +message CMsgProtoBufHeader { + optional fixed64 steamid = 1; + optional int32 client_sessionid = 2; + optional uint32 routing_appid = 3; + optional fixed64 jobid_source = 10 [default = 18446744073709551615]; + optional fixed64 jobid_target = 11 [default = 18446744073709551615]; + optional string target_job_name = 12; + optional int32 eresult = 13 [default = 2]; + optional string error_message = 14; + optional uint32 ip = 15; + optional uint32 auth_account_flags = 16; + optional int32 transport_error = 17 [default = 1]; + optional uint64 messageid = 18 [default = 18446744073709551615]; + optional uint32 publisher_group_id = 19; + optional uint32 sysid = 20; + optional uint32 token_source = 22; + optional bool admin_spoofing_user = 23; + optional int32 seq_num = 24; + optional uint32 webapi_key_id = 25; + optional bool is_from_external_source = 26; + repeated uint32 forward_to_sysid = 27; + optional uint32 cm_sysid = 28; + optional bytes ip_v6 = 29; + optional uint32 launcher_type = 31 [default = 0]; + optional uint32 realm = 32 [default = 0]; + optional int32 timeout_ms = 33 [default = -1]; + optional string debug_source = 34; + optional uint32 debug_source_string_index = 35; + optional uint64 token_id = 36; + optional CMsgGCRoutingProtoBufHeader routing_gc = 37; + optional int32 session_disposition = 38 [default = 0, (webui.description) = "enum"]; + optional string wg_token = 39; + optional string webui_auth_key = 40; + repeated int32 exclude_client_sessionids = 41; + optional fixed64 admin_request_spoofing_steamid = 43; + optional bool is_valveds = 44; + optional fixed64 trace_tag = 45; + optional uint32 wg_msg_trace_flags = 46; + optional uint32 wg_msg_trace_instance = 47; + optional uint32 wg_msg_trace_gid = 48; + optional string wg_msg_trace_token = 49; + optional fixed64 wg_msg_trace_steamid = 50; + optional string wg_msg_trace_status = 51; + optional uint32 trace_flags = 52; + optional string browserapi_site = 53; +} + +message CMsgProtobufWrapped { + optional bytes message_body = 1; +} + +message CMsgRemoteClientAcceptAllEULAs { + optional uint32 app_id = 1; +} + +message CMsgRemoteClientAcceptEULA { + repeated uint32 app_id = 1; + repeated string eula_id = 2; + repeated uint32 eula_version = 3; +} + +message CMsgRemoteClientAppStatus { + repeated CMsgRemoteClientAppStatus_AppStatus status_updates = 1; +} + +// Used by: common.proto +message CMsgRemoteClientAppStatus_AppStatus { + optional uint32 app_id = 1; + optional uint32 app_install_state = 2; + optional AppUpdateInfo update_info = 3; + optional CMsgRemoteClientAppStatus_ShortcutInfo shortcut_info = 4; + optional bool vr_not_required = 5 [default = true]; + optional bool shader_update_available = 6; + optional bool workshop_update_avilable = 7; + optional bool download_complete = 8; + optional AppCloudStatus cloud_status = 9; +} + +// Used by: common.proto +message CMsgRemoteClientAppStatus_ShortcutInfo { + optional string name = 1; + optional string icon = 2; + repeated string categories = 3; + optional string exepath = 4; +} + +message CMsgRemoteClientAppUpdateInfoComplete { + optional uint32 result = 1; +} + +message CMsgRemoteClientAppUpdateStopped { + optional uint32 app_id = 1; + optional AppUpdateInfo update_info = 2; + optional string error_detail = 3; + optional int32 install_folder_index = 4; + optional uint32 app_install_state = 5; +} + +message CMsgRemoteClientBroadcastClientIDDeconflict { + repeated uint64 client_ids = 2; +} + +message CMsgRemoteClientBroadcastClientPairingExclusivity { + optional fixed64 if_paired_network_hash_is = 1; + optional fixed64 unpair_unless_you_are_client_id = 2; + optional uint32 last_known_pairing_time = 3; +} + +message CMsgRemoteClientBroadcastClientPairingState { + optional fixed64 my_paired_network_hash = 1; + optional uint32 my_pairing_time = 2; +} + +message CMsgRemoteClientBroadcastDiscovery { + optional uint32 seq_num = 1; + repeated uint64 client_ids = 2; +} + +message CMsgRemoteClientBroadcastHeader { + optional uint64 client_id = 1; + optional int32 msg_type = 2 [(webui.description) = "enum"]; + optional uint64 instance_id = 3; + optional uint64 device_id_OBSOLETE = 4; + optional bytes device_token = 5; +} + +// Used by: common.proto +message CMsgRemoteClientBroadcastStatus { + optional int32 version = 1; + optional int32 min_version = 2; + optional uint32 connect_port = 3; + optional string hostname = 4; + optional uint32 enabled_services = 6; + optional int32 ostype = 7 [default = 0]; + optional bool is64bit = 8; + repeated CMsgRemoteClientBroadcastStatus_User users = 9; + optional int32 euniverse = 11; + optional uint32 timestamp = 12; + optional bool screen_locked = 13; + optional bool games_running = 14; + repeated string mac_addresses = 15; + optional uint32 download_lan_peer_group = 16; + optional bool broadcasting_active = 17; + optional bool vr_active = 18; + optional uint32 content_cache_port = 19; + repeated string ip_addresses = 20; + optional string public_ip_address = 21; + optional bool remoteplay_active = 22; + optional uint32 supported_services = 23; + optional bool steam_deck = 24; + optional uint64 steam_version = 25; + optional int32 vr_link_caps = 26 [default = 0, (webui.description) = "enum"]; + optional fixed64 vr_link_invite_client_id = 27; + optional fixed64 connected_paired_network_hash = 28; + optional bool wifi_dongle_present = 29; + optional bool is_low_spec_hardware = 30; + optional uint32 gaming_device_type = 31; + optional fixed64 connecting_paired_network_hash = 32; +} + +// Used by: common.proto +message CMsgRemoteClientBroadcastStatus_User { + optional fixed64 steamid = 1; + optional uint32 auth_key_id = 2; +} + +message CMsgRemoteClientDownloadingAppChanged { + optional uint32 downloading_app_id = 1; +} + +message CMsgRemoteClientDownloadingAppID { + optional uint32 downloading_app_id = 1; + optional AppUpdateInfo update_info = 2; +} + +message CMsgRemoteClientDownloadScheduleChanged { + optional bool download_enabled = 1; + optional uint32 start_index = 2; + optional bool final_message = 3; + optional uint32 num_apps_scheduled = 4; + repeated uint32 apps_scheduled = 5; +} + +message CMsgRemoteClientDownloadScheduleItemChanged { + optional uint32 app_id = 2; +} + +message CMsgRemoteClientDownloadsManagement { + optional CMsgRemoteClientDownloadsManagement_ChangeAppQueuePlacement change_queue_placement = 1; + optional CMsgRemoteClientDownloadsManagement_ChangeDownloadIndex change_download_index = 2; + optional bool enable_all_downloads = 3; + optional uint32 remove_from_download_list_app_id = 4; + optional bool suspend_download_throttling = 5; + optional uint32 uninstalling_app_id = 6; + optional uint32 installing_app_id = 7; +} + +// Used by: common.proto +message CMsgRemoteClientDownloadsManagement_ChangeAppQueuePlacement { + optional uint32 app_id = 1; + optional uint32 queue_placement = 2; +} + +// Used by: common.proto +message CMsgRemoteClientDownloadsManagement_ChangeDownloadIndex { + optional uint32 app_id = 1; + optional uint32 download_index = 3; +} + +message CMsgRemoteClientDownloadStatus { + optional uint32 current_connections = 1; + optional uint32 current_bps = 2; + optional uint64 total_bytes_downloaded = 3; + optional uint32 recent_bps = 4; + optional uint64 remote_client_id = 5; + optional int32 download_throttle_rate = 6; + optional string remote_client_name = 7; +} + +message CMsgRemoteClientGetControllerConfig { + optional uint32 app_id = 1; + optional uint32 controller_index = 3; +} + +message CMsgRemoteClientGetControllerConfigResponse { + optional int32 eresult = 1 [default = 2]; + optional bytes config_vdf = 2; +} + +message CMsgRemoteClientInstallApp { + optional uint32 app_id = 1; +} + +message CMsgRemoteClientInstallAppResponse { + optional int32 e_launch_result = 1 [default = 2]; +} + +message CMsgRemoteClientPairWifiAP { + optional string ssid = 1; + optional string password = 2; + optional bool supports_progress = 3; +} + +message CMsgRemoteClientPairWifiAPResponse { + optional int32 e_pair_result = 1 [default = 2]; + optional string ssid = 2; + optional string password = 3; + optional int32 steps_done = 4; + optional int32 steps_total = 5; + optional string step_name = 6; + optional uint32 estimated_seconds = 7; +} + +message CMsgRemoteClientPeerContentServerChanged { + optional uint32 app_id = 1; + optional uint32 num_connections = 2; + optional uint64 remote_client_id = 3; +} + +message CMsgRemoteClientPing { +} + +message CMsgRemoteClientPingResponse { +} + +message CMsgRemoteClientRestrictAutoUpdates { + optional bool restrict_auto_updates = 1; + optional int32 restrict_auto_updates_start = 2; + optional int32 restrict_auto_updates_end = 3; +} + +message CMsgRemoteClientStartStream { + optional uint32 app_id = 1; + optional int32 environment = 2; + optional int32 gamepad_count = 3; + optional int32 launch_option = 4 [default = -1]; + optional bool lock_parental_lock = 5 [default = false]; + optional string unlock_parental_lock = 6; + optional int32 maximum_resolution_x = 7; + optional int32 maximum_resolution_y = 8; + repeated CMsgRemoteClientStartStream_ReservedGamepad gamepads = 9; + optional int32 audio_channel_count = 10 [default = 2]; + repeated int32 supported_transport = 11 [(webui.description) = "enum"]; + optional int32 maximum_framerate_numerator = 12; + optional int32 maximum_framerate_denominator = 13; + optional bool display_hdr = 14; + optional bool launch_only = 15 [default = false]; + optional int32 gaming_device_type = 16; + optional int32 cloud_conflict_resolution = 17 [default = -1]; + optional int32 controller_config_conflict_resolution = 18 [default = -1]; +} + +// Used by: common.proto +message CMsgRemoteClientStartStream_ReservedGamepad { + optional uint32 controller_type = 1; + optional uint32 controller_subtype = 2; +} + +message CMsgRemoteClientStartStreamResponse { + optional int32 e_launch_result = 1 [default = 2]; + optional uint32 stream_port = 2; + repeated int32 launch_options = 3; + optional bytes auth_token = 4; + optional int32 transport = 5 [default = 1, (webui.description) = "enum"]; + optional string relay_server = 6; + optional string launch_task = 7; + optional string launch_task_detail = 8; + optional int32 launch_tasks_done = 9; + optional int32 launch_tasks_total = 10; + optional string vr_connection_params = 11; + optional bool launch_only = 12 [default = false]; + optional CMsgRemoteClientStartStreamResponse_CloudConflict cloud_conflict = 13; +} + +// Used by: common.proto +message CMsgRemoteClientStartStreamResponse_CloudConflict { + optional uint32 appid = 1; + optional uint32 local_time = 2; + optional uint32 remote_time = 3; +} + +message CMsgRemoteClientStatus { + optional uint64 client_id = 1; + optional uint64 instance_id = 2; + optional CMsgRemoteClientBroadcastStatus status = 3; +} + +message CMsgRemoteClientStreamingEnabled { + optional bool enabled = 1; +} + +message CMsgRemoteClientSuspendLanPeerContent { + optional bool suspend = 1; +} + +message CMsgRemoteClientUpdateDownloadsController { + optional bool update_download_items = 1; + optional bool update_download_overview = 2; +} + +message CMsgRemoteClientUploadStatus { + optional uint32 served_app_id = 1; + optional uint32 num_clients = 2; + optional uint32 send_bytes_per_sec = 3; + optional uint32 read_bytes_per_sec = 4; + optional uint64 send_bytes_total = 5; + optional uint64 read_bytes_total = 6; + optional uint64 remote_client_id = 7; + optional string remote_client_name = 8; +} + +message CMsgRemoteClientWifiAPStatus { + optional string ssid = 1; + optional string password = 2; + optional bool wpa2_deprecated = 3; + optional bool is_pairing_capable = 4; + optional fixed64 paired_network_hash = 5; +} + +message CMsgRemoteDeviceAuthorizationCancelRequest { +} + +message CMsgRemoteDeviceAuthorizationConfirmed { + optional int32 result = 1 [(webui.description) = "enum"]; +} + +message CMsgRemoteDeviceAuthorizationRequest { + optional bytes device_token = 1; + optional string device_name = 2; + optional bytes encrypted_request = 3; + optional bytes auth_key = 4; + optional uint32 request_id = 5; +} + +message CMsgRemoteDeviceAuthorizationRequest_CKeyEscrow_Ticket { + optional bytes password = 1; + optional uint64 identifier = 2; + optional bytes payload = 3; + optional uint32 timestamp = 4; + optional int32 usage = 5 [(webui.description) = "enum"]; + optional string device_name = 6; + optional string device_model = 7; + optional string device_serial = 8; + optional uint32 device_provisioning_id = 9; +} + +message CMsgRemoteDeviceAuthorizationResponse { + optional int32 result = 1 [(webui.description) = "enum"]; + optional fixed64 steamid = 2; + optional bytes auth_key = 3; + optional bytes device_token = 4; +} + +message CMsgRemoteDeviceProofRequest { + optional bytes challenge = 1; + optional uint32 request_id = 2; + optional bool update_secret = 3; +} + +message CMsgRemoteDeviceProofResponse { + optional bytes response = 1; + optional uint32 request_id = 2; + optional bool updated_secret = 3; +} + +message CMsgRemoteDeviceStreamingCancelRequest { + optional uint32 request_id = 1; +} + +message CMsgRemoteDeviceStreamingProgress { + optional uint32 request_id = 1; + optional float progress = 2; +} + +message CMsgRemoteDeviceStreamingRequest { + optional uint32 request_id = 1; + optional int32 maximum_resolution_x = 2; + optional int32 maximum_resolution_y = 3; + optional int32 audio_channel_count = 4 [default = 2]; + optional string device_version = 5; + optional bool stream_desktop = 6; + optional bytes device_token = 7; + optional bytes pin = 8; + optional bool enable_video_streaming = 9 [default = true]; + optional bool enable_audio_streaming = 10 [default = true]; + optional bool enable_input_streaming = 11 [default = true]; + optional bool network_test = 12; + optional uint64 client_id = 13; + repeated int32 supported_transport = 14 [(webui.description) = "enum"]; + optional bool restricted = 15; + optional int32 form_factor = 16 [(webui.description) = "enum"]; + optional int32 gamepad_count = 17; + repeated CMsgRemoteDeviceStreamingRequest_ReservedGamepad gamepads = 18; + optional uint64 gameid = 19; + optional int32 stream_interface = 20 [(webui.description) = "enum"]; + optional int32 maximum_framerate_numerator = 21; + optional int32 maximum_framerate_denominator = 22; + optional bool display_hdr = 23; +} + +// Used by: common.proto +message CMsgRemoteDeviceStreamingRequest_ReservedGamepad { + optional uint32 controller_type = 1; + optional uint32 controller_subtype = 2; +} + +message CMsgRemoteDeviceStreamingResponse { + optional uint32 request_id = 1; + optional int32 result = 2 [(webui.description) = "enum"]; + optional uint32 port = 3; + optional bytes encrypted_session_key = 4; + optional int32 transport = 6 [default = 1, (webui.description) = "enum"]; + optional string relay_server = 7; + optional string cert = 8; +} + +message CMsgRemoteDeviceStreamTransportSignal { + optional bytes token = 1; + optional bytes payload = 2; +} + +message CMsgResponseCurve { + repeated CMsgFunctionalCurve curves = 1; + optional string curve_name = 2; +} + +message CMsgSelectOSBranchParams { + optional int32 branch = 1 [(webui.description) = "enum"]; + optional string custom_branch = 2; +} + +message CMsgSetControllerActionSet { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional string new_display_name = 3; + optional string action_set_to_copy_key = 4; +} + +message CMsgSetControllerInputActivator { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 source_binding_key = 3 [(webui.description) = "enum"]; + optional bool mode_shift = 4; + optional int32 input_key = 5 [(webui.description) = "enum"]; + optional int32 activator_index = 6; + optional int32 new_activation = 7 [(webui.description) = "enum"]; + optional CMsgControllerSetting new_setting = 8; + optional int32 modeid = 9; +} + +message CMsgSetControllerInputActivatorEnabled { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 source_binding_key = 3 [(webui.description) = "enum"]; + optional bool mode_shift = 4; + optional int32 input_key = 5 [(webui.description) = "enum"]; + optional int32 activator_index = 6; + optional bool enabled = 7; + optional int32 modeid = 8; +} + +message CMsgSetControllerInputBinding { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 source_binding_key = 3 [(webui.description) = "enum"]; + optional bool mode_shift = 4; + optional int32 input_key = 5 [(webui.description) = "enum"]; + optional int32 activator_index = 6; + optional int32 binding_index = 7; + optional CMsgControllerInputBinding new_binding = 8; + optional int32 source_mode = 9 [(webui.description) = "enum"]; + optional int32 modeid = 10; +} + +message CMsgSetControllerSourceMode { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 source_binding_key = 3 [(webui.description) = "enum"]; + optional bool mode_shift = 4; + optional int32 new_mode = 5 [(webui.description) = "enum"]; + optional CMsgControllerInputGameActionBinding new_game_action = 6; + optional CMsgControllerSetting new_setting = 7; + optional string new_name = 8; + optional uint32 modeid = 9; + optional bool change_mode = 10; + optional bool new_virtual_menu = 11; + optional bool enable_virtual_menu_support = 12; +} + +message CMsgSetModeShiftButton { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 modeid = 3; + optional int32 source = 4 [(webui.description) = "enum"]; + repeated int32 mode_shift_buttons_digital_io = 5 [(webui.description) = "enum"]; +} + +message CMsgSettingVariant { + optional bool value_bool = 1; + optional int32 value_int32 = 2; + optional uint32 value_uint32 = 3; + optional int64 value_uint64 = 5; + optional float value_float = 6; + optional string value_string = 7; + optional CMsgHotkey value_hotkey = 8; +} + +message CMsgShortcutAppIds { + repeated uint32 appids = 1; +} + +// Used by: common.proto +message CMsgShortcutInfo { + optional uint32 appid = 1; + optional string exe = 2; + optional string start_dir = 3; + optional string icon = 4; + optional string path = 5; + optional string args = 6; + optional string app_name = 7; + optional uint32 override_appid = 8; + optional string flatpak_appid = 9; + repeated string tags = 10; + optional uint64 remote_client_id = 11; + optional bool is_hidden = 12; + optional bool is_temporary = 13; + optional bool is_openvr = 14; + optional bool allow_desktop_config = 15; + optional bool allow_overlay = 16; + optional uint32 rt_last_played_time = 17; + optional bool is_devkit_shortcut = 18; + optional string devkit_gameid = 19; + optional bool remote_launch_available = 20; + optional string sortas = 21; +} + +message CMsgShortcutInfos { + repeated CMsgShortcutInfo shorcuts = 1; +} + +// Used by: common.proto +message CMsgSigmoidalCurve { + optional Vector2 start = 1; + optional Vector2 end = 2; + optional float response_power = 3; +} + +// Used by: common.proto +message CMsgSteamDatagramCertificate { + optional int32 key_type = 1 [(webui.description) = "enum"]; + optional bytes key_data = 2; + optional fixed64 legacy_steam_id = 4; + repeated fixed32 gameserver_datacenter_ids = 5; + optional fixed32 time_created = 8; + optional fixed32 time_expiry = 9; + repeated uint32 app_ids = 10; + optional CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 11; + optional string identity_string = 12; + repeated string ip_addresses = 13; +} + +message CMsgSteamDatagramCertificateRequest { + optional CMsgSteamDatagramCertificate cert = 1; +} + +// Used by: common.proto +message CMsgSteamDatagramCertificateSigned { + optional bytes private_key_data = 1; + optional bytes cert = 4; + optional fixed64 ca_key_id = 5; + optional bytes ca_signature = 6; +} + +message CMsgSteamDatagramClientPingSampleReply { + optional fixed32 connection_id = 1; + repeated CMsgSteamDatagramClientPingSampleReply_POP pops = 2; + optional bool relay_override_active = 5; + optional CMsgTOSTreatment tos = 6; +} + +// Used by: common.proto +message CMsgSteamDatagramClientPingSampleReply_POP { + optional fixed32 pop_id = 1; + optional uint32 front_ping_ms = 2; + optional uint32 e2e_ping_ms = 3; + optional uint32 cluster_penalty = 4; + optional uint32 e2e_score = 5; + optional fixed32 e2e_p2p_peer_relay_pop_id = 6; + optional uint32 dc_ping_ms = 9; + optional uint32 dc_score = 10; + optional fixed32 dc_via_relay_pop_id = 11; +} + +message CMsgSteamDatagramClientPingSampleRequest { + optional fixed32 connection_id = 1; +} + +message CMsgSteamDatagramClientSwitchedPrimary { + optional fixed32 connection_id = 1; + optional fixed32 from_ip = 2; + optional uint32 from_port = 3; + optional fixed32 from_router_cluster = 4; + optional uint32 from_active_time = 5; + optional uint32 from_active_packets_recv = 6; + optional string from_dropped_reason = 7; + optional uint32 gap_ms = 8; + optional CMsgSteamDatagramClientSwitchedPrimary_RouterQuality from_quality_now = 9; + optional CMsgSteamDatagramClientSwitchedPrimary_RouterQuality to_quality_now = 10; + optional CMsgSteamDatagramClientSwitchedPrimary_RouterQuality from_quality_then = 11; + optional CMsgSteamDatagramClientSwitchedPrimary_RouterQuality to_quality_then = 12; + optional int32 from_migrate_request = 13 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgSteamDatagramClientSwitchedPrimary_RouterQuality { + optional uint32 score = 1; + optional uint32 front_ping = 2; + optional uint32 back_ping = 3; + optional uint32 seconds_until_down = 4; +} + +message CMsgSteamDatagramConnectionClosed { + optional uint32 legacy_gameserver_relay_session_id = 2; + optional fixed64 legacy_from_steam_id = 3; + optional int32 relay_mode = 4 [(webui.description) = "enum"]; + optional string debug = 5; + optional uint32 reason_code = 6; + optional fixed32 to_connection_id = 7; + optional fixed32 from_connection_id = 8; + optional fixed32 to_relay_session_id = 9; + optional fixed32 from_relay_session_id = 10; + optional bytes forward_target_relay_routing_token = 11; + optional uint32 forward_target_revision = 12; + optional CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13; + optional fixed64 routing_secret = 14; + optional string from_identity_string = 15; + optional bool not_primary_session = 16; + optional CMsgSteamDatagramConnectionQuality quality_relay = 17; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 18; + optional bool not_primary_transport = 19; + optional CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21; + optional bool relay_override_active = 22; +} + +// Used by: common.proto +message CMsgSteamDatagramConnectionQuality { + optional CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1; + optional CMsgSteamDatagramLinkLifetimeStats lifetime = 2; +} + +message CMsgSteamDatagramConnectionStatsClientToRouter { + optional CMsgSteamDatagramConnectionQuality quality_relay = 1; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 2; + repeated fixed32 ack_relay = 4; + repeated fixed32 legacy_ack_e2e = 5; + optional uint32 flags = 6; + optional fixed32 client_connection_id = 8; + optional uint32 seq_num_c2r = 9; + optional uint32 seq_num_e2e = 10; +} + +message CMsgSteamDatagramConnectionStatsP2PClientToRouter { + optional CMsgSteamDatagramConnectionQuality quality_relay = 1; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 2; + repeated fixed32 ack_relay = 3; + repeated fixed32 legacy_ack_e2e = 4; + optional uint32 flags = 5; + optional bytes forward_target_relay_routing_token = 6; + optional uint32 forward_target_revision = 7; + optional bytes routes = 8; + optional uint32 ack_peer_routes_revision = 9; + optional fixed32 connection_id = 10; + optional uint32 seq_num_c2r = 11; + optional uint32 seq_num_e2e = 12; + optional CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14; +} + +message CMsgSteamDatagramConnectionStatsP2PRouterToClient { + optional CMsgSteamDatagramConnectionQuality quality_relay = 1; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 2; + optional uint32 seconds_until_shutdown = 3; + optional fixed32 migrate_request_ip = 4; + optional uint32 migrate_request_port = 5; + optional uint32 scoring_penalty_relay_cluster = 6; + repeated fixed32 ack_relay = 7; + repeated fixed32 legacy_ack_e2e = 8; + optional uint32 flags = 9; + optional uint32 ack_forward_target_revision = 10; + optional bytes routes = 11; + optional uint32 ack_peer_routes_revision = 12; + optional fixed32 connection_id = 13; + optional uint32 seq_num_r2c = 14; + optional uint32 seq_num_e2e = 15; +} + +message CMsgSteamDatagramConnectionStatsRouterToClient { + optional CMsgSteamDatagramConnectionQuality quality_relay = 1; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 2; + optional uint32 seconds_until_shutdown = 6; + optional fixed32 client_connection_id = 7; + optional uint32 seq_num_r2c = 8; + optional uint32 seq_num_e2e = 9; + optional fixed32 migrate_request_ip = 10; + optional uint32 migrate_request_port = 11; + optional uint32 scoring_penalty_relay_cluster = 12; + repeated fixed32 ack_relay = 13; + repeated fixed32 legacy_ack_e2e = 14; + optional uint32 flags = 15; +} + +message CMsgSteamDatagramConnectionStatsRouterToServer { + optional CMsgSteamDatagramConnectionQuality quality_relay = 1; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 2; + optional uint32 seq_num_r2s = 5; + optional uint32 seq_num_e2e = 6; + optional fixed64 legacy_client_steam_id = 7; + optional uint32 relay_session_id = 8; + optional fixed32 client_connection_id = 9; + repeated fixed32 ack_relay = 10; + repeated fixed32 legacy_ack_e2e = 11; + optional uint32 flags = 12; + optional fixed32 server_connection_id = 13; + optional fixed64 routing_secret = 14; + optional string client_identity_string = 15; +} + +message CMsgSteamDatagramConnectionStatsServerToRouter { + optional CMsgSteamDatagramConnectionQuality quality_relay = 1; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 2; + optional uint32 seq_num_s2r = 3; + optional uint32 seq_num_e2e = 4; + optional uint32 relay_session_id = 6; + optional fixed32 client_connection_id = 7; + repeated fixed32 ack_relay = 8; + repeated fixed32 legacy_ack_e2e = 9; + optional uint32 flags = 10; + optional fixed32 server_connection_id = 11; +} + +message CMsgSteamDatagramConnectOK { + optional fixed32 client_connection_id = 1; + optional uint32 gameserver_relay_session_id = 2; + optional fixed64 your_timestamp = 3; + optional uint32 delay_time_usec = 4; + optional CMsgSteamDatagramSessionCryptInfoSigned crypt = 5; + optional CMsgSteamDatagramCertificateSigned cert = 6; + optional fixed32 server_connection_id = 7; +} + +message CMsgSteamDatagramConnectRequest { + optional fixed32 connection_id = 1; + optional uint32 gameserver_relay_session_id = 2; + optional fixed64 legacy_client_steam_id = 3; + optional fixed64 my_timestamp = 4; + optional uint32 ping_est_ms = 5; + optional CMsgSteamDatagramSessionCryptInfoSigned crypt = 6; + optional CMsgSteamDatagramCertificateSigned cert = 7; + optional uint32 virtual_port = 9; + optional fixed64 routing_secret = 10; +} + +message CMsgSteamDatagramDiagnostic { + optional uint32 severity = 1; + optional string text = 2; +} + +message CMsgSteamDatagramGameserverPingReplyData { + optional fixed32 echo_relay_unix_time = 2; + optional fixed64 legacy_challenge = 3; + optional fixed32 legacy_router_timestamp = 4; + optional fixed32 data_center_id = 5; + optional uint32 appid = 6; + optional uint32 protocol_version = 7; + optional bytes echo = 8; + optional string build = 9; + optional uint64 network_config_version = 10; + optional fixed32 my_unix_time = 11; + optional bytes routing_blob = 12; +} + +message CMsgSteamDatagramGameserverPingRequestBody { + optional fixed32 relay_popid = 1; + optional CMsgSteamNetworkingIPAddress your_public_ip = 2; + optional uint32 your_public_port = 3; + optional uint64 relay_unix_time = 4; + optional fixed64 routing_secret = 5; + repeated CMsgSteamNetworkingIPAddress my_ips = 6; + optional bytes echo = 8; +} + +message CMsgSteamDatagramGameserverPingRequestEnvelope { + optional fixed32 legacy_your_public_ip = 1; + optional fixed32 legacy_relay_unix_time = 2; + optional fixed64 legacy_challenge = 3; + optional fixed32 legacy_router_timestamp = 4; + optional fixed32 legacy_your_public_port = 5; + optional CMsgSteamDatagramCertificateSigned cert = 6; + optional bytes signed_data = 7; + optional bytes signature = 8; + optional bytes dummy_pad = 1023; +} + +message CMsgSteamDatagramGameserverSessionEstablished { + optional fixed32 connection_id = 1; + optional string gameserver_identity_string = 2; + optional fixed64 legacy_gameserver_steamid = 3; + optional uint32 seconds_until_shutdown = 4; + optional uint32 seq_num_r2c = 6; + optional bytes dummy_legacy_identity_binary = 7; +} + +message CMsgSteamDatagramGameserverSessionRequest { + optional bytes ticket = 1; + optional fixed32 challenge_time = 3; + optional fixed64 challenge = 4; + optional fixed32 client_connection_id = 5; + optional uint64 network_config_version = 6; + optional uint32 protocol_version = 7; + optional fixed32 server_connection_id = 8; + optional string platform = 9; + optional string build = 10; + optional string dev_gameserver_identity = 100; + optional CMsgSteamDatagramCertificateSigned dev_client_cert = 101; +} + +// Used by: common.proto +message CMsgSteamDatagramLinkInstantaneousStats { + optional uint32 out_packets_per_sec_x10 = 1; + optional uint32 out_bytes_per_sec = 2; + optional uint32 in_packets_per_sec_x10 = 3; + optional uint32 in_bytes_per_sec = 4; + optional uint32 ping_ms = 5; + optional uint32 packets_dropped_pct = 6; + optional uint32 packets_weird_sequence_pct = 7; + optional uint32 peak_jitter_usec = 8; +} + +// Used by: common.proto +message CMsgSteamDatagramLinkLifetimeStats { + optional uint32 connected_seconds = 2; + optional uint64 packets_sent = 3; + optional uint64 kb_sent = 4; + optional uint64 packets_recv = 5; + optional uint64 kb_recv = 6; + optional uint64 packets_recv_sequenced = 7; + optional uint64 packets_recv_dropped = 8; + optional uint64 packets_recv_out_of_order = 9; + optional uint64 packets_recv_duplicate = 10; + optional uint64 packets_recv_lurch = 11; + repeated uint64 multipath_packets_recv_sequenced = 12; + repeated uint64 multipath_packets_recv_later = 13; + optional uint32 multipath_send_enabled = 14; + optional uint64 packets_recv_out_of_order_corrected = 15; + optional uint32 quality_histogram_100 = 21; + optional uint32 quality_histogram_99 = 22; + optional uint32 quality_histogram_97 = 23; + optional uint32 quality_histogram_95 = 24; + optional uint32 quality_histogram_90 = 25; + optional uint32 quality_histogram_75 = 26; + optional uint32 quality_histogram_50 = 27; + optional uint32 quality_histogram_1 = 28; + optional uint32 quality_histogram_dead = 29; + optional uint32 quality_ntile_2nd = 30; + optional uint32 quality_ntile_5th = 31; + optional uint32 quality_ntile_25th = 32; + optional uint32 quality_ntile_50th = 33; + optional uint32 ping_histogram_25 = 41; + optional uint32 ping_histogram_50 = 42; + optional uint32 ping_histogram_75 = 43; + optional uint32 ping_histogram_100 = 44; + optional uint32 ping_histogram_125 = 45; + optional uint32 ping_histogram_150 = 46; + optional uint32 ping_histogram_200 = 47; + optional uint32 ping_histogram_300 = 48; + optional uint32 ping_histogram_max = 49; + optional uint32 ping_ntile_5th = 50; + optional uint32 ping_ntile_50th = 51; + optional uint32 ping_ntile_75th = 52; + optional uint32 ping_ntile_95th = 53; + optional uint32 ping_ntile_98th = 54; + optional uint32 jitter_histogram_negligible = 61; + optional uint32 jitter_histogram_1 = 62; + optional uint32 jitter_histogram_2 = 63; + optional uint32 jitter_histogram_5 = 64; + optional uint32 jitter_histogram_10 = 65; + optional uint32 jitter_histogram_20 = 66; +} + +message CMsgSteamDatagramNoConnection { + optional uint32 legacy_gameserver_relay_session_id = 2; + optional fixed64 legacy_from_steam_id = 3; + optional bool end_to_end = 4; + optional fixed32 to_connection_id = 5; + optional fixed32 from_connection_id = 6; + optional string from_identity_string = 7; + optional fixed32 to_relay_session_id = 9; + optional fixed32 from_relay_session_id = 10; + optional fixed64 routing_secret = 11; + optional bool not_primary_session = 12; + optional CMsgSteamDatagramConnectionQuality quality_relay = 13; + optional CMsgSteamDatagramConnectionQuality quality_e2e = 14; + optional bool not_primary_transport = 15; + optional CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16; + optional bool relay_override_active = 17; + optional fixed32 dummy_pad = 1023; +} + +message CMsgSteamDatagramNoSessionRelayToClient { + optional fixed32 your_public_ip = 2; + optional fixed32 server_time = 3; + optional fixed64 challenge = 4; + optional uint32 seconds_until_shutdown = 5; + optional fixed32 your_public_port = 6; + optional fixed32 connection_id = 7; +} + +message CMsgSteamDatagramNoSessionRelayToPeer { + optional uint32 legacy_relay_session_id = 1; + optional fixed32 from_relay_session_id = 2; + optional fixed32 from_connection_id = 7; + optional fixed64 kludge_pad = 99; +} + +message CMsgSteamDatagramP2PBadRouteRouterToClient { + optional fixed32 connection_id = 1; + optional bytes failed_relay_routing_token = 2; + optional uint32 ack_forward_target_revision = 3; + optional fixed64 kludge_pad = 99; +} + +message CMsgSteamDatagramP2PRoutes { + repeated CMsgSteamDatagramP2PRoutes_RelayCluster relay_clusters = 1; + repeated CMsgSteamDatagramP2PRoutes_Route routes = 2; + optional uint32 revision = 3; } // Used by: common.proto -message CMsgControllerActionSetMiscSettings { - optional string cursor_visible_action_set_key = 1; - optional string cursor_hidden_action_set_key = 2; +message CMsgSteamDatagramP2PRoutes_RelayCluster { + optional fixed32 pop_id = 1; + optional uint32 ping_ms = 2; + optional uint32 score_penalty = 3; + optional bytes session_relay_routing_token = 4; } -message CMsgControllerConfiguration { - optional uint32 binding_handle = 1; - optional string display_name = 2; - optional string description = 3; - optional string creator = 4; - optional int32 controller_type = 5; - optional int32 controller_style = 7; - repeated CMsgGameActionSet sets = 8; - repeated CMsgControllerMode modes = 9; - optional string error_msg = 10; - optional string action_block_path = 11; - optional CMsgControllerActionSetMiscSettings misc_action_set_settings = 12; - optional string url = 13; +// Used by: common.proto +message CMsgSteamDatagramP2PRoutes_Route { + optional fixed32 my_pop_id = 1; + optional fixed32 your_pop_id = 2; + optional uint32 legacy_score = 3; + optional uint32 interior_score = 4; } // Used by: common.proto -message CMsgControllerInput { - optional int32 key = 1 [(webui.description) = "enum"]; - repeated CMsgControllerInputActivator activators = 2; - repeated CMsgControllerInputActivator disabled_activators = 3; - optional bool inherited_from_parentset = 4; +message CMsgSteamDatagramP2PRoutingSummary { + optional CMsgSteamNetworkingICESessionSummary ice = 2; + optional CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3; +} + +message CMsgSteamDatagramP2PSessionEstablished { + optional fixed32 connection_id = 1; + optional uint32 seconds_until_shutdown = 3; + optional bytes relay_routing_token = 4; + optional uint32 seq_num_r2c = 5; +} + +message CMsgSteamDatagramP2PSessionRequest { + optional CMsgSteamDatagramCertificateSigned cert = 1; + optional bytes body = 2; + optional bytes signature = 3; +} + +message CMsgSteamDatagramP2PSessionRequestBody { + optional fixed32 challenge_time = 1; + optional fixed64 challenge = 2; + optional fixed32 client_connection_id = 3; + optional fixed64 legacy_peer_steam_id = 4; + optional fixed32 peer_connection_id = 5; + optional uint32 protocol_version = 8; + optional uint64 network_config_version = 9; + optional string peer_identity_string = 11; + optional string platform = 12; + optional string build = 13; + optional bytes encrypted_data = 14; + optional uint32 encryption_your_public_key_lead_byte = 15; + optional bytes encryption_my_ephemeral_public_key = 16; +} + +message CMsgSteamDatagramP2PSessionRequestBody_EncryptedData { + optional string peer_identity_string = 1; +} + +message CMsgSteamDatagramRouterPingReply { + optional fixed32 client_timestamp = 1; + repeated fixed32 latency_datacenter_ids = 2; + repeated uint32 latency_ping_ms = 3; + optional fixed32 your_public_ip = 4; + optional fixed32 server_time = 5; + optional fixed64 challenge = 6; + optional uint32 seconds_until_shutdown = 7; + optional fixed32 client_cookie = 8; + optional uint32 scoring_penalty_relay_cluster = 9; + repeated CMsgSteamDatagramRouterPingReply_RouteException route_exceptions = 10; + optional fixed32 your_public_port = 11; + optional uint32 flags = 12; + repeated CMsgSteamDatagramRouterPingReply_AltAddress alt_addresses = 13; + repeated fixed32 latency_datacenter_ids_p2p = 14; + repeated uint32 latency_ping_ms_p2p = 15; + optional uint32 recv_tos = 16; + optional uint32 echo_sent_tos = 17; + optional uint32 sent_tos = 18; + optional uint32 echo_request_reply_tos = 19; + optional bytes dummy_pad = 99; + optional uint64 dummy_varint = 100; +} + +// Used by: common.proto +message CMsgSteamDatagramRouterPingReply_AltAddress { + optional fixed32 ipv4 = 1; + optional uint32 port = 2; + optional uint32 penalty = 3; + optional int32 protocol = 4 [default = 0, (webui.description) = "enum"]; + optional string id = 5; } // Used by: common.proto -message CMsgControllerInputActivator { - optional int32 activation = 1 [(webui.description) = "enum"]; - repeated CMsgControllerInputBinding bindings = 2; - repeated CMsgControllerSetting settings = 3; +message CMsgSteamDatagramRouterPingReply_RouteException { + optional fixed32 data_center_id = 1; + optional uint32 flags = 2; + optional uint32 penalty = 3; +} + +message CMsgSteamDatagramSessionCryptInfo { + optional int32 key_type = 1 [(webui.description) = "enum"]; + optional bytes key_data = 2; + optional fixed64 nonce = 3; + optional uint32 protocol_version = 4; + repeated int32 ciphers = 5 [(webui.description) = "enum"]; } // Used by: common.proto -message CMsgControllerInputBinding { - optional int32 type = 1; - optional CMsgControllerInputBinding_KeyBindingData key_binding_data = 2; - optional CMsgControllerInputKeyBinding keyboard_key = 3; - optional CMsgControllerInputMouseButtonBinding mouse_button = 4; - optional CMsgControllerInputGamepadButtonBinding gamepad_button = 5; - optional CMsgControllerInputMouseWheelBinding mouse_wheel = 6; - optional CMsgControllerInputModeShiftBinding mode_shift = 7; - optional CMsgControllerInputGameActionBinding game_action = 8; - optional CMsgControllerInputControllerActionBinding controller_action = 9; +message CMsgSteamDatagramSessionCryptInfoSigned { + optional bytes info = 1; + optional bytes signature = 2; +} + +message CMsgSteamDatagramSetSecondaryAddressRequest { + optional fixed32 client_main_ip = 1; + optional fixed32 client_main_port = 2; + optional fixed32 client_connection_id = 3; + optional string client_identity = 4; + optional bool request_send_duplication = 5; + optional bytes kludge_pad = 99; +} + +message CMsgSteamDatagramSetSecondaryAddressResult { + optional bool success = 1; + optional string message = 2; +} + +message CMsgSteamDatagramSignedMessageGeneric { + optional CMsgSteamDatagramCertificateSigned cert = 1; + optional bytes signed_data = 2; + optional bytes signature = 3; + optional bytes dummy_pad = 1023; +} + +// Used by: common.proto +message CMsgSteamNetworkingICESessionSummary { + optional uint32 local_candidate_types = 1; + optional uint32 remote_candidate_types = 2; + optional uint32 initial_route_kind = 3; + optional uint32 initial_ping = 4; + optional uint32 negotiation_ms = 5; + optional uint32 initial_score = 6; + optional uint32 failure_reason_code = 7; + optional uint32 selected_seconds = 12; + optional uint32 user_settings = 13; + optional uint32 ice_enable_var = 14; + optional uint32 local_candidate_types_allowed = 15; + optional uint32 best_route_kind = 16; + optional uint32 best_ping = 17; + optional uint32 best_score = 18; + optional uint32 best_time = 19; +} + +// Used by: common.proto +message CMsgSteamNetworkingIdentityLegacyBinary { + optional bytes generic_bytes = 2; + optional string generic_string = 3; + optional bytes ipv6_and_port = 4; + optional fixed64 steam_id = 16; +} + +// Used by: common.proto +message CMsgSteamNetworkingIPAddress { + optional fixed32 v4 = 1; + optional bytes v6 = 2; +} + +message CMsgSteamNetworkingP2PRendezvous { + optional fixed32 to_connection_id = 1; + optional bytes sdr_routes = 2; + optional uint32 ack_peer_routes_revision = 3; + optional CMsgSteamNetworkingP2PRendezvous_ConnectRequest connect_request = 4; + optional CMsgSteamNetworkingP2PRendezvous_ConnectOK connect_ok = 5; + optional CMsgSteamNetworkingP2PRendezvous_ConnectionClosed connection_closed = 6; + optional bool ice_enabled = 7; + optional string from_identity = 8; + optional fixed32 from_connection_id = 9; + optional string to_identity = 10; + optional uint32 ack_reliable_msg = 11; + optional uint32 first_reliable_msg = 12; + repeated CMsgSteamNetworkingP2PRendezvous_ReliableMessage reliable_messages = 13; + optional bytes hosted_server_ticket = 14; + repeated CMsgSteamNetworkingP2PRendezvous_ApplicationMessage application_messages = 15; +} + +// Used by: common.proto +message CMsgSteamNetworkingP2PRendezvous_ApplicationMessage { + optional bytes data = 1; + optional uint64 msg_num = 2; + optional uint32 flags = 3; + optional uint32 lane_idx = 4; +} + +// Used by: common.proto +message CMsgSteamNetworkingP2PRendezvous_ConnectionClosed { + optional string debug = 5; + optional uint32 reason_code = 6; +} + +// Used by: common.proto +message CMsgSteamNetworkingP2PRendezvous_ConnectOK { + optional CMsgSteamDatagramSessionCryptInfoSigned crypt = 5; + optional CMsgSteamDatagramCertificateSigned cert = 6; +} + +// Used by: common.proto +message CMsgSteamNetworkingP2PRendezvous_ConnectRequest { + optional CMsgSteamDatagramSessionCryptInfoSigned crypt = 6; + optional CMsgSteamDatagramCertificateSigned cert = 7; + optional uint32 to_virtual_port = 9; + optional uint32 from_virtual_port = 10; + optional string from_fakeip = 11; +} + +// Used by: common.proto +message CMsgSteamNetworkingP2PRendezvous_ReliableMessage { + optional CMsgICERendezvous ice = 1; +} + +// Used by: common.proto +message CMsgSteamNetworkingP2PSDRRoutingSummary { + optional uint32 initial_ping = 1; + optional uint32 initial_ping_front_local = 2; + optional uint32 initial_ping_front_remote = 3; + optional uint32 initial_score = 4; + optional fixed32 initial_pop_local = 5; + optional fixed32 initial_pop_remote = 6; + optional uint32 negotiation_ms = 7; + optional uint32 selected_seconds = 8; + optional uint32 best_ping = 11; + optional uint32 best_ping_front_local = 12; + optional uint32 best_ping_front_remote = 13; + optional uint32 best_score = 14; + optional fixed32 best_pop_local = 15; + optional fixed32 best_pop_remote = 16; + optional uint32 best_time = 17; +} + +message CMsgStorageDevicesData { + repeated CMsgStorageDevicesData_Drive drives = 1; + repeated CMsgStorageDevicesData_BlockDevice block_devices = 2; + optional bool is_unmount_supported = 3; + optional bool is_trim_supported = 4; + optional bool is_trim_running = 5; +} + +// Used by: common.proto +message CMsgStorageDevicesData_BlockDevice { + optional uint32 id = 1 [default = 0]; + optional uint32 drive_id = 2 [default = 0]; + optional string path = 3; + optional string friendly_path = 4; + optional string label = 5; + optional uint64 size_bytes = 6; + optional bool is_formattable = 7; + optional bool is_read_only = 8; + optional bool is_root_device = 9; + optional int32 content_type = 10 [(webui.description) = "enum"]; + optional int32 filesystem_type = 11 [(webui.description) = "enum"]; + optional string mount_path = 12; +} + +// Used by: common.proto +message CMsgStorageDevicesData_Drive { + optional uint32 id = 1 [default = 0]; + optional string model = 2; + optional string vendor = 3; + optional string serial = 4; + optional bool is_ejectable = 5; + optional uint64 size_bytes = 6; + optional int32 media_type = 7 [(webui.description) = "enum"]; +} + +message CMsgSwapControllerSourceModes { + optional string action_set_key_a = 1; + optional string action_set_layer_key_a = 2; + optional int32 source_a = 3 [(webui.description) = "enum"]; + optional string action_set_key_b = 4; + optional string action_set_layer_key_b = 5; + optional int32 source_b = 6 [(webui.description) = "enum"]; +} + +message CMsgSwapModeInputBindings { + optional string action_set_key = 1; + optional string action_set_layer_key = 2; + optional int32 source_binding_key = 3 [(webui.description) = "enum"]; + optional bool mode_shift = 4; + optional int32 modeid = 5; + repeated CMsgSwapModeInputBindings_CModeInputSwap swaps = 6; +} + +// Used by: common.proto +message CMsgSwapModeInputBindings_CModeInputSwap { + optional int32 old_key = 1 [(webui.description) = "enum"]; + optional int32 new_key = 2 [(webui.description) = "enum"]; +} + +// Used by: common.proto +message CMsgSystemAudioManagerDevice { + optional CMsgSystemAudioManagerObject base = 1; + optional string name = 2; + optional string nick = 3; + optional string description = 4; + optional string api = 5; +} + +// Used by: common.proto +message CMsgSystemAudioManagerLink { + optional CMsgSystemAudioManagerObject base = 1; + optional uint32 output_node_id = 2; + optional uint32 output_port_id = 3; + optional uint32 input_node_id = 4; + optional uint32 input_port_id = 5; +} + +// Used by: common.proto +message CMsgSystemAudioManagerNode { + optional CMsgSystemAudioManagerObject base = 1; + optional uint32 device_id = 2; + optional string name = 3; + optional string nick = 4; + optional string description = 5; + optional int32 edirection = 6 [(webui.description) = "enum"]; + optional CMsgSystemAudioVolume volume = 7; +} + +// Used by: common.proto +message CMsgSystemAudioManagerObject { + optional uint32 id = 1; + optional fixed32 rtime_last_update = 2; +} + +// Used by: common.proto +message CMsgSystemAudioManagerPort { + optional CMsgSystemAudioManagerObject base = 1; + optional uint32 node_id = 3; + optional string name = 4; + optional string alias = 5; + optional int32 etype = 6 [(webui.description) = "enum"]; + optional int32 edirection = 7 [(webui.description) = "enum"]; + optional bool is_physical = 8; + optional bool is_terminal = 9; + optional bool is_control = 10; + optional bool is_monitor = 11; } -// Used by: common.proto -message CMsgControllerInputBinding_IconBindingData { - optional string icon_filename = 1; - optional string color_foreground = 2; - optional string color_background = 3; - optional string icon_url = 4; +message CMsgSystemAudioManagerState { + optional fixed32 rtime_filter = 1; + optional int32 counter = 2; + optional CMsgSystemAudioManagerStateHW hw = 3; } // Used by: common.proto -message CMsgControllerInputBinding_KeyBindingData { - optional string keys_bound_utf8 = 1; - optional string friendly_name_utf8 = 2; - optional CMsgControllerInputBinding_IconBindingData icon_data = 3; +message CMsgSystemAudioManagerStateHW { + repeated CMsgSystemAudioManagerDevice devices = 1; + repeated CMsgSystemAudioManagerNode nodes = 2; + repeated CMsgSystemAudioManagerPort ports = 3; + repeated CMsgSystemAudioManagerLink links = 4; } -// Used by: common.proto -message CMsgControllerInputControllerActionBinding { - optional int32 action = 1 [(webui.description) = "enum"]; - optional CMsgControllerInputControllerActionMouseBinding mouse = 2; - optional CMsgControllerInputControllerActionCameraHorizonReset camera_horizon_reset = 3; - optional CMsgControllerInputControllerActionDotsPer360CalibrationSpin dots_per_360_calibration_spin = 4; - optional CMsgControllerInputControllerActionTurnToFaceDirection turn_to_face_direction = 5; - optional CMsgControllerInputControllerActionGameActionSetBinding action_set = 6; - optional CMsgControllerInputControllerActionLEDColorBinding led_color = 7; - optional CMsgControllerInputControllerActionChangePlayerNumberBinding change_player_number = 8; +message CMsgSystemAudioManagerUpdateSomething { + optional int32 counter = 1; } // Used by: common.proto -message CMsgControllerInputControllerActionCameraHorizonReset { - optional int32 camera_dip_angle = 1; - optional int32 delay_duration = 2; - optional int32 camera_horizon_reset_angle = 3; +message CMsgSystemAudioVolume { + repeated CMsgSystemAudioVolume_ChannelEntry entries = 1; + optional bool is_muted = 2; } // Used by: common.proto -message CMsgControllerInputControllerActionChangePlayerNumberBinding { - optional int32 player_number = 1; +message CMsgSystemAudioVolume_ChannelEntry { + optional int32 echannel = 1 [(webui.description) = "enum"]; + optional float volume = 2; } // Used by: common.proto -message CMsgControllerInputControllerActionDotsPer360CalibrationSpin { - optional int32 spin_by_amount = 1; - optional int32 spin_duration = 2; +message CMsgSystemDisplay { + optional int32 id = 1; + optional string name = 2; + optional string description = 3; + optional bool is_primary = 4; + optional bool is_enabled = 5; + optional bool is_internal = 6; + optional bool has_mode_override = 7; + optional int32 width_mm = 8; + optional int32 height_mm = 9; + optional int32 current_mode_id = 10; + repeated CMsgSystemDisplayMode modes = 11; + optional int32 refresh_rate_min = 12; + optional int32 refresh_rate_max = 13; + optional bool is_vrr_capable = 14; + optional bool is_vrr_output_active = 15; + optional bool is_hdr_capable = 16; + optional bool is_hdr_output_active = 17; + repeated int32 supported_refresh_rates = 18; + optional int32 rgb_range = 19 [(webui.description) = "enum"]; } // Used by: common.proto -message CMsgControllerInputControllerActionGameActionSetBinding { - optional int32 preset_type = 1 [(webui.description) = "enum"]; - optional string action_set_key = 2; - optional bool display = 3; - optional bool beep = 4; +message CMsgSystemDisplayManagerGameResolution { + optional uint32 width = 1; + optional uint32 height = 2; } -// Used by: common.proto -message CMsgControllerInputControllerActionLEDColorBinding { - optional int32 setting = 1 [(webui.description) = "enum"]; - optional int32 brightness = 2; - optional int32 saturation = 3; - optional int32 color_r = 4; - optional int32 color_g = 5; - optional int32 color_b = 6; +message CMsgSystemDisplayManagerSetMode { + optional int32 display_id = 1; + optional int32 mode_id = 2; + optional int32 rgb_range = 3 [(webui.description) = "enum"]; } -// Used by: common.proto -message CMsgControllerInputControllerActionMouseBinding { - optional sint32 x = 1; - optional sint32 y = 2; - optional bool restore = 3; +message CMsgSystemDisplayManagerState { + repeated CMsgSystemDisplay displays = 1; + optional bool is_mode_switching_supported = 2; + optional int32 compatibility_mode = 3 [(webui.description) = "enum"]; + optional CMsgSystemDisplayManagerGameResolution game_resolution_override_native = 4; + optional CMsgSystemDisplayManagerGameResolution game_resolution_override_default = 5; } // Used by: common.proto -message CMsgControllerInputControllerActionTurnToFaceDirection { - optional int32 source_of_direction = 1; - optional int32 turn_duration = 2; - optional bool use_last_direction_if_deadzoned = 3; +message CMsgSystemDisplayMode { + optional int32 id = 1; + optional int32 width = 2; + optional int32 height = 3; + optional int32 refresh_hz = 4; } -// Used by: common.proto -message CMsgControllerInputGameActionBinding { - optional string action_set_key = 1; - optional string action_key = 2; +message CMsgSystemDockState { + optional CMsgSystemDockUpdateState update_state = 1; } -// Used by: common.proto -message CMsgControllerInputGamepadButtonBinding { - optional int32 button = 1 [(webui.description) = "enum"]; +message CMsgSystemDockUpdateFirmware { + optional bool check_only = 1; } // Used by: common.proto -message CMsgControllerInputKeyBinding { - optional int32 key = 1 [(webui.description) = "enum"]; +message CMsgSystemDockUpdateState { + optional int32 state = 1 [(webui.description) = "enum"]; + optional fixed32 rtime_last_checked = 2; + optional string version_current = 3; + optional string version_available = 4; + optional float stage_progress = 5; + optional fixed32 rtime_estimated_completion = 6; + optional int32 old_fw_workaround = 7; } -// Used by: common.proto -message CMsgControllerInputModeShiftBinding { - optional int32 source = 1 [(webui.description) = "enum"]; +message CMsgSystemManagerSettings { + optional float idle_backlight_dim_battery_seconds = 1; + optional float idle_backlight_dim_ac_seconds = 2; + optional bool is_adaptive_brightness_available = 6; + optional bool display_adaptive_brightness_enabled = 7; + optional bool display_nightmode_enabled = 10; + optional float display_nightmode_tintstrength = 11; + optional float display_nightmode_maxhue = 12; + optional float display_nightmode_maxsat = 13; + optional float display_nightmode_uiexp = 14; + optional float display_nightmode_blend = 15; + optional bool display_nightmode_reset = 16; + optional bool display_nightmode_schedule_enabled = 17; + optional float display_nightmode_schedule_starttime = 18; + optional float display_nightmode_schedule_endtime = 19; + optional bool display_diagnostics_enabled = 20; + optional float als_lux_primary = 21; + optional float als_lux_median = 22; + optional float display_backlight_raw = 23; + optional float display_brightness_adaptivemin = 24; + optional float display_brightness_adaptivemax = 25; + optional bool is_fan_control_available = 27; + optional int32 fan_control_mode = 28 [(webui.description) = "enum"]; + optional bool is_display_brightness_available = 29; + optional bool is_display_colormanagement_available = 31; + optional float display_colorgamut = 32; + optional float als_lux_alternate = 33; + optional bool is_display_colortemp_available = 34; + optional float display_colortemp = 35; + optional float display_colortemp_default = 36; + optional bool display_colortemp_enabled = 37; + optional int32 display_colorgamut_labelset = 38 [(webui.description) = "enum"]; + optional float display_brightness_overdrive_hdr_split = 39; } // Used by: common.proto -message CMsgControllerInputMouseButtonBinding { - optional int32 button = 1 [(webui.description) = "enum"]; +message CMsgSystemPerfDiagnosticEntry { + optional string name = 1; + optional string value = 2; } -// Used by: common.proto -message CMsgControllerInputMouseWheelBinding { - optional int32 button = 1 [(webui.description) = "enum"]; +message CMsgSystemPerfDiagnosticInfo { + repeated CMsgSystemPerfDiagnosticEntry entries = 1; + repeated CMsgSystemPerfNetworkInterface interfaces = 2; + optional float battery_temp_c = 3; } // Used by: common.proto -message CMsgControllerMode { - optional int32 mode = 1 [(webui.description) = "enum"]; - optional uint32 modeid = 2; - optional string description = 3; - repeated CMsgControllerInput inputs = 4; - repeated CMsgControllerSetting settings = 5; - optional string friendlyname = 6; - optional int32 source = 7 [(webui.description) = "enum"]; - optional CMsgControllerVirtualMenuPreviewInfo virtual_menu_info = 8; - optional bool mode_shift = 9; - optional uint32 reference_modeid = 10; - repeated int32 mode_shift_buttons = 11 [(webui.description) = "enum"]; +message CMsgSystemPerfLegacySettingEntry { + optional uint64 profile_game_id = 1; + optional CMsgSystemPerfSettingsPerApp settings = 2; } -// Used by: common.proto -message CMsgControllerSetting { - optional int32 key = 1 [(webui.description) = "enum"]; - optional sint32 int_value = 2; - optional sint32 int_min = 3; - optional sint32 int_max = 4; - optional sint32 int_default = 5; - optional CMsgControllerSetting parentset_setting = 6; - optional sint64 long_value = 7; +message CMsgSystemPerfLegacySettings { + optional CMsgSystemPerfSettingsGlobal global = 1; + repeated CMsgSystemPerfLegacySettingEntry per_app_settings = 2; } // Used by: common.proto -message CMsgControllerSourceGroup { - optional int32 mode = 1 [(webui.description) = "enum"]; - optional CMsgControllerInputGameActionBinding game_action = 2; - repeated CMsgControllerInput inputs = 3; - repeated CMsgControllerSetting settings = 4; - optional uint32 modeid = 5; - optional bool mode_shift = 6; - optional CMsgControllerSourceGroup mode_shift_source_group = 7; +message CMsgSystemPerfLimits { + optional int32 cpu_governor_manual_min_mhz = 1; + optional int32 cpu_governor_manual_max_mhz = 2; + optional int32 fsr_sharpness_min = 3; + optional int32 fsr_sharpness_max = 4; + optional bool perf_overlay_is_standalone = 7; + optional bool is_manual_display_refresh_rate_available = 9; + optional int32 display_refresh_manual_hz_min = 11; + optional int32 display_refresh_manual_hz_max = 12; + repeated int32 fps_limit_options = 13; + optional int32 tdp_limit_min = 14; + optional int32 tdp_limit_max = 15; + optional int32 display_external_refresh_manual_hz_min = 19; + optional int32 display_external_refresh_manual_hz_max = 20; + repeated int32 fps_limit_options_external = 21; + optional bool is_vrr_supported = 23; + optional bool is_dynamic_refresh_rate_in_steam_supported = 24; + repeated int32 split_scaling_filters_available = 26 [(webui.description) = "enum"]; + repeated int32 split_scaling_scalers_available = 27 [(webui.description) = "enum"]; + optional bool disable_refresh_rate_management = 30; } // Used by: common.proto -message CMsgControllerSources { - optional int32 key = 1 [(webui.description) = "enum"]; - optional CMsgControllerSourceGroup active_group = 2; +message CMsgSystemPerfNetworkInterface { + optional string name = 1; + optional double timestamp = 2; + optional int64 tx_bytes_total = 3; + optional int64 rx_bytes_total = 4; + optional int32 tx_bytes_per_sec = 5; + optional int32 rx_bytes_per_sec = 6; } // Used by: common.proto -message CMsgControllerVirtualMenuPreviewInfo { - optional int32 source = 1 [(webui.description) = "enum"]; - optional float x_pos = 2; - optional float y_pos = 3; - optional float opacity = 4; - optional float scale = 5; - optional bool show_labels = 6; - optional uint32 menu_style = 7; - optional bool force_on = 8; - repeated CVirtualMenuKey keys = 9; +message CMsgSystemPerfSettings { + optional CMsgSystemPerfSettingsGlobal global = 1; + optional CMsgSystemPerfSettingsPerApp per_app = 2; } -message CMsgCREGetUserPublishedItemVoteDetails { - repeated CMsgCREGetUserPublishedItemVoteDetails_PublishedFileId published_file_ids = 1; +// Used by: common.proto +message CMsgSystemPerfSettingsGlobal { + optional float diagnostic_update_rate = 1; + optional int32 graphics_profiling_service_state = 3 [(webui.description) = "enum"]; + optional int32 perf_overlay_service_state = 4 [(webui.description) = "enum"]; + optional int32 perf_overlay_level = 5 [(webui.description) = "enum"]; + optional bool is_show_perf_overlay_over_steam_enabled = 6; + optional bool is_advanced_settings_enabled = 7; + optional bool allow_external_display_refresh_control = 8; + optional int32 hdr_on_sdr_tonemap_operator = 12 [(webui.description) = "enum"]; + optional bool is_hdr_debug_heatmap_enabled = 13; + optional bool force_hdr_wide_gammut_for_sdr = 15 [default = true]; + optional bool is_color_management_enabled = 21; + optional float sdr_to_hdr_brightness = 22; } // Used by: common.proto -message CMsgCREGetUserPublishedItemVoteDetails_PublishedFileId { - optional fixed64 published_file_id = 1; -} - -message CMsgCREGetUserPublishedItemVoteDetailsResponse { - optional int32 eresult = 1 [default = 2]; - repeated CMsgCREGetUserPublishedItemVoteDetailsResponse_UserItemVoteDetail user_item_vote_details = 2; +message CMsgSystemPerfSettingsPerApp { + optional int32 fps_limit = 2; + optional bool is_variable_resolution_enabled = 3; + optional bool is_dynamic_refresh_rate_enabled = 4; + optional int32 tdp_limit = 5; + optional int32 cpu_governor = 6 [(webui.description) = "enum"]; + optional int32 cpu_governor_manual_mhz = 7; + optional int32 scaling_filter = 8; + optional int32 fsr_sharpness = 9; + optional bool is_fps_limit_enabled = 10; + optional bool is_tdp_limit_enabled = 11; + optional bool is_low_latency_mode_enabled = 12; + optional int32 display_refresh_manual_hz = 13; + optional bool is_game_perf_profile_enabled = 14; + optional int32 display_external_refresh_manual_hz = 17; + optional int32 fps_limit_external = 18; + optional bool is_tearing_enabled = 19; + optional bool is_vrr_enabled = 20; + optional bool use_dynamic_refresh_rate_in_steam = 23; + optional int32 split_scaling_filter = 24 [(webui.description) = "enum"]; + optional int32 split_scaling_scaler = 25 [(webui.description) = "enum"]; } -// Used by: common.proto -message CMsgCREGetUserPublishedItemVoteDetailsResponse_UserItemVoteDetail { - optional fixed64 published_file_id = 1; - optional int32 vote = 2 [default = 0]; +message CMsgSystemPerfSettingsV1 { + optional float diagnostic_update_rate = 1; + optional int32 system_trace_service_state = 2 [(webui.description) = "enum"]; + optional int32 graphics_profiling_service_state = 3 [(webui.description) = "enum"]; + optional int32 perf_overlay_service_state = 4 [(webui.description) = "enum"]; + optional int32 perf_overlay_level = 5 [(webui.description) = "enum"]; + optional int32 gpu_performance_level = 6 [(webui.description) = "enum"]; + optional int32 gpu_performance_manual_mhz = 7; + optional int32 fps_limit = 8; + optional bool is_variable_resolution_enabled = 9; + optional bool is_dynamic_refresh_rate_enabled = 10; + optional int32 tdp_limit = 11; + optional int32 cpu_governor = 12 [(webui.description) = "enum"]; + optional int32 cpu_governor_manual_mhz = 13; + optional int32 scaling_filter = 14; + optional int32 fsr_sharpness = 15; + optional bool is_fps_limit_enabled = 16; + optional bool is_tdp_limit_enabled = 17; + optional bool is_show_perf_overlay_over_steam_enabled = 18; + optional bool is_low_latency_mode_enabled = 19; + optional int32 display_refresh_manual_hz = 20; + optional bool is_game_perf_profile_enabled = 21; } -message CMsgCREUpdateUserPublishedItemVote { - optional fixed64 published_file_id = 1; - optional bool vote_up = 2; +message CMsgSystemPerfState { + optional CMsgSystemPerfLimits limits = 1; + optional CMsgSystemPerfSettings settings = 2; + optional uint64 current_game_id = 3; + optional uint64 active_profile_game_id = 4; } -message CMsgCREUpdateUserPublishedItemVoteResponse { - optional int32 eresult = 1 [default = 2]; +message CMsgSystemPerfUpdateSettings { + optional uint64 gameid = 1; + optional bool reset_to_default = 2; + optional CMsgSystemPerfSettings settings_delta = 3; + optional bool skip_storage_update = 4; } -// Used by: common.proto -message CMsgGameAction { - optional string key = 1; - optional string display_name = 2; - repeated int32 modes = 3 [(webui.description) = "enum"]; +message CMsgSystemUpdateApplyParams { + repeated int32 apply_types = 1 [(webui.description) = "enum"]; + repeated int32 recheck_types = 2 [(webui.description) = "enum"]; } // Used by: common.proto -message CMsgGameActionBindingType { - optional int32 key = 1 [(webui.description) = "enum"]; - repeated CMsgGameAction actions = 2; +message CMsgSystemUpdateApplyResult { + optional int32 type = 1 [(webui.description) = "enum"]; + optional uint32 eresult = 2 [default = 2]; + optional bool requires_client_restart = 3 [default = false]; + optional bool requires_system_restart = 4 [default = false]; } // Used by: common.proto -message CMsgGameActionSet { - optional string key = 1; - optional string display_name = 2; - optional bool legacy_set = 3; - repeated CMsgGameActionSet layers = 4; - repeated CMsgGameActionBindingType action_binding_types = 5; - repeated CMsgControllerSources source_bindings = 6; +message CMsgSystemUpdateCheckResult { + optional int32 type = 1 [(webui.description) = "enum"]; + optional uint32 eresult = 2 [default = 2]; + optional fixed32 rtime_checked = 3; + optional bool available = 4; + optional string version = 5; + optional string auto_message = 6; + optional bool system_restart_pending = 7; } // Used by: common.proto -message CMsgGCRoutingProtoBufHeader { - optional uint64 dst_gcid_queue = 1; - optional uint32 dst_gc_dir_index = 2; +message CMsgSystemUpdateProgress { + optional float total_progress = 1; + optional int64 stage_size_bytes = 2; + optional fixed32 rtime_estimated_completion = 3; + optional int64 stage_bytes_downloaded = 4; } -message CMsgGenerateSystemReportReply { - optional string report_id = 1; +message CMsgSystemUpdateState { + optional int32 state = 1 [(webui.description) = "enum"]; + optional CMsgSystemUpdateProgress progress = 2; + repeated CMsgSystemUpdateCheckResult update_check_results = 3; + repeated CMsgSystemUpdateApplyResult update_apply_results = 4; + optional bool supports_os_updates = 5; } // Used by: common.proto -message CMsgHotkey { - optional uint32 key_code = 1; - optional bool alt_key = 2; - optional bool shift_key = 3; - optional bool ctrl_key = 4; - optional bool meta_key = 5; - optional string display_name = 6; +message CMsgTOSTreatment { + optional string l4s_detect = 1; + optional string up_ecn1 = 2; + optional string down_dscp45 = 3; } -// Used by: Authentication, AuthenticationSupport, Community, common.proto -message CMsgIPAddress { - optional fixed32 v4 = 1; - optional bytes v6 = 2; +message CMsgTrading_CancelTradeRequest { + optional uint64 other_steamid = 1; } -message CMsgMonitorInfo { - optional string selected_device_name = 1; - repeated CMsgMonitorInfo_MonitorInfo monitors = 2; +message CMsgTrading_InitiateTradeRequest { + optional uint32 trade_request_id = 1; + optional uint64 other_steamid = 2; + optional string other_name = 3; } -// Used by: common.proto -message CMsgMonitorInfo_MonitorInfo { - optional string monitor_device_name = 1; - optional string monitor_display_name = 2; +message CMsgTrading_InitiateTradeResponse { + optional uint32 response = 1; + optional uint32 trade_request_id = 2; + optional uint64 other_steamid = 3; + optional uint32 steamguard_required_days = 4; + optional uint32 new_device_cooldown_days = 5; + optional uint32 default_password_reset_probation_days = 6; + optional uint32 password_reset_probation_days = 7; + optional uint32 default_email_change_probation_days = 8; + optional uint32 email_change_probation_days = 9; } -message CMsgMulti { - optional uint32 size_unzipped = 1; - optional bytes message_body = 2; +message CMsgTrading_StartSession { + optional uint64 other_steamid = 1; } -message CMsgNetworkDeviceConnect { - optional uint32 device_id = 1 [default = 0]; - optional CMsgNetworkDeviceConnect_KnownAP ap_known = 2; - optional CMsgNetworkDeviceConnect_CustomAP ap_custom = 3; - optional CMsgNetworkDeviceConnect_Credentials credentials = 4; - optional CMsgNetworkDeviceIP4Config ip4 = 5; - optional CMsgNetworkDeviceIP6Config ip6 = 6; - optional CMsgNetworkDeviceConnect_Wireless wireless = 7; +message CMsgWebUITransportFailure { + optional uint32 connect_count = 1; } -// Used by: common.proto -message CMsgNetworkDeviceConnect_Credentials { - optional string username = 1; - optional string password = 2; +message CMsgWebUITransportInfo { + optional uint32 port = 1; + optional string auth_key = 2; } // Used by: common.proto -message CMsgNetworkDeviceConnect_CustomAP { - optional string ssid = 1; - optional int32 esecurity = 2; +message CNegotiatedConfig { + optional bool reliable_data = 1; + optional int32 selected_audio_codec = 2 [(webui.description) = "enum"]; + optional int32 selected_video_codec = 3 [(webui.description) = "enum"]; + repeated CStreamVideoMode available_video_modes_OBSOLETE = 4; + optional bool enable_remote_hid = 5; + optional bool enable_touch_input = 6; + optional bool disable_client_cursor = 7; } -// Used by: common.proto -message CMsgNetworkDeviceConnect_KnownAP { - optional uint32 ap_id = 1; +message CNegotiationCompleteMsg { } -// Used by: common.proto -message CMsgNetworkDeviceConnect_Wireless { - optional string band_filter = 1; +message CNegotiationInitMsg { + optional bool reliable_data = 1; + repeated int32 supported_audio_codecs = 2 [(webui.description) = "enum"]; + repeated int32 supported_video_codecs = 3 [(webui.description) = "enum"]; + optional bool supports_remote_hid = 4; + optional bool supports_touch_input = 5; + optional int32 os_type = 6; + optional int32 gaming_device_type = 7; } -// Used by: common.proto -message CMsgNetworkDeviceIP4Address { - optional int32 ip = 1 [default = 0]; - optional int32 netmask = 2; +message CNegotiationSetConfigMsg { + optional CNegotiatedConfig config = 1; + optional CStreamingClientConfig streaming_client_config = 2; + optional CStreamingClientCaps streaming_client_caps = 3; } -// Used by: common.proto -message CMsgNetworkDeviceIP4Config { - repeated CMsgNetworkDeviceIP4Address addresses = 1; - repeated int32 dns_ip = 2; - optional int32 gateway_ip = 3; - optional bool is_dhcp_enabled = 4; - optional bool is_default_route = 5; - optional bool is_enabled = 6 [default = false]; +message COverlayEnabledMsg { + optional bool enabled = 1; } -// Used by: common.proto -message CMsgNetworkDeviceIP6Address { - optional string ip = 1 [default = ""]; +message CPauseControllerInputMsg { } -// Used by: common.proto -message CMsgNetworkDeviceIP6Config { - repeated CMsgNetworkDeviceIP6Address addresses = 1; - repeated string dns_ip = 2; - optional string gateway_ip = 3; - optional bool is_dhcp_enabled = 4; - optional bool is_default_route = 5; - optional bool is_enabled = 6 [default = false]; +message CPauseMsg { } -message CMsgNetworkDevicesData { - repeated CMsgNetworkDevicesData_Device devices = 1; - optional bool is_wifi_enabled = 2; - optional bool is_wifi_scanning_enabled = 3; +// Used by: GameRecording, common.proto +message CPhaseAttribute { + optional string group = 1; + optional string value = 2; + optional uint32 priority = 3; } -// Used by: common.proto -message CMsgNetworkDevicesData_Device { - optional uint32 id = 1 [default = 0]; - optional int32 etype = 2; - optional int32 estate = 3; - optional string mac = 4; - optional string vendor = 5; - optional string product = 6; - optional CMsgNetworkDeviceIP4Config ip4 = 7; - optional CMsgNetworkDeviceIP6Config ip6 = 8; - optional CMsgNetworkDevicesData_Device_Wired wired = 9; - optional CMsgNetworkDevicesData_Device_Wireless wireless = 10; +message CProductInfo_ForceEmitPriceConversion { + optional int32 method = 1 [(webui.description) = "enum"]; } -// Used by: common.proto -message CMsgNetworkDevicesData_Device_Wired { - optional bool is_cable_present = 1 [default = false]; - optional uint32 speed_mbit = 2; - optional string friendly_name = 3; +message CQuitRequest { } // Used by: common.proto -message CMsgNetworkDevicesData_Device_Wireless { - repeated CMsgNetworkDevicesData_Device_Wireless_AP aps = 1; - optional int32 esecurity_supported = 2; +message CRecordedInput { + optional int32 type = 1 [(webui.description) = "enum"]; + optional uint32 timestamp = 2; + optional CInputTouchFingerDownMsg finger_down = 3; + optional CInputTouchFingerMotionMsg finger_motion = 4; + optional CInputTouchFingerUpMsg finger_up = 5; + optional CInputMouseMotionMsg mouse_motion = 6; + optional CInputMouseWheelMsg mouse_wheel = 7; + optional CInputMouseDownMsg mouse_down = 8; + optional CInputMouseUpMsg mouse_up = 9; + optional CInputKeyDownMsg key_down = 10; + optional CInputKeyUpMsg key_up = 11; + optional CInputTextMsg text = 12; + optional CRemoteHIDMsg hid = 13; } -// Used by: common.proto -message CMsgNetworkDevicesData_Device_Wireless_AP { - optional uint32 id = 1 [default = 0]; - optional int32 estrength = 2; - optional string ssid = 3; - optional bool is_active = 4; - optional bool is_autoconnect = 5; - optional int32 esecurity = 6; - optional string user_name = 7; - optional string password = 8; - optional int32 strength_raw = 9; - optional string band_filter = 10; - optional bool has_non_6ghz_channel = 11; - optional bool is_saved = 12; +message CRecordedInputStream { + repeated CRecordedInput entries = 1; } -message CMsgNetworkDeviceSetOptions { - optional CMsgNetworkDeviceSetOptions_Wireless wireless = 2; +message CRemoteClient_AddClientTask_Request { + optional fixed64 remote_client_id = 1; + optional CRemoteClient_Task task = 2; } -// Used by: common.proto -message CMsgNetworkDeviceSetOptions_Wireless { - optional uint32 ap_id = 1; - optional bool is_autoconnect = 2; - optional string band_filter = 3; +message CRemoteClient_AddClientTask_Response { } -message CMsgProtoBufHeader { - optional fixed64 steamid = 1; - optional int32 client_sessionid = 2; - optional uint32 routing_appid = 3; - optional fixed64 jobid_source = 10 [default = 18446744073709551615]; - optional fixed64 jobid_target = 11 [default = 18446744073709551615]; - optional string target_job_name = 12; - optional int32 eresult = 13 [default = 2]; - optional string error_message = 14; - optional uint32 ip = 15; - optional uint32 auth_account_flags = 16; - optional int32 transport_error = 17 [default = 1]; - optional uint64 messageid = 18 [default = 18446744073709551615]; - optional uint32 publisher_group_id = 19; - optional uint32 sysid = 20; - optional uint32 token_source = 22; - optional bool admin_spoofing_user = 23; - optional int32 seq_num = 24; - optional uint32 webapi_key_id = 25; - optional bool is_from_external_source = 26; - repeated uint32 forward_to_sysid = 27; - optional uint32 cm_sysid = 28; - optional bytes ip_v6 = 29; - optional uint32 launcher_type = 31 [default = 0]; - optional uint32 realm = 32 [default = 0]; - optional int32 timeout_ms = 33 [default = -1]; - optional string debug_source = 34; - optional uint32 debug_source_string_index = 35; - optional uint64 token_id = 36; - optional CMsgGCRoutingProtoBufHeader routing_gc = 37; - optional int32 session_disposition = 38 [default = 0, (webui.description) = "enum"]; - optional string wg_token = 39; - optional string webui_auth_key = 40; - repeated int32 exclude_client_sessionids = 41; - optional fixed64 admin_request_spoofing_steamid = 43; - optional bool is_valveds = 44; - optional fixed64 trace_tag = 45; +message CRemoteClient_CancelPairing_Notification { + optional fixed64 session_id = 1; } -message CMsgSelectOSBranchParams { - optional int32 branch = 1 [(webui.description) = "enum"]; - optional string custom_branch = 2; +// Used by: common.proto +message CRemoteClient_CancelPairing_Request { + optional fixed64 session_id = 1; } -message CMsgSetControllerActionSet { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional string new_display_name = 3; - optional string action_set_to_copy_key = 4; +// Used by: common.proto +message CRemoteClient_CancelPairing_Response { } -message CMsgSetControllerInputActivator { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional int32 source_binding_key = 3 [(webui.description) = "enum"]; - optional bool mode_shift = 4; - optional int32 input_key = 5 [(webui.description) = "enum"]; - optional int32 activator_index = 6; - optional int32 new_activation = 7 [(webui.description) = "enum"]; - optional CMsgControllerSetting new_setting = 8; - optional int32 modeid = 9; +message CRemoteClient_ClientLogin { + optional fixed64 remote_client_id = 1; + optional fixed64 token_id = 2; + optional CRemoteClient_DeviceDetails device_details = 3; } -message CMsgSetControllerInputActivatorEnabled { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional int32 source_binding_key = 3 [(webui.description) = "enum"]; - optional bool mode_shift = 4; - optional int32 input_key = 5 [(webui.description) = "enum"]; - optional int32 activator_index = 6; - optional bool enabled = 7; - optional int32 modeid = 8; +// Used by: common.proto +message CRemoteClient_CreateSession_Request { } -message CMsgSetControllerInputBinding { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional int32 source_binding_key = 3 [(webui.description) = "enum"]; - optional bool mode_shift = 4; - optional int32 input_key = 5 [(webui.description) = "enum"]; - optional int32 activator_index = 6; - optional int32 binding_index = 7; - optional CMsgControllerInputBinding new_binding = 8; - optional int32 source_mode = 9 [(webui.description) = "enum"]; - optional int32 modeid = 10; +// Used by: common.proto +message CRemoteClient_CreateSession_Response { + optional fixed64 session_id = 1; + optional int32 euniverse = 2; } -message CMsgSetControllerSourceMode { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional int32 source_binding_key = 3 [(webui.description) = "enum"]; - optional bool mode_shift = 4; - optional int32 new_mode = 5 [(webui.description) = "enum"]; - optional CMsgControllerInputGameActionBinding new_game_action = 6; - optional CMsgControllerSetting new_setting = 7; - optional string new_name = 8; - optional uint32 modeid = 9; - optional bool change_mode = 10; - optional bool new_virtual_menu = 11; - optional bool enable_virtual_menu_support = 12; +message CRemoteClient_DeleteSession_Notification { + optional fixed64 session_id = 1; } -message CMsgSetModeShiftButton { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional int32 modeid = 3; - optional int32 source = 4 [(webui.description) = "enum"]; - repeated int32 mode_shift_buttons_digital_io = 5 [(webui.description) = "enum"]; +// Used by: RemoteClient, common.proto +message CRemoteClient_DeviceDetails { + optional string device_friendly_name = 1; + optional int32 os_type = 2; + optional uint32 gaming_device_type = 3; +} + +message CRemoteClient_GetReplies_Request { + optional fixed64 session_id = 1; } // Used by: common.proto -message CMsgSteamDatagramConnectionQuality { - optional CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1; - optional CMsgSteamDatagramLinkLifetimeStats lifetime = 2; +message CRemoteClient_GetReplies_Response { + repeated bytes payload = 1; +} + +message CRemoteClient_LookupRemotePlayTogetherInvitation_Request { + optional string invitation_code = 1; +} + +message CRemoteClient_LookupRemotePlayTogetherInvitation_Response { + optional string invitation_url = 1; } // Used by: common.proto -message CMsgSteamDatagramLinkInstantaneousStats { - optional uint32 out_packets_per_sec_x10 = 1; - optional uint32 out_bytes_per_sec = 2; - optional uint32 in_packets_per_sec_x10 = 3; - optional uint32 in_bytes_per_sec = 4; - optional uint32 ping_ms = 5; - optional uint32 packets_dropped_pct = 6; - optional uint32 packets_weird_sequence_pct = 7; - optional uint32 peak_jitter_usec = 8; +message CRemoteClient_Offline_Notification { + optional fixed64 session_id = 1; + optional fixed64 steamid = 2; + optional fixed64 remote_client_id = 3; +} + +// Used by: RemoteClientSteamClient, common.proto +message CRemoteClient_RegisterStatusUpdate_Notification { + optional fixed64 session_id = 1; + optional fixed64 steamid = 2; + optional fixed64 device_id = 3; + optional bool disable_polling = 4; +} + +// Used by: RemoteClientSteamClient, common.proto +message CRemoteClient_RemotePacket_Notification { + optional fixed64 session_id = 1; + optional fixed64 steamid = 2; + optional bytes payload = 4; } // Used by: common.proto -message CMsgSteamDatagramLinkLifetimeStats { - optional uint32 connected_seconds = 2; - optional uint64 packets_sent = 3; - optional uint64 kb_sent = 4; - optional uint64 packets_recv = 5; - optional uint64 kb_recv = 6; - optional uint64 packets_recv_sequenced = 7; - optional uint64 packets_recv_dropped = 8; - optional uint64 packets_recv_out_of_order = 9; - optional uint64 packets_recv_duplicate = 10; - optional uint64 packets_recv_lurch = 11; - repeated uint64 multipath_packets_recv_sequenced = 12; - repeated uint64 multipath_packets_recv_later = 13; - optional uint32 multipath_send_enabled = 14; - optional uint64 packets_recv_out_of_order_corrected = 15; - optional uint32 quality_histogram_100 = 21; - optional uint32 quality_histogram_99 = 22; - optional uint32 quality_histogram_97 = 23; - optional uint32 quality_histogram_95 = 24; - optional uint32 quality_histogram_90 = 25; - optional uint32 quality_histogram_75 = 26; - optional uint32 quality_histogram_50 = 27; - optional uint32 quality_histogram_1 = 28; - optional uint32 quality_histogram_dead = 29; - optional uint32 quality_ntile_2nd = 30; - optional uint32 quality_ntile_5th = 31; - optional uint32 quality_ntile_25th = 32; - optional uint32 quality_ntile_50th = 33; - optional uint32 ping_histogram_25 = 41; - optional uint32 ping_histogram_50 = 42; - optional uint32 ping_histogram_75 = 43; - optional uint32 ping_histogram_100 = 44; - optional uint32 ping_histogram_125 = 45; - optional uint32 ping_histogram_150 = 46; - optional uint32 ping_histogram_200 = 47; - optional uint32 ping_histogram_300 = 48; - optional uint32 ping_histogram_max = 49; - optional uint32 ping_ntile_5th = 50; - optional uint32 ping_ntile_50th = 51; - optional uint32 ping_ntile_75th = 52; - optional uint32 ping_ntile_95th = 53; - optional uint32 ping_ntile_98th = 54; - optional uint32 jitter_histogram_negligible = 61; - optional uint32 jitter_histogram_1 = 62; - optional uint32 jitter_histogram_2 = 63; - optional uint32 jitter_histogram_5 = 64; - optional uint32 jitter_histogram_10 = 65; - optional uint32 jitter_histogram_20 = 66; +message CRemoteClient_SetPairingInfo_Request { + optional fixed64 session_id = 1; + optional fixed64 device_id = 2; + optional bytes request = 3; } // Used by: common.proto -message CMsgSteamDatagramP2PRoutingSummary { - optional CMsgSteamNetworkingICESessionSummary ice = 2; - optional CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3; +message CRemoteClient_SetPairingInfo_Response { } // Used by: common.proto -message CMsgSteamNetworkingICESessionSummary { - optional uint32 local_candidate_types = 1; - optional uint32 remote_candidate_types = 2; - optional uint32 initial_route_kind = 3; - optional uint32 initial_ping = 4; - optional uint32 negotiation_ms = 5; - optional uint32 initial_score = 6; - optional uint32 failure_reason_code = 7; - optional uint32 selected_seconds = 12; - optional uint32 user_settings = 13; - optional uint32 ice_enable_var = 14; - optional uint32 local_candidate_types_allowed = 15; - optional uint32 best_route_kind = 16; - optional uint32 best_ping = 17; - optional uint32 best_score = 18; - optional uint32 best_time = 19; +message CRemoteClient_StartPairing_Request { + optional fixed64 session_id = 1; } // Used by: common.proto -message CMsgSteamNetworkingP2PSDRRoutingSummary { - optional uint32 initial_ping = 1; - optional uint32 initial_ping_front_local = 2; - optional uint32 initial_ping_front_remote = 3; - optional uint32 initial_score = 4; - optional fixed32 initial_pop_local = 5; - optional fixed32 initial_pop_remote = 6; - optional uint32 negotiation_ms = 7; - optional uint32 selected_seconds = 8; - optional uint32 best_ping = 11; - optional uint32 best_ping_front_local = 12; - optional uint32 best_ping_front_remote = 13; - optional uint32 best_score = 14; - optional fixed32 best_pop_local = 15; - optional fixed32 best_pop_remote = 16; - optional uint32 best_time = 17; +message CRemoteClient_StartPairing_Response { + optional uint32 pin = 1; } -message CMsgSwapControllerSourceModes { - optional string action_set_key_a = 1; - optional string action_set_layer_key_a = 2; - optional int32 source_a = 3 [(webui.description) = "enum"]; - optional string action_set_key_b = 4; - optional string action_set_layer_key_b = 5; - optional int32 source_b = 6 [(webui.description) = "enum"]; +// Used by: RemoteClient, RemoteClientSteamClient +message CRemoteClient_SteamBroadcast_Notification { + optional fixed64 steamid = 1; + optional fixed64 clientid = 2; + optional bytes payload = 3; } -message CMsgSwapModeInputBindings { - optional string action_set_key = 1; - optional string action_set_layer_key = 2; - optional int32 source_binding_key = 3 [(webui.description) = "enum"]; - optional bool mode_shift = 4; - optional int32 modeid = 5; - repeated CMsgSwapModeInputBindings_CModeInputSwap swaps = 6; +// Used by: RemoteClient, RemoteClientSteamClient +message CRemoteClient_SteamToSteam_Notification { + optional fixed64 steamid = 1; + optional fixed64 src_clientid = 2; + optional fixed64 dst_clientid = 3; + optional uint32 secretid = 4; + optional bytes encrypted_payload = 5; } -// Used by: common.proto -message CMsgSwapModeInputBindings_CModeInputSwap { - optional int32 old_key = 1 [(webui.description) = "enum"]; - optional int32 new_key = 2 [(webui.description) = "enum"]; +// Used by: RemoteClientSteamClient, common.proto +message CRemoteClient_Task { + optional int32 type = 1 [(webui.description) = "enum"]; + optional fixed64 task_id = 2; + optional string url = 3; + optional int64 file_id = 4; +} + +// Used by: RemoteClientSteamClient, common.proto +message CRemoteClient_UnregisterStatusUpdate_Notification { + optional fixed64 session_id = 1; + optional fixed64 steamid = 2; } // Used by: common.proto -message CMsgSystemAudioManagerDevice { - optional CMsgSystemAudioManagerObject base = 1; - optional string name = 2; - optional string nick = 3; - optional string description = 4; - optional string api = 5; +message CRemoteHIDMsg { + optional bytes data = 1; + optional bool active_input = 2; +} + +// Used by: RemoteClient, RemoteClientSteamClient +message CRemotePlayTogether_Notification { + optional fixed64 steamid = 1; + optional CRemotePlayTogether_Notification_GroupUpdated group_updated = 2; +} + +// Used by: RemoteClient, RemoteClientSteamClient +message CRemotePlayTogether_Notification_ControllerSlot { + optional uint32 slotid = 1; + optional CRemotePlayTogether_Notification_Player player = 2; + optional int32 controller_type = 3; +} + +// Used by: RemoteClient, RemoteClientSteamClient +message CRemotePlayTogether_Notification_ControllerSlot_obsolete { + optional uint32 slotid = 1; + optional fixed64 steamid = 2; +} + +// Used by: RemoteClient, RemoteClientSteamClient +message CRemotePlayTogether_Notification_GroupUpdated { + optional fixed64 host_steamid = 1; + optional fixed64 host_clientid = 2; + repeated fixed64 players_obsolete = 3; + optional fixed64 host_gameid = 4; + repeated CRemotePlayTogether_Notification_ControllerSlot_obsolete controller_slots_obsolete = 5; + optional bool has_new_players = 6; + repeated CRemotePlayTogether_Notification_Player player_slots = 7; + repeated CRemotePlayTogether_Notification_ControllerSlot controller_slots = 8; +} + +// Used by: RemoteClient, RemoteClientSteamClient +message CRemotePlayTogether_Notification_Player { + optional fixed64 steamid = 1; + optional uint32 guestid = 2; + optional bytes avatar_hash = 3; + optional bool keyboard_enabled = 4; + optional bool mouse_enabled = 5; + optional bool controller_enabled = 6; +} + +message CRemotePlayTogetherGroupUpdateMsg { + repeated CRemotePlayTogetherGroupUpdateMsg_Player players = 1; + optional int32 player_index = 2; + optional string miniprofile_location = 3; + optional string game_name = 4; + optional string avatar_location = 5; + optional bool direct_input = 6; } // Used by: common.proto -message CMsgSystemAudioManagerLink { - optional CMsgSystemAudioManagerObject base = 1; - optional uint32 output_node_id = 2; - optional uint32 output_port_id = 3; - optional uint32 input_node_id = 4; - optional uint32 input_port_id = 5; +message CRemotePlayTogetherGroupUpdateMsg_Player { + optional uint32 accountid = 1; + optional uint32 guestid = 2; + optional bool keyboard_enabled = 3; + optional bool mouse_enabled = 4; + optional bool controller_enabled = 5; + repeated uint32 controller_slots = 6; + optional bytes avatar_hash = 7; +} + +message CResumeControllerInputMsg { +} + +message CResumeMsg { +} + +message CSaveTouchConfigLayoutMsg { + optional uint32 appid = 1; + optional bytes layout = 4; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message CSeasonPass { + optional uint32 appid = 1; + repeated CSeasonPassMilestone milestones = 2; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message CSeasonPassDateAndDisplay { + optional uint32 rtime = 1; + optional string coming_soon_display_type = 2; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message CSeasonPassMilestone { + optional int32 milestone_id = 1; + repeated CLocalizationToken title = 2; + optional uint32 appid = 3; + optional fixed64 event_gid = 4; + repeated CSeasonPassDateAndDisplay dates = 5; + optional bool shipped = 6; + optional uint32 rtime_complete = 7; + repeated CLocalizationToken milestone_desc = 9; + repeated CLocalizationToken image = 10; + optional bool backfilled_release = 11; + optional uint32 coming_soon_appid = 12; +} + +message CServerHandshakeMsg { + optional CStreamingServerHandshakeInfo info = 1; +} + +message CSetActivityMsg { + optional int32 activity = 1 [(webui.description) = "enum"]; + optional uint32 appid = 2; + optional uint64 gameid = 3; + optional string game_name = 4; +} + +message CSetBitrateOverrideMsg { + optional int32 value = 1; +} + +message CSetCapslockMsg { + optional bool pressed = 1; +} + +message CSetCaptureSizeMsg { + optional int32 width = 1; + optional int32 height = 2; +} + +message CSetCursorImageMsg { + optional uint64 cursor_id = 1; + optional int32 width = 2; + optional int32 height = 3; + optional int32 hot_x = 4; + optional int32 hot_y = 5; + optional bytes image = 6; +} + +message CSetCursorMsg { + optional uint64 cursor_id = 1; } -// Used by: common.proto -message CMsgSystemAudioManagerNode { - optional CMsgSystemAudioManagerObject base = 1; - optional uint32 device_id = 2; - optional string name = 3; - optional string nick = 4; - optional string description = 5; - optional int32 edirection = 6 [(webui.description) = "enum"]; - optional CMsgSystemAudioVolume volume = 7; +message CSetCursorScaleMsg { + optional float scale = 1; } -// Used by: common.proto -message CMsgSystemAudioManagerObject { - optional uint32 id = 1; - optional fixed32 rtime_last_update = 2; +message CSetFlashStateMsg { + optional uint32 flags = 1; + optional uint32 count = 2; + optional uint32 timeout_ms = 3; } -// Used by: common.proto -message CMsgSystemAudioManagerPort { - optional CMsgSystemAudioManagerObject base = 1; - optional uint32 node_id = 3; - optional string name = 4; - optional string alias = 5; - optional int32 etype = 6 [(webui.description) = "enum"]; - optional int32 edirection = 7 [(webui.description) = "enum"]; - optional bool is_physical = 8; - optional bool is_terminal = 9; - optional bool is_control = 10; - optional bool is_monitor = 11; +message CSetGammaRampMsg { + optional bytes gamma_ramp = 1; } -message CMsgSystemAudioManagerState { - optional fixed32 rtime_filter = 1; - optional int32 counter = 2; - optional CMsgSystemAudioManagerStateHW hw = 3; +message CSetIconMsg { + optional int32 width = 1; + optional int32 height = 2; + optional bytes image = 3; } -// Used by: common.proto -message CMsgSystemAudioManagerStateHW { - repeated CMsgSystemAudioManagerDevice devices = 1; - repeated CMsgSystemAudioManagerNode nodes = 2; - repeated CMsgSystemAudioManagerPort ports = 3; - repeated CMsgSystemAudioManagerLink links = 4; +message CSetInputTemporarilyDisabledMsg { + optional bool disabled = 1; } -message CMsgSystemAudioManagerUpdateSomething { - optional int32 counter = 1; +message CSetKeymapMsg { + optional CStreamingKeymap keymap = 1; } -// Used by: common.proto -message CMsgSystemAudioVolume { - repeated CMsgSystemAudioVolume_ChannelEntry entries = 1; - optional bool is_muted = 2; +message CSetQoSMsg { + optional bool use_qos = 1; } -// Used by: common.proto -message CMsgSystemAudioVolume_ChannelEntry { - optional int32 echannel = 1 [(webui.description) = "enum"]; - optional float volume = 2; +message CSetQualityOverrideMsg { + optional int32 value = 1; } -// Used by: common.proto -message CMsgSystemDisplay { - optional int32 id = 1; - optional string name = 2; - optional string description = 3; - optional bool is_primary = 4; - optional bool is_enabled = 5; - optional bool is_internal = 6; - optional bool has_mode_override = 7; - optional int32 width_mm = 8; - optional int32 height_mm = 9; - optional int32 current_mode_id = 10; - repeated CMsgSystemDisplayMode modes = 11; - optional int32 refresh_rate_min = 12; - optional int32 refresh_rate_max = 13; - optional bool is_vrr_capable = 14; - optional bool is_vrr_output_active = 15; - optional bool is_hdr_capable = 16; - optional bool is_hdr_output_active = 17; - repeated int32 supported_refresh_rates = 18; - optional int32 rgb_range = 19 [(webui.description) = "enum"]; +message CSetSpectatorModeMsg { + optional bool enabled = 1; } -// Used by: common.proto -message CMsgSystemDisplayManagerGameResolution { - optional uint32 width = 1; - optional uint32 height = 2; +message CSetStreamingClientConfig { + optional CStreamingClientConfig config = 1; } -message CMsgSystemDisplayManagerSetMode { - optional int32 display_id = 1; - optional int32 mode_id = 2; - optional int32 rgb_range = 3 [(webui.description) = "enum"]; +message CSetSupportedColorspacesMsg { + repeated int32 supported_colorspaces = 1 [(webui.description) = "enum"]; } -message CMsgSystemDisplayManagerState { - repeated CMsgSystemDisplay displays = 1; - optional bool is_mode_switching_supported = 2; - optional int32 compatibility_mode = 3 [(webui.description) = "enum"]; - optional CMsgSystemDisplayManagerGameResolution game_resolution_override_native = 4; - optional CMsgSystemDisplayManagerGameResolution game_resolution_override_default = 5; +message CSetTargetBitrateMsg { + optional int32 bitrate = 1; } -// Used by: common.proto -message CMsgSystemDisplayMode { - optional int32 id = 1; - optional int32 width = 2; - optional int32 height = 3; - optional int32 refresh_hz = 4; +message CSetTargetFramerateMsg { + optional uint32 framerate = 1; + optional uint32 reasons = 2; + optional uint32 framerate_numerator = 3; + optional uint32 framerate_denominator = 4; } -message CMsgSystemDockState { - optional CMsgSystemDockUpdateState update_state = 1; +message CSetTitleMsg { + optional string text = 1; } -message CMsgSystemDockUpdateFirmware { - optional bool check_only = 1; +message CSetTouchConfigDataMsg { + optional uint32 appid = 1; + optional uint32 revision = 2; + optional bytes data = 3; + optional bytes layout = 4; + optional uint64 creator = 5; } -// Used by: common.proto -message CMsgSystemDockUpdateState { - optional int32 state = 1 [(webui.description) = "enum"]; - optional fixed32 rtime_last_checked = 2; - optional string version_current = 3; - optional string version_available = 4; - optional float stage_progress = 5; - optional fixed32 rtime_estimated_completion = 6; - optional int32 old_fw_workaround = 7; +message CSetTouchIconDataMsg { + optional uint32 appid = 1; + optional string icon = 2; + optional bytes data = 3; } -message CMsgSystemManagerSettings { - optional float idle_backlight_dim_battery_seconds = 1; - optional float idle_backlight_dim_ac_seconds = 2; - optional bool is_adaptive_brightness_available = 6; - optional bool display_adaptive_brightness_enabled = 7; - optional bool display_nightmode_enabled = 10; - optional float display_nightmode_tintstrength = 11; - optional float display_nightmode_maxhue = 12; - optional float display_nightmode_maxsat = 13; - optional float display_nightmode_uiexp = 14; - optional float display_nightmode_blend = 15; - optional bool display_nightmode_reset = 16; - optional bool display_nightmode_schedule_enabled = 17; - optional float display_nightmode_schedule_starttime = 18; - optional float display_nightmode_schedule_endtime = 19; - optional bool display_diagnostics_enabled = 20; - optional float als_lux_primary = 21; - optional float als_lux_median = 22; - optional float display_backlight_raw = 23; - optional float display_brightness_adaptivemin = 24; - optional float display_brightness_adaptivemax = 25; - optional bool is_fan_control_available = 27; - optional int32 fan_control_mode = 28 [(webui.description) = "enum"]; - optional bool is_display_brightness_available = 29; - optional bool is_display_colormanagement_available = 31; - optional float display_colorgamut = 32; - optional float als_lux_alternate = 33; - optional bool is_display_colortemp_available = 34; - optional float display_colortemp = 35; - optional float display_colortemp_default = 36; - optional bool display_colortemp_enabled = 37; - optional int32 display_colorgamut_labelset = 38 [(webui.description) = "enum"]; - optional float display_brightness_overdrive_hdr_split = 39; +message CShowCursorMsg { + optional float x_normalized = 1; + optional float y_normalized = 2; + optional bool locked = 3; } -// Used by: common.proto -message CMsgSystemPerfDiagnosticEntry { - optional string name = 1; - optional string value = 2; +message CShowOnScreenKeyboardMsg { } -message CMsgSystemPerfDiagnosticInfo { - repeated CMsgSystemPerfDiagnosticEntry entries = 1; - repeated CMsgSystemPerfNetworkInterface interfaces = 2; - optional float battery_temp_c = 3; +message CStartAudioDataMsg { + optional uint32 channel = 2; + optional int32 codec = 3 [(webui.description) = "enum"]; + optional bytes codec_data = 4; + optional uint32 frequency = 5; + optional uint32 channels = 6; } -// Used by: common.proto -message CMsgSystemPerfLimits { - optional int32 cpu_governor_manual_min_mhz = 1; - optional int32 cpu_governor_manual_max_mhz = 2; - optional int32 fsr_sharpness_min = 3; - optional int32 fsr_sharpness_max = 4; - optional bool perf_overlay_is_standalone = 7; - optional bool is_manual_display_refresh_rate_available = 9; - optional int32 display_refresh_manual_hz_min = 11; - optional int32 display_refresh_manual_hz_max = 12; - repeated int32 fps_limit_options = 13; - optional int32 tdp_limit_min = 14; - optional int32 tdp_limit_max = 15; - optional int32 display_external_refresh_manual_hz_min = 19; - optional int32 display_external_refresh_manual_hz_max = 20; - repeated int32 fps_limit_options_external = 21; - optional bool is_vrr_supported = 23; - optional bool is_dynamic_refresh_rate_in_steam_supported = 24; - repeated int32 split_scaling_filters_available = 26 [(webui.description) = "enum"]; - repeated int32 split_scaling_scalers_available = 27 [(webui.description) = "enum"]; - optional bool disable_refresh_rate_management = 30; +message CStartNetworkTestMsg { + optional uint32 frames = 1; + optional uint32 framerate = 2; + optional uint32 bitrate_kbps = 3; + optional uint32 burst_bitrate_kbps = 4; + optional bool bandwidth_test = 5; } -// Used by: common.proto -message CMsgSystemPerfNetworkInterface { - optional string name = 1; - optional double timestamp = 2; - optional int64 tx_bytes_total = 3; - optional int64 rx_bytes_total = 4; - optional int32 tx_bytes_per_sec = 5; - optional int32 rx_bytes_per_sec = 6; +message CStartVideoDataMsg { + optional uint32 channel = 1; + optional int32 codec = 2 [(webui.description) = "enum"]; + optional bytes codec_data = 3; + optional uint32 width = 4; + optional uint32 height = 5; + optional int32 colorspace = 6 [(webui.description) = "enum"]; + optional bool video_frame_headers = 7; +} + +message CSteamVR_AudioSettings_ChangeSettings_Request { + optional CSteamVR_AudioSettings_Settings settings = 1; +} + +message CSteamVR_AudioSettings_RegisterForSettings_Request { } // Used by: common.proto -message CMsgSystemPerfSettings { - optional CMsgSystemPerfSettingsGlobal global = 1; - optional CMsgSystemPerfSettingsPerApp per_app = 2; +message CSteamVR_AudioSettings_Settings { + optional CSteamVR_AudioSettings_Settings_Channel main = 1; + optional CSteamVR_AudioSettings_Settings_Channel audio_mirror = 2; + optional CSteamVR_AudioSettings_Settings_Channel microphone = 3; } // Used by: common.proto -message CMsgSystemPerfSettingsGlobal { - optional float diagnostic_update_rate = 1; - optional int32 graphics_profiling_service_state = 3 [(webui.description) = "enum"]; - optional int32 perf_overlay_service_state = 4 [(webui.description) = "enum"]; - optional int32 perf_overlay_level = 5 [(webui.description) = "enum"]; - optional bool is_show_perf_overlay_over_steam_enabled = 6; - optional bool is_advanced_settings_enabled = 7; - optional bool allow_external_display_refresh_control = 8; - optional int32 hdr_on_sdr_tonemap_operator = 12 [(webui.description) = "enum"]; - optional bool is_hdr_debug_heatmap_enabled = 13; - optional bool force_hdr_wide_gammut_for_sdr = 15 [default = true]; - optional bool is_color_management_enabled = 21; - optional float sdr_to_hdr_brightness = 22; +message CSteamVR_AudioSettings_Settings_Channel { + optional bool available = 1; + optional bool muted = 2; + optional float volume = 3; +} + +message CSteamVR_AudioSettings_SettingsChanged_Notification { + optional CSteamVR_AudioSettings_Settings settings = 1; } // Used by: common.proto -message CMsgSystemPerfSettingsPerApp { - optional int32 fps_limit = 2; - optional bool is_variable_resolution_enabled = 3; - optional bool is_dynamic_refresh_rate_enabled = 4; - optional int32 tdp_limit = 5; - optional int32 cpu_governor = 6 [(webui.description) = "enum"]; - optional int32 cpu_governor_manual_mhz = 7; - optional int32 scaling_filter = 8; - optional int32 fsr_sharpness = 9; - optional bool is_fps_limit_enabled = 10; - optional bool is_tdp_limit_enabled = 11; - optional bool is_low_latency_mode_enabled = 12; - optional int32 display_refresh_manual_hz = 13; - optional bool is_game_perf_profile_enabled = 14; - optional int32 display_external_refresh_manual_hz = 17; - optional int32 fps_limit_external = 18; - optional bool is_tearing_enabled = 19; - optional bool is_vrr_enabled = 20; - optional bool use_dynamic_refresh_rate_in_steam = 23; - optional int32 split_scaling_filter = 24 [(webui.description) = "enum"]; - optional int32 split_scaling_scaler = 25 [(webui.description) = "enum"]; +message CSteamVR_ControllerPairing_Controller { + optional string serial_number = 1; + optional int32 role = 2 [(webui.description) = "enum"]; } -message CMsgSystemPerfState { - optional CMsgSystemPerfLimits limits = 1; - optional CMsgSystemPerfSettings settings = 2; - optional uint64 current_game_id = 3; - optional uint64 active_profile_game_id = 4; +message CSteamVR_ControllerPairing_Request { + optional CSteamVR_ControllerPairing_Request_Update update = 1; + optional CSteamVR_ControllerPairing_Request_StartPairing start_pairing = 2; + optional CSteamVR_ControllerPairing_Request_StopPairing stop_pairing = 3; + optional CSteamVR_ControllerPairing_Request_IdentifyController identify_controller = 4; + optional CSteamVR_ControllerPairing_Request_DisconnectController disconnect_controller = 5; + optional CSteamVR_ControllerPairing_Request_DisconnectAllControllers disconnect_all_controllers = 6; + optional CSteamVR_ControllerPairing_Request_UnpairController unpair_controller = 7; + optional CSteamVR_ControllerPairing_Request_UnpairAllControllers unpair_all_controllers = 8; + optional CSteamVR_ControllerPairing_Request_UnpairDisconnectedControllers unpair_disconnected_controllers = 9; } -message CMsgSystemPerfUpdateSettings { - optional uint64 gameid = 1; - optional bool reset_to_default = 2; - optional CMsgSystemPerfSettings settings_delta = 3; - optional bool skip_storage_update = 4; +// Used by: common.proto +message CSteamVR_ControllerPairing_Request_DisconnectAllControllers { } -message CMsgSystemUpdateApplyParams { - repeated int32 apply_types = 1 [(webui.description) = "enum"]; +// Used by: common.proto +message CSteamVR_ControllerPairing_Request_DisconnectController { + optional string serial_number = 1; } // Used by: common.proto -message CMsgSystemUpdateApplyResult { - optional int32 type = 1 [(webui.description) = "enum"]; - optional uint32 eresult = 2 [default = 2]; - optional bool requires_client_restart = 3 [default = false]; - optional bool requires_system_restart = 4 [default = false]; +message CSteamVR_ControllerPairing_Request_IdentifyController { + optional string serial_number = 1; } // Used by: common.proto -message CMsgSystemUpdateCheckResult { - optional int32 type = 1 [(webui.description) = "enum"]; - optional uint32 eresult = 2 [default = 2]; - optional fixed32 rtime_checked = 3; - optional bool available = 4; - optional string version = 5; - optional string auto_message = 6; - optional bool system_restart_pending = 7; +message CSteamVR_ControllerPairing_Request_StartPairing { + optional uint32 timeout_seconds = 1; } // Used by: common.proto -message CMsgSystemUpdateProgress { - optional float stage_progress = 1; - optional int64 stage_size_bytes = 2; - optional fixed32 rtime_estimated_completion = 3; +message CSteamVR_ControllerPairing_Request_StopPairing { } -message CMsgSystemUpdateState { - optional int32 state = 1 [(webui.description) = "enum"]; - optional CMsgSystemUpdateProgress progress = 2; - repeated CMsgSystemUpdateCheckResult update_check_results = 3; - repeated CMsgSystemUpdateApplyResult update_apply_results = 4; - optional bool supports_os_updates = 5; +// Used by: common.proto +message CSteamVR_ControllerPairing_Request_UnpairAllControllers { } -message CMsgWebUITransportFailure { - optional uint32 connect_count = 1; +// Used by: common.proto +message CSteamVR_ControllerPairing_Request_UnpairController { + optional string serial_number = 1; } -message CProductImpressionsFromClient_Notification { - repeated CProductImpressionsFromClient_Notification_Impression impressions = 1; +// Used by: common.proto +message CSteamVR_ControllerPairing_Request_UnpairDisconnectedControllers { } // Used by: common.proto -message CProductImpressionsFromClient_Notification_Impression { - optional int32 type = 1 [(webui.description) = "enum"]; - optional uint32 appid = 2; - optional uint32 num_impressions = 3; +message CSteamVR_ControllerPairing_Request_Update { } -message CRemotePlay_SessionStopped_Notification { - optional fixed64 record_id = 1; - optional bool used_x264 = 2; - optional bool used_h264 = 3; - optional bool used_hevc = 4; +message CSteamVR_ControllerPairing_State_Message { + optional uint32 total_connection_slots = 1; + optional bool is_pairing = 2; + repeated CSteamVR_ControllerPairing_Controller connected_controller = 3; + repeated CSteamVR_ControllerPairing_Controller paired_controller = 4; } -message CSteamVR_AudioSettings_ChangeSettings_Request { - optional CSteamVR_AudioSettings_Settings settings = 1; +// Used by: common.proto +message CSteamVR_ControllerUpdate_Controller { + optional string serial_number = 1; + optional int32 role = 2 [(webui.description) = "enum"]; + optional float progress_pct = 3; + optional bool has_started = 4; + optional int32 phase = 5 [(webui.description) = "enum"]; } -message CSteamVR_AudioSettings_RegisterForSettings_Request { +message CSteamVR_ControllerUpdate_Request { + optional CSteamVR_ControllerUpdate_Request_UpdateState update_state = 1; + optional CSteamVR_ControllerUpdate_Request_StartUpdate start_update = 2; + optional CSteamVR_ControllerUpdate_Request_IdentifyController identify_controller = 3; } // Used by: common.proto -message CSteamVR_AudioSettings_Settings { - optional CSteamVR_AudioSettings_Settings_Channel main = 1; - optional CSteamVR_AudioSettings_Settings_Channel audio_mirror = 2; - optional CSteamVR_AudioSettings_Settings_Channel microphone = 3; +message CSteamVR_ControllerUpdate_Request_IdentifyController { + optional string serial_number = 1; } // Used by: common.proto -message CSteamVR_AudioSettings_Settings_Channel { - optional bool available = 1; - optional bool muted = 2; - optional float volume = 3; +message CSteamVR_ControllerUpdate_Request_StartUpdate { + optional string serial_number = 1; } -message CSteamVR_AudioSettings_SettingsChanged_Notification { - optional CSteamVR_AudioSettings_Settings settings = 1; +// Used by: common.proto +message CSteamVR_ControllerUpdate_Request_UpdateState { +} + +message CSteamVR_ControllerUpdate_State_Message { + repeated CSteamVR_ControllerUpdate_Controller controller = 3; +} + +message CSteamVR_GuidedTour_StartPlayspaceSetup { } message CSteamVR_Header { @@ -2560,6 +5861,7 @@ message CSteamVR_MultiLinkStatusUpdate_Message { message CSteamVR_OverlayInputFocusChanged_Message { optional string overlay_key = 1; optional uint32 flags = 2; + optional uint32 system_panel_interaction_mode = 3; } message CSteamVR_PushOverlayInputFocus_Message { @@ -2575,6 +5877,11 @@ message CSteamVR_Settings_SetValue_Request { optional string string = 6; } +message CSteamVR_Settings_SetValue_Response { + optional bool success = 1; + optional string error = 2; +} + // Used by: common.proto message CSteamVR_Vector3 { optional float x = 1; @@ -2741,6 +6048,15 @@ message CSteamVR_WebRTC_OnDataChannel_Notification { optional string label = 3; } +message CStopAudioDataMsg { +} + +message CStopRequest { +} + +message CStopVideoDataMsg { +} + // Used by: PartnerStoreBrowse, StoreBrowse message CStoreBrowse_GetItems_Request { repeated StoreItemID ids = 1; @@ -2789,6 +6105,11 @@ message CStorePageFilter_StoreFilter { optional string cache_key = 2; } +message CStreamDataLostMsg { + repeated uint32 packets = 1; +} + +// Used by: common.proto message CStreamingClientCaps { optional string system_info = 1; optional bool system_can_suspend = 2; @@ -2806,8 +6127,10 @@ message CStreamingClientCaps { repeated int32 supported_audio_codecs = 14 [(webui.description) = "enum"]; repeated int32 supported_video_codecs = 15 [(webui.description) = "enum"]; optional bool can_toggle_fullscreen = 16; + optional bool supports_video_frame_header = 17; } +// Used by: common.proto message CStreamingClientConfig { optional int32 quality = 1 [default = 2, (webui.description) = "enum"]; optional uint32 desired_resolution_x = 2; @@ -2843,6 +6166,36 @@ message CStreamingClientConfig { optional int32 window_frame_offset_x = 33; optional int32 window_frame_offset_y = 34; optional bool enable_video_pyrowave = 35 [default = false]; + optional bool pyrowave_custom_bitrate_OBSOLETE = 36; + optional int32 pyrowave_custom_bitrate_kbps_OBSOLETE = 37; + optional float pyrowave_quality_modifier = 38; + optional bool pyrowave_yuv444 = 39; + optional int32 pyrowave_bitrate_kbps = 40 [default = -1]; + optional int32 display_style = 41 [default = 0, (webui.description) = "enum"]; + optional int32 hdr_mode = 42 [default = 0, (webui.description) = "enum"]; +} + +// Used by: common.proto +message CStreamingClientHandshakeInfo { + optional int32 network_test = 2; +} + +// Used by: common.proto +message CStreamingKeymap { + repeated CStreamingKeymapEntry entries = 1; +} + +// Used by: common.proto +message CStreamingKeymapEntry { + optional int32 scancode = 1; + optional int32 normal_keycode = 2; + optional int32 shift_keycode = 3; + optional int32 capslock_keycode = 4; + optional int32 shift_capslock_keycode = 5; + optional int32 altgr_keycode = 6; + optional int32 altgr_shift_keycode = 7; + optional int32 altgr_capslock_keycode = 8; + optional int32 altgr_shift_capslock_keycode = 9; } message CStreamingServerConfig { @@ -2861,6 +6214,18 @@ message CStreamingServerConfig { optional bool enable_traffic_priority = 13; } +// Used by: common.proto +message CStreamingServerHandshakeInfo { + optional int32 mtu = 1; +} + +message CStreamingSessionStats { + optional float frame_loss_percentage = 1; + optional float average_network_time_ms = 2; + optional float stddev_network_time_ms = 3; + optional string test_data = 4; +} + // Used by: common.proto message CStreamVideoLimit { optional int32 codec = 1 [(webui.description) = "enum"]; @@ -2878,6 +6243,66 @@ message CStreamVideoMode { optional uint32 refresh_rate_denominator = 5; } +message CStreamVideoOverflowMsg { + optional uint32 first_frame_id = 1; + optional uint32 last_frame_id = 2; +} + +message CSystemSuspendMsg { +} + +// Used by: GameRecording, common.proto +message CTimelineTag { + optional string name = 1; + optional string group = 2; + optional string icon = 3; + optional uint32 priority = 4; +} + +message CToggleMagnificationMsg { +} + +message CTouchActionSetActiveMsg { + optional uint32 appid = 1; + optional int32 actionset_id = 2; +} + +message CTouchActionSetLayerAddedMsg { + optional uint32 appid = 1; + optional int32 actionset_id = 2; +} + +message CTouchActionSetLayerRemovedMsg { + optional uint32 appid = 1; + optional int32 actionset_id = 2; +} + +message CTouchConfigActiveMsg { + optional uint32 appid = 1; + optional uint32 revision = 2; + optional uint64 creator = 3; +} + +message CTransportSignalMsg { + optional CTransportSignalMsg_WebRTCMessage webrtc = 1; + repeated bytes sdr = 2; +} + +// Used by: common.proto +message CTransportSignalMsg_WebRTCMessage { + optional bool greeting = 1; + optional string offer = 2; + optional string answer = 3; + optional CTransportSignalMsg_WebRTCMessage_Candidate candidate = 4; +} + +// Used by: common.proto +message CTransportSignalMsg_WebRTCMessage_Candidate { + optional string sdp_mid = 1; + optional int32 sdp_mline_index = 2; + optional string candidate = 3; +} + // Used by: Test_TransportError, TransportValidation message CTransportValidation_AppendToString_Request { repeated string append_strings = 1; @@ -2918,6 +6343,43 @@ message CVideo_GameRecordingSegmentInfo { optional string representation_name = 4; } +message CVideoDecoderInfoMsg { + optional string info = 1; + optional int32 threads = 2; +} + +message CVideoEncoderInfoMsg { + optional string info = 1; +} + +message CVideoFrameHeader { + optional uint32 frame_id = 1; + optional uint32 timestamp = 2; + optional int32 codec = 3 [(webui.description) = "enum"]; + optional uint32 pixel_bits = 4; + optional bool yuv420 = 5; + optional bool yuv444 = 6; + optional int32 colorspace = 7 [(webui.description) = "enum"]; + optional uint32 min_luminance = 8; + optional uint32 max_luminance = 9; + optional uint32 sdr_luminance = 10; + optional uint32 width = 11; + optional uint32 height = 12; + optional bool cursor_captured = 13; +} + +message CVirtualHereReadyMsg { + optional uint32 licensed_device_count = 1; +} + +message CVirtualHereRequestMsg { + optional string hostname = 1; +} + +message CVirtualHereShareDeviceMsg { + optional string device_address = 1; +} + message CVirtualMenuCreateDestroy { optional bool created = 1; optional uint32 controller_idx = 2; @@ -2971,6 +6433,10 @@ message CVirtualMenuKey { optional uint32 binding_type = 14; } +message CVRConnectionReady { + optional string connect_params = 1; +} + // Used by: common.proto message CVRGamepadUI_Frame { optional uint32 frame_id = 1; @@ -2982,7 +6448,7 @@ message CVRGamepadUI_Frame { repeated string steamui_page_overlay_keys = 7; optional bool is_streaming_client = 8; optional int32 dock_location = 9 [(webui.description) = "enum"]; - optional string tmp_title = 1000; + optional uint32 game_app_id = 10; } // Used by: common.proto @@ -3003,6 +6469,10 @@ message CVRGamepadUI_Frame_FrameControls_Item { optional uint32 action_id = 2; } +message CVRGamepadUI_Frame_FrameControls_Item_SteamMainControlsOptions { + optional bool allow_show_as_active = 1; +} + // Used by: common.proto message CVRGamepadUI_Frame_FrameMenu { repeated CVRGamepadUI_Frame_FrameMenu_Item items_for_left_frame_menu = 1; @@ -3033,6 +6503,13 @@ message CVRGamepadUI_Frame_FrameMenu_Item_SteamMainMenuOptions { optional bool allow_show_as_active = 1; } +message CVRGamepadUI_Message_CycleDashboardFocus_Request { + optional uint32 target_frame_id = 1; +} + +message CVRGamepadUI_Message_CycleDashboardFocus_Response { +} + message CVRGamepadUI_Message_DashboardActionInvoked_Request { optional uint32 action_id = 1; optional bool toggle_value = 2; @@ -3075,6 +6552,15 @@ message CVRGamepadUI_Message_FocusDashboardBar_Request { message CVRGamepadUI_Message_FocusDashboardBar_Response { } +message CVRGamepadUI_Message_GamepadButtonAction_Request { + optional int32 button = 1 [(webui.description) = "enum"]; + optional bool button_down = 2; + optional bool repeat = 3; +} + +message CVRGamepadUI_Message_GamepadButtonAction_Response { +} + message CVRGamepadUI_Message_GetAppIcon_Request { optional uint32 app_id = 1; } @@ -3147,6 +6633,14 @@ message CVRGamepadUI_Message_ResetHMDSettings_Request { message CVRGamepadUI_Message_ResetHMDSettings_Response { } +message CVRGamepadUI_Message_SetAppVRInputPreference_Request { + optional uint32 app_id = 1; + optional bool prefers_steam_input = 2; +} + +message CVRGamepadUI_Message_SetAppVRInputPreference_Response { +} + message CVRGamepadUI_Message_SetCurrentLanguage_Request { optional string language = 1; } @@ -3179,6 +6673,28 @@ message CVRGamepadUI_Message_SetHMDSettings_Request { message CVRGamepadUI_Message_SetHMDSettings_Response { } +message CVRGamepadUI_Message_SetPeripheralIndicatorSuppressed_Request { + optional int32 indicator = 1 [(webui.description) = "enum"]; + optional bool suppressed = 2; +} + +message CVRGamepadUI_Message_SetPeripheralIndicatorSuppressed_Response { +} + +message CVRGamepadUI_Message_SetSpatializeEnabled_Request { + optional bool enabled = 1; +} + +message CVRGamepadUI_Message_SetSpatializeEnabled_Response { +} + +message CVRGamepadUI_Message_SetSpatializeSurroundEnabled_Request { + optional bool enabled = 1; +} + +message CVRGamepadUI_Message_SetSpatializeSurroundEnabled_Response { +} + message CVRGamepadUI_Message_ShowDashboardPopup_Request { optional uint32 dashboard_popup_id = 1; optional string popup_overlay_key = 2; @@ -3324,12 +6840,32 @@ message CVRGamepadUIShared_Icon { optional uint32 hwnd = 4; } +message CVRGamepadUIShared_PathProperty_ClientSettings { + optional bool enable_ui_sounds = 1; +} + message CVRGamepadUIShared_PathProperty_ClientUserInfo { optional bool logged_in = 1; optional bool valve_email = 2; optional bool developer_mode_enabled = 3; } +message CVRGamepadUIShared_PathProperty_Controllers { + repeated CVRGamepadUIShared_PathProperty_Controllers_Controller controllers = 1; + optional uint32 current_controller_index = 2; +} + +// Used by: common.proto +message CVRGamepadUIShared_PathProperty_Controllers_Controller { + optional uint32 controller_index = 1; + optional string name = 2; + optional int32 controller_type = 3; + optional int32 xinput_index = 4; + optional string serial_number = 5; + optional uint32 vendor_id = 6; + optional uint32 product_id = 7; +} + message CVRGamepadUIShared_PathProperty_DashboardBarActions { repeated CVRGamepadUIShared_DEPRECATED_DashboardBarAction deprecated_actions = 1; repeated CVRGamepadUIShared_Action defined_actions = 2; @@ -3357,6 +6893,7 @@ message CVRGamepadUIShared_PathProperty_DashboardState { optional bool dashboard_bar_or_child_popup_focused = 2; optional int32 vrlink_role = 3 [(webui.description) = "enum"]; optional bool vrlink_unified_dashboard = 4; + optional string cycle_dashboard_focus_label = 5; } message CVRGamepadUIShared_PathProperty_DashboardTabs { @@ -3403,6 +6940,7 @@ message CVRGamepadUIShared_PathProperty_HMDSettings { repeated uint32 supersample_effective_resolution = 15; optional uint32 frames_to_throttle_value = 20; optional bool motion_smoothing_value = 21; + optional uint32 gamescope_framerate_limit = 22; optional bool env_theater_active = 30; optional CVRGamepadUIShared_RichFloat env_brightness_construct_theater = 31; optional CVRGamepadUIShared_RichFloat env_brightness_construct_nominal = 32; @@ -3410,6 +6948,18 @@ message CVRGamepadUIShared_PathProperty_HMDSettings { optional bool perf_graph_in_hmd_value = 51; optional bool record_vr_stats_value = 52; optional bool record_tracking_value = 53; + optional string performance_profile_name = 54; + optional string playtime_profile_name = 55; +} + +message CVRGamepadUIShared_PathProperty_PeripheralIndicators { + repeated CVRGamepadUIShared_PathProperty_PeripheralIndicators_Indicator indicators = 1; +} + +// Used by: common.proto +message CVRGamepadUIShared_PathProperty_PeripheralIndicators_Indicator { + optional int32 type = 1 [(webui.description) = "enum"]; + optional bool is_suppressed = 2; } message CVRGamepadUIShared_PathProperty_PowerOptions { @@ -3447,10 +6997,12 @@ message CVRGamepadUIShared_RichFloat { } // Used by: common.proto -message GamePerformanceSettings { - optional int32 setting = 1 [(webui.description) = "enum"]; - optional uint32 game_resolution_width = 2; - optional uint32 game_resolution_height = 3; +message EncryptedAppTicket { + optional uint32 ticket_version_no = 1; + optional uint32 crc_encryptedticket = 2; + optional uint32 cb_encrypteduserdata = 3; + optional uint32 cb_encrypted_appownershipticket = 4; + optional bytes encrypted_ticket = 5; } // Used by: LoyaltyRewards, SaleItemRewards @@ -3498,6 +7050,12 @@ message LoyaltyRewardDefinition_CommunityItemData { optional bool tiled = 13; } +// Used by: common.proto +message MMSKeyValuePair { + optional string name = 1; + optional string value = 2; +} + message SiteServerUI_CancelLogin_Request { } @@ -3626,6 +7184,25 @@ message SiteServerUI_Status_Response { optional int32 acct_status = 5; } +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message SteamAward { + optional int32 voteid = 1; + optional SteamAward_Localization localization = 2; + optional int32 award_year = 3; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message SteamAward_Localization { + optional string title = 1; +} + +message SteamMessagesClientIClientForcedEnumDependencies { + optional int32 a = 1 [(webui.description) = "enum"]; + optional int32 b = 2 [(webui.description) = "enum"]; + optional int32 c = 3 [(webui.description) = "enum"]; + optional int32 d = 4 [(webui.description) = "enum"]; +} + // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist message StoreBrowseContext { optional string language = 1; @@ -3672,6 +7249,9 @@ message StoreBrowseItemDataRequest { optional bool include_assets_without_overrides = 15; optional bool apply_user_filters = 16; optional bool include_links = 17; + optional bool include_extra_details = 18; + optional bool include_best_purchase_option = 19 [default = true]; + optional bool include_optin_registration_tags = 20; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -3680,8 +7260,15 @@ message StoreGameRating { optional string rating = 2; repeated string descriptors = 3; optional string interactive_elements = 4; + optional int32 agency = 5 [(webui.description) = "enum"]; + optional bool banned = 6; + optional bool esrb_online_music_not_rated = 7; + optional bool esrb_online_interactions_not_rated = 8; + repeated int32 survey_interactive_elements = 9 [(webui.description) = "enum"]; optional int32 required_age = 10; optional bool use_age_gate = 11; + repeated int32 descriptor_images = 12 [(webui.description) = "enum"]; + optional string content_survey_notes = 13; optional string image_url = 20; optional string image_target = 21; } @@ -3695,6 +7282,7 @@ message StoreItem { optional bool unvailable_for_country_restriction = 5; optional string name = 6; optional string store_url_path = 7; + optional string store_url_slug = 8; optional uint32 appid = 9; optional int32 type = 10 [(webui.description) = "enum"]; repeated int32 included_types = 11 [(webui.description) = "enum"]; @@ -3726,14 +7314,34 @@ message StoreItem { optional bool unlisted = 55; optional uint32 game_count = 56; optional string internal_name = 57; - optional string full_description = 58; - //optional string full_description_bbcode = 58; + optional string full_description_bbcode = 58; + //optional string full_description = 58; optional bool is_free_temporarily = 59; optional StoreItem_Assets assets_without_overrides = 60; optional StoreBrowseFilterFailure user_filter_failure = 70; repeated StoreItem_Link links = 71; optional string purchase_description_bbcode = 72; repeated StoreItem_PackageGroup package_groups = 74; + optional StoreItem_ExtraDetails extra_details = 75; + optional fixed64 gid = 76; + repeated StoreItem_OptInRegistrationTags optin_registration_tags = 77; + repeated StoreItem_PurchaseNote purchase_notes = 78; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_AIGeneratedContentService { + optional string name = 1; + optional string url = 2; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_Anticheat { + optional bool kernel_mode = 1; + optional bool uninstall_completely = 2; + optional bool boot_protection = 3; + optional string boot_protection_name = 4; + optional string name = 5; + optional string name_loc = 6; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -3758,6 +7366,8 @@ message StoreItem_Assets { optional string main_capsule_2x = 18; optional string small_capsule_2x = 19; optional string header_2x = 20; + optional uint32 last_modified = 21; + optional string creator_home_background = 22; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -3789,11 +7399,189 @@ message StoreItem_Demo { optional bool show_above_purchase = 3; } +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_Eula { + optional string name = 1; + optional string url = 2; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails { + repeated SteamAward steam_award = 1; + optional bool vetted = 2; + optional bool no_mouse_keyboard_support = 3; + optional bool controller_wizard_complete = 4; + optional string drm_third_party_type = 5; + optional string drm_activation_limit = 6; + optional string user_account_third_party = 7; + optional bool user_account_third_party_link_to_steam = 8; + optional StoreItem_ExtraDetails_Anticheat anticheat = 9; + //optional StoreItem_Anticheat anticheat = 9; + repeated StoreItem_ExtraDetails_Eula eula = 10; + //repeated StoreItem_Eula eula = 10; + optional StoreItem_ExtraDetails_AIGeneratedContentService ai_generation_service = 11; + //optional StoreItem_AIGeneratedContentService ai_generation_service = 11; + optional bool refund_checks_ea_playtime = 12; + repeated StoreItem_ExtraDetails_PageSection section = 13; + //repeated StoreItem_PageSection section = 13; + optional string legal_notice_bbcode = 14; + repeated int32 interactive_elements = 15 [(webui.description) = "enum"]; + optional string content_survey_notes = 16; + optional string content_survey_ai_notes = 17; + repeated StoreItem_ExtraDetails_PressReview press_review = 18; + //repeated StoreItem_PressReview press_review = 18; + optional string partner_awards_bbcode = 19; + optional StoreItem_ExtraDetails_EarlyAccess early_access = 20; + optional CSeasonPass season_pass = 21; + optional StoreItem_ExtraDetails_LinksAndInfo links_and_info = 22; + optional bool item_store_eligible = 23; + optional bool points_shop_eligible = 24; + optional StoreItem_ExtraDetails_Metacritic metacritic = 26; + optional StoreItem_ExtraDetails_CastAndCrew cast_and_crew = 27; + optional StoreItem_ExtraDetails_SystemRequirements system_requirements = 28; + optional uint32 running_time_minutes = 29; + optional StoreItem_ExtraDetails_Episode episode = 30; + repeated StoreItem_ExtraDetails_Season seasons = 31; + optional int32 video_extras_note = 32 [(webui.description) = "enum"]; + optional bool has_community_hub = 33; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_AIGeneratedContentService { + optional string name = 1; + optional string url = 2; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_Anticheat { + optional bool kernel_mode = 1; + optional bool uninstall_completely = 2; + optional bool boot_protection = 3; + optional string boot_protection_name = 4; + optional string name = 5; + optional string name_loc = 6; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_CastAndCrew { + repeated string directors = 1; + repeated string producers = 2; + repeated string writers = 3; + repeated string music = 4; + repeated string actors = 5; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_EarlyAccess { + optional string why_bbcode = 1; + optional string how_long_bbcode = 2; + optional string full_version_bbcode = 3; + optional string current_state_bbcode = 4; + optional string pricing_bbcode = 5; + optional string community_bbcode = 6; + optional string description_bbcode = 7; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_Episode { + optional string number = 1; + optional int32 type = 2 [(webui.description) = "enum"]; + optional bool hide_details = 3; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_Eula { + optional string name = 1; + optional string url = 2; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_LinksAndInfo { + optional string website = 1; + optional string stats_url = 2; + optional string online_manual_url = 3; + optional string health_warning_url = 4; + optional string privacy_policy_url = 5; + repeated int32 available_documents = 6 [(webui.description) = "enum"]; + repeated uint32 genreids = 7; + repeated string manufacturers = 8; + optional bool achievements_visible = 9; + optional uint32 achievement_count = 10; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_Metacritic { + optional uint32 score = 1; + optional string url = 2; + optional bool always_show = 3; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_PageSection { + optional string label = 1; + optional string content_bbcode = 2; + optional int32 banner = 3 [(webui.description) = "enum"]; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_PressReview { + optional string quote = 1; + optional string score = 2; + optional string site = 3; + optional string url = 4; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_Season { + optional int32 index = 1; + optional string name = 2; + repeated uint32 episode_appids = 3; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_SystemRequirements { + repeated StoreItem_ExtraDetails_SystemRequirements_PlatformRequirements platforms = 1; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_SystemRequirements_PlatformRequirements { + optional int32 platform = 1 [(webui.description) = "enum"]; + optional StoreItem_ExtraDetails_SystemRequirements_Requirements minimum = 2; + optional StoreItem_ExtraDetails_SystemRequirements_Requirements recommended = 3; + optional bool requires_64bit = 4; + optional bool requires_apple_silicon = 5; + optional int32 unsupported_os_note = 6 [(webui.description) = "enum"]; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_SystemRequirements_Requirements { + optional string os_version = 1; + optional bool os_version_unsupported = 2; + optional string processor = 3; + optional StoreItem_ExtraDetails_SystemRequirements_Size memory = 4; + optional string graphics = 5; + optional string directx = 6; + optional bool broadband = 7; + optional StoreItem_ExtraDetails_SystemRequirements_Size storage = 8; + optional StoreItem_ExtraDetails_SystemRequirements_Size storage_hq = 9; + optional string sound_card = 10; + optional string vr_support = 11; + optional string notes = 12; + optional string legacy_bbcode = 13; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_ExtraDetails_SystemRequirements_Size { + optional string amount = 1; + optional string units = 2; +} + // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist message StoreItem_FreeWeekend { optional uint32 start_time = 1; optional uint32 end_time = 2; optional string text = 3; + optional uint32 appid = 4; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -3801,6 +7589,7 @@ message StoreItem_IncludedItems { repeated StoreItem included_apps = 1; repeated StoreItem included_packages = 2; repeated StoreItem included_bundles = 3; + repeated StoreItem included_creators = 4; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -3810,6 +7599,12 @@ message StoreItem_Link { optional string text = 3; } +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_OptInRegistrationTags { + optional string optin_name = 1; + repeated string values = 2; +} + // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist message StoreItem_PackageGroup { optional string name = 1; @@ -3819,6 +7614,13 @@ message StoreItem_PackageGroup { optional string dropdown_description_bbcode = 5; } +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_PageSection { + optional string label = 1; + optional string content_bbcode = 2; + optional int32 banner = 3 [(webui.description) = "enum"]; +} + // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist message StoreItem_Platforms { optional bool windows = 1; @@ -3828,12 +7630,14 @@ message StoreItem_Platforms { optional int32 steam_deck_compat_category = 11 [(webui.description) = "enum"]; optional int32 steam_os_compat_category = 12 [(webui.description) = "enum"]; optional int32 steam_frame_compat_category = 13 [(webui.description) = "enum"]; + optional int32 steam_machine_compat_category = 14 [(webui.description) = "enum"]; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist message StoreItem_Platforms_VRSupport { optional bool vrhmd = 1; optional bool vrhmd_only = 2; + optional bool show_optional_vr_mode_notice = 3; optional bool htc_vive = 40; optional bool oculus_rift = 41; optional bool windows_mr = 42; @@ -3846,6 +7650,21 @@ message StoreItem_Playtest { optional bool is_open = 2; } +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_PressReview { + optional string quote = 1; + optional string score = 2; + optional string site = 3; + optional string url = 4; +} + +// Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist +message StoreItem_PurchaseNote { + optional int32 type = 1 [(webui.description) = "enum"]; + optional bool highlighted = 2; + optional string text_bbcode = 3; +} + // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist message StoreItem_PurchaseOption { optional int32 packageid = 1; @@ -3878,6 +7697,7 @@ message StoreItem_PurchaseOption { optional int64 price_to_base_discount_on = 53; optional uint32 free_with_master_sub_appid = 54; optional string formatted_lowest_recent_price = 55; + optional bool is_free_license = 56; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -3914,6 +7734,7 @@ message StoreItem_RelatedItems { repeated StoreItem_Demo standalone_demos = 5; repeated StoreItem_Playtest playtests = 6; optional StoreItem_RelatedF2P related_f2p = 7; + repeated uint32 dlc_parent_appids = 9; } // Used by: Checkout, MarketingMessages, PartnerStoreBrowse, SteamCharts, Store, StoreAppSimilarity, StoreBrowse, StoreMarketing, StoreQuery, StoreTopSellers, UserStoreVisit, Wishlist @@ -4019,6 +7840,7 @@ message StoreItemID { optional uint32 tagid = 4; optional uint32 creatorid = 5; optional uint32 hubcategoryid = 6; + optional fixed64 salepagegid = 7; } // Used by: Player, PlayerClient, Store, StoreClient @@ -4032,7 +7854,7 @@ message UserContentDescriptorPreferences_ContentDescriptor { optional uint32 timestamp_added = 2; } -// Used by: AccountHardware, User, common.proto +// Used by: AccountHardware, ClientMetrics, User message UserSystemInformation { optional string manufacturer = 1; optional string model = 2; @@ -4054,3 +7876,12 @@ message UserSystemInformation { optional uint32 screen_height = 19; optional bool precise_frame_rate = 20; } + +// Used by: common.proto +message Vector2 { + optional float x = 1; + optional float y = 2; +} + +message WebUINoResponse { +} diff --git a/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_cloudconfigstore.proto b/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_cloudconfigstore.proto index c6cd1676..ca434e6b 100644 --- a/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_cloudconfigstore.proto +++ b/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_cloudconfigstore.proto @@ -57,4 +57,3 @@ service CloudConfigStore { service CloudConfigStoreClient { rpc NotifyChange (CCloudConfigStore_Change_Notification) returns (NoResponse); } - diff --git a/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_store.proto b/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_store.proto index 3d16991c..1d5a2e10 100644 --- a/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_store.proto +++ b/javasteam-protobufs-webui/src/main/proto/in/dragonbra/javasteam/protobufs/webui/service_store.proto @@ -1,5 +1,5 @@ -import "in/dragonbra/javasteam/protobufs/webui/common_base.proto"; import "in/dragonbra/javasteam/protobufs/webui/common.proto"; +import "in/dragonbra/javasteam/protobufs/webui/common_base.proto"; package webui; @@ -361,7 +361,7 @@ message CStore_UpdatePackageReservations_Response { message CStore_UserPreferences { optional int32 primary_language = 1; - optional uint32 secondary_languages = 2; + optional uint64 secondary_languages = 2; optional bool platform_windows = 3; optional bool platform_mac = 4; optional bool platform_linux = 5; @@ -403,55 +403,55 @@ message CStoreDiscoveryQueueSettings { } service Store { - // ePrivilege=4 + // ePrivilege=4, rgBrowserAPISites=ArrayExpression rpc DeleteReservationPositionMessage (CStore_DeleteReservationPositionMessage_Request) returns (CStore_DeleteReservationPositionMessage_Response); // bConstMethod=true, ePrivilege=4 rpc GetAllReservationPositionMessages (CStore_GetAllReservationPositionMessages_Request) returns (CStore_GetAllReservationPositionMessages_Response); - // bConstMethod=true, ePrivilege=1 + // bConstMethod=true, ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc GetDiscoveryQueue (CStore_GetDiscoveryQueue_Request) returns (CStore_GetDiscoveryQueue_Response); // bConstMethod=true, ePrivilege=1 rpc GetDiscoveryQueueSettings (CStore_GetDiscoveryQueueSettings_Request) returns (CStore_GetDiscoveryQueueSettings_Response); - // bConstMethod=true, ePrivilege=1 + // bConstMethod=true, ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc GetDiscoveryQueueSkippedApps (CStore_GetDiscoveryQueueSkippedApps_Request) returns (CStore_GetDiscoveryQueueSkippedApps_Response); - // bConstMethod=true, ePrivilege=2, eWebAPIKeyRequirement=1 + // bConstMethod=true, ePrivilege=2, eWebAPIKeyRequirement=1, rgBrowserAPISites=ArrayExpression rpc GetGamesFollowed (CStore_GetGamesFollowed_Request) returns (CStore_GetGamesFollowed_Response); - // bConstMethod=true, ePrivilege=2, eWebAPIKeyRequirement=1 + // bConstMethod=true, ePrivilege=2, eWebAPIKeyRequirement=1, rgBrowserAPISites=ArrayExpression rpc GetGamesFollowedCount (CStore_GetGamesFollowedCount_Request) returns (CStore_GetGamesFollowedCount_Response); // bConstMethod=true, ePrivilege=1, eWebAPIKeyRequirement=1 rpc GetLocalizedNameForTags (CStore_GetLocalizedNameForTags_Request) returns (CStore_GetLocalizedNameForTags_Response); // bConstMethod=true, ePrivilege=1, eWebAPIKeyRequirement=1 rpc GetMostPopularTags (CStore_GetMostPopularTags_Request) returns (CStore_GetMostPopularTags_Response); - // bConstMethod=true, ePrivilege=1 + // bConstMethod=true, ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc GetRecommendedTagsForUser (CStore_GetRecommendedTagsForUser_Request) returns (CStore_GetRecommendedTagsForUser_Response); - // bConstMethod=true, ePrivilege=1 + // bConstMethod=true, ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc GetStorePreferences (CStore_GetStorePreferences_Request) returns (CStore_GetStorePreferences_Response); - // bConstMethod=true, ePrivilege=1, eWebAPIKeyRequirement=1 + // bConstMethod=true, ePrivilege=1, eWebAPIKeyRequirement=1, rgBrowserAPISites=ArrayExpression rpc GetTagList (CStore_GetTagList_Request) returns (CStore_GetTagList_Response); // bConstMethod=true, ePrivilege=1 rpc GetTrendingAppsAmongFriends (CStore_GetTrendingAppsAmongFriends_Request) returns (CStore_GetTrendingAppsAmongFriends_Response); // ePrivilege=1 rpc GetUserGameInterestState (CStore_GetUserGameInterestState_Request) returns (CStore_GetUserGameInterestState_Response); - // ePrivilege=1 + // ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc GetWishlistDemoEmailStatus (CStore_GetWishlistDemoEmailStatus_Request) returns (CStore_GetWishlistDemoEmailStatus_Response); // ePrivilege=1 rpc MigratePartnerLinkTracking (CStore_MigratePartnerLinkTracking_Notification) returns (NoResponse); - // ePrivilege=1 + // ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc QueueWishlistDemoEmailToFire (CStore_QueueWishlistDemoEmailToFire_Request) returns (CStore_QueueWishlistDemoEmailToFire_Response); // ePrivilege=1 rpc RegisterCDKey (CStore_RegisterCDKey_Request) returns (CStore_RegisterCDKey_Response); - // ePrivilege=4 + // ePrivilege=4, rgBrowserAPISites=ArrayExpression rpc ReloadAllReservationPositionMessages (CStore_ReloadAllReservationPositionMessages_Notification) returns (NoResponse); // ePrivilege=3 rpc ReportApp (CStore_ReportApp_Request) returns (CStore_ReportApp_Response); // ePrivilege=1 rpc SetCompatibilityFeedback (CSteamDeckCompatibility_SetFeedback_Request) returns (CSteamDeckCompatibility_SetFeedback_Response); - // ePrivilege=4 + // ePrivilege=4, rgBrowserAPISites=ArrayExpression rpc SetReservationPositionMessage (CStore_SetReservationPositionMessage_Request) returns (CStore_SetReservationPositionMessage_Response); // ePrivilege=1 rpc ShouldPromptForCompatibilityFeedback (CSteamDeckCompatibility_ShouldPrompt_Request) returns (CSteamDeckCompatibility_ShouldPrompt_Response); - // ePrivilege=1 + // ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc SkipDiscoveryQueueItem (CStore_SkipDiscoveryQueueItem_Request) returns (CStore_SkipDiscoveryQueueItem_Response); - // ePrivilege=1 + // ePrivilege=1, rgBrowserAPISites=ArrayExpression rpc UpdatePackageReservations (CStore_UpdatePackageReservations_Request) returns (CStore_UpdatePackageReservations_Response); } diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/base_gcmessages.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/base_gcmessages.proto index cdd157f8..8a82be74 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/base_gcmessages.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/base_gcmessages.proto @@ -1,5 +1,4 @@ import "in/dragonbra/javasteam/protobufs/tf/steammessages.proto"; -import "in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto"; option java_package = "in.dragonbra.javasteam.protobufs.tf"; diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/steammessages.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/steammessages.proto index 94b18f4d..b8c0f197 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/steammessages.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/steammessages.proto @@ -1,5 +1,4 @@ import "google/protobuf/descriptor.proto"; -import "in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto"; option java_package = "in.dragonbra.javasteam.protobufs.tf"; diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_gcmessages.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_gcmessages.proto index 771c8d49..2aeb0777 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_gcmessages.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_gcmessages.proto @@ -1,4 +1,3 @@ -import "in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto"; import "in/dragonbra/javasteam/protobufs/tf/steammessages.proto"; import "in/dragonbra/javasteam/protobufs/tf/base_gcmessages.proto"; diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto index ea854e3c..dccd3779 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/tf_proto_def_messages.proto @@ -278,16 +278,19 @@ message CMsgQuestObjectiveDef { TF_COND_COMPETITIVE_LOSER = 117; TF_COND_HEALING_DEBUFF = 118; TF_COND_PASSTIME_PENALTY_DEBUFF = 119; - TF_COND_PARACHUTE_DEPLOYED = 120; - TF_COND_NO_COMBAT_SPEED_BOOST = 121; - TF_COND_TRANQ_SPY_BOOST = 122; - TF_COND_TRANQ_MARKED = 123; - TF_COND_ROCKETPACK = 126; - TF_COND_ROCKETPACK_PASSENGER = 127; - TF_COND_STEALTHED_PHASE = 128; - TF_COND_CLIP_OVERLOAD = 129; - TF_COND_SPY_CLASS_STEAL = 130; - TF_COND_GAS = 131; + TF_COND_GRAPPLED_TO_PLAYER = 120; + TF_COND_GRAPPLED_BY_PLAYER = 121; + TF_COND_PARACHUTE_DEPLOYED = 122; + TF_COND_GAS = 123; + TF_COND_BURNING_PYRO = 124; + TF_COND_ROCKETPACK = 125; + TF_COND_LOST_FOOTING = 126; + TF_COND_AIR_CURRENT = 127; + TF_COND_HALLOWEEN_HELL_HEAL = 128; + TF_COND_POWERUPMODE_DOMINANT = 129; + TF_COND_IMMUNE_TO_PUSHBACK = 130; + TF_COND_ENEMY_GLOWS = 131; + TF_COND_SUPERHEATED = 132; } enum ETF2Team { diff --git a/protosync-whitelist.txt b/protosync-whitelist.txt new file mode 100644 index 00000000..9202324e --- /dev/null +++ b/protosync-whitelist.txt @@ -0,0 +1,144 @@ +# Whitelist of protos managed by `gradlew syncProtobufs`. +# +# Only files listed here are synced from SteamTracking/Protobufs. The task will: +# - create a listed file if it does not exist locally yet +# - report (and NOT add) any upstream import of an unlisted file; protoc will fail +# if a listed proto actually uses its types - vet the file and add it here +# - warn about local .proto files that are not listed (unmanaged) +# +# One file name per line under a [module] section. Sections are the local package +# directory names: steamclient, webui, cs, dota2, tf, deadlock. +# Blank lines and lines starting with '#' are ignored. +# This is similar to https://github.com/SteamRE/SteamKit/blob/master/Resources/ProtobufGen/protos.csv + +[steamclient] +clientmetrics.proto +content_manifest.proto +contenthubs.proto +encrypted_app_ticket.proto +enums.proto +enums_productinfo.proto +steammessages_auth.steamclient.proto +steammessages_base.proto +steammessages_chat.steamclient.proto +steammessages_client_objects.proto +steammessages_clientmetrics.steamclient.proto +steammessages_clientserver.proto +steammessages_clientserver_2.proto +steammessages_clientserver_appinfo.proto +steammessages_clientserver_friends.proto +steammessages_clientserver_gameservers.proto +steammessages_clientserver_lbs.proto +steammessages_clientserver_login.proto +steammessages_clientserver_mms.proto +steammessages_clientserver_ucm.proto +steammessages_clientserver_uds.proto +steammessages_clientserver_userstats.proto +steammessages_cloud.steamclient.proto +steammessages_contentsystem.steamclient.proto +steammessages_familygroups.steamclient.proto +steammessages_friendmessages.steamclient.proto +steammessages_gamenotifications.steamclient.proto +steammessages_inventory.steamclient.proto +steammessages_parental.steamclient.proto +steammessages_parental_objects.proto +steammessages_player.steamclient.proto +steammessages_publishedfile.steamclient.proto +steammessages_remoteclient_service.steamclient.proto +steammessages_remoteclient_service_messages.proto +steammessages_store.steamclient.proto +steammessages_storebrowse.steamclient.proto +steammessages_twofactor.steamclient.proto +steammessages_unified_base.steamclient.proto +steammessages_useraccount.steamclient.proto +steammessages_seasonpass_types.proto +steammessages_steamawards_types.proto +steammessages_appratings_types.proto + +[webui] +common.proto +common_base.proto +service_clientcomm.proto +service_cloudconfigstore.proto +service_store.proto + +[cs] +base_gcmessages.proto +cstrike15_gcmessages.proto +econ_gcmessages.proto +engine_gcmessages.proto +gcsdk_gcmessages.proto +gcsystemmsgs.proto +netmessages.proto +network_connection.proto +networkbasetypes.proto +source2_steam_stats.proto +steammessages.proto +valveextensions.proto + +[dota2] +base_gcmessages.proto +dota_client_enums.proto +dota_gcmessages_client.proto +dota_gcmessages_client_chat.proto +dota_gcmessages_client_coaching.proto +dota_gcmessages_client_craftworks.proto +dota_gcmessages_client_fantasy.proto +dota_gcmessages_client_guild.proto +dota_gcmessages_client_guild_events.proto +dota_gcmessages_client_match_management.proto +dota_gcmessages_client_team.proto +dota_gcmessages_client_tournament.proto +dota_gcmessages_client_watch.proto +dota_gcmessages_common.proto +dota_gcmessages_common_craftworks.proto +dota_gcmessages_common_league.proto +dota_gcmessages_common_lobby.proto +dota_gcmessages_common_match_management.proto +dota_gcmessages_common_monster_hunter.proto +dota_gcmessages_common_overworld.proto +dota_gcmessages_common_survivors.proto +dota_gcmessages_msgid.proto +dota_gcmessages_server.proto +dota_gcmessages_webapi.proto +dota_match_metadata.proto +dota_shared_enums.proto +econ_gcmessages.proto +econ_shared_enums.proto +gcsdk_gcmessages.proto +gcsystemmsgs.proto +network_connection.proto +networkbasetypes.proto +steammessages.proto +steammessages_oauth.steamworkssdk.proto +steammessages_steamlearn.steamworkssdk.proto +steammessages_unified_base.steamworkssdk.proto +valveextensions.proto +events.proto +event_gcmessages_common.proto + +[tf] +base_gcmessages.proto +econ_gcmessages.proto +gcsdk_gcmessages.proto +gcsystemmsgs.proto +steammessages.proto +tf_gcmessages.proto +tf_proto_def_messages.proto + +[deadlock] +base_gcmessages.proto +citadel_gcmessages_client.proto +citadel_gcmessages_common.proto +citadel_gcmessages_server.proto +econ_gcmessages.proto +econ_shared_enums.proto +engine_gcmessages.proto +gcsdk_gcmessages.proto +gcsystemmsgs.proto +steammessages.proto +steammessages_steamlearn.steamworkssdk.proto +steammessages_unified_base.steamworkssdk.proto +valveextensions.proto +networkbasetypes.proto + diff --git a/src/main/java/in/dragonbra/javasteam/steam/cdn/Server.kt b/src/main/java/in/dragonbra/javasteam/steam/cdn/Server.kt index 82a2035f..55cd7b96 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/cdn/Server.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/cdn/Server.kt @@ -130,6 +130,12 @@ class Server { var allowedAppIds: IntArray = intArrayOf() internal set + /** + * Gets the list of bypass proxies. + */ + var bypassProxiesOfType: List = emptyList() + internal set + /** * Returns a string that represents this server. */ diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/Lobby.kt b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/Lobby.kt index b2b6cb33..f67520e5 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/Lobby.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/Lobby.kt @@ -2,6 +2,7 @@ package `in`.dragonbra.javasteam.steam.handlers.steammatchmaking import com.google.protobuf.ByteString import `in`.dragonbra.javasteam.enums.ELobbyType +import `in`.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverMms.MMSKeyValuePair import `in`.dragonbra.javasteam.types.KeyValue import `in`.dragonbra.javasteam.types.SteamID import `in`.dragonbra.javasteam.util.stream.MemoryStream @@ -39,28 +40,40 @@ class Lobby( ) { companion object { - internal fun ByteArray.toByteString(): ByteString = ByteString.copyFrom(this) - @JvmStatic - internal fun encodeMetadata(metadata: Map?): ByteArray { - val keyValue = KeyValue("") + internal fun encodeMetadata(metadata: Map?): List = + metadata.orEmpty().map { (key, value) -> + MMSKeyValuePair.newBuilder() + .setName(key) + .setValue(value) + .build() + } - metadata?.forEach { entry -> - keyValue[entry.key] = KeyValue(null, entry.value) + /** + * Decodes lobby metadata, preferring the key-value pair list and falling back to the + * legacy binary [KeyValue] blob when the list is empty. + */ + @JvmStatic + internal fun decodeMetadata(pairs: List, legacyBuffer: ByteString?): Map { + if (pairs.isEmpty()) { + return decodeMetadata(buffer = legacyBuffer) } - return MemoryStream().use { ms -> - keyValue.saveToStream(ms.asOutputStream(), true) - ms.toByteArray() + val metadata = HashMap(pairs.size) + pairs.forEach { pair -> + if (!pair.hasName()) { + return@forEach + } + + metadata[pair.name] = pair.value ?: "" } - } - @JvmStatic - internal fun decodeMetadata(buffer: ByteString?): Map = decodeMetadata(buffer?.toByteArray()) + return metadata + } @JvmStatic - internal fun decodeMetadata(buffer: ByteArray?): Map { - if (buffer == null || buffer.isEmpty()) { + internal fun decodeMetadata(buffer: ByteString?): Map { + if (buffer == null || buffer.isEmpty) { return emptyMap() } @@ -68,7 +81,7 @@ class Lobby( MemoryStream(buffer).use { ms -> if (!keyValue.tryReadAsBinary(ms)) { - throw NumberFormatException("Lobby metadata is of an unexpected format") + throw IllegalArgumentException("Lobby metadata is of an unexpected format") } } @@ -76,7 +89,7 @@ class Lobby( keyValue.children.forEach { value -> if (value.name == null || value.value == null) { - return metadata + return@forEach } metadata[value.name!!] = value.value!! diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/SteamMatchmaking.kt b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/SteamMatchmaking.kt index 11656978..964f8294 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/SteamMatchmaking.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steammatchmaking/SteamMatchmaking.kt @@ -26,7 +26,6 @@ import `in`.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverM import `in`.dragonbra.javasteam.protobufs.steamclient.SteammessagesClientserverMms.CMsgClientMMSUserLeftLobby import `in`.dragonbra.javasteam.steam.handlers.ClientMsgHandler import `in`.dragonbra.javasteam.steam.handlers.steamfriends.SteamFriends -import `in`.dragonbra.javasteam.steam.handlers.steammatchmaking.Lobby.Companion.toByteString import `in`.dragonbra.javasteam.steam.handlers.steammatchmaking.callback.CreateLobbyCallback import `in`.dragonbra.javasteam.steam.handlers.steammatchmaking.callback.GetLobbyListCallback import `in`.dragonbra.javasteam.steam.handlers.steammatchmaking.callback.JoinLobbyCallback @@ -100,7 +99,6 @@ class SteamMatchmaking : ClientMsgHandler() { body.lobbyType = lobbyType.code() body.maxMembers = maxMembers body.lobbyFlags = lobbyFlags - body.metadata = Lobby.encodeMetadata(metadata).toByteString() body.cellId = client.cellID!! body.publicIp = NetHelpers.getMsgIPAddress(client.publicIP!!) body.personaNameOwner = personaName @@ -108,6 +106,8 @@ class SteamMatchmaking : ClientMsgHandler() { sourceJobID = client.getNextJobID() } + createLobby.body.metadataList.addAll(Lobby.encodeMetadata(metadata)) + send(msg = createLobby, appId = appId) lobbyManipulationRequests[createLobby.sourceJobID] = createLobby.body.build() @@ -145,11 +145,12 @@ class SteamMatchmaking : ClientMsgHandler() { body.lobbyType = lobbyType.code() body.maxMembers = maxMembers body.lobbyFlags = lobbyFlags - body.metadata = Lobby.encodeMetadata(metadata).toByteString() sourceJobID = client.getNextJobID() } + setLobbyData.body.metadataList.addAll(Lobby.encodeMetadata(metadata)) + send(msg = setLobbyData, appId = appId) lobbyManipulationRequests[setLobbyData.sourceJobID] = setLobbyData.body.build() @@ -181,11 +182,12 @@ class SteamMatchmaking : ClientMsgHandler() { body.appId = appId body.steamIdLobby = lobbySteamId.convertToUInt64() body.steamIdMember = client.steamID!!.convertToUInt64() - body.metadata = Lobby.encodeMetadata(metadata).toByteString() sourceJobID = client.getNextJobID() } + setLobbyData.body.metadataList.addAll(Lobby.encodeMetadata(metadata)) + send(msg = setLobbyData, appId = appId) lobbyManipulationRequests[setLobbyData.sourceJobID] = setLobbyData.body.build() @@ -421,7 +423,7 @@ class SteamMatchmaking : ClientMsgHandler() { lobbyType = ELobbyType.from(createLobby.lobbyType), lobbyFlags = createLobby.lobbyFlags, ownerSteamID = client.steamID, - metadata = Lobby.decodeMetadata(createLobby.metadata), + metadata = Lobby.decodeMetadata(createLobby.metadataList, createLobby.metadataKv), maxMembers = createLobby.maxMembers, numMembers = 1, members = members, @@ -440,7 +442,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleSetLobbyDataResponse(packetMsg: IPacketMsg) { + private fun handleSetLobbyDataResponse(packetMsg: IPacketMsg) { val setLobbyDataResponse = ClientMsgProtobuf( CMsgClientMMSSetLobbyDataResponse::class.java, packetMsg @@ -453,7 +455,7 @@ class SteamMatchmaking : ClientMsgHandler() { val lobby = lobbyCache.getLobby(appId = setLobbyData.appId, lobbySteamId = setLobbyData.steamIdLobby) if (lobby != null) { - val metadata = Lobby.decodeMetadata(setLobbyData.metadata) + val metadata = Lobby.decodeMetadata(setLobbyData.metadataList, setLobbyData.metadataKv) if (setLobbyData.steamIdMember == 0L) { lobbyCache.cacheLobby( @@ -494,7 +496,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleSetLobbyOwnerResponse(packetMsg: IPacketMsg) { + private fun handleSetLobbyOwnerResponse(packetMsg: IPacketMsg) { val setLobbyOwnerResponse = ClientMsgProtobuf( CMsgClientMMSSetLobbyOwnerResponse::class.java, packetMsg @@ -520,7 +522,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleGetLobbyListResponse(packetMsg: IPacketMsg) { + private fun handleGetLobbyListResponse(packetMsg: IPacketMsg) { val lobbyListResponse = ClientMsgProtobuf( CMsgClientMMSGetLobbyListResponse::class.java, packetMsg @@ -535,7 +537,7 @@ class SteamMatchmaking : ClientMsgHandler() { lobbyType = ELobbyType.from(lobby.lobbyType), lobbyFlags = lobby.lobbyFlags, ownerSteamID = existingLobby?.ownerSteamID, - metadata = Lobby.decodeMetadata(lobby.metadata), + metadata = Lobby.decodeMetadata(lobby.metadataList, lobby.metadataKv), maxMembers = lobby.maxMembers, numMembers = lobby.numMembers, members = members ?: listOf(), @@ -556,7 +558,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleJoinLobbyResponse(packetMsg: IPacketMsg) { + private fun handleJoinLobbyResponse(packetMsg: IPacketMsg) { val joinLobbyResponse = ClientMsgProtobuf( CMsgClientMMSJoinLobbyResponse::class.java, packetMsg @@ -570,7 +572,7 @@ class SteamMatchmaking : ClientMsgHandler() { Member( steamID = SteamID(member.steamId), personaName = member.personaName, - metadata = Lobby.decodeMetadata(member.metadata), + metadata = Lobby.decodeMetadata(member.metadataList, member.metadataKv), ) } @@ -581,7 +583,7 @@ class SteamMatchmaking : ClientMsgHandler() { lobbyType = ELobbyType.from(body.lobbyType), lobbyFlags = body.lobbyFlags, ownerSteamID = SteamID(body.steamIdOwner), - metadata = Lobby.decodeMetadata(body.metadata), + metadata = Lobby.decodeMetadata(body.metadataList, body.metadataKv), maxMembers = body.maxMembers, numMembers = members.size, members = members, @@ -600,7 +602,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleLeaveLobbyResponse(packetMsg: IPacketMsg) { + private fun handleLeaveLobbyResponse(packetMsg: IPacketMsg) { val leaveLobbyResponse = ClientMsgProtobuf( CMsgClientMMSLeaveLobbyResponse::class.java, packetMsg @@ -619,7 +621,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleLobbyData(packetMsg: IPacketMsg) { + private fun handleLobbyData(packetMsg: IPacketMsg) { val lobbyDataResponse = ClientMsgProtobuf( CMsgClientMMSLobbyData::class.java, packetMsg @@ -634,7 +636,7 @@ class SteamMatchmaking : ClientMsgHandler() { Member( steamID = SteamID(member.steamId), personaName = member.personaName, - metadata = Lobby.decodeMetadata(member.metadata) + metadata = Lobby.decodeMetadata(member.metadataList, member.metadataKv) ) } } @@ -644,7 +646,7 @@ class SteamMatchmaking : ClientMsgHandler() { lobbyType = ELobbyType.from(body.lobbyType), lobbyFlags = body.lobbyFlags, ownerSteamID = SteamID(body.steamIdOwner), - metadata = Lobby.decodeMetadata(body.metadata), + metadata = Lobby.decodeMetadata(body.metadataList, body.metadataKv), maxMembers = body.maxMembers, numMembers = body.numMembers, members = members ?: listOf(), @@ -661,7 +663,7 @@ class SteamMatchmaking : ClientMsgHandler() { ).also(client::postCallback) } - fun handleUserJoinedLobby(packetMsg: IPacketMsg) { + private fun handleUserJoinedLobby(packetMsg: IPacketMsg) { val userJoinedLobby = ClientMsgProtobuf( CMsgClientMMSUserJoinedLobby::class.java, packetMsg @@ -688,7 +690,7 @@ class SteamMatchmaking : ClientMsgHandler() { } } - fun handleUserLeftLobby(packetMsg: IPacketMsg) { + private fun handleUserLeftLobby(packetMsg: IPacketMsg) { val userLeftLobby = ClientMsgProtobuf( CMsgClientMMSUserLeftLobby::class.java, packetMsg diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.kt b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.kt index 9dbf70b0..e01eae34 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/LogOnDetails.kt @@ -35,7 +35,6 @@ import `in`.dragonbra.javasteam.util.Utils * @param chatMode Gets or sets the chat mode. * @param uiMode Gets or sets the ui mode. * @param gamingDeviceType Gets or sets the gaming device type. - * @param isSteamDeck Gets or sets whether this is Steam Deck login. */ data class LogOnDetails( var username: String = "", @@ -55,5 +54,4 @@ data class LogOnDetails( var chatMode: ChatMode = ChatMode.DEFAULT, var uiMode: EUIMode = EUIMode.Unknown, var gamingDeviceType: EGamingDeviceType = EGamingDeviceType.Unknown, - @Deprecated("Use gamingDeviceType instead") var isSteamDeck: Boolean = false, ) diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.kt b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.kt index fbe37795..dff2d7ca 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuser/SteamUser.kt @@ -126,11 +126,6 @@ class SteamUser : ClientMsgHandler() { logon.body.gamingDeviceType = details.gamingDeviceType.code() } - @Suppress("DEPRECATION") - if (details.isSteamDeck) { - logon.body.isSteamDeckDeprecated = true - } - // steam guard if (details.authCode != null) { logon.body.authCode = details.authCode diff --git a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/AchievementBlocks.kt b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/AchievementBlocks.kt index f201dfa2..f9f624be 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/AchievementBlocks.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/handlers/steamuserstats/AchievementBlocks.kt @@ -36,6 +36,7 @@ data class AchievementBlocks( */ val hasProgress: Boolean get() = progressMax != null && progressMax > 0f + /** * Returns true if this achievement is unlocked. * An achievement is considered unlocked if it has any non-zero unlock time. diff --git a/src/main/java/in/dragonbra/javasteam/steam/webapi/ContentServerDirectoryService.kt b/src/main/java/in/dragonbra/javasteam/steam/webapi/ContentServerDirectoryService.kt index d30c5548..7a376dcf 100644 --- a/src/main/java/in/dragonbra/javasteam/steam/webapi/ContentServerDirectoryService.kt +++ b/src/main/java/in/dragonbra/javasteam/steam/webapi/ContentServerDirectoryService.kt @@ -34,6 +34,7 @@ object ContentServerDirectoryService { this.useAsProxy = child.useAsProxy this.proxyRequestPathTemplate = child.proxyRequestPathTemplate this.allowedAppIds = child.allowedAppIdsList.toIntArray() + this.bypassProxiesOfType = child.bypassProxiesOfTypeList } } } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/clientmetrics.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/clientmetrics.proto index ad25ae00..a2527842 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/clientmetrics.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/clientmetrics.proto @@ -1,6 +1,7 @@ option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; option optimize_for = SPEED; +option java_generic_services = false; message CClientMetrics_ClientBootstrap_RequestInfo { optional string original_hostname = 1; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums.proto index 7c3307f8..6d284970 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums.proto @@ -1,5 +1,3 @@ -import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; - option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; option optimize_for = SPEED; @@ -28,6 +26,8 @@ enum EPublishedFileQueryType { k_PublishedFileQueryType_RankedByInappropriateContentRating = 19; k_PublishedFileQueryType_RankedByBanContentCheck = 20; k_PublishedFileQueryType_RankedByLastUpdatedDate = 21; + k_PublishedFileQueryType_RankedByNumParentItems = 22; + k_PublishedFileQueryType_RankedByNumParentCollections = 23; } enum EPublishedFileInappropriateProvider { @@ -134,14 +134,6 @@ enum ESystemFanControlMode { k_SystemFanControlMode_Default = 2; } -enum EStartupMovieVariant { - k_EStartupMovieVariant_Invalid = 0; - k_EStartupMovieVariant_Generic = 1; - k_EStartupMovieVariant_DeckBlue = 2; - k_EStartupMovieVariant_DeckOrange = 3; - k_EStartupMovieVariant_Machine = 4; -} - enum EColorGamutLabelSet { k_ColorGamutLabelSet_Default = 0; k_ColorGamutLabelSet_sRGB_Native = 1; @@ -169,6 +161,14 @@ enum EBluetoothDeviceType { k_BluetoothDeviceType_Keyboard = 11; } +enum ESpeakerConfiguration { + k_ESpeakerConfiguration_Other = 0; + k_ESpeakerConfiguration_Stereo = 1; + k_ESpeakerConfiguration_51 = 2; + k_ESpeakerConfiguration_71 = 3; + k_ESpeakerConfiguration_51_Ac3 = 4; +} + enum ESystemAudioDirection { k_SystemAudioDirection_Invalid = 0; k_SystemAudioDirection_Input = 1; @@ -208,6 +208,11 @@ enum ESystemServiceState { k_ESystemServiceState_Enabled = 2; } +enum EBluetoothAudioPreference { + k_EBluetoothAudioPreference_Quality = 0; + k_EBluetoothAudioPreference_Latency = 1; +} + enum EGraphicsPerfOverlayLevel { k_EGraphicsPerfOverlayLevel_Hidden = 0; k_EGraphicsPerfOverlayLevel_Basic = 1; @@ -479,6 +484,15 @@ enum EProvideDeckFeedbackPreference { k_EProvideDeckFeedbackPreference_No = 2; } +enum EHardwareCompatibilityFeedbackDetails { + k_EHardwareCompatibilityFeedbackDetails_Unset = 0; + k_EHardwareCompatibilityFeedbackDetails_Performance = 1; + k_EHardwareCompatibilityFeedbackDetails_Stability = 2; + k_EHardwareCompatibilityFeedbackDetails_Legibility = 4; + k_EHardwareCompatibilityFeedbackDetails_Input = 8; + k_EHardwareCompatibilityFeedbackDetails_Other = 16; +} + enum EGameFrameRateReportingPreference { k_EGameFrameRateReportingPreference_Unset = 0; k_EGameFrameRateReportingPreference_No = 1; @@ -581,6 +595,7 @@ enum ECompromiseDetectionType { k_ECompromiseDetectionType_MaliciousRefund = 5; k_ECompromiseDetectionType_Move2FA = 6; k_ECompromiseDetectionType_DeviceType = 7; + k_ECompromiseDetectionType_LeakedCredentialList = 8; } enum EAsyncGameSessionUserState { @@ -639,10 +654,15 @@ enum EProtoAppType { k_EAppTypeDepotOnly = -2147483648; } -enum EChildProcessQueryCommand { - k_EChildProcessQueryCommand_Invalid = 0; - k_EChildProcessQueryCommand_GpuTopology = 1; - k_EChildProcessQueryCommand_Max = 2; +enum EAppTestType { + k_EAppTestType_BuildReview = 0; + k_EAppTestType_StorePageReview = 1; + k_EAppTestType_SteamChina_BuildReview = 2; + k_EAppTestType_SteamChina_StorePageReview = 3; + k_EAppTestType_SteamChinaPlatformOperator_StorePageReview = 4; + k_EAppTestType_SteamChinaPlatformOperator_BuildReview = 5; + k_EAppTestType_SteamDeckCompatibilityReview = 6; + k_EAppTestType_SteamFrameCompatibilityReview = 7; } enum EChildProcessQueryExitCode { @@ -668,6 +688,16 @@ enum EWindowsUpdateRebootBehavior { k_EWindowsUpdateRebootBehavior_MightNeedReboot = 2; } +enum EWindowsUpdateOperationResult { + k_EWindowsUpdateOperationResult_Unknown = -1; + k_EWindowsUpdateOperationResult_NotStarted = 0; + k_EWindowsUpdateOperationResult_InProgress = 1; + k_EWindowsUpdateOperationResult_Succeeded = 2; + k_EWindowsUpdateOperationResult_SucceededWithErrors = 3; + k_EWindowsUpdateOperationResult_Failed = 4; + k_EWindowsUpdateOperationResult_Aborted = 5; +} + enum EExternalSaleEventType { k_EExternalSaleEventType_Unknown = 0; k_EExternalSaleEventType_Publisher = 1; @@ -687,7 +717,7 @@ enum EEnhancedMarketAppearanceStatus { enum EContentReportSubjectType { k_EContentReportSubjectType_Invalid = 0; k_EContentReportSubjectType_ForumPost = 1; - k_EContentReportSubjectType_Unused = 2; + k_EContentReportSubjectType_CommentThread = 2; k_EContentReportSubjectType_UGCFile = 3; k_EContentReportSubjectType_FriendChatMsg = 4; k_EContentReportSubjectType_ChatRoomMsg = 5; @@ -726,7 +756,8 @@ enum EContentReportResolution { k_EContentReportResolution_RemoveAndKick = 13; k_EContentReportResolution_Sanctioned = 14; k_EContentReportResolution_Sustained = 15; - k_EContentReportResolution_MAX = 16; + k_EContentReportResolution_Broken = 16; + k_EContentReportResolution_MAX = 17; } enum EContentModerationSanction { @@ -738,7 +769,13 @@ enum EContentModerationSanction { k_EContentModerationSanction_CommentHistoryDeleted = 5; k_EContentModerationSanction_Relabelled = 6; k_EContentModerationSanction_MarkAsSuspicious = 7; - k_EContentModerationSanction_MAX = 8; + k_EContentModerationSanction_Warned = 8; + k_EContentModerationSanction_KickedFromGroup = 9; + k_EContentModerationSanction_HarassmentBanned = 10; + k_EContentModerationSanction_HarassmentStrike = 11; + k_EContentModerationSanction_Escalate = 12; + k_EContentModerationSanction_MarkedIncompatible = 13; + k_EContentModerationSanction_MAX = 14; } enum EContentReportSubjectAction { @@ -750,7 +787,7 @@ enum EContentReportSubjectAction { k_EContentReportSubjectAction_Updated = 5; k_EContentReportSubjectAction_Escalated = 6; k_EContentReportSubjectAction_Disputed = 7; - k_EContentReportSubjectAction_SustainedOnDispute = 8; + k_EContentReportSubjectAction_Sustained = 8; k_EContentReportSubjectAction_Locked = 9; k_EContentReportSubjectAction_Unlocked = 10; k_EContentReportSubjectAction_Deleted = 11; @@ -765,6 +802,7 @@ enum EContentReportSubjectAction { k_EContentReportSubjectAction_Claimed = 20; k_EContentReportSubjectAction_Released = 21; k_EContentReportSubjectAction_PrivateMessaged = 22; + k_EContentReportSubjectAction_OwnerDisputed = 23; } enum EContentReportReason { @@ -832,7 +870,13 @@ enum EContentReportReason { k_EContentReportReason_NegativeEffectonDiscourseOrElections = 61; k_EContentReportReason_QuotesModeratedContent = 62; k_EContentReportReason_CredibleThreatOfViolence = 63; - k_EContentReportReason_MAX = 64; + k_EContentReportReason_AutoCreatedOnModeration = 64; + k_EContentReportReason_Piracy = 65; + k_EContentReportReason_ToSViolation = 66; + k_EContentReportReason_Miscategorized = 67; + k_EContentReportReason_BypassingProfanityFilter = 68; + k_EContentReportReason_BulkDeletion = 69; + k_EContentReportReason_MAX = 70; } enum EResolutionAutomation { @@ -850,5 +894,37 @@ enum EPressOutletAction { k_EPressOutletAction_Updated = 4; k_EPressOutletAction_Deleted = 5; k_EPressOutletAction_Undeleted = 6; - k_EPressOutletAction_MAX = 7; + k_EPressOutletAction_StagedAdd = 7; + k_EPressOutletAction_StagedDelete = 8; + k_EPressOutletAction_EnterStaging = 9; + k_EPressOutletAction_ExitStaging = 10; + k_EPressOutletAction_ReverseStagedAdd = 11; + k_EPressOutletAction_ReverseStagedDelete = 12; + k_EPressOutletAction_MAX = 13; +} + +enum EPressOutletMemberPendingState { + k_EPressOutletMemberPendingState_Member = 0; + k_EPressOutletMemberPendingState_StagedDelete = 1; + k_EPressOutletMemberPendingState_StagedAdd = 2; + k_EPressOutletMemberPendingState_MAX = 3; +} + +enum ECommentDeleteReason { + k_ECommentDeleteReason_Invalid = 0; + k_ECommentDeleteReason_User = 1; + k_ECommentDeleteReason_ThreadOwner = 2; + k_ECommentDeleteReason_Moderator = 3; + k_ECommentDeleteReason_Support = 4; + k_ECommentDeleteReason_Spam = 5; + k_ECommentDeleteReason_AccountDeletion = 6; +} + +enum EDLCHighlightReason { + k_EDLCHighlightReason_None = 0; + k_EDLCHighlightReason_New = 1; + k_EDLCHighlightReason_ComingSoon = 2; + k_EDLCHighlightReason_PlayerFavorite = 3; + k_EDLCHighlightReason_Recommended = 4; + k_EDLCHighlightReason_NewPlayers = 5; } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto index c517f7e8..4f569f8b 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto @@ -1,6 +1,7 @@ option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; option optimize_for = SPEED; +option java_generic_services = false; enum EContentDescriptorID { k_EContentDescriptor_NudityOrSexualContent = 1; @@ -10,3 +11,11 @@ enum EContentDescriptorID { k_EContentDescriptor_AnyMatureContent = 5; k_EContentDescriptorMAX = 6; } + +enum EInteractiveElement { + k_EInteractiveElement_Invalid = 0; + k_EInteractiveElement_InGamePurchases = 1; + k_EInteractiveElement_InGamePurchasesOfRandomizedItems = 2; + k_EInteractiveElement_InGameChat = 3; + k_EInteractiveElement_OnlineInteractivity = 4; +} diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_appratings_types.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_appratings_types.proto new file mode 100644 index 00000000..c3b043a1 --- /dev/null +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_appratings_types.proto @@ -0,0 +1,65 @@ +option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum ERatingAgency { + k_ERatingAgency_Invalid = 0; + k_ERatingAgency_ESRB = 1; + k_ERatingAgency_PEGI = 2; + k_ERatingAgency_BBFC = 3; + k_ERatingAgency_USK = 4; + k_ERatingAgency_OFLC_AU = 5; + k_ERatingAgency_OFLC_NZ = 6; + k_ERatingAgency_CERO = 7; + k_ERatingAgency_GRAC = 8; + k_ERatingAgency_GMEDIA = 9; + k_ERatingAgency_DEJUS = 10; + k_ERatingAgency_IMDA = 11; + k_ERatingAgency_FPB = 12; + k_ERatingAgency_TESRI = 13; + k_ERatingAgency_RARS = 14; + k_ERatingAgency_AGCOM = 15; + k_ERatingAgency_IGRS = 16; + k_ERatingAgency_Steam_Germany = 17; + k_ERatingAgency_Steam_Australia = 18; + k_ERatingAgency_CADPA = 19; +} + +enum EAppRatingSource { + k_EAppRatingSource_Invalid = 0; + k_EAppRatingSource_Official = 1; + k_EAppRatingSource_Generated = 2; +} + +enum ERatingDescriptorImage { + k_ERatingDescriptorImage_Invalid = 0; + k_ERatingDescriptorImage_CERO_Love = 1; + k_ERatingDescriptorImage_CERO_SexualContent = 2; + k_ERatingDescriptorImage_CERO_Violence = 3; + k_ERatingDescriptorImage_CERO_Horror = 4; + k_ERatingDescriptorImage_CERO_DrinkingSmoking = 5; + k_ERatingDescriptorImage_CERO_Gambling = 6; + k_ERatingDescriptorImage_CERO_Crime = 7; + k_ERatingDescriptorImage_CERO_Drugs = 8; + k_ERatingDescriptorImage_CERO_Language = 9; +} + +message AppRatingAuxData { + repeated string descriptors = 1; + repeated string interactive_elements = 2; + optional string official_id = 3; + optional bool esrb_online_music_not_rated = 4; + optional bool esrb_online_interactions_not_rated = 5; + repeated .ERatingDescriptorImage descriptor_images = 6; +} + +message AppRating { + optional .ERatingAgency rating_agency = 1 [default = k_ERatingAgency_Invalid]; + optional string rating = 2; + optional .EAppRatingSource source = 3 [default = k_EAppRatingSource_Invalid]; + optional bool banned = 4; + optional uint32 required_age = 5; + optional bool use_age_gate = 6; + optional .AppRatingAuxData aux_data = 7; +} diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_auth.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_auth.steamclient.proto index af883e6c..7f3b3ece 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_auth.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_auth.steamclient.proto @@ -367,16 +367,6 @@ message CAuthenticationSupport_MarkTokenCompromised_Request { message CAuthenticationSupport_MarkTokenCompromised_Response { } -message CCloudGaming_CreateNonce_Request { - optional string platform = 1; - optional uint32 appid = 2; -} - -message CCloudGaming_CreateNonce_Response { - optional string nonce = 1; - optional uint32 expiry = 2; -} - message CCloudGaming_GetTimeRemaining_Request { optional string platform = 1; repeated uint32 appid_list = 2; @@ -417,6 +407,5 @@ service AuthenticationSupport { } service CloudGaming { - rpc CreateNonce (.CCloudGaming_CreateNonce_Request) returns (.CCloudGaming_CreateNonce_Response); rpc GetTimeRemaining (.CCloudGaming_GetTimeRemaining_Request) returns (.CCloudGaming_GetTimeRemaining_Response); } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto index 4f114643..a7273a07 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto @@ -129,6 +129,14 @@ message CMsgProtoBufHeader { optional fixed64 admin_request_spoofing_steamid = 43; optional bool is_valveds = 44; optional fixed64 trace_tag = 45; + optional uint32 wg_msg_trace_flags = 46; + optional uint32 wg_msg_trace_instance = 47; + optional uint32 wg_msg_trace_gid = 48; + optional string wg_msg_trace_token = 49; + optional fixed64 wg_msg_trace_steamid = 50; + optional string wg_msg_trace_status = 51; + optional uint32 trace_flags = 52; + optional string browserapi_site = 53; oneof ip_addr { uint32 ip = 15; @@ -211,7 +219,6 @@ message CMsgAppRights { } message CCuratorPreferences { - optional uint32 supported_languages = 1; optional bool platform_windows = 2; optional bool platform_mac = 3; optional bool platform_linux = 4; @@ -304,6 +311,7 @@ message CClanEventData { optional uint32 build_id = 29; optional string build_branch = 30; optional bool unlisted = 31; + optional uint32 rtime_created = 32; } message CBilling_Address { @@ -332,6 +340,11 @@ message CPackageReservationStatus { optional string notificaton_token = 10; optional int32 queue_head_position_at_reservation = 11; optional int32 queue_head_position_now = 12; + optional bool position_is_waitlist = 13; + optional string user_waitlist_token = 14; + optional bool queue_in_waitlist = 15; + optional string queue_waitlist_token = 16; + optional uint32 collection_time_active = 17; } message CMsgKeyValuePair { @@ -365,9 +378,26 @@ message UserSystemInformation { optional string cpu_name = 10; optional uint32 gaming_device_type = 11; optional string dx_driver_version = 12; - optional string dx_driver_name = 13; optional string adapter_description = 14; optional string driver_version = 15; optional string driver_date = 16; optional uint32 vram_size = 17; + optional uint32 screen_width = 18; + optional uint32 screen_height = 19; + optional bool precise_frame_rate = 20; +} + +message GamePerformanceSettings { + enum EGamePerformanceSetting { + k_EGamePerformanceSetting_NotSet = 0; + k_EGamePerformanceSetting_Low = 1; + k_EGamePerformanceSetting_Medium = 2; + k_EGamePerformanceSetting_High = 3; + k_EGamePerformanceSetting_Ultra = 4; + k_EGamePerformanceSetting_Custom = 5; + } + + optional .GamePerformanceSettings.EGamePerformanceSetting setting = 1 [default = k_EGamePerformanceSetting_NotSet]; + optional uint32 game_resolution_width = 2; + optional uint32 game_resolution_height = 3; } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_chat.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_chat.steamclient.proto index 3c5ff515..fa7aa3d4 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_chat.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_chat.steamclient.proto @@ -1,3 +1,4 @@ +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_unified_base.steamclient.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_friends.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/enums.proto"; @@ -55,6 +56,11 @@ enum EChatRoomMessageReactionType { k_EChatRoomMessageReactionType_Sticker = 2; } +enum EChatRoomNotice { + k_EChatRoomNotice_Invalid = 0; + k_EChatRoomNotice_Suspicious = 1; +} + enum EChatRoomMemberStateChange { k_EChatRoomMemberStateChange_Invalid = 0; k_EChatRoomMemberStateChange_Joined = 1; @@ -665,9 +671,20 @@ message CChatRoom_SetSessionActiveChatRoomGroups_Request { optional int32 virtualize_members_threshold = 3; } +message CChatRoomMemberNotice { + optional uint32 accountid = 1; + optional .EChatRoomNotice notice_type = 2 [default = k_EChatRoomNotice_Invalid]; +} + +message CChatRoomGroupMemberNotices { + optional uint64 chat_group_id = 1; + repeated .CChatRoomMemberNotice member_notices = 2; +} + message CChatRoom_SetSessionActiveChatRoomGroups_Response { repeated .CChatRoomGroupState chat_states = 1; repeated uint64 virtualize_members_chat_group_ids = 2; + repeated .CChatRoomGroupMemberNotices chat_group_notices = 3; } message CChatRoom_SetUserChatGroupPreferences_Request { @@ -707,6 +724,12 @@ message CChatRoom_DeleteChatMessages_Request { message CChatRoom_DeleteChatMessages_Response { } +message CChatRoom_DismissChatRoomNotice_Notification { + optional uint64 chat_group_id = 1; + optional fixed64 steamid_sender = 2; + optional .EChatRoomNotice notice_type = 3 [default = k_EChatRoomNotice_Invalid]; +} + message CChatRoom_UpdateMemberListView_Notification { optional uint64 chat_group_id = 1; optional uint64 view_id = 2; @@ -787,6 +810,7 @@ message CChatRoom_ResolveReport_Request { optional uint64 chat_group_id = 6; optional uint32 kick_expiration_time = 7; optional bool skip_lock = 8; + optional uint64 reported_content_id = 9; } message CChatRoom_ResolveReport_Response { @@ -915,6 +939,13 @@ message CChatRoom_MessageReaction_Notification { optional bool is_add = 8; } +message CChatRoom_ChatRoomNotice_Notification { + optional uint64 chat_group_id = 1; + optional fixed64 steamid_sender = 2; + optional .EChatRoomNotice notice_type = 3 [default = k_EChatRoomNotice_Invalid]; + optional bool active = 4; +} + message CChatUsability_ClientUsabilityMetrics_Notification { message Settings { optional bool notifications_show_ingame = 1; @@ -1065,6 +1096,7 @@ service ChatRoom { rpc SetSessionActiveChatRoomGroups (.CChatRoom_SetSessionActiveChatRoomGroups_Request) returns (.CChatRoom_SetSessionActiveChatRoomGroups_Response); rpc SetUserChatGroupPreferences (.CChatRoom_SetUserChatGroupPreferences_Request) returns (.CChatRoom_SetUserChatGroupPreferences_Response); rpc DeleteChatMessages (.CChatRoom_DeleteChatMessages_Request) returns (.CChatRoom_DeleteChatMessages_Response); + rpc DismissChatRoomNotice (.CChatRoom_DismissChatRoomNotice_Notification) returns (.NoResponse); rpc UpdateMemberListView (.CChatRoom_UpdateMemberListView_Notification) returns (.NoResponse); rpc SearchMembers (.CChatRoom_SearchMembers_Request) returns (.CChatRoom_SearchMembers_Response); rpc UpdateMessageReaction (.CChatRoom_UpdateMessageReaction_Request) returns (.CChatRoom_UpdateMessageReaction_Response); @@ -1092,6 +1124,7 @@ service ChatRoomClient { rpc NotifyChatRoomDisconnect (.ChatRoomClient_NotifyChatRoomDisconnect_Notification) returns (.NoResponse); rpc NotifyMemberListViewUpdated (.CChatRoomClient_MemberListViewUpdated_Notification) returns (.NoResponse); rpc NotifyMessageReaction (.CChatRoom_MessageReaction_Notification) returns (.NoResponse); + rpc NotifyChatRoomNotice (.CChatRoom_ChatRoomNotice_Notification) returns (.NoResponse); } service ChatUsability { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_client_objects.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_client_objects.proto index d86d0297..faae8edb 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_client_objects.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_client_objects.proto @@ -13,6 +13,12 @@ enum ECloudPendingRemoteOperation { k_ECloudPendingRemoteOperationAppSessionSuspended = 4; } +enum EDisplayManagerRGBRange { + k_EDisplayManagerRGBRange_Automatic = 0; + k_EDisplayManagerRGBRange_Full = 1; + k_EDisplayManagerRGBRange_Limited = 2; +} + enum ESteamDeckKeyboardLayout { k_ESteamDeckKeyboardLayout_QWERTY = 0; k_ESteamDeckKeyboardLayout_Bulgarian = 1; @@ -74,7 +80,7 @@ message CMsgNetworkDeviceIP4Config { } message CMsgNetworkDeviceIP6Address { - optional string ip = 1; + optional string ip = 1 [default = ""]; } message CMsgNetworkDeviceIP6Config { @@ -275,11 +281,8 @@ message CMsgSystemPerfLimits { optional int32 cpu_governor_manual_max_mhz = 2; optional int32 fsr_sharpness_min = 3; optional int32 fsr_sharpness_max = 4; - optional int32 gpu_performance_manual_min_mhz = 5; - optional int32 gpu_performance_manual_max_mhz = 6; optional bool perf_overlay_is_standalone = 7; optional bool is_manual_display_refresh_rate_available = 9; - repeated .EGPUPerformanceLevel gpu_performance_levels_available = 10; optional int32 display_refresh_manual_hz_min = 11; optional int32 display_refresh_manual_hz_max = 12; repeated int32 fps_limit_options = 13; @@ -311,7 +314,6 @@ message CMsgSystemPerfSettingsGlobal { } message CMsgSystemPerfSettingsPerApp { - optional int32 gpu_performance_manual_mhz = 1; optional int32 fps_limit = 2; optional bool is_variable_resolution_enabled = 3; optional bool is_dynamic_refresh_rate_enabled = 4; @@ -325,7 +327,6 @@ message CMsgSystemPerfSettingsPerApp { optional bool is_low_latency_mode_enabled = 12; optional int32 display_refresh_manual_hz = 13; optional bool is_game_perf_profile_enabled = 14; - optional .EGPUPerformanceLevel gpu_performance_level = 15 [default = k_EGPUPerformanceLevel_Invalid]; optional int32 display_external_refresh_manual_hz = 17; optional int32 fps_limit_external = 18; optional bool is_tearing_enabled = 19; @@ -506,17 +507,26 @@ message CMsgSystemDisplay { optional bool is_hdr_capable = 16; optional bool is_hdr_output_active = 17; repeated int32 supported_refresh_rates = 18; + optional .EDisplayManagerRGBRange rgb_range = 19 [default = k_EDisplayManagerRGBRange_Automatic]; +} + +message CMsgSystemDisplayManagerGameResolution { + optional uint32 width = 1; + optional uint32 height = 2; } message CMsgSystemDisplayManagerState { repeated .CMsgSystemDisplay displays = 1; optional bool is_mode_switching_supported = 2; optional .ESystemDisplayCompatibilityMode compatibility_mode = 3 [default = k_ESystemDisplayCompatibilityMode_Invalid]; + optional .CMsgSystemDisplayManagerGameResolution game_resolution_override_native = 4; + optional .CMsgSystemDisplayManagerGameResolution game_resolution_override_default = 5; } message CMsgSystemDisplayManagerSetMode { optional int32 display_id = 1; optional int32 mode_id = 2; + optional .EDisplayManagerRGBRange rgb_range = 3 [default = k_EDisplayManagerRGBRange_Automatic]; } message CMsgSystemManagerSettings { @@ -540,7 +550,6 @@ message CMsgSystemManagerSettings { optional float display_backlight_raw = 23; optional float display_brightness_adaptivemin = 24; optional float display_brightness_adaptivemax = 25; - optional bool is_wifi_powersave_enabled = 26; optional bool is_fan_control_available = 27; optional .ESystemFanControlMode fan_control_mode = 28 [default = k_SystemFanControlMode_Invalid]; optional bool is_display_brightness_available = 29; @@ -561,9 +570,10 @@ message CMsgSelectOSBranchParams { } message CMsgSystemUpdateProgress { - optional float stage_progress = 1; + optional float total_progress = 1; optional int64 stage_size_bytes = 2; optional fixed32 rtime_estimated_completion = 3; + optional int64 stage_bytes_downloaded = 4; } message CMsgSystemUpdateCheckResult { @@ -578,6 +588,7 @@ message CMsgSystemUpdateCheckResult { message CMsgSystemUpdateApplyParams { repeated .EUpdaterType apply_types = 1; + repeated .EUpdaterType recheck_types = 2; } message CMsgSystemUpdateApplyResult { @@ -646,7 +657,7 @@ message CMsgMonitorInfo { required string monitor_display_name = 2; } - required string selected_display_name = 1; + required string selected_device_name = 1; repeated .CMsgMonitorInfo.MonitorInfo monitors = 2; } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientmetrics.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientmetrics.steamclient.proto index 2285e578..0694542b 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientmetrics.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientmetrics.steamclient.proto @@ -115,6 +115,7 @@ message CClientMetrics_ReportClientError_Notification { optional string message = 2; optional uint32 count = 3; optional string context = 4; + optional string url = 5; } optional string product = 1; @@ -141,6 +142,8 @@ message CClientMetrics_DownloadRates_Notification { optional uint32 cache_misses = 10; optional uint64 hit_bytes = 11; optional uint64 miss_bytes = 12; + optional uint32 chunks_scored = 13; + optional double sum_chunk_scores = 14; } optional uint32 cell_id = 1; @@ -212,6 +215,8 @@ message CClientMetrics_ReportLinuxStats_Notification { optional int32 launcher_type = 4; optional int32 game_server_appid = 5; optional string process_name = 6; + optional int32 kernel_version_major = 7; + optional int32 kernel_version_minor = 8; } message CClientMetrics_ReportAccessibilitySettings_Notification { @@ -257,6 +262,10 @@ message CClientMetrics_GamePerformance_Notification { optional fixed64 gameid = 1; optional uint32 frame_rate = 2; optional int32 session_seconds = 3; + optional uint32 framegen_frame_rate = 4; + optional .GamePerformanceSettings game_settings = 5; + optional uint32 seconds_since_active = 6; + optional uint32 frame_rate_limit = 7; } repeated .CClientMetrics_GamePerformance_Notification.FrameRate frame_rates = 2; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver.proto index 84ed64b3..5d724ec8 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver.proto @@ -105,7 +105,7 @@ message CMsgClientGamesPlayed { optional string vr_hmd_model = 14; optional uint32 launch_option_type = 15 [default = 0]; optional int32 primary_controller_type = 16 [default = -1]; - optional string primary_steam_controller_serial = 17; + optional string primary_steam_controller_serial = 17 [default = ""]; optional uint32 total_steam_controller_count = 18 [default = 0]; optional uint32 total_non_steam_controller_count = 19 [default = 0]; optional uint64 controller_workshop_file_id = 20 [default = 0]; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_gameservers.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_gameservers.proto index c75b17e9..42495ac7 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_gameservers.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_gameservers.proto @@ -96,7 +96,7 @@ message CMsgGMSClientServerQueryResponse { optional uint32 query_port = 2; optional uint32 auth_players = 3; optional .CMsgIPAddress server_ip = 4; - optional fixed64 steam_id = 6; + optional fixed64 steam_id = 6 [(allow_field_named_steam_id) = true]; optional uint32 revision = 7; optional uint32 players = 8; optional uint32 game_port = 9; @@ -121,6 +121,10 @@ message CMsgGMSClientServerQueryResponse { optional uint32 gametype_strindex = 27; optional string spectator_name_str = 30; optional uint32 spectator_name_strindex = 31; + repeated fixed64 friends = 33; + optional uint32 friends_count = 34; + optional uint32 friends_count_connected = 35; + optional uint32 ping_estimate = 36; } enum EFlags { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_login.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_login.proto index f69f6fd3..3b79eb79 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_login.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_login.proto @@ -85,9 +85,6 @@ message CMsgClientLogon { optional bool disable_partner_autogrants = 106; optional string access_token = 108; optional bool is_chrome_os = 109; - optional bool is_steam_box_deprecated = 99; - optional bool is_steam_deck_deprecated = 107; - optional bool is_tesla_deprecated = 110; optional uint32 gaming_device_type = 111; } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_mms.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_mms.proto index c81cb707..c23a9264 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_mms.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_mms.proto @@ -12,6 +12,11 @@ enum EMMSLobbyStatus { k_EMMSLobbyStatusNotAMember = 3; } +message MMSKeyValuePair { + optional string name = 1; + optional string value = 2; +} + message CMsgClientMMSSetRatelimitPolicyOnClient { optional uint32 app_id = 1; optional bool enable_rate_limits = 2; @@ -26,10 +31,11 @@ message CMsgClientMMSCreateLobby { optional int32 lobby_flags = 4; optional uint32 cell_id = 5; optional uint32 deprecated_public_ip = 6; - optional bytes metadata = 7; + optional bytes metadata_kv = 7; optional string persona_name_owner = 8; optional .CMsgIPAddress public_ip = 9; optional string network_ping_location = 10; + repeated .MMSKeyValuePair metadata = 11; } message CMsgClientMMSCreateLobbyResponse { @@ -50,7 +56,8 @@ message CMsgClientMMSJoinLobbyResponse { message Member { optional fixed64 steam_id = 1; optional string persona_name = 2; - optional bytes metadata = 3; + optional bytes metadata_kv = 3; + repeated .MMSKeyValuePair metadata = 4; } optional uint32 app_id = 1; @@ -60,8 +67,9 @@ message CMsgClientMMSJoinLobbyResponse { optional int32 lobby_type = 5; optional int32 lobby_flags = 6; optional fixed64 steam_id_owner = 7; - optional bytes metadata = 8; + optional bytes metadata_kv = 8; repeated .CMsgClientMMSJoinLobbyResponse.Member members = 9; + repeated .MMSKeyValuePair metadata = 10; } message CMsgClientMMSLeaveLobby { @@ -98,12 +106,13 @@ message CMsgClientMMSGetLobbyListResponse { optional int32 max_members = 2; optional int32 lobby_type = 3; optional int32 lobby_flags = 4; - optional bytes metadata = 5; + optional bytes metadata_kv = 5; optional int32 num_members = 6; optional float distance = 7; optional int64 weight = 8; optional int32 ping = 9; optional int32 missing_ping = 10; + repeated .MMSKeyValuePair metadata = 11; } optional uint32 app_id = 1; @@ -118,8 +127,9 @@ message CMsgClientMMSSetLobbyData { optional int32 max_members = 4; optional int32 lobby_type = 5; optional int32 lobby_flags = 6; - optional bytes metadata = 7; + optional bytes metadata_kv = 7; optional string network_ping_location = 8; + repeated .MMSKeyValuePair metadata = 9; } message CMsgClientMMSSetLobbyDataResponse { @@ -137,8 +147,9 @@ message CMsgClientMMSLobbyData { message Member { optional fixed64 steam_id = 1; optional string persona_name = 2; - optional bytes metadata = 3; + optional bytes metadata_kv = 3; optional string ping_data = 4; + repeated .MMSKeyValuePair metadata = 5; } optional uint32 app_id = 1; @@ -148,10 +159,11 @@ message CMsgClientMMSLobbyData { optional int32 lobby_type = 5; optional int32 lobby_flags = 6; optional fixed64 steam_id_owner = 7; - optional bytes metadata = 8; + optional bytes metadata_kv = 8; repeated .CMsgClientMMSLobbyData.Member members = 9; optional uint32 lobby_cellid = 10; optional bool owner_should_accept_changes = 11; + repeated .MMSKeyValuePair metadata = 12; } message CMsgClientMMSSendLobbyChatMsg { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_cloud.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_cloud.steamclient.proto index 917d5451..3a2ee654 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_cloud.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_cloud.steamclient.proto @@ -60,6 +60,7 @@ message CCloud_BeginUGCUpload_Request { optional string filename = 3; optional string file_sha = 4; optional string content_type = 5; + optional bool is_public = 6; } message CCloud_BeginUGCUpload_Response { @@ -324,6 +325,7 @@ message CCloud_AppFileInfo { optional uint32 platforms_to_sync = 6; optional uint32 path_prefix_index = 7; optional uint32 machine_name_index = 8; + optional bool reupload_requested = 9; } message CCloud_GetAppFileChangelist_Response { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_contentsystem.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_contentsystem.steamclient.proto index efb5c2f5..c6370b3c 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_contentsystem.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_contentsystem.steamclient.proto @@ -21,9 +21,9 @@ message CContentServerDirectory_ConnectedSteamPipeServerInfo { message CContentServerDirectory_GetServersForSteamPipe_Request { optional uint32 cell_id = 1; optional uint32 max_servers = 2 [default = 20]; - optional string ip_override = 3; + optional string ip_override = 3 [default = ""]; optional int32 launcher_type = 4 [default = 0]; - optional string ipv6_public = 5; + optional string ipv6_public = 5 [default = ""]; repeated .CContentServerDirectory_ConnectedSteamPipeServerInfo current_connections = 6; } @@ -43,6 +43,7 @@ message CContentServerDirectory_ServerInfo { repeated uint32 allowed_app_ids = 13; optional uint32 priority_class = 15; repeated string bypass_proxies_of_type = 16; + optional string group = 17; } message CContentServerDirectory_GetServersForSteamPipe_Response { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_friendmessages.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_friendmessages.steamclient.proto index f4443155..7b3cddf3 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_friendmessages.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_friendmessages.steamclient.proto @@ -98,6 +98,14 @@ message CFriendMessages_IsInFriendsUIBeta_Response { optional bool has_used_friendsui = 2; } +message CFriendMessages_GetPartnerSharedChatGroup_Request { + optional fixed64 steamid = 1; +} + +message CFriendMessages_GetPartnerSharedChatGroup_Response { + optional uint64 chat_group_id = 1; +} + message CFriendMessages_UpdateMessageReaction_Request { optional fixed64 steamid = 1; optional uint32 server_timestamp = 2; @@ -132,6 +140,7 @@ message CFriendMessages_ResolveReport_Request { optional .EContentReportResolution resolution = 5 [default = k_EContentReportResolution_Unresolved]; optional .EContentReportReason reason = 6 [default = k_EContentReportReason_Invalid]; optional bool skip_lock = 7; + optional uint64 reported_content_id = 8; } message CFriendMessages_ResolveReport_Response { @@ -176,6 +185,7 @@ service FriendMessages { rpc SendMessage (.CFriendMessages_SendMessage_Request) returns (.CFriendMessages_SendMessage_Response); rpc AckMessage (.CFriendMessages_AckMessage_Notification) returns (.NoResponse); rpc IsInFriendsUIBeta (.CFriendMessages_IsInFriendsUIBeta_Request) returns (.CFriendMessages_IsInFriendsUIBeta_Response); + rpc GetPartnerSharedChatGroup (.CFriendMessages_GetPartnerSharedChatGroup_Request) returns (.CFriendMessages_GetPartnerSharedChatGroup_Response); rpc UpdateMessageReaction (.CFriendMessages_UpdateMessageReaction_Request) returns (.CFriendMessages_UpdateMessageReaction_Response); rpc ReportMessage (.CFriendMessages_ReportMessage_Request) returns (.CFriendMessages_ReportMessage_Response); rpc ResolveReport (.CFriendMessages_ResolveReport_Request) returns (.CFriendMessages_ResolveReport_Response); diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_parental_objects.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_parental_objects.proto index f635be61..084bf224 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_parental_objects.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_parental_objects.proto @@ -1,4 +1,3 @@ -import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/enums.proto"; option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_player.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_player.steamclient.proto index b7e42d68..1f3477dd 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_player.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_player.steamclient.proto @@ -7,6 +7,12 @@ option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; option optimize_for = SPEED; option java_generic_services = false; +enum EAchievementProgressType { + k_EAchievementProgressType_Invalid = 0; + k_EAchievementProgressType_Int = 1; + k_EAchievementProgressType_Float = 2; +} + enum EProfileCustomizationStyle { k_EProfileCustomizationStyleDefault = 0; k_EProfileCustomizationStyleSelected = 1; @@ -123,6 +129,7 @@ message CPlayer_GetOwnedGames_Request { optional bool skip_unvetted_apps = 6 [default = true]; optional string language = 7; optional bool include_extended_appinfo = 8; + optional bool include_family_licenses = 9; } message CPlayer_GetOwnedGames_Response { @@ -146,6 +153,7 @@ message CPlayer_GetOwnedGames_Response { optional bool has_leaderboards = 17; repeated uint32 content_descriptorids = 18; optional int32 playtime_disconnected = 19; + optional bool family_shared = 21; } optional uint32 game_count = 1; @@ -164,6 +172,7 @@ message CPlayer_GetPlayNext_Response { message CPlayer_GetFriendsGameplayInfo_Request { optional uint32 appid = 1; + optional bool include_family_licenses = 2; } message CPlayer_GetFriendsGameplayInfo_Response { @@ -419,6 +428,11 @@ message CPlayer_GetAchievementsProgress_Response { optional bool all_unlocked = 5; optional uint32 cache_time = 6; optional bool vetted = 7; + optional uint32 groups_completed_base = 8; + optional uint32 groups_total_base = 9; + optional uint32 groups_completed_dlc = 10; + optional uint32 groups_total_dlc = 11; + optional uint32 base_game_total = 12; } repeated .CPlayer_GetAchievementsProgress_Response.AchievementProgress achievement_progress = 1; @@ -427,6 +441,7 @@ message CPlayer_GetAchievementsProgress_Response { message CPlayer_GetGameAchievements_Request { optional uint32 appid = 1; optional string language = 2; + optional bool hash_only = 3; } message CPlayer_GetGameAchievements_Response { @@ -438,9 +453,107 @@ message CPlayer_GetGameAchievements_Response { optional string icon_gray = 5; optional bool hidden = 6; optional string player_percent_unlocked = 7; + optional uint32 internal_key = 8; + optional int32 min_progress_int = 9; + optional int32 max_progress_int = 10; + optional uint32 groupid = 11; + optional bool archived = 12; + optional .EAchievementProgressType progress_type = 13 [default = k_EAchievementProgressType_Invalid]; + optional float min_progress_float = 14; + optional float max_progress_float = 15; + } + + message Group { + optional uint32 groupid = 1; + optional string localized_name = 2; + optional uint32 dlcappid = 3; + optional bool archived = 4; + optional bool developeronly = 5; + optional uint32 order = 6; + optional bool ispublic = 7; + optional uint32 total_achievements = 8; + optional uint32 completion_achievements = 9; } repeated .CPlayer_GetGameAchievements_Response.Achievement achievements = 1; + optional int32 schema_version = 2; + repeated .CPlayer_GetGameAchievements_Response.Group groups = 3; + optional uint32 schema_hash = 4; +} + +message CPlayer_GetUserAchievements_Request { + optional uint64 steamid = 1; + optional uint32 appid = 2; +} + +message CPlayer_GetUserAchievements_Response { + message Achievement { + optional uint32 internal_key = 1; + optional bool unlocked = 2; + optional fixed32 unlock_time = 3; + optional int32 progress_int = 4; + optional float progress_float = 5; + } + + message Group { + optional uint32 groupid = 1; + optional bool is_achievable = 2; + optional uint32 completed_achievements = 3; + optional bool is_completed = 4; + optional fixed32 time_completed = 9; + } + + repeated .CPlayer_GetUserAchievements_Response.Achievement achievements = 1; + optional int32 schema_version = 2; + optional uint32 schema_hash = 3; + repeated .CPlayer_GetUserAchievements_Response.Group groups = 4; +} + +message CPlayer_GetGlobalAchievementPercentages_Request { + optional uint32 appid = 1; +} + +message CPlayer_GetGlobalAchievementPercentages_Response { + message Achievement { + optional uint32 internal_key = 1; + optional float player_percent_unlocked = 2; + } + + message Group { + optional uint32 groupid = 1; + optional float player_percent_completed = 2; + } + + repeated .CPlayer_GetGlobalAchievementPercentages_Response.Achievement achievements = 1; + repeated .CPlayer_GetGlobalAchievementPercentages_Response.Group groups = 2; +} + +message CPlayer_GetUserStats_Request { + optional uint64 steamid = 1; + optional uint32 appid = 2; + optional bytes sha_schema = 3; + optional uint32 crc_stats = 4; + optional uint32 crc_schema = 5; + optional bool app_running = 6; +} + +message CPlayer_GetUserStats_Response { + message Unlock_Time { + optional uint32 achievement_bit = 1; + optional fixed32 unlock_time = 2; + } + + message Stats { + optional uint32 stat_id = 1; + optional uint32 stat_value = 2; + repeated .CPlayer_GetUserStats_Response.Unlock_Time unlock_times = 3; + } + + optional bytes sha_schema = 1; + optional uint32 crc_stats = 2; + optional bytes schema = 3; + repeated .CPlayer_GetUserStats_Response.Stats stats = 4; + optional uint32 crc_schema = 5; } message CPlayer_GetFavoriteBadge_Request { @@ -881,6 +994,9 @@ service Player { rpc GetTopAchievementsForGames (.CPlayer_GetTopAchievementsForGames_Request) returns (.CPlayer_GetTopAchievementsForGames_Response); rpc GetAchievementsProgress (.CPlayer_GetAchievementsProgress_Request) returns (.CPlayer_GetAchievementsProgress_Response); rpc GetGameAchievements (.CPlayer_GetGameAchievements_Request) returns (.CPlayer_GetGameAchievements_Response); + rpc GetUserAchievements (.CPlayer_GetUserAchievements_Request) returns (.CPlayer_GetUserAchievements_Response); + rpc GetGlobalAchievementPercentages (.CPlayer_GetGlobalAchievementPercentages_Request) returns (.CPlayer_GetGlobalAchievementPercentages_Response); + rpc GetUserStats (.CPlayer_GetUserStats_Request) returns (.CPlayer_GetUserStats_Response); rpc GetFavoriteBadge (.CPlayer_GetFavoriteBadge_Request) returns (.CPlayer_GetFavoriteBadge_Response); rpc SetFavoriteBadge (.CPlayer_SetFavoriteBadge_Request) returns (.CPlayer_SetFavoriteBadge_Response); rpc GetProfileCustomization (.CPlayer_GetProfileCustomization_Request) returns (.CPlayer_GetProfileCustomization_Response); diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto index 0568e06b..a8c367b2 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_publishedfile.steamclient.proto @@ -1,6 +1,7 @@ import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_unified_base.steamclient.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto"; +import "in/dragonbra/javasteam/protobufs/steamclient/enums.proto"; option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; @@ -26,6 +27,23 @@ enum EPublishedFileForSaleStatus { k_PFFSS_TentativeApproval = 5; } +enum EQueryFilesSpecialFilter { + k_EQueryFilesSpecialFilter_None = 0; + k_EQueryFilesSpecialFilter_AcceptedForUse = 1; + k_EQueryFilesSpecialFilter_FavoritedByFriends = 2; + k_EQueryFilesSpecialFilter_CreateByFriends = 3; + k_EQueryFilesSpecialFilter_CreatedByFollowed = 4; + k_EQueryFilesSpecialFilter_Reported = 5; + k_EQueryFilesSpecialFilter_ParentItems = 6; + k_EQueryFilesSpecialFilter_ParentCollections = 7; +} + +enum EQueryFilesSearchTextTarget { + k_EQueryFilesSearchTextTarget_AllText = 0; + k_EQueryFilesSearchTextTarget_Title = 1; + k_EQueryFilesSearchTextTarget_Description = 2; +} + message CPublishedFile_Vote_Request { optional uint64 publishedfileid = 1; optional bool vote_up = 2; @@ -98,6 +116,7 @@ message CPublishedFile_Publish_Request { optional string collection_type = 14; optional string game_type = 15; optional string url = 16; + optional int32 language = 17; } message CPublishedFile_Publish_Response { @@ -278,6 +297,7 @@ message CPublishedFile_GetItemInfo_Request { optional uint32 last_time_updated = 2; repeated .CPublishedFile_GetItemInfo_Request.WorkshopItem workshop_items = 3; optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default]; + optional bool full_reconcile = 5; } message CPublishedFile_GetItemInfo_Response { @@ -305,6 +325,11 @@ message CPublishedFile_GetUserFiles_Request { repeated string tags = 1; } + message DateRange { + optional uint32 timestamp_start = 1; + optional uint32 timestamp_end = 2; + } + optional fixed64 steamid = 1; optional uint32 appid = 2; optional uint32 shortcutid = 3; @@ -322,8 +347,11 @@ message CPublishedFile_GetUserFiles_Request { optional uint32 cache_max_age_seconds = 27 [default = 0]; optional int32 language = 29 [default = 0]; repeated .CPublishedFile_GetUserFiles_Request.TagGroup taggroups = 34; + optional .CPublishedFile_GetUserFiles_Request.DateRange date_range_created = 39; + optional .CPublishedFile_GetUserFiles_Request.DateRange date_range_updated = 40; repeated .EContentDescriptorID excluded_content_descriptors = 37; optional bool admin_query = 38; + repeated .EContentDescriptorID excluded_apps_with_content_descriptors = 41; optional bool totalonly = 17; optional bool ids_only = 18; optional bool return_vote_data = 19 [default = true]; @@ -383,9 +411,11 @@ message CPublishedFile_Update_Request { optional string filename = 7; optional string preview_filename = 8; optional bool spoiler_tag = 10; + optional string collectiontype = 14; optional uint32 image_width = 15; optional uint32 image_height = 16; optional int32 language = 17; + optional bool update_tags = 18; } message CPublishedFile_Update_Response { @@ -491,6 +521,10 @@ message CPublishedFile_QueryFiles_Request { optional .CPublishedFile_QueryFiles_Request.DateRange date_range_updated = 45; repeated .EContentDescriptorID excluded_content_descriptors = 46; optional bool admin_query = 47; + optional .EQueryFilesSpecialFilter special_filter = 48 [default = k_EQueryFilesSpecialFilter_None]; + repeated uint32 appids_required_for_use = 49; + repeated uint32 excluded_appids_required_for_use = 51; + optional .EQueryFilesSearchTextTarget search_text_target = 50 [default = k_EQueryFilesSearchTextTarget_AllText]; optional bool totalonly = 16; optional bool ids_only = 35; optional bool return_vote_data = 17; @@ -646,6 +680,7 @@ message CPublishedFile_GetUserVoteSummary_Response { optional bool vote_for = 2; optional bool vote_against = 3; optional bool reported = 4; + optional bool vote_later = 5; } repeated .CPublishedFile_GetUserVoteSummary_Response.VoteSummary summaries = 1; @@ -656,6 +691,7 @@ message CPublishedFile_GetItemChanges_Request { optional uint32 last_time_updated = 2; optional uint32 num_items_max = 3; optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default]; + optional bool include_legacy_items = 5; } message CPublishedFile_GetItemChanges_Response { @@ -664,6 +700,7 @@ message CPublishedFile_GetItemChanges_Response { optional uint32 time_updated = 2; optional fixed64 manifest_id = 3; repeated .PublishedFileAuthorSnapshot author_snapshots = 4; + optional uint32 flags = 5; } optional uint32 update_time = 1; @@ -695,6 +732,32 @@ message CPublishedFile_UpdateContentDescriptors_Response { optional uint32 timestamp_updated = 1; } +message CPublishedFile_SanctionPublishedFile_Request { + message Sanction { + optional .EContentModerationSanction sanction = 1 [default = k_EContentModerationSanction_Invalid]; + optional int32 days = 2; + optional .EContentModeratorLevel escalate_to = 3 [default = k_EContentModeratorLevel_Any]; + } + + optional fixed64 publishedfileid = 1; + optional .EContentReportReason reason = 2 [default = k_EContentReportReason_Invalid]; + optional string note = 3; + optional .EResolutionAutomation resolved_by_automation = 4 [default = k_EResolutionAutomation_Manual]; + repeated .CPublishedFile_SanctionPublishedFile_Request.Sanction sanctions = 5; +} + +message CPublishedFile_SanctionPublishedFile_Response { + optional bool force_unbanned = 1; +} + +message CPublishedFile_AcquitPublishedFile_Request { + optional fixed64 publishedfileid = 1; + optional .EResolutionAutomation resolved_by_automation = 2 [default = k_EResolutionAutomation_Manual]; +} + +message CPublishedFile_AcquitPublishedFile_Response { +} + message CPublishedFile_FileSubscribed_Notification { message RevisionData { optional .EPublishedFileRevision revision = 1 [default = k_EPublishedFileRevision_Default]; @@ -759,6 +822,8 @@ service PublishedFile { rpc GetItemChanges (.CPublishedFile_GetItemChanges_Request) returns (.CPublishedFile_GetItemChanges_Response); rpc GetContentDescriptors (.CPublishedFile_GetContentDescriptors_Request) returns (.CPublishedFile_GetContentDescriptors_Response); rpc UpdateContentDescriptors (.CPublishedFile_UpdateContentDescriptors_Request) returns (.CPublishedFile_UpdateContentDescriptors_Response); + rpc SanctionPublishedFile (.CPublishedFile_SanctionPublishedFile_Request) returns (.CPublishedFile_SanctionPublishedFile_Response); + rpc AcquitPublishedFile (.CPublishedFile_AcquitPublishedFile_Request) returns (.CPublishedFile_AcquitPublishedFile_Response); } service PublishedFileClient { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service.steamclient.proto index f1e0cdf1..5b7c4ba6 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service.steamclient.proto @@ -30,6 +30,8 @@ service RemoteClientSteamClient { rpc NotifyRegisterStatusUpdate (.CRemoteClient_RegisterStatusUpdate_Notification) returns (.NoResponse); rpc NotifyUnregisterStatusUpdate (.CRemoteClient_UnregisterStatusUpdate_Notification) returns (.NoResponse); rpc NotifyRemotePacket (.CRemoteClient_RemotePacket_Notification) returns (.NoResponse); + rpc NotifyEnableSteamBroadcast (.CRemoteClient_EnableSteamBroadcast_Notification) returns (.NoResponse); + rpc NotifyDisableSteamBroadcast (.CRemoteClient_DisableSteamBroadcast_Notification) returns (.NoResponse); rpc NotifySteamBroadcastPacket (.CRemoteClient_SteamBroadcast_Notification) returns (.NoResponse); rpc NotifySteamToSteamPacket (.CRemoteClient_SteamToSteam_Notification) returns (.NoResponse); rpc NotifyRemotePlayTogetherPacket (.CRemotePlayTogether_Notification) returns (.NoResponse); diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service_messages.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service_messages.proto index a80bb098..ed4c6535 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service_messages.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_remoteclient_service_messages.proto @@ -53,6 +53,10 @@ message CRemoteClient_CancelPairing_Request { message CRemoteClient_CancelPairing_Response { } +message CRemoteClient_CancelPairing_Notification { + optional fixed64 session_id = 1; +} + message CRemoteClient_RegisterStatusUpdate_Notification { optional fixed64 session_id = 1; optional fixed64 steamid = 2; @@ -170,6 +174,12 @@ message CRemoteClient_AllocateSDR_Request { message CRemoteClient_AllocateSDR_Response { } +message CRemoteClient_EnableSteamBroadcast_Notification { +} + +message CRemoteClient_DisableSteamBroadcast_Notification { +} + message CRemoteClient_SteamBroadcast_Notification { optional fixed64 steamid = 1; optional fixed64 clientid = 2; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_seasonpass_types.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_seasonpass_types.proto new file mode 100644 index 00000000..cc41f827 --- /dev/null +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_seasonpass_types.proto @@ -0,0 +1,30 @@ +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; + +option optimize_for = SPEED; +option java_generic_services = false; + +message CSeasonPassDateAndDisplay { + optional uint32 rtime = 1; + optional string coming_soon_display_type = 2; +} + +message CSeasonPassMilestone { + optional int32 milestone_id = 1; + repeated .CLocalizationToken title = 2; + optional uint32 appid = 3; + optional fixed64 event_gid = 4; + repeated .CSeasonPassDateAndDisplay dates = 5; + optional bool shipped = 6; + optional uint32 rtime_complete = 7; + repeated .CLocalizationToken milestone_desc = 9; + repeated .CLocalizationToken image = 10; + optional bool backfilled_release = 11; + optional uint32 coming_soon_appid = 12; +} + +message CSeasonPass { + optional uint32 appid = 1; + repeated .CSeasonPassMilestone milestones = 2; +} diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_steamawards_types.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_steamawards_types.proto new file mode 100644 index 00000000..0824e609 --- /dev/null +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_steamawards_types.proto @@ -0,0 +1,14 @@ +option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; + +option optimize_for = SPEED; +option java_generic_services = false; + +message SteamAward_Localization { + optional string title = 1; +} + +message SteamAward { + optional int32 voteid = 1; + optional .SteamAward_Localization localization = 2; + optional int32 award_year = 3; +} diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_store.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_store.steamclient.proto index c10ac34a..909fdf04 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_store.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_store.steamclient.proto @@ -297,7 +297,7 @@ message CStore_GetStorePreferences_Request { message CStore_UserPreferences { optional int32 primary_language = 1; - optional uint32 secondary_languages = 2; + optional uint64 secondary_languages = 2; optional bool platform_windows = 3; optional bool platform_mac = 4; optional bool platform_linux = 5; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_storebrowse.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_storebrowse.steamclient.proto index 46e13bda..59cfcdc2 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_storebrowse.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_storebrowse.steamclient.proto @@ -2,6 +2,9 @@ import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_base.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_unified_base.steamclient.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/enums_productinfo.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/enums.proto"; +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_appratings_types.proto"; +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_steamawards_types.proto"; +import "in/dragonbra/javasteam/protobufs/steamclient/steammessages_seasonpass_types.proto"; import "in/dragonbra/javasteam/protobufs/steamclient/contenthubs.proto"; option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; @@ -18,6 +21,7 @@ enum EStoreItemType { k_EStoreItemType_Tag = 4; k_EStoreItemType_Creator = 5; k_EStoreItemType_HubCategory = 6; + k_EStoreItemType_SalePage = 7; } enum EStoreAppType { @@ -99,6 +103,19 @@ enum EStoreLinkType { k_EStoreLinkType_MAX = 25; } +enum EStoreAppDocumentType { + k_EStoreAppDocumentType_None = 0; + k_EStoreAppDocumentType_Manual = 1; + k_EStoreAppDocumentType_QuickRef = 2; + k_EStoreAppDocumentType_Map = 3; + k_EStoreAppDocumentType_GettingStarted = 4; + k_EStoreAppDocumentType_ReadMe = 5; + k_EStoreAppDocumentType_TechTree = 6; + k_EStoreAppDocumentType_Keybindings = 7; + k_EStoreAppDocumentType_Warranty = 8; + k_EStoreAppDocumentType_MAX = 9; +} + enum EStoreCategoryType { k_EStoreCategoryType_Category = 0; k_EStoreCategoryType_SupportedPlayers = 1; @@ -115,6 +132,7 @@ message StoreItemID { optional uint32 tagid = 4; optional uint32 creatorid = 5; optional uint32 hubcategoryid = 6; + optional fixed64 salepagegid = 7; } message StoreBrowseContext { @@ -141,6 +159,9 @@ message StoreBrowseItemDataRequest { optional bool include_assets_without_overrides = 15; optional bool apply_user_filters = 16; optional bool include_links = 17; + optional bool include_extra_details = 18; + optional bool include_best_purchase_option = 19 [default = true]; + optional bool include_optin_registration_tags = 20; } message CStoreBrowse_GetItems_Request { @@ -175,12 +196,14 @@ message StoreItem { repeated .StoreItem.Demo standalone_demos = 5; repeated .StoreItem.Playtest playtests = 6; optional .StoreItem.RelatedF2P related_f2p = 7; + repeated uint32 dlc_parent_appids = 9; } message IncludedItems { repeated .StoreItem included_apps = 1; repeated .StoreItem included_packages = 2; repeated .StoreItem included_bundles = 3; + repeated .StoreItem included_creators = 4; } message Categories { @@ -241,6 +264,8 @@ message StoreItem { optional string page_background_path = 15; optional string raw_page_background = 16; optional string edition_comparison = 17; + optional uint32 last_modified = 21; + optional string creator_home_background = 22; } message ReleaseInfo { @@ -265,6 +290,7 @@ message StoreItem { message VRSupport { optional bool vrhmd = 1; optional bool vrhmd_only = 2; + optional bool show_optional_vr_mode_notice = 3; optional bool htc_vive = 40; optional bool oculus_rift = 41; optional bool windows_mr = 42; @@ -278,6 +304,7 @@ message StoreItem { optional .ESteamDeckCompatibilityCategory steam_deck_compat_category = 11 [default = k_ESteamDeckCompatibilityCategory_Unknown]; optional .ESteamOSCompatibilityCategory steam_os_compat_category = 12 [default = k_ESteamOSCompatibilityCategory_Unknown]; optional .ESteamDeckCompatibilityCategory steam_frame_compat_category = 13 [default = k_ESteamDeckCompatibilityCategory_Unknown]; + optional .ESteamDeckCompatibilityCategory steam_machine_compat_category = 14 [default = k_ESteamDeckCompatibilityCategory_Unknown]; } message PurchaseOption { @@ -327,6 +354,7 @@ message StoreItem { optional int64 price_to_base_discount_on = 53; optional uint32 free_with_master_sub_appid = 54; optional string formatted_lowest_recent_price = 55; + optional bool is_free_license = 56; } message Screenshots { @@ -379,6 +407,7 @@ message StoreItem { optional uint32 start_time = 1; optional uint32 end_time = 2; optional string text = 3; + optional uint32 appid = 4; } message Link { @@ -400,13 +429,221 @@ message StoreItem { optional string dropdown_description_bbcode = 5; } + message ExtraDetails { + message Anticheat { + optional bool kernel_mode = 1; + optional bool uninstall_completely = 2; + optional bool boot_protection = 3; + optional string boot_protection_name = 4; + optional string name = 5; + optional string name_loc = 6; + } + + message Eula { + optional string name = 1; + optional string url = 2; + } + + message AIGeneratedContentService { + optional string name = 1; + optional string url = 2; + } + + message PageSection { + enum EPageSectionBanner { + k_EPageSectionBanner_None = 0; + k_EPageSectionBanner_Workshop = 1; + k_EPageSectionBanner_Follow = 2; + k_EPageSectionBanner_MachineController = 3; + } + + optional string label = 1; + optional string content_bbcode = 2; + optional .StoreItem.ExtraDetails.PageSection.EPageSectionBanner banner = 3 [default = k_EPageSectionBanner_None]; + } + + message PressReview { + optional string quote = 1; + optional string score = 2; + optional string site = 3; + optional string url = 4; + } + + message EarlyAccess { + optional string why_bbcode = 1; + optional string how_long_bbcode = 2; + optional string full_version_bbcode = 3; + optional string current_state_bbcode = 4; + optional string pricing_bbcode = 5; + optional string community_bbcode = 6; + optional string description_bbcode = 7; + } + + message LinksAndInfo { + optional string website = 1; + optional string stats_url = 2; + optional string online_manual_url = 3; + optional string health_warning_url = 4; + optional string privacy_policy_url = 5; + repeated .EStoreAppDocumentType available_documents = 6; + repeated uint32 genreids = 7; + repeated string manufacturers = 8; + optional bool achievements_visible = 9; + optional uint32 achievement_count = 10; + } + + message Metacritic { + optional uint32 score = 1; + optional string url = 2; + optional bool always_show = 3; + } + + message CastAndCrew { + repeated string directors = 1; + repeated string producers = 2; + repeated string writers = 3; + repeated string music = 4; + repeated string actors = 5; + } + + message SystemRequirements { + message Size { + optional string amount = 1; + optional string units = 2; + } + + message Requirements { + optional string os_version = 1; + optional bool os_version_unsupported = 2; + optional string processor = 3; + optional .StoreItem.ExtraDetails.SystemRequirements.Size memory = 4; + optional string graphics = 5; + optional string directx = 6; + optional bool broadband = 7; + optional .StoreItem.ExtraDetails.SystemRequirements.Size storage = 8; + optional .StoreItem.ExtraDetails.SystemRequirements.Size storage_hq = 9; + optional string sound_card = 10; + optional string vr_support = 11; + optional string notes = 12; + optional string legacy_bbcode = 13; + } + + message PlatformRequirements { + optional .StoreItem.ExtraDetails.SystemRequirements.ESysReqPlatform platform = 1 [default = k_ESysReqPlatform_Unknown]; + optional .StoreItem.ExtraDetails.SystemRequirements.Requirements minimum = 2; + optional .StoreItem.ExtraDetails.SystemRequirements.Requirements recommended = 3; + optional bool requires_64bit = 4; + optional bool requires_apple_silicon = 5; + optional .StoreItem.ExtraDetails.SystemRequirements.EUnsupportedOSNote unsupported_os_note = 6 [default = k_EUnsupportedOSNote_None]; + } + + enum EUnsupportedOSNote { + k_EUnsupportedOSNote_None = 0; + k_EUnsupportedOSNote_Windows = 1; + k_EUnsupportedOSNote_Mac = 2; + } + + enum ESysReqPlatform { + k_ESysReqPlatform_Unknown = 0; + k_ESysReqPlatform_Windows = 1; + k_ESysReqPlatform_Mac = 2; + k_ESysReqPlatform_Linux = 3; + k_ESysReqPlatform_Android = 4; + } + + repeated .StoreItem.ExtraDetails.SystemRequirements.PlatformRequirements platforms = 1; + } + + message Episode { + enum EEpisodeType { + k_EEpisodeType_Unknown = 0; + k_EEpisodeType_Episode = 1; + k_EEpisodeType_Chapter = 2; + k_EEpisodeType_Bonus = 3; + k_EEpisodeType_BehindTheScenes = 4; + k_EEpisodeType_Deleted = 5; + } + + optional string number = 1; + optional .StoreItem.ExtraDetails.Episode.EEpisodeType type = 2 [default = k_EEpisodeType_Unknown]; + optional bool hide_details = 3; + } + + message Season { + optional int32 index = 1; + optional string name = 2; + repeated uint32 episode_appids = 3; + } + + enum EVideoExtrasNote { + k_EVideoExtrasNote_Purchase = 0; + k_EVideoExtrasNote_Rental = 1; + k_EVideoExtrasNote_PurchaseRental = 2; + k_EVideoExtrasNote_PurchaseSpecialEdition = 3; + k_EVideoExtrasNote_PurchaseDeluxeEdition = 4; + } + + repeated .SteamAward steam_award = 1; + optional bool vetted = 2; + optional bool no_mouse_keyboard_support = 3; + optional bool controller_wizard_complete = 4; + optional string drm_third_party_type = 5; + optional string drm_activation_limit = 6; + optional string user_account_third_party = 7; + optional bool user_account_third_party_link_to_steam = 8; + optional .StoreItem.ExtraDetails.Anticheat anticheat = 9; + repeated .StoreItem.ExtraDetails.Eula eula = 10; + optional .StoreItem.ExtraDetails.AIGeneratedContentService ai_generation_service = 11; + optional bool refund_checks_ea_playtime = 12; + repeated .StoreItem.ExtraDetails.PageSection section = 13; + optional string legal_notice_bbcode = 14; + repeated .EInteractiveElement interactive_elements = 15; + optional string content_survey_notes = 16; + optional string content_survey_ai_notes = 17; + repeated .StoreItem.ExtraDetails.PressReview press_review = 18; + optional string partner_awards_bbcode = 19; + optional .StoreItem.ExtraDetails.EarlyAccess early_access = 20; + optional .CSeasonPass season_pass = 21; + optional .StoreItem.ExtraDetails.LinksAndInfo links_and_info = 22; + optional bool item_store_eligible = 23; + optional bool points_shop_eligible = 24; + optional .StoreItem.ExtraDetails.Metacritic metacritic = 26; + optional .StoreItem.ExtraDetails.CastAndCrew cast_and_crew = 27; + optional .StoreItem.ExtraDetails.SystemRequirements system_requirements = 28; + optional uint32 running_time_minutes = 29; + optional .StoreItem.ExtraDetails.Episode episode = 30; + repeated .StoreItem.ExtraDetails.Season seasons = 31; + optional .StoreItem.ExtraDetails.EVideoExtrasNote video_extras_note = 32 [default = k_EVideoExtrasNote_Purchase]; + } + + message OptInRegistrationTags { + optional string optin_name = 1; + repeated string values = 2; + } + + message PurchaseNote { + enum EPurchaseNoteType { + k_EPurchaseNoteType_None = 0; + k_EPurchaseNoteType_Notice = 1; + k_EPurchaseNoteType_LowViolence = 2; + k_EPurchaseNoteType_CreditCardRequired = 3; + k_EPurchaseNoteType_SystemRequirements = 4; + } + + optional .StoreItem.PurchaseNote.EPurchaseNoteType type = 1 [default = k_EPurchaseNoteType_None]; + optional bool highlighted = 2; + optional string text_bbcode = 3; + } + optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid]; optional uint32 id = 2; + optional fixed64 gid = 76; optional uint32 success = 3; optional bool visible = 4; optional bool unvailable_for_country_restriction = 5; optional string name = 6; optional string store_url_path = 7; + optional string store_url_slug = 8; optional uint32 appid = 9; optional .EStoreAppType type = 10 [default = k_EStoreAppType_Game]; repeated .EStoreAppType included_types = 11; @@ -444,6 +681,9 @@ message StoreItem { repeated .StoreItem.Link links = 71; optional string purchase_description_bbcode = 72; repeated .StoreItem.PackageGroup package_groups = 74; + optional .StoreItem.ExtraDetails extra_details = 75; + repeated .StoreItem.OptInRegistrationTags optin_registration_tags = 77; + repeated .StoreItem.PurchaseNote purchase_notes = 78; } message StoreGameRating { @@ -451,8 +691,15 @@ message StoreGameRating { optional string rating = 2; repeated string descriptors = 3; optional string interactive_elements = 4; + optional .ERatingAgency agency = 5 [default = k_ERatingAgency_Invalid]; + optional bool banned = 6; + optional bool esrb_online_music_not_rated = 7; + optional bool esrb_online_interactions_not_rated = 8; + repeated .EInteractiveElement survey_interactive_elements = 9; optional int32 required_age = 10; optional bool use_age_gate = 11; + repeated .ERatingDescriptorImage descriptor_images = 12; + optional string content_survey_notes = 13; optional string image_url = 20; optional string image_target = 21; } @@ -612,6 +859,7 @@ message CHardwarePackageDetails { optional string queue_waitlist_token = 25; optional uint32 collection_time_active = 26; optional bool reservation_not_allowed = 27; + optional bool requires_signature = 28; } message CStoreBrowse_GetHardwareItems_Response { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_useraccount.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_useraccount.steamclient.proto index 4091c827..96a6a412 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_useraccount.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_useraccount.steamclient.proto @@ -28,6 +28,70 @@ message CUserAccount_GetAvailableValveDiscountPromotions_Response { repeated .CUserAccount_GetAvailableValveDiscountPromotions_Response.ValveDiscountPromotionDetails promotions = 1; } +message CUserAccount_GetOptOutEmailOptions_Request { + optional string opt_out_token = 1; +} + +message CPerAppEmailOptions { + optional uint32 appid = 1; + optional bool opt_out_in_library_events = 2 [default = false]; +} + +message CPerClanEmailOptions { + optional uint32 clanid = 1; + optional bool opt_out_in_library_events = 2 [default = false]; +} + +message CUserAccount_GetOptOutEmailOptions_Response { + optional string email = 1; + optional bool opt_out_all = 2; + optional bool opt_out_wishlist_sales = 3; + optional bool opt_out_seasonal_promo = 4; + optional bool opt_out_wishlist_releases = 5; + optional bool opt_out_greenlight_releases = 6; + optional bool opt_out_curator_connect = 7; + optional bool opt_out_creator_home_releases = 8; + optional bool opt_out_in_library_events = 9; + repeated .CPerAppEmailOptions per_app_opt_outs = 10; + repeated .CPerClanEmailOptions per_clan_opt_outs = 11; + optional bool opt_out_loyalty_awards_received = 12; + optional bool opt_out_partner_messages = 13; + optional bool opt_out_year_in_review = 14; + optional bool opt_out_wishlist_demo_releases = 15; + optional bool opt_out_creator_home_demo_releases = 16; + optional bool opt_out_next_fest_starts = 17 [default = true]; + optional bool opt_out_theme_sale_starts = 18 [default = true]; + optional bool opt_out_season_pass_ship = 19; + optional bool opt_out_roadmap_ship = 20; + optional bool is_self = 21; +} + +message CUserAccount_SetOptOutEmailOptions_Request { + optional string opt_out_token = 1; + optional bool opt_out_all = 2; + optional bool opt_out_wishlist_sales = 3; + optional bool opt_out_seasonal_promo = 4; + optional bool opt_out_wishlist_releases = 5; + optional bool opt_out_greenlight_releases = 6; + optional bool opt_out_curator_connect = 7; + optional bool opt_out_creator_home_releases = 8; + optional bool opt_out_in_library_events = 9; + repeated .CPerAppEmailOptions per_app_opt_outs = 10; + repeated .CPerClanEmailOptions per_clan_opt_outs = 11; + optional bool opt_out_loyalty_awards_received = 12; + optional bool opt_out_partner_messages = 13; + optional bool opt_out_year_in_review = 14; + optional bool opt_out_wishlist_demo_releases = 15; + optional bool opt_out_creator_home_demo_releases = 16; + optional bool opt_out_next_fest_starts = 17; + optional bool opt_out_theme_sale_starts = 18; + optional bool opt_out_season_pass_ship = 19; + optional bool opt_out_roadmap_ship = 20; +} + +message CUserAccount_SetOptOutEmailOptions_Response { +} + message CUserAccount_GetClientWalletDetails_Request { optional bool include_balance_in_usd = 1; optional int32 wallet_region = 2 [default = 1]; @@ -154,6 +218,8 @@ message CEmbeddedClient_AuthorizeDevice_Response { service UserAccount { rpc GetAvailableValveDiscountPromotions (.CUserAccount_GetAvailableValveDiscountPromotions_Request) returns (.CUserAccount_GetAvailableValveDiscountPromotions_Response); + rpc GetOptOutEmailOptions (.CUserAccount_GetOptOutEmailOptions_Request) returns (.CUserAccount_GetOptOutEmailOptions_Response); + rpc SetOptOutEmailOptions (.CUserAccount_SetOptOutEmailOptions_Request) returns (.CUserAccount_SetOptOutEmailOptions_Response); rpc GetClientWalletDetails (.CUserAccount_GetClientWalletDetails_Request) returns (.CUserAccount_GetWalletDetails_Response); rpc GetAccountLinkStatus (.CUserAccount_GetAccountLinkStatus_Request) returns (.CUserAccount_GetAccountLinkStatus_Response); rpc CancelLicenseForApp (.CUserAccount_CancelLicenseForApp_Request) returns (.CUserAccount_CancelLicenseForApp_Response);