diff --git a/common/connectionless_netmessages.proto b/common/connectionless_netmessages.proto index 3e77132c..f447ab4b 100644 --- a/common/connectionless_netmessages.proto +++ b/common/connectionless_netmessages.proto @@ -1,4 +1,5 @@ import "netmessages.proto"; +import "networkbasetypes.proto"; message C2S_CONNECT_SameProcessCheck { optional uint64 localhost_process_id = 1; @@ -6,6 +7,8 @@ message C2S_CONNECT_SameProcessCheck { } message C2S_CONNECT_Message { + option (maximum_size_bytes) = 2400; + optional uint32 host_version = 1; optional uint32 auth_protocol = 2; optional uint32 challenge_number = 3; diff --git a/common/netmessages.proto b/common/netmessages.proto index 88130ad5..bd47d949 100644 --- a/common/netmessages.proto +++ b/common/netmessages.proto @@ -505,6 +505,10 @@ message ProtoFlattenedSerializerField_t { optional int32 polymorphic_field_serializer_version = 2; } + message proto_enum_info_t { + optional bool is_signed_enum = 1; + } + optional int32 var_type_sym = 1; optional int32 var_name_sym = 2; optional int32 bit_count = 3; @@ -517,6 +521,7 @@ message ProtoFlattenedSerializerField_t { optional int32 var_encoder_sym = 10; repeated .ProtoFlattenedSerializerField_t.polymorphic_field_t polymorphic_types = 11; optional int32 var_serializer_sym = 12; + optional .ProtoFlattenedSerializerField_t.proto_enum_info_t var_enum_info = 13; } message ProtoFlattenedSerializer_t { @@ -525,12 +530,22 @@ message ProtoFlattenedSerializer_t { repeated int32 fields_index = 3; } +message ProtoCoordSizeParams_t { + optional int32 coord_integer_bits = 1; + optional int32 coord_fractional_bits = 2; + optional int32 coord_integer_bits_mp = 3; + optional int32 coord_fractional_bits_mp = 4; + optional int32 normal_fractional_bits = 5; + optional int32 angle_bits = 6; +} + message CSVCMsg_FlattenedSerializer { option (maximum_size_bytes) = 0; repeated .ProtoFlattenedSerializer_t serializers = 1; repeated string symbols = 2; repeated .ProtoFlattenedSerializerField_t fields = 3; + optional .ProtoCoordSizeParams_t coord_size_params = 4; } message CSVCMsg_StopSound { @@ -650,6 +665,7 @@ message CMsgServerUserCmd { optional int32 server_tick_executed = 4; optional int32 client_tick = 5; optional bytes delta_data = 6; + optional bool delta_processed = 7; } message CSVCMsg_UserCommands { diff --git a/common/networkbasetypes.proto b/common/networkbasetypes.proto index 59d15d5c..599feac4 100644 --- a/common/networkbasetypes.proto +++ b/common/networkbasetypes.proto @@ -101,6 +101,8 @@ message CMsgPlayerInfo { optional fixed64 steamid = 4; optional bool fakeplayer = 5; optional bool ishltv = 6; + optional bool clan_member = 9; + optional bool clan_officer = 10; } message CEntityMsg { @@ -231,6 +233,15 @@ message CNETMsg_SpawnGroup_LoadCompleted { optional uint32 spawngrouphandle = 1; } +message QuantizedFloatEncoderAlias_t { + optional string name = 1; + optional int32 bit_count = 2; + optional int32 encode_flags = 3; + optional float min_value = 4; + optional float max_value = 5; + optional bool validate = 6; +} + message CSVCMsg_GameSessionConfiguration { optional bool is_multiplayer = 1; optional bool is_loadsavegame = 2; @@ -251,6 +262,8 @@ message CSVCMsg_GameSessionConfiguration { optional bool is_transition = 16; optional string previouslevel = 17; optional string landmarkname = 18; + repeated .QuantizedFloatEncoderAlias_t quantized_float_encoder_aliases = 20; + optional float max_coord = 21; } message CNETMsg_DebugOverlay { diff --git a/common/source2_steam_stats.proto b/common/source2_steam_stats.proto index 47c4bacc..89e923c4 100644 --- a/common/source2_steam_stats.proto +++ b/common/source2_steam_stats.proto @@ -108,6 +108,18 @@ message CMsgSource2NetworkFlowQuality { optional uint32 net_ping_p5 = 80; optional uint32 net_ping_p50 = 81; optional uint32 net_ping_p95 = 82; + optional uint32 msgproc_usec_p50 = 90; + optional uint32 msgproc_usec_p95 = 91; + optional uint32 msgproc_usec_p99 = 92; + optional uint32 msgproc_usec_max = 93; + optional uint32 msgproc_usec_avg_p50 = 94; + optional uint32 msgproc_usec_avg_p95 = 95; + optional uint32 msgproc_usec_avg_p99 = 96; + optional uint32 msgproc_usec_avg_max = 97; + optional uint32 queuedmsgs_p50 = 100; + optional uint32 queuedmsgs_p95 = 101; + optional uint32 queuedmsgs_p99 = 102; + optional uint32 queuedmsgs_max = 103; } message CMsgSource2PerfIntervalSample { diff --git a/game/shared/cstrike15/cstrike15_gcmessages.proto b/game/shared/cstrike15/cstrike15_gcmessages.proto index e9c35411..1af2ac6f 100644 --- a/game/shared/cstrike15/cstrike15_gcmessages.proto +++ b/game/shared/cstrike15/cstrike15_gcmessages.proto @@ -552,6 +552,7 @@ message CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve { optional uint32 socache_control = 20; repeated int32 teammate_colors = 21; optional uint32 match_id_additional = 22; + repeated string clan_tags = 23; } message CMsgGCCStrike15_v2_MatchmakingServerReservationResponse { @@ -942,7 +943,7 @@ message CEconItemPreviewDataBlock { optional uint32 paintseed = 8; optional uint32 killeaterscoretype = 9; optional uint32 killeatervalue = 10; - optional string customname = 11; + repeated string customnames = 11; repeated .CEconItemPreviewDataBlock.Sticker stickers = 12; optional uint32 inventory = 13; optional uint32 origin = 14; @@ -955,6 +956,8 @@ message CEconItemPreviewDataBlock { optional uint32 style = 21; repeated .CEconItemPreviewDataBlock.Sticker variations = 22; optional uint32 upgrade_level = 23; + optional uint32 pet_food_expiration_date = 24; + optional bytes blobdata = 25; } message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification { @@ -1249,6 +1252,7 @@ message CSOPersonaDataPublic { optional uint32 xp_trail_timestamp_refresh = 4; optional uint32 xp_trail_level = 5; optional uint32 clan_id = 6; + optional string clan_tag = 7; } message CSOAccountRecurringMission { diff --git a/game/shared/usermessages.proto b/game/shared/usermessages.proto index 8493ebb3..ff197983 100644 --- a/game/shared/usermessages.proto +++ b/game/shared/usermessages.proto @@ -51,6 +51,8 @@ enum EBaseUserMessages { UM_PlayResponseConditional = 166; UM_UserSentBugBug = 167; UM_UsageReport = 168; + UM_RemoteServerCommand = 169; + UM_RemoteServerResponse = 170; UM_MAX_BASE = 200; } @@ -857,3 +859,27 @@ message CUserMessage_PlayResponseConditional { message CUserMessage_UsageReport { optional string usage = 1; } + +message CUserMessage_RemoteServerCommand { + enum ECommand { + ECommandChangeConVar = 1; + } + + optional .CUserMessage_RemoteServerCommand.ECommand command = 1 [default = ECommandChangeConVar]; + optional string convar = 2; + optional string value = 3; +} + +message CUserMessageRemoteServerResponse { + enum ECommandResult { + EResultSuccess = 1; + EResultServerDoesntAllow = 2; + EResultClientNotAuthenticated = 3; + EResultClientNotAllowed = 4; + EResultCommandNotAllowed = 5; + } + + optional .CUserMessageRemoteServerResponse.ECommandResult command_result = 1 [default = EResultSuccess]; + optional string convar = 2; + optional string results = 3; +} diff --git a/gcsdk/gcsystemmsgs.proto b/gcsdk/gcsystemmsgs.proto index 8dadcb8c..15740c02 100644 --- a/gcsdk/gcsystemmsgs.proto +++ b/gcsdk/gcsystemmsgs.proto @@ -91,6 +91,13 @@ enum EGCSystemMsg { k_EGCMsgRecurringSubscriptionStatusChange = 530; k_EGCMsgDirectServiceMethod = 531; k_EGCMsgDirectServiceMethodResponse = 532; + k_EGCMsgAppCheersReceived = 533; + k_EGCMsgAppCheersGetAllowedTypes = 534; + k_EGCMsgAppCheersGetAllowedTypesResponse = 535; + k_EGCMsgReportMetrics = 536; + k_EGCMsgReportMetricsResponse = 537; + k_EGCMsgGetClanDetails = 538; + k_EGCMsgGetClanDetailsResponse = 539; } enum ESOMsg {