From 8ef92b293fb2cad1e36ea3bc0efaa1353db1adc0 Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Mon, 25 Aug 2025 23:01:41 -0500 Subject: [PATCH 1/7] Update SteamLanguage, adding EGamingDeviceType, update CurrentProtocol --- .../steamd/in/dragonbra/javasteam/enums.steamd | 16 +++++++++++++++- .../in/dragonbra/javasteam/steammsg.steamd | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/steamd/in/dragonbra/javasteam/enums.steamd b/src/main/steamd/in/dragonbra/javasteam/enums.steamd index 26245299..d3151b45 100644 --- a/src/main/steamd/in/dragonbra/javasteam/enums.steamd +++ b/src/main/steamd/in/dragonbra/javasteam/enums.steamd @@ -1,4 +1,3 @@ - enum EUniverse { Invalid = 0; @@ -1673,3 +1672,18 @@ public enum EUIMode MobileChat = 5; EmbeddedClient = 6; } + +public enum EGamingDeviceType +{ + Unknown = 0; + StandardPC = 1; + + Console = 256; + PS3 = 272; // Console + 16 + Steambox = 288; // Console + 32 + Tesla = 320; // Console + 64 + + Handheld = 512; + Phone = 528; // Handheld + 16 + SteamDeck = 544; // Handheld + 32 +} diff --git a/src/main/steamd/in/dragonbra/javasteam/steammsg.steamd b/src/main/steamd/in/dragonbra/javasteam/steammsg.steamd index 24d123d1..bd4a4756 100644 --- a/src/main/steamd/in/dragonbra/javasteam/steammsg.steamd +++ b/src/main/steamd/in/dragonbra/javasteam/steammsg.steamd @@ -44,7 +44,7 @@ class MsgClientNewLoginKeyAccepted removed class MsgClientLogon { const uint ObfuscationMask = 0xBAADF00D; - const uint CurrentProtocol = 65580; + const uint CurrentProtocol = 65581; const uint ProtocolVerMajorMask = 0xFFFF0000; const uint ProtocolVerMinorMask = 0xFFFF; From 9b4e20bd7c1423710ffe895b459ca68d43ddbceb Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Mon, 25 Aug 2025 23:27:46 -0500 Subject: [PATCH 2/7] Update or format TF protos --- .../protobufs/tf/base_gcmessages.proto | 598 ++--- .../protobufs/tf/econ_gcmessages.proto | 506 ++-- .../protobufs/tf/gcsdk_gcmessages.proto | 198 +- .../javasteam/protobufs/tf/gcsystemmsgs.proto | 286 +-- .../protobufs/tf/steammessages.proto | 698 +++--- .../protobufs/tf/tf_gcmessages.proto | 2110 ++++++++--------- .../protobufs/tf/tf_proto_def_messages.proto | 960 ++++---- 7 files changed, 2678 insertions(+), 2678 deletions(-) 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 b6dc7c58..2f963432 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 @@ -7,557 +7,557 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGCBaseMsg { - k_EMsgGCSystemMessage = 4001; - k_EMsgGCReplicateConVars = 4002; - k_EMsgGCConVarUpdated = 4003; - k_EMsgGCServerAvailable = 4506; - k_EMsgGCClientConnectToServer = 4507; - k_EMsgGCGameServerInfo = 4508; - k_EMsgGCError = 4509; - k_EMsgGCReplay_UploadedToYouTube = 4510; - k_EMsgGCLANServerAvailable = 4511; + k_EMsgGCSystemMessage = 4001; + k_EMsgGCReplicateConVars = 4002; + k_EMsgGCConVarUpdated = 4003; + k_EMsgGCServerAvailable = 4506; + k_EMsgGCClientConnectToServer = 4507; + k_EMsgGCGameServerInfo = 4508; + k_EMsgGCError = 4509; + k_EMsgGCReplay_UploadedToYouTube = 4510; + k_EMsgGCLANServerAvailable = 4511; } enum EGCBaseProtoObjectTypes { - k_EProtoObjectPartyInvite = 1001; - k_EProtoObjectLobbyInvite = 1002; + k_EProtoObjectPartyInvite = 1001; + k_EProtoObjectLobbyInvite = 1002; } enum GCGoodbyeReason { - GCGoodbyeReason_GC_GOING_DOWN = 1; - GCGoodbyeReason_NO_SESSION = 2; + GCGoodbyeReason_GC_GOING_DOWN = 1; + GCGoodbyeReason_NO_SESSION = 2; } 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 uint32 item_def_id = 1; + optional uint32 quantity = 2; + optional uint32 cost_in_local_currency = 3; + optional uint32 purchase_type = 4; } 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 CMsgSystemBroadcast { - optional string message = 1; + optional string message = 1; } message CMsgClientHello { - optional uint32 version = 1; + optional uint32 version = 1; } message CMsgServerHello { - optional uint32 version = 1; + optional uint32 version = 1; } message CMsgClientWelcome { - optional uint32 version = 1; - optional bytes game_data = 2; - optional string txn_country_code = 3; + optional uint32 version = 1; + optional bytes game_data = 2; + optional string txn_country_code = 3; } message CMsgServerWelcome { - optional uint32 min_allowed_version = 1; - optional uint32 active_version = 2; + optional uint32 min_allowed_version = 1; + optional uint32 active_version = 2; } message CMsgClientGoodbye { - optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN]; + optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN]; } message CMsgServerGoodbye { - optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN]; + optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN]; } message CMsgServerAvailable { } message CMsgLANServerAvailable { - optional fixed64 lobby_id = 1; + optional fixed64 lobby_id = 1; } message CSOEconGameAccountClient { - optional uint32 additional_backpack_slots = 1 [default = 0]; - optional bool trial_account = 2 [default = false]; - 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 uint32 preview_item_def = 8 [default = 0]; - optional bool phone_verified = 19 [default = false]; - optional uint32 skill_rating_6v6 = 20; - optional uint32 skill_rating_9v9 = 21; - optional bool competitive_access = 23 [default = false]; - optional uint32 matchmaking_ranked_ban_expiration = 18; - optional uint32 matchmaking_ranked_low_priority_expiration = 24; - optional uint32 matchmaking_ranked_ban_last_duration = 25; - optional uint32 matchmaking_ranked_low_priority_last_duration = 26; - optional uint32 matchmaking_casual_ban_expiration = 27; - optional uint32 matchmaking_casual_low_priority_expiration = 28; - optional uint32 matchmaking_casual_ban_last_duration = 29; - optional uint32 matchmaking_casual_low_priority_last_duration = 30; - optional bool phone_identifying = 31 [default = false]; - optional bool disable_party_quest_progress = 32 [default = false]; - optional uint32 quest_reward_credits = 33; - optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34; - optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35; + optional uint32 additional_backpack_slots = 1 [default = 0]; + optional bool trial_account = 2 [default = false]; + 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 uint32 preview_item_def = 8 [default = 0]; + optional bool phone_verified = 19 [default = false]; + optional uint32 skill_rating_6v6 = 20; + optional uint32 skill_rating_9v9 = 21; + optional bool competitive_access = 23 [default = false]; + optional uint32 matchmaking_ranked_ban_expiration = 18; + optional uint32 matchmaking_ranked_low_priority_expiration = 24; + optional uint32 matchmaking_ranked_ban_last_duration = 25; + optional uint32 matchmaking_ranked_low_priority_last_duration = 26; + optional uint32 matchmaking_casual_ban_expiration = 27; + optional uint32 matchmaking_casual_low_priority_expiration = 28; + optional uint32 matchmaking_casual_ban_last_duration = 29; + optional uint32 matchmaking_casual_low_priority_last_duration = 30; + optional bool phone_identifying = 31 [default = false]; + optional bool disable_party_quest_progress = 32 [default = false]; + optional uint32 quest_reward_credits = 33; + optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34; + optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35; } message CSOItemCriteriaCondition { - optional int32 op = 1; - optional string field = 2; - optional bool required = 3; - optional float float_value = 4; - optional string string_value = 5; + optional int32 op = 1; + optional string field = 2; + optional bool required = 3; + optional float float_value = 4; + optional string string_value = 5; } message CSOItemCriteria { - optional uint32 item_level = 1; - optional int32 item_quality = 2; - optional bool item_level_set = 3; - optional bool item_quality_set = 4; - optional uint32 initial_inventory = 5; - optional uint32 initial_quantity = 6; - optional bool ignore_enabled_flag = 8; - repeated .CSOItemCriteriaCondition conditions = 9; - optional bool recent_only = 10; - optional string tags = 11; - optional string equip_regions = 12; + optional uint32 item_level = 1; + optional int32 item_quality = 2; + optional bool item_level_set = 3; + optional bool item_quality_set = 4; + optional uint32 initial_inventory = 5; + optional uint32 initial_quantity = 6; + optional bool ignore_enabled_flag = 8; + repeated .CSOItemCriteriaCondition conditions = 9; + optional bool recent_only = 10; + optional string tags = 11; + optional string equip_regions = 12; } message CSOItemRecipe { - optional uint32 def_index = 1; - optional string name = 2; - optional string n_a = 3; - optional string desc_inputs = 4; - optional string desc_outputs = 5; - optional string di_a = 6; - optional string di_b = 7; - optional string di_c = 8; - optional string do_a = 9; - optional string do_b = 10; - optional string do_c = 11; - optional bool requires_all_same_class = 12; - optional bool requires_all_same_slot = 13; - optional int32 class_usage_for_output = 14; - optional int32 slot_usage_for_output = 15; - optional int32 set_for_output = 16; - repeated .CSOItemCriteria input_items_criteria = 20; - repeated .CSOItemCriteria output_items_criteria = 21; - repeated uint32 input_item_dupe_counts = 22; + optional uint32 def_index = 1; + optional string name = 2; + optional string n_a = 3; + optional string desc_inputs = 4; + optional string desc_outputs = 5; + optional string di_a = 6; + optional string di_b = 7; + optional string di_c = 8; + optional string do_a = 9; + optional string do_b = 10; + optional string do_c = 11; + optional bool requires_all_same_class = 12; + optional bool requires_all_same_slot = 13; + optional int32 class_usage_for_output = 14; + optional int32 slot_usage_for_output = 15; + optional int32 set_for_output = 16; + repeated .CSOItemCriteria input_items_criteria = 20; + repeated .CSOItemCriteria output_items_criteria = 21; + repeated uint32 input_item_dupe_counts = 22; } message CMsgDevNewItemRequest { - optional fixed64 receiver = 1; - optional .CSOItemCriteria criteria = 2; + optional fixed64 receiver = 1; + optional .CSOItemCriteria criteria = 2; } message CMsgDevDebugRollLootRequest { - optional fixed64 receiver = 1; - optional string loot_list_name = 2; + optional fixed64 receiver = 1; + optional string loot_list_name = 2; } message CMsgIncrementKillCountAttribute { - optional uint64 killer_steam_id = 1; - optional uint64 victim_steam_id = 2; - optional uint64 item_id = 3; - optional uint32 event_type = 4; - optional uint32 increment_value = 5; + optional uint64 killer_steam_id = 1; + optional uint64 victim_steam_id = 2; + optional uint64 item_id = 3; + optional uint32 event_type = 4; + optional uint32 increment_value = 5; } message CMsgIncrementKillCountAttribute_Multiple { - repeated .CMsgIncrementKillCountAttribute msgs = 1; + repeated .CMsgIncrementKillCountAttribute msgs = 1; } message CMsgTrackUniquePlayerPairEvent { - optional uint64 killer_steam_id = 1; - optional uint64 victim_steam_id = 2; - optional uint64 item_id = 3; - optional uint32 event_type = 4; + optional uint64 killer_steam_id = 1; + optional uint64 victim_steam_id = 2; + optional uint64 item_id = 3; + optional uint32 event_type = 4; } message CMsgApplyStrangeCountTransfer { - optional uint64 tool_item_id = 1; - optional uint64 item_src_item_id = 2; - optional uint64 item_dest_item_id = 3; + optional uint64 tool_item_id = 1; + optional uint64 item_src_item_id = 2; + optional uint64 item_dest_item_id = 3; } 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 CMsgApplyStrangeRestriction { - optional uint64 strange_part_item_id = 1; - optional uint64 item_item_id = 2; - optional uint32 strange_attr_index = 3; + optional uint64 strange_part_item_id = 1; + optional uint64 item_item_id = 2; + optional uint32 strange_attr_index = 3; } message CMsgApplyUpgradeCard { - optional uint64 upgrade_card_item_id = 1; - optional uint64 subject_item_id = 2; + optional uint64 upgrade_card_item_id = 1; + optional uint64 subject_item_id = 2; } message CSOEconItemAttribute { - optional uint32 def_index = 1; - optional uint32 value = 2; - optional bytes value_bytes = 3; + optional uint32 def_index = 1; + 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; - optional uint32 level = 6; - optional uint32 quality = 7; - optional uint32 flags = 8 [default = 0]; - optional uint32 origin = 9; - optional string custom_name = 10; - optional string custom_desc = 11; - repeated .CSOEconItemAttribute attribute = 12; - optional .CSOEconItem interior_item = 13; - optional bool in_use = 14 [default = false]; - optional uint32 style = 15 [default = 0]; - optional uint64 original_id = 16 [default = 0]; - optional bool contains_equipped_state = 17; - repeated .CSOEconItemEquipped equipped_state = 18; - optional bool contains_equipped_state_v2 = 19; + optional uint64 id = 1; + optional uint32 account_id = 2; + optional uint32 inventory = 3; + optional uint32 def_index = 4; + optional uint32 quantity = 5; + optional uint32 level = 6; + optional uint32 quality = 7; + optional uint32 flags = 8 [default = 0]; + optional uint32 origin = 9; + optional string custom_name = 10; + optional string custom_desc = 11; + repeated .CSOEconItemAttribute attribute = 12; + optional .CSOEconItem interior_item = 13; + optional bool in_use = 14 [default = false]; + optional uint32 style = 15 [default = 0]; + optional uint64 original_id = 16 [default = 0]; + optional bool contains_equipped_state = 17; + repeated .CSOEconItemEquipped equipped_state = 18; + optional bool contains_equipped_state_v2 = 19; } message CMsgAdjustItemEquippedState { - optional uint64 item_id = 1; - optional uint32 new_class = 2; - optional uint32 new_slot = 3; + optional uint64 item_id = 1; + optional uint32 new_class = 2; + optional uint32 new_slot = 3; } message CMsgSortItems { - optional uint32 sort_type = 1; + optional uint32 sort_type = 1; } message CSOEconClaimCode { - optional uint32 account_id = 1; - optional uint32 code_type = 2; - optional uint32 time_acquired = 3; - optional string code = 4; + optional uint32 account_id = 1; + optional uint32 code_type = 2; + optional uint32 time_acquired = 3; + optional string code = 4; } message CMsgStoreGetUserData { - optional fixed32 price_sheet_version = 1; + optional fixed32 price_sheet_version = 1; } message CMsgStoreGetUserDataResponse { - optional int32 result = 1; - optional int32 currency = 2; - optional string country = 3; - optional fixed32 price_sheet_version = 4; - optional uint64 experiment_data = 5 [default = 0]; - optional int32 featured_item_idx = 6; - optional bool show_hat_descriptions = 7 [default = true]; - optional bytes price_sheet = 8; - optional int32 default_item_sort = 9 [default = 0]; - repeated uint32 popular_items = 10; + optional int32 result = 1; + optional int32 currency = 2; + optional string country = 3; + optional fixed32 price_sheet_version = 4; + optional uint64 experiment_data = 5 [default = 0]; + optional int32 featured_item_idx = 6; + optional bool show_hat_descriptions = 7 [default = true]; + optional bytes price_sheet = 8; + optional int32 default_item_sort = 9 [default = 0]; + repeated uint32 popular_items = 10; } message CMsgUpdateItemSchema { - optional bytes items_game = 1; - optional fixed32 item_schema_version = 2; - optional string items_game_url = 3; - optional bytes signature = 4; + optional bytes items_game = 1; + optional fixed32 item_schema_version = 2; + optional string items_game_url = 3; + optional bytes signature = 4; } message CMsgGCError { - optional string error_text = 1; + optional string error_text = 1; } message CMsgRequestInventoryRefresh { } message CMsgConVarValue { - optional string name = 1; - optional string value = 2; + optional string name = 1; + optional string value = 2; } message CMsgReplicateConVars { - repeated .CMsgConVarValue convars = 1; + 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; - optional bool itempack__ack_immediately = 6; + 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; + optional bool itempack__ack_immediately = 6; } message CMsgReplayUploadedToYouTube { - optional string youtube_url = 1; - optional string youtube_account_name = 2; - optional uint64 session_id = 3; + optional string youtube_url = 1; + optional string youtube_account_name = 2; + optional uint64 session_id = 3; } message CMsgConsumableExhausted { - optional int32 item_def_id = 1; + optional int32 item_def_id = 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 is_strange = 7; - optional uint32 is_unusual = 8; - optional float wear = 9; + 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 is_strange = 7; + optional uint32 is_unusual = 8; + optional float wear = 9; } message CMsgSetPresetItemPosition { - optional uint32 class_id = 1; - optional uint32 preset_id = 2; - optional uint32 slot_id = 3; - optional uint64 item_id = 4; + optional uint32 class_id = 1; + optional uint32 preset_id = 2; + optional uint32 slot_id = 3; + optional uint64 item_id = 4; } 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 CSOEconItemPresetInstance { - optional uint32 class_id = 2 [(key_field) = true]; - optional uint32 preset_id = 3 [(key_field) = true]; - optional uint32 slot_id = 4 [(key_field) = true]; - optional uint64 item_id = 5; + optional uint32 class_id = 2 [(key_field) = true]; + optional uint32 preset_id = 3 [(key_field) = true]; + optional uint32 slot_id = 4 [(key_field) = true]; + optional uint64 item_id = 5; } message CMsgSelectPresetForClass { - optional uint32 class_id = 1; - optional uint32 preset_id = 2; + optional uint32 class_id = 1; + optional uint32 preset_id = 2; } message CSOClassPresetClientData { - optional uint32 account_id = 1; - optional uint32 class_id = 2; - optional uint32 active_preset_id = 3; + optional uint32 account_id = 1; + optional uint32 class_id = 2; + optional uint32 active_preset_id = 3; } message CMsgGCReportAbuse { - optional fixed64 target_steam_id = 1; - optional string description = 4; - optional uint64 gid = 5; - optional uint32 abuse_type = 2; - optional uint32 content_type = 3; - optional fixed32 target_game_server_ip = 6; - optional uint32 target_game_server_port = 7; + optional fixed64 target_steam_id = 1; + optional string description = 4; + optional uint64 gid = 5; + optional uint32 abuse_type = 2; + optional uint32 content_type = 3; + optional fixed32 target_game_server_ip = 6; + optional uint32 target_game_server_port = 7; } message CMsgGCReportAbuseResponse { - optional fixed64 target_steam_id = 1; - optional uint32 result = 2; - optional string error_message = 3; + optional fixed64 target_steam_id = 1; + optional uint32 result = 2; + optional string error_message = 3; } message CMsgGCNameItemNotification { - optional fixed64 player_steamid = 1; - optional uint32 item_def_index = 2; - optional string item_name_custom = 3; + optional fixed64 player_steamid = 1; + optional uint32 item_def_index = 2; + 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; + 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; + optional fixed64 player_steamid = 1; } message CMsgUpdatePeriodicEvent { - optional uint32 account_id = 1; - optional uint32 event_type = 2; - optional uint32 amount = 3; + optional uint32 account_id = 1; + optional uint32 event_type = 2; + optional uint32 amount = 3; } message CMsgGCIncrementKillCountResponse { - optional uint32 killer_account_id = 1 [(key_field) = true]; - optional uint32 num_kills = 2; - optional uint32 item_def = 3; - optional uint32 level_type = 4; + optional uint32 killer_account_id = 1 [(key_field) = true]; + optional uint32 num_kills = 2; + optional uint32 item_def = 3; + optional uint32 level_type = 4; } message CMsgGCRemoveStrangePart { - optional uint64 item_id = 1; - optional uint32 strange_part_score_type = 2; + optional uint64 item_id = 1; + optional uint32 strange_part_score_type = 2; } message CMsgGCRemoveUpgradeCard { - optional uint64 item_id = 1; - optional uint32 attribute_index = 2; + optional uint64 item_id = 1; + optional uint32 attribute_index = 2; } message CMsgGCRemoveCustomizationAttributeSimple { - optional uint64 item_id = 1; + optional uint64 item_id = 1; } message CMsgGCResetStrangeScores { - optional uint64 item_id = 1; + optional uint64 item_id = 1; } message CMsgGCItemPreviewItemBoughtNotification { - optional uint32 item_def_index = 1; + optional uint32 item_def_index = 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 CMsgGCBannedWordListRequest { - optional uint32 ban_list_group_id = 1; - optional uint32 word_id = 2; + optional uint32 ban_list_group_id = 1; + optional uint32 word_id = 2; } message CMsgGCGiftedItems { - optional uint64 gifter_steam_id = 1; - optional bool was_random_person = 2; - repeated uint32 recipient_account_ids = 3; + optional uint64 gifter_steam_id = 1; + optional bool was_random_person = 2; + repeated uint32 recipient_account_ids = 3; } message CMsgGCCollectItem { - optional uint64 collection_item_id = 1; - optional uint64 subject_item_id = 2; + optional uint64 collection_item_id = 1; + optional uint64 subject_item_id = 2; } message CMsgGCClientMarketDataRequest { - optional uint32 user_currency = 1; + optional uint32 user_currency = 1; } message CMsgGCClientMarketDataEntry { - optional uint32 item_def_index = 1; - optional uint32 item_quality = 2; - optional uint32 item_sell_listings = 3; - optional uint32 price_in_local_currency = 4; + optional uint32 item_def_index = 1; + optional uint32 item_quality = 2; + optional uint32 item_sell_listings = 3; + optional uint32 price_in_local_currency = 4; } message CMsgGCClientMarketData { - repeated .CMsgGCClientMarketDataEntry entries = 1; + repeated .CMsgGCClientMarketDataEntry entries = 1; } message CMsgApplyToolToItem { - optional uint64 tool_item_id = 1; - optional uint64 subject_item_id = 2; + optional uint64 tool_item_id = 1; + optional uint64 subject_item_id = 2; } message CMsgApplyToolToBaseItem { - optional uint64 tool_item_id = 1; - optional uint32 baseitem_def_index = 2; + optional uint64 tool_item_id = 1; + optional uint32 baseitem_def_index = 2; } message CMsgRecipeComponent { - optional uint64 subject_item_id = 1; - optional uint64 attribute_index = 2; + optional uint64 subject_item_id = 1; + optional uint64 attribute_index = 2; } message CMsgFulfillDynamicRecipeComponent { - optional uint64 tool_item_id = 1; - repeated .CMsgRecipeComponent consumption_components = 2; + optional uint64 tool_item_id = 1; + repeated .CMsgRecipeComponent consumption_components = 2; } message CMsgSetItemEffectVerticalOffset { - optional uint64 item_id = 1; - optional float offset = 2; + optional uint64 item_id = 1; + optional float offset = 2; } message CMsgSetHatEffectUseHeadOrigin { - optional uint64 item_id = 1; - optional bool use_head = 2; + optional uint64 item_id = 1; + optional bool use_head = 2; } message CMsgDeliverGiftResponseGiver { - optional uint32 response_code = 1; - optional string receiver_account_name = 2; + optional uint32 response_code = 1; + optional string receiver_account_name = 2; } message CSOEconGameAccountForGameServers { - optional bool disable_party_quest_progress = 6 [default = false]; + optional bool disable_party_quest_progress = 6 [default = false]; } 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; - } - - 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; + message WorkshopItemPaymentRule { + optional uint64 workshop_file_id = 1; + optional float revenue_percentage = 2; + optional string rule_description = 3; + } + + 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; } message CWorkshop_SetItemPaymentRules_Response { diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/econ_gcmessages.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/econ_gcmessages.proto index eed3ca30..226e5906 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/econ_gcmessages.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/econ_gcmessages.proto @@ -6,268 +6,268 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGCItemMsg { - k_EMsgGCBase = 1000; - k_EMsgGCSetSingleItemPosition = 1001; - k_EMsgGCCraft = 1002; - k_EMsgGCCraftResponse = 1003; - k_EMsgGCDelete = 1004; - k_EMsgGCVerifyCacheSubscription = 1005; - k_EMsgGCNameItem = 1006; - k_EMsgGCUnlockCrate = 1007; - k_EMsgGCUnlockCrateResponse = 1008; - k_EMsgGCPaintItem = 1009; - k_EMsgGCPaintItemResponse = 1010; - k_EMsgGCGoldenWrenchBroadcast = 1011; - k_EMsgGCMOTDRequest = 1012; - k_EMsgGCMOTDRequestResponse = 1013; - k_EMsgGCNameBaseItem = 1019; - k_EMsgGCNameBaseItemResponse = 1020; - k_EMsgGCRemoveSocketItem_DEPRECATED = 1021; - k_EMsgGCRemoveSocketItemResponse_DEPRECATED = 1022; - k_EMsgGCCustomizeItemTexture = 1023; - k_EMsgGCCustomizeItemTextureResponse = 1024; - k_EMsgGCUseItemRequest = 1025; - k_EMsgGCUseItemResponse = 1026; - k_EMsgGCRespawnPostLoadoutChange = 1029; - k_EMsgGCRemoveItemName = 1030; - k_EMsgGCRemoveItemPaint = 1031; - k_EMsgGCGiftWrapItem = 1032; - k_EMsgGCGiftWrapItemResponse = 1033; - k_EMsgGCDeliverGift = 1034; - k_EMsgGCDeliverGiftResponseReceiver = 1036; - k_EMsgGCUnwrapGiftRequest = 1037; - k_EMsgGCUnwrapGiftResponse = 1038; - k_EMsgGCSetItemStyle = 1039; - k_EMsgGCUsedClaimCodeItem = 1040; - k_EMsgGCSortItems = 1041; - k_EMsgGC_RevolvingLootList_DEPRECATED = 1042; - k_EMsgGCLookupAccount = 1043; - k_EMsgGCLookupAccountResponse = 1044; - k_EMsgGCLookupAccountName = 1045; - k_EMsgGCLookupAccountNameResponse = 1046; - k_EMsgGCUpdateItemSchema = 1049; - k_EMsgGCRequestInventoryRefresh = 1050; - k_EMsgGCRemoveCustomTexture = 1051; - k_EMsgGCRemoveCustomTextureResponse = 1052; - k_EMsgGCRemoveMakersMark = 1053; - k_EMsgGCRemoveMakersMarkResponse = 1054; - k_EMsgGCRemoveUniqueCraftIndex = 1055; - k_EMsgGCRemoveUniqueCraftIndexResponse = 1056; - k_EMsgGCSaxxyBroadcast = 1057; - k_EMsgGCBackpackSortFinished = 1058; - k_EMsgGCAdjustItemEquippedState = 1059; - k_EMsgGCCollectItem = 1061; - k_EMsgGCItemAcknowledged = 1062; - k_EMsgGCPresets_SelectPresetForClass = 1063; - k_EMsgGCPresets_SetItemPosition = 1064; - k_EMsgGC_ReportAbuse = 1065; - k_EMsgGC_ReportAbuseResponse = 1066; - k_EMsgGCPresets_SelectPresetForClassReply = 1067; - k_EMsgGCNameItemNotification = 1068; - k_EMsgGCClientDisplayNotification = 1069; - k_EMsgGCApplyStrangePart = 1070; - k_EMsgGC_IncrementKillCountAttribute = 1071; - k_EMsgGC_IncrementKillCountResponse = 1072; - k_EMsgGCRemoveStrangePart = 1073; - k_EMsgGCResetStrangeScores = 1074; - k_EMsgGCGiftedItems = 1075; - k_EMsgGCApplyUpgradeCard = 1077; - k_EMsgGCRemoveUpgradeCard = 1078; - k_EMsgGCApplyStrangeRestriction = 1079; - k_EMsgGCClientRequestMarketData = 1080; - k_EMsgGCClientRequestMarketDataResponse = 1081; - k_EMsgGCApplyXifier = 1082; - k_EMsgGCApplyXifierResponse = 1083; - k_EMsgGC_TrackUniquePlayerPairEvent = 1084; - k_EMsgGCFulfillDynamicRecipeComponent = 1085; - k_EMsgGCFulfillDynamicRecipeComponentResponse = 1086; - k_EMsgGCSetItemEffectVerticalOffset = 1087; - k_EMsgGCSetHatEffectUseHeadOrigin = 1088; - k_EMsgGCItemEaterRecharger = 1089; - k_EMsgGCItemEaterRechargerResponse = 1090; - k_EMsgGCApplyBaseItemXifier = 1091; - k_EMsgGCApplyClassTransmogrifier = 1092; - k_EMsgGCApplyHalloweenSpellbookPage = 1093; - k_EMsgGCRemoveKillStreak = 1094; - k_EMsgGCRemoveKillStreakResponse = 1095; - k_EMsgGCTFSpecificItemBroadcast = 1096; - k_EMsgGC_IncrementKillCountAttribute_Multiple = 1097; - k_EMsgGCDeliverGiftResponseGiver = 1098; - k_EMsgGCSetItemPositions = 1100; - k_EMsgGCLookupMultipleAccountNames = 1101; - k_EMsgGCLookupMultipleAccountNamesResponse = 1102; - k_EMsgGCTradingBase = 1500; - k_EMsgGCTrading_InitiateTradeRequest = 1501; - k_EMsgGCTrading_InitiateTradeResponse = 1502; - k_EMsgGCTrading_StartSession = 1503; - k_EMsgGCTrading_SessionClosed = 1509; - k_EMsgGCTrading_CancelSession = 1510; - k_EMsgGCTrading_InitiateTradeRequestResponse = 1514; - 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 = 1708; - k_EMsgGCDev_NewItemRequest = 2001; - k_EMsgGCDev_NewItemRequestResponse = 2002; - k_EMsgGCDev_DebugRollLootRequest = 2003; - k_EMsgGCStoreGetUserData = 2500; - k_EMsgGCStoreGetUserDataResponse = 2501; - k_EMsgGCStorePurchaseInit_DEPRECATED = 2502; - k_EMsgGCStorePurchaseInitResponse_DEPRECATED = 2503; - k_EMsgGCStorePurchaseFinalize = 2512; - k_EMsgGCStorePurchaseFinalizeResponse = 2513; - k_EMsgGCStorePurchaseCancel = 2514; - k_EMsgGCStorePurchaseCancelResponse = 2515; - k_EMsgGCStorePurchaseQueryTxn = 2508; - k_EMsgGCStorePurchaseQueryTxnResponse = 2509; - k_EMsgGCStorePurchaseInit = 2510; - k_EMsgGCStorePurchaseInitResponse = 2511; - k_EMsgGCToGCDirtySDOCache = 2516; - k_EMsgGCToGCDirtyMultipleSDOCache = 2517; - k_EMsgGCToGCUpdateSQLKeyValue = 2518; - k_EMsgGCToGCBroadcastConsoleCommand = 2521; - k_EMsgGCServerVersionUpdated = 2522; - k_EMsgGCApplyAutograph = 2523; - k_EMsgGCToGCWebAPIAccountChanged = 2524; - k_EMsgGCRequestAnnouncements = 2525; - k_EMsgGCRequestAnnouncementsResponse = 2526; - k_EMsgGCRequestPassportItemGrant = 2527; - k_EMsgGCClientVersionUpdated = 2528; - k_EMsgGCItemPurgatory_FinalizePurchase = 2531; - k_EMsgGCItemPurgatory_FinalizePurchaseResponse = 2532; - k_EMsgGCItemPurgatory_RefundPurchase = 2533; - k_EMsgGCItemPurgatory_RefundPurchaseResponse = 2534; - k_EMsgGCToGCPlayerStrangeCountAdjustments = 2535; - k_EMsgGCRequestStoreSalesData = 2536; - k_EMsgGCRequestStoreSalesDataResponse = 2537; - k_EMsgGCRequestStoreSalesDataUpToDateResponse = 2538; - k_EMsgGCToGCPingRequest = 2539; - k_EMsgGCToGCPingResponse = 2540; - k_EMsgGCToGCGetUserSessionServer = 2541; - k_EMsgGCToGCGetUserSessionServerResponse = 2542; - k_EMsgGCToGCGetUserServerMembers = 2543; - k_EMsgGCToGCGetUserServerMembersResponse = 2544; - k_EMsgGCToGCGrantSelfMadeItemToAccount = 2555; - k_EMsgGCToGCThankedByNewUser = 2556; - k_EMsgGCShuffleCrateContents = 2557; - k_EMsgGCQuestObjective_Progress = 2558; - k_EMsgGCQuestCompleted = 2559; - k_EMsgGCApplyDuckToken = 2560; - k_EMsgGCQuestObjective_PointsChange = 2562; - k_EMsgGCQuestObjective_RequestLoanerItems = 2564; - k_EMsgGCQuestObjective_RequestLoanerResponse = 2565; - k_EMsgGCApplyStrangeCountTransfer = 2566; - k_EMsgGCCraftCollectionUpgrade = 2567; - k_EMsgGCCraftHalloweenOffering = 2568; - k_EMsgGCQuestDiscard_Request = 2569; - k_EMsgGCRemoveGiftedBy = 2570; - k_EMsgGCRemoveGiftedByResponse = 2571; - k_EMsgGCRemoveFestivizer = 2572; - k_EMsgGCRemoveFestivizerResponse = 2573; - k_EMsgGCCraftCommonStatClock = 2574; + k_EMsgGCBase = 1000; + k_EMsgGCSetSingleItemPosition = 1001; + k_EMsgGCCraft = 1002; + k_EMsgGCCraftResponse = 1003; + k_EMsgGCDelete = 1004; + k_EMsgGCVerifyCacheSubscription = 1005; + k_EMsgGCNameItem = 1006; + k_EMsgGCUnlockCrate = 1007; + k_EMsgGCUnlockCrateResponse = 1008; + k_EMsgGCPaintItem = 1009; + k_EMsgGCPaintItemResponse = 1010; + k_EMsgGCGoldenWrenchBroadcast = 1011; + k_EMsgGCMOTDRequest = 1012; + k_EMsgGCMOTDRequestResponse = 1013; + k_EMsgGCNameBaseItem = 1019; + k_EMsgGCNameBaseItemResponse = 1020; + k_EMsgGCRemoveSocketItem_DEPRECATED = 1021; + k_EMsgGCRemoveSocketItemResponse_DEPRECATED = 1022; + k_EMsgGCCustomizeItemTexture = 1023; + k_EMsgGCCustomizeItemTextureResponse = 1024; + k_EMsgGCUseItemRequest = 1025; + k_EMsgGCUseItemResponse = 1026; + k_EMsgGCRespawnPostLoadoutChange = 1029; + k_EMsgGCRemoveItemName = 1030; + k_EMsgGCRemoveItemPaint = 1031; + k_EMsgGCGiftWrapItem = 1032; + k_EMsgGCGiftWrapItemResponse = 1033; + k_EMsgGCDeliverGift = 1034; + k_EMsgGCDeliverGiftResponseReceiver = 1036; + k_EMsgGCUnwrapGiftRequest = 1037; + k_EMsgGCUnwrapGiftResponse = 1038; + k_EMsgGCSetItemStyle = 1039; + k_EMsgGCUsedClaimCodeItem = 1040; + k_EMsgGCSortItems = 1041; + k_EMsgGC_RevolvingLootList_DEPRECATED = 1042; + k_EMsgGCLookupAccount = 1043; + k_EMsgGCLookupAccountResponse = 1044; + k_EMsgGCLookupAccountName = 1045; + k_EMsgGCLookupAccountNameResponse = 1046; + k_EMsgGCUpdateItemSchema = 1049; + k_EMsgGCRequestInventoryRefresh = 1050; + k_EMsgGCRemoveCustomTexture = 1051; + k_EMsgGCRemoveCustomTextureResponse = 1052; + k_EMsgGCRemoveMakersMark = 1053; + k_EMsgGCRemoveMakersMarkResponse = 1054; + k_EMsgGCRemoveUniqueCraftIndex = 1055; + k_EMsgGCRemoveUniqueCraftIndexResponse = 1056; + k_EMsgGCSaxxyBroadcast = 1057; + k_EMsgGCBackpackSortFinished = 1058; + k_EMsgGCAdjustItemEquippedState = 1059; + k_EMsgGCCollectItem = 1061; + k_EMsgGCItemAcknowledged = 1062; + k_EMsgGCPresets_SelectPresetForClass = 1063; + k_EMsgGCPresets_SetItemPosition = 1064; + k_EMsgGC_ReportAbuse = 1065; + k_EMsgGC_ReportAbuseResponse = 1066; + k_EMsgGCPresets_SelectPresetForClassReply = 1067; + k_EMsgGCNameItemNotification = 1068; + k_EMsgGCClientDisplayNotification = 1069; + k_EMsgGCApplyStrangePart = 1070; + k_EMsgGC_IncrementKillCountAttribute = 1071; + k_EMsgGC_IncrementKillCountResponse = 1072; + k_EMsgGCRemoveStrangePart = 1073; + k_EMsgGCResetStrangeScores = 1074; + k_EMsgGCGiftedItems = 1075; + k_EMsgGCApplyUpgradeCard = 1077; + k_EMsgGCRemoveUpgradeCard = 1078; + k_EMsgGCApplyStrangeRestriction = 1079; + k_EMsgGCClientRequestMarketData = 1080; + k_EMsgGCClientRequestMarketDataResponse = 1081; + k_EMsgGCApplyXifier = 1082; + k_EMsgGCApplyXifierResponse = 1083; + k_EMsgGC_TrackUniquePlayerPairEvent = 1084; + k_EMsgGCFulfillDynamicRecipeComponent = 1085; + k_EMsgGCFulfillDynamicRecipeComponentResponse = 1086; + k_EMsgGCSetItemEffectVerticalOffset = 1087; + k_EMsgGCSetHatEffectUseHeadOrigin = 1088; + k_EMsgGCItemEaterRecharger = 1089; + k_EMsgGCItemEaterRechargerResponse = 1090; + k_EMsgGCApplyBaseItemXifier = 1091; + k_EMsgGCApplyClassTransmogrifier = 1092; + k_EMsgGCApplyHalloweenSpellbookPage = 1093; + k_EMsgGCRemoveKillStreak = 1094; + k_EMsgGCRemoveKillStreakResponse = 1095; + k_EMsgGCTFSpecificItemBroadcast = 1096; + k_EMsgGC_IncrementKillCountAttribute_Multiple = 1097; + k_EMsgGCDeliverGiftResponseGiver = 1098; + k_EMsgGCSetItemPositions = 1100; + k_EMsgGCLookupMultipleAccountNames = 1101; + k_EMsgGCLookupMultipleAccountNamesResponse = 1102; + k_EMsgGCTradingBase = 1500; + k_EMsgGCTrading_InitiateTradeRequest = 1501; + k_EMsgGCTrading_InitiateTradeResponse = 1502; + k_EMsgGCTrading_StartSession = 1503; + k_EMsgGCTrading_SessionClosed = 1509; + k_EMsgGCTrading_CancelSession = 1510; + k_EMsgGCTrading_InitiateTradeRequestResponse = 1514; + 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 = 1708; + k_EMsgGCDev_NewItemRequest = 2001; + k_EMsgGCDev_NewItemRequestResponse = 2002; + k_EMsgGCDev_DebugRollLootRequest = 2003; + k_EMsgGCStoreGetUserData = 2500; + k_EMsgGCStoreGetUserDataResponse = 2501; + k_EMsgGCStorePurchaseInit_DEPRECATED = 2502; + k_EMsgGCStorePurchaseInitResponse_DEPRECATED = 2503; + k_EMsgGCStorePurchaseFinalize = 2512; + k_EMsgGCStorePurchaseFinalizeResponse = 2513; + k_EMsgGCStorePurchaseCancel = 2514; + k_EMsgGCStorePurchaseCancelResponse = 2515; + k_EMsgGCStorePurchaseQueryTxn = 2508; + k_EMsgGCStorePurchaseQueryTxnResponse = 2509; + k_EMsgGCStorePurchaseInit = 2510; + k_EMsgGCStorePurchaseInitResponse = 2511; + k_EMsgGCToGCDirtySDOCache = 2516; + k_EMsgGCToGCDirtyMultipleSDOCache = 2517; + k_EMsgGCToGCUpdateSQLKeyValue = 2518; + k_EMsgGCToGCBroadcastConsoleCommand = 2521; + k_EMsgGCServerVersionUpdated = 2522; + k_EMsgGCApplyAutograph = 2523; + k_EMsgGCToGCWebAPIAccountChanged = 2524; + k_EMsgGCRequestAnnouncements = 2525; + k_EMsgGCRequestAnnouncementsResponse = 2526; + k_EMsgGCRequestPassportItemGrant = 2527; + k_EMsgGCClientVersionUpdated = 2528; + k_EMsgGCItemPurgatory_FinalizePurchase = 2531; + k_EMsgGCItemPurgatory_FinalizePurchaseResponse = 2532; + k_EMsgGCItemPurgatory_RefundPurchase = 2533; + k_EMsgGCItemPurgatory_RefundPurchaseResponse = 2534; + k_EMsgGCToGCPlayerStrangeCountAdjustments = 2535; + k_EMsgGCRequestStoreSalesData = 2536; + k_EMsgGCRequestStoreSalesDataResponse = 2537; + k_EMsgGCRequestStoreSalesDataUpToDateResponse = 2538; + k_EMsgGCToGCPingRequest = 2539; + k_EMsgGCToGCPingResponse = 2540; + k_EMsgGCToGCGetUserSessionServer = 2541; + k_EMsgGCToGCGetUserSessionServerResponse = 2542; + k_EMsgGCToGCGetUserServerMembers = 2543; + k_EMsgGCToGCGetUserServerMembersResponse = 2544; + k_EMsgGCToGCGrantSelfMadeItemToAccount = 2555; + k_EMsgGCToGCThankedByNewUser = 2556; + k_EMsgGCShuffleCrateContents = 2557; + k_EMsgGCQuestObjective_Progress = 2558; + k_EMsgGCQuestCompleted = 2559; + k_EMsgGCApplyDuckToken = 2560; + k_EMsgGCQuestObjective_PointsChange = 2562; + k_EMsgGCQuestObjective_RequestLoanerItems = 2564; + k_EMsgGCQuestObjective_RequestLoanerResponse = 2565; + k_EMsgGCApplyStrangeCountTransfer = 2566; + k_EMsgGCCraftCollectionUpgrade = 2567; + k_EMsgGCCraftHalloweenOffering = 2568; + k_EMsgGCQuestDiscard_Request = 2569; + k_EMsgGCRemoveGiftedBy = 2570; + k_EMsgGCRemoveGiftedByResponse = 2571; + k_EMsgGCRemoveFestivizer = 2572; + k_EMsgGCRemoveFestivizerResponse = 2573; + k_EMsgGCCraftCommonStatClock = 2574; } 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 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; - k_UnlockStyle_Failed_CantAffordGem = 6; + 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; + k_UnlockStyle_Failed_CantAffordGem = 6; } enum EItemPurgatoryResponse_Finalize { - k_ItemPurgatoryResponse_Finalize_Succeeded = 0; - k_ItemPurgatoryResponse_Finalize_Failed_Incomplete = 1; - k_ItemPurgatoryResponse_Finalize_Failed_ItemsNotInPurgatory = 2; - k_ItemPurgatoryResponse_Finalize_Failed_CouldNotFindItems = 3; - k_ItemPurgatoryResponse_Finalize_Failed_NoSOCache = 4; - k_ItemPurgatoryResponse_Finalize_BackpackFull = 5; + k_ItemPurgatoryResponse_Finalize_Succeeded = 0; + k_ItemPurgatoryResponse_Finalize_Failed_Incomplete = 1; + k_ItemPurgatoryResponse_Finalize_Failed_ItemsNotInPurgatory = 2; + k_ItemPurgatoryResponse_Finalize_Failed_CouldNotFindItems = 3; + k_ItemPurgatoryResponse_Finalize_Failed_NoSOCache = 4; + k_ItemPurgatoryResponse_Finalize_BackpackFull = 5; } enum EItemPurgatoryResponse_Refund { - k_ItemPurgatoryResponse_Refund_Succeeded = 0; - k_ItemPurgatoryResponse_Refund_Failed_ItemNotInPurgatory = 1; - k_ItemPurgatoryResponse_Refund_Failed_CouldNotFindItem = 2; - k_ItemPurgatoryResponse_Refund_Failed_NoSOCache = 3; - k_ItemPurgatoryResponse_Refund_Failed_NoDetail = 4; - k_ItemPurgatoryResponse_Refund_Failed_NexonWebAPI = 5; + k_ItemPurgatoryResponse_Refund_Succeeded = 0; + k_ItemPurgatoryResponse_Refund_Failed_ItemNotInPurgatory = 1; + k_ItemPurgatoryResponse_Refund_Failed_CouldNotFindItem = 2; + k_ItemPurgatoryResponse_Refund_Failed_NoSOCache = 3; + k_ItemPurgatoryResponse_Refund_Failed_NoDetail = 4; + k_ItemPurgatoryResponse_Refund_Failed_NexonWebAPI = 5; } message CMsgApplyAutograph { - optional uint64 autograph_item_id = 1; - optional uint64 item_item_id = 2; + optional uint64 autograph_item_id = 1; + optional uint64 item_item_id = 2; } message CMsgEconPlayerStrangeCountAdjustment { - message CStrangeCountAdjustment { - optional uint32 event_type = 1; - optional uint64 item_id = 2; - optional uint32 adjustment = 3; - } + message CStrangeCountAdjustment { + optional uint32 event_type = 1; + optional uint64 item_id = 2; + optional uint32 adjustment = 3; + } - optional uint32 account_id = 1; - repeated .CMsgEconPlayerStrangeCountAdjustment.CStrangeCountAdjustment strange_count_adjustments = 2; + optional uint32 account_id = 1; + repeated .CMsgEconPlayerStrangeCountAdjustment.CStrangeCountAdjustment strange_count_adjustments = 2; } message CMsgRequestItemPurgatory_FinalizePurchase { - repeated uint64 item_ids = 1; + repeated uint64 item_ids = 1; } message CMsgRequestItemPurgatory_FinalizePurchaseResponse { - optional uint32 result = 1; + optional uint32 result = 1; } message CMsgRequestItemPurgatory_RefundPurchase { - optional uint64 item_id = 1; + optional uint64 item_id = 1; } message CMsgRequestItemPurgatory_RefundPurchaseResponse { - optional uint32 result = 1; + optional uint32 result = 1; } message CMsgCraftingResponse { - repeated uint64 item_ids = 1; + repeated uint64 item_ids = 1; } message CMsgGCRequestStoreSalesData { - optional uint32 version = 1; - optional uint32 currency = 2; + optional uint32 version = 1; + optional uint32 currency = 2; } message CMsgGCRequestStoreSalesDataResponse { - message Price { - optional uint32 item_def = 1; - optional uint32 price = 2; - } + message Price { + optional uint32 item_def = 1; + optional uint32 price = 2; + } - repeated .CMsgGCRequestStoreSalesDataResponse.Price sale_price = 1; - optional uint32 version = 2; - optional uint32 expiration_time = 3; + repeated .CMsgGCRequestStoreSalesDataResponse.Price sale_price = 1; + optional uint32 version = 2; + optional uint32 expiration_time = 3; } message CMsgGCRequestStoreSalesDataUpToDateResponse { - optional uint32 version = 1; - optional uint32 expiration_time = 2; + optional uint32 version = 1; + optional uint32 expiration_time = 2; } message CMsgGCToGCPingRequest { @@ -277,94 +277,94 @@ message CMsgGCToGCPingResponse { } message CMsgGCToGCGetUserSessionServer { - optional uint32 account_id = 1; + optional uint32 account_id = 1; } message CMsgGCToGCGetUserSessionServerResponse { - optional fixed64 server_steam_id = 1; + optional fixed64 server_steam_id = 1; } message CMsgGCToGCGetUserServerMembers { - optional uint32 account_id = 1; - optional uint32 max_spectators = 2; + optional uint32 account_id = 1; + optional uint32 max_spectators = 2; } message CMsgGCToGCGetUserServerMembersResponse { - repeated uint32 member_account_id = 1; + repeated uint32 member_account_id = 1; } message CMsgLookupMultipleAccountNames { - repeated uint32 accountids = 1 [packed = true]; + repeated uint32 accountids = 1 [packed = true]; } message CMsgLookupMultipleAccountNamesResponse { - message Account { - optional uint32 accountid = 1; - optional string persona = 2; - } + message Account { + optional uint32 accountid = 1; + optional string persona = 2; + } - repeated .CMsgLookupMultipleAccountNamesResponse.Account accounts = 1; + repeated .CMsgLookupMultipleAccountNamesResponse.Account accounts = 1; } message CMsgGCToGCGrantSelfMadeItemToAccount { - optional uint32 item_def_index = 1; - optional uint32 accountid = 2; + optional uint32 item_def_index = 1; + optional uint32 accountid = 2; } message CMsgGCToGCThankedByNewUser { - optional uint32 new_user_accountid = 1; - optional uint32 thanked_user_accountid = 2; + optional uint32 new_user_accountid = 1; + optional uint32 thanked_user_accountid = 2; } message CMsgGCShuffleCrateContents { - optional uint64 crate_item_id = 1; - optional string user_code_string = 2; + optional uint64 crate_item_id = 1; + optional string user_code_string = 2; } message CMsgGCQuestObjective_Progress { - optional uint64 quest_id = 1; - optional uint32 quest_attrib_index = 2; - optional uint32 delta = 3; - optional fixed64 owner_steamid = 4; + optional uint64 quest_id = 1; + optional uint32 quest_attrib_index = 2; + optional uint32 delta = 3; + optional fixed64 owner_steamid = 4; } message CMsgGCQuestObjective_PointsChange { - optional uint64 quest_id = 1; - optional fixed64 owner_steamid = 4; - optional bool update_base_points = 5 [default = false]; - optional uint32 points_0 = 6; - optional uint32 points_1 = 7; - optional uint32 points_2 = 8; + optional uint64 quest_id = 1; + optional fixed64 owner_steamid = 4; + optional bool update_base_points = 5 [default = false]; + optional uint32 points_0 = 6; + optional uint32 points_1 = 7; + optional uint32 points_2 = 8; } message CMsgGCQuestComplete_Request { - optional uint64 quest_id = 1; + optional uint64 quest_id = 1; } message CMsgGCQuestCompleted { } message CMsgGCQuestObjective_RequestLoanerItems { - optional uint64 quest_id = 1; + optional uint64 quest_id = 1; } message CMsgGCQuestObjective_RequestLoanerResponse { } message CMsgCraftCollectionUpgrade { - repeated uint64 item_id = 1; + repeated uint64 item_id = 1; } message CMsgCraftHalloweenOffering { - optional uint64 tool_id = 1; - repeated uint64 item_id = 2; + optional uint64 tool_id = 1; + repeated uint64 item_id = 2; } message CMsgCraftCommonStatClock { - optional uint64 tool_id = 1; - repeated uint64 item_id = 2; + optional uint64 tool_id = 1; + repeated uint64 item_id = 2; } message CMsgGCQuestDiscard_Request { - optional uint64 quest_id = 1; + optional uint64 quest_id = 1; } diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsdk_gcmessages.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsdk_gcmessages.proto index 395bac63..e2146005 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsdk_gcmessages.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsdk_gcmessages.proto @@ -6,182 +6,182 @@ option optimize_for = SPEED; option java_generic_services = false; enum PartnerAccountType { - PARTNER_NONE = 0; - PARTNER_PERFECT_WORLD = 1; - PARTNER_NEXON = 2; + PARTNER_NONE = 0; + PARTNER_PERFECT_WORLD = 1; + PARTNER_NEXON = 2; } 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_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; } message CMsgSOIDOwner { - optional uint32 type = 1; - optional uint64 id = 2; + optional uint32 type = 1; + optional uint64 id = 2; } message CMsgSOSingleObject { - optional fixed64 owner = 1; - 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 fixed64 owner = 1; + 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 { - optional int32 type_id = 1; - optional bytes object_data = 2; - } + message SingleObject { + optional int32 type_id = 1; + optional bytes object_data = 2; + } - optional fixed64 owner = 1; - repeated .CMsgSOMultipleObjects.SingleObject objects = 2; - optional fixed64 version = 3; - optional .CMsgSOIDOwner owner_soid = 6; - optional uint32 service_id = 7; + optional fixed64 owner = 1; + repeated .CMsgSOMultipleObjects.SingleObject objects = 2; + optional fixed64 version = 3; + 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; + } - optional fixed64 owner = 1; - 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; + optional fixed64 owner = 1; + 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 fixed64 owner = 1; + optional fixed64 owner = 1; } message CMsgSOCacheSubscriptionCheck { - optional fixed64 owner = 1; - 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 owner = 1; + 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 fixed64 owner = 1; - optional .CMsgSOIDOwner owner_soid = 2; + optional fixed64 owner = 1; + 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 CGCToGCMsgMasterAck { - optional uint32 dir_index = 1; - optional string machine_name = 3; - optional string process_name = 4; - repeated uint32 type_instances = 5; + optional uint32 dir_index = 1; + optional string machine_name = 3; + optional string process_name = 4; + repeated uint32 type_instances = 5; } message CGCToGCMsgMasterAck_Response { - optional int32 eresult = 1 [default = 2]; + optional int32 eresult = 1 [default = 2]; } message CGCToGCMsgMasterStartupComplete { - message GCInfo { - optional uint32 dir_index = 1; - optional string machine_name = 2; - } + message GCInfo { + optional uint32 dir_index = 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 fixed32 ip = 1; + optional bool trusted = 2; } message CMsgGCToGCIncrementRecruitmentLevel { - optional fixed64 steamid = 1; + optional fixed64 steamid = 1; } message CMsgSOCacheHaveVersion { - optional .CMsgSOIDOwner soid = 1; - optional fixed64 version = 2; - optional uint32 service_id = 3; + optional .CMsgSOIDOwner soid = 1; + optional fixed64 version = 2; + optional uint32 service_id = 3; } 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 = 2; - optional fixed64 sync_version = 3; - repeated .CMsgGCToGCSOCacheSubscribe.CMsgHaveVersions have_versions = 4; + optional fixed64 subscriber = 1; + optional fixed64 subscribe_to = 2; + optional fixed64 sync_version = 3; + repeated .CMsgGCToGCSOCacheSubscribe.CMsgHaveVersions have_versions = 4; } message CMsgGCToGCSOCacheUnsubscribe { - optional fixed64 subscriber = 1; - optional fixed64 unsubscribe_from = 2; + optional fixed64 subscriber = 1; + optional fixed64 unsubscribe_from = 2; } message CMsgGCClientPing { diff --git a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsystemmsgs.proto b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsystemmsgs.proto index 8425acbc..83009bde 100644 --- a/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsystemmsgs.proto +++ b/javasteam-tf/src/main/proto/in/dragonbra/javasteam/protobufs/tf/gcsystemmsgs.proto @@ -4,177 +4,177 @@ option optimize_for = SPEED; option java_generic_services = false; enum EGCSystemMsg { - k_EGCMsgInvalid = 0; - k_EGCMsgMulti = 1; - k_EGCMsgGenericReply = 10; - k_EGCMsgSystemBase = 50; - k_EGCMsgAchievementAwarded = 51; - k_EGCMsgConCommand = 52; - k_EGCMsgStartPlaying = 53; - k_EGCMsgStopPlaying = 54; - k_EGCMsgStartGameserver = 55; - k_EGCMsgStopGameserver = 56; - k_EGCMsgWGRequest = 57; - k_EGCMsgWGResponse = 58; - k_EGCMsgGetUserGameStatsSchema = 59; - k_EGCMsgGetUserGameStatsSchemaResponse = 60; - k_EGCMsgGetUserStatsDEPRECATED = 61; - k_EGCMsgGetUserStatsResponse = 62; - k_EGCMsgAppInfoUpdated = 63; - k_EGCMsgValidateSession = 64; - k_EGCMsgValidateSessionResponse = 65; - k_EGCMsgLookupAccountFromInput = 66; - k_EGCMsgSendHTTPRequest = 67; - k_EGCMsgSendHTTPRequestResponse = 68; - k_EGCMsgPreTestSetup = 69; - k_EGCMsgRecordSupportAction = 70; - k_EGCMsgGetAccountDetails_DEPRECATED = 71; - k_EGCMsgReceiveInterAppMessage = 73; - k_EGCMsgFindAccounts = 74; - k_EGCMsgPostAlert = 75; - k_EGCMsgGetLicenses = 76; - k_EGCMsgGetUserStats = 77; - k_EGCMsgGetCommands = 78; - k_EGCMsgGetCommandsResponse = 79; - k_EGCMsgAddFreeLicense = 80; - k_EGCMsgAddFreeLicenseResponse = 81; - k_EGCMsgGetIPLocation = 82; - k_EGCMsgGetIPLocationResponse = 83; - k_EGCMsgSystemStatsSchema = 84; - k_EGCMsgGetSystemStats = 85; - k_EGCMsgGetSystemStatsResponse = 86; - k_EGCMsgSendEmail = 87; - k_EGCMsgSendEmailResponse = 88; - k_EGCMsgGetEmailTemplate = 89; - k_EGCMsgGetEmailTemplateResponse = 90; - k_EGCMsgGrantGuestPass = 91; - k_EGCMsgGrantGuestPassResponse = 92; - k_EGCMsgGetAccountDetails = 93; - k_EGCMsgGetAccountDetailsResponse = 94; - k_EGCMsgGetPersonaNames = 95; - k_EGCMsgGetPersonaNamesResponse = 96; - k_EGCMsgMultiplexMsg = 97; - k_EGCMsgWebAPIRegisterInterfaces = 101; - k_EGCMsgWebAPIJobRequest = 102; - k_EGCMsgWebAPIJobRequestHttpResponse = 104; - k_EGCMsgWebAPIJobRequestForwardResponse = 105; - k_EGCMsgMemCachedGet = 200; - k_EGCMsgMemCachedGetResponse = 201; - k_EGCMsgMemCachedSet = 202; - k_EGCMsgMemCachedDelete = 203; - k_EGCMsgMemCachedStats = 204; - k_EGCMsgMemCachedStatsResponse = 205; - k_EGCMsgSQLStats = 210; - k_EGCMsgSQLStatsResponse = 211; - k_EGCMsgMasterSetDirectory = 220; - k_EGCMsgMasterSetDirectoryResponse = 221; - k_EGCMsgMasterSetWebAPIRouting = 222; - k_EGCMsgMasterSetWebAPIRoutingResponse = 223; - k_EGCMsgMasterSetClientMsgRouting = 224; - k_EGCMsgMasterSetClientMsgRoutingResponse = 225; - k_EGCMsgSetOptions = 226; - k_EGCMsgSetOptionsResponse = 227; - k_EGCMsgSystemBase2 = 500; - k_EGCMsgGetPurchaseTrustStatus = 501; - k_EGCMsgGetPurchaseTrustStatusResponse = 502; - k_EGCMsgUpdateSession = 503; - k_EGCMsgGCAccountVacStatusChange = 504; - k_EGCMsgCheckFriendship = 505; - k_EGCMsgCheckFriendshipResponse = 506; - k_EGCMsgGetPartnerAccountLink = 507; - k_EGCMsgGetPartnerAccountLinkResponse = 508; - k_EGCMsgVSReportedSuspiciousActivity = 509; - k_EGCMsgAccountTradeBanStatusChange = 510; - k_EGCMsgAccountLockStatusChange = 511; - k_EGCMsgDPPartnerMicroTxns = 512; - k_EGCMsgDPPartnerMicroTxnsResponse = 513; - k_EGCMsgGetIPASN = 514; - k_EGCMsgGetIPASNResponse = 515; - k_EGCMsgGetAppFriendsList = 516; - k_EGCMsgGetAppFriendsListResponse = 517; - k_EGCMsgVacVerificationChange = 518; - k_EGCMsgAccountPhoneNumberChange = 519; - k_EGCMsgAccountTwoFactorChange = 520; - k_EGCMsgCheckClanMembership = 521; - k_EGCMsgCheckClanMembershipResponse = 522; - k_EGCMsgInviteUserToLobby = 523; - k_EGCMsgGetGamePersonalDataCategoriesRequest = 524; - k_EGCMsgGetGamePersonalDataCategoriesResponse = 525; - k_EGCMsgGetGamePersonalDataEntriesRequest = 526; - k_EGCMsgGetGamePersonalDataEntriesResponse = 527; - k_EGCMsgTerminateGamePersonalDataEntriesRequest = 528; - k_EGCMsgTerminateGamePersonalDataEntriesResponse = 529; + k_EGCMsgInvalid = 0; + k_EGCMsgMulti = 1; + k_EGCMsgGenericReply = 10; + k_EGCMsgSystemBase = 50; + k_EGCMsgAchievementAwarded = 51; + k_EGCMsgConCommand = 52; + k_EGCMsgStartPlaying = 53; + k_EGCMsgStopPlaying = 54; + k_EGCMsgStartGameserver = 55; + k_EGCMsgStopGameserver = 56; + k_EGCMsgWGRequest = 57; + k_EGCMsgWGResponse = 58; + k_EGCMsgGetUserGameStatsSchema = 59; + k_EGCMsgGetUserGameStatsSchemaResponse = 60; + k_EGCMsgGetUserStatsDEPRECATED = 61; + k_EGCMsgGetUserStatsResponse = 62; + k_EGCMsgAppInfoUpdated = 63; + k_EGCMsgValidateSession = 64; + k_EGCMsgValidateSessionResponse = 65; + k_EGCMsgLookupAccountFromInput = 66; + k_EGCMsgSendHTTPRequest = 67; + k_EGCMsgSendHTTPRequestResponse = 68; + k_EGCMsgPreTestSetup = 69; + k_EGCMsgRecordSupportAction = 70; + k_EGCMsgGetAccountDetails_DEPRECATED = 71; + k_EGCMsgReceiveInterAppMessage = 73; + k_EGCMsgFindAccounts = 74; + k_EGCMsgPostAlert = 75; + k_EGCMsgGetLicenses = 76; + k_EGCMsgGetUserStats = 77; + k_EGCMsgGetCommands = 78; + k_EGCMsgGetCommandsResponse = 79; + k_EGCMsgAddFreeLicense = 80; + k_EGCMsgAddFreeLicenseResponse = 81; + k_EGCMsgGetIPLocation = 82; + k_EGCMsgGetIPLocationResponse = 83; + k_EGCMsgSystemStatsSchema = 84; + k_EGCMsgGetSystemStats = 85; + k_EGCMsgGetSystemStatsResponse = 86; + k_EGCMsgSendEmail = 87; + k_EGCMsgSendEmailResponse = 88; + k_EGCMsgGetEmailTemplate = 89; + k_EGCMsgGetEmailTemplateResponse = 90; + k_EGCMsgGrantGuestPass = 91; + k_EGCMsgGrantGuestPassResponse = 92; + k_EGCMsgGetAccountDetails = 93; + k_EGCMsgGetAccountDetailsResponse = 94; + k_EGCMsgGetPersonaNames = 95; + k_EGCMsgGetPersonaNamesResponse = 96; + k_EGCMsgMultiplexMsg = 97; + k_EGCMsgWebAPIRegisterInterfaces = 101; + k_EGCMsgWebAPIJobRequest = 102; + k_EGCMsgWebAPIJobRequestHttpResponse = 104; + k_EGCMsgWebAPIJobRequestForwardResponse = 105; + k_EGCMsgMemCachedGet = 200; + k_EGCMsgMemCachedGetResponse = 201; + k_EGCMsgMemCachedSet = 202; + k_EGCMsgMemCachedDelete = 203; + k_EGCMsgMemCachedStats = 204; + k_EGCMsgMemCachedStatsResponse = 205; + k_EGCMsgSQLStats = 210; + k_EGCMsgSQLStatsResponse = 211; + k_EGCMsgMasterSetDirectory = 220; + k_EGCMsgMasterSetDirectoryResponse = 221; + k_EGCMsgMasterSetWebAPIRouting = 222; + k_EGCMsgMasterSetWebAPIRoutingResponse = 223; + k_EGCMsgMasterSetClientMsgRouting = 224; + k_EGCMsgMasterSetClientMsgRoutingResponse = 225; + k_EGCMsgSetOptions = 226; + k_EGCMsgSetOptionsResponse = 227; + k_EGCMsgSystemBase2 = 500; + k_EGCMsgGetPurchaseTrustStatus = 501; + k_EGCMsgGetPurchaseTrustStatusResponse = 502; + k_EGCMsgUpdateSession = 503; + k_EGCMsgGCAccountVacStatusChange = 504; + k_EGCMsgCheckFriendship = 505; + k_EGCMsgCheckFriendshipResponse = 506; + k_EGCMsgGetPartnerAccountLink = 507; + k_EGCMsgGetPartnerAccountLinkResponse = 508; + k_EGCMsgVSReportedSuspiciousActivity = 509; + k_EGCMsgAccountTradeBanStatusChange = 510; + k_EGCMsgAccountLockStatusChange = 511; + k_EGCMsgDPPartnerMicroTxns = 512; + k_EGCMsgDPPartnerMicroTxnsResponse = 513; + k_EGCMsgGetIPASN = 514; + k_EGCMsgGetIPASNResponse = 515; + k_EGCMsgGetAppFriendsList = 516; + k_EGCMsgGetAppFriendsListResponse = 517; + k_EGCMsgVacVerificationChange = 518; + k_EGCMsgAccountPhoneNumberChange = 519; + k_EGCMsgAccountTwoFactorChange = 520; + k_EGCMsgCheckClanMembership = 521; + k_EGCMsgCheckClanMembershipResponse = 522; + k_EGCMsgInviteUserToLobby = 523; + k_EGCMsgGetGamePersonalDataCategoriesRequest = 524; + k_EGCMsgGetGamePersonalDataCategoriesResponse = 525; + k_EGCMsgGetGamePersonalDataEntriesRequest = 526; + k_EGCMsgGetGamePersonalDataEntriesResponse = 527; + k_EGCMsgTerminateGamePersonalDataEntriesRequest = 528; + k_EGCMsgTerminateGamePersonalDataEntriesResponse = 529; } 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_CacheSubscriptionCheck = 27; - 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_CacheSubscriptionCheck = 27; + k_ESOMsg_CacheSubscriptionRefresh = 28; + k_ESOMsg_CacheSubscribedUpToDate = 29; } enum EGCBaseClientMsg { - k_EMsgGCPingRequest = 3001; - k_EMsgGCPingResponse = 3002; - k_EMsgGCClientWelcome = 4004; - k_EMsgGCServerWelcome = 4005; - k_EMsgGCClientHello = 4006; - k_EMsgGCServerHello = 4007; - k_EMsgGCClientGoodbye = 4008; - k_EMsgGCServerGoodbye = 4009; + k_EMsgGCPingRequest = 3001; + k_EMsgGCPingResponse = 3002; + k_EMsgGCClientWelcome = 4004; + k_EMsgGCServerWelcome = 4005; + k_EMsgGCClientHello = 4006; + k_EMsgGCServerHello = 4007; + k_EMsgGCClientGoodbye = 4008; + k_EMsgGCServerGoodbye = 4009; } enum EGCToGCMsg { - k_EGCToGCMsgMasterAck = 150; - k_EGCToGCMsgMasterAckResponse = 151; - k_EGCToGCMsgRouted = 152; - k_EGCToGCMsgRoutedReply = 153; - k_EMsgGCUpdateSubGCSessionInfo = 154; - k_EMsgGCRequestSubGCSessionInfo = 155; - k_EMsgGCRequestSubGCSessionInfoResponse = 156; - k_EGCToGCMsgMasterStartupComplete = 157; - k_EMsgGCToGCSOCacheSubscribe = 158; - k_EMsgGCToGCSOCacheUnsubscribe = 159; + k_EGCToGCMsgMasterAck = 150; + k_EGCToGCMsgMasterAckResponse = 151; + k_EGCToGCMsgRouted = 152; + k_EGCToGCMsgRoutedReply = 153; + k_EMsgGCUpdateSubGCSessionInfo = 154; + k_EMsgGCRequestSubGCSessionInfo = 155; + k_EMsgGCRequestSubGCSessionInfoResponse = 156; + k_EGCToGCMsgMasterStartupComplete = 157; + k_EMsgGCToGCSOCacheSubscribe = 158; + k_EMsgGCToGCSOCacheUnsubscribe = 159; } message CCommunity_GamePersonalDataCategoryInfo { - optional string type = 1; - optional string localization_token = 2; - optional string template_file = 3; + optional string type = 1; + optional string localization_token = 2; + optional string template_file = 3; } message CCommunity_GetGamePersonalDataCategories_Request { - optional uint32 appid = 1; + optional uint32 appid = 1; } message CCommunity_GetGamePersonalDataCategories_Response { - repeated .CCommunity_GamePersonalDataCategoryInfo categories = 1; - optional string app_assets_basename = 2; + repeated .CCommunity_GamePersonalDataCategoryInfo categories = 1; + optional string app_assets_basename = 2; } message CCommunity_GetGamePersonalDataEntries_Request { - optional uint32 appid = 1; - optional uint64 steamid = 2; - optional string type = 3; - optional string continue_token = 4; + optional uint32 appid = 1; + optional uint64 steamid = 2; + optional string type = 3; + optional string continue_token = 4; } message CCommunity_GetGamePersonalDataEntries_Response { - optional uint32 gceresult = 1; - repeated string entries = 2; - optional string continue_token = 3; + optional uint32 gceresult = 1; + repeated string entries = 2; + optional string continue_token = 3; } message CCommunity_TerminateGamePersonalDataEntries_Request { - optional uint32 appid = 1; - optional uint64 steamid = 2; + optional uint32 appid = 1; + optional uint64 steamid = 2; } message CCommunity_TerminateGamePersonalDataEntries_Response { - optional uint32 gceresult = 1; + optional uint32 gceresult = 1; } 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 1ea997ee..94b18f4d 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 @@ -7,574 +7,574 @@ 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 GCProtoBufMsgSrc { - GCProtoBufMsgSrc_Unspecified = 0; - GCProtoBufMsgSrc_FromSystem = 1; - GCProtoBufMsgSrc_FromSteamID = 2; - GCProtoBufMsgSrc_FromGC = 3; - GCProtoBufMsgSrc_ReplySystem = 4; + GCProtoBufMsgSrc_Unspecified = 0; + GCProtoBufMsgSrc_FromSystem = 1; + GCProtoBufMsgSrc_FromSteamID = 2; + GCProtoBufMsgSrc_FromGC = 3; + GCProtoBufMsgSrc_ReplySystem = 4; } 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 uint32 gc_dir_index_source = 201; + 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 uint32 gc_dir_index_source = 201; } message CMsgWebAPIKey { - optional uint32 status = 1 [default = 255]; - optional uint32 account_id = 2 [default = 0]; - optional uint32 publisher_group_id = 3 [default = 0]; - optional uint32 key_id = 4; - optional string domain = 5; + optional uint32 status = 1 [default = 255]; + optional uint32 account_id = 2 [default = 0]; + optional uint32 publisher_group_id = 3 [default = 0]; + optional uint32 key_id = 4; + optional string domain = 5; } message CMsgHttpRequest { - message RequestHeader { - optional string name = 1; - optional string value = 2; - } - - message QueryParam { - optional string name = 1; - optional bytes value = 2; - } - - optional uint32 request_method = 1; - optional string hostname = 2; - optional string url = 3; - repeated .CMsgHttpRequest.RequestHeader headers = 4; - repeated .CMsgHttpRequest.QueryParam get_params = 5; - repeated .CMsgHttpRequest.QueryParam post_params = 6; - optional bytes body = 7; - optional uint32 absolute_timeout = 8; + message RequestHeader { + optional string name = 1; + optional string value = 2; + } + + message QueryParam { + optional string name = 1; + optional bytes value = 2; + } + + optional uint32 request_method = 1; + optional string hostname = 2; + optional string url = 3; + repeated .CMsgHttpRequest.RequestHeader headers = 4; + repeated .CMsgHttpRequest.QueryParam get_params = 5; + repeated .CMsgHttpRequest.QueryParam post_params = 6; + optional bytes body = 7; + optional uint32 absolute_timeout = 8; } message CMsgWebAPIRequest { - optional string UNUSED_job_name = 1; - optional string interface_name = 2; - optional string method_name = 3; - optional uint32 version = 4; - optional .CMsgWebAPIKey api_key = 5; - optional .CMsgHttpRequest request = 6; - optional uint32 routing_app_id = 7; + optional string UNUSED_job_name = 1; + optional string interface_name = 2; + optional string method_name = 3; + optional uint32 version = 4; + optional .CMsgWebAPIKey api_key = 5; + optional .CMsgHttpRequest request = 6; + optional uint32 routing_app_id = 7; } message CMsgHttpResponse { - message ResponseHeader { - optional string name = 1; - optional string value = 2; - } + message ResponseHeader { + optional string name = 1; + optional string value = 2; + } - optional uint32 status_code = 1; - repeated .CMsgHttpResponse.ResponseHeader headers = 2; - optional bytes body = 3; + optional uint32 status_code = 1; + repeated .CMsgHttpResponse.ResponseHeader headers = 2; + optional bytes body = 3; } message CMsgAMFindAccounts { - optional uint32 search_type = 1; - optional string search_string = 2; + optional uint32 search_type = 1; + optional string search_string = 2; } message CMsgAMFindAccountsResponse { - repeated fixed64 steam_id = 1; + repeated fixed64 steam_id = 1; } message CMsgNotifyWatchdog { - optional uint32 source = 1; - optional uint32 alert_type = 2; - optional uint32 alert_destination = 3; - optional bool critical = 4; - optional uint32 time = 5; - optional uint32 appid = 6; - optional string text = 7; + optional uint32 source = 1; + optional uint32 alert_type = 2; + optional uint32 alert_destination = 3; + optional bool critical = 4; + optional uint32 time = 5; + optional uint32 appid = 6; + optional string text = 7; } message CMsgAMGetLicenses { - optional fixed64 steamid = 1; + optional fixed64 steamid = 1; } message CMsgPackageLicense { - optional uint32 package_id = 1; - optional uint32 time_created = 2; - optional uint32 owner_id = 3; + optional uint32 package_id = 1; + optional uint32 time_created = 2; + optional uint32 owner_id = 3; } message CMsgAMGetLicensesResponse { - repeated .CMsgPackageLicense license = 1; - optional uint32 result = 2; + repeated .CMsgPackageLicense license = 1; + optional uint32 result = 2; } message CMsgAMGetUserGameStats { - optional fixed64 steam_id = 1; - optional fixed64 game_id = 2; - repeated uint32 stats = 3; + optional fixed64 steam_id = 1; + optional fixed64 game_id = 2; + repeated uint32 stats = 3; } message CMsgAMGetUserGameStatsResponse { - message Stats { - optional uint32 stat_id = 1; - optional uint32 stat_value = 2; - } + message Stats { + optional uint32 stat_id = 1; + optional uint32 stat_value = 2; + } - message Achievement_Blocks { - optional uint32 achievement_id = 1; - optional uint32 achievement_bit_id = 2; - optional fixed32 unlock_time = 3; - } + message Achievement_Blocks { + optional uint32 achievement_id = 1; + optional uint32 achievement_bit_id = 2; + optional fixed32 unlock_time = 3; + } - optional fixed64 steam_id = 1; - optional fixed64 game_id = 2; - optional int32 eresult = 3 [default = 2]; - repeated .CMsgAMGetUserGameStatsResponse.Stats stats = 4; - repeated .CMsgAMGetUserGameStatsResponse.Achievement_Blocks achievement_blocks = 5; + optional fixed64 steam_id = 1; + optional fixed64 game_id = 2; + optional int32 eresult = 3 [default = 2]; + repeated .CMsgAMGetUserGameStatsResponse.Stats stats = 4; + repeated .CMsgAMGetUserGameStatsResponse.Achievement_Blocks achievement_blocks = 5; } message CMsgGCGetCommandList { - optional uint32 app_id = 1; - optional string command_prefix = 2; + optional uint32 app_id = 1; + optional string command_prefix = 2; } message CMsgGCGetCommandListResponse { - repeated string command_name = 1; + repeated string command_name = 1; } message CGCMsgMemCachedGet { - repeated string keys = 1; + repeated string keys = 1; } message CGCMsgMemCachedGetResponse { - message ValueTag { - optional bool found = 1; - optional bytes value = 2; - } + message ValueTag { + optional bool found = 1; + optional bytes value = 2; + } - repeated .CGCMsgMemCachedGetResponse.ValueTag values = 1; + repeated .CGCMsgMemCachedGetResponse.ValueTag values = 1; } message CGCMsgMemCachedSet { - message KeyPair { - optional string name = 1; - optional bytes value = 2; - } + message KeyPair { + optional string name = 1; + optional bytes value = 2; + } - repeated .CGCMsgMemCachedSet.KeyPair keys = 1; + repeated .CGCMsgMemCachedSet.KeyPair keys = 1; } message CGCMsgMemCachedDelete { - repeated string keys = 1; + repeated string keys = 1; } message CGCMsgMemCachedStats { } message CGCMsgMemCachedStatsResponse { - optional uint64 curr_connections = 1; - optional uint64 cmd_get = 2; - optional uint64 cmd_set = 3; - optional uint64 cmd_flush = 4; - optional uint64 get_hits = 5; - optional uint64 get_misses = 6; - optional uint64 delete_hits = 7; - optional uint64 delete_misses = 8; - optional uint64 bytes_read = 9; - optional uint64 bytes_written = 10; - optional uint64 limit_maxbytes = 11; - optional uint64 curr_items = 12; - optional uint64 evictions = 13; - optional uint64 bytes = 14; + optional uint64 curr_connections = 1; + optional uint64 cmd_get = 2; + optional uint64 cmd_set = 3; + optional uint64 cmd_flush = 4; + optional uint64 get_hits = 5; + optional uint64 get_misses = 6; + optional uint64 delete_hits = 7; + optional uint64 delete_misses = 8; + optional uint64 bytes_read = 9; + optional uint64 bytes_written = 10; + optional uint64 limit_maxbytes = 11; + optional uint64 curr_items = 12; + optional uint64 evictions = 13; + optional uint64 bytes = 14; } message CGCMsgSQLStats { - optional uint32 schema_catalog = 1; + optional uint32 schema_catalog = 1; } message CGCMsgSQLStatsResponse { - optional uint32 threads = 1; - optional uint32 threads_connected = 2; - optional uint32 threads_active = 3; - optional uint32 operations_submitted = 4; - optional uint32 prepared_statements_executed = 5; - optional uint32 non_prepared_statements_executed = 6; - optional uint32 deadlock_retries = 7; - optional uint32 operations_timed_out_in_queue = 8; - optional uint32 errors = 9; + optional uint32 threads = 1; + optional uint32 threads_connected = 2; + optional uint32 threads_active = 3; + optional uint32 operations_submitted = 4; + optional uint32 prepared_statements_executed = 5; + optional uint32 non_prepared_statements_executed = 6; + optional uint32 deadlock_retries = 7; + optional uint32 operations_timed_out_in_queue = 8; + optional uint32 errors = 9; } message CMsgAMAddFreeLicense { - optional fixed64 steamid = 1; - optional uint32 ip_public = 2; - optional uint32 packageid = 3; - optional string store_country_code = 4; + optional fixed64 steamid = 1; + optional uint32 ip_public = 2; + optional uint32 packageid = 3; + optional string store_country_code = 4; } message CMsgAMAddFreeLicenseResponse { - optional int32 eresult = 1 [default = 2]; - optional int32 purchase_result_detail = 2; - optional fixed64 transid = 3; + optional int32 eresult = 1 [default = 2]; + optional int32 purchase_result_detail = 2; + optional fixed64 transid = 3; } message CGCMsgGetIPLocation { - repeated fixed32 ips = 1; + repeated fixed32 ips = 1; } 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; } message CGCMsgSystemStatsSchema { - optional uint32 gc_app_id = 1; - optional bytes schema_kv = 2; + optional uint32 gc_app_id = 1; + optional bytes schema_kv = 2; } message CGCMsgGetSystemStats { } message CGCMsgGetSystemStatsResponse { - optional uint32 gc_app_id = 1; - optional bytes stats_kv = 2; - optional uint32 active_jobs = 3; - optional uint32 yielding_jobs = 4; - optional uint32 user_sessions = 5; - optional uint32 game_server_sessions = 6; - optional uint32 socaches = 7; - optional uint32 socaches_to_unload = 8; - optional uint32 socaches_loading = 9; - optional uint32 writeback_queue = 10; - optional uint32 steamid_locks = 11; - optional uint32 logon_queue = 12; - optional uint32 logon_jobs = 13; + optional uint32 gc_app_id = 1; + optional bytes stats_kv = 2; + optional uint32 active_jobs = 3; + optional uint32 yielding_jobs = 4; + optional uint32 user_sessions = 5; + optional uint32 game_server_sessions = 6; + optional uint32 socaches = 7; + optional uint32 socaches_to_unload = 8; + optional uint32 socaches_loading = 9; + optional uint32 writeback_queue = 10; + optional uint32 steamid_locks = 11; + optional uint32 logon_queue = 12; + optional uint32 logon_jobs = 13; } message CMsgAMSendEmail { - message ReplacementToken { - optional string token_name = 1; - optional string token_value = 2; - } + message ReplacementToken { + optional string token_name = 1; + optional string token_value = 2; + } - message PersonaNameReplacementToken { - optional fixed64 steamid = 1; - optional string token_name = 2; - } + message PersonaNameReplacementToken { + optional fixed64 steamid = 1; + optional string token_name = 2; + } - optional fixed64 steamid = 1; - optional uint32 email_msg_type = 2; - optional uint32 email_format = 3; - repeated .CMsgAMSendEmail.PersonaNameReplacementToken persona_name_tokens = 5; - optional uint32 source_gc = 6; - repeated .CMsgAMSendEmail.ReplacementToken tokens = 7; + optional fixed64 steamid = 1; + optional uint32 email_msg_type = 2; + optional uint32 email_format = 3; + repeated .CMsgAMSendEmail.PersonaNameReplacementToken persona_name_tokens = 5; + optional uint32 source_gc = 6; + repeated .CMsgAMSendEmail.ReplacementToken tokens = 7; } message CMsgAMSendEmailResponse { - optional uint32 eresult = 1 [default = 2]; + optional uint32 eresult = 1 [default = 2]; } message CMsgGCGetEmailTemplate { - optional uint32 app_id = 1; - optional uint32 email_msg_type = 2; - optional int32 email_lang = 3; - optional int32 email_format = 4; + optional uint32 app_id = 1; + optional uint32 email_msg_type = 2; + optional int32 email_lang = 3; + optional int32 email_format = 4; } message CMsgGCGetEmailTemplateResponse { - optional uint32 eresult = 1 [default = 2]; - optional bool template_exists = 2; - optional string template = 3; + optional uint32 eresult = 1 [default = 2]; + optional bool template_exists = 2; + optional string template = 3; } message CMsgAMGrantGuestPasses2 { - optional fixed64 steam_id = 1; - optional uint32 package_id = 2; - optional int32 passes_to_grant = 3; - optional int32 days_to_expiration = 4; - optional int32 action = 5; + optional fixed64 steam_id = 1; + optional uint32 package_id = 2; + optional int32 passes_to_grant = 3; + optional int32 days_to_expiration = 4; + optional int32 action = 5; } message CMsgAMGrantGuestPasses2Response { - optional int32 eresult = 1 [default = 2]; - optional int32 passes_granted = 2 [default = 0]; + optional int32 eresult = 1 [default = 2]; + optional int32 passes_granted = 2 [default = 0]; } 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; - - optional uint32 eresult_deprecated = 1 [default = 2]; - optional string account_name = 2; - optional string persona_name = 3; - 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; + 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_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; } message CMsgGCCheckClanMembership { - optional fixed64 steamid = 1; - optional uint32 clanid = 2; + optional fixed64 steamid = 1; + optional uint32 clanid = 2; } message CMsgGCCheckClanMembership_Response { - optional bool ismember = 1; + optional bool ismember = 1; } message CMsgGCGetPersonaNames { - repeated fixed64 steamids = 1; + repeated fixed64 steamids = 1; } message CMsgGCGetPersonaNames_Response { - message PersonaName { - optional fixed64 steamid = 1; - optional string persona_name = 2; - } + message PersonaName { + optional fixed64 steamid = 1; + optional string persona_name = 2; + } - repeated .CMsgGCGetPersonaNames_Response.PersonaName succeeded_lookups = 1; - repeated fixed64 failed_lookup_steamids = 2; + repeated .CMsgGCGetPersonaNames_Response.PersonaName succeeded_lookups = 1; + repeated fixed64 failed_lookup_steamids = 2; } message CMsgGCCheckFriendship { - optional fixed64 steamid_left = 1; - optional fixed64 steamid_right = 2; + optional fixed64 steamid_left = 1; + optional fixed64 steamid_right = 2; } message CMsgGCCheckFriendship_Response { - optional bool success = 1; - optional bool found_friendship = 2; + optional bool success = 1; + optional bool found_friendship = 2; } message CMsgGCMsgMasterSetDirectory { - message SubGC { - optional uint32 dir_index = 1; - optional string name = 2; - optional string box = 3; - optional string command_line = 4; - optional string gc_binary = 5; - } + message SubGC { + optional uint32 dir_index = 1; + optional string name = 2; + optional string box = 3; + optional string command_line = 4; + optional string gc_binary = 5; + } - optional uint32 master_dir_index = 1; - repeated .CMsgGCMsgMasterSetDirectory.SubGC dir = 2; + optional uint32 master_dir_index = 1; + repeated .CMsgGCMsgMasterSetDirectory.SubGC dir = 2; } message CMsgGCMsgMasterSetDirectory_Response { - optional int32 eresult = 1 [default = 2]; + optional int32 eresult = 1 [default = 2]; } message CMsgGCMsgWebAPIJobRequestForwardResponse { - optional uint32 dir_index = 1; + optional uint32 dir_index = 1; } message CGCSystemMsg_GetPurchaseTrust_Request { - optional fixed64 steamid = 1; + optional fixed64 steamid = 1; } message CGCSystemMsg_GetPurchaseTrust_Response { - optional bool has_prior_purchase_history = 1; - optional bool has_no_recent_password_resets = 2; - optional bool is_wallet_cash_trusted = 3; - optional uint32 time_all_trusted = 4; + optional bool has_prior_purchase_history = 1; + optional bool has_no_recent_password_resets = 2; + optional bool is_wallet_cash_trusted = 3; + optional uint32 time_all_trusted = 4; } message CMsgGCHAccountVacStatusChange { - optional fixed64 steam_id = 1; - optional uint32 app_id = 2; - optional uint32 rtime_vacban_starts = 3; - optional bool is_banned_now = 4; - optional bool is_banned_future = 5; + optional fixed64 steam_id = 1; + optional uint32 app_id = 2; + optional uint32 rtime_vacban_starts = 3; + optional bool is_banned_now = 4; + optional bool is_banned_future = 5; } message CMsgGCHAccountTradeBanStatusChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional bool is_banned = 3; - optional uint32 time_banned_until = 4; + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional bool is_banned = 3; + optional uint32 time_banned_until = 4; } message CMsgGCHAccountLockStatusChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional bool is_locked = 3; + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional bool is_locked = 3; } message CMsgGCHVacVerificationChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional bool is_verified = 3; + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional bool is_verified = 3; } message CMsgGCHAccountPhoneNumberChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional uint64 phone_id = 3; - optional bool is_verified = 4; - optional bool is_identifying = 5; + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional uint64 phone_id = 3; + optional bool is_verified = 4; + optional bool is_identifying = 5; } message CMsgGCHAccountTwoFactorChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional bool twofactor_enabled = 3; + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional bool twofactor_enabled = 3; } message CMsgGCGetPartnerAccountLink { - optional fixed64 steamid = 1; + optional fixed64 steamid = 1; } message CMsgGCGetPartnerAccountLink_Response { - optional uint32 pwid = 1; - optional uint32 nexonid = 2; + optional uint32 pwid = 1; + optional uint32 nexonid = 2; } message CMsgGCRoutingInfo { - enum RoutingMethod { - RANDOM = 0; - DISCARD = 1; - CLIENT_STEAMID = 2; - PROTOBUF_FIELD_UINT64 = 3; - WEBAPI_PARAM_UINT64 = 4; - } + enum RoutingMethod { + RANDOM = 0; + DISCARD = 1; + CLIENT_STEAMID = 2; + PROTOBUF_FIELD_UINT64 = 3; + WEBAPI_PARAM_UINT64 = 4; + } - repeated uint32 dir_index = 1; - optional .CMsgGCRoutingInfo.RoutingMethod method = 2 [default = RANDOM]; - optional .CMsgGCRoutingInfo.RoutingMethod fallback = 3 [default = DISCARD]; - optional uint32 protobuf_field = 4; - optional string webapi_param = 5; + repeated uint32 dir_index = 1; + optional .CMsgGCRoutingInfo.RoutingMethod method = 2 [default = RANDOM]; + optional .CMsgGCRoutingInfo.RoutingMethod fallback = 3 [default = DISCARD]; + optional uint32 protobuf_field = 4; + optional string webapi_param = 5; } message CMsgGCMsgMasterSetWebAPIRouting { - message Entry { - optional string interface_name = 1; - optional string method_name = 2; - optional .CMsgGCRoutingInfo routing = 3; - } + message Entry { + optional string interface_name = 1; + optional string method_name = 2; + optional .CMsgGCRoutingInfo routing = 3; + } - repeated .CMsgGCMsgMasterSetWebAPIRouting.Entry entries = 1; + repeated .CMsgGCMsgMasterSetWebAPIRouting.Entry entries = 1; } message CMsgGCMsgMasterSetClientMsgRouting { - message Entry { - optional uint32 msg_type = 1; - optional .CMsgGCRoutingInfo routing = 2; - } + message Entry { + optional uint32 msg_type = 1; + optional .CMsgGCRoutingInfo routing = 2; + } - repeated .CMsgGCMsgMasterSetClientMsgRouting.Entry entries = 1; + repeated .CMsgGCMsgMasterSetClientMsgRouting.Entry entries = 1; } message CMsgGCMsgMasterSetWebAPIRouting_Response { - optional int32 eresult = 1 [default = 2]; + optional int32 eresult = 1 [default = 2]; } message CMsgGCMsgMasterSetClientMsgRouting_Response { - optional int32 eresult = 1 [default = 2]; + optional int32 eresult = 1 [default = 2]; } message CMsgGCMsgSetOptions { - message MessageRange { - required uint32 low = 1; - required uint32 high = 2; - } + message MessageRange { + required uint32 low = 1; + required uint32 high = 2; + } - enum Option { - NOTIFY_USER_SESSIONS = 0; - NOTIFY_SERVER_SESSIONS = 1; - NOTIFY_ACHIEVEMENTS = 2; - NOTIFY_VAC_ACTION = 3; - } + enum Option { + NOTIFY_USER_SESSIONS = 0; + NOTIFY_SERVER_SESSIONS = 1; + NOTIFY_ACHIEVEMENTS = 2; + NOTIFY_VAC_ACTION = 3; + } - enum GCSQLVersion { - GCSQL_VERSION_BASELINE = 1; - GCSQL_VERSION_BOOLTYPE = 2; - } + enum GCSQLVersion { + GCSQL_VERSION_BASELINE = 1; + GCSQL_VERSION_BOOLTYPE = 2; + } - repeated .CMsgGCMsgSetOptions.Option options = 1; - repeated .CMsgGCMsgSetOptions.MessageRange client_msg_ranges = 2; - optional .CMsgGCMsgSetOptions.GCSQLVersion gcsql_version = 3 [default = GCSQL_VERSION_BASELINE]; + repeated .CMsgGCMsgSetOptions.Option options = 1; + repeated .CMsgGCMsgSetOptions.MessageRange client_msg_ranges = 2; + optional .CMsgGCMsgSetOptions.GCSQLVersion gcsql_version = 3 [default = GCSQL_VERSION_BASELINE]; } message CMsgGCHUpdateSession { - message ExtraField { - optional string name = 1; - optional string value = 2; - } - - optional fixed64 steam_id = 1; - optional uint32 app_id = 2; - optional bool online = 3; - optional fixed64 server_steam_id = 4; - optional uint32 server_addr = 5; - optional uint32 server_port = 6; - optional uint32 os_type = 7; - optional uint32 client_addr = 8; - repeated .CMsgGCHUpdateSession.ExtraField extra_fields = 9; + message ExtraField { + optional string name = 1; + optional string value = 2; + } + + optional fixed64 steam_id = 1; + optional uint32 app_id = 2; + optional bool online = 3; + optional fixed64 server_steam_id = 4; + optional uint32 server_addr = 5; + optional uint32 server_port = 6; + optional uint32 os_type = 7; + optional uint32 client_addr = 8; + repeated .CMsgGCHUpdateSession.ExtraField extra_fields = 9; } message CMsgNotificationOfSuspiciousActivity { - message MultipleGameInstances { - optional uint32 app_instance_count = 1; - repeated fixed64 other_steamids = 2; - } - - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional .CMsgNotificationOfSuspiciousActivity.MultipleGameInstances multiple_instances = 3; + message MultipleGameInstances { + optional uint32 app_instance_count = 1; + repeated fixed64 other_steamids = 2; + } + + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional .CMsgNotificationOfSuspiciousActivity.MultipleGameInstances multiple_instances = 3; } 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 820a45d9..771c8d49 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 @@ -8,337 +8,337 @@ option optimize_for = SPEED; option java_generic_services = false; enum ETFGCMsg { - k_EMsgGCReportWarKill = 5001; - k_EMsgGCKickPlayer_DEPRECATED = 5020; - k_EMsgGCStartedTraining_DEPRECATED = 5021; - k_EMsgGCFreeTrial_ChooseMostHelpfulFriend = 5022; - k_EMsgGCRequestTF2Friends = 5023; - k_EMsgGCRequestTF2FriendsResponse = 5024; - k_EMsgGCReplay_SubmitContestEntry = 5026; - k_EMsgGCReplay_SubmitContestEntryResponse = 5027; - k_EMsgGCSaxxy_Awarded = 5029; - k_EMsgGCFreeTrial_ThankedBySomeone = 5028; - k_EMsgGCFreeTrial_ThankedSomeone = 5030; - k_EMsgGCFreeTrial_ConvertedToPremium = 5031; - k_EMsgGCMeetThePyroSilliness_BananaCraft_DEPRECATED = 5032; - k_EMsgGCMVMARG_HighFiveSuccessResponse_DEPRECATED = 5033; - k_EMsgGCMVMARG_HighFiveOnClient_DEPRECATED = 5034; - k_EMsgGCCoaching_AddToCoaches = 5200; - k_EMsgGCCoaching_AddToCoachesResponse = 5201; - k_EMsgGCCoaching_RemoveFromCoaches = 5202; - k_EMsgGCCoaching_RemoveFromCoachesResponse = 5203; - k_EMsgGCCoaching_FindCoach = 5204; - k_EMsgGCCoaching_FindCoachResponse = 5205; - k_EMsgGCCoaching_AskCoach = 5206; - k_EMsgGCCoaching_AskCoachResponse = 5207; - k_EMsgGCCoaching_CoachJoinGame = 5208; - k_EMsgGCCoaching_CoachJoining = 5209; - k_EMsgGCCoaching_CoachJoined = 5210; - k_EMsgGCCoaching_LikeCurrentCoach = 5211; - k_EMsgGCCoaching_RemoveCurrentCoach = 5212; - k_EMsgGCCoaching_AlreadyRatedCoach = 5213; - k_EMsgGC_Duel_Request = 5500; - k_EMsgGC_Duel_Response = 5501; - k_EMsgGC_Duel_Results = 5502; - k_EMsgGC_Duel_Status = 5503; - k_EMsgGC_Halloween_ReservedItem_DEPRECATED = 5600; - k_EMsgGC_Halloween_GrantItem_DEPRECATED = 5601; - k_EMsgGC_Halloween_GrantItemResponse_DEPRECATED = 5604; - k_EMsgGC_Halloween_Cheat_QueryResponse_DEPRECATED = 5605; - k_EMsgGC_Halloween_ItemClaimed_DEPRECATED = 5606; - k_EMsgGC_Halloween_ReservedItem = 5607; - k_EMsgGC_Halloween_GrantItem = 5608; - k_EMsgGC_Halloween_GrantItemResponse = 5609; - k_EMsgGC_Halloween_Cheat_QueryResponse_DEPRECATED_2 = 5610; - k_EMsgGC_Halloween_ItemClaimed_DEPRECATED_2 = 5611; - k_EMsgGC_Halloween_ServerBossEvent = 5612; - k_EMsgGC_Halloween_Merasmus2012 = 5613; - k_EMsgGC_Halloween_UpdateMerasmusLootLevel = 5614; - k_EMsgGC_GameServer_LevelInfo = 5700; - k_EMsgGC_GameServer_AuthChallenge = 5701; - k_EMsgGC_GameServer_AuthChallengeResponse = 5702; - k_EMsgGC_GameServer_CreateIdentity = 5703; - k_EMsgGC_GameServer_CreateIdentityResponse = 5704; - k_EMsgGC_GameServer_List = 5705; - k_EMsgGC_GameServer_ListResponse = 5706; - k_EMsgGC_GameServer_AuthResult = 5707; - k_EMsgGC_GameServer_ResetIdentity = 5708; - k_EMsgGC_GameServer_ResetIdentityResponse = 5709; - k_EMsgGC_Client_UseServerModificationItem = 5710; - k_EMsgGC_Client_UseServerModificationItem_Response = 5711; - k_EMsgGC_GameServer_UseServerModificationItem = 5712; - k_EMsgGC_GameServer_UseServerModificationItem_Response = 5713; - k_EMsgGC_GameServer_ServerModificationItemExpired = 5714; - k_EMsgGC_GameServer_ModificationItemState = 5715; - k_EMsgGC_GameServer_AckPolicy = 5716; - k_EMsgGC_GameServer_AckPolicyResponse = 5717; - k_EMsgGC_QP_ScoreServers = 5800; - k_EMsgGC_QP_ScoreServersResponse = 5801; - k_EMsgGC_QP_PlayerJoining = 5802; - k_EMsgGC_PickupItemEligibility_Query_DEPRECATED = 6000; - k_EMsgGC_PickupItemEligibility_Query_DEPRECATED_2 = 6001; - k_EMsgGC_IncrementKillCountAttribute_DEPRECATED = 6100; - k_EMsgGC_IncrementKillCountResponse_DEPRECATED = 6101; - k_EMsgGCAbandonCurrentGame = 6235; - k_EMsgForceSOCacheResend = 6237; - k_EMsgGCRequestChatChannelList = 6260; - k_EMsgGCRequestChatChannelListResponse = 6261; - k_EMsgGCReadyUp = 6270; - k_EMsgGCKickedFromMatchmakingQueue = 6271; - k_EMsgGCLeaverDetected = 6272; - k_EMsgGCLeaverDetectedResponse = 6287; - k_EMsgGCExitMatchmaking = 6289; - k_EMsgGCMatchmakingProgress = 6293; - k_EMsgGCMvMVictoryInfo = 6294; - k_EMsgGCGameServerMatchmakingStatus = 6295; - k_EMsgGCMvMVictory = 6297; - k_EMsgGCMvMVictoryReply = 6298; - k_EMsgGCGameServerKickingLobby = 6299; - k_EMsgGCLeaveGameAndPrepareToJoinParty = 6300; - k_EMsgGC_UpdatePeriodicEvent = 6400; - k_EMsgGC_DuckLeaderboard_IndividualUpdate = 6401; - k_EMsgGC_Client2GCEconPreviewDataBlockRequest = 6402; - k_EMsgGC_Client2GCEconPreviewDataBlockResponse = 6403; - k_EMsgGC_ClientVerificationChallenge = 6500; - k_EMsgGC_ClientVerificationChallengeResponse = 6501; - k_EMsgGC_ClientVerificationVerboseResponse = 6502; - k_EMsgGC_ClientSetItemSlotAttribute = 6503; - k_EMsgGC_War_IndividualUpdate = 6505; - k_EMsgGC_War_JoinWar = 6506; - k_EMsgGC_War_RequestGlobalStats = 6507; - k_EMsgGC_War_GlobalStatsResponse = 6508; - k_EMsgGC_WorldItemPlacement_Attribute = 6510; - k_EMsgGC_WorldItemPlacement_Update = 6511; - k_EMsgGC_Match_Result = 6512; - k_EMsgGCVoteKickPlayerRequest = 6513; - k_EMsgGCVoteKickPlayerRequestResponse = 6514; - k_EMsgGC_DailyCompetitiveStatsRollup = 6516; - k_EMsgGC_DailyCompetitiveStatsRollup_Response = 6517; - k_EMsgGC_WorldStatusBroadcast = 6518; - k_EMsgGC_ReportPlayer = 6519; - k_EMsgGC_Match_ResultResponse = 6520; - k_EMsgGCGameServerKickingLobbyResponse = 6521; - k_EMsgGCPlayerLeftMatch = 6522; - k_EMsgGCPlayerLeftMatchResponse = 6523; - k_EMsgGCRequestMatchMakerStats = 6524; - k_EMsgGCMatchMakerStatsResponse = 6525; - k_EMsgGCMatchHistoryLoad = 6526; - k_EMsgGC_AcknowledgeXP = 6527; - k_EMsgGCDataCenterPing_Update = 6528; - k_EMsgGC_NotificationAcknowledge = 6529; - k_EMsgGC_NotificationAcknowledgeReply = 6530; - k_EMsgGC_KickPlayerFromLobby = 6531; - k_EMsgGC_SurveyQuestionRequest = 6534; - k_EMsgGC_SurveyQuestionResponse = 6535; - k_EMsgGC_TFClientInit = 6536; - k_EMsgGC_NewMatchForLobbyRequest = 6537; - k_EMsgGC_NewMatchForLobbyResponse = 6538; - k_EMsgGC_ChangeMatchPlayerTeamsRequest = 6539; - k_EMsgGC_ChangeMatchPlayerTeamsResponse = 6540; - k_EMsgGC_QuestIdentify = 6541; - k_EMsgGC_QuestDevGive = 6542; - k_EMsgGCQuestComplete_Debug = 6544; - k_EMsgGC_QuestMapDebug = 6545; - k_EMsgGC_QuestMapUnlockNode = 6547; - k_EMsgGC_QuestMapPurchaseReward = 6549; - k_EMsgGC_SetDisablePartyQuestProgress = 6550; - k_EMsgGCQuestProgressReport = 6553; - k_EMsgGCParty_SetOptions = 6554; - k_EMsgGCParty_SetOptionsResponse = 6555; - k_EMsgGCParty_QueueForMatch = 6556; - k_EMsgGCParty_QueueForMatchResponse = 6557; - k_EMsgGCParty_RemoveFromQueue = 6558; - k_EMsgGCParty_RemoveFromQueueResponse = 6559; - k_EMsgGCParty_InvitePlayer = 6560; - k_EMsgGCParty_RequestJoinPlayer = 6561; - k_EMsgGCParty_SendChat = 6562; - k_EMsgGCParty_ChatMsg = 6563; - k_EMsgGCQuestNodeTurnIn = 6564; - k_EMsgGCConsumePaintKit = 6565; - k_EMsgGC_Painkit_DevGrant = 6566; - k_EMsgGCParty_QueueForStandby = 6567; - k_EMsgGCParty_QueueForStandbyResponse = 6568; - k_EMsgGCParty_RemoveFromStandbyQueue = 6569; - k_EMsgGCParty_RemoveFromStandbyQueueResponse = 6570; - k_EMsgGCParty_ClearPendingPlayer = 6571; - k_EMsgGCParty_ClearPendingPlayerResponse = 6572; - k_EMsgGCParty_ClearOtherPartyRequest = 6573; - k_EMsgGCParty_ClearOtherPartyRequestResponse = 6574; - k_EMsgGCParty_PromoteToLeader = 6575; - k_EMsgGCParty_KickMember = 6576; - k_EMsgGCQuestStrangeEvent = 6577; - k_EMsgGC_AcceptLobbyInvite = 6578; - k_EMsgGC_AcceptLobbyInviteReply = 6579; - k_EMsgGC_SDRTicket = 6580; - k_EMsgGC_ProcessMatchVoteKick = 6581; - k_EMsgGC_ProcessMatchVoteKickResponse = 6582; - k_EMsgGCToGC_SendAccountBannedNotifications = 6584; - k_EMsgGCToGC_SendNotification = 6585; - k_EMsgGCParty_MMError = 6586; - k_EMsgGCDev_GrantWarKill = 10001; + k_EMsgGCReportWarKill = 5001; + k_EMsgGCKickPlayer_DEPRECATED = 5020; + k_EMsgGCStartedTraining_DEPRECATED = 5021; + k_EMsgGCFreeTrial_ChooseMostHelpfulFriend = 5022; + k_EMsgGCRequestTF2Friends = 5023; + k_EMsgGCRequestTF2FriendsResponse = 5024; + k_EMsgGCReplay_SubmitContestEntry = 5026; + k_EMsgGCReplay_SubmitContestEntryResponse = 5027; + k_EMsgGCSaxxy_Awarded = 5029; + k_EMsgGCFreeTrial_ThankedBySomeone = 5028; + k_EMsgGCFreeTrial_ThankedSomeone = 5030; + k_EMsgGCFreeTrial_ConvertedToPremium = 5031; + k_EMsgGCMeetThePyroSilliness_BananaCraft_DEPRECATED = 5032; + k_EMsgGCMVMARG_HighFiveSuccessResponse_DEPRECATED = 5033; + k_EMsgGCMVMARG_HighFiveOnClient_DEPRECATED = 5034; + k_EMsgGCCoaching_AddToCoaches = 5200; + k_EMsgGCCoaching_AddToCoachesResponse = 5201; + k_EMsgGCCoaching_RemoveFromCoaches = 5202; + k_EMsgGCCoaching_RemoveFromCoachesResponse = 5203; + k_EMsgGCCoaching_FindCoach = 5204; + k_EMsgGCCoaching_FindCoachResponse = 5205; + k_EMsgGCCoaching_AskCoach = 5206; + k_EMsgGCCoaching_AskCoachResponse = 5207; + k_EMsgGCCoaching_CoachJoinGame = 5208; + k_EMsgGCCoaching_CoachJoining = 5209; + k_EMsgGCCoaching_CoachJoined = 5210; + k_EMsgGCCoaching_LikeCurrentCoach = 5211; + k_EMsgGCCoaching_RemoveCurrentCoach = 5212; + k_EMsgGCCoaching_AlreadyRatedCoach = 5213; + k_EMsgGC_Duel_Request = 5500; + k_EMsgGC_Duel_Response = 5501; + k_EMsgGC_Duel_Results = 5502; + k_EMsgGC_Duel_Status = 5503; + k_EMsgGC_Halloween_ReservedItem_DEPRECATED = 5600; + k_EMsgGC_Halloween_GrantItem_DEPRECATED = 5601; + k_EMsgGC_Halloween_GrantItemResponse_DEPRECATED = 5604; + k_EMsgGC_Halloween_Cheat_QueryResponse_DEPRECATED = 5605; + k_EMsgGC_Halloween_ItemClaimed_DEPRECATED = 5606; + k_EMsgGC_Halloween_ReservedItem = 5607; + k_EMsgGC_Halloween_GrantItem = 5608; + k_EMsgGC_Halloween_GrantItemResponse = 5609; + k_EMsgGC_Halloween_Cheat_QueryResponse_DEPRECATED_2 = 5610; + k_EMsgGC_Halloween_ItemClaimed_DEPRECATED_2 = 5611; + k_EMsgGC_Halloween_ServerBossEvent = 5612; + k_EMsgGC_Halloween_Merasmus2012 = 5613; + k_EMsgGC_Halloween_UpdateMerasmusLootLevel = 5614; + k_EMsgGC_GameServer_LevelInfo = 5700; + k_EMsgGC_GameServer_AuthChallenge = 5701; + k_EMsgGC_GameServer_AuthChallengeResponse = 5702; + k_EMsgGC_GameServer_CreateIdentity = 5703; + k_EMsgGC_GameServer_CreateIdentityResponse = 5704; + k_EMsgGC_GameServer_List = 5705; + k_EMsgGC_GameServer_ListResponse = 5706; + k_EMsgGC_GameServer_AuthResult = 5707; + k_EMsgGC_GameServer_ResetIdentity = 5708; + k_EMsgGC_GameServer_ResetIdentityResponse = 5709; + k_EMsgGC_Client_UseServerModificationItem = 5710; + k_EMsgGC_Client_UseServerModificationItem_Response = 5711; + k_EMsgGC_GameServer_UseServerModificationItem = 5712; + k_EMsgGC_GameServer_UseServerModificationItem_Response = 5713; + k_EMsgGC_GameServer_ServerModificationItemExpired = 5714; + k_EMsgGC_GameServer_ModificationItemState = 5715; + k_EMsgGC_GameServer_AckPolicy = 5716; + k_EMsgGC_GameServer_AckPolicyResponse = 5717; + k_EMsgGC_QP_ScoreServers = 5800; + k_EMsgGC_QP_ScoreServersResponse = 5801; + k_EMsgGC_QP_PlayerJoining = 5802; + k_EMsgGC_PickupItemEligibility_Query_DEPRECATED = 6000; + k_EMsgGC_PickupItemEligibility_Query_DEPRECATED_2 = 6001; + k_EMsgGC_IncrementKillCountAttribute_DEPRECATED = 6100; + k_EMsgGC_IncrementKillCountResponse_DEPRECATED = 6101; + k_EMsgGCAbandonCurrentGame = 6235; + k_EMsgForceSOCacheResend = 6237; + k_EMsgGCRequestChatChannelList = 6260; + k_EMsgGCRequestChatChannelListResponse = 6261; + k_EMsgGCReadyUp = 6270; + k_EMsgGCKickedFromMatchmakingQueue = 6271; + k_EMsgGCLeaverDetected = 6272; + k_EMsgGCLeaverDetectedResponse = 6287; + k_EMsgGCExitMatchmaking = 6289; + k_EMsgGCMatchmakingProgress = 6293; + k_EMsgGCMvMVictoryInfo = 6294; + k_EMsgGCGameServerMatchmakingStatus = 6295; + k_EMsgGCMvMVictory = 6297; + k_EMsgGCMvMVictoryReply = 6298; + k_EMsgGCGameServerKickingLobby = 6299; + k_EMsgGCLeaveGameAndPrepareToJoinParty = 6300; + k_EMsgGC_UpdatePeriodicEvent = 6400; + k_EMsgGC_DuckLeaderboard_IndividualUpdate = 6401; + k_EMsgGC_Client2GCEconPreviewDataBlockRequest = 6402; + k_EMsgGC_Client2GCEconPreviewDataBlockResponse = 6403; + k_EMsgGC_ClientVerificationChallenge = 6500; + k_EMsgGC_ClientVerificationChallengeResponse = 6501; + k_EMsgGC_ClientVerificationVerboseResponse = 6502; + k_EMsgGC_ClientSetItemSlotAttribute = 6503; + k_EMsgGC_War_IndividualUpdate = 6505; + k_EMsgGC_War_JoinWar = 6506; + k_EMsgGC_War_RequestGlobalStats = 6507; + k_EMsgGC_War_GlobalStatsResponse = 6508; + k_EMsgGC_WorldItemPlacement_Attribute = 6510; + k_EMsgGC_WorldItemPlacement_Update = 6511; + k_EMsgGC_Match_Result = 6512; + k_EMsgGCVoteKickPlayerRequest = 6513; + k_EMsgGCVoteKickPlayerRequestResponse = 6514; + k_EMsgGC_DailyCompetitiveStatsRollup = 6516; + k_EMsgGC_DailyCompetitiveStatsRollup_Response = 6517; + k_EMsgGC_WorldStatusBroadcast = 6518; + k_EMsgGC_ReportPlayer = 6519; + k_EMsgGC_Match_ResultResponse = 6520; + k_EMsgGCGameServerKickingLobbyResponse = 6521; + k_EMsgGCPlayerLeftMatch = 6522; + k_EMsgGCPlayerLeftMatchResponse = 6523; + k_EMsgGCRequestMatchMakerStats = 6524; + k_EMsgGCMatchMakerStatsResponse = 6525; + k_EMsgGCMatchHistoryLoad = 6526; + k_EMsgGC_AcknowledgeXP = 6527; + k_EMsgGCDataCenterPing_Update = 6528; + k_EMsgGC_NotificationAcknowledge = 6529; + k_EMsgGC_NotificationAcknowledgeReply = 6530; + k_EMsgGC_KickPlayerFromLobby = 6531; + k_EMsgGC_SurveyQuestionRequest = 6534; + k_EMsgGC_SurveyQuestionResponse = 6535; + k_EMsgGC_TFClientInit = 6536; + k_EMsgGC_NewMatchForLobbyRequest = 6537; + k_EMsgGC_NewMatchForLobbyResponse = 6538; + k_EMsgGC_ChangeMatchPlayerTeamsRequest = 6539; + k_EMsgGC_ChangeMatchPlayerTeamsResponse = 6540; + k_EMsgGC_QuestIdentify = 6541; + k_EMsgGC_QuestDevGive = 6542; + k_EMsgGCQuestComplete_Debug = 6544; + k_EMsgGC_QuestMapDebug = 6545; + k_EMsgGC_QuestMapUnlockNode = 6547; + k_EMsgGC_QuestMapPurchaseReward = 6549; + k_EMsgGC_SetDisablePartyQuestProgress = 6550; + k_EMsgGCQuestProgressReport = 6553; + k_EMsgGCParty_SetOptions = 6554; + k_EMsgGCParty_SetOptionsResponse = 6555; + k_EMsgGCParty_QueueForMatch = 6556; + k_EMsgGCParty_QueueForMatchResponse = 6557; + k_EMsgGCParty_RemoveFromQueue = 6558; + k_EMsgGCParty_RemoveFromQueueResponse = 6559; + k_EMsgGCParty_InvitePlayer = 6560; + k_EMsgGCParty_RequestJoinPlayer = 6561; + k_EMsgGCParty_SendChat = 6562; + k_EMsgGCParty_ChatMsg = 6563; + k_EMsgGCQuestNodeTurnIn = 6564; + k_EMsgGCConsumePaintKit = 6565; + k_EMsgGC_Painkit_DevGrant = 6566; + k_EMsgGCParty_QueueForStandby = 6567; + k_EMsgGCParty_QueueForStandbyResponse = 6568; + k_EMsgGCParty_RemoveFromStandbyQueue = 6569; + k_EMsgGCParty_RemoveFromStandbyQueueResponse = 6570; + k_EMsgGCParty_ClearPendingPlayer = 6571; + k_EMsgGCParty_ClearPendingPlayerResponse = 6572; + k_EMsgGCParty_ClearOtherPartyRequest = 6573; + k_EMsgGCParty_ClearOtherPartyRequestResponse = 6574; + k_EMsgGCParty_PromoteToLeader = 6575; + k_EMsgGCParty_KickMember = 6576; + k_EMsgGCQuestStrangeEvent = 6577; + k_EMsgGC_AcceptLobbyInvite = 6578; + k_EMsgGC_AcceptLobbyInviteReply = 6579; + k_EMsgGC_SDRTicket = 6580; + k_EMsgGC_ProcessMatchVoteKick = 6581; + k_EMsgGC_ProcessMatchVoteKickResponse = 6582; + k_EMsgGCToGC_SendAccountBannedNotifications = 6584; + k_EMsgGCToGC_SendNotification = 6585; + k_EMsgGCParty_MMError = 6586; + k_EMsgGCDev_GrantWarKill = 10001; } enum EServerModificationItemType { - kGameServerModificationItem_Halloween = 1; + kGameServerModificationItem_Halloween = 1; } enum ETFSyncedMMMenuStep { - k_eTFSyncedMMMenuStep_Invalid = -1; - k_eTFSyncedMMMenuStep_None = 0; - k_eTFSyncedMMMenuStep_Configuring_Mode = 1; - k_eTFSyncedMMMenuStep_MvM_Selecting_Mode = 2; - k_eTFSyncedMMMenuStep_MvM_Selecting_Tour = 3; - k_eTFSyncedMMMenuStep_MvM_Selecting_Missions = 4; + k_eTFSyncedMMMenuStep_Invalid = -1; + k_eTFSyncedMMMenuStep_None = 0; + k_eTFSyncedMMMenuStep_Configuring_Mode = 1; + k_eTFSyncedMMMenuStep_MvM_Selecting_Mode = 2; + k_eTFSyncedMMMenuStep_MvM_Selecting_Tour = 3; + k_eTFSyncedMMMenuStep_MvM_Selecting_Missions = 4; } enum ETFMatchGroup { - option allow_alias = true; - k_eTFMatchGroup_Invalid = -1; - k_eTFMatchGroup_MvM_Practice = 0; - k_eTFMatchGroup_MvM_MannUp = 1; - k_eTFMatchGroup_First = 0; - k_eTFMatchGroup_MvM_Default = 0; - k_eTFMatchGroup_MvM_First = 0; - k_eTFMatchGroup_MvM_Last = 1; - k_eTFMatchGroup_Ladder_6v6 = 2; - k_eTFMatchGroup_Ladder_9v9 = 3; - k_eTFMatchGroup_Ladder_12v12 = 4; - k_eTFMatchGroup_Ladder_Default = 2; - k_eTFMatchGroup_Ladder_First = 2; - k_eTFMatchGroup_Ladder_Last = 4; - k_eTFMatchGroup_Casual_6v6 = 5; - k_eTFMatchGroup_Casual_9v9 = 6; - k_eTFMatchGroup_Casual_12v12 = 7; - k_eTFMatchGroup_Casual_Default = 7; - k_eTFMatchGroup_Casual_First = 5; - k_eTFMatchGroup_Casual_Last = 7; - k_eTFMatchGroup_Event_Placeholder = 8; - k_eTFMatchGroup_Event_Default = 8; - k_eTFMatchGroup_Event_First = 8; - k_eTFMatchGroup_Event_Last = 8; + option allow_alias = true; + k_eTFMatchGroup_Invalid = -1; + k_eTFMatchGroup_MvM_Practice = 0; + k_eTFMatchGroup_MvM_MannUp = 1; + k_eTFMatchGroup_First = 0; + k_eTFMatchGroup_MvM_Default = 0; + k_eTFMatchGroup_MvM_First = 0; + k_eTFMatchGroup_MvM_Last = 1; + k_eTFMatchGroup_Ladder_6v6 = 2; + k_eTFMatchGroup_Ladder_9v9 = 3; + k_eTFMatchGroup_Ladder_12v12 = 4; + k_eTFMatchGroup_Ladder_Default = 2; + k_eTFMatchGroup_Ladder_First = 2; + k_eTFMatchGroup_Ladder_Last = 4; + k_eTFMatchGroup_Casual_6v6 = 5; + k_eTFMatchGroup_Casual_9v9 = 6; + k_eTFMatchGroup_Casual_12v12 = 7; + k_eTFMatchGroup_Casual_Default = 7; + k_eTFMatchGroup_Casual_First = 5; + k_eTFMatchGroup_Casual_Last = 7; + k_eTFMatchGroup_Event_Placeholder = 8; + k_eTFMatchGroup_Event_Default = 8; + k_eTFMatchGroup_Event_First = 8; + k_eTFMatchGroup_Event_Last = 8; } enum ETFPartyChatType { - k_eTFPartyChatType_Invalid = 0; - k_eTFPartyChatType_MemberChat = 1; - k_eTFPartyChatType_Synthetic_MemberJoin = 1000; - k_eTFPartyChatType_Synthetic_MemberLeave = 1001; - k_eTFPartyChatType_Synthetic_SendFailed = 1002; - k_eTFPartyChatType_Synthetic_MemberOnline = 1003; - k_eTFPartyChatType_Synthetic_MemberOffline = 1004; + k_eTFPartyChatType_Invalid = 0; + k_eTFPartyChatType_MemberChat = 1; + k_eTFPartyChatType_Synthetic_MemberJoin = 1000; + k_eTFPartyChatType_Synthetic_MemberLeave = 1001; + k_eTFPartyChatType_Synthetic_SendFailed = 1002; + k_eTFPartyChatType_Synthetic_MemberOnline = 1003; + k_eTFPartyChatType_Synthetic_MemberOffline = 1004; } enum TF_GC_GameState { - TF_GC_GAMESTATE_STATE_INIT = 0; - TF_GC_GAMESTATE_WAIT_FOR_PLAYERS_TO_LOAD = 1; - TF_GC_GAMESTATE_STRATEGY_TIME = 3; - TF_GC_GAMESTATE_GAME_IN_PROGRESS = 5; - TF_GC_GAMESTATE_POST_GAME = 6; - TF_GC_GAMESTATE_DISCONNECT = 7; - TF_GC_GAMESTATE_LAST = 8; + TF_GC_GAMESTATE_STATE_INIT = 0; + TF_GC_GAMESTATE_WAIT_FOR_PLAYERS_TO_LOAD = 1; + TF_GC_GAMESTATE_STRATEGY_TIME = 3; + TF_GC_GAMESTATE_GAME_IN_PROGRESS = 5; + TF_GC_GAMESTATE_POST_GAME = 6; + TF_GC_GAMESTATE_DISCONNECT = 7; + TF_GC_GAMESTATE_LAST = 8; } enum TF_GC_TEAM { - TF_GC_TEAM_DEFENDERS = 0; - TF_GC_TEAM_INVADERS = 1; - TF_GC_TEAM_BROADCASTER = 2; - TF_GC_TEAM_SPECTATOR = 3; - TF_GC_TEAM_PLAYER_POOL = 4; - TF_GC_TEAM_NOTEAM = 5; + TF_GC_TEAM_DEFENDERS = 0; + TF_GC_TEAM_INVADERS = 1; + TF_GC_TEAM_BROADCASTER = 2; + TF_GC_TEAM_SPECTATOR = 3; + TF_GC_TEAM_PLAYER_POOL = 4; + TF_GC_TEAM_NOTEAM = 5; } enum TFMatchLeaveReason { - TFMatchLeaveReason_UNSPECIFIED = 0; - TFMatchLeaveReason_VOTE_KICK = 1; - TFMatchLeaveReason_IDLE = 2; - TFMatchLeaveReason_ADMIN_KICK = 3; - TFMatchLeaveReason_AWOL = 4; - TFMatchLeaveReason_NO_SHOW = 5; - TFMatchLeaveReason_GC_REMOVED = 6; + TFMatchLeaveReason_UNSPECIFIED = 0; + TFMatchLeaveReason_VOTE_KICK = 1; + TFMatchLeaveReason_IDLE = 2; + TFMatchLeaveReason_ADMIN_KICK = 3; + TFMatchLeaveReason_AWOL = 4; + TFMatchLeaveReason_NO_SHOW = 5; + TFMatchLeaveReason_GC_REMOVED = 6; } enum TFVoteKickReason { - TFVoteKickReason_Invalid = -1; - TFVoteKickReason_Other = 0; - TFVoteKickReason_Cheating = 1; - TFVoteKickReason_Idle = 2; - TFVoteKickReason_Scamming = 3; + TFVoteKickReason_Invalid = -1; + TFVoteKickReason_Other = 0; + TFVoteKickReason_Cheating = 1; + TFVoteKickReason_Idle = 2; + TFVoteKickReason_Scamming = 3; } enum ServerMatchmakingState { - ServerMatchmakingState_INVALID = 0; - ServerMatchmakingState_NOT_PARTICIPATING = 1; - ServerMatchmakingState_EMPTY = 2; - ServerMatchmakingState_ACTIVE_MATCH_REQUESTING_LATE_JOIN = 3; - ServerMatchmakingState_ACTIVE_MATCH = 4; + ServerMatchmakingState_INVALID = 0; + ServerMatchmakingState_NOT_PARTICIPATING = 1; + ServerMatchmakingState_EMPTY = 2; + ServerMatchmakingState_ACTIVE_MATCH_REQUESTING_LATE_JOIN = 3; + ServerMatchmakingState_ACTIVE_MATCH = 4; } enum SurveyQuestionType { - QUESTION_MATCH_QUALITY = 0; - QUESTION_MAP_QUALITY = 1; - QUESTION_COMP_INQUIRY = 2; - QUESTION_CASUAL_INQUIRY = 3; - QUESTION_RANDOM_CRIT = 4; + QUESTION_MATCH_QUALITY = 0; + QUESTION_MAP_QUALITY = 1; + QUESTION_COMP_INQUIRY = 2; + QUESTION_CASUAL_INQUIRY = 3; + QUESTION_RANDOM_CRIT = 4; } message CMsgTFGoldenWrenchBroadcast { - optional int32 wrench_number = 1; - optional bool deleted = 2; - optional string user_name = 3; + optional int32 wrench_number = 1; + optional bool deleted = 2; + optional string user_name = 3; } message CMsgTFSaxxyBroadcast { - optional int32 category_number = 1; - optional string user_name = 2; + optional int32 category_number = 1; + optional string user_name = 2; } message CMsgGCTFSpecificItemBroadcast { - optional uint32 item_def_index = 1; - optional bool was_destruction = 2; - optional string user_name = 3; + optional uint32 item_def_index = 1; + optional bool was_destruction = 2; + optional string user_name = 3; } message CMsgTFWorldStatus { - optional bool beta_stress_test_event_active = 1 [default = false]; - optional .ETFMatchGroup event_match_group = 2 [default = k_eTFMatchGroup_Invalid]; - optional fixed32 event_expire_time = 3 [default = 0]; - optional uint32 active_client_version = 4; - repeated .ETFMatchGroup disabled_match_groups = 5; + optional bool beta_stress_test_event_active = 1 [default = false]; + optional .ETFMatchGroup event_match_group = 2 [default = k_eTFMatchGroup_Invalid]; + optional fixed32 event_expire_time = 3 [default = 0]; + optional uint32 active_client_version = 4; + repeated .ETFMatchGroup disabled_match_groups = 5; } message CSOTFDuelSummary { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 duel_wins = 2; - optional uint32 duel_losses = 3; - optional uint32 last_duel_account_id = 4; - optional uint32 last_duel_timestamp = 5; - optional uint32 last_duel_status = 6; + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 duel_wins = 2; + optional uint32 duel_losses = 3; + optional uint32 last_duel_account_id = 4; + optional uint32 last_duel_timestamp = 5; + optional uint32 last_duel_status = 6; } message CSOTFMapContribution { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 def_index = 2 [(key_field) = true]; - optional uint32 contribution_level = 3; + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 def_index = 2 [(key_field) = true]; + optional uint32 contribution_level = 3; } message CMsgTFFreeTrialChooseMostHelpfulFriend { - optional uint32 account_id_friend = 1; + optional uint32 account_id_friend = 1; } message CMsgTFRequestTF2Friends { - repeated uint32 account_ids = 1; + repeated uint32 account_ids = 1; } message CMsgTFRequestTF2FriendsResponse { - repeated uint32 account_ids = 1; + repeated uint32 account_ids = 1; } message CSOTFPlayerInfo { - optional uint32 num_new_users_helped = 1; + optional uint32 num_new_users_helped = 1; } message CMsgTFThankedBySomeone { - optional uint64 thanker_steam_id = 1; + optional uint64 thanker_steam_id = 1; } message CMsgTFThankedSomeone { @@ -348,24 +348,24 @@ message CMsgTFFreeTrialConvertedToPremium { } message CMsgSaxxyAwarded { - optional uint32 category = 1; - repeated string winner_names = 2; + optional uint32 category = 1; + repeated string winner_names = 2; } message CMsgReplaySubmitContestEntry { - optional string youtube_url = 1; - optional uint32 category = 2; + optional string youtube_url = 1; + optional uint32 category = 2; } message CMsgReplaySubmitContestEntryResponse { - optional bool success = 1; + optional bool success = 1; } message CReplayCachedContestData { - optional fixed32 timestamp = 1; - optional uint32 num_votes_last_day = 2; - repeated uint32 video_entry_ids = 3; - optional uint32 num_flags_last_day = 4; + optional fixed32 timestamp = 1; + optional uint32 num_votes_last_day = 2; + repeated uint32 video_entry_ids = 3; + optional uint32 num_flags_last_day = 4; } message CMsgTFCoaching_AddToCoaches { @@ -375,501 +375,501 @@ message CMsgTFCoaching_RemoveFromCoaches { } message CMsgTFCoaching_FindCoach { - optional uint32 account_id_friend_as_coach = 1; + optional uint32 account_id_friend_as_coach = 1; } message CMsgTFCoaching_FindCoachResponse { - optional bool found_coach = 1; - optional uint32 num_likes = 2; - optional string coach_name = 3; + optional bool found_coach = 1; + optional uint32 num_likes = 2; + optional string coach_name = 3; } message CMsgTFCoaching_AskCoach { - optional uint32 account_id_student = 1; - optional bool student_is_friend = 2; + optional uint32 account_id_student = 1; + optional bool student_is_friend = 2; } message CMsgTFCoaching_AskCoachResponse { - optional bool accept_coaching_assignment = 1; + optional bool accept_coaching_assignment = 1; } message CMsgTFCoaching_CoachJoinGame { - optional bool join_game = 1; - optional uint32 server_address = 2; - optional uint32 server_port = 3; - optional uint32 account_id_student = 4; + optional bool join_game = 1; + optional uint32 server_address = 2; + optional uint32 server_port = 3; + optional uint32 account_id_student = 4; } message CMsgTFCoaching_CoachJoining { - optional uint32 account_id_coach = 1; - optional uint32 account_id_student = 2; + optional uint32 account_id_coach = 1; + optional uint32 account_id_student = 2; } message CMsgTFCoaching_CoachJoined { - optional uint32 account_id_coach = 1; + optional uint32 account_id_coach = 1; } message CMsgTFCoaching_LikeCurrentCoach { - optional bool like_coach = 1; + optional bool like_coach = 1; } message CMsgTFCoaching_RemoveCurrentCoach { - optional uint32 account_id_coach = 1; + optional uint32 account_id_coach = 1; } message CMsgTFQuickplay_ScoreServers { - message ServerInfo { - optional uint32 server_address = 1; - optional uint32 server_port = 2; - optional uint32 num_users = 3; - optional uint64 steam_id = 4; - optional uint32 max_users = 5; - optional float user_score = 6; - } + message ServerInfo { + optional uint32 server_address = 1; + optional uint32 server_port = 2; + optional uint32 num_users = 3; + optional uint64 steam_id = 4; + optional uint32 max_users = 5; + optional float user_score = 6; + } - repeated .CMsgTFQuickplay_ScoreServers.ServerInfo servers = 1; + repeated .CMsgTFQuickplay_ScoreServers.ServerInfo servers = 1; } message CMsgTFQuickplay_ScoreServersResponse { - message ServerInfo { - optional uint32 server_address = 1; - optional uint32 server_port = 2; - optional float total_score = 3; - optional uint64 steam_id = 4; - optional uint32 options_score = 5; - } + message ServerInfo { + optional uint32 server_address = 1; + optional uint32 server_port = 2; + optional float total_score = 3; + optional uint64 steam_id = 4; + optional uint32 options_score = 5; + } - repeated .CMsgTFQuickplay_ScoreServersResponse.ServerInfo servers = 1; + repeated .CMsgTFQuickplay_ScoreServersResponse.ServerInfo servers = 1; } message CMsgTFQuickplay_PlayerJoining { - optional uint32 account_id = 1; + optional uint32 account_id = 1; } message CMsgGC_GameServer_LevelInfo { - optional bool level_loaded = 1; - optional string level_name = 2; + optional bool level_loaded = 1; + optional string level_name = 2; } message CMsgGC_GameServer_AuthChallenge { - optional string challenge_string = 1; + optional string challenge_string = 1; } message CMsgGC_GameServer_AuthResult { - optional bool authenticated = 1; - optional int32 game_server_standing = 2; - optional int32 game_server_standing_trend = 3; - optional bool is_valve_server = 4; - optional string message = 5; + optional bool authenticated = 1; + optional int32 game_server_standing = 2; + optional int32 game_server_standing_trend = 3; + optional bool is_valve_server = 4; + optional string message = 5; } message CMsgGC_GameServer_AuthChallengeResponse { - optional uint32 game_server_account_id = 1; - optional bytes hashed_challenge_string = 2; + optional uint32 game_server_account_id = 1; + optional bytes hashed_challenge_string = 2; } message CMsgGC_GameServer_CreateIdentity { - optional uint32 account_id = 1; + optional uint32 account_id = 1; } message CMsgGC_GameServer_CreateIdentityResponse { - enum EStatus { - kStatus_GenericFailure = 0; - kStatus_TooMany = -1; - kStatus_NoPrivs = -2; - kStatus_Created = 1; - } + enum EStatus { + kStatus_GenericFailure = 0; + kStatus_TooMany = -1; + kStatus_NoPrivs = -2; + kStatus_Created = 1; + } - optional bool account_created = 1; - optional uint32 game_server_account_id = 2; - optional string game_server_identity_token = 3; - optional .CMsgGC_GameServer_CreateIdentityResponse.EStatus status = 4 [default = kStatus_GenericFailure]; + optional bool account_created = 1; + optional uint32 game_server_account_id = 2; + optional string game_server_identity_token = 3; + optional .CMsgGC_GameServer_CreateIdentityResponse.EStatus status = 4 [default = kStatus_GenericFailure]; } message CMsgGC_GameServer_List { - optional uint32 account_id = 1; + optional uint32 account_id = 1; } message CMsgGC_GameServer_ListResponse { - message GameServerIdentity { - optional uint32 game_server_account_id = 1; - optional string game_server_identity_token = 2; - optional int32 game_server_standing = 3; - optional int32 game_server_standing_trend = 4; - } + message GameServerIdentity { + optional uint32 game_server_account_id = 1; + optional string game_server_identity_token = 2; + optional int32 game_server_standing = 3; + optional int32 game_server_standing_trend = 4; + } - repeated .CMsgGC_GameServer_ListResponse.GameServerIdentity owned_game_servers = 1; + repeated .CMsgGC_GameServer_ListResponse.GameServerIdentity owned_game_servers = 1; } message CMsgGC_GameServer_ResetIdentity { - optional uint32 game_server_account_id = 1; + optional uint32 game_server_account_id = 1; } message CMsgGC_GameServer_ResetIdentityResponse { - optional bool game_server_identity_token_reset = 1; - optional uint32 game_server_account_id = 2; - optional string game_server_identity_token = 3; + optional bool game_server_identity_token_reset = 1; + optional uint32 game_server_account_id = 2; + optional string game_server_identity_token = 3; } message CMsgGC_GameServer_AckPolicy { } message CMsgGC_GameServer_AckPolicyResponse { - optional uint32 result = 1; - optional string message = 2; + optional uint32 result = 1; + optional string message = 2; } message CMsgGC_Client_UseServerModificationItem { - optional uint64 item_id = 1; + optional uint64 item_id = 1; } message CMsgGC_Client_UseServerModificationItem_Response { - enum EServerModificationItemResponse { - kServerModificationItemResponse_AlreadyInUse = 1; - kServerModificationItemResponse_NotOnAuthenticatedServer = 2; - kServerModificationItemResponse_ServerReject = 3; - kServerModificationItemResponse_InternalError = 4; - kServerModificationItemResponse_EventAlreadyActive = 5; - } + enum EServerModificationItemResponse { + kServerModificationItemResponse_AlreadyInUse = 1; + kServerModificationItemResponse_NotOnAuthenticatedServer = 2; + kServerModificationItemResponse_ServerReject = 3; + kServerModificationItemResponse_InternalError = 4; + kServerModificationItemResponse_EventAlreadyActive = 5; + } - optional .CMsgGC_Client_UseServerModificationItem_Response.EServerModificationItemResponse response_code = 1 [default = kServerModificationItemResponse_AlreadyInUse]; + optional .CMsgGC_Client_UseServerModificationItem_Response.EServerModificationItemResponse response_code = 1 [default = kServerModificationItemResponse_AlreadyInUse]; } message CMsgGC_GameServer_UseServerModificationItem { - optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; + optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; } message CMsgGC_GameServer_UseServerModificationItem_Response { - enum EServerModificationItemServerResponse { - kServerModificationItemServerResponse_Accepted = 1; - kServerModificationItemServerResponse_NoVoteCalled = 2; - kServerModificationItemServerResponse_VoteFailed = 3; - } + enum EServerModificationItemServerResponse { + kServerModificationItemServerResponse_Accepted = 1; + kServerModificationItemServerResponse_NoVoteCalled = 2; + kServerModificationItemServerResponse_VoteFailed = 3; + } - optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; - optional .CMsgGC_GameServer_UseServerModificationItem_Response.EServerModificationItemServerResponse server_response_code = 2 [default = kServerModificationItemServerResponse_Accepted]; + optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; + optional .CMsgGC_GameServer_UseServerModificationItem_Response.EServerModificationItemServerResponse server_response_code = 2 [default = kServerModificationItemServerResponse_Accepted]; } message CMsgGC_GameServer_ServerModificationItemExpired { - optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; + optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; } message CMsgGC_GameServer_ServerModificationItem { - optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; - optional bool active = 2; + optional .EServerModificationItemType modification_type = 1 [default = kGameServerModificationItem_Halloween]; + optional bool active = 2; } message CMsgGC_Halloween_ReservedItem { - repeated float x = 1; - repeated float y = 2; - repeated float z = 3; - optional uint32 spawn_meta_info = 7; + repeated float x = 1; + repeated float y = 2; + repeated float z = 3; + optional uint32 spawn_meta_info = 7; } message CMsgGC_Halloween_GrantItem { - optional uint32 recipient_account_id = 1; - optional uint32 level_id = 2; - optional bool flagged = 3; + optional uint32 recipient_account_id = 1; + optional uint32 level_id = 2; + optional bool flagged = 3; } message CMsgGC_Halloween_GrantItemResponse { - optional uint32 recipient_account_id = 1; + optional uint32 recipient_account_id = 1; } message CMsgGC_Halloween_ItemClaimed { } message CMsgGC_PickupItemEligibility_Query { - optional uint32 account_id = 1; - optional uint32 seconds_ago = 2; + optional uint32 account_id = 1; + optional uint32 seconds_ago = 2; } message CMsgGC_PickupItemEligibility_QueryResponse { - optional uint32 account_id = 1; - optional bool was_eligible = 2; - optional uint32 level_id = 3; + optional uint32 account_id = 1; + optional bool was_eligible = 2; + optional uint32 level_id = 3; } message CSOTFPartyMember { - message Activity { - optional fixed64 lobby_id = 1; - optional .ETFMatchGroup lobby_match_group = 2 [default = k_eTFMatchGroup_Invalid]; - optional bool multiqueue_blocked = 3; - optional bool online = 4; - optional uint32 client_version = 5; - } - - optional bool owns_ticket = 2; - optional uint32 completed_missions = 3; - optional uint32 badge_level = 4; - optional bool competitive_access = 9; - optional uint32 experience = 14; - optional .CTFPerPlayerMatchCriteriaProto player_criteria = 16; - optional .CSOTFPartyMember.Activity activity = 17; - optional bool casual_banned = 18; - optional bool ranked_banned = 19; - optional bool casual_low_priority = 20; - optional bool ranked_low_priority = 21; - optional bool lobby_standby = 22; + message Activity { + optional fixed64 lobby_id = 1; + optional .ETFMatchGroup lobby_match_group = 2 [default = k_eTFMatchGroup_Invalid]; + optional bool multiqueue_blocked = 3; + optional bool online = 4; + optional uint32 client_version = 5; + } + + optional bool owns_ticket = 2; + optional uint32 completed_missions = 3; + optional uint32 badge_level = 4; + optional bool competitive_access = 9; + optional uint32 experience = 14; + optional .CTFPerPlayerMatchCriteriaProto player_criteria = 16; + optional .CSOTFPartyMember.Activity activity = 17; + optional bool casual_banned = 18; + optional bool ranked_banned = 19; + optional bool casual_low_priority = 20; + optional bool ranked_low_priority = 21; + optional bool lobby_standby = 22; } message TFPendingPartyMember { - enum EType { - Invited = 0; - RequestedToJoin = 1; - } + enum EType { + Invited = 0; + RequestedToJoin = 1; + } - optional fixed64 steamid = 1; - optional .TFPendingPartyMember.EType type = 2 [default = Invited]; - optional fixed64 inviter = 3; + optional fixed64 steamid = 1; + optional .TFPendingPartyMember.EType type = 2 [default = Invited]; + optional fixed64 inviter = 3; } message TFSyncedMMUIState { - optional .ETFSyncedMMMenuStep menu_step = 1 [default = k_eTFSyncedMMMenuStep_None]; - optional .ETFMatchGroup match_group = 2 [default = k_eTFMatchGroup_Invalid]; + optional .ETFSyncedMMMenuStep menu_step = 1 [default = k_eTFSyncedMMMenuStep_None]; + optional .ETFMatchGroup match_group = 2 [default = k_eTFMatchGroup_Invalid]; } message CTFGroupMatchCriteriaProto { - optional bool late_join_ok = 5; - optional uint32 custom_ping_tolerance = 13 [default = 0]; - optional string mvm_mannup_tour = 10; - repeated string mvm_mannup_missions = 15; - repeated string mvm_bootcamp_missions = 16; - optional .CTFCasualMatchCriteria casual_criteria = 12; + optional bool late_join_ok = 5; + optional uint32 custom_ping_tolerance = 13 [default = 0]; + optional string mvm_mannup_tour = 10; + repeated string mvm_mannup_missions = 15; + repeated string mvm_bootcamp_missions = 16; + optional .CTFCasualMatchCriteria casual_criteria = 12; } message CTFCasualMatchCriteria { - repeated fixed32 selected_maps_bits = 3; + repeated fixed32 selected_maps_bits = 3; } message CTFPerPlayerMatchCriteriaProto { - optional bool mvm_squad_surplus = 1; + optional bool mvm_squad_surplus = 1; } message CTFPartyOptions { - optional bool overwrite_existing = 1; - optional .CTFGroupMatchCriteriaProto group_criteria = 2; - optional .CTFPerPlayerMatchCriteriaProto player_criteria = 3; - optional .TFSyncedMMUIState player_uistate = 5; + optional bool overwrite_existing = 1; + optional .CTFGroupMatchCriteriaProto group_criteria = 2; + optional .CTFPerPlayerMatchCriteriaProto player_criteria = 3; + optional .TFSyncedMMUIState player_uistate = 5; } message CMsgPartySetOptions { - optional fixed64 party_id = 1; - optional .CTFPartyOptions options = 2; + optional fixed64 party_id = 1; + optional .CTFPartyOptions options = 2; } message CMsgPartySetOptionsResponse { } message CMsgPartyQueueForMatch { - optional fixed64 party_id = 1; - optional .CTFPartyOptions final_options = 2; - optional .ETFMatchGroup match_group = 3 [default = k_eTFMatchGroup_Invalid]; + optional fixed64 party_id = 1; + optional .CTFPartyOptions final_options = 2; + optional .ETFMatchGroup match_group = 3 [default = k_eTFMatchGroup_Invalid]; } message CMsgPartyQueueForMatchResponse { } message CMsgPartyQueueForStandby { - optional fixed64 party_id = 1; - optional fixed64 party_lobby_id = 2; + optional fixed64 party_id = 1; + optional fixed64 party_lobby_id = 2; } message CMsgPartyQueueForStandbyResponse { } message CMsgPartyRemoveFromQueue { - optional fixed64 party_id = 1; - optional .ETFMatchGroup match_group = 2 [default = k_eTFMatchGroup_Invalid]; + optional fixed64 party_id = 1; + optional .ETFMatchGroup match_group = 2 [default = k_eTFMatchGroup_Invalid]; } message CMsgPartyRemoveFromQueueResponse { } message CMsgPartyRemoveFromStandbyQueue { - optional fixed64 party_id = 1; + optional fixed64 party_id = 1; } message CMsgPartyRemoveFromStandbyQueueResponse { } message CMsgPartyInvitePlayer { - optional fixed64 party_id = 1; - optional fixed64 player_id = 2; - optional bool expecting_request_to_join = 3; + optional fixed64 party_id = 1; + optional fixed64 player_id = 2; + optional bool expecting_request_to_join = 3; } message CMsgPartyRequestJoinPlayer { - optional fixed64 current_party_id = 1; - optional fixed64 join_player_id = 2; - optional fixed64 join_party_id = 3; - optional bool expecting_invite = 4; + optional fixed64 current_party_id = 1; + optional fixed64 join_player_id = 2; + optional fixed64 join_party_id = 3; + optional bool expecting_invite = 4; } message CMsgPartyClearPendingPlayer { - optional fixed64 party_id = 1; - optional fixed64 pending_player_id = 2; + optional fixed64 party_id = 1; + optional fixed64 pending_player_id = 2; } message CMsgPartyMMError { - enum Type { - QUEUE_KICK_NO_PING = 1; - QUEUE_KICK_AUTH = 2; - } + enum Type { + QUEUE_KICK_NO_PING = 1; + QUEUE_KICK_AUTH = 2; + } - optional .CMsgPartyMMError.Type type = 1 [default = QUEUE_KICK_NO_PING]; + optional .CMsgPartyMMError.Type type = 1 [default = QUEUE_KICK_NO_PING]; } message CMsgPartyClearPendingPlayerResponse { } message CMsgPartyClearOtherPartyRequest { - optional fixed64 other_party_id = 1; + optional fixed64 other_party_id = 1; } message CMsgPartyClearOtherPartyRequestResponse { } message CMsgPartyPromoteToLeader { - optional fixed64 party_id = 1; - optional fixed64 new_leader_id = 2; + optional fixed64 party_id = 1; + optional fixed64 new_leader_id = 2; } message CMsgPartyKickMember { - optional fixed64 party_id = 1; - optional fixed64 target_id = 2; + optional fixed64 party_id = 1; + optional fixed64 target_id = 2; } message CMsgPartySendChat { - optional fixed64 party_id = 1; - optional string msg = 2; + optional fixed64 party_id = 1; + optional string msg = 2; } message CMsgPartyChatMsg { - optional .ETFPartyChatType type = 1 [default = k_eTFPartyChatType_Invalid]; - optional fixed64 actor_id = 2; - optional string msg = 3; + optional .ETFPartyChatType type = 1 [default = k_eTFPartyChatType_Invalid]; + optional fixed64 actor_id = 2; + optional string msg = 3; } message CSOTFParty { - message QueueEntry { - optional .ETFMatchGroup match_group = 1 [default = k_eTFMatchGroup_Invalid]; - optional fixed32 queued_time = 2; - } - - optional uint64 party_id = 1 [(key_field) = true]; - optional fixed64 leader_id = 2; - repeated fixed64 member_ids = 3; - repeated .CSOTFPartyMember members = 13; - optional uint64 associated_lobby_id = 35; - optional .ETFMatchGroup associated_lobby_match_group = 40 [default = k_eTFMatchGroup_Invalid]; - repeated .CSOTFParty.QueueEntry matchmaking_queues = 43; - optional .CTFGroupMatchCriteriaProto group_criteria = 37; - optional uint32 casual_banned_time = 18; - optional uint32 casual_low_priority_time = 20; - optional uint32 ranked_banned_time = 41; - optional uint32 ranked_low_priority_time = 42; - optional .TFSyncedMMUIState leader_ui_state = 44; - repeated .TFPendingPartyMember pending_members = 39; + message QueueEntry { + optional .ETFMatchGroup match_group = 1 [default = k_eTFMatchGroup_Invalid]; + optional fixed32 queued_time = 2; + } + + optional uint64 party_id = 1 [(key_field) = true]; + optional fixed64 leader_id = 2; + repeated fixed64 member_ids = 3; + repeated .CSOTFPartyMember members = 13; + optional uint64 associated_lobby_id = 35; + optional .ETFMatchGroup associated_lobby_match_group = 40 [default = k_eTFMatchGroup_Invalid]; + repeated .CSOTFParty.QueueEntry matchmaking_queues = 43; + optional .CTFGroupMatchCriteriaProto group_criteria = 37; + optional uint32 casual_banned_time = 18; + optional uint32 casual_low_priority_time = 20; + optional uint32 ranked_banned_time = 41; + optional uint32 ranked_low_priority_time = 42; + optional .TFSyncedMMUIState leader_ui_state = 44; + repeated .TFPendingPartyMember pending_members = 39; } message CSOTFPartyInvite { - message PartyMember { - optional fixed64 steamid = 2; - } + message PartyMember { + optional fixed64 steamid = 2; + } - enum Type { - PENDING_INVITE = 1; - PENDING_JOIN_REQUEST = 2; - } + enum Type { + PENDING_INVITE = 1; + PENDING_JOIN_REQUEST = 2; + } - optional uint64 group_id = 1 [(key_field) = true]; - optional fixed64 inviter = 2; - repeated .CSOTFPartyInvite.PartyMember members = 4; - optional .CSOTFPartyInvite.Type type = 5 [default = PENDING_INVITE]; + optional uint64 group_id = 1 [(key_field) = true]; + optional fixed64 inviter = 2; + repeated .CSOTFPartyInvite.PartyMember members = 4; + optional .CSOTFPartyInvite.Type type = 5 [default = PENDING_INVITE]; } message CTFLobbyPlayerProto { - enum ConnectState { - INVALID = 0; - RESERVATION_PENDING = 1; - RESERVED = 2; - CONNECTED = 3; - DISCONNECTED = 5; - } - - enum Type { - INVALID_PLAYER = 0; - MATCH_PLAYER = 1; - STANDBY_PLAYER = 2; - OBSERVING_PLAYER = 3; - } - - optional fixed64 id = 1 [(key_field) = true]; - optional .TF_GC_TEAM team = 3 [default = TF_GC_TEAM_DEFENDERS]; - optional .CTFLobbyPlayerProto.ConnectState connect_state = 13 [default = INVALID]; - optional string name = 6; - optional uint64 original_party_id = 12; - optional bool squad_surplus = 14; - optional uint32 badge_level = 15; - optional uint32 last_connect_time = 17; - optional .CTFLobbyPlayerProto.Type type = 19 [default = INVALID_PLAYER]; - optional double normalized_rating = 20; - optional double normalized_uncertainty = 22; - optional uint32 rank = 21; - optional bool chat_suspension = 23; + enum ConnectState { + INVALID = 0; + RESERVATION_PENDING = 1; + RESERVED = 2; + CONNECTED = 3; + DISCONNECTED = 5; + } + + enum Type { + INVALID_PLAYER = 0; + MATCH_PLAYER = 1; + STANDBY_PLAYER = 2; + OBSERVING_PLAYER = 3; + } + + optional fixed64 id = 1 [(key_field) = true]; + optional .TF_GC_TEAM team = 3 [default = TF_GC_TEAM_DEFENDERS]; + optional .CTFLobbyPlayerProto.ConnectState connect_state = 13 [default = INVALID]; + optional string name = 6; + optional uint64 original_party_id = 12; + optional bool squad_surplus = 14; + optional uint32 badge_level = 15; + optional uint32 last_connect_time = 17; + optional .CTFLobbyPlayerProto.Type type = 19 [default = INVALID_PLAYER]; + optional double normalized_rating = 20; + optional double normalized_uncertainty = 22; + optional uint32 rank = 21; + optional bool chat_suspension = 23; } message CTFLobbyInviteProto { - optional fixed64 lobby_id = 1 [(key_field) = true]; - optional .ETFMatchGroup match_group = 2 [default = k_eTFMatchGroup_Invalid]; + optional fixed64 lobby_id = 1 [(key_field) = true]; + optional .ETFMatchGroup match_group = 2 [default = k_eTFMatchGroup_Invalid]; } message CSOTFGameServerLobby { - enum State { - UNKNOWN = 0; - SERVERSETUP = 1; - RUN = 2; - } - - enum WarMatch { - NOPE = 0; - INVADERS_ARE_PYRO = 1; - INVADERS_ARE_HEAVY = 2; - } - - optional uint64 lobby_id = 1 [(key_field) = true]; - repeated .CTFLobbyPlayerProto members = 2; - optional fixed64 server_id = 6 [default = 0]; - optional .CSOTFGameServerLobby.State state = 4 [default = UNKNOWN]; - optional string connect = 5; - optional .TF_GC_GameState game_state = 22 [default = TF_GC_GAMESTATE_STATE_INIT]; - optional double initial_average_mm_rating = 32; - optional string mannup_tour_name = 42; - optional string map_name = 38; - optional string mission_name = 39; - optional uint32 match_group = 41; - optional uint64 match_id = 30 [default = 0]; - optional uint32 formed_time = 36; - optional uint32 flags = 43; - optional bool late_join_eligible = 44; - optional uint32 fixed_match_size = 45; - optional .CSOTFGameServerLobby.WarMatch is_war_match = 46 [default = NOPE]; - repeated uint32 next_maps_for_vote = 47; - optional uint32 lobby_mm_version = 48; - repeated .CTFLobbyPlayerProto pending_members = 49; + enum State { + UNKNOWN = 0; + SERVERSETUP = 1; + RUN = 2; + } + + enum WarMatch { + NOPE = 0; + INVADERS_ARE_PYRO = 1; + INVADERS_ARE_HEAVY = 2; + } + + optional uint64 lobby_id = 1 [(key_field) = true]; + repeated .CTFLobbyPlayerProto members = 2; + optional fixed64 server_id = 6 [default = 0]; + optional .CSOTFGameServerLobby.State state = 4 [default = UNKNOWN]; + optional string connect = 5; + optional .TF_GC_GameState game_state = 22 [default = TF_GC_GAMESTATE_STATE_INIT]; + optional double initial_average_mm_rating = 32; + optional string mannup_tour_name = 42; + optional string map_name = 38; + optional string mission_name = 39; + optional uint32 match_group = 41; + optional uint64 match_id = 30 [default = 0]; + optional uint32 formed_time = 36; + optional uint32 flags = 43; + optional bool late_join_eligible = 44; + optional uint32 fixed_match_size = 45; + optional .CSOTFGameServerLobby.WarMatch is_war_match = 46 [default = NOPE]; + repeated uint32 next_maps_for_vote = 47; + optional uint32 lobby_mm_version = 48; + repeated .CTFLobbyPlayerProto pending_members = 49; } message CMsgExitMatchmaking { - optional bool explicit_abandon = 1; - optional uint64 party_id = 2; - optional uint64 lobby_id = 3; + optional bool explicit_abandon = 1; + optional uint64 party_id = 2; + optional uint64 lobby_id = 3; } message CMsgAcceptLobbyInvite { - optional uint64 invited_lobby_id = 1; - optional uint64 abandoning_match_id = 2; - repeated uint64 abandoning_invite_lobby_ids = 3; + optional uint64 invited_lobby_id = 1; + optional uint64 abandoning_match_id = 2; + repeated uint64 abandoning_invite_lobby_ids = 3; } message CMsgAcceptLobbyInviteReply { @@ -879,773 +879,773 @@ message CMsgMatchmakingSearchCountRequest { } message CMsgMatchmakingSearchCountResponse { - repeated uint32 searching_players_by_group = 1; + repeated uint32 searching_players_by_group = 1; } message CMsgKickedFromMatchmakingQueue { } message CMsgGameServerMatchmakingStatus { - message Player { - optional fixed64 steam_id = 1; - optional .CMsgGameServerMatchmakingStatus.PlayerConnectState connect_state = 2 [default = INVALID]; - } - - enum PlayerConnectState { - INVALID = 0; - CONNECTED = 1; - RESERVED = 2; - } - - enum Event { - None = 0; - MvMVictory = 1; - MvMDefeat = 2; - AcknowledgePlayers = 3; - } - - optional uint32 server_version = 16 [default = 1225]; - optional .ServerMatchmakingState matchmaking_state = 1 [default = ServerMatchmakingState_INVALID]; - optional string map = 3; - optional string tags = 4; - optional uint32 bot_count = 5; - optional uint32 num_spectators = 6; - optional uint32 max_players = 7; - optional uint32 slots_free = 8; - optional uint32 server_region = 9; - optional float server_loadavg = 10; - optional bool server_trusted = 11; - optional bool server_dedicated = 12; - optional uint32 strict = 17; - optional string fake_ip = 25; - repeated .CMsgGameServerMatchmakingStatus.Player players = 13; - optional .TF_GC_GameState game_state = 14 [default = TF_GC_GAMESTATE_STATE_INIT]; - optional .CMsgGameServerMatchmakingStatus.Event event = 15 [default = None]; - optional uint32 mvm_wave = 18; - optional uint32 mvm_credits_acquired = 19; - optional uint32 mvm_credits_dropped = 20; - optional sint32 match_group = 23 [default = -1]; - optional uint32 lobby_mm_version = 24; + message Player { + optional fixed64 steam_id = 1; + optional .CMsgGameServerMatchmakingStatus.PlayerConnectState connect_state = 2 [default = INVALID]; + } + + enum PlayerConnectState { + INVALID = 0; + CONNECTED = 1; + RESERVED = 2; + } + + enum Event { + None = 0; + MvMVictory = 1; + MvMDefeat = 2; + AcknowledgePlayers = 3; + } + + optional uint32 server_version = 16 [default = 1225]; + optional .ServerMatchmakingState matchmaking_state = 1 [default = ServerMatchmakingState_INVALID]; + optional string map = 3; + optional string tags = 4; + optional uint32 bot_count = 5; + optional uint32 num_spectators = 6; + optional uint32 max_players = 7; + optional uint32 slots_free = 8; + optional uint32 server_region = 9; + optional float server_loadavg = 10; + optional bool server_trusted = 11; + optional bool server_dedicated = 12; + optional uint32 strict = 17; + optional string fake_ip = 25; + repeated .CMsgGameServerMatchmakingStatus.Player players = 13; + optional .TF_GC_GameState game_state = 14 [default = TF_GC_GAMESTATE_STATE_INIT]; + optional .CMsgGameServerMatchmakingStatus.Event event = 15 [default = None]; + optional uint32 mvm_wave = 18; + optional uint32 mvm_credits_acquired = 19; + optional uint32 mvm_credits_dropped = 20; + optional sint32 match_group = 23 [default = -1]; + optional uint32 lobby_mm_version = 24; } message CMsgMatchmakingProgress { - optional uint32 avg_wait_time_new = 4; - optional uint32 avg_wait_time_join_late = 5; - optional uint32 your_wait_time = 6; - optional uint32 matching_worldwide_searching_players = 8; - optional uint32 matching_near_you_searching_players = 9; - optional uint32 total_worldwide_searching_players = 13; - optional uint32 total_near_you_searching_players = 14; - optional uint32 matching_worldwide_active_players = 15; - optional uint32 matching_near_you_active_players = 16; - optional uint32 total_worldwide_active_players = 17; - optional uint32 total_near_you_active_players = 18; - optional uint32 matching_worldwide_empty_gameservers = 19; - optional uint32 matching_near_you_empty_gameservers = 20; - optional uint32 total_worldwide_empty_gameservers = 21; - optional uint32 total_near_you_empty_gameservers = 22; - optional uint32 urgency_pct = 1; + optional uint32 avg_wait_time_new = 4; + optional uint32 avg_wait_time_join_late = 5; + optional uint32 your_wait_time = 6; + optional uint32 matching_worldwide_searching_players = 8; + optional uint32 matching_near_you_searching_players = 9; + optional uint32 total_worldwide_searching_players = 13; + optional uint32 total_near_you_searching_players = 14; + optional uint32 matching_worldwide_active_players = 15; + optional uint32 matching_near_you_active_players = 16; + optional uint32 total_worldwide_active_players = 17; + optional uint32 total_near_you_active_players = 18; + optional uint32 matching_worldwide_empty_gameservers = 19; + optional uint32 matching_near_you_empty_gameservers = 20; + optional uint32 total_worldwide_empty_gameservers = 21; + optional uint32 total_near_you_empty_gameservers = 22; + optional uint32 urgency_pct = 1; } message CMsgMvMVictoryInfo { - message Item { - optional .CMsgMvMVictoryInfo.GrantReason grant_reason = 1 [default = INVALID]; - optional bytes item_data = 2; - optional fixed64 squad_surplus_claimer_steam_id = 3; - } - - message Player { - optional fixed64 steam_id = 1; - optional bool badge_granted = 3; - optional bool badge_progress_updated = 4; - optional bool badge_leveled = 5; - optional uint32 badge_level = 6; - optional uint32 badge_progress_bits = 7; - repeated .CMsgMvMVictoryInfo.Item items = 8; - optional bool voucher_missing = 9; - optional uint32 badge_points = 10; - } - - enum GrantReason { - INVALID = 0; - BADGE_LEVELED = 1; - SQUAD_SURPLUS = 2; - MANN_UP = 3; - HELP_A_NOOB = 4; - } - - repeated .CMsgMvMVictoryInfo.Player players = 1; - optional string tour_name = 2; - optional string mission_name = 3; + message Item { + optional .CMsgMvMVictoryInfo.GrantReason grant_reason = 1 [default = INVALID]; + optional bytes item_data = 2; + optional fixed64 squad_surplus_claimer_steam_id = 3; + } + + message Player { + optional fixed64 steam_id = 1; + optional bool badge_granted = 3; + optional bool badge_progress_updated = 4; + optional bool badge_leveled = 5; + optional uint32 badge_level = 6; + optional uint32 badge_progress_bits = 7; + repeated .CMsgMvMVictoryInfo.Item items = 8; + optional bool voucher_missing = 9; + optional uint32 badge_points = 10; + } + + enum GrantReason { + INVALID = 0; + BADGE_LEVELED = 1; + SQUAD_SURPLUS = 2; + MANN_UP = 3; + HELP_A_NOOB = 4; + } + + repeated .CMsgMvMVictoryInfo.Player players = 1; + optional string tour_name = 2; + optional string mission_name = 3; } message CGCMsgTFHelloResponse { - optional uint32 version_check = 1; - repeated uint64 version_checksum = 2; - optional uint32 version_verbose = 3; + optional uint32 version_check = 1; + repeated uint64 version_checksum = 2; + optional uint32 version_verbose = 3; } message CGCMsgTFSync { - optional bytes version_checksum = 1; - optional uint32 version_check = 2; - optional uint32 version_check_ex = 3; - optional uint32 version_check_ex2 = 4; - optional bytes version_checksum_ex = 5; + optional bytes version_checksum = 1; + optional uint32 version_check = 2; + optional uint32 version_check_ex = 3; + optional uint32 version_check_ex2 = 4; + optional bytes version_checksum_ex = 5; } message CGCMsgTFSyncEx { - optional string version_checksum = 1; - optional bytes version_checksum_ex = 2; - optional uint32 version_check = 3; + optional string version_checksum = 1; + optional bytes version_checksum_ex = 2; + optional uint32 version_check = 3; } message CMsgMvMVictory { - message Player { - optional fixed64 steam_id = 1; - optional bool squad_surplus = 2; - } + message Player { + optional fixed64 steam_id = 1; + optional bool squad_surplus = 2; + } - optional uint32 legacy_mission_index = 1; - optional string tour_name_mannup = 5; - optional string mission_name = 6; - repeated .CMsgMvMVictory.Player players = 2; - optional uint64 lobby_id = 3; - optional fixed32 event_time = 4; + optional uint32 legacy_mission_index = 1; + optional string tour_name_mannup = 5; + optional string mission_name = 6; + repeated .CMsgMvMVictory.Player players = 2; + optional uint64 lobby_id = 3; + optional fixed32 event_time = 4; } message CMsgMvMMannUpVictoryReply { } message CMsgGameServerKickingLobby { - optional uint64 lobby_id = 3; - optional uint64 match_id = 4; + optional uint64 lobby_id = 3; + optional uint64 match_id = 4; } message CMsgGameServerKickingLobbyResponse { } message CMsgLeaveGameAndPrepareToJoinParty { - optional fixed64 party_id = 1; + optional fixed64 party_id = 1; } message CMsgPlayerLeftMatch { - optional fixed64 steam_id = 1; - optional .TFMatchLeaveReason leave_reason = 2 [default = TFMatchLeaveReason_UNSPECIFIED]; - optional bool was_abandon = 3; - optional uint64 lobby_id = 4; - optional uint64 match_id = 5; - repeated .CMsgTFXPSource xp_breakdown = 6; + optional fixed64 steam_id = 1; + optional .TFMatchLeaveReason leave_reason = 2 [default = TFMatchLeaveReason_UNSPECIFIED]; + optional bool was_abandon = 3; + optional uint64 lobby_id = 4; + optional uint64 match_id = 5; + repeated .CMsgTFXPSource xp_breakdown = 6; } message CMsgPlayerLeftMatchResponse { } message CMsgProcessMatchVoteKick { - message Vote { - optional fixed64 steam_id = 1; - optional bool vote_yay = 2; - } + message Vote { + optional fixed64 steam_id = 1; + optional bool vote_yay = 2; + } - optional fixed64 match_id = 1; - optional fixed64 initiator_steam_id = 2; - optional fixed64 target_steam_id = 3; - optional .TFVoteKickReason reason = 4 [default = TFVoteKickReason_Invalid]; - repeated .CMsgProcessMatchVoteKick.Vote votes = 5; - optional bool default_pass = 6; + optional fixed64 match_id = 1; + optional fixed64 initiator_steam_id = 2; + optional fixed64 target_steam_id = 3; + optional .TFVoteKickReason reason = 4 [default = TFVoteKickReason_Invalid]; + repeated .CMsgProcessMatchVoteKick.Vote votes = 5; + optional bool default_pass = 6; } message CMsgProcessMatchVoteKickResponse { - optional bool rip = 1; + optional bool rip = 1; } message CMsgHalloween_ServerBossEvent { - optional uint32 event_counter = 1; - optional uint32 timestamp = 2; - optional uint32 boss_type = 3; - optional uint32 boss_level = 4; - optional uint32 event_type = 5; - optional uint32 players_involved = 6; - optional float elapsed_time = 7; + optional uint32 event_counter = 1; + optional uint32 timestamp = 2; + optional uint32 boss_type = 3; + optional uint32 boss_level = 4; + optional uint32 event_type = 5; + optional uint32 players_involved = 6; + optional float elapsed_time = 7; } message CMsgHalloween_Merasmus2012 { - optional uint32 event_counter = 1; - optional fixed32 time_submitted = 2; - optional bool is_valve_server = 3; - optional uint32 boss_level = 4; - optional uint32 spawned_health = 5; - optional uint32 remaining_health = 6; - optional uint32 life_time = 7; - optional uint32 bomb_kills = 8; - optional uint32 staff_kills = 9; - optional uint32 pvp_kills = 10; - optional uint32 prophunt_time1 = 11; - optional uint32 prophunt_time2 = 12; - optional uint32 dmg_scout = 13; - optional uint32 dmg_sniper = 14; - optional uint32 dmg_soldier = 15; - optional uint32 dmg_demo = 16; - optional uint32 dmg_medic = 17; - optional uint32 dmg_heavy = 18; - optional uint32 dmg_pyro = 19; - optional uint32 dmg_spy = 20; - optional uint32 dmg_engineer = 21; - optional uint32 scout_count = 22; - optional uint32 sniper_count = 23; - optional uint32 solider_count = 24; - optional uint32 demo_count = 25; - optional uint32 medic_count = 26; - optional uint32 heavy_count = 27; - optional uint32 pyro_count = 28; - optional uint32 spy_count = 29; - optional uint32 engineer_count = 30; + optional uint32 event_counter = 1; + optional fixed32 time_submitted = 2; + optional bool is_valve_server = 3; + optional uint32 boss_level = 4; + optional uint32 spawned_health = 5; + optional uint32 remaining_health = 6; + optional uint32 life_time = 7; + optional uint32 bomb_kills = 8; + optional uint32 staff_kills = 9; + optional uint32 pvp_kills = 10; + optional uint32 prophunt_time1 = 11; + optional uint32 prophunt_time2 = 12; + optional uint32 dmg_scout = 13; + optional uint32 dmg_sniper = 14; + optional uint32 dmg_soldier = 15; + optional uint32 dmg_demo = 16; + optional uint32 dmg_medic = 17; + optional uint32 dmg_heavy = 18; + optional uint32 dmg_pyro = 19; + optional uint32 dmg_spy = 20; + optional uint32 dmg_engineer = 21; + optional uint32 scout_count = 22; + optional uint32 sniper_count = 23; + optional uint32 solider_count = 24; + optional uint32 demo_count = 25; + optional uint32 medic_count = 26; + optional uint32 heavy_count = 27; + optional uint32 pyro_count = 28; + optional uint32 spy_count = 29; + optional uint32 engineer_count = 30; } message CMsgUpdateHalloweenMerasmusLootLevel { - message Player { - optional fixed64 steam_id = 1; - } + message Player { + optional fixed64 steam_id = 1; + } - repeated .CMsgUpdateHalloweenMerasmusLootLevel.Player players = 1; - optional uint32 merasmus_level = 2; + repeated .CMsgUpdateHalloweenMerasmusLootLevel.Player players = 1; + optional uint32 merasmus_level = 2; } message CAttribute_String { - optional string value = 1; + optional string value = 1; } message CAttribute_DynamicRecipeComponent { - optional uint32 def_index = 1; - optional uint32 item_quality = 2; - optional uint32 component_flags = 3; - optional string attributes_string = 4; - optional uint32 num_required = 5; - optional uint32 num_fulfilled = 6; + optional uint32 def_index = 1; + optional uint32 item_quality = 2; + optional uint32 component_flags = 3; + optional string attributes_string = 4; + optional uint32 num_required = 5; + optional uint32 num_fulfilled = 6; } message CAttribute_DynamicRecipeComponent_COMPAT_NEVER_SERIALIZE_THIS_OUT { - optional uint32 def_index = 1; - optional uint32 item_def = 2; - optional uint32 item_quality = 3; - optional uint32 component_flags = 4; - optional uint32 item_flags = 5; - optional string attributes_string = 6; - optional uint32 num_required = 7; - optional uint32 item_count = 8; - optional uint32 num_fulfilled = 9; - optional uint32 items_fulfilled = 10; + optional uint32 def_index = 1; + optional uint32 item_def = 2; + optional uint32 item_quality = 3; + optional uint32 component_flags = 4; + optional uint32 item_flags = 5; + optional string attributes_string = 6; + optional uint32 num_required = 7; + optional uint32 item_count = 8; + optional uint32 num_fulfilled = 9; + optional uint32 items_fulfilled = 10; } message CAttribute_ItemSlotCriteria { - optional string tags = 1; + optional string tags = 1; } message CMsgSetItemSlotAttribute { - optional uint64 item_id = 1; - optional uint64 slot_item_original_id = 2; - optional uint32 slot_index = 3; + optional uint64 item_id = 1; + optional uint64 slot_item_original_id = 2; + optional uint32 slot_index = 3; } message CSOWarData { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 war_id = 2 [(key_field) = true]; - optional uint32 affiliation = 3; - optional uint32 points_scored = 4; + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 war_id = 2 [(key_field) = true]; + optional uint32 affiliation = 3; + optional uint32 points_scored = 4; } message CGCMsgGC_War_IndividualUpdate { - optional fixed64 steam_id = 1; - optional uint32 war_id = 2; - optional uint32 score = 3; + optional fixed64 steam_id = 1; + optional uint32 war_id = 2; + optional uint32 score = 3; } message CGCMsgGC_War_JoinWar { - optional uint32 affiliation = 1; - optional uint32 war_id = 2; + optional uint32 affiliation = 1; + optional uint32 war_id = 2; } message CGCMsgGC_War_RequestGlobalStats { - optional uint32 war_id = 1; + optional uint32 war_id = 1; } message CGCMsgGC_War_GlobalStatsResponse { - message SideScore { - optional uint32 side = 1; - optional uint64 score = 2; - } + message SideScore { + optional uint32 side = 1; + optional uint64 score = 2; + } - repeated .CGCMsgGC_War_GlobalStatsResponse.SideScore side_scores = 1; - optional uint32 war_id = 2; + repeated .CGCMsgGC_War_GlobalStatsResponse.SideScore side_scores = 1; + optional uint32 war_id = 2; } message CGCMsgGC_PlayerDuckLeaderboard_IndividualUpdate { - optional uint32 score = 2; - optional uint32 type = 3; - optional bytes score_id = 4; - optional uint32 score_check = 5; + optional uint32 score = 2; + optional uint32 type = 3; + optional bytes score_id = 4; + optional uint32 score_check = 5; } message CAttribute_WorldItemPlacement { - optional uint64 original_item_id = 1; - optional float pos_x = 2; - optional float pos_y = 3; - optional float pos_z = 4; - optional float ang_x = 5; - optional float ang_y = 6; - optional float ang_z = 7; + optional uint64 original_item_id = 1; + optional float pos_x = 2; + optional float pos_y = 3; + optional float pos_z = 4; + optional float ang_x = 5; + optional float ang_y = 6; + optional float ang_z = 7; } message CGCMsg_WorldItemPlacement_Update { - optional uint64 original_item_id = 1; - optional float pos_x = 2; - optional float pos_y = 3; - optional float pos_z = 4; - optional float ang_x = 5; - optional float ang_y = 6; - optional float ang_z = 7; - optional bool force_remove_all = 8; - optional string attrib_name = 9; + optional uint64 original_item_id = 1; + optional float pos_x = 2; + optional float pos_y = 3; + optional float pos_z = 4; + optional float ang_x = 5; + optional float ang_y = 6; + optional float ang_z = 7; + optional bool force_remove_all = 8; + optional string attrib_name = 9; } message CMsgAcknowledgeXP { - optional int32 match_group = 1; - optional uint32 predicted_experience = 2; + optional int32 match_group = 1; + optional uint32 predicted_experience = 2; } message CMsgTFXPSource { - enum XPSourceType { - SOURCE_SCORE = 0; - SOURCE_OBJECTIVE_BONUS = 1; - SOURCE_COMPLETED_MATCH = 2; - SOURCE_COMPETITIVE_ABANDON = 3; - SOURCE_COMPETITIVE_WIN = 4; - SOURCE_COMPETITIVE_LOSS = 5; - SOURCE_AUTOBALANCE_BONUS = 6; - SOURCE_PRESTIGE_BONUS = 7; - } - - optional .CMsgTFXPSource.XPSourceType type = 1 [default = SOURCE_SCORE, (key_field) = true]; - optional int32 amount = 2; - optional int32 match_group = 3; - optional uint32 account_id = 4 [(key_field) = true]; - optional uint64 match_id = 5 [(key_field) = true]; + enum XPSourceType { + SOURCE_SCORE = 0; + SOURCE_OBJECTIVE_BONUS = 1; + SOURCE_COMPLETED_MATCH = 2; + SOURCE_COMPETITIVE_ABANDON = 3; + SOURCE_COMPETITIVE_WIN = 4; + SOURCE_COMPETITIVE_LOSS = 5; + SOURCE_AUTOBALANCE_BONUS = 6; + SOURCE_PRESTIGE_BONUS = 7; + } + + optional .CMsgTFXPSource.XPSourceType type = 1 [default = SOURCE_SCORE, (key_field) = true]; + optional int32 amount = 2; + optional int32 match_group = 3; + optional uint32 account_id = 4 [(key_field) = true]; + optional uint64 match_id = 5 [(key_field) = true]; } message CMsgTFXPSourceBreakdown { - repeated .CMsgTFXPSource sources = 1; + repeated .CMsgTFXPSource sources = 1; } message CMsgTFClientInit { - optional uint32 client_version = 1; - optional int32 language = 2; + optional uint32 client_version = 1; + optional int32 language = 2; } message CMsgGCNotification { - enum NotificationType { - NOTIFICATION_REPORTED_PLAYER_BANNED = 0; - NOTIFICATION_CUSTOM_STRING = 1; - NOTIFICATION_MM_BAN_DUE_TO_EXCESSIVE_REPORTS = 2; - NOTIFICATION_REPORTED_PLAYER_WAS_BANNED = 3; - NOTIFICATION_SUPPORT_MESSAGE = 4; - NOTIFICATION_NUM_TYPES = 5; - } - - optional uint64 notification_id = 1 [(key_field) = true]; - optional uint32 account_id = 2; - optional fixed32 expiration_time = 3; - optional .CMsgGCNotification.NotificationType type = 4 [default = NOTIFICATION_CUSTOM_STRING]; - optional string notification_string = 5; + enum NotificationType { + NOTIFICATION_REPORTED_PLAYER_BANNED = 0; + NOTIFICATION_CUSTOM_STRING = 1; + NOTIFICATION_MM_BAN_DUE_TO_EXCESSIVE_REPORTS = 2; + NOTIFICATION_REPORTED_PLAYER_WAS_BANNED = 3; + NOTIFICATION_SUPPORT_MESSAGE = 4; + NOTIFICATION_NUM_TYPES = 5; + } + + optional uint64 notification_id = 1 [(key_field) = true]; + optional uint32 account_id = 2; + optional fixed32 expiration_time = 3; + optional .CMsgGCNotification.NotificationType type = 4 [default = NOTIFICATION_CUSTOM_STRING]; + optional string notification_string = 5; } message CMsgGCNotificationQueue { - repeated .CMsgGCNotification notifications = 1; + repeated .CMsgGCNotification notifications = 1; } message CMsgNotificationAcknowledge { - optional uint32 account_id = 1; - optional uint64 notification_id = 2; + optional uint32 account_id = 1; + optional uint64 notification_id = 2; } message CMsgNotificationAcknowledgeReply { } message CMsgGC_Match_Result { - message Player { - optional fixed64 steam_id = 1; - optional uint64 original_party_id = 2; - optional uint32 team = 3; - optional uint32 score = 4; - optional uint32 ping = 5; - optional uint32 flags = 6; - optional uint32 rank = 9; - optional uint32 classes_played = 10; - optional uint32 kills = 11; - optional uint32 deaths = 12; - optional uint32 damage = 13; - optional uint32 healing = 14; - optional uint32 support = 15; - optional uint32 score_medal = 16; - optional uint32 kills_medal = 17; - optional uint32 damage_medal = 18; - optional uint32 healing_medal = 19; - optional uint32 support_medal = 20; - repeated .CMsgTFXPSource xp_breakdown = 21; - optional uint32 leave_time = 22; - optional .TFMatchLeaveReason leave_reason = 23 [default = TFMatchLeaveReason_UNSPECIFIED]; - optional uint32 connect_time = 24; - } - - enum Status { - MATCH_SUCCEEDED = 0; - MATCH_FAILED_GC = 1; - MATCH_FAILED_TRUSTED = 2; - MATCH_FAILED_ABANDON = 3; - MATCH_FAILED_UNKNOWN = 5; - MATCH_FAILED_TIMEOUT = 6; - MATCH_FINISHED_ABANDON = 7; - } - - optional uint64 match_id = 1 [(key_field) = true]; - optional int32 match_group = 2; - optional .CMsgGC_Match_Result.Status status = 3 [default = MATCH_SUCCEEDED]; - optional uint32 duration = 4; - optional uint32 red_score = 5; - optional uint32 blue_score = 6; - optional uint32 winning_team = 7; - optional uint32 map_index = 8; - optional uint32 game_type = 9 [default = 0]; - repeated .CMsgGC_Match_Result.Player players = 10; - optional uint32 win_reason = 13; - optional uint32 flags = 14; - optional uint32 bots = 16; + message Player { + optional fixed64 steam_id = 1; + optional uint64 original_party_id = 2; + optional uint32 team = 3; + optional uint32 score = 4; + optional uint32 ping = 5; + optional uint32 flags = 6; + optional uint32 rank = 9; + optional uint32 classes_played = 10; + optional uint32 kills = 11; + optional uint32 deaths = 12; + optional uint32 damage = 13; + optional uint32 healing = 14; + optional uint32 support = 15; + optional uint32 score_medal = 16; + optional uint32 kills_medal = 17; + optional uint32 damage_medal = 18; + optional uint32 healing_medal = 19; + optional uint32 support_medal = 20; + repeated .CMsgTFXPSource xp_breakdown = 21; + optional uint32 leave_time = 22; + optional .TFMatchLeaveReason leave_reason = 23 [default = TFMatchLeaveReason_UNSPECIFIED]; + optional uint32 connect_time = 24; + } + + enum Status { + MATCH_SUCCEEDED = 0; + MATCH_FAILED_GC = 1; + MATCH_FAILED_TRUSTED = 2; + MATCH_FAILED_ABANDON = 3; + MATCH_FAILED_UNKNOWN = 5; + MATCH_FAILED_TIMEOUT = 6; + MATCH_FINISHED_ABANDON = 7; + } + + optional uint64 match_id = 1 [(key_field) = true]; + optional int32 match_group = 2; + optional .CMsgGC_Match_Result.Status status = 3 [default = MATCH_SUCCEEDED]; + optional uint32 duration = 4; + optional uint32 red_score = 5; + optional uint32 blue_score = 6; + optional uint32 winning_team = 7; + optional uint32 map_index = 8; + optional uint32 game_type = 9 [default = 0]; + repeated .CMsgGC_Match_Result.Player players = 10; + optional uint32 win_reason = 13; + optional uint32 flags = 14; + optional uint32 bots = 16; } message CMsgGC_Match_ResultResponse { } message CEconItemPreviewDataBlock { - optional .CSOEconItem econitem = 1; + optional .CSOEconItem econitem = 1; } message CMsgGC_Client2GCEconPreviewDataBlockRequest { - optional uint64 param_s = 1; - optional uint64 param_a = 2; - optional uint64 param_d = 3; - optional uint64 param_m = 4; + optional uint64 param_s = 1; + optional uint64 param_a = 2; + optional uint64 param_d = 3; + optional uint64 param_m = 4; } message CMsgGC_Client2GCEconPreviewDataBlockResponse { - optional .CEconItemPreviewDataBlock iteminfo = 1; + optional .CEconItemPreviewDataBlock iteminfo = 1; } message CSOTFLadderPlayerStats { - optional uint32 account_id = 1 [(key_field) = true]; - optional int32 match_group = 2 [(key_field) = true]; - optional uint32 season_id = 3 [(key_field) = true]; - optional uint32 games = 9; - optional uint32 score = 10; - optional uint32 kills = 11; - optional uint32 deaths = 12; - optional uint32 damage = 13; - optional uint32 healing = 14; - optional uint32 support = 15; - optional uint32 score_bronze = 16; - optional uint32 score_silver = 17; - optional uint32 score_gold = 18; - optional uint32 kills_bronze = 19; - optional uint32 kills_silver = 20; - optional uint32 kills_gold = 21; - optional uint32 damage_bronze = 22; - optional uint32 damage_silver = 23; - optional uint32 damage_gold = 24; - optional uint32 healing_bronze = 25; - optional uint32 healing_silver = 26; - optional uint32 healing_gold = 27; - optional uint32 support_bronze = 28; - optional uint32 support_silver = 29; - optional uint32 support_gold = 30; + optional uint32 account_id = 1 [(key_field) = true]; + optional int32 match_group = 2 [(key_field) = true]; + optional uint32 season_id = 3 [(key_field) = true]; + optional uint32 games = 9; + optional uint32 score = 10; + optional uint32 kills = 11; + optional uint32 deaths = 12; + optional uint32 damage = 13; + optional uint32 healing = 14; + optional uint32 support = 15; + optional uint32 score_bronze = 16; + optional uint32 score_silver = 17; + optional uint32 score_gold = 18; + optional uint32 kills_bronze = 19; + optional uint32 kills_silver = 20; + optional uint32 kills_gold = 21; + optional uint32 damage_bronze = 22; + optional uint32 damage_silver = 23; + optional uint32 damage_gold = 24; + optional uint32 healing_bronze = 25; + optional uint32 healing_silver = 26; + optional uint32 healing_gold = 27; + optional uint32 support_bronze = 28; + optional uint32 support_silver = 29; + optional uint32 support_gold = 30; } message CSOTFRatingData { - optional uint32 account_id = 1 [(key_field) = true]; - optional int32 rating_type = 2 [(key_field) = true]; - optional uint32 rating_primary = 3; - optional uint32 rating_secondary = 4; - optional uint32 rating_tertiary = 5; + optional uint32 account_id = 1 [(key_field) = true]; + optional int32 rating_type = 2 [(key_field) = true]; + optional uint32 rating_primary = 3; + optional uint32 rating_secondary = 4; + optional uint32 rating_tertiary = 5; } message CMsgGC_TFVoteKickPlayerRequest { - optional uint64 target_id = 2; - optional uint64 voter_id = 3; - optional .TFVoteKickReason reason = 4 [default = TFVoteKickReason_Invalid]; - optional uint64 match_id = 5; + optional uint64 target_id = 2; + optional uint64 voter_id = 3; + optional .TFVoteKickReason reason = 4 [default = TFVoteKickReason_Invalid]; + optional uint64 match_id = 5; } message CMsgGC_VoteKickPlayerRequestResponse { - optional bool allowed = 1; - optional bool voter_inhibit = 3; - optional bool target_inhibit = 4; + optional bool allowed = 1; + optional bool voter_inhibit = 3; + optional bool target_inhibit = 4; } message CMsgGC_DailyCompetitiveStatsRollup { } message CMsgGC_DailyCompetitiveStatsRollup_Response { - message RankBucketEntry { - optional uint32 rank = 1; - optional uint32 records = 2; - optional uint32 avg_score = 3; - optional uint32 stdev_score = 4; - optional uint32 avg_kills = 5; - optional uint32 stdev_kills = 6; - optional uint32 avg_damage = 7; - optional uint32 stdev_damage = 8; - optional uint32 avg_healing = 9; - optional uint32 stdev_healing = 10; - optional uint32 avg_support = 11; - optional uint32 stdev_support = 12; - } - - repeated .CMsgGC_DailyCompetitiveStatsRollup_Response.RankBucketEntry rankdata = 1; + message RankBucketEntry { + optional uint32 rank = 1; + optional uint32 records = 2; + optional uint32 avg_score = 3; + optional uint32 stdev_score = 4; + optional uint32 avg_kills = 5; + optional uint32 stdev_kills = 6; + optional uint32 avg_damage = 7; + optional uint32 stdev_damage = 8; + optional uint32 avg_healing = 9; + optional uint32 stdev_healing = 10; + optional uint32 avg_support = 11; + optional uint32 stdev_support = 12; + } + + repeated .CMsgGC_DailyCompetitiveStatsRollup_Response.RankBucketEntry rankdata = 1; } message CMsgGC_ReportPlayer { - enum EReason { - kReason_INVALID = 0; - kReason_CHEATING = 1; - kReason_IDLE = 2; - kReason_HARASSMENT = 3; - kReason_GRIEFING = 4; - kReason_COUNT = 5; - } + enum EReason { + kReason_INVALID = 0; + kReason_CHEATING = 1; + kReason_IDLE = 2; + kReason_HARASSMENT = 3; + kReason_GRIEFING = 4; + kReason_COUNT = 5; + } - optional uint32 account_id_target = 1; - optional .CMsgGC_ReportPlayer.EReason reason = 2 [default = kReason_INVALID]; + optional uint32 account_id_target = 1; + optional .CMsgGC_ReportPlayer.EReason reason = 2 [default = kReason_INVALID]; } message CSOTFMatchResultPlayerStats { - optional uint64 match_id = 1 [(key_field) = true]; - optional uint32 account_id = 2 [(key_field) = true]; - optional int32 match_group = 3 [(key_field) = true]; - optional uint32 endtime = 4; - optional uint32 season_id = 5; - optional uint32 status = 6; - optional uint32 original_party_id = 7; - optional uint32 team = 8; - optional uint32 score = 9; - optional uint32 ping = 10; - optional uint32 flags = 11; - optional uint32 display_rating = 12; - optional int32 display_rating_change = 13; - optional uint32 rank = 14; - optional uint32 classes_played = 15; - optional uint32 kills = 16; - optional uint32 deaths = 17; - optional uint32 damage = 18; - optional uint32 healing = 19; - optional uint32 support = 20; - optional uint32 score_medal = 21; - optional uint32 kills_medal = 22; - optional uint32 damage_medal = 23; - optional uint32 healing_medal = 24; - optional uint32 support_medal = 25; - optional uint32 map_index = 26; - optional uint32 winning_team = 27; + optional uint64 match_id = 1 [(key_field) = true]; + optional uint32 account_id = 2 [(key_field) = true]; + optional int32 match_group = 3 [(key_field) = true]; + optional uint32 endtime = 4; + optional uint32 season_id = 5; + optional uint32 status = 6; + optional uint32 original_party_id = 7; + optional uint32 team = 8; + optional uint32 score = 9; + optional uint32 ping = 10; + optional uint32 flags = 11; + optional uint32 display_rating = 12; + optional int32 display_rating_change = 13; + optional uint32 rank = 14; + optional uint32 classes_played = 15; + optional uint32 kills = 16; + optional uint32 deaths = 17; + optional uint32 damage = 18; + optional uint32 healing = 19; + optional uint32 support = 20; + optional uint32 score_medal = 21; + optional uint32 kills_medal = 22; + optional uint32 damage_medal = 23; + optional uint32 healing_medal = 24; + optional uint32 support_medal = 25; + optional uint32 map_index = 26; + optional uint32 winning_team = 27; } message CMsgGCRequestMatchMakerStats { } message CMsgGCDataCenterPopulation { - optional string name = 1; - optional float health_ratio = 2; + optional string name = 1; + optional float health_ratio = 2; } message CMsgGCMatchGroupDataCenterPopulation { - repeated .CMsgGCDataCenterPopulation data_center_population = 1; + repeated .CMsgGCDataCenterPopulation data_center_population = 1; } message CMsgGCMatchMakerStatsResponse { - repeated uint32 map_count = 1; - repeated .CMsgGCMatchGroupDataCenterPopulation matchgroup_data_center_population = 2; + repeated uint32 map_count = 1; + repeated .CMsgGCMatchGroupDataCenterPopulation matchgroup_data_center_population = 2; } message CMsgGCMatchHistoryLoad { - optional .ETFMatchGroup match_group = 1 [default = k_eTFMatchGroup_Invalid]; + optional .ETFMatchGroup match_group = 1 [default = k_eTFMatchGroup_Invalid]; } message CMsgGCDataCenterPing_Update { - message PingEntry { - optional string name = 1; - optional uint32 ping = 2; - optional .CMsgGCDataCenterPing_Update.Status ping_status = 3 [default = Normal]; - } + message PingEntry { + optional string name = 1; + optional uint32 ping = 2; + optional .CMsgGCDataCenterPing_Update.Status ping_status = 3 [default = Normal]; + } - enum Status { - Invalid = 0; - Normal = 1; - Unreachable = 2; - FallbackToDCPing = 3; - } + enum Status { + Invalid = 0; + Normal = 1; + Unreachable = 2; + FallbackToDCPing = 3; + } - repeated .CMsgGCDataCenterPing_Update.PingEntry pingdata = 1; + repeated .CMsgGCDataCenterPing_Update.PingEntry pingdata = 1; } message CMsgGC_KickPlayerFromLobby { - optional uint64 targetID = 1; + optional uint64 targetID = 1; } message CMsgGCSurveyRequest { - optional .SurveyQuestionType question_type = 1 [default = QUESTION_MATCH_QUALITY]; - optional uint64 match_id = 2; + optional .SurveyQuestionType question_type = 1 [default = QUESTION_MATCH_QUALITY]; + optional uint64 match_id = 2; } message CMsgGCSurveyResponse { - optional .SurveyQuestionType question_type = 1 [default = QUESTION_MATCH_QUALITY]; - optional uint64 match_id = 2; - optional int32 response = 3; + optional .SurveyQuestionType question_type = 1 [default = QUESTION_MATCH_QUALITY]; + optional uint64 match_id = 2; + optional int32 response = 3; } message CSOQuestMapNode { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 defindex = 3 [(key_field) = true]; - optional uint32 node_id = 4; - optional bool star_0_earned = 6 [default = false]; - optional bool star_1_earned = 7 [default = false]; - optional bool star_2_earned = 8 [default = false]; - optional bool loot_claimed = 9 [default = false]; - optional uint32 selected_quest_def = 10 [default = 0]; - optional uint32 map_cycle = 11; + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 defindex = 3 [(key_field) = true]; + optional uint32 node_id = 4; + optional bool star_0_earned = 6 [default = false]; + optional bool star_1_earned = 7 [default = false]; + optional bool star_2_earned = 8 [default = false]; + optional bool loot_claimed = 9 [default = false]; + optional uint32 selected_quest_def = 10 [default = 0]; + optional uint32 map_cycle = 11; } message CSOQuest { - optional uint32 account_id = 1; - optional uint64 quest_id = 2 [(key_field) = true]; - optional uint32 defindex = 3; - optional bool active = 4 [default = false]; - optional uint32 points_0 = 5; - optional uint32 points_1 = 6; - optional uint32 points_2 = 7; - optional uint32 quest_map_node_source_id = 8; - optional uint32 map_cycle = 9; + optional uint32 account_id = 1; + optional uint64 quest_id = 2 [(key_field) = true]; + optional uint32 defindex = 3; + optional bool active = 4 [default = false]; + optional uint32 points_0 = 5; + optional uint32 points_1 = 6; + optional uint32 points_2 = 7; + optional uint32 quest_map_node_source_id = 8; + optional uint32 map_cycle = 9; } message CSOQuestMapRewardPurchase { - optional uint32 account_id = 1; - optional uint32 defindex = 2 [(key_field) = true]; - optional uint32 count = 3; - optional uint32 map_cycle = 4; - optional uint32 purchase_id = 5; + optional uint32 account_id = 1; + optional uint32 defindex = 2 [(key_field) = true]; + optional uint32 count = 3; + optional uint32 map_cycle = 4; + optional uint32 purchase_id = 5; } message CMsgGCQuestIdentify { - optional uint64 quest_id = 1; + optional uint64 quest_id = 1; } message CMsgGCQuestDevGive { - optional uint32 quest_def_index = 1; + optional uint32 quest_def_index = 1; } message CMsgGCQuestNodeTurnIn { - optional uint32 node_defindex = 1; + optional uint32 node_defindex = 1; } message CMsgGCQuestMapUnlockNode { - optional uint32 node_defindex = 1; - optional uint32 quest_defindex = 2; + optional uint32 node_defindex = 1; + optional uint32 quest_defindex = 2; } message CMsgGCNewMatchForLobbyRequest { - optional uint64 current_match_id = 1; - optional uint32 next_map_id = 2; - optional uint64 lobby_id = 3; + optional uint64 current_match_id = 1; + optional uint32 next_map_id = 2; + optional uint64 lobby_id = 3; } message CMsgGCNewMatchForLobbyResponse { - optional bool success = 1; + optional bool success = 1; } message CMsgGCChangeMatchPlayerTeamsRequest { - message Member { - optional uint64 member_id = 1; - optional .TF_GC_TEAM new_team = 2 [default = TF_GC_TEAM_NOTEAM]; - } + message Member { + optional uint64 member_id = 1; + optional .TF_GC_TEAM new_team = 2 [default = TF_GC_TEAM_NOTEAM]; + } - optional uint64 match_id = 1; - optional uint64 lobby_id = 2; - repeated .CMsgGCChangeMatchPlayerTeamsRequest.Member member = 3; + optional uint64 match_id = 1; + optional uint64 lobby_id = 2; + repeated .CMsgGCChangeMatchPlayerTeamsRequest.Member member = 3; } message CMsgGCChangeMatchPlayerTeamsResponse { - optional bool success = 1; + optional bool success = 1; } message CMsgGCQuestComplete_Debug { - optional uint64 quest_id = 1; - optional uint32 points_type = 2; + optional uint64 quest_id = 1; + optional uint32 points_type = 2; } message CMsgGCQuestMap_Debug { - optional uint32 reset_operation = 1; - optional uint32 give_credit = 2; - optional .CMsgGCQuestMapUnlockNode unlock_node = 3; + optional uint32 reset_operation = 1; + optional uint32 give_credit = 2; + optional .CMsgGCQuestMapUnlockNode unlock_node = 3; } message CMsgGCQuestMapPurchaseReward { - optional uint32 store_item_defindex = 1; + optional uint32 store_item_defindex = 1; } message CMsgGCQuestResponse { - optional bool success = 1 [default = false]; + optional bool success = 1 [default = false]; } message CMsgGCSetDisablePartyQuestProgress { - optional bool state = 1; + optional bool state = 1; } message CMsgQuestProgressReport { - optional uint64 quest_id = 1; - optional bool star_0_earned = 2; - optional bool star_1_earned = 3; - optional bool star_2_earned = 4; - repeated uint64 items_earned = 5; - optional uint32 reward_credits_earned = 6; - optional bool contract_completed = 7; + optional uint64 quest_id = 1; + optional bool star_0_earned = 2; + optional bool star_1_earned = 3; + optional bool star_2_earned = 4; + repeated uint64 items_earned = 5; + optional uint32 reward_credits_earned = 6; + optional bool contract_completed = 7; } message CMsgConsumePaintkit { - optional fixed64 source_id = 1; - optional uint32 target_defindex = 2; + optional fixed64 source_id = 1; + optional uint32 target_defindex = 2; } message CMsgPainkitDevGrant { - optional uint32 paintkit_defindex = 1; - optional float wear = 2; - optional uint32 item_defindex = 3; + optional uint32 paintkit_defindex = 1; + optional float wear = 2; + optional uint32 item_defindex = 3; } message GCQuestStrangeEvent { - optional uint32 owner_account_id = 1; - optional uint32 scorer_account_id = 2; - optional uint64 quest_id = 3; - optional uint32 strange_event_id = 4; - optional uint32 score = 5; + optional uint32 owner_account_id = 1; + optional uint32 scorer_account_id = 2; + optional uint64 quest_id = 3; + optional uint32 strange_event_id = 4; + optional uint32 score = 5; } message CMsgSDRTicket { - optional bytes serialized_ticket = 1; + optional bytes serialized_ticket = 1; } message CMsgAuthorizeServerItemRetrieval { - repeated uint64 item_id = 1; + repeated uint64 item_id = 1; } message CMsgGCToGCSendAccountBannedNotifications { - optional uint32 banned_accountid = 1; - optional uint32 report_period_begin = 2; - optional uint32 report_period_end = 3; + optional uint32 banned_accountid = 1; + optional uint32 report_period_begin = 2; + optional uint32 report_period_end = 3; } message CMsgGCToGCSendNotification { - optional .CMsgGCNotification notification = 1; + optional .CMsgGCNotification notification = 1; } 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 358a292a..ea854e3c 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 @@ -6,595 +6,595 @@ option optimize_for = SPEED; option java_generic_services = false; extend .google.protobuf.MessageOptions { - optional bool start_expanded = 80000 [default = true]; + optional bool start_expanded = 80000 [default = true]; } extend .google.protobuf.FieldOptions { - optional .ProtoDefTypes valid_type = 70000 [default = DEF_TYPE_QUEST_MAP_NODE]; - optional bool editable = 70001 [default = true]; - optional bool localized = 70002 [default = false]; - optional bool do_not_inherit = 70003 [default = false]; - optional string display_name = 70004; - optional string comment = 70005; - optional uint32 max_count = 70007; - optional bool allow_add = 70008 [default = true]; - optional bool allow_delete = 70009 [default = true]; - optional string panel_class_override = 70010; - optional string message_inherhitance_key_field_name = 70011; - optional bool inherit_reference_variables = 70012 [default = false]; - optional bool self_inherit_only = 70013 [default = false]; - optional .EVarFieldType var_field_type = 70014 [default = VAR_TYPE_INVALID]; - optional bool merging_key_field = 70015 [default = false]; + optional .ProtoDefTypes valid_type = 70000 [default = DEF_TYPE_QUEST_MAP_NODE]; + optional bool editable = 70001 [default = true]; + optional bool localized = 70002 [default = false]; + optional bool do_not_inherit = 70003 [default = false]; + optional string display_name = 70004; + optional string comment = 70005; + optional uint32 max_count = 70007; + optional bool allow_add = 70008 [default = true]; + optional bool allow_delete = 70009 [default = true]; + optional string panel_class_override = 70010; + optional string message_inherhitance_key_field_name = 70011; + optional bool inherit_reference_variables = 70012 [default = false]; + optional bool self_inherit_only = 70013 [default = false]; + optional .EVarFieldType var_field_type = 70014 [default = VAR_TYPE_INVALID]; + optional bool merging_key_field = 70015 [default = false]; } enum LogicalOperation { - AND = 0; - OR = 1; - NOT = 2; + AND = 0; + OR = 1; + NOT = 2; } enum EValueDefinitionSource { - REFERENCE_DEFINES = 0; - PARENT_DEFINES = 1; - THIS_DEFINES = 2; - VARIABLE_DEFINES = 3; - NOT_DEFINED = 4; + REFERENCE_DEFINES = 0; + PARENT_DEFINES = 1; + THIS_DEFINES = 2; + VARIABLE_DEFINES = 3; + NOT_DEFINED = 4; } enum ProtoDefTypes { - DEF_TYPE_QUEST_MAP_NODE = 0; - DEF_TYPE_QUEST_THEME = 2; - DEF_TYPE_QUEST_MAP_REGION = 3; - DEF_TYPE_QUEST = 4; - DEF_TYPE_QUEST_OBJECTIVE = 5; - DEF_TYPE_PAINTKIT_VARIABLES = 6; - DEF_TYPE_PAINTKIT_OPERATION = 7; - DEF_TYPE_PAINTKIT_ITEM_DEFINITION = 8; - DEF_TYPE_PAINTKIT_DEFINITION = 9; - DEF_TYPE_HEADER_ONLY = 10; - DEF_TYPE_QUEST_MAP_STORE_ITEM = 11; - DEF_TYPE_QUEST_MAP_STAR_TYPE = 12; + DEF_TYPE_QUEST_MAP_NODE = 0; + DEF_TYPE_QUEST_THEME = 2; + DEF_TYPE_QUEST_MAP_REGION = 3; + DEF_TYPE_QUEST = 4; + DEF_TYPE_QUEST_OBJECTIVE = 5; + DEF_TYPE_PAINTKIT_VARIABLES = 6; + DEF_TYPE_PAINTKIT_OPERATION = 7; + DEF_TYPE_PAINTKIT_ITEM_DEFINITION = 8; + DEF_TYPE_PAINTKIT_DEFINITION = 9; + DEF_TYPE_HEADER_ONLY = 10; + DEF_TYPE_QUEST_MAP_STORE_ITEM = 11; + DEF_TYPE_QUEST_MAP_STAR_TYPE = 12; } enum EQuestPoints { - QUEST_POINTS_NOVICE = 0; - QUEST_POINTS_ADVANCED = 1; - QUEST_POINTS_EXPERT = 2; + QUEST_POINTS_NOVICE = 0; + QUEST_POINTS_ADVANCED = 1; + QUEST_POINTS_EXPERT = 2; } enum EVarFieldType { - VAR_TYPE_INVALID = 1; - VAR_TYPE_FLOAT = 2; - VAR_TYPE_DOUBLE = 3; - VAR_TYPE_UINT32 = 4; - VAR_TYPE_UINT64 = 5; - VAR_TYPE_SINT32 = 6; - VAR_TYPE_SINT64 = 7; - VAR_TYPE_BOOL = 8; - VAR_TYPE_STRING = 9; + VAR_TYPE_INVALID = 1; + VAR_TYPE_FLOAT = 2; + VAR_TYPE_DOUBLE = 3; + VAR_TYPE_UINT32 = 4; + VAR_TYPE_UINT64 = 5; + VAR_TYPE_SINT32 = 6; + VAR_TYPE_SINT64 = 7; + VAR_TYPE_BOOL = 8; + VAR_TYPE_STRING = 9; } enum ENodeCashReward { - CASH_REWARD_NONE = 1; - CASH_REWARD_SMALL = 2; - CASH_REWARD_MEDIUM = 3; - CASH_REWARD_LARGE = 4; + CASH_REWARD_NONE = 1; + CASH_REWARD_SMALL = 2; + CASH_REWARD_MEDIUM = 3; + CASH_REWARD_LARGE = 4; } message CMsgFieldID { - message CMsgField { - optional uint32 field_number = 1; - optional uint32 repeated_index = 2; - } + message CMsgField { + optional uint32 field_number = 1; + optional uint32 repeated_index = 2; + } - repeated .CMsgFieldID.CMsgField field = 1; + repeated .CMsgFieldID.CMsgField field = 1; } message CMsgUniversalFieldID { - optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES]; - optional .CMsgProtoDefID defining_obj_id = 2; - optional .CMsgFieldID field_id = 3; + optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES]; + optional .CMsgProtoDefID defining_obj_id = 2; + optional .CMsgFieldID field_id = 3; } message CMsgVariableDefinition { - optional string name = 1 [(merging_key_field) = true]; - optional bool inherit = 2 [default = true]; - optional string value = 3; + optional string name = 1 [(merging_key_field) = true]; + optional bool inherit = 2 [default = true]; + optional string value = 3; } message CMsgProtoDefHeader { - required uint32 defindex = 1 [(editable) = false, (display_name) = "Defindex", (comment) = "Autogenerated", (self_inherit_only) = true]; - optional string name = 2 [(display_name) = "Name", (comment) = "Name to show in the editor", (self_inherit_only) = true]; - repeated .CMsgProtoDefID prefabs = 3 [(display_name) = "Prefab", (comment) = "Inherit the values of these definitions, in order from top to bottom.", (panel_class_override) = "CPrefabFieldEditingPanel", (self_inherit_only) = true]; - repeated string tags = 4 [(display_name) = "Tags", (comment) = "Strings used to describe this definition while searching. ie. 'class', 'shotgun', 'easy'"]; - optional bool prefab_only = 5 [default = false, (display_name) = "Pure Prefab", (comment) = "If true, this is only a prefab and will not be made into an object", (self_inherit_only) = true]; - repeated .CMsgVariableDefinition variables = 6 [(display_name) = "Variables", (comment) = "Variable value definitions", (message_inherhitance_key_field_name) = "name"]; + required uint32 defindex = 1 [(editable) = false, (display_name) = "Defindex", (comment) = "Autogenerated", (self_inherit_only) = true]; + optional string name = 2 [(display_name) = "Name", (comment) = "Name to show in the editor", (self_inherit_only) = true]; + repeated .CMsgProtoDefID prefabs = 3 [(display_name) = "Prefab", (comment) = "Inherit the values of these definitions, in order from top to bottom.", (panel_class_override) = "CPrefabFieldEditingPanel", (self_inherit_only) = true]; + repeated string tags = 4 [(display_name) = "Tags", (comment) = "Strings used to describe this definition while searching. ie. 'class', 'shotgun', 'easy'"]; + optional bool prefab_only = 5 [default = false, (display_name) = "Pure Prefab", (comment) = "If true, this is only a prefab and will not be made into an object", (self_inherit_only) = true]; + repeated .CMsgVariableDefinition variables = 6 [(display_name) = "Variables", (comment) = "Variable value definitions", (message_inherhitance_key_field_name) = "name"]; } message CMsgValidTypes { - repeated .ProtoDefTypes types = 1; + repeated .ProtoDefTypes types = 1; } message CMsgProtoDefID { - optional uint32 defindex = 1; - optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE]; - - oneof instance { - .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3; - .CMsgQuestTheme instance_def_type_quest_theme = 5; - .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6; - .CMsgQuestDef instance_def_type_quest = 7; - .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8; - .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9; - .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10; - .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11; - .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12; - .CMsgHeaderOnly instance_def_type_header_only = 13; - } + optional uint32 defindex = 1; + optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE]; + + oneof instance { + .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3; + .CMsgQuestTheme instance_def_type_quest_theme = 5; + .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6; + .CMsgQuestDef instance_def_type_quest = 7; + .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8; + .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9; + .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10; + .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11; + .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12; + .CMsgHeaderOnly instance_def_type_header_only = 13; + } } message CMsgQuestObjectiveDef { - enum ETF2GameModes { - kGameCategory_Escort = 0; - kGameCategory_CTF = 1; - kGameCategory_AttackDefense = 2; - kGameCategory_Koth = 3; - kGameCategory_CP = 4; - kGameCategory_EscortRace = 5; - kGameCategory_EventMix = 6; - kGameCategory_SD = 7; - kGameCategory_Quickplay = 8; - kGameCategory_Event247 = 9; - kGameCategory_Arena = 10; - kGameCategory_RobotDestruction = 11; - kGameCategory_Powerup = 12; - kGameCategory_Featured = 13; - kGameCategory_Passtime = 14; - kGameCategory_Community_Update = 15; - kGameCategory_Misc = 16; - kGameCategory_Competitive_6v6 = 17; - kGameCategory_Other = 18; - kGameCategory_Halloween = 19; - } - - enum ETF2Conditions { - TF_COND_AIMING = 0; - TF_COND_ZOOMED = 1; - TF_COND_DISGUISING = 2; - TF_COND_DISGUISED = 3; - TF_COND_STEALTHED = 4; - TF_COND_INVULNERABLE = 5; - TF_COND_TELEPORTED = 6; - TF_COND_TAUNTING = 7; - TF_COND_INVULNERABLE_WEARINGOFF = 8; - TF_COND_STEALTHED_BLINK = 9; - TF_COND_SELECTED_TO_TELEPORT = 10; - TF_COND_CRITBOOSTED = 11; - TF_COND_TMPDAMAGEBONUS = 12; - TF_COND_FEIGN_DEATH = 13; - TF_COND_PHASE = 14; - TF_COND_STUNNED = 15; - TF_COND_OFFENSEBUFF = 16; - TF_COND_SHIELD_CHARGE = 17; - TF_COND_DEMO_BUFF = 18; - TF_COND_ENERGY_BUFF = 19; - TF_COND_RADIUSHEAL = 20; - TF_COND_HEALTH_BUFF = 21; - TF_COND_BURNING = 22; - TF_COND_HEALTH_OVERHEALED = 23; - TF_COND_URINE = 24; - TF_COND_BLEEDING = 25; - TF_COND_DEFENSEBUFF = 26; - TF_COND_MAD_MILK = 27; - TF_COND_MEGAHEAL = 28; - TF_COND_REGENONDAMAGEBUFF = 29; - TF_COND_MARKEDFORDEATH = 30; - TF_COND_NOHEALINGDAMAGEBUFF = 31; - TF_COND_SPEED_BOOST = 32; - TF_COND_CRITBOOSTED_PUMPKIN = 33; - TF_COND_CRITBOOSTED_USER_BUFF = 34; - TF_COND_CRITBOOSTED_DEMO_CHARGE = 35; - TF_COND_SODAPOPPER_HYPE = 36; - TF_COND_CRITBOOSTED_FIRST_BLOOD = 37; - TF_COND_CRITBOOSTED_BONUS_TIME = 38; - TF_COND_CRITBOOSTED_CTF_CAPTURE = 39; - TF_COND_CRITBOOSTED_ON_KILL = 40; - TF_COND_CANNOT_SWITCH_FROM_MELEE = 41; - TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK = 42; - TF_COND_REPROGRAMMED = 43; - TF_COND_CRITBOOSTED_RAGE_BUFF = 44; - TF_COND_DEFENSEBUFF_HIGH = 45; - TF_COND_SNIPERCHARGE_RAGE_BUFF = 46; - TF_COND_DISGUISE_WEARINGOFF = 47; - TF_COND_MARKEDFORDEATH_SILENT = 48; - TF_COND_DISGUISED_AS_DISPENSER = 49; - TF_COND_SAPPED = 50; - TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED = 51; - TF_COND_INVULNERABLE_USER_BUFF = 52; - TF_COND_HALLOWEEN_BOMB_HEAD = 53; - TF_COND_HALLOWEEN_THRILLER = 54; - TF_COND_RADIUSHEAL_ON_DAMAGE = 55; - TF_COND_CRITBOOSTED_CARD_EFFECT = 56; - TF_COND_INVULNERABLE_CARD_EFFECT = 57; - TF_COND_MEDIGUN_UBER_BULLET_RESIST = 58; - TF_COND_MEDIGUN_UBER_BLAST_RESIST = 59; - TF_COND_MEDIGUN_UBER_FIRE_RESIST = 60; - TF_COND_MEDIGUN_SMALL_BULLET_RESIST = 61; - TF_COND_MEDIGUN_SMALL_BLAST_RESIST = 62; - TF_COND_MEDIGUN_SMALL_FIRE_RESIST = 63; - TF_COND_STEALTHED_USER_BUFF = 64; - TF_COND_MEDIGUN_DEBUFF = 65; - TF_COND_STEALTHED_USER_BUFF_FADING = 66; - TF_COND_BULLET_IMMUNE = 67; - TF_COND_BLAST_IMMUNE = 68; - TF_COND_FIRE_IMMUNE = 69; - TF_COND_PREVENT_DEATH = 70; - TF_COND_MVM_BOT_STUN_RADIOWAVE = 71; - TF_COND_HALLOWEEN_SPEED_BOOST = 72; - TF_COND_HALLOWEEN_QUICK_HEAL = 73; - TF_COND_HALLOWEEN_GIANT = 74; - TF_COND_HALLOWEEN_TINY = 75; - TF_COND_HALLOWEEN_IN_HELL = 76; - TF_COND_HALLOWEEN_GHOST_MODE = 77; - TF_COND_MINICRITBOOSTED_ON_KILL = 78; - TF_COND_OBSCURED_SMOKE = 79; - TF_COND_PARACHUTE_ACTIVE = 80; - TF_COND_BLASTJUMPING = 81; - TF_COND_HALLOWEEN_KART = 82; - TF_COND_HALLOWEEN_KART_DASH = 83; - TF_COND_BALLOON_HEAD = 84; - TF_COND_MELEE_ONLY = 85; - TF_COND_SWIMMING_CURSE = 86; - TF_COND_FREEZE_INPUT = 87; - TF_COND_HALLOWEEN_KART_CAGE = 88; - TF_COND_DONOTUSE_0 = 89; - TF_COND_RUNE_STRENGTH = 90; - TF_COND_RUNE_HASTE = 91; - TF_COND_RUNE_REGEN = 92; - TF_COND_RUNE_RESIST = 93; - TF_COND_RUNE_VAMPIRE = 94; - TF_COND_RUNE_REFLECT = 95; - TF_COND_RUNE_PRECISION = 96; - TF_COND_RUNE_AGILITY = 97; - TF_COND_GRAPPLINGHOOK = 98; - TF_COND_GRAPPLINGHOOK_SAFEFALL = 99; - TF_COND_GRAPPLINGHOOK_LATCHED = 100; - TF_COND_GRAPPLINGHOOK_BLEEDING = 101; - TF_COND_AFTERBURN_IMMUNE = 102; - TF_COND_RUNE_KNOCKOUT = 103; - TF_COND_RUNE_IMBALANCE = 104; - TF_COND_CRITBOOSTED_RUNE_TEMP = 105; - TF_COND_PASSTIME_INTERCEPTION = 106; - TF_COND_SWIMMING_NO_EFFECTS = 107; - TF_COND_PURGATORY = 108; - TF_COND_RUNE_KING = 109; - TF_COND_RUNE_PLAGUE = 110; - TF_COND_RUNE_SUPERNOVA = 111; - TF_COND_PLAGUE = 112; - TF_COND_KING_BUFFED = 113; - TF_COND_TEAM_GLOWS = 114; - TF_COND_KNOCKED_INTO_AIR = 115; - TF_COND_COMPETITIVE_WINNER = 116; - 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; - } - - enum ETF2Team { - TF_TEAM_RED = 2; - TF_TEAM_BLUE = 3; - } - - required .CMsgProtoDefHeader header = 1; - optional string loc_desctoken = 2 [(localized) = true]; - optional uint32 points = 3; - optional uint32 conditions_defindex = 5; - repeated string map = 8 [(display_name) = "Maps Modifier", (comment) = "If set, the player must be on one of the listed maps to get credit."]; - repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(display_name) = "Game Mode Modifier", (comment) = "If set, the player must be in one of the listed game modes to get credit."]; - optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (display_name) = "Team Modifier", (comment) = "If set, the player must be on the specified team to get credit."]; - repeated .CMsgVarField condition_vars = 11 [(display_name) = "Objective Vars", (var_field_type) = VAR_TYPE_STRING]; - repeated .CMsgVarField classes_vars = 12 [(display_name) = "Class Modifier", (var_field_type) = VAR_TYPE_STRING]; - repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(display_name) = "Required Conds"]; - optional .LogicalOperation condition_logic = 14 [default = AND, (display_name) = "Condition Logic", (comment) = "What kind of logic to use when evaluating the player's conditions."]; - repeated string item_name = 15 [(display_name) = "Required equipped item", (comment) = "Require that this item be equipped in any slot."]; - optional .LogicalOperation item_logic = 16 [default = AND, (display_name) = "Item logic", (comment) = "What kind of logic to use when evaluating the player's items."]; - optional uint32 jump_state = 17 [(display_name) = "Jump logic", (comment) = "What state of jumping the player needs to be in."]; + enum ETF2GameModes { + kGameCategory_Escort = 0; + kGameCategory_CTF = 1; + kGameCategory_AttackDefense = 2; + kGameCategory_Koth = 3; + kGameCategory_CP = 4; + kGameCategory_EscortRace = 5; + kGameCategory_EventMix = 6; + kGameCategory_SD = 7; + kGameCategory_Quickplay = 8; + kGameCategory_Event247 = 9; + kGameCategory_Arena = 10; + kGameCategory_RobotDestruction = 11; + kGameCategory_Powerup = 12; + kGameCategory_Featured = 13; + kGameCategory_Passtime = 14; + kGameCategory_Community_Update = 15; + kGameCategory_Misc = 16; + kGameCategory_Competitive_6v6 = 17; + kGameCategory_Other = 18; + kGameCategory_Halloween = 19; + } + + enum ETF2Conditions { + TF_COND_AIMING = 0; + TF_COND_ZOOMED = 1; + TF_COND_DISGUISING = 2; + TF_COND_DISGUISED = 3; + TF_COND_STEALTHED = 4; + TF_COND_INVULNERABLE = 5; + TF_COND_TELEPORTED = 6; + TF_COND_TAUNTING = 7; + TF_COND_INVULNERABLE_WEARINGOFF = 8; + TF_COND_STEALTHED_BLINK = 9; + TF_COND_SELECTED_TO_TELEPORT = 10; + TF_COND_CRITBOOSTED = 11; + TF_COND_TMPDAMAGEBONUS = 12; + TF_COND_FEIGN_DEATH = 13; + TF_COND_PHASE = 14; + TF_COND_STUNNED = 15; + TF_COND_OFFENSEBUFF = 16; + TF_COND_SHIELD_CHARGE = 17; + TF_COND_DEMO_BUFF = 18; + TF_COND_ENERGY_BUFF = 19; + TF_COND_RADIUSHEAL = 20; + TF_COND_HEALTH_BUFF = 21; + TF_COND_BURNING = 22; + TF_COND_HEALTH_OVERHEALED = 23; + TF_COND_URINE = 24; + TF_COND_BLEEDING = 25; + TF_COND_DEFENSEBUFF = 26; + TF_COND_MAD_MILK = 27; + TF_COND_MEGAHEAL = 28; + TF_COND_REGENONDAMAGEBUFF = 29; + TF_COND_MARKEDFORDEATH = 30; + TF_COND_NOHEALINGDAMAGEBUFF = 31; + TF_COND_SPEED_BOOST = 32; + TF_COND_CRITBOOSTED_PUMPKIN = 33; + TF_COND_CRITBOOSTED_USER_BUFF = 34; + TF_COND_CRITBOOSTED_DEMO_CHARGE = 35; + TF_COND_SODAPOPPER_HYPE = 36; + TF_COND_CRITBOOSTED_FIRST_BLOOD = 37; + TF_COND_CRITBOOSTED_BONUS_TIME = 38; + TF_COND_CRITBOOSTED_CTF_CAPTURE = 39; + TF_COND_CRITBOOSTED_ON_KILL = 40; + TF_COND_CANNOT_SWITCH_FROM_MELEE = 41; + TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK = 42; + TF_COND_REPROGRAMMED = 43; + TF_COND_CRITBOOSTED_RAGE_BUFF = 44; + TF_COND_DEFENSEBUFF_HIGH = 45; + TF_COND_SNIPERCHARGE_RAGE_BUFF = 46; + TF_COND_DISGUISE_WEARINGOFF = 47; + TF_COND_MARKEDFORDEATH_SILENT = 48; + TF_COND_DISGUISED_AS_DISPENSER = 49; + TF_COND_SAPPED = 50; + TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED = 51; + TF_COND_INVULNERABLE_USER_BUFF = 52; + TF_COND_HALLOWEEN_BOMB_HEAD = 53; + TF_COND_HALLOWEEN_THRILLER = 54; + TF_COND_RADIUSHEAL_ON_DAMAGE = 55; + TF_COND_CRITBOOSTED_CARD_EFFECT = 56; + TF_COND_INVULNERABLE_CARD_EFFECT = 57; + TF_COND_MEDIGUN_UBER_BULLET_RESIST = 58; + TF_COND_MEDIGUN_UBER_BLAST_RESIST = 59; + TF_COND_MEDIGUN_UBER_FIRE_RESIST = 60; + TF_COND_MEDIGUN_SMALL_BULLET_RESIST = 61; + TF_COND_MEDIGUN_SMALL_BLAST_RESIST = 62; + TF_COND_MEDIGUN_SMALL_FIRE_RESIST = 63; + TF_COND_STEALTHED_USER_BUFF = 64; + TF_COND_MEDIGUN_DEBUFF = 65; + TF_COND_STEALTHED_USER_BUFF_FADING = 66; + TF_COND_BULLET_IMMUNE = 67; + TF_COND_BLAST_IMMUNE = 68; + TF_COND_FIRE_IMMUNE = 69; + TF_COND_PREVENT_DEATH = 70; + TF_COND_MVM_BOT_STUN_RADIOWAVE = 71; + TF_COND_HALLOWEEN_SPEED_BOOST = 72; + TF_COND_HALLOWEEN_QUICK_HEAL = 73; + TF_COND_HALLOWEEN_GIANT = 74; + TF_COND_HALLOWEEN_TINY = 75; + TF_COND_HALLOWEEN_IN_HELL = 76; + TF_COND_HALLOWEEN_GHOST_MODE = 77; + TF_COND_MINICRITBOOSTED_ON_KILL = 78; + TF_COND_OBSCURED_SMOKE = 79; + TF_COND_PARACHUTE_ACTIVE = 80; + TF_COND_BLASTJUMPING = 81; + TF_COND_HALLOWEEN_KART = 82; + TF_COND_HALLOWEEN_KART_DASH = 83; + TF_COND_BALLOON_HEAD = 84; + TF_COND_MELEE_ONLY = 85; + TF_COND_SWIMMING_CURSE = 86; + TF_COND_FREEZE_INPUT = 87; + TF_COND_HALLOWEEN_KART_CAGE = 88; + TF_COND_DONOTUSE_0 = 89; + TF_COND_RUNE_STRENGTH = 90; + TF_COND_RUNE_HASTE = 91; + TF_COND_RUNE_REGEN = 92; + TF_COND_RUNE_RESIST = 93; + TF_COND_RUNE_VAMPIRE = 94; + TF_COND_RUNE_REFLECT = 95; + TF_COND_RUNE_PRECISION = 96; + TF_COND_RUNE_AGILITY = 97; + TF_COND_GRAPPLINGHOOK = 98; + TF_COND_GRAPPLINGHOOK_SAFEFALL = 99; + TF_COND_GRAPPLINGHOOK_LATCHED = 100; + TF_COND_GRAPPLINGHOOK_BLEEDING = 101; + TF_COND_AFTERBURN_IMMUNE = 102; + TF_COND_RUNE_KNOCKOUT = 103; + TF_COND_RUNE_IMBALANCE = 104; + TF_COND_CRITBOOSTED_RUNE_TEMP = 105; + TF_COND_PASSTIME_INTERCEPTION = 106; + TF_COND_SWIMMING_NO_EFFECTS = 107; + TF_COND_PURGATORY = 108; + TF_COND_RUNE_KING = 109; + TF_COND_RUNE_PLAGUE = 110; + TF_COND_RUNE_SUPERNOVA = 111; + TF_COND_PLAGUE = 112; + TF_COND_KING_BUFFED = 113; + TF_COND_TEAM_GLOWS = 114; + TF_COND_KNOCKED_INTO_AIR = 115; + TF_COND_COMPETITIVE_WINNER = 116; + 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; + } + + enum ETF2Team { + TF_TEAM_RED = 2; + TF_TEAM_BLUE = 3; + } + + required .CMsgProtoDefHeader header = 1; + optional string loc_desctoken = 2 [(localized) = true]; + optional uint32 points = 3; + optional uint32 conditions_defindex = 5; + repeated string map = 8 [(display_name) = "Maps Modifier", (comment) = "If set, the player must be on one of the listed maps to get credit."]; + repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(display_name) = "Game Mode Modifier", (comment) = "If set, the player must be in one of the listed game modes to get credit."]; + optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (display_name) = "Team Modifier", (comment) = "If set, the player must be on the specified team to get credit."]; + repeated .CMsgVarField condition_vars = 11 [(display_name) = "Objective Vars", (var_field_type) = VAR_TYPE_STRING]; + repeated .CMsgVarField classes_vars = 12 [(display_name) = "Class Modifier", (var_field_type) = VAR_TYPE_STRING]; + repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(display_name) = "Required Conds"]; + optional .LogicalOperation condition_logic = 14 [default = AND, (display_name) = "Condition Logic", (comment) = "What kind of logic to use when evaluating the player's conditions."]; + repeated string item_name = 15 [(display_name) = "Required equipped item", (comment) = "Require that this item be equipped in any slot."]; + optional .LogicalOperation item_logic = 16 [default = AND, (display_name) = "Item logic", (comment) = "What kind of logic to use when evaluating the player's items."]; + optional uint32 jump_state = 17 [(display_name) = "Jump logic", (comment) = "What state of jumping the player needs to be in."]; } message CMsgQuestDef { - message MMCriteria { - optional string group_name = 1; - optional string category_name = 2; - optional string map_name = 3; - } - - message ObjectiveInstance { - optional .CMsgProtoDefID objective = 1 [(valid_type) = DEF_TYPE_QUEST_OBJECTIVE]; - optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE]; - optional uint32 point_value = 3 [(display_name) = "Points Override", (comment) = "Override value for the point value of the objective. If not set, uses the objective's point value"]; - } - - required .CMsgProtoDefHeader header = 1; - optional uint32 max_points_0 = 2; - optional uint32 max_points_1 = 3; - optional uint32 max_points_2 = 4; - optional string name_loctoken = 5 [(localized) = true]; - optional string operation = 7; - optional .CMsgQuestDef.MMCriteria mm_criteria = 8; - optional string node_image = 12 [(display_name) = "Node Image", (comment) = "Filename of the image to show on the node view"]; - optional string icon_image = 13 [(display_name) = "Node Icon", (comment) = "Which icon to show on the map"]; - optional .CMsgProtoDefID theme = 14 [(valid_type) = DEF_TYPE_QUEST_THEME]; - repeated string loaner_names = 15 [(display_name) = "Loaners", (comment) = "Names of items to give as loaners"]; - repeated .CMsgQuestDef.ObjectiveInstance objectives = 16; - repeated string map = 17 [(display_name) = "Maps Modifier", (comment) = "If set, the player must be on one of the listed maps to get credit."]; + message MMCriteria { + optional string group_name = 1; + optional string category_name = 2; + optional string map_name = 3; + } + + message ObjectiveInstance { + optional .CMsgProtoDefID objective = 1 [(valid_type) = DEF_TYPE_QUEST_OBJECTIVE]; + optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE]; + optional uint32 point_value = 3 [(display_name) = "Points Override", (comment) = "Override value for the point value of the objective. If not set, uses the objective's point value"]; + } + + required .CMsgProtoDefHeader header = 1; + optional uint32 max_points_0 = 2; + optional uint32 max_points_1 = 3; + optional uint32 max_points_2 = 4; + optional string name_loctoken = 5 [(localized) = true]; + optional string operation = 7; + optional .CMsgQuestDef.MMCriteria mm_criteria = 8; + optional string node_image = 12 [(display_name) = "Node Image", (comment) = "Filename of the image to show on the node view"]; + optional string icon_image = 13 [(display_name) = "Node Icon", (comment) = "Which icon to show on the map"]; + optional .CMsgProtoDefID theme = 14 [(valid_type) = DEF_TYPE_QUEST_THEME]; + repeated string loaner_names = 15 [(display_name) = "Loaners", (comment) = "Names of items to give as loaners"]; + repeated .CMsgQuestDef.ObjectiveInstance objectives = 16; + repeated string map = 17 [(display_name) = "Maps Modifier", (comment) = "If set, the player must be on one of the listed maps to get credit."]; } message CMsgQuestMapStoreItem { - required .CMsgProtoDefHeader header = 1; - optional string item_name = 2; - optional string reward_lootlist_name = 6 [(display_name) = "Reward Lootlist", (comment) = "The name of the lootlist to roll as a reward"]; - optional .CMsgVarField price = 3 [(var_field_type) = VAR_TYPE_SINT32]; - optional uint32 purchase_limit = 4 [(display_name) = "Purchase Limit", (comment) = "How many times this reward can be purchased"]; - optional uint32 sort_group = 5 [(display_name) = "Sort group", (comment) = "Sort by this group, then alhpabetically"]; + required .CMsgProtoDefHeader header = 1; + optional string item_name = 2; + optional string reward_lootlist_name = 6 [(display_name) = "Reward Lootlist", (comment) = "The name of the lootlist to roll as a reward"]; + optional .CMsgVarField price = 3 [(var_field_type) = VAR_TYPE_SINT32]; + optional uint32 purchase_limit = 4 [(display_name) = "Purchase Limit", (comment) = "How many times this reward can be purchased"]; + optional uint32 sort_group = 5 [(display_name) = "Sort group", (comment) = "Sort by this group, then alhpabetically"]; } message CMsgQuestMapRegionDef { - message RegionLink { - required .CMsgProtoDefID target_region_defid = 1 [(valid_type) = DEF_TYPE_QUEST_MAP_REGION]; - optional uint32 xpos = 2; - optional uint32 ypos = 3; - } - - required .CMsgProtoDefHeader header = 1; - optional string name = 2 [(localized) = true]; - optional string resfile = 3; - repeated .CMsgQuestMapRegionDef.RegionLink links = 4; - optional .CMsgProtoDefID return_link = 5 [(valid_type) = DEF_TYPE_QUEST_MAP_REGION, (display_name) = "Return Link", (comment) = "Which link we go to when right-clicking in this region"]; - optional float radio_freq = 6 [(display_name) = "Radio Freq.", (comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"]; - optional float zoom_scale = 7 [(display_name) = "Zoom Scale", (comment) = "How zoomed in this panel should be. Affects the scale of the map grid lines and node link dashed lines"]; - optional .CMsgProtoDefID star_type = 8 [(valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (display_name) = "Star Type", (comment) = "What stars (if any) the nodes within use to unlock"]; + message RegionLink { + required .CMsgProtoDefID target_region_defid = 1 [(valid_type) = DEF_TYPE_QUEST_MAP_REGION]; + optional uint32 xpos = 2; + optional uint32 ypos = 3; + } + + required .CMsgProtoDefHeader header = 1; + optional string name = 2 [(localized) = true]; + optional string resfile = 3; + repeated .CMsgQuestMapRegionDef.RegionLink links = 4; + optional .CMsgProtoDefID return_link = 5 [(valid_type) = DEF_TYPE_QUEST_MAP_REGION, (display_name) = "Return Link", (comment) = "Which link we go to when right-clicking in this region"]; + optional float radio_freq = 6 [(display_name) = "Radio Freq.", (comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"]; + optional float zoom_scale = 7 [(display_name) = "Zoom Scale", (comment) = "How zoomed in this panel should be. Affects the scale of the map grid lines and node link dashed lines"]; + optional .CMsgProtoDefID star_type = 8 [(valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (display_name) = "Star Type", (comment) = "What stars (if any) the nodes within use to unlock"]; } message CMsgVarField { - optional string variable = 1 [(merging_key_field) = true]; + optional string variable = 1 [(merging_key_field) = true]; - oneof value { - float float = 2; - double double = 3; - uint32 uint32 = 4; - uint64 uint64 = 5; - sint32 sint32 = 6; - sint64 sint64 = 7; - bool bool = 8; - string string = 9; - } + oneof value { + float float = 2; + double double = 3; + uint32 uint32 = 4; + uint64 uint64 = 5; + sint32 sint32 = 6; + sint64 sint64 = 7; + bool bool = 8; + string string = 9; + } } message CMsgQuestMapStarType { - required .CMsgProtoDefHeader header = 1; - optional string name = 2 [(localized) = true, (display_name) = "Type Name"]; + required .CMsgProtoDefHeader header = 1; + optional string name = 2 [(localized) = true, (display_name) = "Type Name"]; } message CMsgQuestMapNodeDef { - required .CMsgProtoDefHeader header = 1; - optional string name_loctoken = 4 [(localized) = true, (display_name) = "Node Name", (comment) = "The name of this node"]; - optional float x_pos = 6 [(display_name) = "Map X Pos", (comment) = "X position on the quest map"]; - optional float y_pos = 7 [(display_name) = "Map Y Pos", (comment) = "Y position on the quest map"]; - optional .CMsgQuestMapNodeCondition condition = 9 [(display_name) = "Conditions", (comment) = "Logic to unlock this node. Can be nested with logic"]; - optional .CMsgProtoDefID owning_region = 10 [(valid_type) = DEF_TYPE_QUEST_MAP_REGION, (display_name) = "Region", (comment) = "Which region in the map this node shows up in"]; - repeated .CMsgProtoDefID quest_options = 11 [(valid_type) = DEF_TYPE_QUEST, (display_name) = "Offered Quests", (comment) = "Which quests this node offers.", (max_count) = 3]; - optional string associated_operation = 16 [(display_name) = "Associated Operation", (comment) = "Operation this node is associated with"]; - optional string reward_item_name = 18 [(display_name) = "Reward Item", (comment) = "The name of an item to give as a reward"]; - optional string reward_lootlist_name = 22 [(display_name) = "Reward Lootlist", (comment) = "The name of the lootlist to roll as a reward"]; - optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (display_name) = "Cash Reward", (comment) = "How much cash to give when completing the primary objective"]; - optional .CMsgProtoDefID star_type = 20 [(valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (display_name) = "Star Type", (comment) = "Which type of star this node uses"]; - optional uint32 stars_to_unlock = 21 [default = 1, (display_name) = "Stars to Unlock", (comment) = "Numbers of stars it costs to unlock"]; + required .CMsgProtoDefHeader header = 1; + optional string name_loctoken = 4 [(localized) = true, (display_name) = "Node Name", (comment) = "The name of this node"]; + optional float x_pos = 6 [(display_name) = "Map X Pos", (comment) = "X position on the quest map"]; + optional float y_pos = 7 [(display_name) = "Map Y Pos", (comment) = "Y position on the quest map"]; + optional .CMsgQuestMapNodeCondition condition = 9 [(display_name) = "Conditions", (comment) = "Logic to unlock this node. Can be nested with logic"]; + optional .CMsgProtoDefID owning_region = 10 [(valid_type) = DEF_TYPE_QUEST_MAP_REGION, (display_name) = "Region", (comment) = "Which region in the map this node shows up in"]; + repeated .CMsgProtoDefID quest_options = 11 [(valid_type) = DEF_TYPE_QUEST, (display_name) = "Offered Quests", (comment) = "Which quests this node offers.", (max_count) = 3]; + optional string associated_operation = 16 [(display_name) = "Associated Operation", (comment) = "Operation this node is associated with"]; + optional string reward_item_name = 18 [(display_name) = "Reward Item", (comment) = "The name of an item to give as a reward"]; + optional string reward_lootlist_name = 22 [(display_name) = "Reward Lootlist", (comment) = "The name of the lootlist to roll as a reward"]; + optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (display_name) = "Cash Reward", (comment) = "How much cash to give when completing the primary objective"]; + optional .CMsgProtoDefID star_type = 20 [(valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (display_name) = "Star Type", (comment) = "Which type of star this node uses"]; + optional uint32 stars_to_unlock = 21 [default = 1, (display_name) = "Stars to Unlock", (comment) = "Numbers of stars it costs to unlock"]; } message CMsgPaintKit_Variables { - required .CMsgProtoDefHeader header = 1; + required .CMsgProtoDefHeader header = 1; } message CMsgPaintKit_Operation_TextureStage { - optional .CMsgVarField texture = 1 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField texture_red = 2 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField texture_blue = 3 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_black = 4 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_offset = 5 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_gamma = 6 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField rotation = 7 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField translate_u = 8 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField translate_v = 9 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField scale_uv = 10 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField flip_u = 11 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField flip_v = 12 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField texture = 1 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField texture_red = 2 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField texture_blue = 3 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_black = 4 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_offset = 5 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_gamma = 6 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField rotation = 7 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField translate_u = 8 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField translate_v = 9 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField scale_uv = 10 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField flip_u = 11 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField flip_v = 12 [(var_field_type) = VAR_TYPE_STRING]; } message CMsgPaintKit_Operation_CombineStage { - optional .CMsgVarField adjust_black = 1 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_offset = 2 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_gamma = 3 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField rotation = 4 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField translate_u = 5 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField translate_v = 6 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField scale_uv = 7 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField flip_u = 8 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField flip_v = 9 [(var_field_type) = VAR_TYPE_STRING]; - repeated .CMsgPaintKit_OperationNode operation_node = 11; + optional .CMsgVarField adjust_black = 1 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_offset = 2 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_gamma = 3 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField rotation = 4 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField translate_u = 5 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField translate_v = 6 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField scale_uv = 7 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField flip_u = 8 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField flip_v = 9 [(var_field_type) = VAR_TYPE_STRING]; + repeated .CMsgPaintKit_OperationNode operation_node = 11; } message CMsgPaintKit_Operation_SelectStage { - optional .CMsgVarField groups = 1 [(var_field_type) = VAR_TYPE_STRING]; - repeated .CMsgVarField select = 2 [(max_count) = 16, (var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField groups = 1 [(var_field_type) = VAR_TYPE_STRING]; + repeated .CMsgVarField select = 2 [(max_count) = 16, (var_field_type) = VAR_TYPE_STRING]; } message CMsgPaintKit_Operation_Sticker { - optional .CMsgVarField base = 1 [(comment) = "Name of the base file for the sticker (the albedo)", (var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField weight = 2 [(comment) = "Random likelihood this one is to be selected", (var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField spec = 3 [(comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField base = 1 [(comment) = "Name of the base file for the sticker (the albedo)", (var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField weight = 2 [(comment) = "Random likelihood this one is to be selected", (var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField spec = 3 [(comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (var_field_type) = VAR_TYPE_STRING]; } message CMsgPaintKit_Operation_StickerStage { - repeated .CMsgPaintKit_Operation_Sticker sticker = 1; - optional .CMsgVarField dest_tl = 2 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField dest_tr = 3 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField dest_bl = 4 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_black = 5 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_offset = 6 [(var_field_type) = VAR_TYPE_STRING]; - optional .CMsgVarField adjust_gamma = 7 [(var_field_type) = VAR_TYPE_STRING]; - repeated .CMsgPaintKit_OperationNode operation_node = 9; + repeated .CMsgPaintKit_Operation_Sticker sticker = 1; + optional .CMsgVarField dest_tl = 2 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField dest_tr = 3 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField dest_bl = 4 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_black = 5 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_offset = 6 [(var_field_type) = VAR_TYPE_STRING]; + optional .CMsgVarField adjust_gamma = 7 [(var_field_type) = VAR_TYPE_STRING]; + repeated .CMsgPaintKit_OperationNode operation_node = 9; } message CMsgPaintKit_OperationStage { - oneof stage { - .CMsgPaintKit_Operation_TextureStage texture_lookup = 1; - .CMsgPaintKit_Operation_CombineStage combine_add = 2; - .CMsgPaintKit_Operation_CombineStage combine_lerp = 3; - .CMsgPaintKit_Operation_CombineStage combine_multiply = 4; - .CMsgPaintKit_Operation_SelectStage select = 5; - .CMsgPaintKit_Operation_StickerStage apply_sticker = 6; - } + oneof stage { + .CMsgPaintKit_Operation_TextureStage texture_lookup = 1; + .CMsgPaintKit_Operation_CombineStage combine_add = 2; + .CMsgPaintKit_Operation_CombineStage combine_lerp = 3; + .CMsgPaintKit_Operation_CombineStage combine_multiply = 4; + .CMsgPaintKit_Operation_SelectStage select = 5; + .CMsgPaintKit_Operation_StickerStage apply_sticker = 6; + } } message CMsgPaintKit_OperationNode { - oneof node { - .CMsgPaintKit_OperationStage stage = 1; - .CMsgProtoDefID operation_template = 2 [(valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (inherit_reference_variables) = true]; - } + oneof node { + .CMsgPaintKit_OperationStage stage = 1; + .CMsgProtoDefID operation_template = 2 [(valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (inherit_reference_variables) = true]; + } } message CMsgPaintKit_Operation { - required .CMsgProtoDefHeader header = 1; - repeated .CMsgPaintKit_OperationNode operation_node = 2; + required .CMsgProtoDefHeader header = 1; + repeated .CMsgPaintKit_OperationNode operation_node = 2; } message CMsgPaintKit_ItemDefinition { - message Definition { - optional .CMsgProtoDefID operation_template = 1 [(valid_type) = DEF_TYPE_PAINTKIT_OPERATION]; - repeated .CMsgVarField variable = 2 [(allow_add) = false, (allow_delete) = false, (var_field_type) = VAR_TYPE_STRING]; - } + message Definition { + optional .CMsgProtoDefID operation_template = 1 [(valid_type) = DEF_TYPE_PAINTKIT_OPERATION]; + repeated .CMsgVarField variable = 2 [(allow_add) = false, (allow_delete) = false, (var_field_type) = VAR_TYPE_STRING]; + } - required .CMsgProtoDefHeader header = 1; - required uint32 item_definition_index = 2; - optional .CMsgProtoDefID variable_template = 3 [(valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (inherit_reference_variables) = true]; - repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(max_count) = 5]; + required .CMsgProtoDefHeader header = 1; + required uint32 item_definition_index = 2; + optional .CMsgProtoDefID variable_template = 3 [(valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (inherit_reference_variables) = true]; + repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(max_count) = 5]; } message CMsgPaintKit_Definition { - message Item { - option (start_expanded) = false; - - message ItemData { - optional bool can_apply_paintkit = 2 [default = true]; - optional string material_override = 3; - repeated .CMsgVarField variable = 4 [(allow_add) = false, (allow_delete) = false, (var_field_type) = VAR_TYPE_STRING]; - } - - required .CMsgProtoDefID item_definition_template = 1 [(valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"]; - optional .CMsgPaintKit_Definition.Item.ItemData data = 5; - } - - required .CMsgProtoDefHeader header = 1; - optional string loc_desctoken = 2 [(localized) = true]; - optional .CMsgProtoDefID operation_template = 3 [(valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (comment) = "operation template which all items in the list will use unless there's operation_template specified in an item_definition", (inherit_reference_variables) = true]; - optional bool has_team_textures = 4; - repeated .CMsgPaintKit_Definition.Item item = 5; - optional .CMsgPaintKit_Definition.Item paintkit_tool = 6; - optional .CMsgPaintKit_Definition.Item flamethrower = 7; - optional .CMsgPaintKit_Definition.Item grenadelauncher = 8; - optional .CMsgPaintKit_Definition.Item knife = 9; - optional .CMsgPaintKit_Definition.Item medigun = 10; - optional .CMsgPaintKit_Definition.Item minigun = 11; - optional .CMsgPaintKit_Definition.Item pistol = 12; - optional .CMsgPaintKit_Definition.Item revolver = 13; - optional .CMsgPaintKit_Definition.Item rocketlauncher = 14; - optional .CMsgPaintKit_Definition.Item scattergun = 15; - optional .CMsgPaintKit_Definition.Item shotgun = 16; - optional .CMsgPaintKit_Definition.Item smg = 17; - optional .CMsgPaintKit_Definition.Item sniperrifle = 18; - optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19; - optional .CMsgPaintKit_Definition.Item ubersaw = 20; - optional .CMsgPaintKit_Definition.Item wrench = 21; - optional .CMsgPaintKit_Definition.Item amputator = 22; - optional .CMsgPaintKit_Definition.Item atom_launcher = 23; - optional .CMsgPaintKit_Definition.Item back_scratcher = 24; - optional .CMsgPaintKit_Definition.Item battleaxe = 25; - optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26; - optional .CMsgPaintKit_Definition.Item blackbox = 27; - optional .CMsgPaintKit_Definition.Item claidheamohmor = 28; - optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29; - optional .CMsgPaintKit_Definition.Item degreaser = 30; - optional .CMsgPaintKit_Definition.Item demo_cannon = 31; - optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32; - optional .CMsgPaintKit_Definition.Item detonator = 33; - optional .CMsgPaintKit_Definition.Item gatling_gun = 34; - optional .CMsgPaintKit_Definition.Item holymackerel = 35; - optional .CMsgPaintKit_Definition.Item jag = 36; - optional .CMsgPaintKit_Definition.Item lochnload = 37; - optional .CMsgPaintKit_Definition.Item powerjack = 38; - optional .CMsgPaintKit_Definition.Item quadball = 39; - optional .CMsgPaintKit_Definition.Item reserve_shooter = 40; - optional .CMsgPaintKit_Definition.Item riding_crop = 41; - optional .CMsgPaintKit_Definition.Item russian_riot = 42; - optional .CMsgPaintKit_Definition.Item scimitar = 43; - optional .CMsgPaintKit_Definition.Item scorch_shot = 44; - optional .CMsgPaintKit_Definition.Item shortstop = 45; - optional .CMsgPaintKit_Definition.Item soda_popper = 46; - optional .CMsgPaintKit_Definition.Item tele_shotgun = 47; - optional .CMsgPaintKit_Definition.Item tomislav = 48; - optional .CMsgPaintKit_Definition.Item trenchgun = 49; - optional .CMsgPaintKit_Definition.Item winger_pistol = 50; + message Item { + option (start_expanded) = false; + + message ItemData { + optional bool can_apply_paintkit = 2 [default = true]; + optional string material_override = 3; + repeated .CMsgVarField variable = 4 [(allow_add) = false, (allow_delete) = false, (var_field_type) = VAR_TYPE_STRING]; + } + + required .CMsgProtoDefID item_definition_template = 1 [(valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"]; + optional .CMsgPaintKit_Definition.Item.ItemData data = 5; + } + + required .CMsgProtoDefHeader header = 1; + optional string loc_desctoken = 2 [(localized) = true]; + optional .CMsgProtoDefID operation_template = 3 [(valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (comment) = "operation template which all items in the list will use unless there's operation_template specified in an item_definition", (inherit_reference_variables) = true]; + optional bool has_team_textures = 4; + repeated .CMsgPaintKit_Definition.Item item = 5; + optional .CMsgPaintKit_Definition.Item paintkit_tool = 6; + optional .CMsgPaintKit_Definition.Item flamethrower = 7; + optional .CMsgPaintKit_Definition.Item grenadelauncher = 8; + optional .CMsgPaintKit_Definition.Item knife = 9; + optional .CMsgPaintKit_Definition.Item medigun = 10; + optional .CMsgPaintKit_Definition.Item minigun = 11; + optional .CMsgPaintKit_Definition.Item pistol = 12; + optional .CMsgPaintKit_Definition.Item revolver = 13; + optional .CMsgPaintKit_Definition.Item rocketlauncher = 14; + optional .CMsgPaintKit_Definition.Item scattergun = 15; + optional .CMsgPaintKit_Definition.Item shotgun = 16; + optional .CMsgPaintKit_Definition.Item smg = 17; + optional .CMsgPaintKit_Definition.Item sniperrifle = 18; + optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19; + optional .CMsgPaintKit_Definition.Item ubersaw = 20; + optional .CMsgPaintKit_Definition.Item wrench = 21; + optional .CMsgPaintKit_Definition.Item amputator = 22; + optional .CMsgPaintKit_Definition.Item atom_launcher = 23; + optional .CMsgPaintKit_Definition.Item back_scratcher = 24; + optional .CMsgPaintKit_Definition.Item battleaxe = 25; + optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26; + optional .CMsgPaintKit_Definition.Item blackbox = 27; + optional .CMsgPaintKit_Definition.Item claidheamohmor = 28; + optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29; + optional .CMsgPaintKit_Definition.Item degreaser = 30; + optional .CMsgPaintKit_Definition.Item demo_cannon = 31; + optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32; + optional .CMsgPaintKit_Definition.Item detonator = 33; + optional .CMsgPaintKit_Definition.Item gatling_gun = 34; + optional .CMsgPaintKit_Definition.Item holymackerel = 35; + optional .CMsgPaintKit_Definition.Item jag = 36; + optional .CMsgPaintKit_Definition.Item lochnload = 37; + optional .CMsgPaintKit_Definition.Item powerjack = 38; + optional .CMsgPaintKit_Definition.Item quadball = 39; + optional .CMsgPaintKit_Definition.Item reserve_shooter = 40; + optional .CMsgPaintKit_Definition.Item riding_crop = 41; + optional .CMsgPaintKit_Definition.Item russian_riot = 42; + optional .CMsgPaintKit_Definition.Item scimitar = 43; + optional .CMsgPaintKit_Definition.Item scorch_shot = 44; + optional .CMsgPaintKit_Definition.Item shortstop = 45; + optional .CMsgPaintKit_Definition.Item soda_popper = 46; + optional .CMsgPaintKit_Definition.Item tele_shotgun = 47; + optional .CMsgPaintKit_Definition.Item tomislav = 48; + optional .CMsgPaintKit_Definition.Item trenchgun = 49; + optional .CMsgPaintKit_Definition.Item winger_pistol = 50; } message CMsgQuestTheme { - message WeightedString { - optional string string = 1; - optional uint32 weight = 2; - } - - message WeightedStringSet { - repeated .CMsgQuestTheme.WeightedString weighted_strings = 1; - } - - required .CMsgProtoDefHeader header = 1; - optional string notification_res = 2; - optional string quest_item_res = 3; - optional string in_game_tracker_res = 4; - repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5; - repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6; - repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7; - optional string reward_sound = 8; - optional string discard_sound = 9; - optional string reveal_sound = 10; + message WeightedString { + optional string string = 1; + optional uint32 weight = 2; + } + + message WeightedStringSet { + repeated .CMsgQuestTheme.WeightedString weighted_strings = 1; + } + + required .CMsgProtoDefHeader header = 1; + optional string notification_res = 2; + optional string quest_item_res = 3; + optional string in_game_tracker_res = 4; + repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5; + repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6; + repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7; + optional string reward_sound = 8; + optional string discard_sound = 9; + optional string reveal_sound = 10; } message CMsgQuestMapNodeCondition_NodeState { - optional uint32 bonus_objectives_required = 1 [default = 0, (display_name) = "Bonus Required", (comment) = "Number of bonus objectives required, on top of the primary objective"]; - required .CMsgProtoDefID target_node_defid = 2 [(valid_type) = DEF_TYPE_QUEST_MAP_NODE, (display_name) = "Target Node", (comment) = "Which node is required to have the above number of medals"]; + optional uint32 bonus_objectives_required = 1 [default = 0, (display_name) = "Bonus Required", (comment) = "Number of bonus objectives required, on top of the primary objective"]; + required .CMsgProtoDefID target_node_defid = 2 [(valid_type) = DEF_TYPE_QUEST_MAP_NODE, (display_name) = "Target Node", (comment) = "Which node is required to have the above number of medals"]; } message CMsgQuestMapNodeCondition_Logic { - required .LogicalOperation operation = 1 [default = AND, (display_name) = "Logic", (comment) = "Logical operation"]; - repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(display_name) = "Operands", (comment) = "Definitions to use in the logical operation"]; + required .LogicalOperation operation = 1 [default = AND, (display_name) = "Logic", (comment) = "Logical operation"]; + repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(display_name) = "Operands", (comment) = "Definitions to use in the logical operation"]; } message CMsgQuestMapNodeCondition { - oneof operation { - .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(display_name) = "Node State Condition", (comment) = "Returns true if a specific node has a required number of medals"]; - .CMsgQuestMapNodeCondition_Logic logical = 2 [(display_name) = "Logical Condition", (comment) = "Performs a specified logical operation to all sub conditions"]; - } + oneof operation { + .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(display_name) = "Node State Condition", (comment) = "Returns true if a specific node has a required number of medals"]; + .CMsgQuestMapNodeCondition_Logic logical = 2 [(display_name) = "Logical Condition", (comment) = "Performs a specified logical operation to all sub conditions"]; + } } message CMsgHeaderOnly { - required .CMsgProtoDefHeader header = 1; + required .CMsgProtoDefHeader header = 1; } From 349c44c493008b1534d6f044ed45047e757defab Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Mon, 25 Aug 2025 23:50:11 -0500 Subject: [PATCH 3/7] Update or format steam protos --- .../steamclient/content_manifest.proto | 84 ++++++++-------- .../protobufs/steamclient/enums.proto | 99 ++++++++++++++++--- .../steammessages_auth.steamclient.proto | 24 ++--- .../steamclient/steammessages_base.proto | 20 ++-- .../steammessages_chat.steamclient.proto | 5 - .../steammessages_client_objects.proto | 24 ++--- ...ammessages_clientmetrics.steamclient.proto | 28 ++++++ .../steammessages_clientserver.proto | 6 ++ .../steammessages_clientserver_2.proto | 53 +++------- .../steammessages_clientserver_friends.proto | 6 ++ ...eammessages_clientserver_gameservers.proto | 2 + .../steammessages_clientserver_login.proto | 7 +- .../steammessages_clientserver_uds.proto | 2 +- .../steammessages_cloud.steamclient.proto | 23 ----- ...ammessages_contentsystem.steamclient.proto | 29 ++++++ .../steammessages_twofactor.steamclient.proto | 32 ++++-- 16 files changed, 269 insertions(+), 175 deletions(-) diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/content_manifest.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/content_manifest.proto index 89875d6f..be809663 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/content_manifest.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/content_manifest.proto @@ -4,61 +4,61 @@ option optimize_for = SPEED; option java_generic_services = false; enum EContentDeltaChunkDataLocation { - k_EContentDeltaChunkDataLocationInProtobuf = 0; - k_EContentDeltaChunkDataLocationAfterProtobuf = 1; + k_EContentDeltaChunkDataLocationInProtobuf = 0; + k_EContentDeltaChunkDataLocationAfterProtobuf = 1; } message ContentManifestPayload { - message FileMapping { - message ChunkData { - optional bytes sha = 1; - optional fixed32 crc = 2; - optional uint64 offset = 3; - optional uint32 cb_original = 4; - optional uint32 cb_compressed = 5; - } + message FileMapping { + message ChunkData { + optional bytes sha = 1; + optional fixed32 crc = 2; + optional uint64 offset = 3; + optional uint32 cb_original = 4; + optional uint32 cb_compressed = 5; + } - optional string filename = 1; - optional uint64 size = 2; - optional uint32 flags = 3; - optional bytes sha_filename = 4; - optional bytes sha_content = 5; - repeated .ContentManifestPayload.FileMapping.ChunkData chunks = 6; - optional string linktarget = 7; - } + optional string filename = 1; + optional uint64 size = 2; + optional uint32 flags = 3; + optional bytes sha_filename = 4; + optional bytes sha_content = 5; + repeated .ContentManifestPayload.FileMapping.ChunkData chunks = 6; + optional string linktarget = 7; + } - repeated .ContentManifestPayload.FileMapping mappings = 1; + repeated .ContentManifestPayload.FileMapping mappings = 1; } message ContentManifestMetadata { - optional uint32 depot_id = 1; - optional uint64 gid_manifest = 2; - optional uint32 creation_time = 3; - optional bool filenames_encrypted = 4; - optional uint64 cb_disk_original = 5; - optional uint64 cb_disk_compressed = 6; - optional uint32 unique_chunks = 7; - optional uint32 crc_encrypted = 8; - optional uint32 crc_clear = 9; + optional uint32 depot_id = 1; + optional uint64 gid_manifest = 2; + optional uint32 creation_time = 3; + optional bool filenames_encrypted = 4; + optional uint64 cb_disk_original = 5; + optional uint64 cb_disk_compressed = 6; + optional uint32 unique_chunks = 7; + optional uint32 crc_encrypted = 8; + optional uint32 crc_clear = 9; } message ContentManifestSignature { - optional bytes signature = 1; + optional bytes signature = 1; } message ContentDeltaChunks { - message DeltaChunk { - optional bytes sha_source = 1; - optional bytes sha_target = 2; - optional uint32 size_original = 3; - optional uint32 patch_method = 4; - optional bytes chunk = 5; - optional uint32 size_delta = 6; - } + message DeltaChunk { + optional bytes sha_source = 1; + optional bytes sha_target = 2; + optional uint32 size_original = 3; + optional uint32 patch_method = 4; + optional bytes chunk = 5; + optional uint32 size_delta = 6; + } - optional uint32 depot_id = 1; - optional uint64 manifest_id_source = 2; - optional uint64 manifest_id_target = 3; - repeated .ContentDeltaChunks.DeltaChunk deltaChunks = 4; - optional .EContentDeltaChunkDataLocation chunk_data_location = 5 [default = k_EContentDeltaChunkDataLocationInProtobuf]; + optional uint32 depot_id = 1; + optional uint64 manifest_id_source = 2; + optional uint64 manifest_id_target = 3; + repeated .ContentDeltaChunks.DeltaChunk deltaChunks = 4; + optional .EContentDeltaChunkDataLocation chunk_data_location = 5 [default = k_EContentDeltaChunkDataLocationInProtobuf]; } 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 ab48223b..ac498678 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/enums.proto @@ -136,8 +136,9 @@ enum ESystemFanControlMode { enum EStartupMovieVariant { k_EStartupMovieVariant_Invalid = 0; - k_EStartupMovieVariant_Default = 1; - k_EStartupMovieVariant_Orange = 2; + k_EStartupMovieVariant_Generic = 1; + k_EStartupMovieVariant_DeckBlue = 2; + k_EStartupMovieVariant_DeckOrange = 3; } enum EColorGamutLabelSet { @@ -223,21 +224,12 @@ enum EGPUPerformanceLevel { k_EGPUPerformanceLevel_Profiling = 5; } -enum EScalingFilter { - k_EScalingFilter_Invalid = 0; - k_EScalingFilter_FSR = 1; - k_EScalingFilter_Nearest = 2; - k_EScalingFilter_Integer = 3; - k_EScalingFilter_Linear = 4; - k_EScalingFilter_NIS = 5; -} - enum ESplitScalingFilter { k_ESplitScalingFilter_Invalid = 0; k_ESplitScalingFilter_Linear = 1; k_ESplitScalingFilter_Nearest = 2; - k_ESplitScalingFilter_FSR = 3; - k_ESplitScalingFilter_NIS = 4; + k_ESplitScalingFilter_Sharp = 3; + k_ESplitScalingFilter_NIS_Deprecated = 4; } enum ESplitScalingScaler { @@ -262,6 +254,7 @@ enum ESLSHelper { k_ESLSHelper_Journal = 3; k_ESLSHelper_Gpu = 4; k_ESLSHelper_SystemInfo = 5; + k_ESLSHelper_Devcoredump = 6; } enum EHDRVisualization { @@ -336,6 +329,19 @@ enum ESystemDisplayCompatibilityMode { k_ESystemDisplayCompatibilityMode_MinimalBandwith = 2; } +enum ESteamOSCompatibilityCategory { + k_ESteamOSCompatibilityCategory_Unknown = 0; + k_ESteamOSCompatibilityCategory_Unsupported = 1; + k_ESteamOSCompatibilityCategory_Compatible = 2; +} + +enum ESteamOSCompatibilityResultDisplayType { + k_ESteamOSCompatibilityResultDisplayType_Invisible = 0; + k_ESteamOSCompatibilityResultDisplayType_Informational = 1; + k_ESteamOSCompatibilityResultDisplayType_Unsupported = 2; + k_ESteamOSCompatibilityResultDisplayType_Compatible = 3; +} + enum ESteamDeckCompatibilityCategory { k_ESteamDeckCompatibilityCategory_Unknown = 0; k_ESteamDeckCompatibilityCategory_Unsupported = 1; @@ -565,6 +571,8 @@ enum ECompromiseDetectionType { k_ECompromiseDetectionType_Manual = 3; k_ECompromiseDetectionType_TicketAction = 4; k_ECompromiseDetectionType_MaliciousRefund = 5; + k_ECompromiseDetectionType_Move2FA = 6; + k_ECompromiseDetectionType_DeviceType = 7; } enum EAsyncGameSessionUserState { @@ -617,6 +625,21 @@ enum EProtoAppType { k_EAppTypeDepotOnly = -2147483648; } +enum EChildProcessQueryCommand { + k_EChildProcessQueryCommand_Invalid = 0; + k_EChildProcessQueryCommand_GpuTopology = 1; + k_EChildProcessQueryCommand_Max = 2; +} + +enum EChildProcessQueryExitCode { + k_EChildProcessQueryExitCode_Success = 0; + k_EChildProcessQueryExitCode_ErrorCommandline = -1; + k_EChildProcessQueryExitCode_ErrorOther = -2; + k_EChildProcessQueryExitCode_ErrorUnimplemented = -3; + k_EChildProcessQueryExitCode_ErrorFileSave = -4; + k_EChildProcessQueryExitCode_ErrorNotSupportedByPlatform = -5; +} + enum EWindowsUpdateInstallationImpact { k_EWindowsUpdateInstallationImpact_Unknown = -1; k_EWindowsUpdateInstallationImpact_Normal = 0; @@ -639,3 +662,53 @@ enum EExternalSaleEventType { k_EExternalSaleEventType_Theme = 4; k_EExternalSaleEventType_Franchise = 5; } + +enum EContentReportSubjectType { + k_EContentReportSubjectType_Invalid = 0; + k_EContentReportSubjectType_ForumPost = 1; + k_EContentReportSubjectType_UGCComment = 2; + k_EContentReportSubjectType_UGCFile = 3; + k_EContentReportSubjectType_MAX = 4; +} + +enum EContentReportReason { + k_EContentReportReason_Invalid = 0; + k_EContentReportReason_Abusive = 1; + k_EContentReportReason_Commercial = 2; + k_EContentReportReason_OffTopic = 3; + k_EContentReportReason_Prohibited = 4; + k_EContentReportReason_Other = 5; + k_EContentReportReason_CSAM = 6; + k_EContentReportReason_Terrorism = 7; + k_EContentReportReason_MAX = 8; +} + +enum EControlledLegalCategoryStatus { + k_EControlledLegalCategoryStatus_None = 0; + k_EControlledLegalCategoryStatus_Accused = 1; + k_EControlledLegalCategoryStatus_Convicted = 2; + k_EControlledLegalCategoryStatus_Acquitted = 3; +} + +enum EContentModeratorLevel { + k_EContentModeratorLevel_Any = 0; + k_EContentModeratorLevel_Supervisor = 1; + k_EContentModeratorLevel_Valve = 10; + k_EContentModeratorLevel_MAX = 11; +} + +enum EContentReportResolution { + k_EContentReportResolution_Unresolved = 0; + k_EContentReportResolution_Acquitted = 1; + k_EContentReportResolution_Removed = 2; + k_EContentReportResolution_Relabelled = 3; + k_EContentReportResolution_MAX = 4; +} + +enum EContentModeratedReason { + k_EContentModeratedReason_Invalid = 0; + k_EContentModeratedReason_None = 1; + k_EContentModeratedReason_Unknown = 2; + k_EContentModeratedReason_AnimalHarm = 3; + k_EContentModeratedReason_MAX = 4; +} 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 a7246756..c7c99989 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 @@ -50,17 +50,6 @@ enum EAuthenticationType { k_EAuthenticationType_GuestAccount = 4; } -enum EAuthTokenRevokeAction { - k_EAuthTokenRevokeLogout = 0; - k_EAuthTokenRevokePermanent = 1; - k_EAuthTokenRevokeReplaced = 2; - k_EAuthTokenRevokeSupport = 3; - k_EAuthTokenRevokeConsume = 4; - k_EAuthTokenRevokeNonRememberedLogout = 5; - k_EAuthTokenRevokeNonRememberedPermanent = 6; - k_EAuthTokenRevokeAutomatic = 7; -} - enum EAuthTokenState { k_EAuthTokenState_Invalid = 0; k_EAuthTokenState_New = 1; @@ -72,6 +61,17 @@ enum EAuthTokenState { k_EAuthTokenState_Revoked = 99; } +enum EAuthTokenRevokeAction { + k_EAuthTokenRevokeLogout = 0; + k_EAuthTokenRevokePermanent = 1; + k_EAuthTokenRevokeReplaced = 2; + k_EAuthTokenRevokeSupport = 3; + k_EAuthTokenRevokeConsume = 4; + k_EAuthTokenRevokeNonRememberedLogout = 5; + k_EAuthTokenRevokeNonRememberedPermanent = 6; + k_EAuthTokenRevokeAutomatic = 7; +} + message CAuthentication_GetPasswordRSAPublicKey_Request { optional string account_name = 1; } @@ -237,6 +237,7 @@ message CAuthentication_AccessToken_GenerateForApp_Response { } message CAuthentication_RefreshToken_Enumerate_Request { + optional bool include_revoked = 1 [default = false]; } message CAuthentication_RefreshToken_Enumerate_Response { @@ -262,6 +263,7 @@ message CAuthentication_RefreshToken_Enumerate_Response { optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent last_seen = 10; optional int32 os_type = 11; optional .EAuthenticationType authentication_type = 12 [default = k_EAuthenticationType_Unknown]; + optional .EAuthTokenState effective_token_state = 13 [default = k_EAuthTokenState_Invalid]; } repeated .CAuthentication_RefreshToken_Enumerate_Response.RefreshTokenDescription refresh_tokens = 1; 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 a51e710e..2c0138dc 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 @@ -10,10 +10,6 @@ extend .google.protobuf.MessageOptions { optional int32 msgpool_hard_limit = 50001 [default = 384]; } -extend .google.protobuf.FileOptions { - optional bool force_php_generation = 50000 [default = false]; -} - extend .google.protobuf.FieldOptions { optional bool php_output_always_number = 50020 [default = false]; optional bool allow_field_named_steam_id = 50024 [default = false]; @@ -114,7 +110,6 @@ message CMsgProtoBufHeader { optional uint64 messageid = 18 [default = 18446744073709551615]; optional uint32 publisher_group_id = 19; optional uint32 sysid = 20; - optional uint64 trace_tag = 21; optional uint32 webapi_key_id = 25; optional bool is_from_external_source = 26; repeated uint32 forward_to_sysid = 27; @@ -130,6 +125,9 @@ message CMsgProtoBufHeader { 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; oneof ip_addr { uint32 ip = 15; @@ -139,11 +137,12 @@ message CMsgProtoBufHeader { message CMsgKubeRPCPacket { message Hdr { - optional uint32 sysid_source = 1; - optional bool is_fbs_universe = 2 [default = false]; - optional fixed64 jobid_source = 3 [default = 18446744073709551615]; - optional int32 eresult = 4 [default = 2]; - optional string error_message = 5; + optional fixed64 jobid_source = 10 [default = 18446744073709551615]; + optional fixed64 jobid_target = 11 [default = 18446744073709551615]; + optional int32 eresult = 13 [default = 2]; + optional string target_job_name = 12; + optional string error_message = 14; + optional string reply_address = 42; } optional .CMsgKubeRPCPacket.Hdr hdr = 1; @@ -187,6 +186,7 @@ message CCDDBAppDetailCommon { optional bool has_adult_content_sex = 15; optional bool has_adult_content_violence = 16; repeated uint32 content_descriptorids = 17; + repeated uint32 content_descriptorids_including_dlc = 18; } message CMsgAppRights { 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 5ccfeadf..8230b7b3 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 @@ -543,10 +543,6 @@ message CChatRoom_GetChatRoomGroupState_Response { optional .CChatRoomGroupState state = 1; } -message CChatRoom_GetChatRoomGroupSummary_Request { - optional uint64 chat_group_id = 1; -} - message CChatRoom_SetAppChatRoomGroupForceActive_Request { optional uint64 chat_group_id = 1; optional uint32 requesting_app_id = 2; @@ -1021,7 +1017,6 @@ service ChatRoom { rpc GetMessageHistory (.CChatRoom_GetMessageHistory_Request) returns (.CChatRoom_GetMessageHistory_Response); rpc GetMyChatRoomGroups (.CChatRoom_GetMyChatRoomGroups_Request) returns (.CChatRoom_GetMyChatRoomGroups_Response); rpc GetChatRoomGroupState (.CChatRoom_GetChatRoomGroupState_Request) returns (.CChatRoom_GetChatRoomGroupState_Response); - rpc GetChatRoomGroupSummary (.CChatRoom_GetChatRoomGroupSummary_Request) returns (.CChatRoom_GetChatRoomGroupSummary_Response); rpc SetAppChatRoomGroupForceActive (.CChatRoom_SetAppChatRoomGroupForceActive_Request) returns (.CChatRoom_SetAppChatRoomGroupForceActive_Response); rpc SetAppChatRoomGroupStopForceActive (.CChatRoom_SetAppChatRoomGroupStopForceActive_Notification) returns (.NoResponse); rpc AckChatMessage (.CChatRoom_AckChatMessage_Notification) returns (.NoResponse); 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 dc3fbada..44616e1b 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 @@ -268,19 +268,13 @@ message CMsgSystemPerfLimits { repeated int32 fps_limit_options = 13; optional int32 tdp_limit_min = 14; optional int32 tdp_limit_max = 15; - optional bool is_nis_supported = 16; - optional int32 nis_sharpness_min = 17; - optional int32 nis_sharpness_max = 18; 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; - optional bool is_split_scaling_and_filtering_supported = 25; repeated .ESplitScalingFilter split_scaling_filters_available = 26; repeated .ESplitScalingScaler split_scaling_scalers_available = 27; - optional bool is_hdr_supported = 28; - optional int32 display_refresh_manual_hz_oc_max = 29; optional bool disable_refresh_rate_management = 30; } @@ -293,15 +287,10 @@ message CMsgSystemPerfSettingsGlobal { 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 bool is_hdr_enabled = 9; optional .EHDRToneMapOperator hdr_on_sdr_tonemap_operator = 12 [default = k_EHDRToneMapOperator_Invalid]; optional bool is_hdr_debug_heatmap_enabled = 13; optional bool force_hdr_wide_gammut_for_sdr = 15 [default = true]; - optional bool allow_experimental_hdr = 16; optional float sdr_to_hdr_brightness = 22; - optional bool debug_force_hdr_support = 18; - optional bool force_hdr_10pq_output_debug = 19; - optional bool is_display_oc_enabled = 20; optional bool is_color_management_enabled = 21; } @@ -321,7 +310,6 @@ message CMsgSystemPerfSettingsPerApp { 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 nis_sharpness = 16; optional int32 display_external_refresh_manual_hz = 17; optional int32 fps_limit_external = 18; optional bool is_tearing_enabled = 19; @@ -498,9 +486,9 @@ message CMsgSystemDisplay { optional int32 refresh_rate_min = 12; optional int32 refresh_rate_max = 13; optional bool is_vrr_capable = 14; - optional bool is_vrr_enabled = 15; + optional bool is_vrr_output_active = 15; optional bool is_hdr_capable = 16; - optional bool is_hdr_enabled = 17; + optional bool is_hdr_output_active = 17; repeated int32 supported_refresh_rates = 18; } @@ -618,7 +606,7 @@ message CMsgShortcutInfo { optional uint32 override_appid = 8; optional string flatpak_appid = 9; repeated string tags = 10; - optional bool is_remote = 11; + optional uint64 remote_client_id = 11; optional bool is_hidden = 12; optional bool is_temporary = 13; optional bool is_openvr = 14; @@ -627,6 +615,12 @@ message CMsgShortcutInfo { 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; } message CMsgShortcutAppIds { 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 0e4ff4a2..5a824c50 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 @@ -114,6 +114,7 @@ message CClientMetrics_ReportClientError_Notification { optional string identifier = 1; optional string message = 2; optional uint32 count = 3; + optional string context = 4; } optional string product = 1; @@ -212,6 +213,14 @@ message CClientMetrics_ReportLinuxStats_Notification { optional string process_name = 6; } +message CClientMetrics_ReportAccessibilitySettings_Notification { + optional float accessibility_desktop_ui_scale = 1; + optional bool accessibility_screen_reader_enabled = 2; + optional bool accessibility_high_contrast_mode = 3; + optional bool accessibility_reduce_motion = 4; + optional string accessibility_color_filter_name = 5; +} + message CClientMetrics_ClipShare_Notification { optional uint32 eresult = 1 [default = 2]; optional .EClipShareMethod share_method = 2 [default = k_EClipShareMethod_Chat]; @@ -242,6 +251,23 @@ message CClientMetrics_EndGameRecording_Notification { optional bool instant_clip = 5; } +message CClientMetrics_GamePerformance_Notification { + message FrameRateReport { + optional fixed64 gameid = 1; + optional uint32 frame_rate = 2; + optional string manufacturer = 3; + optional string model = 4; + optional string dx_video_card = 5; + optional int32 dx_vendorid = 6; + optional int32 dx_deviceid = 7; + optional uint32 num_gpu = 8; + optional uint64 system_ram = 9; + optional int32 session_seconds = 10; + } + + repeated .CClientMetrics_GamePerformance_Notification.FrameRateReport reports = 1; +} + service ClientMetrics { rpc ClientAppInterfaceStatsReport (.CClientMetrics_AppInterfaceStats_Notification) returns (.NoResponse); rpc ClientIPv6ConnectivityReport (.CClientMetrics_IPv6Connectivity_Notification) returns (.NoResponse); @@ -255,7 +281,9 @@ service ClientMetrics { rpc ClientDownloadResponseCodeCounts (.CClientMetrics_ContentDownloadResponse_Counts_Notification) returns (.NoResponse); rpc ReportClientArgs (.CClientMetrics_ReportClientArgs_Notification) returns (.NoResponse); rpc ReportLinuxStats (.CClientMetrics_ReportLinuxStats_Notification) returns (.NoResponse); + rpc ReportAccessibilitySettings (.CClientMetrics_ReportAccessibilitySettings_Notification) returns (.NoResponse); rpc ReportClipShare (.CClientMetrics_ClipShare_Notification) returns (.NoResponse); rpc ReportClipRange (.CClientMetrics_ClipRange_Notification) returns (.NoResponse); rpc ReportEndGameRecording (.CClientMetrics_EndGameRecording_Notification) returns (.NoResponse); + rpc ReportGamePerformance (.CClientMetrics_GamePerformance_Notification) returns (.NoResponse); } 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 637208fe..84ed64b3 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 @@ -30,6 +30,7 @@ message CMsgClientP2PConnectionInfo { optional bytes candidate = 4; optional fixed64 legacy_connection_id_src = 5; optional bytes rendezvous = 6; + optional uint32 app_id_secondary = 7; } message CMsgClientP2PConnectionFailInfo { @@ -160,6 +161,11 @@ message CMsgClientAuthListAck { optional uint32 message_sequence = 3; } +message CMsgGameServerPolicyUpdate { + optional uint32 app_id = 1; + optional uint32 app_id_aux = 2; +} + message CMsgClientLicenseList { message License { optional uint32 package_id = 1; diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_2.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_2.proto index f6b788e7..4a6dbdb9 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_2.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_2.proto @@ -23,9 +23,15 @@ message CMsgClientRichPresenceRequest { } message CMsgClientRichPresenceInfo { + message KV { + optional string key = 1; + optional string value = 2; + } + message RichPresence { optional fixed64 steamid_user = 1; optional bytes rich_presence_kv = 2; + repeated .CMsgClientRichPresenceInfo.KV rich_presense = 3; } repeated .CMsgClientRichPresenceInfo.RichPresence rich_presence = 1; @@ -48,48 +54,6 @@ message CMsgClientCheckFileSignatureResponse { optional uint32 evalvesignaturecheckdetail = 10; } -message CMsgClientReadMachineAuth { - optional string filename = 1; - optional uint32 offset = 2; - optional uint32 cubtoread = 3; -} - -message CMsgClientReadMachineAuthResponse { - optional string filename = 1; - optional uint32 eresult = 2; - optional uint32 filesize = 3; - optional bytes sha_file = 4; - optional uint32 getlasterror = 5; - optional uint32 offset = 6; - optional uint32 cubread = 7; - optional bytes bytes_read = 8; - optional string filename_sentry = 9; -} - -message CMsgClientUpdateMachineAuth { - optional string filename = 1; - optional uint32 offset = 2; - optional uint32 cubtowrite = 3; - optional bytes bytes = 4; - optional uint32 otp_type = 5; - optional string otp_identifier = 6; - optional bytes otp_sharedsecret = 7; - optional uint32 otp_timedrift = 8; -} - -message CMsgClientUpdateMachineAuthResponse { - optional string filename = 1; - optional uint32 eresult = 2; - optional uint32 filesize = 3; - optional bytes sha_file = 4; - optional uint32 getlasterror = 5; - optional uint32 offset = 6; - optional uint32 cubwrote = 7; - optional int32 otp_type = 8; - optional uint32 otp_value = 9; - optional string otp_identifier = 10; -} - message CMsgClientRegisterKey { optional string key = 1; } @@ -237,12 +201,17 @@ message CMsgClientSentLogs { } message CMsgGCClient { + enum EFlag { + VALVE_DS = 1; + } + 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; } message CMsgClientRequestFreeLicense { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_friends.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_friends.proto index ae427968..b473620b 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_friends.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_friends.proto @@ -124,6 +124,11 @@ message CMsgClientPersonaState { optional string value = 2; } + message OtherGameData { + optional uint64 gameid = 1; + repeated .CMsgClientPersonaState.Friend.KV rich_presence = 2; + } + optional fixed64 friendid = 1; optional uint32 persona_state = 2; optional uint32 game_played_app_id = 3; @@ -156,6 +161,7 @@ message CMsgClientPersonaState { 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 status_flags = 1; 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 51538859..c75b17e9 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 @@ -20,6 +20,7 @@ message CMsgGSServerType { message CMsgGSStatusReply { optional bool is_secure = 1; + optional bool is_valveds = 2; } message CMsgGSPlayerList { @@ -86,6 +87,7 @@ message CMsgClientGMSServerQuery { optional uint32 region_code = 3; optional string filter_text = 4; optional uint32 max_servers = 5; + optional string sdr_ping_location = 6; } message CMsgGMSClientServerQueryResponse { 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 930e73da..6caf36af 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 @@ -76,7 +76,6 @@ message CMsgClientLogon { optional string machine_name = 96; optional string machine_name_userchosen = 97; optional string country_override = 98; - optional bool is_steam_box = 99; optional uint64 client_instance_id = 100; optional string two_factor_code = 101; optional bool supports_rate_limit_response = 102; @@ -84,10 +83,12 @@ message CMsgClientLogon { optional int32 priority_reason = 104; optional .CMsgClientSecret embedded_client_secret = 105; optional bool disable_partner_autogrants = 106; - optional bool is_steam_deck = 107; optional string access_token = 108; optional bool is_chrome_os = 109; - optional bool is_tesla = 110; + 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; } message CMsgClientLogonResponse { diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_uds.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_uds.proto index 7ac50f46..12056b7d 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_uds.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_clientserver_uds.proto @@ -75,7 +75,6 @@ message CMsgClientGetClientAppListResponse { repeated .CMsgClientGetClientAppListResponse.App.DLC dlcs = 9; optional bool download_paused = 11; optional uint32 num_downloading = 12; - optional uint32 num_paused = 13; optional bool changing = 14; optional bool available_on_platform = 15; optional uint64 bytes_staged = 16; @@ -88,6 +87,7 @@ message CMsgClientGetClientAppListResponse { optional bool uninstalling = 23; optional uint32 rt_time_scheduled = 24; optional bool running = 25; + optional uint32 update_percentage = 26; } repeated .CMsgClientGetClientAppListResponse.App apps = 1; 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 a2b39123..7a5190a1 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 @@ -17,14 +17,6 @@ message CCloud_ClientLogUploadComplete_Notification { optional uint64 request_id = 2; } -message CCloud_GetUploadServerInfo_Request { - optional uint32 appid = 1; -} - -message CCloud_GetUploadServerInfo_Response { - optional string server_url = 1; -} - message CCloud_BeginHTTPUpload_Request { optional uint32 appid = 1; optional uint32 file_size = 2; @@ -293,19 +285,6 @@ message CCloud_ClientConflictResolution_Notification { optional bool chose_local_files = 2; } -message CCloud_EnumerateUserApps_Request { -} - -message CCloud_EnumerateUserApps_Response { - message Apps { - optional uint32 appid = 1; - optional int32 totalcount = 2; - optional int64 totalsize = 3; - } - - repeated .CCloud_EnumerateUserApps_Response.Apps apps = 1; -} - message CCloud_GetAppFileChangelist_Request { optional uint32 appid = 1; optional uint64 synced_change_number = 2; @@ -392,7 +371,6 @@ message CCloud_ClientLogUploadRequest_Notification { service Cloud { rpc ClientLogUploadCheck (.CCloud_ClientLogUploadCheck_Notification) returns (.NoResponse); rpc ClientLogUploadComplete (.CCloud_ClientLogUploadComplete_Notification) returns (.NoResponse); - rpc GetUploadServerInfo (.CCloud_GetUploadServerInfo_Request) returns (.CCloud_GetUploadServerInfo_Response); rpc BeginHTTPUpload (.CCloud_BeginHTTPUpload_Request) returns (.CCloud_BeginHTTPUpload_Response); rpc CommitHTTPUpload (.CCloud_CommitHTTPUpload_Request) returns (.CCloud_CommitHTTPUpload_Response); rpc BeginUGCUpload (.CCloud_BeginUGCUpload_Request) returns (.CCloud_BeginUGCUpload_Response); @@ -411,7 +389,6 @@ service Cloud { rpc ClientFileDownload (.CCloud_ClientFileDownload_Request) returns (.CCloud_ClientFileDownload_Response); rpc ClientDeleteFile (.CCloud_ClientDeleteFile_Request) returns (.CCloud_ClientDeleteFile_Response); rpc ClientConflictResolution (.CCloud_ClientConflictResolution_Notification) returns (.NoResponse); - rpc EnumerateUserApps (.CCloud_EnumerateUserApps_Request) returns (.CCloud_EnumerateUserApps_Response); rpc GetAppFileChangelist (.CCloud_GetAppFileChangelist_Request) returns (.CCloud_GetAppFileChangelist_Response); rpc SuspendAppSession (.CCloud_AppSessionSuspend_Request) returns (.CCloud_AppSessionSuspend_Response); rpc ResumeAppSession (.CCloud_AppSessionResume_Request) returns (.CCloud_AppSessionResume_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..42e9088d 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 @@ -12,6 +12,25 @@ enum EAppContentDetectionType { k_EAppContentDetectionType_GameEngine = 2; } +enum EAppAntiCheatType { + k_EAppAntiCheatTypeNone = 0; + k_EAppAntiCheatTypeEasyAC = 1; + k_EAppAntiCheatTypeDenuvo = 2; + k_EAppAntiCheatTypeBattlEye = 3; + k_EAppAntiCheatTypeXignCode = 4; + k_EAppAntiCheatTypePunkBuster = 5; + k_EAppAntiCheatTypeVAC = 6; + k_EAppAntiCheatTypeGameGuard = 7; + k_EAppAntiCheatTypeHackShield = 8; + k_EAppAntiCheatTypeAntiCheatExpert = 9; + k_EAppAntiCheatTypeOther = 10; +} + +enum EAppGameEngineType { + k_EAppGameEngineTypeNone = 0; + k_EAppGameEngineTypeUnreal = 1; +} + message CContentServerDirectory_ConnectedSteamPipeServerInfo { optional string type = 1; optional int32 source_id = 2; @@ -135,6 +154,15 @@ message CDepotContentDetection_GetAllDetectedAppContent_Response { repeated .DetectedAppContent detected_app_content = 1; } +message CDepotContentDetection_GetDetectedContentSingleApp_Request { + optional uint32 appid = 1; +} + +message CDepotContentDetection_GetDetectedContentSingleApp_Response { + optional .EAppAntiCheatType detected_anticheat = 1 [default = k_EAppAntiCheatTypeNone]; + optional .EAppGameEngineType detected_gameengine = 2 [default = k_EAppGameEngineTypeNone]; +} + service ContentServerDirectory { rpc GetServersForSteamPipe (.CContentServerDirectory_GetServersForSteamPipe_Request) returns (.CContentServerDirectory_GetServersForSteamPipe_Response); rpc GetDepotPatchInfo (.CContentServerDirectory_GetDepotPatchInfo_Request) returns (.CContentServerDirectory_GetDepotPatchInfo_Response); @@ -147,4 +175,5 @@ service ContentServerDirectory { service DepotContentDetection { rpc GetAllDetectedAppContent (.CDepotContentDetection_GetAllDetectedAppContent_Request) returns (.CDepotContentDetection_GetAllDetectedAppContent_Response); + rpc GetDetectedContentSingleApp (.CDepotContentDetection_GetDetectedContentSingleApp_Request) returns (.CDepotContentDetection_GetDetectedContentSingleApp_Response); } diff --git a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_twofactor.steamclient.proto b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_twofactor.steamclient.proto index ed7fcb19..c44b69bd 100644 --- a/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_twofactor.steamclient.proto +++ b/src/main/proto/in/dragonbra/javasteam/protobufs/steamclient/steammessages_twofactor.steamclient.proto @@ -6,6 +6,18 @@ option java_package = "in.dragonbra.javasteam.protobufs.steamclient"; option optimize_for = SPEED; option java_generic_services = false; +enum ETwoFactorStatusFieldFlag { + k_ETwoFactorStatusFieldFlag_None = 0; + k_ETwoFactorStatusFieldFlag_LastUsage = 1; +} + +enum ETwoFactorUsageType { + k_ETwoFactorUsageType_Unknown = 0; + k_ETwoFactorUsageType_None = 1; + k_ETwoFactorUsageType_MobileConfirmation = 2; + k_ETwoFactorUsageType_Login = 3; +} + message CTwoFactor_Time_Request { optional uint64 sender_time = 1; } @@ -24,6 +36,14 @@ message CTwoFactor_Time_Response { message CTwoFactor_Status_Request { optional fixed64 steamid = 1; + optional .ETwoFactorStatusFieldFlag include = 2 [default = k_ETwoFactorStatusFieldFlag_None]; +} + +message CTwoFactor_UsageEvent { + optional uint32 time = 1; + optional .ETwoFactorUsageType usage_type = 2 [default = k_ETwoFactorUsageType_Unknown]; + optional int32 confirmation_type = 3; + optional int32 confirmation_action = 4; } message CTwoFactor_Status_Response { @@ -41,6 +61,8 @@ message CTwoFactor_Status_Response { optional bool allow_external_authenticator = 12; optional uint32 time_transferred = 13; optional uint32 version = 14; + optional fixed64 last_seen_auth_token_id = 15; + repeated .CTwoFactor_UsageEvent usages = 16; } message CTwoFactor_AddAuthenticator_Request { @@ -68,15 +90,6 @@ message CTwoFactor_AddAuthenticator_Response { optional int32 confirm_type = 12; } -message CTwoFactor_SendEmail_Request { - optional fixed64 steamid = 1; - optional uint32 email_type = 2; - optional bool include_activation_code = 3; -} - -message CTwoFactor_SendEmail_Response { -} - message CTwoFactor_FinalizeAddAuthenticator_Request { optional fixed64 steamid = 1; optional string authenticator_code = 2; @@ -151,7 +164,6 @@ service TwoFactor { rpc QueryTime (.CTwoFactor_Time_Request) returns (.CTwoFactor_Time_Response); rpc QueryStatus (.CTwoFactor_Status_Request) returns (.CTwoFactor_Status_Response); rpc AddAuthenticator (.CTwoFactor_AddAuthenticator_Request) returns (.CTwoFactor_AddAuthenticator_Response); - rpc SendEmail (.CTwoFactor_SendEmail_Request) returns (.CTwoFactor_SendEmail_Response); rpc FinalizeAddAuthenticator (.CTwoFactor_FinalizeAddAuthenticator_Request) returns (.CTwoFactor_FinalizeAddAuthenticator_Response); rpc UpdateTokenVersion (.CTwoFactor_UpdateTokenVersion_Request) returns (.CTwoFactor_UpdateTokenVersion_Response); rpc RemoveAuthenticator (.CTwoFactor_RemoveAuthenticator_Request) returns (.CTwoFactor_RemoveAuthenticator_Response); From 6d84f7729b871958fc96ed0561487e11bb0f6cf7 Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Tue, 26 Aug 2025 00:04:01 -0500 Subject: [PATCH 4/7] Deprecate IsSteamDeck, add GamingDeviceType to LogOnDetails --- .../javasteam/steam/handlers/steamuser/LogOnDetails.kt | 5 ++++- .../javasteam/steam/handlers/steamuser/SteamUser.kt | 8 +++++++- 2 files changed, 11 insertions(+), 2 deletions(-) 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 a45387ee..9dbf70b0 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 @@ -1,5 +1,6 @@ package `in`.dragonbra.javasteam.steam.handlers.steamuser +import `in`.dragonbra.javasteam.enums.EGamingDeviceType import `in`.dragonbra.javasteam.enums.EOSType import `in`.dragonbra.javasteam.enums.EUIMode import `in`.dragonbra.javasteam.steam.authentication.AuthSessionDetails @@ -33,6 +34,7 @@ import `in`.dragonbra.javasteam.util.Utils * @param machineName Gets or sets the machine name. * @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( @@ -52,5 +54,6 @@ data class LogOnDetails( var machineName: String = HardwareUtils.getMachineName(true), var chatMode: ChatMode = ChatMode.DEFAULT, var uiMode: EUIMode = EUIMode.Unknown, - var isSteamDeck: Boolean = false, + 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 1162ee73..869a4697 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 @@ -4,6 +4,7 @@ import com.google.protobuf.ByteString import `in`.dragonbra.javasteam.base.ClientMsgProtobuf import `in`.dragonbra.javasteam.base.IPacketMsg import `in`.dragonbra.javasteam.enums.EAccountType +import `in`.dragonbra.javasteam.enums.EGamingDeviceType import `in`.dragonbra.javasteam.enums.EMsg import `in`.dragonbra.javasteam.enums.EResult import `in`.dragonbra.javasteam.enums.EUIMode @@ -116,8 +117,13 @@ class SteamUser : ClientMsgHandler() { logon.body.uiMode = details.uiMode.code() } + if (details.gamingDeviceType != EGamingDeviceType.Unknown) { + logon.body.gamingDeviceType = details.gamingDeviceType.code() + } + + @Suppress("DEPRECATION") if (details.isSteamDeck) { - logon.body.isSteamDeck = true + logon.body.isSteamDeckDeprecated = true } // steam guard From 83944da28b0de673e932f76f4c93cd63e32bde37 Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Tue, 26 Aug 2025 15:15:36 -0500 Subject: [PATCH 5/7] Add deadlock protos --- javasteam-deadlock/.gitignore | 1 + javasteam-deadlock/build.gradle.kts | 33 + .../protobufs/deadlock/base_gcmessages.proto | 417 ++++ .../deadlock/citadel_gcmessages_client.proto | 1752 +++++++++++++++++ .../deadlock/citadel_gcmessages_common.proto | 736 +++++++ .../deadlock/citadel_gcmessages_server.proto | 765 +++++++ .../protobufs/deadlock/econ_gcmessages.proto | 1089 ++++++++++ .../deadlock/econ_shared_enums.proto | 42 + .../deadlock/engine_gcmessages.proto | 19 + .../protobufs/deadlock/gcsdk_gcmessages.proto | 500 +++++ .../protobufs/deadlock/gcsystemmsgs.proto | 31 + .../protobufs/deadlock/steammessages.proto | 113 ++ ...eammessages_steamlearn.steamworkssdk.proto | 440 +++++ ...mmessages_unified_base.steamworkssdk.proto | 32 + .../protobufs/deadlock/valveextensions.proto | 31 + settings.gradle.kts | 2 + 16 files changed, 6003 insertions(+) create mode 100644 javasteam-deadlock/.gitignore create mode 100644 javasteam-deadlock/build.gradle.kts create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_client.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_server.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_gcmessages.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_shared_enums.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/engine_gcmessages.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsystemmsgs.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto create mode 100644 javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto diff --git a/javasteam-deadlock/.gitignore b/javasteam-deadlock/.gitignore new file mode 100644 index 00000000..d1638636 --- /dev/null +++ b/javasteam-deadlock/.gitignore @@ -0,0 +1 @@ +build/ \ No newline at end of file diff --git a/javasteam-deadlock/build.gradle.kts b/javasteam-deadlock/build.gradle.kts new file mode 100644 index 00000000..6d665373 --- /dev/null +++ b/javasteam-deadlock/build.gradle.kts @@ -0,0 +1,33 @@ +plugins { + alias(libs.plugins.protobuf.gradle) + id("java") + id("maven-publish") + id("signing") +} + +repositories { + mavenCentral() +} + +java { + sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get()) + targetCompatibility = JavaVersion.toVersion(libs.versions.java.get()) + withSourcesJar() + withJavadocJar() +} + +/* Protobufs */ +protobuf.protoc { + artifact = libs.protobuf.protoc.get().toString() +} + +/* Java Docs */ +tasks.javadoc { + exclude("**/in/dragonbra/javasteam/protobufs/**") +} + +dependencies { + implementation(libs.protobuf.java) +} + +// TODO promote to actual lib? 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 new file mode 100644 index 00000000..26891983 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/base_gcmessages.proto @@ -0,0 +1,417 @@ +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"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +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; +} + +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; +} + +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; +} + +message CMsgGCStorePurchaseInit { + 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; +} + +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; +} + +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; +} + +message CMsgInviteToLobby { + 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; +} + +message CMsgPartyInviteResponse { + 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; +} + +message CMsgKickFromParty { + 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; +} + +message CMsgServerAvailable { + optional .CMsgCustomGameInstallStatus custom_game_install_status = 1; +} + +message CMsgLANServerAvailable { + optional fixed64 lobby_id = 1; +} + +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]; +} + +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 [default = 65535]; + optional uint32 value = 2; + optional bytes value_bytes = 3; +} + +message CSOEconItemEquipped { + 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; +} + +message CMsgSortItems { + 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; +} + +message CMsgSetItemPositions { + message ItemPosition { + optional uint64 item_id = 1; + optional uint32 position = 2; + } + + repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; +} + +message CMsgGCStorePurchaseCancel { + optional uint64 txn_id = 1; +} + +message CMsgGCStorePurchaseCancelResponse { + optional uint32 result = 1; +} + +message CMsgGCStorePurchaseFinalize { + optional uint64 txn_id = 1; +} + +message CMsgGCStorePurchaseFinalizeResponse { + optional uint32 result = 1; + repeated uint64 item_ids = 2; +} + +message CMsgGCToGCBannedWordListUpdated { + optional uint32 group_id = 1; +} + +message CMsgGCToGCDirtySDOCache { + optional uint32 sdo_type = 1; + optional uint64 key_uint64 = 2; +} + +message CMsgSDONoMemcached { +} + +message CMsgGCToGCUpdateSQLKeyValue { + optional string key_name = 1; +} + +message CMsgGCServerVersionUpdated { + optional uint32 server_version = 1; +} + +message CMsgGCClientVersionUpdated { + 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]; +} + +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; + } + + 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; +} + +message CMsgAddSocketResponse { + 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]; +} + +message CMsgAddItemToSocketData { + 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; +} + +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]; +} + +message CMsgResetStrangeGemCount { + 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; + } + + 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; +} + +message CMsgGCToClientPollFileResponse { + 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; +} + +message CMsgGCToGCPerformManualOpCompleted { + optional bool success = 1; + optional int32 source_gc = 2 [default = -1]; +} + +message CMsgGCToGCReloadServerRegionSettings { +} + +message CMsgGCAdditionalWelcomeMsgList { + 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]; + } + + repeated .CMsgApplyRemoteConVars.ConVar con_vars = 1; +} + +message CMsgGCToClientApplyRemoteConVars { + optional .CMsgApplyRemoteConVars msg = 1; +} + +message CMsgGCToServerApplyRemoteConVars { + 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; + } + + 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; + } + + repeated .CMsgClientToGCAggregateMetrics.SingleMetric metrics = 1; +} + +message CMsgGCToClientAggregateMetricsBackoff { + optional float upload_rate_modifier = 1; +} + +message CMsgGCToServerSteamLearnAccessTokensChanged { + optional .CMsgSteamLearnAccessTokens access_tokens = 1; +} + +message CMsgGCToServerSteamLearnUseHTTP { + 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 new file mode 100644 index 00000000..ad0faa2e --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_client.proto @@ -0,0 +1,1752 @@ +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"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EGCCitadelClientMessages { + k_EMsgClientToGCStartMatchmaking = 9010; + k_EMsgClientToGCStartMatchmakingResponse = 9011; + k_EMsgClientToGCStopMatchmaking = 9012; + k_EMsgClientToGCStopMatchmakingResponse = 9013; + k_EMsgGCToClientMatchmakingStopped = 9014; + k_EMsgClientToGCLeaveLobby = 9015; + k_EMsgClientToGCLeaveLobbyResponse = 9016; + k_EMsgClientToGCIsInMatchmaking = 9017; + k_EMsgClientToGCIsInMatchmakingResponse = 9018; + k_EMsgGCToClientDevPlaytestStatus = 9019; + k_EMsgClientToGCDevSetMMBias = 9023; + k_EMsgClientToGCGetProfileCard = 9024; + k_EMsgClientToGCGetProfileCardResponse = 9025; + 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; + k_EMsgClientToGCSetServerConVar = 9107; + k_EMsgClientToGCSetServerConVarResponse = 9108; + k_EMsgClientToGCSpectateLobby = 9109; + k_EMsgClientToGCSpectateLobbyResponse = 9110; + k_EMsgClientToGCPostMatchSurveyResponse = 9111; + k_EMsgClientToGCGetMatchHistory = 9112; + k_EMsgClientToGCGetMatchHistoryResponse = 9113; + k_EMsgClientToGCSpectateUser = 9116; + k_EMsgClientToGCSpectateUserResponse = 9117; + k_EMsgClientToGCPartyCreate = 9123; + k_EMsgClientToGCPartyCreateResponse = 9124; + k_EMsgClientToGCPartyLeave = 9125; + k_EMsgClientToGCPartyLeaveResponse = 9126; + k_EMsgClientToGCPartyJoin = 9127; + k_EMsgClientToGCPartyJoinResponse = 9128; + k_EMsgClientToGCPartyAction = 9129; + k_EMsgClientToGCPartyActionResponse = 9130; + k_EMsgClientToGCPartyStartMatch = 9131; + k_EMsgClientToGCPartyStartMatchResponse = 9132; + k_EMsgClientToGCPartyInviteUser = 9133; + k_EMsgClientToGCPartyInviteUserResponse = 9134; + k_EMsgGCToClientPartyEvent = 9135; + k_EMsgGCToClientCanRejoinParty = 9137; + k_EMsgClientToGCPartyJoinViaCode = 9138; + k_EMsgClientToGCPartyJoinViaCodeResponse = 9139; + k_EMsgClientToGCPartySetReadyState = 9142; + k_EMsgClientToGCPartySetReadyStateResponse = 9143; + k_EMsgClientToGCGetAccountStats = 9164; + k_EMsgClientToGCGetAccountStatsResponse = 9165; + k_EMsgGCToClientAccountStatsUpdated = 9166; + k_EMsgClientToGCGetMatchMetaData = 9167; + k_EMsgClientToGCGetMatchMetaDataResponse = 9168; + k_EMsgClientToGCDevAction = 9172; + k_EMsgClientToGCDevActionResponse = 9173; + k_EMsgClientToGCRecordClientEvents = 9174; + k_EMsgClientToGCRecordClientEventsResponse = 9175; + k_EMsgClientToGCSetNewPlayerProgress = 9176; + k_EMsgClientToGCSetNewPlayerProgressResponse = 9177; + k_EMsgClientToGCUpdateAccountSync = 9178; + k_EMsgClientToGCUpdateAccountSyncResponse = 9179; + k_EMsgClientToGCGetHeroChoice = 9180; + k_EMsgClientToGCGetHeroChoiceResponse = 9181; + k_EMsgClientToGCUnlockHero = 9182; + k_EMsgClientToGCUnlockHeroResponse = 9183; + k_EMsgClientToGCBookUnlock = 9184; + k_EMsgClientToGCBookUnlockResponse = 9185; + k_EMsgClientToGCGetBook = 9186; + k_EMsgClientToGCGetBookResponse = 9187; + k_EMsgGCToClientBookUpdated = 9188; + k_EMsgClientToGCSubmitPlaytestUser = 9189; + k_EMsgClientToGCSubmitPlaytestUserResponse = 9190; + k_EMsgClientToGCUpdateHeroBuild = 9193; + k_EMsgClientToGCUpdateHeroBuildResponse = 9194; + k_EMsgClientToGCFindHeroBuilds = 9195; + k_EMsgClientToGCFindHeroBuildsResponse = 9196; + k_EMsgClientToGCReportPlayerFromMatch = 9197; + k_EMsgClientToGCReportPlayerFromMatchResponse = 9198; + k_EMsgClientToGCGetAccountMatchReports = 9199; + k_EMsgClientToGCGetAccountMatchReportsResponse = 9200; + k_EMsgClientToGCDeleteHeroBuild = 9201; + k_EMsgClientToGCDeleteHeroBuildResponse = 9202; + k_EMsgClientToGCGetActiveMatches = 9203; + k_EMsgClientToGCGetActiveMatchesResponse = 9204; + k_EMsgClientToGCGetDiscordLink = 9205; + k_EMsgClientToGCGetDiscordLinkResponse = 9206; + k_EMsgClientToGCPartySetMode = 9207; + k_EMsgClientToGCPartySetModeResponse = 9208; + k_EMsgClientToGCGrantForumAccess = 9209; + k_EMsgClientToGCGrantForumAccessResponse = 9210; + k_EMsgClientToGCModeratorRequest = 9211; + k_EMsgClientToGCModeratorRequestResponse = 9212; + k_EMsgClientToGCGetFriendGameStatus = 9213; + k_EMsgClientToGCGetFriendGameStatusResponse = 9214; + k_EMsgClientToGCUpdateHeroBuildPreference = 9215; + k_EMsgClientToGCUpdateHeroBuildPreferenceResponse = 9216; + k_EMsgClientToGCUpdateSpectatorStatus = 9219; + k_EMsgClientToGCCommendPlayerFromMatch = 9223; + k_EMsgClientToGCCommendPlayerFromMatchResponse = 9224; + k_EMsgGCToClientCommendNotification = 9225; + k_EMsgGCToClientHeroLabsSchedule = 9228; + k_EMsgClientToGCDevRequestCheatReports = 9230; + k_EMsgClientToGCDevRequestCheatReportsResponse = 9231; + k_EMsgClientToGCDevBan = 9232; + k_EMsgClientToGCDevBanResponse = 9233; + k_EMsgClientToGCGetHeroMMRRankings = 9234; + k_EMsgClientToGCGetHeroMMRRankingsResponse = 9235; + k_EMsgClientToGCGetLeaderboard = 9236; + k_EMsgClientToGCGetLeaderboardResponse = 9237; + k_EMsgClientToGCGetAccountLeaderboards = 9238; + k_EMsgClientToGCGetAccountLeaderboardsResponse = 9239; + k_EMsgClientToGCTarotGetUserData = 9242; + k_EMsgClientToGCTarotGetUserDataResponse = 9243; + k_EMsgGCToClientTarotUserDataUpdated = 9244; + k_EMsgClientToGCTarotPlaceTile = 9245; + k_EMsgClientToGCTarotPlaceTileResponse = 9246; + k_EMsgClientToGCTarotApplyRune = 9247; + k_EMsgClientToGCTarotApplyRuneResponse = 9248; + k_EMsgClientToGCTarotCompleteBoard = 9249; + k_EMsgClientToGCTarotCompleteBoardResponse = 9250; + k_EMsgClientToGCTarotDevCreateTile = 9251; + k_EMsgClientToGCTarotDevCreateTileResponse = 9252; + k_EMsgClientToGCTarotDevCreateBoard = 9253; + k_EMsgClientToGCTarotDevCreateBoardResponse = 9254; + k_EMsgClientToGCTarotDevGenerateTestTiles = 9255; + k_EMsgClientToGCTarotDevGenerateTestTilesResponse = 9256; + k_EMsgClientToGCTarotDevModifyEnergy = 9257; + k_EMsgClientToGCTarotDevModifyEnergyResponse = 9258; + k_EMsgClientToGCGenerateChallengeSet = 9259; + k_EMsgClientToGCGenerateChallengeSetResponse = 9260; + k_EMsgClientToGCChallengeActivate = 9261; + k_EMsgClientToGCChallengeActivateResponse = 9262; + k_EMsgClientToGCChallengeClaim = 9263; + k_EMsgClientToGCChallengeClaimResponse = 9264; + k_EMsgClientToGCChallengeCancel = 9265; + k_EMsgClientToGCChallengeCancelResponse = 9266; + k_EMsgClientToGCGetSurveyQuestion = 9267; + k_EMsgClientToGCGetSurveyQuestionResponse = 9268; + k_EMsgClientToGCSubmitSurvey = 9269; + k_EMsgClientToGCSubmitSurveyResponse = 9270; + k_EMsgClientToGCGetRankData = 9271; + k_EMsgGCToClientGetRankDataResponse = 9272; + k_EMsgGCToClientRankDataUpdate = 9273; + k_EMsgClientToGCGetHideoutSDRTicket = 9274; + k_EMsgClientToGCGetHideoutSDRTicketResponse = 9275; + k_EMsgClientToGCSubmitHeroReleaseVote = 9276; + k_EMsgClientToGCPartySendChatMsg = 9277; + k_EMsgClientToGCPartySendChatMsgResponse = 9278; + k_EMsgGCToClientPartyChatMsg = 9279; + k_EMsgClientToGCRequestHeroReleaseVoteStatus = 9280; + k_EMsgGCToClientUpdateHeroReleaseVoteStatus = 9281; +} + +enum ECitadelAccountPermissionFlag { + k_eAccountPermission_Ranked = 1; +} + +enum ECitadelNewPlayerProgressFlag { + k_eNewPlayerProgress_GettingStarted = 1; + k_eNewPlayerProgress_HeroTraining = 2; + k_eNewPlayerProgress_LaneTraining = 3; +} + +enum EProfileCardSlotType { + k_EProfileCardSlotType_Empty = 0; + k_EProfileCardSlotType_Stat = 1; + k_EProfileCardSlotType_Hero = 2; +} + +enum EDevBanReason { + k_eDevBanReason_Unspecified = 0; + k_eDevBanReason_AimAssist = 1; + k_eDevBanReason_VisionAssist = 2; + k_eDevBanReason_MovementAssist = 3; +} + +enum ECitadelClientAccountEvent { + k_eLaunchedHeroTest = 1; + k_eViewedProfile = 2; + k_eViewedSocial = 3; + k_eViewedHeroes = 4; + k_eViewedHeroDetails = 5; + k_eViewedPatchNotes = 6; + k_eViewedEvents = 7; + k_eViewedGettingStarted = 8; + k_eViewedGuidePage = 9; + k_eLaunchedClient = 10; + k_eEditRoster = 11; + k_eViewedWatch = 12; + k_eCreatedParty = 13; + k_eCreatedPartyWithInvite = 14; + k_eViewedSelfProfile = 15; + k_eJoinedPartyCode = 16; + k_eSentPartyInvite = 17; + k_eAcceptPartyInvite = 18; + k_eRejectPartyInvite = 19; + k_eSpectateUser = 20; + k_eSpectateMatch = 21; + k_eEnteredMatchMaking = 22; + k_eLeftMatchMaking = 23; + k_eEnteredPartyMatchMaking = 24; + k_eLeftPartyMatchMaking = 25; + k_eDownloadedReplay = 26; + k_eWatchedReplay = 27; + k_eViewMatchDetails = 28; + k_eMatchDetailsTab = 29; + k_eDeleteReplay = 30; + k_eBotMatch_Guided = 31; + k_eBotMatch_Easy = 32; + k_eBotMatch_Hard = 33; + k_eLiveUpdatedRoster = 34; + k_eMatchMakingIdle_Displayed = 35; + k_eMatchMakingIdle_Stopped = 36; + k_eConnectReacquireTicket = 37; + k_eConnectAttemptReconnect = 38; + k_eDisconnectPresentedPrompt = 39; + k_eDisconnectConfirmed = 40; + k_eViewedSettings_Options = 41; + k_eViewedSettings_Video = 42; + k_eViewedSettings_Audio = 43; + k_eViewedSettings_HotKey = 44; + k_eViewedSettings_ChatWheel = 45; + k_eViewedSettings_About = 46; + k_eOpenedSubmitFeedback = 47; + k_eTutorialSkip_Pressed = 48; + k_eTutorialSkip_Confirmed = 49; + k_eViewedGuidePage_5s = 50; + k_eViewedGuidePage_15s = 51; + k_eViewedGuidePage_30s = 52; + k_eViewedGuidePage_60s = 53; + k_eOpenedBookTest = 54; + k_eSandboxViaHeroPage = 55; + k_eViewedSettings_SteamInput = 56; + k_eViewedSettings_Social = 57; + k_eCalibrationMatch = 58; + k_eSandboxViaPlayMenu = 59; + k_eBotMatch_Medium = 60; + k_eSandboxViaHideoutTeleport = 61; +} + +enum ECommendType { + k_eInvalid = 0; + k_eGeneric = 1; + k_eFriendly = 2; + k_eTeamwork = 3; + k_eSkilled = 4; +} + +message CSOGameAccountClient { + enum EFlags { + k_eDeveloper = 1; + k_eExternalModerator = 2; + k_eGotInitialHeroes = 4; + k_eHideHolidayModels = 8; + k_eClaimedDiscordLink = 16; + k_eClaimedForum = 32; + k_eAccountBanned = 64; + } + + optional uint32 account_id = 1 [(key_field) = true]; + optional uint64 flags = 2; + optional uint32 wins = 3; + optional uint32 losses = 4; + optional uint32 kills = 5; + optional uint32 most_played_hero_id = 6; + optional uint64 permissions = 7; + optional uint64 new_player_progress = 8; + optional uint32 hero_unlock_credits = 9; + optional uint32 mm_ban_until = 10; + 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 hero_labs_matches_since_test_hero = 21; +} + +message CSOAccountSyncStorage { + optional uint32 account_id = 1; + optional uint32 id = 2; + optional uint32 value = 3; +} + +message CSOAccountHeroInfo { + enum EHeroStatus { + k_eLocked = 0; + k_eOwned = 1; + } + + optional uint32 account_id = 1 [(key_field) = true]; + 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; +} + +message CSOAccountChallenge { + enum EChallengeStatus { + k_eInvalid = 0; + k_eRejected = 1; + k_eActiveChoice = 2; + k_eActive = 3; + k_eCompleted = 4; + k_eExpired = 5; + } + + enum ERewardType { + k_eReward_HeroXP = 0; + } + + optional uint32 account_id = 1 [(key_field) = true]; + optional uint64 challenge_id = 2; + optional .CSOAccountChallenge.EChallengeStatus status = 3 [default = k_eInvalid]; + optional uint32 progress = 4; + optional uint32 max_progress = 5; + optional uint32 choice_group = 6; + optional .CSOAccountChallenge.ERewardType reward_type = 7 [default = k_eReward_HeroXP]; + optional uint32 reward_param = 8; + optional uint32 reward_amount = 9; +} + +message CMsgCitadelClientHello { +} + +message CMsgClientToGCStartMatchmaking { + optional uint32 client_version = 1; + optional .EGCPlatform client_platform = 2 [default = k_eGCPlatform_None]; + optional .CMsgStartFindingMatchInfo match_info = 3; + optional .CMsgRegionPingTimesClient ping_times = 4; + optional .CMsgHeroSelectionMatchInfo heroes = 5; +} + +message CMsgClientToGCStartMatchmakingResponse { + enum EResultCode { + k_EResult_OK = 0; + k_EResult_AlreadyFindingMatch = 1; + k_EResult_PartyMemberInLobby = 2; + k_EResult_InvalidClientVersion = 3; + k_EResult_MatchmakingDisabled = 4; + k_EResult_MatchmakingTooBusy = 5; + k_EResult_InternalError = 6; + k_EResult_NoRegionPings = 7; + k_EResult_InParty = 8; + k_EResult_ModeLocked = 9; + k_EResult_ModeBanned = 10; + k_EResult_RegionInfoNotProvided = 11; + k_EResult_DurationControlBlocked = 12; + k_EResult_InvalidHeroSelection = 13; + k_EResult_HeroesNotUnlocked = 14; + k_EResult_PermanentBan = 15; + k_EResult_RankedMMNotOpen = 16; + k_EResult_RankedNotUnlocked = 17; + k_EResult_NoRankedWhileInLowPri = 18; + k_EResult_NoRankedWhileCommsBanned = 19; + k_EResult_NoRankedWhileReportBanned = 20; + k_EResult_HeroLabsMMNotOpen = 21; + k_EResult_HeroLabsNotUnlocked = 22; + k_EResult_NoHeroLabsWhileInLowPri = 23; + k_EResult_AccountLocked = 24; + k_EResult_TooManyLimitedHeroes = 25; + } + + optional .CMsgClientToGCStartMatchmakingResponse.EResultCode result = 1 [default = k_EResult_OK]; + optional uint32 time_stamp = 2; + optional string debug_message = 3; +} + +message CMsgClientToGCStopMatchmaking { +} + +message CMsgClientToGCStopMatchmakingResponse { + optional bool success = 1; +} + +message CMsgGCToClientMatchmakingStopped { + enum EReason { + k_EResult_Unspecified = 0; + k_EResult_VersionUpdated = 1; + k_EResult_RankedClosed = 2; + k_EResult_HeroLabsClosed = 3; + } + + optional .CMsgGCToClientMatchmakingStopped.EReason reason = 1 [default = k_EResult_Unspecified]; +} + +message CMsgClientToGCLeaveLobby { + optional uint64 lobby_id = 1; +} + +message CMsgClientToGCLeaveLobbyResponse { +} + +message CMsgClientWelcomeCitadel { + optional uint32 currency = 1; + repeated .CExtraMsgBlock extra_messages = 2; + optional uint32 compatibility_version = 3; + optional .ECitadelRegionMode region_mode = 4 [default = k_ECitadelRegionMode_ROW]; +} + +message CMsgClientToGCIsInMatchmaking { +} + +message CMsgClientToGCIsInMatchmakingResponse { + optional bool in_matchmaking = 1; +} + +message CMsgDevMatchInfo { + message MatchPlayer { + optional uint32 account_id = 1; + optional .ECitadelLobbyTeam team = 2 [default = k_ECitadelLobbyTeam_Team0]; + optional bool abandoned = 3; + optional uint32 hero_id = 4; + } + + optional uint32 start_time = 1; + optional .ECitadelLobbyTeam winning_team = 2 [default = k_ECitadelLobbyTeam_Team0]; + optional uint64 match_id = 3; + repeated .CMsgDevMatchInfo.MatchPlayer players = 4; + optional fixed64 lobby_id = 5; + optional uint32 game_mode_version = 6; + optional uint32 net_worth_team_0 = 9; + optional uint32 net_worth_team_1 = 10; + optional uint32 duration_s = 11; + optional uint32 spectators = 12; + optional uint32 open_spectator_slots = 13; + optional uint64 objectives_mask_team0 = 14; + optional uint64 objectives_mask_team1 = 15; + optional .ECitadelMatchMode match_mode = 16 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 17 [default = k_ECitadelGameMode_Invalid]; + optional uint32 match_score = 18; + optional .ECitadelRegionMode region_mode = 19 [default = k_ECitadelRegionMode_ROW]; + optional uint32 compat_version = 20; +} + +message CMsgGCToClientDevPlaytestStatus { + message HeroWhitelist { + optional uint32 hero_id = 1; + repeated uint32 account_ids = 2; + } + + message DevQueueSize { + optional .ECitadelMatchMode match_mode = 1 [default = k_ECitadelMatchMode_Invalid]; + optional uint32 queue_size = 2; + } + + repeated .CMsgGCToClientDevPlaytestStatus.DevQueueSize dev_queue_size = 1; + optional uint32 dev_available_servers = 2; + optional uint32 coop_bot_max_wait_s = 3; + optional bool is_mm_enabled = 4; + optional bool locked_heroes = 8; + optional bool party_shared_heroes = 9; + repeated .CMsgGCToClientDevPlaytestStatus.HeroWhitelist hero_whitelists = 10; + optional uint32 mm_pause_time = 14; + repeated uint32 valid_client_versions = 15; + optional uint32 active_match_count = 21; + optional uint32 roster_non_limited_heroes = 22; +} + +message CMsgGCToClientSDRTicket { + optional bytes ticket = 1; +} + +message CMsgClientToGCReplacementSDRTicket { + optional fixed64 lobby_id = 1; +} + +message CMsgClientToGCReplacementSDRTicketResponse { + optional bytes ticket = 1; + optional string error_message = 2; +} + +message CMsgClientToGCGetHideoutSDRTicket { + optional fixed64 lobby_id = 1; +} + +message CMsgClientToGCGetHideoutSDRTicketResponse { + optional bytes ticket = 1; + optional string error_message = 2; +} + +message CMsgClientToGCSetServerConVar { + optional string convar_name = 1; + optional string convar_value = 2; + optional fixed64 lobby_id = 3; +} + +message CMsgClientToGCSetServerConVarResponse { + optional string message = 1; +} + +message CMsgClientToGCPostMatchSurveyResponse { + message PostMatchSurvey { + optional uint32 question_id = 1; + optional uint32 response_value = 2; + optional string response_freeform = 3; + } + + repeated .CMsgClientToGCPostMatchSurveyResponse.PostMatchSurvey post_match_survey = 1; + optional uint64 match_id = 2; +} + +message CMsgPartyMMInfo { + optional .EGCPlatform platform = 1 [default = k_eGCPlatform_None]; + optional .CMsgRegionPingTimesClient ping_times = 2; + optional uint32 client_version = 3; + optional .ECitadelRegionMode region_mode = 4 [default = k_ECitadelRegionMode_ROW]; +} + +message CMsgClientToGCPartyCreate { + optional .CMsgPartyMMInfo party_mm_info = 1; + optional uint32 invite_account_id = 3; + optional bool disable_party_code = 4; + optional bool is_private_lobby = 5; + optional .ECitadelRegionMode region_mode = 6 [default = k_ECitadelRegionMode_ROW]; + optional string server_search_key = 7; + optional .ECitadelMMPreference mm_preference = 8 [default = k_ECitadelMMPreference_Invalid]; + optional .CSOCitadelParty.PrivateLobbySettings private_lobby_settings = 9; + optional .ECitadelBotDifficulty bot_difficulty = 10 [default = k_ECitadelBotDifficulty_None]; + optional string hideout_search_key = 11; + optional bool dev_force_hideout = 12; +} + +message CMsgClientToGCPartyCreateResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eAlreadyInParty = 2; + k_eDisabled = 3; + k_eInvalidVersion = 4; + k_eNoRegionPings = 5; + k_eTooBusy = 6; + k_eRateLimited = 7; + k_eNotFriends = 8; + k_eRegionInfoNotProvided = 9; + k_eDurationControlBlocked = 10; + k_eInMatchmaking = 11; + k_ePlayerDoesntHaveGame = 12; + } + + optional .CMsgClientToGCPartyCreateResponse.EResponse result = 1 [default = k_eInternalError]; + optional fixed64 party_id = 2; +} + +message CMsgClientToGCPartyLeave { + optional fixed64 party_id = 1; +} + +message CMsgClientToGCPartyLeaveResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eNotInParty = 2; + k_eInMatchMaking = 3; + } + + optional .CMsgClientToGCPartyLeaveResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCPartyJoin { + optional fixed64 party_id = 1; + optional bool is_rejoin = 2; + optional .CMsgPartyMMInfo party_mm_info = 3; +} + +message CMsgClientToGCPartyJoinResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eAlreadyInParty = 2; + k_eDisabled = 3; + k_eInvalidPartyID = 4; + k_eInvalidPermissions = 5; + k_eInvalidVersion = 6; + k_eNoRegionPings = 7; + k_eTooBusy = 8; + k_eInvalidCode = 9; + k_eRateLimited = 10; + k_eRegionInfoNotProvided = 11; + k_eDurationControlBlocked = 12; + k_ePartyInMatchMaking = 13; + k_eInMatchmaking = 14; + k_ePartyFull = 15; + } + + optional .CMsgClientToGCPartyJoinResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCPartyAction { + enum EAction { + k_eKickUser = 1; + k_eCancelInvite = 2; + k_eCancelFindMatch = 3; + k_eSetPlayerType = 5; + k_eEnablePartyCode = 7; + k_eSetMemberTeam = 8; + k_eSetChatMode = 9; + k_eSetPlayerSlot = 10; + k_eSetRegionMode = 11; + k_eSetSearchKey = 12; + k_eSetBotDifficulty = 13; + k_eSetRandomizedLanes = 14; + k_eSetServerRegion = 15; + k_eSetPubliclyVisible = 16; + k_eSetCheatsEnabled = 17; + k_eSwapTeams = 18; + k_eShuffleLobby = 19; + k_eShuffleLanes = 20; + k_eSetDuplicateHeroesEnabled = 21; + k_eSetExperimentalHeroesEnabled = 22; + k_eSetDesiresLaningTogether = 23; + k_eSetMMPreference = 24; + } + + optional fixed64 party_id = 1; + optional uint32 target_account_id = 2; + optional .CMsgClientToGCPartyAction.EAction action_id = 3 [default = k_eKickUser]; + optional uint64 uint_value = 4; + optional bool bool_value = 5; + optional string str_value = 6; +} + +message CMsgClientToGCPartyActionResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eInvalidPartyID = 2; + k_eInvalidPermissions = 3; + k_eInvalidTarget = 4; + k_eInvalidValue = 5; + k_eInMatchMaking = 6; + k_eInMatch = 7; + k_eDisabled = 8; + k_eTooBusy = 9; + k_eRateLimited = 10; + k_eCannotChangeWhileReady = 12; + k_eSlotTaken = 13; + } + + optional .CMsgClientToGCPartyActionResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCPartySetMode { + optional fixed64 party_id = 1; + optional .ECitadelMatchMode match_mode = 2 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 3 [default = k_ECitadelGameMode_Invalid]; + optional .ECitadelBotDifficulty bot_difficulty = 4 [default = k_ECitadelBotDifficulty_None]; + optional string dev_server_command = 5; + optional .ECitadelRegionMode region_mode = 6 [default = k_ECitadelRegionMode_ROW]; +} + +message CMsgClientToGCPartySetModeResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eInvalidPartyID = 2; + k_eInvalidPermissions = 3; + k_ePlayerPermanentBanned = 4; + k_eInvalidValue = 5; + k_eInMatchMaking = 6; + k_eInMatch = 7; + k_eDisabled = 8; + k_eTooBusy = 9; + k_eRateLimited = 10; + k_eAlreadyDrafting = 11; + k_eCannotChangeWhileReady = 12; + k_eTooFewPlayers = 13; + k_eTooManyPlayers = 14; + k_ePlayerBanned = 15; + k_eTooManyHighMMR = 16; + k_eFiveStacksNotAllowed = 18; + k_eRankedMMNotOpen = 19; + k_eRankedNotunlocked = 20; + k_eHeroLabsMMNotOpen = 21; + k_eHeroLabsNotUnlocked = 22; + k_eNoHeroLabsWhileInLowPri = 23; + k_eNoHighRangeFiveStack = 24; + k_eAccountLocked = 25; + } + + optional .CMsgClientToGCPartySetModeResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 time_stamp = 2; + optional uint32 account_id = 3; +} + +message CMsgClientToGCPartyStartMatch { + optional fixed64 party_id = 1; +} + +message CMsgClientToGCPartyStartMatchResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 2; + k_eInvalidPartyID = 3; + k_eInvalidPermissions = 4; + k_eTooBusy = 5; + k_eInMatchmaking = 6; + k_eInMatch = 7; + k_eInvalidVersion = 10; + k_ePlayersNotReady = 11; + k_eCannotSelectRegion = 12; + k_eNotAllPlayersAvailable = 13; + k_eTooManyPlayersForMM = 14; + k_eTooManyPlayersForPrivate = 15; + k_eTooManySpectatorsForMM = 16; + k_eTooManySpectatorsForPrivate = 17; + k_eTooFewPlayersForMM = 18; + k_eTooFewPlayersForPrivate = 19; + k_eMismatchedVersions = 20; + k_eInvalidPartyMatchMode = 21; + k_ePlayerBannedFromMode = 22; + k_eTooManyPlayersOnTeam = 23; + k_eInvalidTeam = 24; + k_eInvalidHeroLineup = 25; + k_eInvalidGroupHeroLineup = 26; + k_eUnassignedPlayers = 27; + k_eRankedMMNotOpen = 28; + k_eHeroLabsMMNotOpen = 29; + k_eHeroLabsNotUnlocked = 30; + k_eNoHeroLabsWhileInLowPri = 31; + } + + optional .CMsgClientToGCPartyStartMatchResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 account_id = 2; +} + +message CMsgClientToGCPartyInviteUser { + optional fixed64 party_id = 1; + optional uint32 invite_account_id = 2; +} + +message CMsgClientToGCPartyInviteUserResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eAlreadyInvited = 2; + k_eInvalidPermissions = 3; + k_eInvalidPartyID = 4; + k_eDisabled = 5; + k_eTooManyInvites = 6; + k_eNotFriends = 7; + k_eTooBusy = 8; + k_eRateLimited = 9; + k_eInvalidPartyMode = 10; + k_ePlayerDoesntHaveGame = 11; + } + + optional .CMsgClientToGCPartyInviteUserResponse.EResponse result = 1 [default = k_eInternalError]; + optional bool user_online = 2; +} + +message CMsgGCToClientPartyEvent { + enum EEvent { + k_ePlayerKicked = 1; + k_eJoinedParty = 3; + k_eMatchCompleted = 4; + k_eMatchMakingStopped_User = 5; + k_eMatchMakingStopped_Version = 6; + k_eMatchMakingStopped_NoServerRegion = 7; + k_eLeftParty = 8; + k_eDeclinedInvite = 9; + k_eMatchMakingStopped_FailedOther = 10; + k_eDraftEnded_User = 11; + k_eStartDraftMMFailed = 12; + k_eMatchMakingStopped_Cancelled = 13; + } + + optional fixed64 party_id = 1; + optional .CMsgGCToClientPartyEvent.EEvent event = 2 [default = k_ePlayerKicked]; + optional uint32 initiator_account_id = 3; + optional uint32 target_account_id = 4; + optional bytes bytes_data = 5; + optional string str_data = 6; + optional uint64 uint_data = 7; +} + +message CMsgGCToClientCanRejoinParty { + optional fixed64 party_id = 1; +} + +message CMsgClientToGCPartyJoinViaCode { + optional uint64 join_code = 1; + optional .CMsgPartyMMInfo party_mm_info = 2; +} + +message CMsgClientToGCPartyJoinViaCodeResponse { + optional .CMsgClientToGCPartyJoinResponse.EResponse result = 1 [default = k_eInternalError]; + optional fixed64 party_id = 2; +} + +message CMsgClientToGCPartySetReadyState { + optional fixed64 party_id = 1; + optional bool ready_state = 2; + optional .CMsgHeroSelectionMatchInfo hero_roster = 3; +} + +message CMsgClientToGCPartySetReadyStateResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eInvalidPermissions = 2; + k_eDisabled = 3; + k_eTooBusy = 4; + k_eRateLimited = 5; + k_eInvalidRoster = 6; + k_eMatchForming = 7; + k_eInvalidGroupRoster = 8; + k_eInMatch = 9; + k_eHeroesNotUnlocked = 10; + k_eModeLocked = 11; + k_eModeBanned = 12; + k_eTooManyLimitedHeroes = 13; + } + + optional .CMsgClientToGCPartySetReadyStateResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCDevSetMMBias { + optional uint32 account_id = 1; + optional uint32 value = 2; +} + +message CMsgClientToGCGetMatchHistory { + optional uint32 account_id = 1; + optional uint64 continue_cursor = 2; + optional uint32 ranked_interval = 3; +} + +message CMsgClientToGCGetMatchHistoryResponse { + message Match { + optional uint64 match_id = 1; + optional uint32 hero_id = 2; + optional uint32 match_duration_s = 3; + optional uint32 start_time = 4; + optional uint32 match_result = 5; + optional .ECitadelLobbyTeam player_team = 6 [default = k_ECitadelLobbyTeam_Team0]; + optional uint32 player_kills = 7; + optional uint32 player_deaths = 8; + optional uint32 player_assists = 9; + optional uint32 last_hits = 11; + optional uint32 denies = 12; + optional uint32 hero_level = 13; + optional uint32 net_worth = 14; + optional uint64 objectives_mask_team0 = 15; + optional uint64 objectives_mask_team1 = 16; + optional bool team_abandoned = 17; + 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; + } + + enum EResult { + k_eResult_InternalError = 0; + k_eResult_Success = 1; + k_eResult_InvalidPermission = 2; + k_eResult_TemporarilyDisabled = 3; + k_eResult_TooBusy = 4; + k_eResult_RateLimited = 5; + } + + optional .CMsgClientToGCGetMatchHistoryResponse.EResult result = 1 [default = k_eResult_InternalError]; + optional uint64 continue_cursor = 2; + repeated .CMsgClientToGCGetMatchHistoryResponse.Match matches = 3; +} + +message CMsgClientToGCSpectateUser { + optional uint32 spectate_account_id = 1; + optional uint32 client_version = 3; + optional .EGCPlatform client_platform = 4 [default = k_eGCPlatform_None]; +} + +message CMsgClientToGCSpectateUserResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 2; + k_eTooBusy = 3; + k_eRateLimited = 4; + k_eNotInGame = 5; + k_eDisabledForGame = 6; + k_eServerFull = 7; + k_eNotFriends = 8; + k_eRegionInfoNotProvided = 9; + k_eDurationControlBlocked = 10; + k_eInvalidClientVersion = 11; + k_eInvalidRegion = 12; + } + + optional .CMsgClientToGCSpectateUserResponse.EResponse result = 1 [default = k_eInternalError]; + optional fixed64 server_steam_id = 3; + optional bytes sdr_key = 4; + optional uint32 udp_connect_ip = 5; + optional uint32 udp_connect_port = 6; + optional fixed64 lobby_id = 7; + optional string client_broadcast_url = 8; +} + +message CMsgClientToGCSpectateLobby { + optional uint64 lobby_id = 1; + optional uint32 client_version = 3; + optional .EGCPlatform client_platform = 4 [default = k_eGCPlatform_None]; + optional uint64 match_id = 5; +} + +message CMsgClientToGCSpectateLobbyResponse { + optional .CMsgClientToGCSpectateUserResponse result = 1; +} + +message CMsgClientToGCGetProfileCard { + optional uint32 account_id = 1; + optional bool dev_access_hint = 2; + optional bool friend_access_hint = 3; +} + +message CMsgCitadelProfileCard { + message Slot { + message Stat { + optional .CMsgCitadelProfileCard.EStatID stat_id = 1 [default = k_eStat_Invalid]; + optional uint32 stat_score = 2; + } + + message Hero { + optional uint32 hero_id = 1; + optional uint32 hero_wins = 2; + optional uint32 hero_kills = 3; + } + + optional uint32 slot_id = 1; + optional .CMsgCitadelProfileCard.Slot.Stat stat = 2; + optional .CMsgCitadelProfileCard.Slot.Hero hero = 3; + } + + enum EStatID { + k_eStat_Invalid = 0; + k_eStat_Wins = 1; + k_eStat_Kills = 2; + k_eStat_GamesPlayed = 3; + } + + optional uint32 account_id = 1; + repeated .CMsgCitadelProfileCard.Slot slots = 2; + optional uint32 ranked_badge_level = 3; +} + +message CMsgClientToGCUpdateRoster { + optional .CMsgHeroSelectionMatchInfo heroes = 1; + optional .ECitadelGameMode game_mode = 2 [default = k_ECitadelGameMode_Invalid]; + optional .ECitadelMatchMode match_mode = 3 [default = k_ECitadelMatchMode_Invalid]; +} + +message CMsgClientToGCUpdateRosterResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 2; + k_eTooBusy = 3; + k_eRateLimited = 4; + k_eMMBusy = 5; + k_eInvalidHeroSelection = 6; + k_eHeroesNotUnlocked = 7; + } + + optional .CMsgClientToGCUpdateRosterResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCGetAccountStats { + optional uint32 account_id = 1; + optional bool dev_access_hint = 2; + optional bool friend_access_hint = 3; +} + +message CMsgClientToGCGetAccountStatsResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 2; + k_eTooBusy = 3; + k_eRateLimited = 4; + k_eInvalidPermissions = 5; + } + + optional .CMsgClientToGCGetAccountStatsResponse.EResult result = 1 [default = k_eInternalError]; + optional .CMsgAccountStats stats = 2; +} + +message CMsgClientToGCGetMatchMetaData { + optional uint64 match_id = 1; + optional uint32 metadata_salt = 3; + optional uint32 target_account_id = 4; +} + +message CMsgClientToGCGetMatchMetaDataResponse { + enum EResult { + k_eResult_InternalError = 0; + k_eResult_Success = 1; + k_eResult_InvalidPermission = 2; + k_eResult_TemporarilyDisabled = 3; + k_eResult_TooBusy = 4; + k_eResult_RateLimited = 5; + k_eResult_InvalidMatch = 6; + k_eResult_MatchInFlight = 7; + k_eResult_Timeout = 8; + } + + optional .CMsgClientToGCGetMatchMetaDataResponse.EResult result = 1 [default = k_eResult_InternalError]; + optional uint32 replay_salt = 2; + optional uint32 metadata_salt = 3; + optional uint32 replay_valid_through = 4; + optional uint32 replay_group_id = 5; + 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; + k_eSetMMR = 2; + k_eSetMMRUncertainty = 3; + k_eSetHeroStatus = 4; + k_eSetPermission = 5; + k_eSetNewPlayerProgress = 6; + k_eForceAccountStorage = 7; + k_eBookReset = 9; + k_eBookXPGrant = 10; + k_eBanAccount = 11; + k_eExonerateAccount = 12; + k_eRequireAccountInMM = 13; + k_eResetAccountSurvey = 14; + } + + optional .CMsgClientToGCDevAction.EAction action = 1 [default = k_eSetDeveloper]; + optional uint32 account_id = 2; + optional uint32 uint_value = 3; + optional int32 int_value = 4; + optional bool bool_value = 5; + optional string str_value = 6; + optional uint64 match_id = 7; +} + +message CMsgClientToGCDevActionResponse { + enum EResult { + k_eSuccess = 0; + k_eInvalidPermission = 1; + k_eInvalidTarget = 2; + k_eInternalError = 3; + } + + optional .CMsgClientToGCDevActionResponse.EResult result = 1 [default = k_eSuccess]; +} + +message CMsgClientToGCRecordClientEvents { + message Event { + optional uint32 time_stamp = 1; + optional .ECitadelClientAccountEvent event_id = 2 [default = k_eLaunchedHeroTest]; + optional uint64 event_data = 3; + optional uint32 client_event_index = 4; + } + + repeated .CMsgClientToGCRecordClientEvents.Event events = 1; + optional uint32 client_run_token = 2; +} + +message CMsgClientToGCRecordClientEventsResponse { + optional bool success = 1; +} + +message CMsgClientToGCSetNewPlayerProgress { + optional .ECitadelNewPlayerProgressFlag flag = 1 [default = k_eNewPlayerProgress_GettingStarted]; +} + +message CMsgClientToGCSetNewPlayerProgressResponse { + optional bool success = 1; +} + +message CMsgClientToGCUpdateAccountSync { + repeated uint32 ids = 1; + repeated uint32 values = 2; +} + +message CMsgClientToGCUpdateAccountSyncResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 2; + k_eTooBusy = 3; + k_eInvalidMessage = 4; + } + + optional .CMsgClientToGCUpdateAccountSyncResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCGetHeroChoice { +} + +message CMsgClientToGCGetHeroChoiceResponse { + message Hero { + optional uint32 hero_id = 1; + } + + enum EResult { + k_eSuccess = 0; + k_eNoChoices = 1; + k_eInvalidTarget = 2; + k_eInternalError = 3; + k_eDisabled = 4; + k_eTooBusy = 5; + k_eChoiceClosed = 6; + } + + optional .CMsgClientToGCGetHeroChoiceResponse.EResult result = 1 [default = k_eSuccess]; + repeated .CMsgClientToGCGetHeroChoiceResponse.Hero hero_selections = 2; + optional uint32 hero_choice_id = 3; + optional uint32 select_count = 4; +} + +message CMsgClientToGCUnlockHero { + repeated uint32 hero_ids = 1; + optional uint32 hero_choice_id = 2; +} + +message CMsgClientToGCUnlockHeroResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eInvalidHero = 2; + k_eOutOfSync = 3; + k_eDisabled = 4; + k_eTooBusy = 5; + } + + optional .CMsgClientToGCUnlockHeroResponse.EResult result = 1 [default = k_eSuccess]; +} + +message CMsgAccountBook { + message Unlock { + optional uint32 unlock_id = 1; + optional uint32 flags = 2; + } + + optional uint32 book_id = 1; + optional uint32 book_xp = 2; + optional uint32 spent_xp = 3; + repeated .CMsgAccountBook.Unlock unlocks = 4; +} + +message CMsgClientToGCBookUnlock { + optional uint32 book_id = 1; + optional uint32 unlock_id = 2; + optional uint32 expected_cost = 3; + optional uint32 client_version = 4; +} + +message CMsgClientToGCBookUnlockResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eOutOfDateClient = 2; + k_eInvalidFunds = 3; + k_eDisabled = 4; + k_eTooBusy = 5; + k_eAlreadyUnlocked = 6; + } + + optional .CMsgClientToGCBookUnlockResponse.EResult result = 1 [default = k_eSuccess]; + optional .CMsgAccountBook updated_book = 2; +} + +message CMsgClientToGCGetBook { + optional uint32 book_id = 1; +} + +message CMsgClientToGCGetBookResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eInvalidBook = 2; + k_eDisabled = 3; + k_eTooBusy = 4; + } + + optional .CMsgClientToGCGetBookResponse.EResult result = 1 [default = k_eSuccess]; + optional .CMsgAccountBook book = 2; +} + +message CMsgGCToClientBookUpdated { + optional .CMsgAccountBook book = 1; +} + +message CMsgClientToGCSubmitPlaytestUser { + optional string location = 3; + optional uint32 target_account_id = 4; +} + +message CMsgClientToGCSubmitPlaytestUserResponse { + enum EResponse { + eResponse_Success = 0; + eResponse_InternalError = 1; + eResponse_InvalidFriend = 3; + eResponse_NotFriendsLongEnough = 4; + eResponse_AlreadyHasGame = 5; + eResponse_LimitedUser = 6; + eResponse_InviteLimitReached = 7; + } + + optional .CMsgClientToGCSubmitPlaytestUserResponse.EResponse response = 1 [default = eResponse_Success]; +} + +message CMsgClientToGCUpdateHeroBuild { + optional .CMsgHeroBuild hero_build = 1; +} + +message CMsgClientToGCUpdateHeroBuildResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + } + + optional .CMsgClientToGCUpdateHeroBuildResponse.EResponse response = 1 [default = k_eInternalError]; + optional uint32 hero_build_id = 2; + optional uint32 version = 3; +} + +message CMsgClientToGCFindHeroBuilds { + optional uint32 author_account_id = 1; + optional uint32 hero_id = 2; + repeated int32 language = 3; + optional string search_text = 4; + optional uint32 hero_build_id = 5; + repeated uint32 tags = 6; +} + +message CMsgClientToGCFindHeroBuildsResponse { + message HeroBuildResult { + optional .CMsgHeroBuild hero_build = 1; + optional .CMsgHeroBuildPreference preference = 2; + optional uint32 num_favorites = 3; + optional uint32 num_ignores = 4; + optional uint32 num_reports = 5; + optional uint32 num_weekly_favorites = 6; + optional uint32 num_daily_favorites = 7; + optional uint32 rollup_category = 8; + } + + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + } + + optional .CMsgClientToGCFindHeroBuildsResponse.EResponse response = 1 [default = k_eInternalError]; + repeated .CMsgClientToGCFindHeroBuildsResponse.HeroBuildResult results = 2; + optional uint32 build_window_start_time_override = 3; +} + +message CMsgClientToGCUpdateHeroBuildPreference { + optional uint32 hero_build_id = 1; + optional .CMsgHeroBuildPreference preference = 2; +} + +message CMsgClientToGCUpdateHeroBuildPreferenceResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + } + + optional .CMsgClientToGCUpdateHeroBuildPreferenceResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCReportPlayerFromMatch { + enum EReportType { + k_eReport_None = 0; + k_eReport_VoiceChat = 1; + k_eReport_Griefing = 2; + k_eReport_LeftMatch = 3; + k_eReport_Matchmaking = 4; + k_eReport_Cheating = 5; + k_eReport_Smurfing = 6; + } + + optional uint64 match_id = 1; + optional uint32 target_account_id = 2; + optional .CMsgClientToGCReportPlayerFromMatch.EReportType report_type = 3 [default = k_eReport_None]; + optional string report_text = 4; +} + +message CMsgClientToGCReportPlayerFromMatchResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eRateLimited = 2; + k_eAlreadyReported = 3; + k_eDisabled = 4; + k_eInvalidPermissions = 5; + k_eReportingWindowExpired = 6; + k_eTooBusy = 7; + k_eBannedFromReporting = 8; + k_eTimeout = 9; + } + + optional .CMsgClientToGCReportPlayerFromMatchResponse.EResponse response = 1 [default = k_eInternalError]; +} + +message CMsgClientToGCGetAccountMatchReports { + optional uint64 match_id = 1; +} + +message CMsgClientToGCGetAccountMatchReportsResponse { + message Report { + optional uint32 account_id = 1; + } + + message Commend { + optional uint32 account_id = 1; + } + + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 4; + k_eTooBusy = 7; + } + + optional .CMsgClientToGCGetAccountMatchReportsResponse.EResponse response = 1 [default = k_eInternalError]; + repeated .CMsgClientToGCGetAccountMatchReportsResponse.Report reports = 2; + repeated .CMsgClientToGCGetAccountMatchReportsResponse.Commend commends = 3; +} + +message CMsgClientToGCDeleteHeroBuild { + optional uint32 author_account_id = 1; + optional uint32 hero_build_id = 2; +} + +message CMsgClientToGCDeleteHeroBuildResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + } + + optional .CMsgClientToGCDeleteHeroBuildResponse.EResponse response = 1 [default = k_eInternalError]; + optional uint32 builds_deleted = 2; +} + +message CMsgClientToGCGetActiveMatches { +} + +message CMsgClientToGCGetActiveMatchesResponse { + repeated .CMsgDevMatchInfo active_matches = 1; +} + +message CMsgClientToGCGetDiscordLink { +} + +message CMsgClientToGCGetDiscordLinkResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDiscordTooBusy = 2; + k_eAlreadyClaimed = 3; + k_eDisabled = 4; + } + + optional .CMsgClientToGCGetDiscordLinkResponse.EResponse response = 1 [default = k_eInternalError]; + optional string discord_link = 2; + optional uint32 valid_hours = 3; +} + +message CMsgClientToGCGrantForumAccess { + optional string email = 1; +} + +message CMsgClientToGCGrantForumAccessResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eAlreadyClaimed = 2; + k_eDisabled = 3; + k_eEmailUsed = 4; + } + + optional .CMsgClientToGCGrantForumAccessResponse.EResponse response = 1 [default = k_eInternalError]; + optional string email = 2; + optional string username = 3; + optional string forum_password = 4; +} + +message CMsgClientToGCModeratorRequest { + optional uint32 account_id = 1; +} + +message CMsgClientToGCModeratorRequestResponse { + optional bool success = 1; + repeated string response_text = 2; +} + +message CMsgClientToGCGetFriendGameStatus { + optional bool include_invited = 1; +} + +message CMsgClientToGCGetFriendGameStatusResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + } + + optional .CMsgClientToGCGetFriendGameStatusResponse.EResponse response = 1 [default = k_eInternalError]; + repeated uint32 friends_played_game = 2 [packed = true]; + repeated uint32 friends_invited = 3 [packed = true]; + repeated uint32 friends_invites_sent = 4 [packed = true]; +} + +message CMsgClientToGCUpdateSpectatorStatus { + optional fixed64 spectating_lobby_id = 1; + optional bool stopped_spectating = 2; +} + +message CMsgClientToGCCommendPlayerFromMatch { + optional uint64 match_id = 1; + optional uint32 target_account_id = 2; + optional .ECommendType commend_type = 3 [default = k_eInvalid]; + optional uint32 fake_commend_hero_id = 4; +} + +message CMsgClientToGCCommendPlayerFromMatchResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eDisabled = 2; + k_eTooBusy = 3; + k_eRateLimited = 4; + k_eTimeout = 5; + } + + optional .CMsgClientToGCCommendPlayerFromMatchResponse.EResponse result = 1 [default = k_eInternalError]; +} + +message CMsgGCToClientCommendNotification { + optional uint32 commender_account_id = 1; + optional string commender_name = 2; + optional uint32 commender_hero_id = 4; + optional .ECommendType commend_type = 5 [default = k_eInvalid]; + optional uint64 match_id = 6; + optional bool enemy_commend = 7; +} + +message CMsgClientToGCRequestCheatReports { +} + +message CMsgClientToGCRequestCheatReportsResponse { + message RecentCheatReport { + optional uint32 account_id = 1; + optional uint64 match_id = 2; + optional uint32 hero_id = 3; + } + + enum EResult { + k_eSuccess = 0; + k_eInvalidPermission = 1; + k_eInternalError = 2; + } + + optional .CMsgClientToGCRequestCheatReportsResponse.EResult result = 1 [default = k_eSuccess]; + repeated .CMsgClientToGCRequestCheatReportsResponse.RecentCheatReport cheat_reports = 2; +} + +message CMsgClientToGCGetHeroMMRRankings { + optional uint32 target_account_id = 1; +} + +message CMsgClientToGCGetHeroMMRRankingsResponse { + message Hero { + optional uint32 hero_id = 1; + optional int32 relative_mmr = 2; + } + + enum EResult { + k_eSuccess = 0; + k_eInvalidPermission = 1; + k_eInternalError = 2; + k_eTooBusy = 3; + } + + optional .CMsgClientToGCGetHeroMMRRankingsResponse.EResult result = 1 [default = k_eSuccess]; + repeated .CMsgClientToGCGetHeroMMRRankingsResponse.Hero heroes = 2; +} + +message CMsgClientToGCGetLeaderboard { + optional .ECitadelLeaderboardRegion leaderboard_region = 1 [default = k_ECitadelLeaderboardRegion_None]; + optional uint32 hero_id = 2; +} + +message CMsgClientToGCGetLeaderboardResponse { + message LeaderboardEntry { + optional string account_name = 1; + optional uint32 rank = 2; + repeated uint32 top_hero_ids = 3; + optional uint32 badge_level = 4; + } + + enum EResult { + k_eSuccess = 0; + k_eInvalidArguments = 1; + k_eInternalError = 2; + k_eTooBusy = 3; + } + + optional .CMsgClientToGCGetLeaderboardResponse.EResult result = 1 [default = k_eSuccess]; + repeated .CMsgClientToGCGetLeaderboardResponse.LeaderboardEntry entries = 2; + optional int32 local_player_index = 3 [default = -1]; +} + +message CMsgClientToGCGetAccountLeaderboards { + optional uint32 account_id = 1; +} + +message CMsgClientToGCGetAccountLeaderboardsResponse { + message LeaderboardEntry { + optional .ECitadelLeaderboardRegion region = 1 [default = k_ECitadelLeaderboardRegion_None]; + optional uint32 hero_id = 2; + optional uint32 rank = 3; + } + + enum EResult { + k_eSuccess = 0; + k_eInvalidPermission = 1; + k_eInternalError = 2; + k_eTooBusy = 3; + } + + optional .CMsgClientToGCGetAccountLeaderboardsResponse.EResult result = 1 [default = k_eSuccess]; + optional string account_name = 2; + repeated .CMsgClientToGCGetAccountLeaderboardsResponse.LeaderboardEntry entries = 3; +} + +message CMsgClientToGCGenerateChallengeSet { +} + +message CMsgClientToGCGenerateChallengeSetResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eChallengeActive = 2; + k_eChallengeChoiceExists = 3; + } + + optional .CMsgClientToGCGenerateChallengeSetResponse.EResult result = 1 [default = k_eSuccess]; +} + +message CMsgClientToGCChallengeActivate { + optional uint64 challenge_id = 1; +} + +message CMsgClientToGCChallengeActivateResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eInvalidChallenge = 2; + } + + optional .CMsgClientToGCChallengeActivateResponse.EResult result = 1 [default = k_eSuccess]; +} + +message CMsgClientToGCChallengeClaim { + optional uint64 challenge_id = 1; +} + +message CMsgClientToGCChallengeClaimResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eInvalidChallenge = 2; + k_eChallengeIncomplete = 3; + } + + optional .CMsgClientToGCChallengeClaimResponse.EResult result = 1 [default = k_eSuccess]; +} + +message CMsgClientToGCChallengeCancel { + optional uint64 challenge_id = 1; +} + +message CMsgClientToGCChallengeCancelResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eInvalidChallenge = 2; + k_eChallengeComplete = 3; + } + + optional .CMsgClientToGCChallengeCancelResponse.EResult result = 1 [default = k_eSuccess]; +} + +message CMsgSurveyQuestion { + enum EQuestionType { + k_eInvalid = 0; + k_eItemPower = 1; + k_eItemDesign = 2; + k_eHeroPlayAgainst = 3; + k_eMoreFunHero = 4; + } + + optional uint32 question_id = 1; + optional .CMsgSurveyQuestion.EQuestionType question_type = 2 [default = k_eInvalid]; + repeated uint32 question_params = 3; + optional uint32 remaining_questions = 4; + optional uint32 answered_questions = 5; +} + +message CMsgClientToGCGetSurveyQuestion { +} + +message CMsgClientToGCGetSurveyQuestionResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eTooBusy = 2; + } + + optional .CMsgClientToGCGetSurveyQuestionResponse.EResult result = 1 [default = k_eSuccess]; + optional .CMsgSurveyQuestion question = 2; +} + +message CMsgClientToGCSubmitSurvey { + optional uint32 question_id = 1; + optional bool is_skip = 2; + optional uint32 response_value = 3; +} + +message CMsgClientToGCSubmitSurveyResponse { + enum EResult { + k_eSuccess = 0; + k_eInternalError = 1; + k_eTooBusy = 2; + } + + optional .CMsgClientToGCSubmitSurveyResponse.EResult result = 1 [default = k_eSuccess]; + optional .CMsgSurveyQuestion question = 2; +} + +message CMsgClientToGCGetRankData { +} + +message CMsgGCToClientGetRankDataResponse { + enum EResultCode { + k_Succeeded = 0; + k_Failed = 1; + } + + optional .CMsgGCToClientGetRankDataResponse.EResultCode result = 1 [default = k_Succeeded]; + optional int32 current_rank_confidence = 2; + optional int32 calibrated_rank_confidence = 3; + optional bool requires_calibration = 4; +} + +message CMsgGCToClientRankDataUpdate { + optional .CMsgGCToClientGetRankDataResponse rank_info = 2; +} + +message CMsgHeroReleaseVoteStatus { + optional uint32 remaining_votes = 1; + repeated uint32 votes_cast = 2 [packed = true]; +} + +message CMsgClientToGCRequestHeroReleaseVoteStatus { +} + +message CMsgClientToGCSubmitHeroReleaseVote { + optional uint32 vote_option = 1; +} + +message CMsgClientToGCPartySendChatMsg { + optional fixed64 party_id = 1; + optional string chat_msg = 2; +} + +message CMsgClientToGCPartySendChatMsgResponse { + enum EResultCode { + k_eSuccess = 0; + k_eInternalError = 1; + k_eInvalidPermission = 2; + k_eDisabled = 3; + k_eRateLimited = 4; + k_eInvalidMsg = 5; + } + + optional .CMsgClientToGCPartySendChatMsgResponse.EResultCode result = 1 [default = k_eSuccess]; +} + +message CMsgGCToClientPartyChatMsg { + message ChatLine { + optional uint32 account_id = 1; + optional string chat_msg = 2; + optional uint32 time_stamp = 3; + } + + optional fixed64 party_id = 1; + repeated .CMsgGCToClientPartyChatMsg.ChatLine chat_lines = 2; +} 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 new file mode 100644 index 00000000..b66f9ee3 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_common.proto @@ -0,0 +1,736 @@ +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"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum CMsgLaneColor { + k_ELaneColor_Invalid = 0 [(schema_friendly_name) = "None"]; + k_ELaneColor_Yellow = 1 [(schema_friendly_name) = "Yellow"]; + k_ELaneColor_Green = 3 [(schema_friendly_name) = "Green"]; + k_ELaneColor_Blue = 4 [(schema_friendly_name) = "Blue"]; + k_ELaneColor_Purple = 6 [(schema_friendly_name) = "Purple"]; +} + +enum EGCCitadelCommonMessages { + k_EMsgAnyToGCReportAsserts = 7000; + k_EMsgAnyToGCReportAssertsResponse = 7001; +} + +enum ECitadelMatchMode { + k_ECitadelMatchMode_Invalid = 0; + k_ECitadelMatchMode_Unranked = 1; + k_ECitadelMatchMode_PrivateLobby = 2; + k_ECitadelMatchMode_CoopBot = 3; + k_ECitadelMatchMode_Ranked = 4; + k_ECitadelMatchMode_ServerTest = 5; + k_ECitadelMatchMode_Tutorial = 6; + k_ECitadelMatchMode_HeroLabs = 7; + k_ECitadelMatchMode_Calibration = 8; +} + +enum ECitadelLobbyTeam { + k_ECitadelLobbyTeam_Team0 = 0; + k_ECitadelLobbyTeam_Team1 = 1; + k_ECitadelLobbyTeam_Spectator = 16; +} + +enum ECitadelAccountStatMedal { + k_eNone = 0; + k_eBronze = 1; + k_eSilver = 2; + k_eGold = 3; +} + +enum ECitadelMMPreference { + k_ECitadelMMPreference_Invalid = 0; + k_ECitadelMMPreference_Casual = 1; + k_ECitadelMMPreference_Serious = 2; +} + +enum ECitadelObjective { + k_eCitadelObjective_Team0_Core = 0; + k_eCitadelObjective_Team0_Tier1_Lane1 = 1; + k_eCitadelObjective_Team0_Tier1_Lane2 = 2; + k_eCitadelObjective_Team0_Tier1_Lane3 = 3; + k_eCitadelObjective_Team0_Tier1_Lane4 = 4; + k_eCitadelObjective_Team0_Tier2_Lane1 = 5; + k_eCitadelObjective_Team0_Tier2_Lane2 = 6; + k_eCitadelObjective_Team0_Tier2_Lane3 = 7; + k_eCitadelObjective_Team0_Tier2_Lane4 = 8; + k_eCitadelObjective_Team0_Titan = 9; + k_eCitadelObjective_Team0_TitanShieldGenerator_1 = 10; + k_eCitadelObjective_Team0_TitanShieldGenerator_2 = 11; + k_eCitadelObjective_Team0_BarrackBoss_Lane1 = 12; + k_eCitadelObjective_Team0_BarrackBoss_Lane2 = 13; + k_eCitadelObjective_Team0_BarrackBoss_Lane3 = 14; + k_eCitadelObjective_Team0_BarrackBoss_Lane4 = 15; + k_eCitadelObjective_Team1_Core = 16; + k_eCitadelObjective_Team1_Tier1_Lane1 = 17; + k_eCitadelObjective_Team1_Tier1_Lane2 = 18; + k_eCitadelObjective_Team1_Tier1_Lane3 = 19; + k_eCitadelObjective_Team1_Tier1_Lane4 = 20; + k_eCitadelObjective_Team1_Tier2_Lane1 = 21; + k_eCitadelObjective_Team1_Tier2_Lane2 = 22; + k_eCitadelObjective_Team1_Tier2_Lane3 = 23; + k_eCitadelObjective_Team1_Tier2_Lane4 = 24; + k_eCitadelObjective_Team1_Titan = 25; + k_eCitadelObjective_Team1_TitanShieldGenerator_1 = 26; + k_eCitadelObjective_Team1_TitanShieldGenerator_2 = 27; + k_eCitadelObjective_Team1_BarrackBoss_Lane1 = 28; + k_eCitadelObjective_Team1_BarrackBoss_Lane2 = 29; + k_eCitadelObjective_Team1_BarrackBoss_Lane3 = 30; + k_eCitadelObjective_Team1_BarrackBoss_Lane4 = 31; + k_eCitadelObjective_Neutral_Mid = 32; +} + +enum ECitadelTeamObjective { + k_eCitadelTeamObjective_Core = 0; + k_eCitadelTeamObjective_Tier1_Lane1 = 1; + k_eCitadelTeamObjective_Tier1_Lane2 = 2; + k_eCitadelTeamObjective_Tier1_Lane3 = 3; + k_eCitadelTeamObjective_Tier1_Lane4 = 4; + k_eCitadelTeamObjective_Tier2_Lane1 = 5; + k_eCitadelTeamObjective_Tier2_Lane2 = 6; + k_eCitadelTeamObjective_Tier2_Lane3 = 7; + k_eCitadelTeamObjective_Tier2_Lane4 = 8; + k_eCitadelTeamObjective_Titan = 9; + k_eCitadelTeamObjective_TitanShieldGenerator_1 = 10; + k_eCitadelTeamObjective_TitanShieldGenerator_2 = 11; + k_eCitadelTeamObjective_BarrackBoss_Lane1 = 12; + k_eCitadelTeamObjective_BarrackBoss_Lane2 = 13; + k_eCitadelTeamObjective_BarrackBoss_Lane3 = 14; + k_eCitadelTeamObjective_BarrackBoss_Lane4 = 15; +} + +enum ECitadelBotDifficulty { + k_ECitadelBotDifficulty_None = 0; + k_ECitadelBotDifficulty_Easy = 1; + k_ECitadelBotDifficulty_Medium = 2; + k_ECitadelBotDifficulty_Hard = 3; + k_ECitadelBotDifficulty_Nightmare = 4; + k_ECitadelBotDifficulty_Guided = 5; +} + +enum ECitadelRegionMode { + k_ECitadelRegionMode_ROW = 0; + k_ECitadelRegionMode_Europe = 1; + k_ECitadelRegionMode_SEAsia = 2; + k_ECitadelRegionMode_SAmerica = 3; + k_ECitadelRegionMode_Russia = 4; + k_ECitadelRegionMode_Oceania = 5; +} + +enum ECitadelLeaderboardRegion { + k_ECitadelLeaderboardRegion_None = 0; + k_ECitadelLeaderboardRegion_Europe = 1; + k_ECitadelLeaderboardRegion_Asia = 2; + k_ECitadelLeaderboardRegion_NAmerica = 3; + k_ECitadelLeaderboardRegion_SAmerica = 4; + k_ECitadelLeaderboardRegion_Oceania = 5; +} + +enum ECitadelGameMode { + k_ECitadelGameMode_Invalid = 0; + k_ECitadelGameMode_Normal = 1; + k_ECitadelGameMode_1v1Test = 2; + k_ECitadelGameMode_Sandbox = 3; +} + +enum ELobbyServerState { + k_eLobbyServerState_Assign = 0; + k_eLobbyServerState_InGame = 1; + k_eLobbyServerState_PostMatch = 2; + k_eLobbyServerState_SignedOut = 3; + k_eLobbyServerState_Abandoned = 4; +} + +enum EBannedFeature { + k_eBannedFeature_Invalid = 0; + k_eBannedFeature_LowPriorityMatchmaking = 1; + k_eBannedFeature_CommsRestricted = 2; + k_eBannedFeature_ReportingDisabled = 3; +} + +enum EFeatureBanReason { + k_eFeatureBanReason_Invalid = 0; + k_eFeatureBanReason_DevCommand = 1; + k_eFeatureBanReason_PlayerReports = 2; + k_eFeatureBanReason_MatchAbandons = 3; + k_eFeatureBanReason_ExcessivePlayerReports = 4; +} + +message CSOCitadelLobby { + optional uint64 lobby_id = 1; + optional uint64 match_id = 2; + optional .ECitadelMatchMode match_mode = 3 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 4 [default = k_ECitadelGameMode_Invalid]; + optional uint32 compatibility_version = 5; + repeated .CExtraMsgBlock extra_messages = 6; + optional fixed64 server_steam_id = 7; + optional .ELobbyServerState server_state = 8 [default = k_eLobbyServerState_Assign]; + optional uint32 udp_connect_ip = 9; + optional uint32 udp_connect_port = 10; + optional bytes sdr_address = 12; + optional uint32 server_version = 13; + optional bool safe_to_abandon = 14; + optional bool match_punishes_abandons = 15; + optional uint32 game_mode_version = 16; +} + +message CSOCitadelHideoutLobby { + message Member { + optional uint32 account_id = 1; + repeated uint32 account_awards = 20 [packed = true]; + } + + optional uint64 hideout_lobby_id = 1; + optional uint64 party_id = 2; + optional fixed64 server_steam_id = 3; + optional uint32 udp_connect_ip = 4; + optional uint32 udp_connect_port = 5; + optional bytes sdr_address = 6; + optional uint32 server_version = 7; + optional uint32 compat_version = 8; + repeated .CSOCitadelHideoutLobby.Member members = 9; + optional uint32 active_account_hideout = 10; + repeated .CExtraMsgBlock extra_messages = 11; +} + +message CLobbyData_PostMatchSurvey { + message PlayerSurvey { + optional uint32 account_id = 1; + optional uint32 question_id = 2; + } + + repeated .CLobbyData_PostMatchSurvey.PlayerSurvey surveys = 1; +} + +message CMsgHeroSelectionMatchInfo { + message Hero { + optional uint32 hero_id = 1; + optional uint32 priority = 2; + } + + repeated .CMsgHeroSelectionMatchInfo.Hero hero_selections = 1; +} + +message CMsgStartFindingMatchInfo { + optional string server_search_key = 1; + optional string server_command_string = 2; + optional .ECitadelMatchMode match_mode = 3 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 5 [default = k_ECitadelGameMode_Invalid]; + optional .ECitadelBotDifficulty bot_difficulty = 7 [default = k_ECitadelBotDifficulty_None]; + optional .ECitadelRegionMode region_mode = 8 [default = k_ECitadelRegionMode_ROW]; + optional bool prefer_solo_only = 9; + optional .ECitadelMMPreference mm_preference = 10 [default = k_ECitadelMMPreference_Invalid]; +} + +message CMsgAnyToGCReportAsserts { + message TrackedAssert { + optional string filename = 1; + optional uint32 line_number = 2; + optional string sample_msg = 3; + optional string sample_stack = 4; + optional uint32 times_fired = 5; + optional string function_name = 6; + optional string condition = 7; + optional uint32 total_times_fired = 8; + } + + optional uint32 version = 1; + repeated .CMsgAnyToGCReportAsserts.TrackedAssert asserts = 2; + optional uint64 match_id = 3; +} + +message CMsgAnyToGCReportAssertsResponse { + optional bool success = 1; +} + +message CMsgRegionPingTimesClient { + repeated fixed32 data_center_codes = 1 [packed = true]; + repeated uint32 ping_times = 2 [packed = true]; +} + +message CMsgEquippedItemList { + repeated .CSOEconItem items = 1; +} + +message CMsgPlayerHeroData { + optional uint32 hero_xp = 1; + optional .CMsgEquippedItemList hero_equips = 2; +} + +message CSOCitadelParty { + message PrivateLobbySlot { + optional uint32 slot_id = 1; + optional uint32 player_account_id = 2; + } + + message ServerRegion { + optional uint32 region_id = 1; + } + + message PrivateLobbySettings { + optional uint32 min_roster_size = 1; + repeated .CSOCitadelParty.PrivateLobbySlot match_slots = 2; + optional bool randomize_lanes = 3; + optional uint32 server_region = 4; + optional bool is_publicly_visible = 6; + optional bool cheats_enabled = 7; + repeated .CSOCitadelParty.ServerRegion available_regions = 8; + optional bool duplicate_heroes_enabled = 9; + optional bool experimental_heroes_enabled = 10; + } + + message Member { + optional uint32 account_id = 1; + optional string persona_name = 2; + optional uint32 rights_flags = 3; + optional bool is_ready = 4; + optional .CSOCitadelParty.EPlayerType player_type = 5 [default = k_ePlayerType_Player]; + optional uint32 compatibility_version = 6; + optional .EGCPlatform platform = 7 [default = k_eGCPlatform_None]; + optional uint32 team = 8; + optional .CMsgHeroSelectionMatchInfo hero_roster = 9; + optional uint64 permissions = 10; + optional uint64 new_player_progress = 11; + repeated uint32 owned_heroes = 12 [packed = true]; + } + + message LeftMember { + optional uint32 account_id = 1; + optional uint32 rights_flags = 2; + optional .CSOCitadelParty.EPlayerType player_type = 3 [default = k_ePlayerType_Player]; + } + + message Invite { + optional uint32 account_id = 1; + optional string persona_name = 2; + optional uint32 invited_by = 3; + } + + enum EMemberRights { + k_eMemberRights_Admin = 1; + k_eMemberRights_Creator = 2; + } + + enum EPlayerType { + k_ePlayerType_Player = 0; + k_ePlayerType_Spectator = 1; + } + + enum EChatMode { + k_eNone = 0; + k_ePartyChat = 1; + k_eTeamChat = 2; + } + + optional uint64 party_id = 1; + repeated .CSOCitadelParty.Member members = 2; + repeated .CSOCitadelParty.Invite invites = 3; + optional string dev_server_command = 4; + repeated .CSOCitadelParty.LeftMember left_members = 5; + optional uint64 join_code = 6; + optional .ECitadelBotDifficulty bot_difficulty = 7 [default = k_ECitadelBotDifficulty_None]; + optional .ECitadelMatchMode match_mode = 9 [default = k_ECitadelMatchMode_Invalid]; + 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; + optional .CSOCitadelParty.PrivateLobbySettings private_lobby_settings = 17; + optional bool desires_laning_together = 18; + optional .ECitadelMMPreference mm_preference = 19 [default = k_ECitadelMMPreference_Invalid]; + optional string hideout_search_key = 21; +} + +message CMsgMatchPlayerPathsData { + message Path { + optional uint32 player_slot = 1; + optional float x_min = 2; + optional float y_min = 3; + optional float x_max = 4; + optional float y_max = 5; + repeated uint32 x_pos = 6 [packed = true]; + repeated uint32 y_pos = 7 [packed = true]; + repeated uint32 health = 9 [packed = true]; + repeated .CMsgMatchPlayerPathsData.ECombatType combat_type = 10 [packed = true]; + repeated .CMsgMatchPlayerPathsData.EMoveType move_type = 11 [packed = true]; + } + + enum ECombatType { + k_eCombatType_Out = 0; + k_eCombatType_Player = 1; + k_eCombatType_EnemyNPC = 2; + k_eCombatType_Neutral = 3; + } + + enum EMoveType { + k_eMoveType_Normal = 0; + k_eMoveType_Ability = 1; + k_eMoveType_AbilityDebuff = 2; + k_eMoveType_GroundDash = 3; + k_eMoveType_Slide = 4; + k_eMoveType_RopeClimbing = 5; + k_eMoveType_Ziplining = 6; + k_eMoveType_InAir = 7; + k_eMoveType_AirDash = 8; + } + + optional uint32 version = 1; + optional float interval_s = 2; + optional uint32 x_resolution = 3; + optional uint32 y_resolution = 4; + repeated .CMsgMatchPlayerPathsData.Path paths = 5; +} + +message CMsgMatchPlayerDamageMatrix { + message DamageToPlayer { + optional uint32 target_player_slot = 1; + repeated uint32 damage = 2 [packed = true]; + } + + message DamageSource { + repeated .CMsgMatchPlayerDamageMatrix.DamageToPlayer damage_to_players = 2; + optional uint32 source_details_index = 4; + } + + message DamageDealer { + optional uint32 dealer_player_slot = 1; + repeated .CMsgMatchPlayerDamageMatrix.DamageSource damage_sources = 2; + } + + message SourceDetails { + repeated .CMsgMatchPlayerDamageMatrix.EStatType stat_type = 1 [packed = true]; + repeated string source_name = 2; + } + + enum EStatType { + k_eType_Damage = 0; + k_eType_Healing = 1; + k_eType_HealPrevented = 2; + k_eType_Mitigated = 3; + k_eType_LethalDamage = 4; + k_eType_Regen = 5; + } + + repeated .CMsgMatchPlayerDamageMatrix.DamageDealer damage_dealers = 1; + repeated uint32 sample_time_s = 2 [packed = true]; + optional .CMsgMatchPlayerDamageMatrix.SourceDetails source_details = 3; +} + +message CMsgMatchMetaDataContents { + message Position { + optional float x = 1; + optional float y = 2; + optional float z = 3; + } + + message Deaths { + optional uint32 game_time_s = 1; + optional float time_to_kill_s = 2; + optional uint32 killer_player_slot = 9; + optional .CMsgMatchMetaDataContents.Position death_pos = 10; + optional .CMsgMatchMetaDataContents.Position killer_pos = 11; + optional uint32 death_duration_s = 12; + } + + message Items { + optional uint32 game_time_s = 1; + optional uint32 item_id = 2; + optional uint32 upgrade_id = 3; + optional uint32 sold_time_s = 4; + optional uint32 flags = 5; + optional uint32 imbued_ability_id = 6; + } + + message Ping { + optional uint32 ping_type = 1; + optional uint32 ping_data = 2; + optional uint32 game_time_s = 3; + } + + message GoldSource { + optional .CMsgMatchMetaDataContents.EGoldSource source = 1 [default = k_ePlayers]; + optional uint32 kills = 2; + optional uint32 damage = 3; + optional uint32 gold = 4; + optional uint32 gold_orbs = 5; + } + + message CustomUserStatInfo { + optional string name = 1; + optional uint32 id = 2; + } + + message CustomUserStat { + optional uint32 value = 2; + optional uint32 id = 3; + } + + message PlayerStats { + optional uint32 time_stamp_s = 1; + optional uint32 net_worth = 2; + optional uint32 gold_player = 3; + optional uint32 gold_player_orbs = 4; + optional uint32 gold_lane_creep_orbs = 5; + optional uint32 gold_neutral_creep_orbs = 6; + optional uint32 gold_boss = 7; + optional uint32 gold_boss_orb = 8; + optional uint32 gold_treasure = 9; + optional uint32 gold_denied = 10; + optional uint32 gold_death_loss = 11; + optional uint32 gold_lane_creep = 12; + optional uint32 gold_neutral_creep = 13; + optional uint32 kills = 14; + optional uint32 deaths = 15; + optional uint32 assists = 16; + optional uint32 creep_kills = 17; + optional uint32 neutral_kills = 18; + optional uint32 possible_creeps = 19; + optional uint32 creep_damage = 20; + optional uint32 player_damage = 21; + optional uint32 neutral_damage = 22; + optional uint32 boss_damage = 23; + optional uint32 denies = 24; + optional uint32 player_healing = 25; + optional uint32 ability_points = 26; + optional uint32 self_healing = 27; + optional uint32 player_damage_taken = 28; + optional uint32 max_health = 29; + optional uint32 weapon_power = 30; + optional uint32 tech_power = 31; + optional uint32 shots_hit = 32; + optional uint32 shots_missed = 33; + optional uint32 damage_absorbed = 34; + optional uint32 absorption_provided = 35; + optional uint32 hero_bullets_hit = 36; + optional uint32 hero_bullets_hit_crit = 37; + optional uint32 heal_prevented = 38; + optional uint32 heal_lost = 39; + repeated .CMsgMatchMetaDataContents.GoldSource gold_sources = 40; + repeated .CMsgMatchMetaDataContents.CustomUserStat custom_user_stats = 41; + optional uint32 damage_mitigated = 42; + optional uint32 level = 43; + optional uint32 player_barriering = 44; + optional uint32 teammate_healing = 45; + optional uint32 teammate_barriering = 46; + optional uint32 self_damage = 47; + } + + message AbilityStat { + optional uint32 ability_id = 1; + optional uint32 ability_value = 2; + } + + message BookReward { + optional uint32 book_id = 1; + optional uint32 xp_amount = 2; + optional uint32 starting_xp = 3; + } + + message Players { + optional uint32 account_id = 1; + optional uint32 player_slot = 2; + repeated .CMsgMatchMetaDataContents.Deaths death_details = 3; + repeated .CMsgMatchMetaDataContents.Items items = 4; + repeated .CMsgMatchMetaDataContents.PlayerStats stats = 5; + optional .ECitadelLobbyTeam team = 6 [default = k_ECitadelLobbyTeam_Team0]; + optional uint32 kills = 8; + optional uint32 deaths = 9; + optional uint32 assists = 10; + optional uint32 net_worth = 11; + optional uint32 hero_id = 12; + 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; + repeated .CMsgMatchMetaDataContents.AbilityStat ability_stats = 20; + repeated float stats_type_stat = 21 [packed = true]; + repeated .CMsgMatchMetaDataContents.BookReward book_rewards = 22; + optional uint32 abandon_match_time_s = 23; + optional .CMsgPlayerHeroData hero_data = 25; + optional bool rewards_eligible = 26; + } + + message Objective { + optional .ECitadelObjective legacy_objective_id = 1 [default = k_eCitadelObjective_Team0_Core]; + optional uint32 destroyed_time_s = 2; + optional uint32 creep_damage = 4; + optional uint32 creep_damage_mitigated = 5; + optional uint32 player_damage = 6; + optional uint32 player_damage_mitigated = 7; + optional uint32 first_damage_time_s = 8; + optional .ECitadelTeamObjective team_objective_id = 9 [default = k_eCitadelTeamObjective_Core]; + optional .ECitadelLobbyTeam team = 10 [default = k_ECitadelLobbyTeam_Team0]; + } + + message MidBoss { + optional .ECitadelLobbyTeam team_killed = 1 [default = k_ECitadelLobbyTeam_Team0]; + optional .ECitadelLobbyTeam team_claimed = 2 [default = k_ECitadelLobbyTeam_Team0]; + optional uint32 destroyed_time_s = 3; + } + + message Pause { + optional uint32 game_time_s = 1; + optional uint32 pause_duration_s = 2; + optional uint32 player_slot = 3; + } + + message WatchedDeathReplay { + optional uint32 game_time_s = 1; + optional uint32 player_slot = 2; + } + + message MatchInfo { + optional uint32 duration_s = 1; + optional .CMsgMatchMetaDataContents.EMatchOutcome match_outcome = 2 [default = k_eOutcome_TeamWin]; + optional .ECitadelLobbyTeam winning_team = 3 [default = k_ECitadelLobbyTeam_Team0]; + repeated .CMsgMatchMetaDataContents.Players players = 4; + optional uint32 start_time = 5; + optional uint64 match_id = 6; + optional uint32 legacy_objectives_mask = 8; + optional .ECitadelGameMode game_mode = 9 [default = k_ECitadelGameMode_Invalid]; + optional .ECitadelMatchMode match_mode = 10 [default = k_ECitadelMatchMode_Invalid]; + repeated .CMsgMatchMetaDataContents.Objective objectives = 11; + optional .CMsgMatchPlayerPathsData match_paths = 12; + optional .CMsgMatchPlayerDamageMatrix damage_matrix = 13; + repeated .CMsgMatchMetaDataContents.Pause match_pauses = 14; + repeated .CMsgMatchMetaDataContents.CustomUserStatInfo custom_user_stats = 15; + repeated .CMsgMatchMetaDataContents.WatchedDeathReplay watched_death_replays = 16; + optional uint64 objectives_mask_team0 = 17; + optional uint64 objectives_mask_team1 = 18; + repeated .CMsgMatchMetaDataContents.MidBoss mid_boss = 19; + optional bool is_high_skill_range_parties = 20; + optional bool low_pri_pool = 21; + optional bool new_player_pool = 22; + optional uint32 average_badge_team0 = 23; + optional uint32 average_badge_team1 = 24; + optional uint32 game_mode_version = 25; + optional bool rewards_eligible = 26; + } + + enum EMatchOutcome { + k_eOutcome_TeamWin = 0; + k_eOutcome_Error = 1; + } + + enum EGoldSource { + k_ePlayers = 1; + k_eLaneCreeps = 2; + k_eNeutrals = 3; + k_eBosses = 4; + k_eTreasure = 5; + k_eAssists = 6; + k_eDenies = 7; + k_eTeamBonus = 8; + k_eAbilityAssassinate = 9; + k_eItemTrophyCollector = 10; + k_eItemCultistSacrifice = 11; + k_eBreakable = 12; + } + + optional .CMsgMatchMetaDataContents.MatchInfo match_info = 2; +} + +message CMsgMatchMetaData { + optional uint32 version = 1; + optional bytes match_details = 2; + optional uint64 match_id = 3; +} + +message CMsgMapLine { + optional int32 x = 1; + optional int32 y = 2; + optional bool initial = 3; +} + +message CMsgAccountHeroStats { + optional uint32 hero_id = 1; + repeated uint32 stat_id = 2; + repeated uint64 total_value = 3; + repeated uint32 medals_bronze = 4; + repeated uint32 medals_silver = 5; + repeated uint32 medals_gold = 6; +} + +message CMsgAccountBookStats { + optional uint32 book_id = 1; + optional uint32 book_xp = 2; + optional uint32 book_max_xp = 3; +} + +message CMsgAccountStats { + optional uint32 account_id = 1; + repeated .CMsgAccountHeroStats stats = 2; +} + +message CMsgGCAccountData { + optional uint32 account_id = 1; + optional float cheater_report_score = 2; +} + +message CMsgHeroBuild { + message BuildModEntry { + optional uint32 ability_id = 1; + optional string annotation = 2; + optional uint32 required_flex_slots = 3; + optional uint32 sell_priority = 4; + optional uint32 imbue_target_ability_id = 5; + } + + message BuildModCategory { + repeated .CMsgHeroBuild.BuildModEntry mods = 1; + optional string name = 2; + optional string description = 3; + optional float width = 4; + optional float height = 5; + optional bool optional = 6; + } + + message CurrencyChange { + optional uint32 ability_id = 1; + optional int32 currency_type = 2; + optional int32 delta = 3; + optional string annotation = 4; + } + + message AbilityOrder { + repeated .CMsgHeroBuild.CurrencyChange currency_changes = 1; + } + + message Details_V0 { + repeated .CMsgHeroBuild.BuildModCategory mod_categories = 1; + optional .CMsgHeroBuild.AbilityOrder ability_order = 2; + } + + optional uint32 hero_build_id = 1; + optional uint32 hero_id = 2; + optional uint32 author_account_id = 3; + optional uint32 last_updated_timestamp = 4; + optional string name = 5; + optional string description = 6; + optional uint32 language = 7; + optional uint32 version = 8; + optional uint32 origin_build_id = 9; + optional .CMsgHeroBuild.Details_V0 details = 10; + repeated uint32 tags = 11; + optional bool development_build = 12; + optional uint32 publish_timestamp = 13; +} + +message CMsgHeroBuildPreference { + optional bool favorited = 1; + optional bool ignored = 2; + optional bool reported = 3; +} 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 new file mode 100644 index 00000000..98e57ba9 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/citadel_gcmessages_server.proto @@ -0,0 +1,765 @@ +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"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EGCCitadelServerMessages { + k_EMsgServerToGCMatchSignoutPermission = 10012; + k_EMsgServerToGCMatchSignoutPermissionResponse = 10013; + k_EMsgServerToGCMatchSignout = 10014; + k_EMsgServerToGCMatchSignoutResponse = 10015; + k_EMsgGCToServerAddSpectator = 10016; + k_EMsgGCToServerAddSpectatorResponse = 10017; + k_EMsgServerToGCIdlePing = 10018; + k_EMsgGCToServerRequestPing = 10019; + k_EMsgGCToServerAllocateForMatch = 10021; + k_EMsgGCToServerAllocateForMatchResponse = 10022; + k_EMsgServerToGCEnterMatchmaking = 10023; + k_EMsgGCToServerCancelAllocateForMatch = 10024; + k_EMsgServerToGCUpdateLobbyServerState = 10025; + k_EMsgServerToGCAbandonMatch = 10026; + k_EMsgServerToGCAbandonMatchResponse = 10027; + k_EMsgServerToGCTestConnection = 10028; + k_EMsgServerToGCTestConnectionResponse = 10029; + k_EMsgGCToServerSetServerConVar = 10039; + k_EMsgGCToServerSetServerConVarResponse = 10040; + k_EMsgServerToGCUpdateMatchInfo = 10041; + k_EMsgServerToGCReportCheater = 10042; + k_EMsgServerToGCReportCheaterResponse = 10043; + k_EMsgServerToGCRequestPlayerHeroData = 10044; + k_EMsgServerToGCRequestPlayerHeroDataResponse = 10045; + k_EMsgGCToServerAllocateForHideout = 10046; + k_EMsgGCToServerAllocateForHideoutResponse = 10047; +} + +enum EGCServerLobbyData { + k_EServerLobbyData_PlayerMMR = 1; + k_EServerLobbyData_PlayerInfo = 2; + k_EServerLobbyData_PostMatchSurvey = 3; + k_EServerLobbyData_AutoTest = 4; +} + +enum EGCServerSignoutData { + k_EServerSignoutData_Disconnections = 2; + k_EServerSignoutData_AccountStatChanges = 3; + k_EServerSignoutData_DetailedStats = 4; + k_EServerSignoutData_ServerPerfStats = 5; + k_EServerSignoutData_PerfData = 6; + k_EServerSignoutData_PlayerChat = 7; + k_EServerSignoutData_BookRewards = 8; + k_EServerSignoutData_PenalizedPlayers = 9; + k_EServerSignoutData_ReportCheaters = 10; + k_EServerSignoutData_MatchDevStats = 11; + k_EServerSignoutData_ChallengeProgress = 12; + k_EServerSignoutData_HeroXPGrant = 13; + k_EServerSignoutData_MatchKills = 14; +} + +message CMsgServerCrashSentinelFile { + message Player { + optional uint32 account_id = 1; + optional uint32 hero_id = 2; + } + + message GameInfo { + optional uint64 match_id = 1; + optional fixed64 lobby_id = 2; + optional uint32 server_state = 3; + repeated .CMsgServerCrashSentinelFile.Player players = 5; + optional .ECitadelMatchMode match_mode = 6 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 7 [default = k_ECitadelGameMode_Invalid]; + optional bool was_server_shutdown = 8; + optional uint64 hideout_lobby_id = 9; + } + + optional uint32 version = 1; + optional fixed64 server_steam_id = 2; + optional fixed32 server_public_ip_addr = 3; + optional uint32 server_port = 4; + optional uint32 server_cluster_id = 5; + optional uint32 pid = 6; + optional uint32 saved_time = 7; + optional uint32 server_version = 8; + optional .CMsgServerCrashSentinelFile.GameInfo game_info = 9; + optional uint32 server_private_ip_addr = 10; + optional uint32 instance_id = 11; + optional uint32 server_region_id = 12; +} + +message CMsgAccountChallengesActive { + message Challenge { + optional uint64 challenge_id = 1; + optional uint32 progress = 2; + optional uint32 max_progress = 3; + } + + repeated .CMsgAccountChallengesActive.Challenge challenges = 1; +} + +message CServerLobbyData_PlayerMMR { + message Player { + optional uint32 player_mmr = 2; + optional uint32 player_uncertainty = 3; + optional uint32 hero_mmr = 4; + optional uint32 hero_mmr_with_uncertainty = 5; + optional uint32 player_slot = 6; + } + + repeated .CServerLobbyData_PlayerMMR.Player players = 1; +} + +message CServerLobbyData_PlayerInfo { + optional uint32 account_id = 1; + repeated .CMsgAccountBookStats book_info = 5; + optional .CMsgAccountChallengesActive challenges = 7; + optional .CMsgEquippedItemList global_equips = 8; +} + +message CServerLobbyData_PostMatchSurvey { + message PlayerSurvey { + optional uint32 account_id = 1; + optional uint32 question_id = 2; + } + + repeated .CServerLobbyData_PostMatchSurvey.PlayerSurvey surveys = 1; +} + +message CServerLobbyData_AutoTest { + optional uint32 max_duration_s = 2; +} + +message CSOCitadelServerDynamicLobby { + optional uint64 lobby_id = 1; + repeated uint32 left_account_ids = 2 [packed = true]; + optional bool broadcast_active = 3; + optional uint32 spectator_count = 4; +} + +message CSOCitadelServerStaticLobby { + message Member { + optional uint32 account_id = 1; + optional string persona_name = 2; + optional .ECitadelLobbyTeam team = 3 [default = k_ECitadelLobbyTeam_Team0]; + optional uint32 player_slot = 4; + optional uint32 hero_id = 5; + optional uint32 party_index = 6; + optional .EGCPlatform platform = 7 [default = k_eGCPlatform_None]; + repeated .CSOCitadelServerStaticLobby.EAwardIDs award_ids = 8; + optional bool is_comms_restricted = 9; + optional uint32 lane_id = 10; + optional .CMsgGCAccountData gc_account_data = 13; + optional bool party_desires_laning_together = 14; + optional .ECitadelBotDifficulty bot_difficulty = 16 [default = k_ECitadelBotDifficulty_None]; + optional bool requires_skill_calibration = 18; + optional .CMsgPlayerHeroData hero_data = 19; + optional uint32 match_number = 20; + } + + message DevSettings { + optional string console_string = 1; + } + + enum EAwardIDs { + k_eAward_KingPanda = 1; + } + + repeated .CExtraMsgBlock extra_messages = 1; + optional fixed64 server_steam_id = 2; + optional uint64 lobby_id = 3; + optional fixed32 replay_salt = 4; + optional string level_name = 5; + repeated .CSOCitadelServerStaticLobby.Member members = 6; + optional .CSOCitadelServerStaticLobby.DevSettings dev_settings = 7; + optional bool gc_provided_heroes = 8; + optional .ECitadelBotDifficulty bot_difficulty = 9 [default = k_ECitadelBotDifficulty_None]; + optional fixed32 metadata_salt = 10; + optional uint32 match_start_time = 11; + optional .ECitadelRegionMode region_mode = 16 [default = k_ECitadelRegionMode_ROW]; + optional string broadcast_url = 17; + optional bool new_player_pool = 18; + optional bool low_pri_pool = 19; + optional bool is_restricted_access = 20; + optional bool cheats_enabled = 21; + optional bool duplicate_heroes_enabled = 22; + optional bool is_high_skill_range_parties = 23; + optional bool experimental_heroes_enabled = 24; + optional uint32 average_badge_team_0 = 25; + optional uint32 average_badge_team_1 = 26; + optional string gameplay_experiment = 27; + optional bool rewards_eligible = 28; +} + +message CMsgServerSignoutData_ServerPerfStats { + message FrameCounts { + optional uint32 num_frames = 1; + optional uint32 longest_run = 2; + optional uint32 num_runs = 3; + } + + message PerfSample { + optional uint32 game_time_s = 1; + optional float avg_frame = 2; + optional float avg_idle = 3; + optional uint32 total_frames = 4; + optional .CMsgServerSignoutData_ServerPerfStats.FrameCounts performant_frames = 5; + optional .CMsgServerSignoutData_ServerPerfStats.FrameCounts long_frames = 6; + optional .CMsgServerSignoutData_ServerPerfStats.FrameCounts low_idle_frames = 7; + optional uint64 memory_bytes = 8; + optional uint64 peak_memory_bytes = 9; + } + + message MatchPerfSamples { + optional float long_frame_threshold = 1; + optional float low_idle_threshold = 2; + repeated .CMsgServerSignoutData_ServerPerfStats.PerfSample samples = 3; + } + + optional uint64 peak_memory_bytes = 1; + optional uint64 end_memory_bytes = 2; + optional uint32 frame_time_max_micro_s = 3; + optional uint32 frame_time_95_micro_s = 4; + optional uint32 frame_time_avg_micro_s = 5; + optional uint32 frame_idle_time_95_micro_s = 6; + optional uint32 frame_idle_time_avg_micro_s = 7; + optional uint32 frame_time_80_micro_s = 8; + optional uint32 frame_time_99_micro_s = 9; + optional .CMsgServerSignoutData_ServerPerfStats.MatchPerfSamples perf_samples = 10; +} + +message CMsgServerToGCUpdateMatchInfo { + optional uint64 lobby_id = 1; + optional uint32 kills_team_0 = 3; + optional uint32 kills_team_1 = 4; + optional uint32 net_worth_team_0 = 5; + optional uint32 net_worth_team_1 = 6; + optional uint32 spectators = 7; + optional uint32 open_spectator_slots = 8; + optional uint64 objectives_mask_team0 = 9; + optional uint64 objectives_mask_team1 = 10; +} + +message CMsgServerToGCMatchSignoutPermission { + optional uint32 signout_start = 1; + optional uint32 permission_request = 2; + optional uint64 match_id = 3; + optional .ECitadelMatchMode match_mode = 4 [default = k_ECitadelMatchMode_Invalid]; +} + +message CMsgServerToGCMatchSignoutPermissionResponse { + optional bool can_sign_out = 1; + optional uint32 retry_time_s = 2; + repeated .EGCServerSignoutData requested_data = 3; +} + +message CMsgServerSignoutData_Disconnections { + message CMsgMatchDisconnection { + optional uint32 account_id = 1; + optional uint32 disconnect_time = 2; + optional uint32 connection_state = 3; + optional uint32 reason_code = 4; + optional uint32 reconnect_delay = 5; + optional uint32 match_disconnect_time = 6; + optional uint32 match_reconnect_delay = 7; + } + + repeated .CMsgServerSignoutData_Disconnections.CMsgMatchDisconnection disconnections = 1; +} + +message CMsgServerSignoutData_MatchDevStats { + message PlayerSlot { + optional uint32 player_slot = 1; + } + + repeated .CMsgServerSignoutData_MatchDevStats.PlayerSlot players = 1; +} + +message CMsgServerSignoutData_DetailedStats { + message Position { + optional float x = 1; + optional float y = 2; + optional float z = 3; + } + + message TimeSample { + message Stats { + optional uint32 net_worth = 1; + optional uint32 kills = 2; + optional uint32 deaths = 3; + optional uint32 assists = 4; + optional uint32 possible_creeps = 5; + optional uint32 creep_kills = 6; + optional uint32 neutral_kills = 7; + optional uint32 creep_damage = 8; + optional uint32 neutral_damage = 9; + optional uint32 boss_damage = 10; + optional uint32 player_damage = 11; + optional uint32 denies = 12; + optional uint32 player_healing = 13; + optional uint32 ability_points = 14; + optional uint32 self_healing = 15; + optional uint32 player_damage_taken = 16; + optional uint32 max_health = 17; + optional uint32 weapon_power = 18; + optional uint32 tech_power = 19; + optional uint32 shots_hit = 20; + optional uint32 shots_missed = 21; + optional uint32 damage_absorbed = 22; + optional uint32 absorption_provided = 23; + optional uint32 heal_prevented = 26; + optional uint32 heal_lost = 27; + optional uint32 player_barriering = 28; + optional uint32 teammate_healing = 45; + optional uint32 teammate_barriering = 46; + optional uint32 self_damage = 47; + } + + message GoldStats { + optional uint32 player = 1; + optional uint32 player_orb = 2; + optional uint32 lane_creep_orb = 3; + optional uint32 neutral_creep_orb = 4; + optional uint32 boss = 5; + optional uint32 boss_orb = 6; + optional uint32 treasure = 7; + optional uint32 denied = 8; + optional uint32 death_loss = 9; + optional uint32 lane_creep = 10; + optional uint32 neutral_creep = 11; + optional uint32 team_bonus = 12; + optional uint32 ability_assassinate = 13; + optional uint32 item_trophy_collector = 14; + optional uint32 item_cultist_sacrifice = 15; + } + + optional uint32 match_time_s = 1; + optional .CMsgServerSignoutData_DetailedStats.TimeSample.Stats stats = 2; + optional .CMsgServerSignoutData_DetailedStats.TimeSample.GoldStats gold_stats = 4; + } + + message Objective { + optional uint32 destroyed_time_s = 2; + optional uint32 creep_damage = 4; + optional uint32 creep_damage_mitigated = 5; + optional uint32 player_damage = 6; + optional uint32 player_damage_mitigated = 7; + optional uint32 first_damage_time_s = 8; + optional .ECitadelTeamObjective team_objective_id = 9 [default = k_eCitadelTeamObjective_Core]; + optional .ECitadelLobbyTeam team = 10 [default = k_ECitadelLobbyTeam_Team0]; + } + + message MidBoss { + optional .ECitadelLobbyTeam team_killed = 1 [default = k_ECitadelLobbyTeam_Team0]; + optional .ECitadelLobbyTeam team_claimed = 2 [default = k_ECitadelLobbyTeam_Team0]; + optional uint32 destroyed_time_s = 3; + } + + message Player { + optional uint32 player_slot = 1; + repeated .CMsgServerSignoutData_DetailedStats.TimeSample time_samples = 3; + } + + repeated .CMsgServerSignoutData_DetailedStats.Player player_stats = 1; + repeated .CMsgServerSignoutData_DetailedStats.Objective objectives = 2; + repeated .CMsgServerSignoutData_DetailedStats.MidBoss mid_boss = 3; +} + +message CMsgServerSignoutData_PerfData { + repeated float average_frame_time = 1; + repeated float max_frame_time = 2; + optional float server_average_frame_time = 3; + optional float server_max_frame_time = 4; + repeated float average_compute_time = 5; + repeated float max_compute_time = 6; + repeated float average_client_tick_time = 7; + repeated float max_client_tick_time = 8; + repeated float average_client_simulate_time = 9; + repeated float max_client_simulate_time = 10; + repeated float average_output_time = 11; + repeated float max_output_time = 12; + repeated float average_wait_for_rendering_to_complete_time = 13; + repeated float max_wait_for_rendering_to_complete_time = 14; + repeated float average_swap_time = 15; + repeated float max_swap_time = 16; + repeated float average_frame_update_time = 17; + repeated float max_frame_update_time = 18; + repeated float average_idle_time = 19; + repeated float max_idle_time = 20; + repeated float average_input_processing_time = 21; + repeated float max_input_processing_time = 22; +} + +message CMsgServerSignoutData_BookRewards { + message BookReward { + optional uint32 book_id = 1; + optional uint32 xp_reward = 2; + } + + message AccountRewards { + optional uint32 account_id = 1; + optional .CMsgServerSignoutData_BookRewards.BookReward book_reward = 2; + } + + repeated .CMsgServerSignoutData_BookRewards.AccountRewards account_rewards = 1; +} + +message CMsgServerSignoutData_ChallengeProgress { + message ChallengeProgress { + optional uint64 challenge_id = 1; + optional uint32 progress = 2; + } + + message AccountChallenges { + optional uint32 account_id = 1; + repeated .CMsgServerSignoutData_ChallengeProgress.ChallengeProgress challenges = 2; + } + + repeated .CMsgServerSignoutData_ChallengeProgress.AccountChallenges account_challenges = 1; +} + +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 .CMsgServerSignoutData_HeroXPGrant.AccountXPGrant account_xp = 1; +} + +message CMsgServerSignoutData_MatchKills { + message Kill { + optional uint32 killer = 1; + optional uint32 victim = 2; + optional uint32 match_time = 3; + optional uint32 killer_streak = 4; + } + + repeated .CMsgServerSignoutData_MatchKills.Kill kills = 1; +} + +message CMsgServerSignoutData_AccountStatChanges { + message Stat { + optional uint32 hero_id = 1; + optional uint32 stat_id = 2; + optional uint32 value = 3; + optional .ECitadelAccountStatMedal medal = 4 [default = k_eNone]; + } + + message AccountStats { + optional uint32 account_id = 1; + repeated .CMsgServerSignoutData_AccountStatChanges.Stat stats = 2; + } + + repeated .CMsgServerSignoutData_AccountStatChanges.AccountStats account_stats = 1; +} + +message CMsgServerSignoutData_PlayerChat { + message ChatLine { + optional uint32 player_slot = 1; + optional float game_time = 2; + optional bool team_only = 3; + optional string chat_line = 4; + } + + repeated .CMsgServerSignoutData_PlayerChat.ChatLine chat_lines = 1; +} + +message CMsgServerSignoutData_PenalizedPlayers { + message Penalty { + optional uint32 account_id = 1; + optional .CMsgServerSignoutData_PenalizedPlayers.EPenaltyReason reason = 2 [default = k_EPenaltyReason_Abandon]; + optional uint32 match_time_s = 3; + optional uint32 time_stamp = 4; + } + + enum EPenaltyReason { + k_EPenaltyReason_Abandon = 0; + k_EPenaltyReason_DisconnectedTooLong = 1; + k_EPenaltyReason_AFK = 2; + k_EPenaltyReason_DisconnectedTooLongPregame = 3; + } + + repeated .CMsgServerSignoutData_PenalizedPlayers.Penalty penalized_players = 1; +} + +message CMsgMatchData { + message PlayerItem { + optional uint32 item_id = 1; + optional uint32 game_time_s = 2; + optional uint32 upgrade_id = 3; + optional uint32 sold_time_s = 4; + optional uint32 flags = 5; + optional uint32 imbued_ability_id = 6; + } + + message PlayerInfo { + optional uint32 account_id = 1; + optional .ECitadelLobbyTeam team = 2 [default = k_ECitadelLobbyTeam_Team0]; + optional uint32 player_slot = 3; + optional uint32 hero_mmr_with_uncertainty = 4; + optional uint32 player_mmr = 5; + optional uint32 player_uncertainty = 6; + optional uint32 hero_id = 7; + optional uint32 kills = 8; + optional uint32 deaths = 9; + optional uint32 net_worth = 10; + optional uint32 assists = 11; + optional uint32 hero_mmr = 12; + repeated .CMsgMatchData.PlayerItem items = 13; + optional uint32 gpm_10min = 14; + optional uint32 gpm_15min = 15; + optional uint32 gpm_20min = 16; + optional uint32 gpm_25min = 17; + optional uint32 gpm_30min = 18; + optional uint32 gpm_35min = 19; + optional uint32 gpm_end = 20; + optional uint32 last_hits = 21; + optional uint32 denies = 22; + optional uint32 ability_points = 23; + optional uint32 level = 24; + optional uint32 assigned_lane = 25; + optional uint32 party_index = 26; + optional .EGCPlatform platform = 27 [default = k_eGCPlatform_None]; + optional uint32 ability_damage = 28; + optional uint32 bullet_damage = 29; + optional uint32 hero_bullets_hit = 30; + optional uint32 hero_bullets_hit_crit = 31; + optional uint32 player_healing = 32; + optional uint32 hero_bullets_fired = 33; + optional uint32 hero_incoming_bullets_fired = 34; + optional uint32 hero_incoming_bullets_hit = 35; + optional uint32 hero_incoming_bullets_crit = 36; + optional uint32 time_dead_s = 37; + optional uint32 player_bullet_damage = 38; + optional uint32 player_ability_damage = 39; + optional uint32 player_melee_damage = 40; + optional uint32 abandon_match_time_s = 41; + optional uint32 abandon_time_stamp = 42; + optional uint32 trooper_kill_excluded = 43; + optional uint32 hero_bullets_lucky_shots = 44; + optional uint32 hero_build_id = 45; + optional uint32 objective_damage = 46; + optional float avg_time_to_kill_s = 47; + optional bool requires_skill_calibration = 48; + optional uint32 player_barriering = 49; + optional uint32 teammate_healing = 50; + optional uint32 teammate_barriering = 51; + optional uint32 self_damage = 52; + optional uint32 match_number = 53; + } + + enum EEndReason { + k_EEndReason_TeamWin = 0; + k_EEndReason_AllAbandoned = 2; + k_EEndReason_NetworkIssues = 3; + k_EEndReason_MatchLength = 4; + k_EEndReason_PlayerNeverConnected = 5; + } + + optional uint32 match_duration_s = 1; + optional .CMsgMatchData.EEndReason end_reason = 2 [default = k_EEndReason_TeamWin]; + optional .ECitadelLobbyTeam winning_team = 3 [default = k_ECitadelLobbyTeam_Team0]; + repeated .CMsgMatchData.PlayerInfo players = 4; + optional uint32 objectives_mask_legacy = 5; + optional uint32 server_version = 6; + optional .ECitadelGameMode game_mode = 7 [default = k_ECitadelGameMode_Invalid]; + optional .ECitadelMatchMode match_mode = 8 [default = k_ECitadelMatchMode_Invalid]; + optional uint64 objectives_mask_team0 = 9; + optional uint64 objectives_mask_team1 = 10; + optional uint32 match_end_time = 11; + optional float stomp_score = 12; + optional bool safe_to_abandon = 13; + optional bool team_abandon = 14; + optional bool new_player_pool = 15; + optional bool low_pri_pool = 16; + optional bool not_scored = 17; +} + +message CMsgServerToGCMatchSignout { + repeated .CExtraMsgBlock additional_data = 1; + optional uint32 signout_attempt = 2; + optional uint64 lobby_id = 3; + optional uint64 match_id = 4; + optional uint32 cluster_id = 9; + optional .CMsgMatchData match_data = 10; +} + +message CMsgServerToGCMatchSignoutResponse { + enum ESignoutResult { + k_ESignout_Failed_Retry = 1; + k_ESignout_Failed_NoRetry = 2; + k_ESignout_Failed_InFlight = 3; + k_ESignout_Success = 4; + k_ESignout_Success_AlreadySignedOut = 5; + } + + optional .CMsgServerToGCMatchSignoutResponse.ESignoutResult result = 1 [default = k_ESignout_Failed_Retry]; +} + +message CMsgServerWelcomeCitadel { +} + +message CMsgServerToGCIdlePing { + optional uint32 server_version = 1; +} + +message CMsgGCToServerRequestPing { +} + +message CMsgGCToServerAllocateForMatch { + optional uint64 match_id = 1; +} + +message CMsgGCToServerAllocateForMatchResponse { + optional bool success = 1; +} + +message CMsgGCToServerAllocateForHideout { + optional uint64 hideout_lobby_id = 1; +} + +message CMsgGCToServerAllocateForHideoutResponse { + optional uint64 hideout_lobby_id = 1; + optional bool success = 2; +} + +message CMsgServerToGCEnterMatchmaking { + optional uint32 server_version = 1; + optional string search_key = 2; + optional uint32 region_id = 3; + optional uint32 cluster_id = 4; + optional uint32 server_public_ip = 5; + optional uint32 server_private_ip = 6; + 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; +} + +message CMsgGCToServerCancelAllocateForMatch { + optional uint64 match_id = 1; + optional uint64 hideout_lobby_id = 2; +} + +message CMsgServerToGCUpdateLobbyServerState { + optional uint64 lobby_id = 1; + optional .ELobbyServerState server_state = 2 [default = k_eLobbyServerState_Assign]; + optional bool safe_to_abandon = 3; +} + +message CMsgServerToGCAbandonMatch { + message Player { + optional uint32 account_id = 1; + optional uint64 additional_data = 2; + optional uint32 hero_id = 3; + } + + enum EReason { + eReason_ServerCrash = 1; + eReason_ClientsFailedToConnect = 2; + } + + optional fixed64 server_steam_id = 1; + optional fixed64 lobby_id = 2; + optional uint32 cluster_id = 3; + optional .CMsgServerToGCAbandonMatch.EReason reason_code = 4 [default = eReason_ServerCrash]; + optional uint64 additional_data = 5; + optional uint64 match_id = 6; + repeated .CMsgServerToGCAbandonMatch.Player players = 8; + optional fixed32 public_ip_address = 9; + optional uint32 port = 10; + optional uint32 server_version = 11; + optional uint32 pid = 12; + optional uint32 instance_id = 13; + optional uint32 private_ip_address = 14; + optional .ECitadelMatchMode match_mode = 15 [default = k_ECitadelMatchMode_Invalid]; + optional .ECitadelGameMode game_mode = 16 [default = k_ECitadelGameMode_Invalid]; + optional bool was_server_shutdown = 17; + optional uint32 region_id = 18; + optional uint64 hideout_lobby_id = 19; + optional uint64 routing_id = 20; +} + +message CMsgServerToGCAbandonMatchResponse { +} + +message CMsgServerToGCTestConnection { +} + +message CMsgServerToGCTestConnectionResponse { +} + +message CMsgGCToServerSetServerConVar { + optional string convar_name = 1; + optional string convar_value = 2; +} + +message CMsgGCToServerSetServerConVarResponse { + optional bool success = 1; +} + +message CMsgGCToServerAddSpectator { + optional uint64 lobby_id = 1; + optional uint32 account_id = 2; + optional uint32 account_to_spectate = 3; +} + +message CMsgGCToServerAddSpectatorResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eServerFull = 2; + } + + optional .CMsgGCToServerAddSpectatorResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 requesting_account_id = 2; +} + +message CMsgServerToGCReportCheater { + optional uint32 account_id = 1; + optional uint64 match_id = 2; + optional fixed64 lobby_id = 3; + optional string reason = 4; + optional bool record_data_only = 5; + optional float cheater_score = 6; +} + +message CMsgServerToGCReportCheaterResponse { + optional bool success = 1; +} + +message CMsgServerToGCRequestPlayerHeroData { + optional uint32 account_id = 1; + optional uint32 hero_id = 2; +} + +message CMsgServerToGCRequestPlayerHeroDataResponse { + enum EResult { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidPermission = 5; + } + + optional .CMsgServerToGCRequestPlayerHeroDataResponse.EResult result = 1 [default = k_eInternalError]; + optional .CMsgPlayerHeroData hero_data = 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 new file mode 100644 index 00000000..970ede75 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_gcmessages.proto @@ -0,0 +1,1089 @@ +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"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EGCItemMsg { + k_EMsgGCBase = 1000; + k_EMsgGCSetItemPosition = 1001; + k_EMsgClientToGCPackBundle = 1002; + k_EMsgClientToGCPackBundleResponse = 1003; + k_EMsgGCDelete = 1004; + k_EMsgGCVerifyCacheSubscription = 1005; + k_EMsgClientToGCNameItem = 1006; + k_EMsgGCPaintItem = 1009; + k_EMsgGCPaintItemResponse = 1010; + k_EMsgGCNameBaseItem = 1019; + k_EMsgGCNameBaseItemResponse = 1020; + k_EMsgGCUseItemRequest = 1025; + k_EMsgGCUseItemResponse = 1026; + k_EMsgGCGiftedItems = 1027; + k_EMsgGCUnwrapGiftRequest = 1037; + k_EMsgGCUnwrapGiftResponse = 1038; + k_EMsgGCSortItems = 1041; + k_EMsgGCBackpackSortFinished = 1058; + k_EMsgGCAdjustItemEquippedState = 1059; + k_EMsgGCItemAcknowledged = 1062; + k_EMsgClientToGCNameItemResponse = 1068; + k_EMsgGCApplyStrangePart = 1073; + k_EMsgGCApplyPennantUpgrade = 1076; + k_EMsgGCSetItemPositions = 1077; + k_EMsgGCApplyEggEssence = 1078; + k_EMsgGCNameEggEssenceResponse = 1079; + k_EMsgGCExtractGems = 1086; + k_EMsgGCAddSocket = 1087; + k_EMsgGCAddItemToSocket = 1088; + k_EMsgGCAddItemToSocketResponse = 1089; + k_EMsgGCAddSocketResponse = 1090; + k_EMsgGCResetStrangeGemCount = 1091; + k_EMsgGCRequestCrateItems = 1092; + k_EMsgGCRequestCrateItemsResponse = 1093; + k_EMsgGCExtractGemsResponse = 1094; + k_EMsgGCResetStrangeGemCountResponse = 1095; + k_EMsgGCServerUseItemRequest = 1103; + k_EMsgGCAddGiftItem = 1104; + k_EMsgSQLGCToGCRevokeUntrustedGift = 1105; + k_EMsgClientToGCRemoveItemGifterAttributes = 1109; + k_EMsgClientToGCRemoveItemName = 1110; + k_EMsgClientToGCRemoveItemDescription = 1111; + k_EMsgClientToGCRemoveItemAttributeResponse = 1112; + k_EMsgGCDev_NewItemRequest = 2001; + k_EMsgGCDev_NewItemRequestResponse = 2002; + k_EMsgGCDev_UnlockAllItemStylesRequest = 2003; + k_EMsgGCDev_UnlockAllItemStylesResponse = 2004; + k_EMsgGCStorePurchaseFinalize = 2504; + k_EMsgGCStorePurchaseFinalizeResponse = 2505; + k_EMsgGCStorePurchaseCancel = 2506; + k_EMsgGCStorePurchaseCancelResponse = 2507; + k_EMsgGCStorePurchaseInit = 2510; + k_EMsgGCStorePurchaseInitResponse = 2511; + k_EMsgGCToGCBannedWordListUpdated = 2515; + k_EMsgGCToGCDirtySDOCache = 2516; + k_EMsgGCToGCUpdateSQLKeyValue = 2518; + k_EMsgGCToGCBroadcastConsoleCommand = 2521; + k_EMsgGCServerVersionUpdated = 2522; + k_EMsgGCApplyAutograph = 2523; + k_EMsgGCToGCWebAPIAccountChanged = 2524; + k_EMsgGCClientVersionUpdated = 2528; + k_EMsgGCToGCUpdateWelcomeMsg = 2529; + k_EMsgGCToGCPlayerStrangeCountAdjustments = 2535; + k_EMsgGCRequestStoreSalesData = 2536; + k_EMsgGCRequestStoreSalesDataResponse = 2537; + k_EMsgGCRequestStoreSalesDataUpToDateResponse = 2538; + k_EMsgGCToGCPingRequest = 2539; + k_EMsgGCToGCPingResponse = 2540; + k_EMsgGCToGCGetUserSessionServer = 2541; + k_EMsgGCToGCGetUserSessionServerResponse = 2542; + k_EMsgGCToGCGetUserServerMembers = 2543; + k_EMsgGCToGCGetUserServerMembersResponse = 2544; + k_EMsgGCToGCCanUseDropRateBonus = 2547; + k_EMsgSQLAddDropRateBonus = 2548; + k_EMsgGCToGCRefreshSOCache = 2549; + k_EMsgGCToGCGrantAccountRolledItems = 2554; + k_EMsgGCToGCGrantSelfMadeItemToAccount = 2555; + k_EMsgGCToGCUnlockCrate = 2556; + k_EMsgGCStatueCraft = 2561; + k_EMsgGCRedeemCode = 2562; + k_EMsgGCRedeemCodeResponse = 2563; + k_EMsgGCToGCItemConsumptionRollback = 2564; + k_EMsgClientToGCWrapAndDeliverGift = 2565; + k_EMsgClientToGCWrapAndDeliverGiftResponse = 2566; + k_EMsgClientToGCUnpackBundleResponse = 2567; + k_EMsgGCToClientStoreTransactionCompleted = 2568; + k_EMsgClientToGCEquipItems = 2569; + k_EMsgClientToGCEquipItemsResponse = 2570; + k_EMsgClientToGCUnlockItemStyle = 2571; + k_EMsgClientToGCUnlockItemStyleResponse = 2572; + k_EMsgClientToGCSetItemInventoryCategory = 2573; + k_EMsgClientToGCUnlockCrate = 2574; + k_EMsgClientToGCUnlockCrateResponse = 2575; + k_EMsgClientToGCUnpackBundle = 2576; + k_EMsgClientToGCSetItemStyle = 2577; + k_EMsgClientToGCSetItemStyleResponse = 2578; + k_EMsgSQLGCToGCGrantBackpackSlots = 2580; + k_EMsgClientToGCLookupAccountName = 2581; + k_EMsgClientToGCLookupAccountNameResponse = 2582; + k_EMsgClientToGCCreateStaticRecipe = 2584; + k_EMsgClientToGCCreateStaticRecipeResponse = 2585; + k_EMsgGCToGCStoreProcessCDKeyTransaction = 2586; + k_EMsgGCToGCStoreProcessCDKeyTransactionResponse = 2587; + k_EMsgGCToGCStoreProcessSettlement = 2588; + k_EMsgGCToGCStoreProcessSettlementResponse = 2589; + k_EMsgGCToGCConsoleOutput = 2590; + k_EMsgGCToClientItemAges = 2591; + k_EMsgGCToGCInternalTestMsg = 2592; + k_EMsgGCToGCClientServerVersionsUpdated = 2593; + k_EMsgGCUseMultipleItemsRequest = 2594; + k_EMsgGCGetAccountSubscriptionItem = 2595; + k_EMsgGCGetAccountSubscriptionItemResponse = 2596; + k_EMsgGCToGCBroadcastMessageFromSub = 2598; + k_EMsgGCToClientCurrencyPricePoints = 2599; + k_EMsgGCToGCAddSubscriptionTime = 2600; + k_EMsgGCToGCFlushSteamInventoryCache = 2601; + k_EMsgGCRequestCrateEscalationLevel = 2602; + k_EMsgGCRequestCrateEscalationLevelResponse = 2603; + k_EMsgGCToGCUpdateSubscriptionItems = 2604; + k_EMsgGCToGCSelfPing = 2605; + k_EMsgGCToGCGetInfuxIntervalStats = 2606; + k_EMsgGCToGCGetInfuxIntervalStatsResponse = 2607; + k_EMsgGCToGCPurchaseSucceeded = 2608; + k_EMsgClientToGCGetLimitedItemPurchaseQuantity = 2609; + k_EMsgClientToGCGetLimitedItemPurchaseQuantityResponse = 2610; + k_EMsgGCToGCBetaDeleteItems = 2611; + k_EMsgClientToGCGetInFlightItemCharges = 2612; + k_EMsgClientToGCGetInFlightItemChargesResponse = 2613; + k_EMsgGCToClientInFlightChargesUpdated = 2614; + k_EMsgClientToGCPurchaseChargeCostItems = 2615; + k_EMsgClientToGCPurchaseChargeCostItemsResponse = 2616; + k_EMsgClientToGCCancelUnfinalizedTransactions = 2617; + k_EMsgClientToGCCancelUnfinalizedTransactionsResponse = 2618; +} + +enum EGCMsgInitiateTradeResponse { + k_EGCMsgInitiateTradeResponse_Accepted = 0; + k_EGCMsgInitiateTradeResponse_Declined = 1; + k_EGCMsgInitiateTradeResponse_VAC_Banned_Initiator = 2; + k_EGCMsgInitiateTradeResponse_VAC_Banned_Target = 3; + k_EGCMsgInitiateTradeResponse_Target_Already_Trading = 4; + k_EGCMsgInitiateTradeResponse_Disabled = 5; + k_EGCMsgInitiateTradeResponse_NotLoggedIn = 6; + k_EGCMsgInitiateTradeResponse_Cancel = 7; + k_EGCMsgInitiateTradeResponse_TooSoon = 8; + k_EGCMsgInitiateTradeResponse_TooSoonPenalty = 9; + k_EGCMsgInitiateTradeResponse_Trade_Banned_Initiator = 10; + k_EGCMsgInitiateTradeResponse_Trade_Banned_Target = 11; + k_EGCMsgInitiateTradeResponse_Free_Account_Initiator_DEPRECATED = 12; + k_EGCMsgInitiateTradeResponse_Shared_Account_Initiator = 13; + k_EGCMsgInitiateTradeResponse_Service_Unavailable = 14; + k_EGCMsgInitiateTradeResponse_Target_Blocked = 15; + k_EGCMsgInitiateTradeResponse_NeedVerifiedEmail = 16; + k_EGCMsgInitiateTradeResponse_NeedSteamGuard = 17; + k_EGCMsgInitiateTradeResponse_SteamGuardDuration = 18; + k_EGCMsgInitiateTradeResponse_TheyCannotTrade = 19; + k_EGCMsgInitiateTradeResponse_Recent_Password_Reset = 20; + k_EGCMsgInitiateTradeResponse_Using_New_Device = 21; + k_EGCMsgInitiateTradeResponse_Sent_Invalid_Cookie = 22; + k_EGCMsgInitiateTradeResponse_TooRecentFriend = 23; + k_EGCMsgInitiateTradeResponse_WalledFundsNotTrusted = 24; +} + +message CMsgApplyAutograph { + optional uint64 autograph_item_id = 1; + optional uint64 item_item_id = 2; +} + +message CMsgAdjustItemEquippedState { + optional uint64 item_id = 1; + optional uint32 new_class = 2; + optional uint32 new_slot = 3; + optional uint32 style_index = 4 [default = 255]; +} + +message CMsgEconPlayerStrangeCountAdjustment { + message CStrangeCountAdjustment { + optional uint32 event_type = 1; + optional uint64 item_id = 2; + optional uint32 adjustment = 3; + } + + optional uint32 account_id = 1; + repeated .CMsgEconPlayerStrangeCountAdjustment.CStrangeCountAdjustment strange_count_adjustments = 2; + optional bool turbo_mode = 3; +} + +message CMsgCraftingResponse { + repeated uint64 item_ids = 1; +} + +message CMsgGCRequestStoreSalesData { + optional uint32 version = 1; + optional uint32 currency = 2; +} + +message CMsgGCRequestStoreSalesDataResponse { + message Price { + optional uint32 item_def = 1; + optional uint32 price = 2; + } + + repeated .CMsgGCRequestStoreSalesDataResponse.Price sale_price = 1; + optional uint32 version = 2; + optional uint32 expiration_time = 3; +} + +message CMsgGCRequestStoreSalesDataUpToDateResponse { + optional uint32 version = 1; + optional uint32 expiration_time = 2; +} + +message CMsgGCToGCPingRequest { +} + +message CMsgGCToGCPingResponse { +} + +message CMsgGCToGCGetUserSessionServer { + optional uint32 account_id = 1; +} + +message CMsgGCToGCGetUserSessionServerResponse { + optional fixed64 server_steam_id = 1; + optional bool is_online = 2; +} + +message CMsgGCToGCGetUserServerMembers { + optional uint32 account_id = 1; + optional uint32 max_spectators = 2; +} + +message CMsgGCToGCGetUserServerMembersResponse { + repeated uint32 member_account_id = 1; +} + +message CMsgLookupMultipleAccountNames { + repeated uint32 accountids = 1 [packed = true]; +} + +message CMsgLookupMultipleAccountNamesResponse { + message Account { + optional uint32 accountid = 1; + optional string persona = 2; + } + + repeated .CMsgLookupMultipleAccountNamesResponse.Account accounts = 1; +} + +message CMsgRequestCrateItems { + optional uint32 crate_item_def = 1; +} + +message CMsgRequestCrateItemsResponse { + enum EResult { + k_Succeeded = 0; + k_Failed = 1; + } + + optional uint32 response = 1; + repeated uint32 item_defs = 2; + repeated uint32 peek_item_defs = 3; + repeated .CSOEconItem peek_items = 4; +} + +message CMsgRequestCrateEscalationLevel { + optional uint32 crate_item_def = 1; +} + +message CMsgRequestCrateEscalationLevelResponse { + enum EResult { + k_Succeeded = 0; + k_Failed = 1; + } + + optional uint32 response = 1; + optional uint32 escalation_level0 = 2; + optional uint32 escalation_level1 = 3; + optional uint32 escalation_level2 = 4; + optional uint32 escalation_level3 = 5; +} + +message CMsgGCToGCCanUseDropRateBonus { + optional uint32 account_id = 1; + optional float drop_rate_bonus = 2; + optional uint32 booster_type = 3; + optional uint32 exclusive_item_def = 4; + optional bool allow_equal_rate = 5; +} + +message CMsgSQLAddDropRateBonus { + optional uint32 account_id = 1; + optional uint64 item_id = 2; + optional uint32 item_def = 3; + optional float drop_rate_bonus = 4; + optional uint32 booster_type = 5; + optional uint32 seconds_duration = 6; + optional uint32 end_time_stamp = 7; +} + +message CMsgSQLUpgradeBattleBooster { + optional uint32 account_id = 1; + optional uint32 item_def = 2; + optional float bonus_to_add = 3; + optional uint32 booster_type = 4; +} + +message CMsgGCToGCRefreshSOCache { + optional uint32 account_id = 1; + optional bool reload = 2; +} + +message CMsgGCToGCAddSubscriptionTime { + optional uint32 account_id = 1; + repeated uint32 matching_subscription_def_indexes = 2; + optional uint32 additional_seconds = 3; +} + +message CMsgGCToGCGrantAccountRolledItems { + message Item { + message DynamicAttribute { + optional string name = 1; + optional uint32 value_uint32 = 2; + optional float value_float = 3; + optional string value_string = 4; + } + + message AdditionalAuditEntry { + optional uint32 owner_account_id = 1; + optional uint32 audit_action = 2; + optional uint64 audit_data = 3; + } + + optional uint32 item_def = 1; + repeated string loot_lists = 2; + optional bool ignore_limit = 3; + optional uint32 origin = 4; + repeated .CMsgGCToGCGrantAccountRolledItems.Item.DynamicAttribute dynamic_attributes = 5; + repeated .CMsgGCToGCGrantAccountRolledItems.Item.AdditionalAuditEntry additional_audit_entries = 6; + optional uint32 inventory_token = 7; + optional int32 quality = 8 [default = -1]; + } + + optional uint32 account_id = 1; + repeated .CMsgGCToGCGrantAccountRolledItems.Item items = 2; + optional uint32 audit_action = 3; + optional uint64 audit_data = 4; +} + +message CMsgGCToGCBetaDeleteItems { + optional uint32 account_id = 1; + repeated uint64 item_ids = 2; + repeated uint32 item_defs = 3; +} + +message CMsgGCToGCGrantSelfMadeItemToAccount { + optional uint32 item_def_index = 1; + optional uint32 accountid = 2; +} + +message CMsgGCToGCUnlockCrate { + optional uint32 account_id = 1; + optional uint64 crate_item_id = 2; + optional uint64 key_item_id = 3; +} + +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 uint64 initiator_steam_id = 5; + optional bool itempack__ack_immediately = 6; +} + +message CMsgServerUseItem { + optional uint32 initiator_account_id = 1; + optional .CMsgUseItem use_item_msg = 2; +} + +message CMsgUseMultipleItems { + repeated uint64 item_ids = 1; +} + +message CGCStoreRechargeRedirect_LineItem { + optional uint32 item_def_id = 1; + optional uint32 quantity = 2; +} + +message CMsgGCEconSQLWorkItemEmbeddedRollbackData { + optional uint32 account_id = 1; + optional uint64 deleted_item_id = 2; + optional uint32 old_audit_action = 3; + optional uint32 new_audit_action = 4; + optional uint32 expected_audit_action = 5; +} + +message CMsgCraftStatue { + optional uint32 heroid = 1; + optional string sequencename = 2; + optional float cycle = 3; + optional string description = 4; + optional uint32 pedestal_itemdef = 5; + optional uint64 toolid = 6; +} + +message CMsgRedeemCode { + optional string code = 1; +} + +message CMsgRedeemCodeResponse { + enum EResultCode { + k_Succeeded = 0; + k_Failed_CodeNotFound = 1; + k_Failed_CodeAlreadyUsed = 2; + k_Failed_OtherError = 3; + } + + optional uint32 response = 1; + optional uint64 item_id = 2; +} + +message CMsgDevNewItemRequest { + optional string item_def_name = 3; + optional string loot_list_name = 4; + repeated string attr_def_name = 5; + repeated string attr_value = 6; + optional uint32 item_quality = 7; +} + +message CMsgDevNewItemRequestResponse { + optional bool success = 1; +} + +message CMsgDevUnlockAllItemStyles { + optional uint64 item_id = 1; +} + +message CMsgDevUnlockAllItemStylesResponse { + optional bool success = 1; +} + +message CMsgGCGetAccountSubscriptionItem { + optional uint32 account_id = 1; +} + +message CMsgGCGetAccountSubscriptionItemResponse { + optional uint32 def_index = 1; +} + +message CMsgGCAddGiftItem { + optional uint32 gifter_account_id = 1; + optional uint32 receiver_account_id = 2; + optional .CSOEconItem wrapped_item = 3; + optional string gift_message = 4; + optional bool is_wallet_cash_trusted = 5; +} + +message CMsgClientToGCWrapAndDeliverGift { + optional uint64 item_id = 1; + optional uint32 give_to_account_id = 2; + optional string gift_message = 3; +} + +message CMsgSQLGCToGCRevokeUntrustedGift { + optional uint32 account_id = 1; + optional uint64 sent_item_id = 4; +} + +message CMsgClientToGCWrapAndDeliverGiftResponse { + optional .EGCMsgResponse response = 1 [default = k_EGCMsgResponseOK]; + optional uint32 gifting_charge_uses = 2; + optional int32 gifting_charge_max = 3; + optional uint32 gifting_uses = 4; + optional int32 gifting_max = 5; + optional uint32 gifting_window_hours = 6; + optional .EGCMsgInitiateTradeResponse trade_restriction = 7 [default = k_EGCMsgInitiateTradeResponse_Accepted]; +} + +message CMsgClientToGCUnwrapGift { + optional uint64 item_id = 1; +} + +message CMsgClientToGCGetGiftPermissions { +} + +message CMsgClientToGCGetGiftPermissionsResponse { + message FriendPermission { + optional uint32 account_id = 1; + optional .EGCMsgInitiateTradeResponse permission = 2 [default = k_EGCMsgInitiateTradeResponse_Accepted]; + } + + optional bool is_unlimited = 1; + optional bool has_two_factor = 3; + optional .EGCMsgInitiateTradeResponse sender_permission = 6 [default = k_EGCMsgInitiateTradeResponse_Accepted]; + optional uint32 friendship_age_requirement = 7; + optional uint32 friendship_age_requirement_two_factor = 8; + repeated .CMsgClientToGCGetGiftPermissionsResponse.FriendPermission friend_permissions = 9; +} + +message CMsgClientToGCUnpackBundle { + optional uint64 item_id = 1; +} + +message CMsgClientToGCUnpackBundleResponse { + enum EUnpackBundle { + k_UnpackBundle_Succeeded = 0; + k_UnpackBundle_Failed_ItemIsNotBundle = 1; + k_UnpackBundle_Failed_UnableToCreateContainedItem = 2; + k_UnpackBundle_Failed_SOCacheError = 3; + k_UnpackBundle_Failed_ItemIsInvalid = 4; + k_UnpackBundle_Failed_BadItemQuantity = 5; + k_UnpackBundle_Failed_UnableToDeleteItem = 6; + } + + repeated uint64 unpacked_item_ids = 1; + optional .CMsgClientToGCUnpackBundleResponse.EUnpackBundle response = 2 [default = k_UnpackBundle_Succeeded]; + repeated uint32 unpacked_item_def_indexes = 3; +} + +message CMsgClientToGCPackBundle { + repeated uint64 item_ids = 1; + optional uint32 bundle_item_def_index = 2; +} + +message CMsgClientToGCPackBundleResponse { + enum EPackBundle { + k_PackBundle_Succeeded = 0; + k_PackBundle_Failed_InternalError = 1; + k_PackBundle_Failed_ItemIsNotBundle = 2; + k_PackBundle_Failed_SOCacheError = 3; + k_PackBundle_Failed_ItemIsInvalid = 4; + k_PackBundle_Failed_BadItemQuantity = 5; + k_PackBundle_Failed_UnableToDeleteItem = 6; + k_PackBundle_Failed_BundleCannotBePacked = 7; + k_PackBundle_Failed_ItemIsUntradeable = 8; + k_PackBundle_Failed_ItemIsEquipped = 9; + k_PackBundle_Failed_ItemHasGems = 10; + k_PackBundle_Failed_ItemMixedQuality = 11; + k_PackBundle_Failed_ItemInvalidQuality = 12; + k_PackBundle_Failed_ItemIsNonEconomy = 13; + k_PackBundle_Failed_Disabled = 14; + } + + optional uint64 item_id = 1; + optional .CMsgClientToGCPackBundleResponse.EPackBundle response = 2 [default = k_PackBundle_Succeeded]; +} + +message CMsgGCToClientStoreTransactionCompleted { + optional uint64 txn_id = 1; + repeated uint64 item_ids = 2; +} + +message CMsgClientToGCEquipItems { + repeated .CMsgAdjustItemEquippedState equips = 1; +} + +message CMsgClientToGCEquipItemsResponse { + optional fixed64 so_cache_version_id = 1; +} + +message CMsgClientToGCSetItemStyle { + optional uint64 item_id = 1; + optional uint32 style_index = 2 [default = 255]; +} + +message CMsgClientToGCSetItemStyleResponse { + enum ESetStyle { + k_SetStyle_Succeeded = 0; + k_SetStyle_Failed = 1; + k_SetStyle_Failed_StyleIsLocked = 2; + } + + optional .CMsgClientToGCSetItemStyleResponse.ESetStyle response = 1 [default = k_SetStyle_Succeeded]; +} + +message CMsgClientToGCUnlockItemStyle { + optional uint64 item_to_unlock = 1; + optional uint32 style_index = 2 [default = 255]; + repeated uint64 consumable_item_ids = 3; +} + +message CMsgClientToGCUnlockItemStyleResponse { + 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; + k_UnlockStyle_Failed_CantAffordGem = 6; + k_UnlockStyle_Failed_NoCompendiumLevel = 7; + k_UnlockStyle_Failed_AlreadyUnlocked = 8; + k_UnlockStyle_Failed_OtherError = 9; + k_UnlockStyle_Failed_ItemIsInvalid = 10; + k_UnlockStyle_Failed_ToolIsInvalid = 11; + } + + optional .CMsgClientToGCUnlockItemStyleResponse.EUnlockStyle response = 1 [default = k_UnlockStyle_Succeeded]; + optional uint64 item_id = 2; + optional uint32 style_index = 3 [default = 255]; + optional uint32 style_prereq = 4 [default = 255]; +} + +message CMsgClientToGCSetItemInventoryCategory { + repeated uint64 item_ids = 1; + optional uint32 set_to_value = 2; + optional uint32 remove_categories = 3; + optional uint32 add_categories = 4; +} + +message CMsgClientToGCUnlockCrate { + optional uint64 crate_item_id = 1; + optional uint64 key_item_id = 2; +} + +message CMsgClientToGCUnlockCrateResponse { + message Item { + optional uint64 item_id = 1; + optional uint32 def_index = 2; + } + + optional .EGCMsgResponse result = 1 [default = k_EGCMsgResponseOK]; + repeated .CMsgClientToGCUnlockCrateResponse.Item granted_items = 2; +} + +message CMsgClientToGCRemoveItemAttribute { + optional uint64 item_id = 1; +} + +message CMsgClientToGCRemoveItemAttributeResponse { + enum ERemoveItemAttribute { + k_RemoveItemAttribute_Succeeded = 0; + k_RemoveItemAttribute_Failed = 1; + k_RemoveItemAttribute_Failed_ItemIsInvalid = 2; + k_RemoveItemAttribute_Failed_AttributeCannotBeRemoved = 3; + k_RemoveItemAttribute_Failed_AttributeDoesntExist = 4; + } + + optional .CMsgClientToGCRemoveItemAttributeResponse.ERemoveItemAttribute response = 1 [default = k_RemoveItemAttribute_Succeeded]; + optional uint64 item_id = 2; +} + +message CMsgClientToGCNameItem { + optional uint64 subject_item_id = 1; + optional uint64 tool_item_id = 2; + optional string name = 3; +} + +message CMsgClientToGCNameItemResponse { + enum ENameItem { + k_NameItem_Succeeded = 0; + k_NameItem_Failed = 1; + k_NameItem_Failed_ToolIsInvalid = 2; + k_NameItem_Failed_ItemIsInvalid = 3; + k_NameItem_Failed_NameIsInvalid = 4; + } + + optional .CMsgClientToGCNameItemResponse.ENameItem response = 1 [default = k_NameItem_Succeeded]; + optional uint64 item_id = 2; +} + +message CMsgGCSetItemPosition { + optional uint64 item_id = 1; + optional uint32 new_position = 2; +} + +message CAttribute_ItemDynamicRecipeComponent { + optional uint32 item_def = 1; + optional uint32 item_quality = 2; + optional uint32 item_flags = 3; + optional string attributes_string = 4; + optional uint32 item_count = 5; + optional uint32 items_fulfilled = 6; + optional uint32 item_rarity = 7; + optional string lootlist = 8; + optional uint64 fulfilled_item_id = 9; + optional uint32 associated_item_def = 10; +} + +message CProtoItemSocket { + optional uint64 item_id = 1; + optional uint32 attr_def_index = 2; + optional uint32 required_type = 3; + optional string required_hero = 4; + optional uint32 gem_def_index = 5; + optional bool not_tradable = 6; + optional string required_item_slot = 7; +} + +message CProtoItemSocket_Empty { + optional .CProtoItemSocket socket = 1; +} + +message CProtoItemSocket_Effect { + optional .CProtoItemSocket socket = 1; + optional uint32 effect = 2; +} + +message CProtoItemSocket_Color { + optional .CProtoItemSocket socket = 1; + optional uint32 red = 2; + optional uint32 green = 3; + optional uint32 blue = 4; +} + +message CProtoItemSocket_Strange { + optional .CProtoItemSocket socket = 1; + optional uint32 strange_type = 2; + optional uint32 strange_value = 3; +} + +message CProtoItemSocket_Strange_DESERIALIZE_FROM_STRING_ONLY { + optional .CProtoItemSocket socket = 1; + optional uint32 strange_type = 2; + optional uint32 strange_value = 3; + optional uint32 ability_effect = 4; +} + +message CProtoItemSocket_Spectator { + optional .CProtoItemSocket socket = 1; + optional uint32 games_viewed = 2; + optional uint32 corporation_id = 3; + optional uint32 league_id = 4; + optional uint32 team_id = 5; +} + +message CProtoItemSocket_AssetModifier { + optional .CProtoItemSocket socket = 1; + optional uint32 asset_modifier = 2; +} + +message CProtoItemSocket_AssetModifier_DESERIALIZE_FROM_STRING_ONLY { + optional .CProtoItemSocket socket = 1; + optional uint32 asset_modifier = 2; + optional uint32 anim_modifier = 3; + optional uint32 ability_effect = 4; +} + +message CProtoItemSocket_Autograph { + optional .CProtoItemSocket socket = 1; + optional string autograph = 2; + optional uint32 autograph_id = 3; + optional uint32 autograph_score = 4; +} + +message CProtoItemSocket_StaticVisuals { + optional .CProtoItemSocket socket = 1; +} + +message CAttribute_String { + optional string value = 1; +} + +message CWorkshop_GetItemDailyRevenue_Request { + optional uint32 appid = 1; + optional uint32 item_id = 2; + optional uint32 date_start = 3; + optional uint32 date_end = 4; +} + +message CWorkshop_GetItemDailyRevenue_Response { + message CountryDailyRevenue { + optional string country_code = 1; + optional uint32 date = 2; + optional int64 revenue_usd = 3; + optional int32 units = 4; + } + + repeated .CWorkshop_GetItemDailyRevenue_Response.CountryDailyRevenue country_revenue = 1; +} + +message CWorkshop_GetPackageDailyRevenue_Request { + optional uint32 packageid = 1; + optional uint32 date_start = 2; + optional uint32 date_end = 3; +} + +message CWorkshop_GetPackageDailyRevenue_Response { + message CountryDailyRevenue { + optional string country_code = 1; + optional uint32 date = 2; + optional int64 revenue_usd = 3; + optional int32 units = 4; + } + + repeated .CWorkshop_GetPackageDailyRevenue_Response.CountryDailyRevenue country_revenue = 1; +} + +message CMsgSQLGCToGCGrantBackpackSlots { + optional uint32 account_id = 1; + optional uint32 add_slots = 2; +} + +message CMsgClientToGCLookupAccountName { + optional uint32 account_id = 1; +} + +message CMsgClientToGCLookupAccountNameResponse { + optional uint32 account_id = 1; + optional string account_name = 2; +} + +message CMsgClientToGCCreateStaticRecipe { + message Item { + optional uint64 item_id = 1; + optional uint32 slot_id = 2; + } + + repeated .CMsgClientToGCCreateStaticRecipe.Item items = 1; + optional uint32 recipe_def_index = 2; +} + +message CMsgClientToGCCreateStaticRecipeResponse { + message OutputItem { + optional uint32 def_index = 1; + optional uint64 item_id = 2; + optional uint32 slot_id = 3; + } + + message InputError { + optional uint32 slot_id = 1; + optional .CMsgClientToGCCreateStaticRecipeResponse.EResponse error = 2 [default = eResponse_Success]; + } + + message AdditionalOutput { + optional uint32 slot_id = 1; + optional uint64 value = 2; + } + + enum EResponse { + eResponse_Success = 0; + eResponse_OfferingDisabled = 1; + eResponse_InvalidItems = 2; + eResponse_InternalError = 3; + eResponse_MissingLeague = 4; + eResponse_MissingEvent = 5; + } + + optional .CMsgClientToGCCreateStaticRecipeResponse.EResponse response = 1 [default = eResponse_Success]; + repeated .CMsgClientToGCCreateStaticRecipeResponse.OutputItem output_items = 2; + repeated .CMsgClientToGCCreateStaticRecipeResponse.InputError input_errors = 3; + repeated .CMsgClientToGCCreateStaticRecipeResponse.AdditionalOutput additional_outputs = 4; +} + +message CMsgProcessTransactionOrder { + message Item { + optional uint32 item_def_index = 1; + optional uint32 item_price = 2; + optional uint32 quantity = 3; + optional string category_desc = 4; + optional uint32 store_purchase_type = 5; + 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; + optional int32 purchase_report_status = 7; + optional uint32 currency = 8; + repeated .CMsgProcessTransactionOrder.Item items = 9; +} + +message CMsgGCToGCStoreProcessCDKeyTransaction { + optional .CMsgProcessTransactionOrder order = 1; + optional uint32 reason_code = 2; + optional uint32 partner = 3; +} + +message CMsgGCToGCStoreProcessCDKeyTransactionResponse { + optional bool success = 1; +} + +message CMsgGCToGCStoreProcessSettlement { + optional .CMsgProcessTransactionOrder order = 1; +} + +message CMsgGCToGCStoreProcessSettlementResponse { + optional bool success = 1; +} + +message CMsgGCToGCBroadcastConsoleCommand { + optional string con_command = 1; + optional bool report_output = 2; + optional int32 sending_gc = 3 [default = -1]; + optional string output_initiator = 4; + optional string sender_source = 5; +} + +message CMsgGCToGCConsoleOutput { + message OutputLine { + optional string text = 1; + optional uint32 spew_level = 2; + } + + optional string initiator = 1; + optional int32 sending_gc = 2 [default = -1]; + repeated .CMsgGCToGCConsoleOutput.OutputLine msgs = 3; + optional bool is_last_for_source_job = 4; +} + +message CMsgItemAges { + message MaxItemIDTimestamp { + optional uint32 timestamp = 1; + optional uint64 max_item_id = 2; + } + + repeated .CMsgItemAges.MaxItemIDTimestamp max_item_id_timestamps = 1; +} + +message CMsgGCToGCInternalTestMsg { + optional int32 sending_gc = 1 [default = -1]; + optional fixed64 sender_id = 2; + optional uint32 context = 3; + optional uint32 message_id = 4; + optional bytes message_body = 5; + optional fixed64 job_id_source = 6; + optional fixed64 job_id_target = 7; +} + +message CMsgGCToGCClientServerVersionsUpdated { + optional uint32 client_min_allowed_version = 1; + optional uint32 client_active_version = 2; + optional uint32 server_active_version = 3; + optional uint32 server_deployed_version = 4; + optional uint32 what_changed = 5; +} + +message CMsgGCToGCBroadcastMessageFromSub { + optional uint32 msg_id = 1; + optional bytes serialized_msg = 2; + repeated uint32 account_id_list = 3 [packed = true]; + repeated fixed64 steam_id_list = 4 [packed = true]; +} + +message CMsgGCToClientCurrencyPricePoints { + message Currency { + optional uint32 currency_id = 1; + repeated uint64 currency_price = 2 [packed = true]; + } + + repeated uint64 price_key = 1 [packed = true]; + repeated .CMsgGCToClientCurrencyPricePoints.Currency currencies = 2; +} + +message CMsgBannedWordList { + optional uint32 version = 1; + repeated string banned_words = 2; +} + +message CMsgGCToGCFlushSteamInventoryCache { + message Key { + optional uint64 steamid = 1; + optional uint64 contextid = 2; + } + + repeated .CMsgGCToGCFlushSteamInventoryCache.Key keys = 1; +} + +message CMsgGCToGCUpdateSubscriptionItems { + optional uint32 account_id = 1; + optional bool always_notify = 2; +} + +message CMsgGCToGCSelfPing { + optional uint32 sample_id = 1; +} + +message CMsgGCToGCGetInfuxIntervalStats { +} + +message CMsgGCToGCGetInfuxIntervalStatsResponse { + repeated fixed32 stat_ids = 1 [packed = true]; + repeated uint64 stat_total = 2 [packed = true]; + repeated uint32 stat_samples = 3 [packed = true]; + repeated uint32 stat_max = 4 [packed = true]; + optional uint32 sample_duration_ms = 5; +} + +message CMsgGCToGCPurchaseSucceeded { +} + +message CMsgClientToGCGetLimitedItemPurchaseQuantity { + optional uint32 item_def = 1; +} + +message CMsgClientToGCGetLimitedItemPurchaseQuantityResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidItemDef = 5; + k_eItemDefNotLimited = 6; + } + + optional .CMsgClientToGCGetLimitedItemPurchaseQuantityResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 quantity_purchased = 2; +} + +message CMsgClientToGCGetInFlightItemCharges { + optional uint32 item_def = 1; +} + +message CMsgClientToGCGetInFlightItemChargesResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidItemDef = 5; + } + + optional .CMsgClientToGCGetInFlightItemChargesResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 charges_in_flight = 2; +} + +message CMsgClientToGCPurchaseChargeCostItems { + message Item { + optional uint32 item_def_index = 1; + optional uint32 quantity = 2; + optional uint64 source_reference_id = 3; + optional int32 price_index = 4; + } + + repeated .CMsgClientToGCPurchaseChargeCostItems.Item items = 1; + optional uint32 currency = 2; +} + +message CMsgClientToGCPurchaseChargeCostItemsResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidParam = 5; + k_eInvalidPrice = 6; + k_eInsufficientCharges = 7; + k_eLimitedItem = 8; + k_eMissingPrereq = 10; + } + + optional .CMsgClientToGCPurchaseChargeCostItemsResponse.EResponse result = 1 [default = k_eInternalError]; + repeated uint64 item_ids = 2; +} + +message CMsgGCToClientInFlightChargesUpdated { + message ItemCharges { + optional uint32 item_def = 1; + optional uint32 charges_in_flight = 2; + } + + repeated .CMsgGCToClientInFlightChargesUpdated.ItemCharges in_flight_charges = 2; +} + +message CMsgClientToGCCancelUnfinalizedTransactions { + optional uint32 unused = 1; +} + +message CMsgClientToGCCancelUnfinalizedTransactionsResponse { + optional uint32 result = 1; +} + +message CMsgGCToGCUpdateWelcomeMsg { + optional bool server = 1; + optional .CExtraMsgBlock new_msg = 2; + optional bool broadcast = 3; +} diff --git a/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_shared_enums.proto b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_shared_enums.proto new file mode 100644 index 00000000..6aa27e64 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/econ_shared_enums.proto @@ -0,0 +1,42 @@ +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum EGCEconBaseMsg { + 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; +} + +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; +} + +message CMsgGenericResult { + optional uint32 eresult = 1 [default = 2]; + optional string debug_message = 2; +} 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 new file mode 100644 index 00000000..57531358 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/engine_gcmessages.proto @@ -0,0 +1,19 @@ +import "google/protobuf/descriptor.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +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; +} 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 new file mode 100644 index 00000000..b53ad759 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsdk_gcmessages.proto @@ -0,0 +1,500 @@ +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"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +option optimize_for = SPEED; +option java_generic_services = false; + +enum ESourceEngine { + k_ESE_Source1 = 0; + k_ESE_Source2 = 1; +} + +enum PartnerAccountType { + 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; +} + +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; +} + +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; + } + + optional .CMsgSteamLearnAccessTokens access_tokens = 4; + repeated .CMsgSteamLearnServerInfo.ProjectInfo project_infos = 5; +} + +message CMsgGCAssertJobData { + optional string message_type = 1; + optional bytes message_data = 2; +} + +message CMsgGCConCommand { + optional string command = 1; +} + +message CMsgSDOAssert { + message Request { + repeated uint64 key = 1; + optional string requesting_job = 2; + } + + optional int32 sdo_type = 1; + repeated .CMsgSDOAssert.Request requests = 2; +} + +message CMsgSOIDOwner { + 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; +} + +message CMsgSOMultipleObjects { + message SingleObject { + option (msgpool_soft_limit) = 256; + option (msgpool_hard_limit) = 1024; + + 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; +} + +message CMsgSOCacheSubscribed { + 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; +} + +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; +} + +message CMsgSOCacheUnsubscribed { + 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; +} + +message CMsgSOCacheSubscriptionRefresh { + optional .CMsgSOIDOwner owner_soid = 2; +} + +message CMsgSOCacheVersion { + optional fixed64 version = 1; +} + +message CMsgGCMultiplexMessage { + optional uint32 msgtype = 1; + optional bytes payload = 2; + repeated fixed64 steamids = 3; +} + +message CMsgGCToGCSubGCStarting { + optional int32 dir_index = 1 [default = -1]; +} + +message CGCToGCMsgMasterAck { + 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; +} + +message CGCToGCMsgMasterAck_Response { + optional int32 eresult = 1 [default = 2]; +} + +message CMsgGCToGCUniverseStartup { + optional bool is_initial_startup = 1; +} + +message CMsgGCToGCUniverseStartupResponse { + optional int32 eresult = 1; +} + +message CGCToGCMsgMasterStartupComplete { + message GCInfo { + optional int32 dir_index = 1 [default = -1]; + optional string machine_name = 2; + } + + repeated .CGCToGCMsgMasterStartupComplete.GCInfo gc_info = 1; +} + +message CGCToGCMsgRouted { + 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; +} + +message CMsgGCUpdateSubGCSessionInfo { + message CMsgUpdate { + optional fixed64 steamid = 1; + optional fixed32 ip = 2; + optional bool trusted = 3; + } + + repeated .CMsgGCUpdateSubGCSessionInfo.CMsgUpdate updates = 1; +} + +message CMsgGCRequestSubGCSessionInfo { + optional fixed64 steamid = 1; +} + +message CMsgGCRequestSubGCSessionInfoResponse { + 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; +} + +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; +} + +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 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; +} + +message CMsgGCToGCSOCacheSubscribe { + 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; +} + +message CMsgGCToGCSOCacheUnsubscribe { + 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; +} + +message CMsgGCToGCLoadSessionSOCache { + 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; +} + +message CMsgGCToClientRequestDropped { +} + +message CWorkshop_PopulateItemDescriptions_Request { + message SingleItemDescription { + optional uint32 gameitemid = 1; + optional string item_description = 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; +} + +message CWorkshop_GetContributors_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; +} + +message CWorkshop_GetContributors_Response { + 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 CWorkshop_SetItemPaymentRules_Response { + 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; +} + +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; +} + +message CCommunity_GetClanAnnouncements_Response { + 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; +} + +message CMsgSerializedSOCache { + 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; + } + + 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; +} + +message CMsgGCToClientPollConvarRequest { + optional string convar_name = 1; + optional uint32 poll_id = 2; +} + +message CMsgGCToClientPollConvarResponse { + optional uint32 poll_id = 1; + optional string convar_value = 2; +} + +message CGCMsgCompressedMsgToClient { + 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; +} + +message CMsgGCToGCMasterSubscribeToCache { + 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; +} + +message CMsgGCToGCMasterUnsubscribeFromCache { + 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; +} 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 new file mode 100644 index 00000000..b25fa244 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/gcsystemmsgs.proto @@ -0,0 +1,31 @@ +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +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; +} + +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; +} 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 new file mode 100644 index 00000000..a1374f85 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages.proto @@ -0,0 +1,113 @@ +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.FieldOptions { + 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]; +} + +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; +} + +enum GCProtoBufMsgSrc { + 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; + + 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; + + optional fixed64 steamid = 1; + optional uint32 appid = 2; +} + +message CGCSystemMsg_GetAccountDetails_Response { + 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; +} + +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; +} + +message CGCMsgGetIPLocationResponse { + 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 new file mode 100644 index 00000000..0a9c4cfe --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_steamlearn.steamworkssdk.proto @@ -0,0 +1,440 @@ +import "in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto"; + +option java_package = "in.dragonbra.javasteam.protobufs.deadlock"; + +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; +} + +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; +} + +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; +} + +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; +} + +enum ESteamLearnGetAccessTokensResult { + 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; +} + +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; +} + +message CMsgSteamLearnDataSourceDescObject { + 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; +} + +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; +} + +message CMsgSteamLearnDataObject { + 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; +} + +message CMsgSteamLearnData { + optional uint32 data_source_id = 1; + repeated uint64 keys = 2; + optional .CMsgSteamLearnDataObject data_object = 3; +} + +message CMsgSteamLearnDataList { + repeated .CMsgSteamLearnData data = 1; +} + +message CMsgSteamLearn_RegisterDataSource_Request { + 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; +} + +message CMsgSteamLearn_CacheData_Request { + optional string access_token = 1; + optional .CMsgSteamLearnData data = 3; +} + +message CMsgSteamLearn_CacheData_Response { + 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; +} + +message CMsgSteamLearn_SnapshotProject_Response { + 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; +} + +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; +} + +message CMsgSteamLearnAccessTokens { + 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 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; +} + +message CMsgSteamLearn_GetAccessTokens_Request { + optional uint32 appid = 1; +} + +message CMsgSteamLearn_GetAccessTokens_Response { + 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; + } + + 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; +} + +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; +} + +message CMsgSteamLearn_InferenceMetadataBackend_Request { + 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 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 CMsgSteamLearn_Inference_Response { + 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."; + + 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 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 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 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-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 new file mode 100644 index 00000000..4e8d9454 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/steammessages_unified_base.steamworkssdk.proto @@ -0,0 +1,32 @@ +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.FieldOptions { + optional string description = 50000; +} + +extend .google.protobuf.ServiceOptions { + optional string service_description = 50000; + optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown]; +} + +extend .google.protobuf.MethodOptions { + optional string method_description = 50000; +} + +extend .google.protobuf.EnumOptions { + optional string enum_description = 50000; +} + +extend .google.protobuf.EnumValueOptions { + optional string enum_value_description = 50000; +} + +enum EProtoExecutionSite { + 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 new file mode 100644 index 00000000..a900d576 --- /dev/null +++ b/javasteam-deadlock/src/main/proto/in/dragonbra/javasteam/protobufs/deadlock/valveextensions.proto @@ -0,0 +1,31 @@ +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.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]; +} + +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/settings.gradle.kts b/settings.gradle.kts index 80c1fc56..a01d0337 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,3 +2,5 @@ rootProject.name = "javasteam" include(":javasteam-samples") include(":javasteam-tf") include(":javasteam-cs") + +include("javasteam-deadlock") \ No newline at end of file From 3e810466a8d848212db7437292399737a7c572c2 Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Wed, 27 Aug 2025 11:47:03 -0500 Subject: [PATCH 6/7] Hopefully quiet down Websocket cancelling error. --- .../javasteam/networking/steam3/WebSocketConnection.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.kt b/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.kt index 8f648453..d0e9e948 100644 --- a/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.kt +++ b/src/main/java/in/dragonbra/javasteam/networking/steam3/WebSocketConnection.kt @@ -13,6 +13,7 @@ import io.ktor.websocket.WebSocketSession import io.ktor.websocket.close import io.ktor.websocket.readBytes import io.ktor.websocket.readText +import kotlinx.coroutines.CancellationException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -85,11 +86,14 @@ class WebSocketConnection : } is Frame.Close -> disconnect(false) - is Frame.Ping -> logger.debug("Received pong") - is Frame.Pong -> logger.debug("Received pong") + is Frame.Ping -> logger.debug("Received pong") // Never Used. + is Frame.Pong -> logger.debug("Received pong") // Never Used. is Frame.Text -> logger.debug("Received plain text ${frame.readText()}") } } + } catch (e: CancellationException) { + // This won't print most times. + logger.debug("Websocket cancelling: ${e.message}") } catch (e: Exception) { logger.error("An error occurred while receiving data", e) disconnect(false) From e8de6c193d710ea5b836ca78f639c3b9f273065f Mon Sep 17 00:00:00 2001 From: LossyDragon Date: Wed, 27 Aug 2025 11:58:30 -0500 Subject: [PATCH 7/7] Prepare for stable 1.7.0 release --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8ab101ac..67542c49 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,7 +20,7 @@ plugins { allprojects { group = "in.dragonbra" - version = "1.6.1-SNAPSHOT" + version = "1.7.0" } repositories {