diff --git a/common/netmessages.proto b/common/netmessages.proto index 1b9eb09b..3f70fd83 100644 --- a/common/netmessages.proto +++ b/common/netmessages.proto @@ -212,6 +212,7 @@ message CMsgSource2SystemSpecs { message CMsgSource2VProfLiteReportItem { optional string name = 1; optional uint32 active_samples = 2; + optional uint32 active_samples_1secmax = 4; optional uint32 usec_max = 3; optional uint32 usec_avg_active = 11; optional uint32 usec_p50_active = 12; @@ -219,6 +220,14 @@ message CMsgSource2VProfLiteReportItem { optional uint32 usec_avg_all = 21; optional uint32 usec_p50_all = 22; optional uint32 usec_p99_all = 23; + optional uint32 usec_1secmax_avg_active = 31; + optional uint32 usec_1secmax_p50_active = 32; + optional uint32 usec_1secmax_p95_active = 33; + optional uint32 usec_1secmax_p99_active = 34; + optional uint32 usec_1secmax_avg_all = 41; + optional uint32 usec_1secmax_p50_all = 42; + optional uint32 usec_1secmax_p95_all = 43; + optional uint32 usec_1secmax_p99_all = 44; } message CMsgSource2VProfLiteReport { @@ -227,6 +236,38 @@ message CMsgSource2VProfLiteReport { optional uint32 discarded_frames = 3; } +message CMsgSource2NetworkFlowQuality { + optional uint32 duration = 1; + optional uint64 bytes_total = 5; + optional uint64 bytes_total_reliable = 6; + optional uint64 bytes_total_voice = 7; + optional uint32 bytes_sec_p95 = 10; + optional uint32 bytes_sec_p99 = 11; + optional uint32 enginemsgs_total = 20; + optional uint32 enginemsgs_sec_p95 = 21; + optional uint32 enginemsgs_sec_p99 = 22; + optional uint32 ticks_total = 40; + optional uint32 ticks_good = 41; + optional uint32 ticks_good_almost_late = 42; + optional uint32 ticks_fixed_dropped = 43; + optional uint32 ticks_fixed_late = 44; + optional uint32 ticks_bad_dropped = 45; + optional uint32 ticks_bad_late = 46; + optional uint32 ticks_bad_other = 47; + optional uint32 tick_missrate_samples_total = 50; + optional uint32 tick_missrate_samples_perfect = 51; + optional uint32 tick_missrate_samples_perfectnet = 52; + optional uint32 tick_missratenet_p75_x10 = 53; + optional uint32 tick_missratenet_p95_x10 = 54; + optional uint32 tick_missratenet_p99_x10 = 55; + optional sint32 recvmargin_p1 = 61; + optional sint32 recvmargin_p5 = 62; + optional sint32 recvmargin_p25 = 63; + optional sint32 recvmargin_p50 = 64; + optional sint32 recvmargin_p75 = 65; + optional sint32 recvmargin_p95 = 66; +} + message CCLCMsg_Diagnostic { optional .CMsgSource2SystemSpecs system_specs = 1; optional .CMsgSource2VProfLiteReport vprof_report = 2; diff --git a/common/network_connection.proto b/common/network_connection.proto index f17f59d0..6a4dff86 100644 --- a/common/network_connection.proto +++ b/common/network_connection.proto @@ -126,4 +126,5 @@ enum ENetworkDisconnectionReason { NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161 [(network_connection_token) = "#Player_DisconnectReason_NoSteamTicket"]; NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION = 162 [(network_connection_token) = "#Player_DisconnectReason_InputAutomation", (network_connection_detail_token) = "#Player_DisconnectReason_InputAutomation_Detail"]; NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR = 163 [(network_connection_token) = "#Player_DisconnectReason_VacNetAbnormalBehavior"]; + NETWORK_DISCONNECT_KICKED_INSECURECLIENT = 164 [(network_connection_token) = "#Player_DisconnectReason_InsecureClient"]; } diff --git a/game/shared/base_gcmessages.proto b/game/shared/base_gcmessages.proto index 91d16963..2330eaee 100644 --- a/game/shared/base_gcmessages.proto +++ b/game/shared/base_gcmessages.proto @@ -1,574 +1,574 @@ -import "steammessages.proto"; - -enum EGCBaseMsg { - k_EMsgGCSystemMessage = 4001; - k_EMsgGCReplicateConVars = 4002; - k_EMsgGCConVarUpdated = 4003; - k_EMsgGCInQueue = 4008; - 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_EMsgGCError = 4509; - k_EMsgGCReplay_UploadedToYouTube = 4510; - k_EMsgGCLANServerAvailable = 4511; -} - -enum EGCBaseProtoObjectTypes { - k_EProtoObjectPartyInvite = 1001; - k_EProtoObjectLobbyInvite = 1002; -} - -enum GC_BannedWordType { - GC_BANNED_WORD_DISABLE_WORD = 0; - GC_BANNED_WORD_ENABLE_WORD = 1; -} - -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 supplemental_data = 5; -} - -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; - optional string url = 3; - repeated uint64 item_ids = 4; -} - -message CSOPartyInvite { - optional uint64 group_id = 1 [(key_field) = true]; - optional fixed64 sender_id = 2; - optional string sender_name = 3; -} - -message CSOLobbyInvite { - optional uint64 group_id = 1 [(key_field) = true]; - optional fixed64 sender_id = 2; - optional string sender_name = 3; -} - -message CMsgSystemBroadcast { - optional string message = 1; -} - -message CMsgInviteToParty { - optional fixed64 steam_id = 1; - optional uint32 client_version = 2; - optional uint32 team_invite = 3; -} - -message CMsgInvitationCreated { - optional uint64 group_id = 1; - optional fixed64 steam_id = 2; -} - -message CMsgPartyInviteResponse { - optional uint64 party_id = 1; - optional bool accept = 2; - optional uint32 client_version = 3; - optional uint32 team_invite = 4; -} - -message CMsgKickFromParty { - optional fixed64 steam_id = 1; -} - -message CMsgLeaveParty { -} - -message CMsgServerAvailable { -} - -message CMsgLANServerAvailable { - optional fixed64 lobby_id = 1; -} - -message CSOEconGameAccountClient { - optional uint32 additional_backpack_slots = 1 [default = 0]; - optional fixed32 trade_ban_expiration = 6; - optional fixed32 bonus_xp_timestamp_refresh = 12; - optional uint32 bonus_xp_usedflags = 13; - optional uint32 elevated_state = 14; - optional uint32 elevated_timestamp = 15; -} - -message CSOItemCriteriaCondition { - 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 int32 item_rarity = 10; - optional bool item_rarity_set = 11; - optional bool recent_only = 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; -} - -message CMsgDevNewItemRequest { - optional fixed64 receiver = 1; - optional .CSOItemCriteria criteria = 2; -} - -message CMsgIncrementKillCountAttribute { - optional fixed32 killer_account_id = 1; - optional fixed32 victim_account_id = 2; - optional uint64 item_id = 3; - optional uint32 event_type = 4; - optional uint32 amount = 5; -} - -message CMsgApplySticker { - optional uint64 sticker_item_id = 1; - optional uint64 item_item_id = 2; - optional uint32 sticker_slot = 3; - optional uint32 baseitem_defidx = 4; - optional float sticker_wear = 5; - optional float sticker_rotation = 6; - optional float sticker_scale = 7; - optional float sticker_offset_x = 8; - optional float sticker_offset_y = 9; - optional float sticker_offset_z = 10; - optional float sticker_wear_target = 11; -} - -message CMsgModifyItemAttribute { - optional uint64 item_id = 1; - optional uint32 attr_defidx = 2; - optional uint32 attr_value = 3; -} - -message CMsgApplyStatTrakSwap { - optional uint64 tool_item_id = 1; - optional uint64 item_1_item_id = 2; - optional uint64 item_2_item_id = 3; -} - -message CMsgApplyStrangePart { - optional uint64 strange_part_item_id = 1; - optional uint64 item_item_id = 2; -} - -message CMsgApplyPennantUpgrade { - optional uint64 upgrade_item_id = 1; - optional uint64 pennant_item_id = 2; -} - -message CMsgApplyEggEssence { - optional uint64 essence_item_id = 1; - optional uint64 egg_item_id = 2; -} - -message CSOEconItemAttribute { - optional uint32 def_index = 1; - optional uint32 value = 2; - 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; - 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]; - repeated .CSOEconItemEquipped equipped_state = 18; - optional uint32 rarity = 19; -} - -message CMsgAdjustItemEquippedState { - optional uint64 item_id = 1; - optional uint32 new_class = 2; - optional uint32 new_slot = 3; - optional bool swap = 4; -} - -message CMsgAdjustItemEquippedStateMulti { - repeated uint64 t_equips = 1; - repeated uint64 ct_equips = 2; - repeated uint64 noteam_equips = 3; -} - -message CMsgSortItems { - 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; -} - -message CMsgStoreGetUserData { - optional fixed32 price_sheet_version = 1; - optional int32 currency = 2; -} - -message CMsgStoreGetUserDataResponse { - optional int32 result = 1; - optional int32 currency_deprecated = 2; - optional string country_deprecated = 3; - optional fixed32 price_sheet_version = 4; - optional bytes price_sheet = 8; -} - -message CMsgUpdateItemSchema { - optional bytes items_game = 1; - optional fixed32 item_schema_version = 2; - optional string items_game_url = 4; -} - -message CMsgGCError { - optional string error_text = 1; -} - -message CMsgRequestInventoryRefresh { -} - -message CMsgConVarValue { - optional string name = 1; - optional string value = 2; -} - -message CMsgReplicateConVars { - repeated .CMsgConVarValue convars = 1; -} - -message CMsgUseItem { - optional uint64 item_id = 1; - optional fixed64 target_steam_id = 2; - repeated uint32 gift__potential_targets = 3; - optional uint32 duel__class_lock = 4; - optional fixed64 initiator_steam_id = 5; -} - -message CMsgReplayUploadedToYouTube { - optional string youtube_url = 1; - optional string youtube_account_name = 2; - optional uint64 session_id = 3; -} - -message CMsgConsumableExhausted { - optional int32 item_def_id = 1; -} - -message CMsgItemAcknowledged__DEPRECATED { - 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 uint64 item_id = 7; -} - -message CMsgSetItemPositions { - message ItemPosition { - optional uint32 legacy_item_id = 1; - optional uint32 position = 2; - optional uint64 item_id = 3; - } - - repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; -} - -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; -} - -message CMsgGCReportAbuseResponse { - 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; -} - -message CMsgGCClientDisplayNotification { - optional string notification_title_localization_key = 1; - optional string notification_body_localization_key = 2; - repeated string body_substring_keys = 3; - repeated string body_substring_values = 4; -} - -message CMsgGCShowItemsPickedUp { - optional fixed64 player_steamid = 1; -} - -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; -} - -message CSOEconItemDropRateBonus { - optional uint32 account_id = 1; - optional fixed32 expiration_date = 2; - optional float bonus = 3; - optional uint32 bonus_count = 4; - optional uint64 item_id = 5; - optional uint32 def_index = 6; -} - -message CSOEconItemLeagueViewPass { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 league_id = 2 [(key_field) = true]; - optional uint32 admin = 3; - optional uint32 itemindex = 4; -} - -message CSOEconItemEventTicket { - optional uint32 account_id = 1; - optional uint32 event_id = 2; - optional uint64 item_id = 3; -} - -message CMsgGCItemPreviewItemBoughtNotification { - optional uint32 item_def_index = 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 CMsgGCBannedWordListRequest { - optional uint32 ban_list_group_id = 1; - optional uint32 word_id = 2; -} - -message CMsgGCRequestAnnouncements { -} - -message CMsgGCRequestAnnouncementsResponse { - optional string announcement_title = 1; - optional string announcement = 2; - optional string nextmatch_title = 3; - optional string nextmatch = 4; -} - -message CMsgGCBannedWord { - optional uint32 word_id = 1; - optional .GC_BannedWordType word_type = 2 [default = GC_BANNED_WORD_DISABLE_WORD]; - optional string word = 3; -} - -message CMsgGCBannedWordListResponse { - optional uint32 ban_list_group_id = 1; - repeated .CMsgGCBannedWord word_list = 2; -} - -message CMsgGCToGCBannedWordListBroadcast { - optional .CMsgGCBannedWordListResponse broadcast = 1; -} - -message CMsgGCToGCBannedWordListUpdated { - optional uint32 group_id = 1; -} - -message CSOEconDefaultEquippedDefinitionInstanceClient { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 item_definition = 2; - optional uint32 class_id = 3 [(key_field) = true]; - optional uint32 slot_id = 4 [(key_field) = true]; -} - -message CMsgGCToGCDirtySDOCache { - optional uint32 sdo_type = 1; - optional uint64 key_uint64 = 2; -} - -message CMsgGCToGCDirtyMultipleSDOCache { - optional uint32 sdo_type = 1; - repeated uint64 key_uint64 = 2; -} - -message CMsgGCCollectItem { - optional uint64 collection_item_id = 1; - optional uint64 subject_item_id = 2; -} - -message CMsgSDONoMemcached { -} - -message CMsgGCToGCUpdateSQLKeyValue { - optional string key_name = 1; -} - -message CMsgGCToGCIsTrustedServer { - optional fixed64 steam_id = 1; -} - -message CMsgGCToGCIsTrustedServerResponse { - optional bool is_trusted = 1; -} - -message CMsgGCToGCBroadcastConsoleCommand { - optional string con_command = 1; -} - -message CMsgGCServerVersionUpdated { - optional uint32 server_version = 1; -} - -message CMsgGCClientVersionUpdated { - optional uint32 client_version = 1; -} - -message CMsgGCToGCWebAPIAccountChanged { -} - -message CMsgGCToGCRequestPassportItemGrant { - optional fixed64 steam_id = 1; - optional uint32 league_id = 2; - optional int32 reward_flag = 3; -} - -message CMsgGameServerInfo { - enum ServerType { - UNSPECIFIED = 0; - GAME = 1; - PROXY = 2; - } - - optional fixed32 server_public_ip_addr = 1; - optional fixed32 server_private_ip_addr = 2; - optional uint32 server_port = 3; - optional uint32 server_tv_port = 4; - optional string server_key = 5; - optional bool server_hibernation = 6; - optional .CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED]; - optional uint32 server_region = 8; - optional float server_loadavg = 9; - optional float server_tv_broadcast_time = 10; - optional float server_game_time = 11; - optional fixed64 server_relay_connected_steam_id = 12; - optional uint32 relay_slots_max = 13; - optional int32 relays_connected = 14; - optional int32 relay_clients_connected = 15; - optional fixed64 relayed_game_server_steam_id = 16; - optional uint32 parent_relay_count = 17; - optional fixed64 tv_secret_code = 18; -} - -message CSOEconEquipSlot { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint32 class_id = 2 [(key_field) = true]; - optional uint32 slot_id = 3 [(key_field) = true]; - optional uint64 item_id = 4; - optional uint32 item_definition = 5; -} - -message CMsgAdjustEquipSlot { - optional uint32 class_id = 1; - optional uint32 slot_id = 2; - optional uint64 item_id = 3; -} - -message CMsgAdjustEquipSlots { - repeated .CMsgAdjustEquipSlot slots = 1; - optional uint32 change_num = 2; -} - -message CMsgOpenCrate { - optional uint64 tool_item_id = 1; - optional uint64 subject_item_id = 2; - optional bool for_rental = 3; -} - -message CSOEconRentalHistory { - optional uint32 account_id = 1 [(key_field) = true]; - optional uint64 crate_item_id = 2 [(key_field) = true]; - optional uint32 crate_def_index = 3; - optional uint32 issue_date = 4; - optional uint32 expiration_date = 5; -} - -message CMsgAcknowledgeRentalExpiration { - optional uint64 crate_item_id = 1; -} +import "steammessages.proto"; + +enum EGCBaseMsg { + k_EMsgGCSystemMessage = 4001; + k_EMsgGCReplicateConVars = 4002; + k_EMsgGCConVarUpdated = 4003; + k_EMsgGCInQueue = 4008; + 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_EMsgGCError = 4509; + k_EMsgGCReplay_UploadedToYouTube = 4510; + k_EMsgGCLANServerAvailable = 4511; +} + +enum EGCBaseProtoObjectTypes { + k_EProtoObjectPartyInvite = 1001; + k_EProtoObjectLobbyInvite = 1002; +} + +enum GC_BannedWordType { + GC_BANNED_WORD_DISABLE_WORD = 0; + GC_BANNED_WORD_ENABLE_WORD = 1; +} + +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 supplemental_data = 5; +} + +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; + optional string url = 3; + repeated uint64 item_ids = 4; +} + +message CSOPartyInvite { + optional uint64 group_id = 1 [(key_field) = true]; + optional fixed64 sender_id = 2; + optional string sender_name = 3; +} + +message CSOLobbyInvite { + optional uint64 group_id = 1 [(key_field) = true]; + optional fixed64 sender_id = 2; + optional string sender_name = 3; +} + +message CMsgSystemBroadcast { + optional string message = 1; +} + +message CMsgInviteToParty { + optional fixed64 steam_id = 1; + optional uint32 client_version = 2; + optional uint32 team_invite = 3; +} + +message CMsgInvitationCreated { + optional uint64 group_id = 1; + optional fixed64 steam_id = 2; +} + +message CMsgPartyInviteResponse { + optional uint64 party_id = 1; + optional bool accept = 2; + optional uint32 client_version = 3; + optional uint32 team_invite = 4; +} + +message CMsgKickFromParty { + optional fixed64 steam_id = 1; +} + +message CMsgLeaveParty { +} + +message CMsgServerAvailable { +} + +message CMsgLANServerAvailable { + optional fixed64 lobby_id = 1; +} + +message CSOEconGameAccountClient { + optional uint32 additional_backpack_slots = 1 [default = 0]; + optional fixed32 trade_ban_expiration = 6; + optional fixed32 bonus_xp_timestamp_refresh = 12; + optional uint32 bonus_xp_usedflags = 13; + optional uint32 elevated_state = 14; + optional uint32 elevated_timestamp = 15; +} + +message CSOItemCriteriaCondition { + 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 int32 item_rarity = 10; + optional bool item_rarity_set = 11; + optional bool recent_only = 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; +} + +message CMsgDevNewItemRequest { + optional fixed64 receiver = 1; + optional .CSOItemCriteria criteria = 2; +} + +message CMsgIncrementKillCountAttribute { + optional fixed32 killer_account_id = 1; + optional fixed32 victim_account_id = 2; + optional uint64 item_id = 3; + optional uint32 event_type = 4; + optional uint32 amount = 5; +} + +message CMsgApplySticker { + optional uint64 sticker_item_id = 1; + optional uint64 item_item_id = 2; + optional uint32 sticker_slot = 3; + optional uint32 baseitem_defidx = 4; + optional float sticker_wear = 5; + optional float sticker_rotation = 6; + optional float sticker_scale = 7; + optional float sticker_offset_x = 8; + optional float sticker_offset_y = 9; + optional float sticker_offset_z = 10; + optional float sticker_wear_target = 11; +} + +message CMsgModifyItemAttribute { + optional uint64 item_id = 1; + optional uint32 attr_defidx = 2; + optional uint32 attr_value = 3; +} + +message CMsgApplyStatTrakSwap { + optional uint64 tool_item_id = 1; + optional uint64 item_1_item_id = 2; + optional uint64 item_2_item_id = 3; +} + +message CMsgApplyStrangePart { + optional uint64 strange_part_item_id = 1; + optional uint64 item_item_id = 2; +} + +message CMsgApplyPennantUpgrade { + optional uint64 upgrade_item_id = 1; + optional uint64 pennant_item_id = 2; +} + +message CMsgApplyEggEssence { + optional uint64 essence_item_id = 1; + optional uint64 egg_item_id = 2; +} + +message CSOEconItemAttribute { + optional uint32 def_index = 1; + optional uint32 value = 2; + 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; + 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]; + repeated .CSOEconItemEquipped equipped_state = 18; + optional uint32 rarity = 19; +} + +message CMsgAdjustItemEquippedState { + optional uint64 item_id = 1; + optional uint32 new_class = 2; + optional uint32 new_slot = 3; + optional bool swap = 4; +} + +message CMsgAdjustItemEquippedStateMulti { + repeated uint64 t_equips = 1; + repeated uint64 ct_equips = 2; + repeated uint64 noteam_equips = 3; +} + +message CMsgSortItems { + 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; +} + +message CMsgStoreGetUserData { + optional fixed32 price_sheet_version = 1; + optional int32 currency = 2; +} + +message CMsgStoreGetUserDataResponse { + optional int32 result = 1; + optional int32 currency_deprecated = 2; + optional string country_deprecated = 3; + optional fixed32 price_sheet_version = 4; + optional bytes price_sheet = 8; +} + +message CMsgUpdateItemSchema { + optional bytes items_game = 1; + optional fixed32 item_schema_version = 2; + optional string items_game_url = 4; +} + +message CMsgGCError { + optional string error_text = 1; +} + +message CMsgRequestInventoryRefresh { +} + +message CMsgConVarValue { + optional string name = 1; + optional string value = 2; +} + +message CMsgReplicateConVars { + repeated .CMsgConVarValue convars = 1; +} + +message CMsgUseItem { + optional uint64 item_id = 1; + optional fixed64 target_steam_id = 2; + repeated uint32 gift__potential_targets = 3; + optional uint32 duel__class_lock = 4; + optional fixed64 initiator_steam_id = 5; +} + +message CMsgReplayUploadedToYouTube { + optional string youtube_url = 1; + optional string youtube_account_name = 2; + optional uint64 session_id = 3; +} + +message CMsgConsumableExhausted { + optional int32 item_def_id = 1; +} + +message CMsgItemAcknowledged__DEPRECATED { + 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 uint64 item_id = 7; +} + +message CMsgSetItemPositions { + message ItemPosition { + optional uint32 legacy_item_id = 1; + optional uint32 position = 2; + optional uint64 item_id = 3; + } + + repeated .CMsgSetItemPositions.ItemPosition item_positions = 1; +} + +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; +} + +message CMsgGCReportAbuseResponse { + 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; +} + +message CMsgGCClientDisplayNotification { + optional string notification_title_localization_key = 1; + optional string notification_body_localization_key = 2; + repeated string body_substring_keys = 3; + repeated string body_substring_values = 4; +} + +message CMsgGCShowItemsPickedUp { + optional fixed64 player_steamid = 1; +} + +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; +} + +message CSOEconItemDropRateBonus { + optional uint32 account_id = 1; + optional fixed32 expiration_date = 2; + optional float bonus = 3; + optional uint32 bonus_count = 4; + optional uint64 item_id = 5; + optional uint32 def_index = 6; +} + +message CSOEconItemLeagueViewPass { + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 league_id = 2 [(key_field) = true]; + optional uint32 admin = 3; + optional uint32 itemindex = 4; +} + +message CSOEconItemEventTicket { + optional uint32 account_id = 1; + optional uint32 event_id = 2; + optional uint64 item_id = 3; +} + +message CMsgGCItemPreviewItemBoughtNotification { + optional uint32 item_def_index = 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 CMsgGCBannedWordListRequest { + optional uint32 ban_list_group_id = 1; + optional uint32 word_id = 2; +} + +message CMsgGCRequestAnnouncements { +} + +message CMsgGCRequestAnnouncementsResponse { + optional string announcement_title = 1; + optional string announcement = 2; + optional string nextmatch_title = 3; + optional string nextmatch = 4; +} + +message CMsgGCBannedWord { + optional uint32 word_id = 1; + optional .GC_BannedWordType word_type = 2 [default = GC_BANNED_WORD_DISABLE_WORD]; + optional string word = 3; +} + +message CMsgGCBannedWordListResponse { + optional uint32 ban_list_group_id = 1; + repeated .CMsgGCBannedWord word_list = 2; +} + +message CMsgGCToGCBannedWordListBroadcast { + optional .CMsgGCBannedWordListResponse broadcast = 1; +} + +message CMsgGCToGCBannedWordListUpdated { + optional uint32 group_id = 1; +} + +message CSOEconDefaultEquippedDefinitionInstanceClient { + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 item_definition = 2; + optional uint32 class_id = 3 [(key_field) = true]; + optional uint32 slot_id = 4 [(key_field) = true]; +} + +message CMsgGCToGCDirtySDOCache { + optional uint32 sdo_type = 1; + optional uint64 key_uint64 = 2; +} + +message CMsgGCToGCDirtyMultipleSDOCache { + optional uint32 sdo_type = 1; + repeated uint64 key_uint64 = 2; +} + +message CMsgGCCollectItem { + optional uint64 collection_item_id = 1; + optional uint64 subject_item_id = 2; +} + +message CMsgSDONoMemcached { +} + +message CMsgGCToGCUpdateSQLKeyValue { + optional string key_name = 1; +} + +message CMsgGCToGCIsTrustedServer { + optional fixed64 steam_id = 1; +} + +message CMsgGCToGCIsTrustedServerResponse { + optional bool is_trusted = 1; +} + +message CMsgGCToGCBroadcastConsoleCommand { + optional string con_command = 1; +} + +message CMsgGCServerVersionUpdated { + optional uint32 server_version = 1; +} + +message CMsgGCClientVersionUpdated { + optional uint32 client_version = 1; +} + +message CMsgGCToGCWebAPIAccountChanged { +} + +message CMsgGCToGCRequestPassportItemGrant { + optional fixed64 steam_id = 1; + optional uint32 league_id = 2; + optional int32 reward_flag = 3; +} + +message CMsgGameServerInfo { + enum ServerType { + UNSPECIFIED = 0; + GAME = 1; + PROXY = 2; + } + + optional fixed32 server_public_ip_addr = 1; + optional fixed32 server_private_ip_addr = 2; + optional uint32 server_port = 3; + optional uint32 server_tv_port = 4; + optional string server_key = 5; + optional bool server_hibernation = 6; + optional .CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED]; + optional uint32 server_region = 8; + optional float server_loadavg = 9; + optional float server_tv_broadcast_time = 10; + optional float server_game_time = 11; + optional fixed64 server_relay_connected_steam_id = 12; + optional uint32 relay_slots_max = 13; + optional int32 relays_connected = 14; + optional int32 relay_clients_connected = 15; + optional fixed64 relayed_game_server_steam_id = 16; + optional uint32 parent_relay_count = 17; + optional fixed64 tv_secret_code = 18; +} + +message CSOEconEquipSlot { + optional uint32 account_id = 1 [(key_field) = true]; + optional uint32 class_id = 2 [(key_field) = true]; + optional uint32 slot_id = 3 [(key_field) = true]; + optional uint64 item_id = 4; + optional uint32 item_definition = 5; +} + +message CMsgAdjustEquipSlot { + optional uint32 class_id = 1; + optional uint32 slot_id = 2; + optional uint64 item_id = 3; +} + +message CMsgAdjustEquipSlots { + repeated .CMsgAdjustEquipSlot slots = 1; + optional uint32 change_num = 2; +} + +message CMsgOpenCrate { + optional uint64 tool_item_id = 1; + optional uint64 subject_item_id = 2; + optional bool for_rental = 3; +} + +message CSOEconRentalHistory { + optional uint32 account_id = 1 [(key_field) = true]; + optional uint64 crate_item_id = 2 [(key_field) = true]; + optional uint32 crate_def_index = 3; + optional uint32 issue_date = 4; + optional uint32 expiration_date = 5; +} + +message CMsgAcknowledgeRentalExpiration { + optional uint64 crate_item_id = 1; +} diff --git a/game/shared/cs/cs_usercmd.proto b/game/shared/cs/cs_usercmd.proto index c0820439..f813ccd1 100644 --- a/game/shared/cs/cs_usercmd.proto +++ b/game/shared/cs/cs_usercmd.proto @@ -36,5 +36,7 @@ message CSGOUserCmdPB { optional int32 attack2_start_history_index = 7 [default = -1]; optional int32 attack3_start_history_index = 8 [default = -1]; optional bool left_hand_desired = 9 [default = false]; - optional bool is_predicting_damage = 10 [default = false]; + optional bool is_predicting_body_shot_fx = 11 [default = false]; + optional bool is_predicting_head_shot_fx = 12 [default = false]; + optional bool is_predicting_kill_ragdolls = 13 [default = false]; } diff --git a/game/shared/cstrike15/cstrike15_gcmessages.proto b/game/shared/cstrike15/cstrike15_gcmessages.proto index fc0b3659..1095b973 100644 --- a/game/shared/cstrike15/cstrike15_gcmessages.proto +++ b/game/shared/cstrike15/cstrike15_gcmessages.proto @@ -107,6 +107,8 @@ enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_ClientNetworkConfig = 9220; k_EMsgGCCStrike15_v2_GC2ClientNotifyXPShop = 9221; k_EMsgGCCStrike15_v2_Client2GcAckXPShopTracks = 9222; + k_EMsgGCCStrike15_v2_MatchmakingGC2ClientSearchStats = 9223; + k_EMsgGCCStrike15_v2_PremierSeasonSummary = 9224; } enum ECsgoSteamUserStat { @@ -242,6 +244,8 @@ message PlayerRankingInfo { optional uint32 rank_if_tie = 12; repeated .PlayerRankingInfo.PerMapRank per_map_rank = 13; optional uint32 leaderboard_name_status = 14; + optional uint32 highest_rank = 15; + optional uint32 rank_expiry = 16; } message PlayerCommendationInfo { @@ -821,6 +825,35 @@ message CMsgGCCStrike15_v2_PlayersProfile { repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientHello account_profiles = 2; } +message CMsgGCCStrike15_v2_PremierSeasonSummary { + message DataPerWeek { + optional uint64 week_id = 1; + optional uint32 rank_id = 2; + optional uint32 matches_played = 3; + } + + message DataPerMap { + optional uint32 map_id = 1; + optional uint32 wins = 2; + optional uint32 ties = 3; + optional uint32 losses = 4; + optional uint32 rounds = 5; + optional uint32 kills = 6; + optional uint32 headshots = 7; + optional uint32 assists = 8; + optional uint32 deaths = 9; + optional uint32 mvps = 10; + optional uint32 rounds_3k = 11; + optional uint32 rounds_4k = 12; + optional uint32 rounds_5k = 13; + } + + optional uint32 account_id = 1; + optional uint32 season_id = 2; + repeated .CMsgGCCStrike15_v2_PremierSeasonSummary.DataPerWeek data_per_week = 3; + repeated .CMsgGCCStrike15_v2_PremierSeasonSummary.DataPerMap data_per_map = 4; +} + message CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate { optional uint64 caseid = 1; optional uint32 suspectid = 3; @@ -1178,6 +1211,14 @@ message CMsgGCCStrike15_v2_GC2ClientNotifyXPShop { message CMsgGCCStrike15_v2_Client2GcAckXPShopTracks { } +message CMsgGCCStrike15_v2_MatchmakingGC2ClientSearchStats { + optional uint32 gs_location_id = 1; + optional uint32 data_center_id = 2; + optional uint32 num_locked_in = 3; + optional uint32 num_found_nearby = 4; + optional uint32 note_level = 5; +} + message CMsgGC_GlobalGame_Subscribe { optional uint64 ticket = 1; } diff --git a/game/shared/cstrike15/cstrike15_usermessages.proto b/game/shared/cstrike15/cstrike15_usermessages.proto index 539ca5f1..d15edf89 100644 --- a/game/shared/cstrike15/cstrike15_usermessages.proto +++ b/game/shared/cstrike15/cstrike15_usermessages.proto @@ -609,4 +609,5 @@ message CCSUsrMsg_DamagePrediction { optional int32 victim_damage = 5; optional .CMsgVector shoot_pos = 6; optional .CMsgQAngle shoot_dir = 7; + optional .CMsgQAngle aim_punch = 8; } diff --git a/networksystem/networksystem_protomessages.proto b/networksystem/networksystem_protomessages.proto new file mode 100644 index 00000000..2317cfae --- /dev/null +++ b/networksystem/networksystem_protomessages.proto @@ -0,0 +1,19 @@ +message NetMessageSplitscreenUserChanged { + optional uint32 slot = 1; +} + +message NetMessageConnectionClosed { + optional uint32 reason = 1; + optional string message = 2; +} + +message NetMessageConnectionCrashed { + optional uint32 reason = 1; + optional string message = 2; +} + +message NetMessagePacketStart { +} + +message NetMessagePacketEnd { +}