Update to latest proto definitions from SteamDatabase/Protobufs

From commit 085746bbf6b48d1b89b7a63e7876932793f4c08f
This commit is contained in:
TBK 2025-10-17 13:13:37 +02:00
commit 6d40b01547
No known key found for this signature in database
GPG key ID: 4F205025B48377EB
43 changed files with 14210 additions and 22031 deletions

View file

@ -31,7 +31,7 @@ enum GC_BannedWordType {
message CGCStorePurchaseInit_LineItem {
optional uint32 item_def_id = 1;
optional uint32 quantity = 2;
optional uint32 cost_in_local_currency = 3;
optional uint64 cost_in_local_currency = 3;
optional uint32 purchase_type = 4;
optional uint64 supplemental_data = 5;
}
@ -100,6 +100,7 @@ message CMsgLANServerAvailable {
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;
@ -173,6 +174,8 @@ message CMsgApplySticker {
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 {
@ -234,19 +237,6 @@ message CSOEconItem {
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;
}
@ -448,13 +438,6 @@ 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;
@ -556,6 +539,7 @@ message CMsgOpenCrate {
optional uint64 tool_item_id = 1;
optional uint64 subject_item_id = 2;
optional bool for_rental = 3;
optional uint32 points_remaining = 4;
}
message CSOEconRentalHistory {

View file

@ -1,547 +0,0 @@
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;
}

View file

@ -7,6 +7,8 @@ enum P2P_Messages {
p2p_Ping = 258;
p2p_VRAvatarPosition = 259;
p2p_WatchSynchronization = 260;
p2p_FightingGame_GameData = 261;
p2p_FightingGame_Connection = 262;
}
message CP2P_TextMessage {

View file

@ -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;
}

View file

@ -0,0 +1,19 @@
import "networkbasetypes.proto";
import "prediction_events.proto";
enum ECSPredictionEvents {
CSPE_DamageTag = 1;
CSPE_AddAimPunch = 3;
}
message CCSPredictionEvent_DamageTag {
optional float flinch_mod_small = 1;
optional float flinch_mod_large = 2;
optional float friendly_fire_damage_reduction_ratio = 3;
}
message CCSPredictionEvent_AddAimPunch {
optional .CMsgQAngle punch_angle = 1;
optional uint32 when_tick = 2;
optional float when_tick_frac = 3;
}

View file

@ -7,22 +7,26 @@ message CSGOInterpolationInfoPB {
optional float frac = 3 [default = 0];
}
message CSGOInterpolationInfoPB_CL {
optional float frac = 3 [default = 0];
}
message CSGOInputHistoryEntryPB {
optional .CMsgQAngle view_angles = 2;
optional int32 render_tick_count = 4;
optional float render_tick_fraction = 5;
optional int32 player_tick_count = 6;
optional float player_tick_fraction = 7;
optional .CSGOInterpolationInfoPB cl_interp = 12;
optional .CSGOInterpolationInfoPB_CL cl_interp = 12;
optional .CSGOInterpolationInfoPB sv_interp0 = 13;
optional .CSGOInterpolationInfoPB sv_interp1 = 14;
optional .CSGOInterpolationInfoPB player_interp = 15;
optional int32 frame_number = 20;
optional int32 target_ent_index = 8 [default = -1];
optional .CMsgVector shoot_position = 3;
optional .CMsgVector target_head_pos_check = 9;
optional .CMsgVector target_abs_pos_check = 10;
optional .CMsgQAngle target_abs_ang_check = 11;
optional int32 frame_number = 64;
optional int32 target_ent_index = 65 [default = -1];
optional .CMsgVector shoot_position = 66;
optional .CMsgVector target_head_pos_check = 67;
optional .CMsgVector target_abs_pos_check = 68;
optional .CMsgQAngle target_abs_ang_check = 69;
}
message CSGOUserCmdPB {
@ -30,6 +34,8 @@ message CSGOUserCmdPB {
repeated .CSGOInputHistoryEntryPB input_history = 2;
optional int32 attack1_start_history_index = 6 [default = -1];
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_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];
}

View file

@ -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;
@ -105,6 +104,13 @@ enum ECsgoGCMsg {
k_EMsgGCCStrike15_v2_SetPlayerLeaderboardSafeName = 9218;
k_EMsgGCCStrike15_v2_ClientRedeemFreeReward = 9219;
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;
k_EMsgGCCStrike15_v2_RequestRecurringMissionSchedule = 9225;
k_EMsgGCCStrike15_v2_RecurringMissionSchema = 9226;
k_EMsgGCCStrike15_v2_VolatileItemClaimReward = 9227;
}
enum ECsgoSteamUserStat {
@ -113,6 +119,11 @@ enum ECsgoSteamUserStat {
k_ECsgoSteamUserStat_SurvivedDangerZone = 3;
}
enum QuestType {
k_EQuestType_Operation = 1;
k_EQuestType_RecurringMission = 2;
}
enum EClientReportingVersion {
k_EClientReportingVersion_OldVersion = 0;
k_EClientReportingVersion_BetaVersion = 1;
@ -193,7 +204,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;
}
@ -240,6 +250,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 {
@ -339,6 +351,10 @@ message PlayerQuestData {
optional uint64 quest_id = 1;
optional int32 quest_normal_points_earned = 2;
optional int32 quest_bonus_points_earned = 3;
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];
}
optional uint32 quester_account_id = 1;
@ -530,10 +546,11 @@ 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;
repeated int32 teammate_colors = 21;
optional uint32 match_id_additional = 22;
}
message CMsgGCCStrike15_v2_MatchmakingServerReservationResponse {
@ -747,16 +764,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 {
@ -818,6 +831,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;
@ -879,6 +921,9 @@ message CEconItemPreviewDataBlock {
optional uint32 tint_id = 6;
optional float offset_x = 7;
optional float offset_y = 8;
optional float offset_z = 9;
optional uint32 pattern = 10;
optional uint32 highlight_reel = 11;
}
optional uint32 accountid = 1;
@ -901,6 +946,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 {
@ -1119,11 +1167,40 @@ message CSOEconCoupon {
}
message CSOAccountItemPersonalStore {
optional uint32 generation_time = 1 [(key_field) = true];
optional uint32 generation_time = 1;
optional uint32 redeemable_balance = 2;
repeated uint64 items = 3;
}
message CSOAccountXpShop {
optional uint32 generation_time = 1;
optional uint32 redeemable_balance = 2;
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 CSOVolatileItemOffer {
optional uint32 defidx = 1 [(key_field) = true];
repeated uint64 faux_itemid = 2;
repeated uint32 generation_time = 3;
}
message CSOVolatileItemClaimedRewards {
optional uint32 defidx = 1 [(key_field) = true];
repeated uint32 reward = 2;
repeated uint32 generation_time = 3;
}
message CSOAccountKeychainRemoveToolCharges {
optional uint32 charges = 1;
}
message CSOQuestProgress {
optional uint32 questid = 1 [(key_field) = true];
optional uint32 points_remaining = 2;
@ -1145,6 +1222,12 @@ message CSOAccountRecurringSubscription {
optional uint32 time_initiated = 2;
}
message CSOGameAccountSteamChina {
optional uint32 time_last_update = 1;
optional uint32 time_comms_ban = 2;
optional uint32 time_play_ban = 3;
}
message CSOPersonaDataPublic {
optional int32 player_level = 1;
optional .PlayerCommendationInfo commendation = 2;
@ -1153,6 +1236,31 @@ message CSOPersonaDataPublic {
optional uint32 xp_trail_level = 5;
}
message CSOAccountRecurringMission {
optional uint32 account_id = 1;
optional uint32 mission_id = 2;
optional uint32 period = 3;
optional uint32 progress = 4;
}
message CMsgGCCStrike15_v2_GC2ClientNotifyXPShop {
optional .CSOAccountXpShop prematch = 1;
optional .CSOAccountXpShop postmatch = 2;
optional uint32 current_xp = 3;
optional uint32 current_level = 4;
}
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;
}
@ -1437,3 +1545,15 @@ message CMsgGCCStrike15_v2_GC2ClientInitSystem_Response {
message CMsgGCCStrike15_v2_SetPlayerLeaderboardSafeName {
optional string leaderboard_safe_name = 1;
}
message CMsgRequestRecurringMissionSchedule {
}
message CMsgRecurringMissionSchema {
message MissionTemplateList {
optional uint32 period = 1;
repeated bytes mission_templates = 2;
}
repeated .CMsgRecurringMissionSchema.MissionTemplateList missions = 1;
}

View file

@ -37,7 +37,6 @@ enum ECstrike15UserMessages {
CS_UM_MatchEndConditions = 334;
CS_UM_DisconnectToLobby = 335;
CS_UM_PlayerStatsUpdate = 336;
CS_UM_WarmupHasEnded = 338;
CS_UM_ClientInfo = 339;
CS_UM_XRankGet = 340;
CS_UM_XRankUpd = 341;
@ -56,7 +55,6 @@ enum ECstrike15UserMessages {
CS_UM_MarkAchievement = 357;
CS_UM_MatchStatsUpdate = 358;
CS_UM_ItemDrop = 359;
CS_UM_GlowPropTurnOff = 360;
CS_UM_SendPlayerItemDrops = 361;
CS_UM_RoundBackupFilenames = 362;
CS_UM_SendPlayerItemFound = 363;
@ -77,7 +75,10 @@ enum ECstrike15UserMessages {
CS_UM_CurrentRoundOdds = 380;
CS_UM_DeepStats = 381;
CS_UM_ShootInfo = 383;
CS_UM_SnapTapStats = 384;
CS_UM_CounterStrafe = 385;
CS_UM_DamagePrediction = 386;
CS_UM_RecurringMissionSchema = 387;
CS_UM_SendPlayerLoadout = 388;
}
enum ECSUsrMsg_DisconnectToLobby_Action {
@ -420,10 +421,6 @@ message CCSUsrMsg_ItemDrop {
optional bool death = 2;
}
message CCSUsrMsg_GlowPropTurnOff {
optional int32 entidx = 1 [default = -1];
}
message CCSUsrMsg_RoundBackupFilenames {
optional int32 count = 1;
optional int32 index = 2;
@ -467,6 +464,8 @@ message CCSUsrMsg_SurvivalStats {
}
message CCSUsrMsg_EndOfMatchAllPlayersData {
option (maximum_size_bytes) = 4096;
message Accolade {
optional int32 eaccolade = 1;
optional float value = 2;
@ -576,10 +575,6 @@ message CCSUsrMsg_DisconnectToLobby {
optional int32 dummy = 1;
}
message CCSUsrMsg_WarmupHasEnded {
optional int32 dummy = 1;
}
message CCSUsrMsg_ClientInfo {
optional int32 dummy = 1;
}
@ -595,9 +590,36 @@ message CCSUsrMsgPreMatchSayText {
optional bool all_chat = 3;
}
message CCSUsrMsg_SnapTapStats {
optional uint32 perfect_bucket = 1;
repeated uint32 overlap_bucket = 2;
repeated uint32 underlap_bucket = 3;
optional uint32 max_success_in_20 = 4;
message CCSUsrMsg_CounterStrafe {
optional int32 press_to_release_ns = 1;
optional int32 total_keys_down = 2;
}
message CCSUsrMsg_DamagePrediction {
optional int32 command_num = 1;
optional int32 pellet_idx = 2;
optional int32 victim_slot = 3;
optional int32 victim_starting_health = 4;
optional int32 victim_damage = 5;
optional .CMsgVector shoot_pos = 6;
optional .CMsgQAngle shoot_dir = 7;
optional .CMsgQAngle aim_punch = 8;
}
message CCSUsrMsg_RecurringMissionSchema {
optional uint32 period = 1;
optional bytes mission_schema = 2;
}
message CCSUsrMsg_SendPlayerLoadout {
option (maximum_size_bytes) = 16384;
message LoadoutItem {
optional .CEconItemPreviewDataBlock econ_item = 1;
optional int32 team = 2;
optional int32 slot = 3;
}
repeated .CCSUsrMsg_SendPlayerLoadout.LoadoutItem loadout = 1;
optional int32 playerslot = 2 [default = -1];
}

View file

@ -18,7 +18,8 @@ enum EDemoCommands {
DEM_SpawnGroups = 15;
DEM_AnimationData = 16;
DEM_AnimationHeader = 17;
DEM_Max = 18;
DEM_Recovery = 18;
DEM_Max = 19;
DEM_IsCompressed = 64;
}
@ -53,7 +54,7 @@ message CGameInfo {
message CHeroSelectEvent {
optional bool is_pick = 1;
optional uint32 team = 2;
optional uint32 hero_id = 3;
optional int32 hero_id = 3;
}
optional uint64 match_id = 1;
@ -171,3 +172,13 @@ message CDemoUserCmd {
message CDemoSpawnGroups {
repeated bytes msgs = 3;
}
message CDemoRecovery {
message DemoInitialSpawnGroupEntry {
optional uint32 spawngrouphandle = 1;
optional bool was_created = 2;
}
optional .CDemoRecovery.DemoInitialSpawnGroupEntry initial_spawn_group = 1;
optional bytes spawn_group_message = 2;
}

View file

@ -8,7 +8,7 @@ enum EGCItemMsg {
k_EMsgGCDelete = 1004;
k_EMsgGCVerifyCacheSubscription = 1005;
k_EMsgGCNameItem = 1006;
k_EMsgGCUnlockCrate = 1007;
k_EMsgGCUnlockCrate_DEPRECATED = 1007;
k_EMsgGCUnlockCrateResponse = 1008;
k_EMsgGCPaintItem = 1009;
k_EMsgGCPaintItemResponse = 1010;
@ -55,7 +55,6 @@ enum EGCItemMsg {
k_EMsgGCRemoveUniqueCraftIndexResponse = 1056;
k_EMsgGCSaxxyBroadcast = 1057;
k_EMsgGCBackpackSortFinished = 1058;
k_EMsgGCAdjustItemEquippedState = 1059;
k_EMsgGCCollectItem = 1061;
k_EMsgGCItemAcknowledged__DEPRECATED = 1062;
k_EMsgGC_ReportAbuse = 1065;
@ -143,13 +142,12 @@ enum EGCItemMsg {
k_EMsgGCRequestAnnouncementsResponse = 2526;
k_EMsgGCRequestPassportItemGrant = 2527;
k_EMsgGCClientVersionUpdated = 2528;
k_EMsgGCAdjustItemEquippedStateMulti = 2529;
k_EMsgGCRecurringSubscriptionStatus = 2530;
k_EMsgGCAdjustEquipSlotsManual = 2531;
k_EMsgGCAdjustEquipSlotsShuffle = 2532;
k_EMsgGCNameItemAndEquip = 2533;
k_EMsgGCOpenCrate = 2534;
k_EMsgGCAcknowledgeRentalExpiration = 2535;
k_EMsgGCVolatileItemLoadContents = 2536;
}
enum EGCMsgResponse {
@ -192,12 +190,16 @@ enum EGCItemCustomizationNotification {
k_EGCItemCustomizationNotification_StatTrakSwap = 1088;
k_EGCItemCustomizationNotification_RemovePatch = 1089;
k_EGCItemCustomizationNotification_ApplyPatch = 1090;
k_EGCItemCustomizationNotification_ApplyKeychain = 1091;
k_EGCItemCustomizationNotification_RemoveKeychain = 1092;
k_EGCItemCustomizationNotification_ActivateFanToken = 9178;
k_EGCItemCustomizationNotification_ActivateOperationCoin = 9179;
k_EGCItemCustomizationNotification_GraffitiUnseal = 9185;
k_EGCItemCustomizationNotification_GenerateSouvenir = 9204;
k_EGCItemCustomizationNotification_ClientRedeemMissionReward = 9209;
k_EGCItemCustomizationNotification_ClientRedeemFreeReward = 9219;
k_EGCItemCustomizationNotification_XpShopUseTicket = 9221;
k_EGCItemCustomizationNotification_XpShopAckTracks = 9222;
}
message CMsgGCGiftedItems {
@ -227,4 +229,5 @@ message CMsgGCUserTrackTimePlayedConsecutively {
message CMsgGCItemCustomizationNotification {
repeated uint64 item_id = 1;
optional uint32 request = 2;
repeated uint64 extra_data = 3;
}

View file

@ -5,7 +5,7 @@ enum EBaseGameEvents {
GE_PlaceDecalEvent = 201;
GE_ClearWorldDecalsEvent = 202;
GE_ClearEntityDecalsEvent = 203;
GE_ClearDecalsForSkeletonInstanceEvent = 204;
GE_ClearDecalsForEntityEvent = 204;
GE_Source1LegacyGameEventList = 205;
GE_Source1LegacyListenEvents = 206;
GE_Source1LegacyGameEvent = 207;
@ -25,17 +25,16 @@ message CMsgPlaceDecalEvent {
optional .CMsgVector position = 1;
optional .CMsgVector normal = 2;
optional .CMsgVector saxis = 3;
optional uint32 decalmaterialindex = 4;
optional int32 boneindex = 4;
optional int32 triangleindex = 13;
optional uint32 flags = 5;
optional fixed32 color = 6;
optional float width = 7;
optional float height = 8;
optional float depth = 9;
optional uint32 entityhandleindex = 10;
optional fixed32 skeletoninstancehash = 11;
optional int32 boneindex = 12;
optional bool translucenthit = 13;
optional bool is_adjacent = 14;
optional int32 random_seed = 7;
optional uint32 decal_group_name = 8;
optional float size_override = 9;
optional uint32 entityhandle = 10 [default = 16777215];
optional uint64 material_id = 11;
optional uint32 sequence_name = 12;
}
message CMsgClearWorldDecalsEvent {
@ -46,13 +45,14 @@ message CMsgClearEntityDecalsEvent {
optional uint32 flagstoclear = 1;
}
message CMsgClearDecalsForSkeletonInstanceEvent {
message CMsgClearDecalsForEntityEvent {
optional uint32 flagstoclear = 1;
optional uint32 entityhandleindex = 2;
optional uint32 skeletoninstancehash = 3;
optional uint32 entityhandle = 2 [default = 16777215];
}
message CMsgSource1LegacyGameEventList {
option (maximum_size_bytes) = 24576;
message key_t {
optional int32 type = 1;
optional string name = 2;

View file

@ -6,7 +6,6 @@ enum CLC_Messages {
clc_VoiceData = 22;
clc_BaselineAck = 23;
clc_RespondCvarValue = 25;
clc_FileCRCCheck = 26;
clc_LoadingProgress = 27;
clc_SplitPlayerConnect = 28;
clc_SplitPlayerDisconnect = 30;
@ -95,6 +94,7 @@ enum Bidirectional_Messages {
bi_RebroadcastGameEvent = 16;
bi_RebroadcastSource = 17;
bi_GameEvent = 18;
bi_PredictionEvent = 19;
}
enum Bidirectional_Messages_LowFrequency {
@ -157,14 +157,6 @@ message CCLCMsg_RespondCvarValue {
optional string value = 4;
}
message CCLCMsg_FileCRCCheck {
optional int32 code_path = 1;
optional string path = 2;
optional int32 code_filename = 3;
optional string filename = 4;
optional fixed32 crc = 5;
}
message CCLCMsg_LoadingProgress {
optional int32 progress = 1;
}
@ -187,6 +179,8 @@ message CCLCMsg_RequestPause {
}
message CCLCMsg_CmdKeyValues {
option (maximum_size_bytes) = 1500;
optional bytes data = 1;
}
@ -207,11 +201,14 @@ message CMsgSource2SystemSpecs {
optional uint32 gpu_driver_version_low = 45;
optional uint32 gpu_dx_support_level = 46;
optional uint32 gpu_texture_memory_size_mb = 47;
optional uint32 backbuffer_width = 51;
optional uint32 backbuffer_height = 52;
}
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 +216,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,9 +232,75 @@ 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 netframes_total = 30;
optional uint32 netframes_dropped = 31;
optional uint32 netframes_outoforder = 32;
optional uint32 netframes_size_exceeds_mtu = 34;
optional uint32 netframes_size_p95 = 35;
optional uint32 netframes_size_p99 = 36;
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;
optional uint32 netframe_jitter_p50 = 70;
optional uint32 netframe_jitter_p99 = 71;
optional uint32 interval_peakjitter_p50 = 72;
optional uint32 interval_peakjitter_p95 = 73;
optional uint32 packet_misdelivery_rate_p50_x4 = 74;
optional uint32 packet_misdelivery_rate_p95_x4 = 75;
optional uint32 net_ping_p5 = 80;
optional uint32 net_ping_p50 = 81;
optional uint32 net_ping_p95 = 82;
}
message CMsgSource2PerfIntervalSample {
message Tag {
optional string tag = 1;
optional uint32 max_value = 2;
}
optional float frame_time_max_ms = 1;
optional float frame_time_avg_ms = 2;
optional float frame_time_min_ms = 3;
optional int32 frame_count = 4;
optional float frame_time_total_ms = 5;
repeated .CMsgSource2PerfIntervalSample.Tag tags = 6;
}
message CCLCMsg_Diagnostic {
option (maximum_size_bytes) = 16384;
optional .CMsgSource2SystemSpecs system_specs = 1;
optional .CMsgSource2VProfLiteReport vprof_report = 2;
optional .CMsgSource2NetworkFlowQuality downstream_flow = 3;
optional .CMsgSource2NetworkFlowQuality upstream_flow = 4;
repeated .CMsgSource2PerfIntervalSample perf_samples = 5;
}
message CSource2Metrics_MatchPerfSummary_Notification {
@ -237,18 +308,24 @@ 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;
repeated .CMsgSource2PerfIntervalSample perf_samples = 11;
}
optional uint32 appid = 1;
optional string game_mode = 2;
optional uint32 server_build_id = 3;
optional fixed32 server_popid = 4;
optional .CMsgSource2VProfLiteReport server_profile = 10;
repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
optional string map = 20;
}
message CSVCMsg_ServerInfo {
option (maximum_size_bytes) = 102400;
optional int32 protocol = 1;
optional int32 server_count = 2;
optional bool is_dedicated = 3;
@ -402,6 +479,8 @@ message CSVCMsg_GameEventList {
}
message CSVCMsg_PacketEntities {
option (maximum_size_bytes) = 0;
message alternate_baseline_t {
optional int32 entity_index = 1;
optional int32 baseline_index = 2;
@ -412,6 +491,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;
@ -427,11 +511,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;
}
@ -442,6 +527,8 @@ message CSVCMsg_TempEntities {
}
message CSVCMsg_CreateStringTable {
option (maximum_size_bytes) = 49152;
optional string name = 1;
optional int32 num_entries = 2;
optional bool user_data_fixed_size = 3;
@ -455,6 +542,8 @@ message CSVCMsg_CreateStringTable {
}
message CSVCMsg_UpdateStringTable {
option (maximum_size_bytes) = 262144;
optional int32 table_id = 1;
optional int32 num_changed_entries = 2;
optional bytes string_data = 3;
@ -553,6 +642,8 @@ message ProtoFlattenedSerializer_t {
}
message CSVCMsg_FlattenedSerializer {
option (maximum_size_bytes) = 0;
repeated .ProtoFlattenedSerializer_t serializers = 1;
repeated string symbols = 2;
repeated .ProtoFlattenedSerializerField_t fields = 3;
@ -573,6 +664,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;

View file

@ -2,6 +2,8 @@ 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 {
@ -18,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"];
@ -123,4 +125,7 @@ enum ENetworkDisconnectionReason {
NETWORK_DISCONNECT_KICKED_SUICIDE = 159 [(network_connection_token) = "#Player_DisconnectReason_Suicide"];
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", (allowed_from_client) = false];
NETWORK_DISCONNECT_KICKED_INSECURECLIENT = 164 [(network_connection_token) = "#Player_DisconnectReason_InsecureClient"];
}

View file

@ -1,5 +1,10 @@
import "google/protobuf/descriptor.proto";
import "network_connection.proto";
extend .google.protobuf.MessageOptions {
optional int32 maximum_size_bytes = 50000;
}
enum SignonState_t {
SIGNONSTATE_NONE = 0;
SIGNONSTATE_CHALLENGE = 1;
@ -107,16 +112,15 @@ message CNETMsg_SplitScreenUser {
message CNETMsg_Tick {
optional uint32 tick = 1;
optional uint32 host_frametime = 2;
optional uint32 host_frametime_std_deviation = 3;
optional uint32 host_computationtime = 4;
optional uint32 host_computationtime_std_deviation = 5;
optional uint32 host_framestarttime_std_deviation = 6;
optional uint32 host_loss = 7;
optional uint32 legacy_host_loss = 7;
optional uint32 host_unfiltered_frametime = 8;
optional uint32 hltv_replay_flags = 9;
optional uint32 expected_long_tick = 10;
optional string expected_long_tick_reason = 11;
optional uint32 host_frame_dropped_pct_x10 = 12;
optional uint32 host_frame_irregular_arrival_pct_x10 = 13;
}
message CNETMsg_StringCmd {
@ -125,6 +129,8 @@ message CNETMsg_StringCmd {
}
message CNETMsg_SetConVar {
option (maximum_size_bytes) = 4096;
optional .CMsg_CVars convars = 1;
}
@ -164,6 +170,8 @@ message CSVCMsgList_GameEvents {
}
message CNETMsg_SpawnGroup_Load {
option (maximum_size_bytes) = 131072;
optional string worldname = 1;
optional string entitylumpname = 2;
optional string entityfiltername = 3;

View file

@ -4,10 +4,12 @@ message NetMessageSplitscreenUserChanged {
message NetMessageConnectionClosed {
optional uint32 reason = 1;
optional string message = 2;
}
message NetMessageConnectionCrashed {
optional uint32 reason = 1;
optional string message = 2;
}
message NetMessagePacketStart {

View file

@ -0,0 +1,24 @@
import "networkbasetypes.proto";
enum EBasePredictionEvents {
BPE_StringCommand = 128;
BPE_Teleport = 130;
BPE_Diagnostic = 16384;
}
message CPredictionEvent_Teleport {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional float drop_to_ground_range = 3;
}
message CPredictionEvent_StringCommand {
optional string command = 1;
}
message CPredictionEvent_Diagnostic {
optional uint32 id = 1;
optional uint32 requested_sync = 2;
optional uint32 requested_player_index = 3;
repeated uint32 execution_sync = 4;
}

View file

@ -63,7 +63,6 @@ message CMsgSteamDatagramRouterPingReply {
message AltAddress {
enum Protocol {
DefaultProtocol = 0;
NetworkNext = 1;
}
optional fixed32 ipv4 = 1;
@ -89,11 +88,16 @@ message CMsgSteamDatagramRouterPingReply {
optional fixed64 challenge = 6;
optional uint32 seconds_until_shutdown = 7;
optional fixed32 client_cookie = 8;
optional uint32 recv_tos = 16;
optional uint32 echo_sent_tos = 17;
optional uint32 sent_tos = 18;
optional uint32 echo_request_reply_tos = 19;
optional uint32 scoring_penalty_relay_cluster = 9;
optional uint32 flags = 12;
repeated .CMsgSteamDatagramRouterPingReply.RouteException route_exceptions = 10;
repeated .CMsgSteamDatagramRouterPingReply.AltAddress alt_addresses = 13;
optional bytes dummy_pad = 99;
optional uint64 dummy_varint = 100;
}
message CMsgSteamDatagramGameserverPingRequestBody {
@ -148,6 +152,12 @@ message CMsgSteamDatagramNoSessionRelayToPeer {
optional fixed64 kludge_pad = 99;
}
message CMsgTOSTreatment {
optional string l4s_detect = 1;
optional string up_ecn1 = 2;
optional string down_dscp45 = 3;
}
message CMsgSteamDatagramClientPingSampleRequest {
optional fixed32 connection_id = 1;
}
@ -186,6 +196,7 @@ message CMsgSteamDatagramClientPingSampleReply {
optional fixed32 connection_id = 1;
optional bool relay_override_active = 5;
optional .CMsgTOSTreatment tos = 6;
repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
}

View file

@ -7,7 +7,6 @@ enum ETEProtobufIds {
TE_BeamEntsId = 403;
TE_BeamPointsId = 404;
TE_BeamRingId = 405;
TE_BSPDecalId = 407;
TE_BubblesId = 408;
TE_BubbleTrailId = 409;
TE_DecalId = 410;
@ -24,8 +23,6 @@ enum ETEProtobufIds {
TE_LargeFunnelId = 421;
TE_SparksId = 422;
TE_PhysicsPropId = 423;
TE_PlayerDecalId = 424;
TE_ProjectedDecalId = 425;
TE_SmokeId = 426;
}
@ -75,14 +72,6 @@ message CMsgTEBeamRing {
optional uint32 endentity = 3;
}
message CMsgTEBSPDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional .CMsgVector saxis = 3;
optional int32 entity = 4 [default = -1];
optional uint32 index = 5;
}
message CMsgTEBubbles {
optional .CMsgVector mins = 1;
optional .CMsgVector maxs = 2;
@ -187,16 +176,16 @@ 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;
optional fixed32 debris_surfaceprop = 14;
}
message CMsgTEDust {
@ -234,19 +223,6 @@ message CMsgTEPhysicsProp {
optional int32 dmgtype = 13;
}
message CMsgTEPlayerDecal {
optional .CMsgVector origin = 1;
optional int32 player = 2 [default = -1];
optional int32 entity = 3 [default = -1];
}
message CMsgTEProjectedDecal {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional uint32 index = 3;
optional float distance = 4;
}
message CMsgTESmoke {
optional .CMsgVector origin = 1;
optional float scale = 2;

View file

@ -12,11 +12,14 @@ message CSubtickMoveStep {
optional float when = 3;
optional float analog_forward_delta = 4;
optional float analog_left_delta = 5;
optional float pitch_delta = 8;
optional float yaw_delta = 9;
}
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;

View file

@ -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;
@ -108,6 +107,11 @@ enum PARTICLE_MESSAGE {
GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM = 32;
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;
GAME_PARTICLE_MANAGER_EVENT_REMOVE_FAN = 39;
}
enum EHapticPulseType {
@ -338,6 +342,8 @@ message CUserMessageCameraTransition {
}
message CUserMsg_ParticleManager {
option (maximum_size_bytes) = 4096;
message ReleaseParticleIndex {
}
@ -351,6 +357,7 @@ message CUserMsg_ParticleManager {
optional string control_point_configuration = 7;
optional bool cluster = 8;
optional float endcap_time = 9;
optional .CMsgVector aggregation_position = 10;
}
message DestroyParticle {
@ -532,6 +539,8 @@ message CUserMsg_ParticleManager {
message CreatePhysicsSim {
optional string prop_group_name = 1;
optional bool use_high_quality_simulation = 2;
optional uint32 max_particle_count = 3;
}
message DestroyPhysicsSim {
@ -541,6 +550,50 @@ message CUserMsg_ParticleManager {
optional string vdata_name = 1;
}
message SetMaterialOverride {
optional string material_name = 1;
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;
optional uint32 fan_type = 13;
optional float cone_start_radius = 14;
optional float cone_end_radius = 15;
optional float cone_length = 16;
optional uint32 entity_handle = 17 [default = 16777215];
optional string attachment_name = 18;
}
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 RemoveFan {
}
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;
@ -577,6 +630,11 @@ message CUserMsg_ParticleManager {
optional .CUserMsg_ParticleManager.CreatePhysicsSim create_physics_sim = 35;
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;
optional .CUserMsg_ParticleManager.RemoveFan remove_fan = 42;
extensions 100 to 201;
}
@ -783,6 +841,13 @@ message CUserMessage_NotifyResponseFound {
optional string response_value = 3;
optional string response_concept = 4;
repeated .CUserMessage_NotifyResponseFound.Criteria criteria = 5;
repeated uint32 int_criteria_names = 6 [packed = true];
repeated int32 int_criteria_values = 7 [packed = true];
repeated uint32 float_criteria_names = 8 [packed = true];
repeated float float_criteria_values = 9;
repeated uint32 symbol_criteria_names = 10 [packed = true];
repeated uint32 symbol_criteria_values = 11 [packed = true];
optional int32 speak_result = 12;
}
message CUserMessage_PlayResponseConditional {
@ -790,4 +855,6 @@ message CUserMessage_PlayResponseConditional {
repeated int32 player_slots = 2;
optional string response = 3;
optional .CMsgVector ent_origin = 4;
optional float pre_delay = 5;
optional int32 mix_priority = 6;
}

View file

@ -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;
}