diff --git a/common/connectionless_netmessages.proto b/common/connectionless_netmessages.proto index 468b9f12..3e77132c 100644 --- a/common/connectionless_netmessages.proto +++ b/common/connectionless_netmessages.proto @@ -1,5 +1,10 @@ import "netmessages.proto"; +message C2S_CONNECT_SameProcessCheck { + optional uint64 localhost_process_id = 1; + optional uint64 key = 2; +} + message C2S_CONNECT_Message { optional uint32 host_version = 1; optional uint32 auth_protocol = 2; @@ -10,8 +15,10 @@ message C2S_CONNECT_Message { repeated .CCLCMsg_SplitPlayerConnect splitplayers = 7; optional bytes auth_steam = 8; optional string challenge_context = 9; + optional .C2S_CONNECT_SameProcessCheck localhost_same_process_check = 10; } message C2S_CONNECTION_Message { optional string addon_name = 1; + optional .C2S_CONNECT_SameProcessCheck localhost_same_process_check = 2; } diff --git a/common/netmessages.proto b/common/netmessages.proto index 3f70fd83..bece4667 100644 --- a/common/netmessages.proto +++ b/common/netmessages.proto @@ -95,6 +95,7 @@ enum Bidirectional_Messages { bi_RebroadcastGameEvent = 16; bi_RebroadcastSource = 17; bi_GameEvent = 18; + bi_PredictionEvent = 19; } enum Bidirectional_Messages_LowFrequency { @@ -271,6 +272,8 @@ message CMsgSource2NetworkFlowQuality { message CCLCMsg_Diagnostic { optional .CMsgSource2SystemSpecs system_specs = 1; optional .CMsgSource2VProfLiteReport vprof_report = 2; + optional .CMsgSource2NetworkFlowQuality downstream_flow = 3; + optional .CMsgSource2NetworkFlowQuality upstream_flow = 4; } message CSource2Metrics_MatchPerfSummary_Notification { @@ -278,6 +281,8 @@ message CSource2Metrics_MatchPerfSummary_Notification { optional .CMsgSource2SystemSpecs system_specs = 1; optional .CMsgSource2VProfLiteReport profile = 2; optional uint32 build_id = 3; + optional .CMsgSource2NetworkFlowQuality downstream_flow = 4; + optional .CMsgSource2NetworkFlowQuality upstream_flow = 5; optional fixed64 steamid = 10; } @@ -453,6 +458,11 @@ message CSVCMsg_PacketEntities { optional bytes data = 2; } + message outofpvs_entity_updates_t { + optional int32 count = 1; + optional bytes data = 2; + } + optional int32 max_entries = 1; optional int32 updated_entries = 2; optional bool legacy_is_delta = 3; @@ -468,11 +478,12 @@ message CSVCMsg_PacketEntities { optional uint32 server_tick = 12; optional bytes serialized_entities = 13; repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15; - optional uint32 has_pvs_vis_bits = 16; + optional uint32 has_pvs_vis_bits_deprecated = 16; repeated sint32 cmd_recv_status = 22 [packed = true]; optional .CSVCMsg_PacketEntities.non_transmitted_entities_t non_transmitted_entities = 19; optional uint32 cq_starved_command_ticks = 20; optional uint32 cq_discarded_command_ticks = 21; + optional .CSVCMsg_PacketEntities.outofpvs_entity_updates_t outofpvs_entity_updates = 23; optional bytes dev_padding = 999; } @@ -614,6 +625,18 @@ message CBidirMsg_RebroadcastSource { optional int32 eventsource = 1; } +message CBidirMsg_PredictionEvent { + enum ESyncType { + ST_Tick = 0; + ST_UserCmdNum = 1; + } + + required uint32 event_id = 1; + required bytes event_data = 2; + optional uint32 sync_type = 3; + optional uint32 sync_val_uint32 = 4; +} + message CMsgServerNetworkStats { message Port { optional int32 port = 1; diff --git a/common/network_connection.proto b/common/network_connection.proto index 6a4dff86..8f69125d 100644 --- a/common/network_connection.proto +++ b/common/network_connection.proto @@ -3,6 +3,7 @@ import "google/protobuf/descriptor.proto"; extend .google.protobuf.EnumValueOptions { optional string network_connection_token = 50500; optional string network_connection_detail_token = 50501; + optional bool allowed_from_client = 50502 [default = true]; } enum ENetworkDisconnectionReason { @@ -19,7 +20,7 @@ enum ENetworkDisconnectionReason { NETWORK_DISCONNECT_STEAM_AUTHCANCELLED = 10 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED = 11 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; NETWORK_DISCONNECT_STEAM_AUTHINVALID = 12 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"]; - NETWORK_DISCONNECT_STEAM_VACBANSTATE = 13 [(network_connection_token) = "#GameUI_Disconnect_SteamVAC"]; + NETWORK_DISCONNECT_STEAM_VACBANSTATE = 13 [(network_connection_token) = "#GameUI_Disconnect_SteamVAC", (allowed_from_client) = false]; NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE = 14 [(network_connection_token) = "#GameUI_Disconnect_SteamInUse"]; NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT = 15 [(network_connection_token) = "#GameUI_Disconnect_SteamTimeOut"]; NETWORK_DISCONNECT_STEAM_DROPPED = 16 [(network_connection_token) = "#GameUI_Disconnect_SteamDropped"]; @@ -125,6 +126,6 @@ enum ENetworkDisconnectionReason { NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160 [(network_connection_token) = "#Player_DisconnectReason_NoSteamLogin"]; 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_VACNETABNORMALBEHAVIOR = 163 [(network_connection_token) = "#Player_DisconnectReason_VacNetAbnormalBehavior", (allowed_from_client) = false]; NETWORK_DISCONNECT_KICKED_INSECURECLIENT = 164 [(network_connection_token) = "#Player_DisconnectReason_InsecureClient"]; } diff --git a/common/valveextensions.proto b/common/valveextensions.proto index d46efeec..e0f0cd6e 100644 --- a/common/valveextensions.proto +++ b/common/valveextensions.proto @@ -8,6 +8,7 @@ extend .google.protobuf.FieldOptions { 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 { @@ -15,3 +16,11 @@ extend .google.protobuf.EnumValueOptions { 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/game/shared/base_gcmessages_csgo.proto b/game/shared/base_gcmessages_csgo.proto new file mode 100644 index 00000000..b53ba790 --- /dev/null +++ b/game/shared/base_gcmessages_csgo.proto @@ -0,0 +1,547 @@ +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; +} + +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 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; +} + +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; +} diff --git a/game/shared/cstrike15/cstrike15_gcmessages.proto b/game/shared/cstrike15/cstrike15_gcmessages.proto index c1a3f11e..9408651b 100644 --- a/game/shared/cstrike15/cstrike15_gcmessages.proto +++ b/game/shared/cstrike15/cstrike15_gcmessages.proto @@ -54,7 +54,6 @@ enum ECsgoGCMsg { k_EMsgGCCStrike15_v2_DraftSummary = 9162; k_EMsgGCCStrike15_v2_ClientRequestJoinFriendData = 9163; k_EMsgGCCStrike15_v2_ClientRequestJoinServerData = 9164; - k_EMsgGCCStrike15_v2_ClientRequestNewMission = 9165; k_EMsgGCCStrike15_v2_GC2ClientTournamentInfo = 9167; k_EMsgGC_GlobalGame_Subscribe = 9168; k_EMsgGC_GlobalGame_Unsubscribe = 9169; @@ -204,7 +203,6 @@ message GlobalStatistics { optional uint32 active_tournament_eventid = 12; optional uint32 active_survey_id = 13; optional uint32 rtime32_cur = 14; - optional uint32 rtime32_event_start = 15; optional uint32 required_appid_version2 = 16; } @@ -352,8 +350,8 @@ message PlayerQuestData { optional uint64 quest_id = 1; optional int32 quest_normal_points_earned = 2; optional int32 quest_bonus_points_earned = 3; - optional int32 quest_normal_points_required = 4; - optional int32 quest_reward_xp = 5; + repeated int32 quest_normal_points_required = 4; + repeated int32 quest_reward_xp = 5; optional int32 quest_period = 6; optional .QuestType quest_type = 7 [default = k_EQuestType_Operation]; } @@ -547,7 +545,6 @@ message CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve { repeated uint32 tournament_casters_account_ids = 13; optional uint64 tv_relay_steamid = 14; optional .CPreMatchInfoData pre_match_data = 15; - optional uint32 rtime32_event_start = 16; optional uint32 tv_control = 17; repeated .OperationalVarValue op_var_values = 19; optional uint32 socache_control = 20; @@ -766,16 +763,12 @@ message CMsgGCCStrike15_v2_ClientRequestJoinServerData { optional string errormsg = 7; } -message CMsgGCCstrike15_v2_ClientRequestNewMission { - optional uint32 mission_id = 2; - optional uint32 campaign_id = 3; -} - message CMsgGCCstrike15_v2_ClientRedeemMissionReward { optional uint32 campaign_id = 1; optional uint32 redeem_id = 2; optional uint32 redeemable_balance = 3; optional uint32 expected_cost = 4; + optional int32 bid_control = 5; } message CMsgGCCstrike15_v2_ClientRedeemFreeReward { @@ -929,6 +922,7 @@ message CEconItemPreviewDataBlock { optional float offset_y = 8; optional float offset_z = 9; optional uint32 pattern = 10; + optional uint32 highlight_reel = 11; } optional uint32 accountid = 1; @@ -951,6 +945,9 @@ message CEconItemPreviewDataBlock { optional int32 entindex = 18; optional uint32 petindex = 19; repeated .CEconItemPreviewDataBlock.Sticker keychains = 20; + optional uint32 style = 21; + repeated .CEconItemPreviewDataBlock.Sticker variations = 22; + optional uint32 upgrade_level = 23; } message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification { @@ -1180,6 +1177,13 @@ message CSOAccountXpShop { repeated uint32 xp_tracks = 3; } +message CSOAccountXpShopBids { + optional uint32 campaign_id = 1 [(key_field) = true]; + optional uint32 redeem_id = 2 [(key_field) = true]; + optional uint32 expected_cost = 3; + optional uint32 generation_time = 4; +} + message CSOAccountKeychainRemoveToolCharges { optional uint32 charges = 1; } diff --git a/game/shared/econ/econ_gcmessages.proto b/game/shared/econ/econ_gcmessages.proto index 334dca42..4cd6715a 100644 --- a/game/shared/econ/econ_gcmessages.proto +++ b/game/shared/econ/econ_gcmessages.proto @@ -145,7 +145,6 @@ enum EGCItemMsg { k_EMsgGCRecurringSubscriptionStatus = 2530; k_EMsgGCAdjustEquipSlotsManual = 2531; k_EMsgGCAdjustEquipSlotsShuffle = 2532; - k_EMsgGCNameItemAndEquip = 2533; k_EMsgGCOpenCrate = 2534; k_EMsgGCAcknowledgeRentalExpiration = 2535; } diff --git a/game/shared/te.proto b/game/shared/te.proto index bca8351f..2fa65bd2 100644 --- a/game/shared/te.proto +++ b/game/shared/te.proto @@ -187,15 +187,12 @@ message CMsgTEBloodStream { message CMsgTEExplosion { optional .CMsgVector origin = 1; - optional uint32 framerate = 2; optional uint32 flags = 3; optional .CMsgVector normal = 4; - optional uint32 materialtype = 5; optional uint32 radius = 6; optional uint32 magnitude = 7; - optional float scale = 8; optional bool affect_ragdolls = 9; - optional string effect_name = 10; + optional string sound_name = 10; optional uint32 explosion_type = 11; optional bool create_debris = 12; optional .CMsgVector debris_origin = 13; diff --git a/game/shared/usercmd.proto b/game/shared/usercmd.proto index d346d4d3..05a1f46b 100644 --- a/game/shared/usercmd.proto +++ b/game/shared/usercmd.proto @@ -12,11 +12,14 @@ message CSubtickMoveStep { optional float when = 3; optional float analog_forward_delta = 4; optional float analog_left_delta = 5; + optional float analog_pitch_delta = 6; + optional float analog_yaw_delta = 7; } message CBaseUserCmdPB { optional int32 legacy_command_number = 1; optional int32 client_tick = 2; + optional uint32 prediction_offset_ticks_x256 = 17; optional .CInButtonStatePB buttons_pb = 3; optional .CMsgQAngle viewangles = 4; optional float forwardmove = 5; diff --git a/game/shared/usermessages.proto b/game/shared/usermessages.proto index eff07260..b68a696e 100644 --- a/game/shared/usermessages.proto +++ b/game/shared/usermessages.proto @@ -37,7 +37,6 @@ enum EBaseUserMessages { UM_AnimGraphUpdate = 149; UM_HapticsManagerPulse = 150; UM_HapticsManagerEffect = 151; - UM_CommandQueueState = 152; UM_UpdateCssClasses = 153; UM_ServerFrameTime = 154; UM_LagCompensationError = 155; @@ -109,6 +108,9 @@ enum PARTICLE_MESSAGE { GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM = 33; GAME_PARTICLE_MANAGER_EVENT_SET_VDATA = 34; GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE = 35; + GAME_PARTICLE_MANAGER_EVENT_ADD_FAN = 36; + GAME_PARTICLE_MANAGER_EVENT_UPDATE_FAN = 37; + GAME_PARTICLE_MANAGER_EVENT_SET_CLUSTER_GROWTH = 38; } enum EHapticPulseType { @@ -550,6 +552,36 @@ message CUserMsg_ParticleManager { optional bool include_children = 2; } + message AddFan { + optional bool active = 1; + optional .CMsgVector bounds_mins = 2; + optional .CMsgVector bounds_maxs = 3; + optional .CMsgVector fan_origin = 4; + optional .CMsgVector fan_origin_offset = 5; + optional .CMsgVector fan_direction = 6; + optional float force = 7; + optional string fan_force_curve = 8; + optional bool falloff = 9; + optional bool pull_towards_point = 10; + optional float curve_min_dist = 11; + optional float curve_max_dist = 12; + } + + message UpdateFan { + optional bool active = 1; + optional .CMsgVector fan_origin = 2; + optional .CMsgVector fan_origin_offset = 3; + optional .CMsgVector fan_direction = 4; + optional float fan_ramp_ratio = 7; + optional .CMsgVector bounds_mins = 5; + optional .CMsgVector bounds_maxs = 6; + } + + message SetParticleClusterGrowth { + optional float duration = 1; + optional .CMsgVector origin = 2; + } + required .PARTICLE_MESSAGE type = 1 [default = GAME_PARTICLE_MANAGER_EVENT_CREATE]; required uint32 index = 2; optional .CUserMsg_ParticleManager.ReleaseParticleIndex release_particle_index = 3; @@ -587,6 +619,9 @@ message CUserMsg_ParticleManager { optional .CUserMsg_ParticleManager.DestroyPhysicsSim destroy_physics_sim = 36; optional .CUserMsg_ParticleManager.SetVData set_vdata = 37; optional .CUserMsg_ParticleManager.SetMaterialOverride set_material_override = 38; + optional .CUserMsg_ParticleManager.AddFan add_fan = 39; + optional .CUserMsg_ParticleManager.UpdateFan update_fan = 40; + optional .CUserMsg_ParticleManager.SetParticleClusterGrowth set_particle_cluster_growth = 41; extensions 100 to 201; }