Skip to content

Instantly share code, notes, and snippets.

@psychonic
Created March 23, 2023 00:00
Show Gist options
  • Save psychonic/f529f20a02f6d78d56513127ff720683 to your computer and use it in GitHub Desktop.
Save psychonic/f529f20a02f6d78d56513127ff720683 to your computer and use it in GitHub Desktop.
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;
}
import "netmessages.proto";
import "networkbasetypes.proto";
enum P2P_Messages {
p2p_TextMessage = 256;
p2p_Voice = 257;
p2p_Ping = 258;
p2p_VRAvatarPosition = 259;
p2p_WatchSynchronization = 260;
}
message CP2P_TextMessage {
optional bytes text = 1;
}
message CSteam_Voice_Encoding {
optional bytes voice_data = 1;
}
message CP2P_Voice {
enum Handler_Flags {
Played_Audio = 1;
}
optional .CMsgVoiceAudio audio = 1;
optional uint32 broadcast_group = 2;
}
message CP2P_Ping {
required uint64 send_time = 1;
required bool is_reply = 2;
}
message CP2P_VRAvatarPosition {
message COrientation {
optional .CMsgVector pos = 1;
optional .CMsgQAngle ang = 2;
}
repeated .CP2P_VRAvatarPosition.COrientation body_parts = 1;
optional int32 hat_id = 2;
optional int32 scene_id = 3;
optional int32 world_scale = 4;
}
message CP2P_WatchSynchronization {
optional int32 demo_tick = 1;
optional bool paused = 2;
optional uint64 tv_listen_voice_indices = 3;
optional int32 dota_spectator_mode = 4;
optional bool dota_spectator_watching_broadcaster = 5;
optional int32 dota_spectator_hero_index = 6;
optional int32 dota_spectator_autospeed = 7;
optional int32 dota_replay_speed = 8;
}
enum EBaseClientMessages {
CM_CustomGameEvent = 280;
CM_CustomGameEventBounce = 281;
CM_ClientUIEvent = 282;
CM_DevPaletteVisibilityChanged = 283;
CM_WorldUIControllerHasPanelChanged = 284;
CM_RotateAnchor = 285;
CM_MAX_BASE = 300;
}
enum EClientUIEvent {
EClientUIEvent_Invalid = 0;
EClientUIEvent_DialogFinished = 1;
EClientUIEvent_FireOutput = 2;
}
message CClientMsg_CustomGameEvent {
optional string event_name = 1;
optional bytes data = 2;
}
message CClientMsg_CustomGameEventBounce {
optional string event_name = 1;
optional bytes data = 2;
optional int32 player_slot = 3 [default = -1];
}
message CClientMsg_ClientUIEvent {
optional .EClientUIEvent event = 1 [default = EClientUIEvent_Invalid];
optional uint32 ent_ehandle = 2;
optional uint32 client_ehandle = 3;
optional string data1 = 4;
optional string data2 = 5;
}
message CClientMsg_DevPaletteVisibilityChangedEvent {
optional bool visible = 1;
}
message CClientMsg_WorldUIControllerHasPanelChangedEvent {
optional bool has_panel = 1;
optional uint32 client_ehandle = 2;
optional uint32 literal_hand_type = 3;
}
message CClientMsg_RotateAnchor {
optional float angle = 1;
}
import "netmessages.proto";
message C2S_CONNECT_Message {
optional uint32 host_version = 1;
optional uint32 auth_protocol = 2;
optional uint32 challenge_number = 3;
optional fixed64 reservation_cookie = 4;
optional bool low_violence = 5;
optional bytes encrypted_password = 6;
repeated .CCLCMsg_SplitPlayerConnect splitplayers = 7;
optional bytes auth_steam = 8;
optional string challenge_context = 9;
optional sint32 use_snp = 10;
}
message C2S_CONNECTION_Message {
optional string addon_name = 1;
optional bool use_snp = 2;
}
import "networkbasetypes.proto";
enum ECsgoGameEvents {
GE_PlayerAnimEventId = 450;
GE_RadioIconEventId = 451;
GE_FireBulletsId = 452;
}
message CMsgTEPlayerAnimEvent {
optional fixed32 player = 1 [default = 16777215];
optional uint32 event = 2;
optional int32 data = 3;
}
message CMsgTERadioIcon {
optional fixed32 player = 1 [default = 16777215];
}
message CMsgTEFireBullets {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional uint32 weapon_id = 3 [default = 16777215];
optional uint32 mode = 4;
optional uint32 seed = 5;
optional fixed32 player = 6 [default = 16777215];
optional float inaccuracy = 7;
optional float recoil_index = 8;
optional float spread = 9;
optional int32 sound_type = 10;
optional uint32 item_def_index = 11;
optional fixed32 sound_dsp_effect = 12;
}
import "networkbasetypes.proto";
import "usercmd.proto";
message CSGOInterpolationInfoPB {
optional int32 src_tick = 1 [default = -1];
optional int32 dst_tick = 2 [default = -1];
optional float frac = 3 [default = 0];
}
message CSGOInputHistoryEntryPB {
optional .CMsgQAngle view_angles = 2;
optional .CMsgVector shoot_position = 3;
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 int32 target_ent_index = 8 [default = -1];
optional .CMsgVector target_head_pos_check = 9;
optional .CMsgVector target_abs_pos_check = 10;
optional .CMsgQAngle target_abs_ang_check = 11;
optional .CSGOInterpolationInfoPB cl_interp = 12;
optional .CSGOInterpolationInfoPB sv_interp0 = 13;
optional .CSGOInterpolationInfoPB sv_interp1 = 14;
optional .CSGOInterpolationInfoPB player_interp = 15;
optional int32 frame_number = 20;
}
message CSGOUserCmdPB {
optional .CBaseUserCmdPB base = 1;
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];
}
import "steammessages.proto";
import "engine_gcmessages.proto";
import "gcsdk_gcmessages.proto";
enum ECsgoGCMsg {
k_EMsgGCCStrike15_v2_Base = 9100;
k_EMsgGCCStrike15_v2_MatchmakingStart = 9101;
k_EMsgGCCStrike15_v2_MatchmakingStop = 9102;
k_EMsgGCCStrike15_v2_MatchmakingClient2ServerPing = 9103;
k_EMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate = 9104;
k_EMsgGCCStrike15_v2_MatchmakingServerReservationResponse = 9106;
k_EMsgGCCStrike15_v2_MatchmakingGC2ClientReserve = 9107;
k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello = 9109;
k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello = 9110;
k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon = 9112;
k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats = 9115;
k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate = 9117;
k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty = 9118;
k_EMsgGCCStrike15_v2_ClientReportPlayer = 9119;
k_EMsgGCCStrike15_v2_ClientReportServer = 9120;
k_EMsgGCCStrike15_v2_ClientCommendPlayer = 9121;
k_EMsgGCCStrike15_v2_ClientReportResponse = 9122;
k_EMsgGCCStrike15_v2_ClientCommendPlayerQuery = 9123;
k_EMsgGCCStrike15_v2_ClientCommendPlayerQueryResponse = 9124;
k_EMsgGCCStrike15_v2_WatchInfoUsers = 9126;
k_EMsgGCCStrike15_v2_ClientRequestPlayersProfile = 9127;
k_EMsgGCCStrike15_v2_PlayersProfile = 9128;
k_EMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate = 9131;
k_EMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment = 9132;
k_EMsgGCCStrike15_v2_PlayerOverwatchCaseStatus = 9133;
k_EMsgGCCStrike15_v2_GC2ClientTextMsg = 9134;
k_EMsgGCCStrike15_v2_Client2GCTextMsg = 9135;
k_EMsgGCCStrike15_v2_MatchEndRunRewardDrops = 9136;
k_EMsgGCCStrike15_v2_MatchEndRewardDropsNotification = 9137;
k_EMsgGCCStrike15_v2_ClientRequestWatchInfoFriends2 = 9138;
k_EMsgGCCStrike15_v2_MatchList = 9139;
k_EMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames = 9140;
k_EMsgGCCStrike15_v2_MatchListRequestRecentUserGames = 9141;
k_EMsgGCCStrike15_v2_GC2ServerReservationUpdate = 9142;
k_EMsgGCCStrike15_v2_ClientVarValueNotificationInfo = 9144;
k_EMsgGCCStrike15_v2_MatchListRequestTournamentGames = 9146;
k_EMsgGCCStrike15_v2_MatchListRequestFullGameInfo = 9147;
k_EMsgGCCStrike15_v2_GiftsLeaderboardRequest = 9148;
k_EMsgGCCStrike15_v2_GiftsLeaderboardResponse = 9149;
k_EMsgGCCStrike15_v2_ServerVarValueNotificationInfo = 9150;
k_EMsgGCCStrike15_v2_ClientSubmitSurveyVote = 9152;
k_EMsgGCCStrike15_v2_Server2GCClientValidate = 9153;
k_EMsgGCCStrike15_v2_MatchListRequestLiveGameForUser = 9154;
k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest = 9156;
k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse = 9157;
k_EMsgGCCStrike15_v2_AccountPrivacySettings = 9158;
k_EMsgGCCStrike15_v2_SetMyActivityInfo = 9159;
k_EMsgGCCStrike15_v2_MatchListRequestTournamentPredictions = 9160;
k_EMsgGCCStrike15_v2_MatchListUploadTournamentPredictions = 9161;
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;
k_EMsgGC_GlobalGame_Play = 9170;
k_EMsgGCCStrike15_v2_AcknowledgePenalty = 9171;
k_EMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin = 9172;
k_EMsgGCCStrike15_v2_GC2ClientGlobalStats = 9173;
k_EMsgGCCStrike15_v2_Client2GCStreamUnlock = 9174;
k_EMsgGCCStrike15_v2_FantasyRequestClientData = 9175;
k_EMsgGCCStrike15_v2_FantasyUpdateClientData = 9176;
k_EMsgGCCStrike15_v2_GCToClientSteamdatagramTicket = 9177;
k_EMsgGCCStrike15_v2_ClientToGCRequestTicket = 9178;
k_EMsgGCCStrike15_v2_ClientToGCRequestElevate = 9179;
k_EMsgGCCStrike15_v2_GlobalChat = 9180;
k_EMsgGCCStrike15_v2_GlobalChat_Subscribe = 9181;
k_EMsgGCCStrike15_v2_GlobalChat_Unsubscribe = 9182;
k_EMsgGCCStrike15_v2_ClientAuthKeyCode = 9183;
k_EMsgGCCStrike15_v2_GotvSyncPacket = 9184;
k_EMsgGCCStrike15_v2_ClientPlayerDecalSign = 9185;
k_EMsgGCCStrike15_v2_ClientLogonFatalError = 9187;
k_EMsgGCCStrike15_v2_ClientPollState = 9188;
k_EMsgGCCStrike15_v2_Party_Register = 9189;
k_EMsgGCCStrike15_v2_Party_Unregister = 9190;
k_EMsgGCCStrike15_v2_Party_Search = 9191;
k_EMsgGCCStrike15_v2_Party_Invite = 9192;
k_EMsgGCCStrike15_v2_Account_RequestCoPlays = 9193;
k_EMsgGCCStrike15_v2_ClientGCRankUpdate = 9194;
k_EMsgGCCStrike15_v2_ClientRequestOffers = 9195;
k_EMsgGCCStrike15_v2_ClientAccountBalance = 9196;
k_EMsgGCCStrike15_v2_ClientPartyJoinRelay = 9197;
k_EMsgGCCStrike15_v2_ClientPartyWarning = 9198;
k_EMsgGCCStrike15_v2_SetEventFavorite = 9200;
k_EMsgGCCStrike15_v2_GetEventFavorites_Request = 9201;
k_EMsgGCCStrike15_v2_ClientPerfReport = 9202;
k_EMsgGCCStrike15_v2_GetEventFavorites_Response = 9203;
k_EMsgGCCStrike15_v2_ClientRequestSouvenir = 9204;
k_EMsgGCCStrike15_v2_ClientReportValidation = 9205;
k_EMsgGCCStrike15_v2_GC2ClientRefuseSecureMode = 9206;
k_EMsgGCCStrike15_v2_GC2ClientRequestValidation = 9207;
k_EMsgGCCStrike15_v2_ClientRedeemMissionReward = 9209;
k_EMsgGCCStrike15_ClientDeepStats = 9210;
k_EMsgGCCStrike15_StartAgreementSessionInGame = 9211;
k_EMsgGCCStrike15_v2_GC2ClientInitSystem = 9212;
k_EMsgGCCStrike15_v2_GC2ClientInitSystem_Response = 9213;
k_EMsgGCCStrike15_v2_PrivateQueues = 9214;
k_EMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt = 9215;
}
enum ECsgoSteamUserStat {
k_ECsgoSteamUserStat_XpEarnedGames = 1;
k_ECsgoSteamUserStat_MatchWinsCompetitive = 2;
k_ECsgoSteamUserStat_SurvivedDangerZone = 3;
}
enum EClientReportingVersion {
k_EClientReportingVersion_OldVersion = 0;
k_EClientReportingVersion_BetaVersion = 1;
k_EClientReportingVersion_SupportsTrustedMode = 2;
}
enum EInitSystemResult {
k_EInitSystemResult_Invalid = 0;
k_EInitSystemResult_Success = 1;
k_EInitSystemResult_None = 2;
k_EInitSystemResult_NotFound = 3;
k_EInitSystemResult_Existing = 4;
k_EInitSystemResult_FailedOpen = 5;
k_EInitSystemResult_Mismatch = 6;
k_EInitSystemResult_FailedInit = 7;
k_EInitSystemResult_Max = 8;
}
message GameServerPing {
optional int32 ping = 2;
optional uint32 ip = 3;
optional uint32 instances = 5;
}
message DataCenterPing {
optional fixed32 data_center_id = 1;
optional sint32 ping = 2;
}
message DetailedSearchStatistic {
optional uint32 game_type = 1;
optional uint32 search_time_avg = 2;
optional uint32 players_searching = 4;
}
message TournamentPlayer {
optional uint32 account_id = 1;
optional string player_nick = 2;
optional string player_name = 3;
optional uint32 player_dob = 4;
optional string player_flag = 5;
optional string player_location = 6;
optional string player_desc = 7;
}
message TournamentTeam {
optional int32 team_id = 1;
optional string team_tag = 2;
optional string team_flag = 3;
optional string team_name = 4;
repeated .TournamentPlayer players = 5;
}
message TournamentEvent {
optional int32 event_id = 1;
optional string event_tag = 2;
optional string event_name = 3;
optional uint32 event_time_start = 4;
optional uint32 event_time_end = 5;
optional int32 event_public = 6;
optional int32 event_stage_id = 7;
optional string event_stage_name = 8;
optional uint32 active_section_id = 9;
}
message GlobalStatistics {
optional uint32 players_online = 1;
optional uint32 servers_online = 2;
optional uint32 players_searching = 3;
optional uint32 servers_available = 4;
optional uint32 ongoing_matches = 5;
optional uint32 search_time_avg = 6;
repeated .DetailedSearchStatistic search_statistics = 7;
optional string main_post_url = 8;
optional uint32 required_appid_version = 9;
optional uint32 pricesheet_version = 10;
optional uint32 twitch_streams_version = 11;
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;
}
message OperationalStatisticDescription {
optional string name = 1;
optional uint32 idkey = 2;
}
message OperationalStatisticElement {
optional uint32 idkey = 1;
repeated int32 values = 2;
}
message OperationalStatisticsPacket {
optional int32 packetid = 1;
optional int32 mstimestamp = 2;
repeated .OperationalStatisticElement values = 3;
}
message PlayerRankingInfo {
optional uint32 account_id = 1;
optional uint32 rank_id = 2;
optional uint32 wins = 3;
optional float rank_change = 4;
optional uint32 rank_type_id = 6;
optional uint32 tv_control = 7;
}
message PlayerCommendationInfo {
optional uint32 cmd_friendly = 1;
optional uint32 cmd_teaching = 2;
optional uint32 cmd_leader = 4;
}
message PlayerMedalsInfo {
repeated uint32 display_items_defidx = 7;
optional uint32 featured_display_item_defidx = 8;
}
message AccountActivity {
optional uint32 activity = 1;
optional uint32 mode = 2;
optional uint32 map = 3;
optional uint64 matchid = 4;
}
message TournamentMatchSetup {
optional int32 event_id = 1;
optional int32 team_id_ct = 2;
optional int32 team_id_t = 3;
optional int32 event_stage_id = 4;
}
message ServerHltvInfo {
optional uint32 tv_udp_port = 1;
optional uint64 tv_watch_key = 2;
optional uint32 tv_slots = 3;
optional uint32 tv_clients = 4;
optional uint32 tv_proxies = 5;
optional uint32 tv_time = 6;
optional uint32 game_type = 8;
optional string game_mapgroup = 9;
optional string game_map = 10;
optional uint64 tv_master_steamid = 11;
optional uint32 tv_local_slots = 12;
optional uint32 tv_local_clients = 13;
optional uint32 tv_local_proxies = 14;
optional uint32 tv_relay_slots = 15;
optional uint32 tv_relay_clients = 16;
optional uint32 tv_relay_proxies = 17;
optional uint32 tv_relay_address = 18;
optional uint32 tv_relay_port = 19;
optional uint64 tv_relay_steamid = 20;
optional uint32 flags = 21;
}
message IpAddressMask {
optional uint32 a = 1;
optional uint32 b = 2;
optional uint32 c = 3;
optional uint32 d = 4;
optional uint32 bits = 5;
optional uint32 token = 6;
}
message CMsgCsgoSteamUserStatChange {
optional int32 ecsgosteamuserstat = 1;
optional int32 delta = 2;
optional bool absolute = 3;
}
message XpProgressData {
optional uint32 xp_points = 1;
optional int32 xp_category = 2;
}
message MatchEndItemUpdates {
optional uint64 item_id = 1;
optional uint32 item_attr_defidx = 2;
optional uint32 item_attr_delta_value = 3;
}
message ScoreLeaderboardData {
message Entry {
optional uint32 tag = 1;
optional uint32 val = 2;
}
message AccountEntries {
optional uint32 accountid = 1;
repeated .ScoreLeaderboardData.Entry entries = 2;
}
optional uint64 quest_id = 1;
optional uint32 score = 2;
repeated .ScoreLeaderboardData.AccountEntries accountentries = 3;
repeated .ScoreLeaderboardData.Entry matchentries = 5;
}
message PlayerQuestData {
message QuestItemData {
optional uint64 quest_id = 1;
optional int32 quest_normal_points_earned = 2;
optional int32 quest_bonus_points_earned = 3;
}
optional uint32 quester_account_id = 1;
repeated .PlayerQuestData.QuestItemData quest_item_data = 2;
repeated .XpProgressData xp_progress_data = 3;
optional uint32 time_played = 4;
optional uint32 mm_game_mode = 5;
repeated .MatchEndItemUpdates item_updates = 6;
optional bool operation_points_eligible = 7;
repeated .CMsgCsgoSteamUserStatChange userstatchanges = 8;
}
message DeepPlayerStatsEntry {
optional uint32 accountid = 1;
optional uint64 match_id = 2;
optional uint32 mm_game_mode = 3;
optional uint32 mapid = 4;
optional bool b_starting_ct = 5;
optional uint32 match_outcome = 6;
optional uint32 rounds_won = 7;
optional uint32 rounds_lost = 8;
optional uint32 stat_score = 9;
optional uint32 stat_deaths = 12;
optional uint32 stat_mvps = 13;
optional uint32 enemy_kills = 14;
optional uint32 enemy_headshots = 15;
optional uint32 enemy_2ks = 16;
optional uint32 enemy_3ks = 17;
optional uint32 enemy_4ks = 18;
optional uint32 total_damage = 19;
optional uint32 engagements_entry_count = 23;
optional uint32 engagements_entry_wins = 24;
optional uint32 engagements_1v1_count = 25;
optional uint32 engagements_1v1_wins = 26;
optional uint32 engagements_1v2_count = 27;
optional uint32 engagements_1v2_wins = 28;
optional uint32 utility_count = 29;
optional uint32 utility_success = 30;
optional uint32 flash_count = 32;
optional uint32 flash_success = 33;
repeated uint32 mates = 34;
}
message DeepPlayerMatchEvent {
optional uint32 accountid = 1;
optional uint64 match_id = 2;
optional uint32 event_id = 3;
optional uint32 event_type = 4;
optional bool b_playing_ct = 5;
optional int32 user_pos_x = 6;
optional int32 user_pos_y = 7;
optional int32 user_pos_z = 12;
optional uint32 user_defidx = 8;
optional int32 other_pos_x = 9;
optional int32 other_pos_y = 10;
optional int32 other_pos_z = 13;
optional uint32 other_defidx = 11;
optional int32 event_data = 14;
}
message CMsgGC_ServerQuestUpdateData {
repeated .PlayerQuestData player_quest_data = 1;
optional bytes binary_data = 2;
optional uint32 mm_game_mode = 3;
optional .ScoreLeaderboardData missionlbsdata = 4;
}
message CMsgGCCStrike15_v2_MatchmakingGCOperationalStats {
optional int32 packetid = 1;
repeated .OperationalStatisticDescription namekeys = 2;
repeated .OperationalStatisticsPacket packets = 3;
}
message CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm {
optional uint32 token = 1;
optional uint32 stamp = 2;
optional uint64 exchange = 3;
}
message CMsgGCCStrike15_v2_GC2ServerReservationUpdate {
optional uint32 viewers_external_total = 1;
optional uint32 viewers_external_steam = 2;
}
message CMsgGCCStrike15_v2_MatchmakingStart {
repeated uint32 account_ids = 1;
optional uint32 game_type = 2;
optional string ticket_data = 3;
optional uint32 client_version = 4;
optional .TournamentMatchSetup tournament_match = 5;
optional bool prime_only = 6;
optional uint32 tv_control = 7;
optional uint64 lobby_id = 8;
}
message CMsgGCCStrike15_v2_MatchmakingStop {
optional int32 abandon = 1;
}
message CMsgGCCStrike15_v2_MatchmakingClient2ServerPing {
repeated .GameServerPing gameserverpings = 1;
optional int32 offset_index = 2;
optional int32 final_batch = 3;
repeated .DataCenterPing data_center_pings = 4;
optional uint32 max_ping = 5;
optional fixed32 test_token = 6;
}
message CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate {
message Note {
optional int32 type = 1;
optional int32 region_id = 2;
optional float region_r = 3;
optional float distance = 4;
}
optional int32 matchmaking = 1;
repeated uint32 waiting_account_id_sessions = 2;
optional string error = 3;
repeated uint32 ongoingmatch_account_id_sessions = 6;
optional .GlobalStatistics global_stats = 7;
repeated uint32 failping_account_id_sessions = 8;
repeated uint32 penalty_account_id_sessions = 9;
repeated uint32 failready_account_id_sessions = 10;
repeated uint32 vacbanned_account_id_sessions = 11;
optional .IpAddressMask server_ipaddress_mask = 12;
repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note notes = 13;
repeated uint32 penalty_account_id_sessions_green = 14;
repeated uint32 insufficientlevel_sessions = 15;
repeated uint32 vsncheck_account_id_sessions = 16;
repeated uint32 launcher_mismatch_sessions = 17;
repeated uint32 insecure_account_id_sessions = 18;
}
message CDataGCCStrike15_v2_TournamentMatchDraft {
message Entry {
optional int32 mapid = 1;
optional int32 team_id_ct = 2;
}
optional int32 event_id = 1;
optional int32 event_stage_id = 2;
optional int32 team_id_0 = 3;
optional int32 team_id_1 = 4;
optional int32 maps_count = 5;
optional int32 maps_current = 6;
optional int32 team_id_start = 7;
optional int32 team_id_veto1 = 8;
optional int32 team_id_pickn = 9;
repeated .CDataGCCStrike15_v2_TournamentMatchDraft.Entry drafts = 10;
}
message CPreMatchInfoData {
message TeamStats {
optional int32 match_info_idxtxt = 1;
optional string match_info_txt = 2;
repeated string match_info_teams = 3;
}
optional int32 predictions_pct = 1;
optional .CDataGCCStrike15_v2_TournamentMatchDraft draft = 4;
repeated .CPreMatchInfoData.TeamStats stats = 5;
repeated int32 wins = 6;
}
message CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve {
repeated uint32 account_ids = 1;
optional uint32 game_type = 2;
optional uint64 match_id = 3;
optional uint32 server_version = 4;
optional uint32 flags = 18;
repeated .PlayerRankingInfo rankings = 5;
optional uint64 encryption_key = 6;
optional uint64 encryption_key_pub = 7;
repeated uint32 party_ids = 8;
repeated .IpAddressMask whitelist = 9;
optional uint64 tv_master_steamid = 10;
optional .TournamentEvent tournament_event = 11;
repeated .TournamentTeam tournament_teams = 12;
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;
}
message CMsgGCCStrike15_v2_MatchmakingServerReservationResponse {
optional uint64 reservationid = 1;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
optional string map = 3;
optional uint64 gc_reservation_sent = 4;
optional uint32 server_version = 5;
optional .ServerHltvInfo tv_info = 6;
repeated uint32 reward_player_accounts = 7;
repeated uint32 idle_player_accounts = 8;
optional uint32 reward_item_attr_def_idx = 9;
optional uint32 reward_item_attr_value = 10;
optional uint32 reward_item_attr_reward_idx = 11;
optional uint32 reward_drop_list = 12;
optional string tournament_tag = 13;
optional uint32 legacy_steamdatagram_port = 14;
optional uint32 steamdatagram_routing = 17;
optional fixed32 test_token = 15;
optional uint32 flags = 16;
}
message CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve {
optional uint64 serverid = 1;
optional uint32 direct_udp_ip = 2;
optional uint32 direct_udp_port = 3;
optional uint64 reservationid = 4;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 5;
optional string map = 6;
optional string server_address = 7;
}
message CMsgGCCStrike15_v2_MatchmakingServerRoundStats {
message DropInfo {
optional uint32 account_mvp = 1;
}
optional uint64 reservationid = 1;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
optional string map = 3;
optional int32 round = 4;
repeated int32 kills = 5;
repeated int32 assists = 6;
repeated int32 deaths = 7;
repeated int32 scores = 8;
repeated int32 pings = 9;
optional int32 round_result = 10;
optional int32 match_result = 11;
repeated int32 team_scores = 12;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm confirm = 13;
optional int32 reservation_stage = 14;
optional int32 match_duration = 15;
repeated int32 enemy_kills = 16;
repeated int32 enemy_headshots = 17;
repeated int32 enemy_3ks = 18;
repeated int32 enemy_4ks = 19;
repeated int32 enemy_5ks = 20;
repeated int32 mvps = 21;
optional uint32 spectators_count = 22;
optional uint32 spectators_count_tv = 23;
optional uint32 spectators_count_lnk = 24;
repeated int32 enemy_kills_agg = 25;
optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo drop_info = 26;
optional bool b_switched_teams = 27;
repeated int32 enemy_2ks = 28;
repeated int32 player_spawned = 29;
repeated int32 team_spawn_count = 30;
optional uint32 max_rounds = 31;
}
message CMsgGCCStrike15_v2_MatchmakingClient2GCHello {
}
message CMsgGCCStrike15_v2_MatchmakingGC2ClientHello {
optional uint32 account_id = 1;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve ongoingmatch = 2;
optional .GlobalStatistics global_stats = 3;
optional uint32 penalty_seconds = 4;
optional uint32 penalty_reason = 5;
optional int32 vac_banned = 6;
optional .PlayerRankingInfo ranking = 7;
optional .PlayerCommendationInfo commendation = 8;
optional .PlayerMedalsInfo medals = 9;
optional .TournamentEvent my_current_event = 10;
repeated .TournamentTeam my_current_event_teams = 11;
optional .TournamentTeam my_current_team = 12;
repeated .TournamentEvent my_current_event_stages = 13;
optional uint32 survey_vote = 14;
optional .AccountActivity activity = 15;
optional int32 player_level = 17;
optional int32 player_cur_xp = 18;
optional int32 player_xp_bonus_flags = 19;
repeated .PlayerRankingInfo rankings = 20;
}
message CMsgGCCStrike15_v2_AccountPrivacySettings {
message Setting {
optional uint32 setting_type = 1;
optional uint32 setting_value = 2;
}
repeated .CMsgGCCStrike15_v2_AccountPrivacySettings.Setting settings = 1;
}
message CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon {
optional uint32 account_id = 1;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve abandoned_match = 2;
optional uint32 penalty_seconds = 3;
optional uint32 penalty_reason = 4;
}
message CMsgGCCStrike15_v2_ClientGCRankUpdate {
repeated .PlayerRankingInfo rankings = 1;
}
message CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate {
optional string main_post_url = 1;
}
message CMsgGCCStrike15_v2_ServerNotificationForUserPenalty {
optional uint32 account_id = 1;
optional uint32 reason = 2;
optional uint32 seconds = 3;
optional bool communication_cooldown = 4;
}
message CMsgGCCStrike15_v2_ClientReportPlayer {
optional uint32 account_id = 1;
optional uint32 rpt_aimbot = 2;
optional uint32 rpt_wallhack = 3;
optional uint32 rpt_speedhack = 4;
optional uint32 rpt_teamharm = 5;
optional uint32 rpt_textabuse = 6;
optional uint32 rpt_voiceabuse = 7;
optional uint64 match_id = 8;
optional bool report_from_demo = 9;
}
message CMsgGCCStrike15_v2_ClientCommendPlayer {
optional uint32 account_id = 1;
optional uint64 match_id = 8;
optional .PlayerCommendationInfo commendation = 9;
optional uint32 tokens = 10;
}
message CMsgGCCStrike15_v2_ClientReportServer {
optional uint32 rpt_poorperf = 1;
optional uint32 rpt_abusivemodels = 2;
optional uint32 rpt_badmotd = 3;
optional uint32 rpt_listingabuse = 4;
optional uint32 rpt_inventoryabuse = 5;
optional uint64 match_id = 8;
}
message CMsgGCCStrike15_v2_ClientReportResponse {
optional uint64 confirmation_id = 1;
optional uint32 account_id = 2;
optional uint32 server_ip = 3;
optional uint32 response_type = 4;
optional uint32 response_result = 5;
optional uint32 tokens = 6;
}
message CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends {
optional uint32 request_id = 1;
repeated uint32 account_ids = 2;
optional uint64 serverid = 3;
optional uint64 matchid = 4;
optional uint32 client_launcher = 5;
repeated .DataCenterPing data_center_pings = 6;
}
message WatchableMatchInfo {
optional uint32 server_ip = 1;
optional uint32 tv_port = 2;
optional uint32 tv_spectators = 3;
optional uint32 tv_time = 4;
optional bytes tv_watch_password = 5;
optional uint64 cl_decryptdata_key = 6;
optional uint64 cl_decryptdata_key_pub = 7;
optional uint32 game_type = 8;
optional string game_mapgroup = 9;
optional string game_map = 10;
optional uint64 server_id = 11;
optional uint64 match_id = 12;
optional uint64 reservation_id = 13;
}
message CMsgGCCStrike15_v2_ClientRequestJoinFriendData {
optional uint32 version = 1;
optional uint32 account_id = 2;
optional uint32 join_token = 3;
optional uint32 join_ipp = 4;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 5;
optional string errormsg = 6;
}
message CMsgGCCStrike15_v2_ClientRequestJoinServerData {
optional uint32 version = 1;
optional uint32 account_id = 2;
optional uint64 serverid = 3;
optional uint32 server_ip = 4;
optional uint32 server_port = 5;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 6;
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;
}
message CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded {
repeated .XpProgressData xp_progress_data = 1;
optional uint32 account_id = 2;
optional uint32 current_xp = 3;
optional uint32 current_level = 4;
optional uint32 upgraded_defidx = 5;
optional uint32 operation_points_awarded = 6;
}
message CMsgGCCStrike15_ClientDeepStats {
message DeepStatsRange {
optional uint32 begin = 1;
optional uint32 end = 2;
optional bool frozen = 3;
}
message DeepStatsMatch {
optional .DeepPlayerStatsEntry player = 1;
repeated .DeepPlayerMatchEvent events = 2;
}
optional uint32 account_id = 1;
optional .CMsgGCCStrike15_ClientDeepStats.DeepStatsRange range = 2;
repeated .CMsgGCCStrike15_ClientDeepStats.DeepStatsMatch matches = 3;
}
message CMsgGCCStrike15_v2_WatchInfoUsers {
optional uint32 request_id = 1;
repeated uint32 account_ids = 2;
repeated .WatchableMatchInfo watchable_match_infos = 3;
optional uint32 extended_timeout = 5;
}
message CMsgGCCStrike15_v2_ClientRequestPlayersProfile {
optional uint32 request_id__deprecated = 1;
repeated uint32 account_ids__deprecated = 2;
optional uint32 account_id = 3;
optional uint32 request_level = 4;
}
message CMsgGCCStrike15_v2_PlayersProfile {
optional uint32 request_id = 1;
repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientHello account_profiles = 2;
}
message CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate {
optional uint64 caseid = 1;
optional uint32 suspectid = 3;
optional uint32 fractionid = 4;
optional uint32 rpt_aimbot = 5;
optional uint32 rpt_wallhack = 6;
optional uint32 rpt_speedhack = 7;
optional uint32 rpt_teamharm = 8;
optional uint32 reason = 9;
}
message CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment {
optional uint64 caseid = 1;
optional string caseurl = 2;
optional uint32 verdict = 3;
optional uint32 timestamp = 4;
optional uint32 throttleseconds = 5;
optional uint32 suspectid = 6;
optional uint32 fractionid = 7;
optional uint32 numrounds = 8;
optional uint32 fractionrounds = 9;
optional int32 streakconvictions = 10;
optional uint32 reason = 11;
}
message CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus {
optional uint64 caseid = 1;
optional uint32 statusid = 2;
}
message CClientHeaderOverwatchEvidence {
optional uint32 accountid = 1;
optional uint64 caseid = 2;
}
message CMsgGCCStrike15_v2_GC2ClientTextMsg {
optional uint32 id = 1;
optional uint32 type = 2;
optional bytes payload = 3;
}
message CMsgGCCStrike15_v2_Client2GCTextMsg {
optional uint32 id = 1;
repeated bytes args = 2;
}
message CMsgGCCStrike15_v2_MatchEndRunRewardDrops {
optional .CMsgGCCStrike15_v2_MatchmakingServerReservationResponse serverinfo = 3;
optional .CMsgGC_ServerQuestUpdateData match_end_quest_data = 4;
}
message CEconItemPreviewDataBlock {
message Sticker {
optional uint32 slot = 1;
optional uint32 sticker_id = 2;
optional float wear = 3;
optional float scale = 4;
optional float rotation = 5;
optional uint32 tint_id = 6;
}
optional uint32 accountid = 1;
optional uint64 itemid = 2;
optional uint32 defindex = 3;
optional uint32 paintindex = 4;
optional uint32 rarity = 5;
optional uint32 quality = 6;
optional uint32 paintwear = 7;
optional uint32 paintseed = 8;
optional uint32 killeaterscoretype = 9;
optional uint32 killeatervalue = 10;
optional string customname = 11;
repeated .CEconItemPreviewDataBlock.Sticker stickers = 12;
optional uint32 inventory = 13;
optional uint32 origin = 14;
optional uint32 questid = 15;
optional uint32 dropreason = 16;
optional uint32 musicindex = 17;
optional int32 entindex = 18;
}
message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification {
optional .CEconItemPreviewDataBlock iteminfo = 6;
}
message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest {
optional uint64 param_s = 1;
optional uint64 param_a = 2;
optional uint64 param_d = 3;
optional uint64 param_m = 4;
}
message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse {
optional .CEconItemPreviewDataBlock iteminfo = 1;
}
message CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames {
}
message CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser {
optional uint32 accountid = 1;
}
message CMsgGCCStrike15_v2_MatchListRequestRecentUserGames {
optional uint32 accountid = 1;
}
message CMsgGCCStrike15_v2_MatchListRequestTournamentGames {
optional int32 eventid = 1;
}
message CMsgGCCStrike15_v2_MatchListRequestFullGameInfo {
optional uint64 matchid = 1;
optional uint64 outcomeid = 2;
optional uint32 token = 3;
}
message CDataGCCStrike15_v2_MatchInfo {
optional uint64 matchid = 1;
optional uint32 matchtime = 2;
optional .WatchableMatchInfo watchablematchinfo = 3;
optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats roundstats_legacy = 4;
repeated .CMsgGCCStrike15_v2_MatchmakingServerRoundStats roundstatsall = 5;
}
message CDataGCCStrike15_v2_TournamentGroupTeam {
optional int32 team_id = 1;
optional int32 score = 2;
optional bool correctpick = 3;
}
message CDataGCCStrike15_v2_TournamentGroup {
message Picks {
repeated int32 pickids = 1;
}
optional uint32 groupid = 1;
optional string name = 2;
optional string desc = 3;
optional uint32 picks__deprecated = 4;
repeated .CDataGCCStrike15_v2_TournamentGroupTeam teams = 5;
repeated int32 stage_ids = 6;
optional uint32 picklockuntiltime = 7;
optional uint32 pickableteams = 8;
optional uint32 points_per_pick = 9;
repeated .CDataGCCStrike15_v2_TournamentGroup.Picks picks = 10;
}
message CDataGCCStrike15_v2_TournamentSection {
optional uint32 sectionid = 1;
optional string name = 2;
optional string desc = 3;
repeated .CDataGCCStrike15_v2_TournamentGroup groups = 4;
}
message CDataGCCStrike15_v2_TournamentInfo {
repeated .CDataGCCStrike15_v2_TournamentSection sections = 1;
optional .TournamentEvent tournament_event = 2;
repeated .TournamentTeam tournament_teams = 3;
}
message CMsgGCCStrike15_v2_MatchList {
optional uint32 msgrequestid = 1;
optional uint32 accountid = 2;
optional uint32 servertime = 3;
repeated .CDataGCCStrike15_v2_MatchInfo matches = 4;
repeated .TournamentTeam streams = 5;
optional .CDataGCCStrike15_v2_TournamentInfo tournamentinfo = 6;
}
message CMsgGCCStrike15_v2_MatchListTournamentOperatorMgmt {
optional int32 eventid = 1;
repeated .CDataGCCStrike15_v2_MatchInfo matches = 2;
}
message CMsgGCCStrike15_v2_Predictions {
message GroupMatchTeamPick {
optional int32 sectionid = 1;
optional int32 groupid = 2;
optional int32 index = 3;
optional int32 teamid = 4;
optional uint64 itemid = 5;
}
optional uint32 event_id = 1;
repeated .CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick group_match_team_picks = 2;
}
message CMsgGCCStrike15_v2_Fantasy {
message FantasySlot {
optional int32 type = 1;
optional int32 pick = 2;
optional uint64 itemid = 3;
}
message FantasyTeam {
optional int32 sectionid = 1;
repeated .CMsgGCCStrike15_v2_Fantasy.FantasySlot slots = 2;
}
optional uint32 event_id = 1;
repeated .CMsgGCCStrike15_v2_Fantasy.FantasyTeam teams = 2;
}
message CMsgLegacySource1ClientWelcome {
message Location {
optional float latitude = 1;
optional float longitude = 2;
optional string country = 3;
}
optional uint32 version = 1;
optional bytes game_data = 2;
repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
optional .CMsgLegacySource1ClientWelcome.Location location = 5;
optional bytes game_data2 = 6;
optional uint32 rtime32_gc_welcome_timestamp = 7;
optional uint32 currency = 8;
optional uint32 balance = 9;
optional string balance_url = 10;
optional string txn_country_code = 11;
}
message CMsgCStrike15Welcome {
optional uint32 store_item_hash = 5;
optional uint32 timeplayedconsecutively = 6;
optional uint32 time_first_played = 10;
optional uint32 last_time_played = 12;
optional uint32 last_ip_address = 13;
optional uint64 gscookieid = 18;
optional uint64 uniqueid = 19;
}
message CMsgGCCStrike15_v2_ClientVarValueNotificationInfo {
optional string value_name = 1;
optional int32 value_int = 2;
optional uint32 server_addr = 3;
optional uint32 server_port = 4;
repeated string choked_blocks = 5;
}
message CMsgGCCStrike15_v2_ServerVarValueNotificationInfo {
optional uint32 accountid = 1;
repeated uint32 viewangles = 2;
optional uint32 type = 3;
repeated uint32 userdata = 4;
}
message CMsgGCCStrike15_v2_GiftsLeaderboardRequest {
}
message CMsgGCCStrike15_v2_GiftsLeaderboardResponse {
message GiftLeaderboardEntry {
optional uint32 accountid = 1;
optional uint32 gifts = 2;
}
optional uint32 servertime = 1;
optional uint32 time_period_seconds = 2;
optional uint32 total_gifts_given = 3;
optional uint32 total_givers = 4;
repeated .CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry entries = 5;
}
message CMsgGCCStrike15_v2_ClientSubmitSurveyVote {
optional uint32 survey_id = 1;
optional uint32 vote = 2;
}
message CMsgGCCStrike15_v2_Server2GCClientValidate {
optional uint32 accountid = 1;
}
message CMsgGCCStrike15_v2_GC2ClientTournamentInfo {
optional uint32 eventid = 1;
optional uint32 stageid = 2;
optional uint32 game_type = 3;
repeated uint32 teamids = 4;
}
message CSOEconCoupon {
optional uint32 entryid = 1 [(key_field) = true];
optional uint32 defidx = 2;
optional fixed32 expiration_date = 3;
}
message CSOQuestProgress {
optional uint32 questid = 1 [(key_field) = true];
optional uint32 points_remaining = 2;
optional uint32 bonus_points = 3;
}
message CSOAccountSeasonalOperation {
optional uint32 season_value = 1 [(key_field) = true];
optional uint32 tier_unlocked = 2;
optional uint32 premium_tiers = 3;
optional uint32 mission_id = 4;
optional uint32 missions_completed = 5;
optional uint32 redeemable_balance = 6;
optional uint32 season_pass_time = 7;
}
message CSOAccountRecurringSubscription {
optional uint32 time_next_cycle = 1;
optional uint32 time_initiated = 2;
}
message CSOPersonaDataPublic {
optional int32 player_level = 1;
optional .PlayerCommendationInfo commendation = 2;
optional bool elevated_state = 3;
}
message CMsgGC_GlobalGame_Subscribe {
optional uint64 ticket = 1;
}
message CMsgGC_GlobalGame_Unsubscribe {
optional int32 timeleft = 1;
}
message CMsgGC_GlobalGame_Play {
optional uint64 ticket = 1;
optional uint32 gametimems = 2;
optional uint32 msperpoint = 3;
}
message CMsgGCCStrike15_v2_AcknowledgePenalty {
optional int32 acknowledged = 1;
}
message CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin {
optional uint32 defindex = 1;
optional uint64 upgradeid = 2;
optional uint32 hours = 3;
optional uint32 prestigetime = 4;
}
message CMsgGCCStrike15_v2_Client2GCStreamUnlock {
optional uint64 ticket = 1;
optional int32 os = 2;
}
message CMsgGCCStrike15_v2_ClientToGCRequestElevate {
optional uint32 stage = 1;
}
message CMsgGCCStrike15_v2_ClientToGCChat {
optional uint64 match_id = 1;
optional string text = 2;
}
message CMsgGCCStrike15_v2_GCToClientChat {
optional uint32 account_id = 1;
optional string text = 2;
}
message CMsgGCCStrike15_v2_ClientAuthKeyCode {
optional uint32 eventid = 1;
optional string code = 2;
}
message CMsgGCCStrike15_GotvSyncPacket {
optional .CEngineGotvSyncPacket data = 1;
}
message PlayerDecalDigitalSignature {
optional bytes signature = 1;
optional uint32 accountid = 2;
optional uint32 rtime = 3;
repeated float endpos = 4;
repeated float startpos = 5;
repeated float left = 6;
optional uint32 tx_defidx = 7;
optional int32 entindex = 8;
optional uint32 hitbox = 9;
optional float creationtime = 10;
optional uint32 equipslot = 11;
optional uint32 trace_id = 12;
repeated float normal = 13;
optional uint32 tint_id = 14;
}
message CMsgGCCStrike15_v2_ClientPlayerDecalSign {
optional .PlayerDecalDigitalSignature data = 1;
optional uint64 itemid = 2;
}
message CMsgGCCStrike15_v2_ClientLogonFatalError {
optional uint32 errorcode = 1;
optional string message = 2;
optional string country = 3;
}
message CMsgGCCStrike15_v2_ClientPollState {
optional uint32 pollid = 1;
repeated string names = 2;
repeated int32 values = 3;
}
message CMsgGCCStrike15_v2_Party_Register {
optional uint32 id = 1;
optional uint32 ver = 2;
optional uint32 apr = 3;
optional uint32 ark = 4;
optional uint32 nby = 5;
optional uint32 grp = 6;
optional uint32 slots = 7;
optional uint32 launcher = 8;
optional uint32 game_type = 9;
}
message CMsgGCCStrike15_v2_Party_Search {
optional uint32 ver = 1;
optional uint32 apr = 2;
optional uint32 ark = 3;
repeated uint32 grps = 4;
optional uint32 launcher = 5;
optional uint32 game_type = 6;
}
message CMsgGCCStrike15_v2_Party_SearchResults {
message Entry {
optional uint32 id = 1;
optional uint32 grp = 2;
optional uint32 game_type = 3;
optional uint32 apr = 4;
optional uint32 ark = 5;
optional uint32 loc = 6;
optional uint32 accountid = 7;
}
repeated .CMsgGCCStrike15_v2_Party_SearchResults.Entry entries = 1;
}
message CMsgGCCStrike15_v2_Party_Invite {
optional uint32 accountid = 1;
optional uint32 lobbyid = 2;
}
message CMsgGCCStrike15_v2_Account_RequestCoPlays {
message Player {
optional uint32 accountid = 1;
optional uint32 rtcoplay = 2;
optional bool online = 3;
}
repeated .CMsgGCCStrike15_v2_Account_RequestCoPlays.Player players = 1;
optional uint32 servertime = 2;
}
message CMsgGCCStrike15_v2_ClientToGCRequestTicket {
optional fixed64 authorized_steam_id = 1;
optional fixed32 authorized_public_ip = 2;
optional fixed64 gameserver_steam_id = 3;
optional string gameserver_sdr_routing = 5;
}
message CMsgGCToClientSteamDatagramTicket {
optional bytes serialized_ticket = 16;
}
message CMsgGCCStrike15_v2_ClientRequestOffers {
}
message CMsgGCCStrike15_v2_ClientRequestSouvenir {
optional uint64 itemid = 1;
optional uint64 matchid = 2;
optional int32 eventid = 3;
}
message CMsgGCCStrike15_v2_ClientAccountBalance {
optional uint64 amount = 1;
optional string url = 2;
}
message CMsgGCCStrike15_v2_ClientPartyJoinRelay {
optional uint32 accountid = 1;
optional uint64 lobbyid = 2;
}
message CMsgGCCStrike15_v2_ClientPartyWarning {
message Entry {
optional uint32 accountid = 1;
optional uint32 warntype = 2;
}
repeated .CMsgGCCStrike15_v2_ClientPartyWarning.Entry entries = 1;
}
message CMsgGCCStrike15_v2_SetEventFavorite {
optional uint64 eventid = 1;
optional bool is_favorite = 2;
}
message CMsgGCCStrike15_v2_GetEventFavorites_Request {
optional bool all_events = 1;
}
message CMsgGCCStrike15_v2_GetEventFavorites_Response {
optional bool all_events = 1;
optional string json_favorites = 2;
optional string json_featured = 3;
}
message CMsgGCCStrike15_v2_ClientPerfReport {
message Entry {
optional uint32 perfcounter = 1;
optional uint32 length = 2;
optional bytes reference = 3;
optional bytes actual = 4;
optional uint32 sourceid = 5;
optional uint32 status = 6;
}
repeated .CMsgGCCStrike15_v2_ClientPerfReport.Entry entries = 1;
}
message CVDiagnostic {
optional uint32 id = 1;
optional uint32 extended = 2;
optional uint64 value = 3;
optional string string_value = 4;
}
message CMsgGCCStrike15_v2_ClientReportValidation {
optional string file_report = 1;
optional string command_line = 2;
optional uint32 total_files = 3;
optional uint32 internal_error = 4;
optional uint32 trust_time = 5;
optional uint32 count_pending = 6;
optional uint32 count_completed = 7;
optional uint32 process_id = 8;
optional int32 osversion = 9;
optional uint32 clientreportversion = 10;
optional uint32 status_id = 11;
optional uint32 diagnostic1 = 12;
optional uint64 diagnostic2 = 13;
optional uint64 diagnostic3 = 14;
optional string last_launch_data = 15;
optional uint32 report_count = 16;
optional uint64 client_time = 17;
optional uint64 diagnostic4 = 18;
optional uint64 diagnostic5 = 19;
repeated .CVDiagnostic diagnostics = 20;
}
message CMsgGCCStrike15_v2_GC2ClientRefuseSecureMode {
optional string file_report = 1;
optional bool offer_insecure_mode = 2;
optional bool offer_secure_mode = 3;
optional bool show_unsigned_ui = 4;
optional bool kick_user = 5;
optional bool show_trusted_ui = 6;
optional bool show_warning_not_trusted = 7;
optional bool show_warning_not_trusted_2 = 8;
optional string files_prevented_trusted = 9;
}
message CMsgGCCStrike15_v2_GC2ClientRequestValidation {
optional bool full_report = 1;
optional string module = 2;
}
message CMsgGCCStrike15_v2_GC2ClientInitSystem {
optional bool load = 1;
optional string name = 2;
optional string outputname = 3;
optional bytes key_data = 4;
optional bytes sha_hash = 5;
optional int32 cookie = 6;
optional string manifest = 7;
optional bytes system_package = 8;
optional bool load_system = 9;
}
message CMsgGCCStrike15_v2_GC2ClientInitSystem_Response {
optional bool success = 1;
optional string diagnostic = 2;
optional bytes sha_hash = 3;
optional int32 response = 4;
optional int32 error_code1 = 5;
optional int32 error_code2 = 6;
optional int64 handle = 7;
optional .EInitSystemResult einit_result = 8 [default = k_EInitSystemResult_Invalid];
optional int32 aux_system1 = 9;
optional int32 aux_system2 = 10;
}
import "networkbasetypes.proto";
import "cstrike15_gcmessages.proto";
enum ECstrike15UserMessages {
CS_UM_VGUIMenu = 301;
CS_UM_Geiger = 302;
CS_UM_Train = 303;
CS_UM_HudText = 304;
CS_UM_SayText = 305;
CS_UM_SayText2 = 306;
CS_UM_TextMsg = 307;
CS_UM_HudMsg = 308;
CS_UM_ResetHud = 309;
CS_UM_GameTitle = 310;
CS_UM_Shake = 312;
CS_UM_Fade = 313;
CS_UM_Rumble = 314;
CS_UM_CloseCaption = 315;
CS_UM_CloseCaptionDirect = 316;
CS_UM_SendAudio = 317;
CS_UM_RawAudio = 318;
CS_UM_VoiceMask = 319;
CS_UM_RequestState = 320;
CS_UM_Damage = 321;
CS_UM_RadioText = 322;
CS_UM_HintText = 323;
CS_UM_KeyHintText = 324;
CS_UM_ProcessSpottedEntityUpdate = 325;
CS_UM_ReloadEffect = 326;
CS_UM_AdjustMoney = 327;
CS_UM_UpdateTeamMoney = 328;
CS_UM_StopSpectatorMode = 329;
CS_UM_KillCam = 330;
CS_UM_DesiredTimescale = 331;
CS_UM_CurrentTimescale = 332;
CS_UM_AchievementEvent = 333;
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;
CS_UM_CallVoteFailed = 345;
CS_UM_VoteStart = 346;
CS_UM_VotePass = 347;
CS_UM_VoteFailed = 348;
CS_UM_VoteSetup = 349;
CS_UM_ServerRankRevealAll = 350;
CS_UM_SendLastKillerDamageToClient = 351;
CS_UM_ServerRankUpdate = 352;
CS_UM_ItemPickup = 353;
CS_UM_ShowMenu = 354;
CS_UM_BarTime = 355;
CS_UM_AmmoDenied = 356;
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;
CS_UM_ReportHit = 364;
CS_UM_XpUpdate = 365;
CS_UM_QuestProgress = 366;
CS_UM_ScoreLeaderboardData = 367;
CS_UM_PlayerDecalDigitalSignature = 368;
CS_UM_WeaponSound = 369;
CS_UM_UpdateScreenHealthBar = 370;
CS_UM_EntityOutlineHighlight = 371;
CS_UM_SSUI = 372;
CS_UM_SurvivalStats = 373;
CS_UM_DisconnectToLobby2 = 374;
CS_UM_EndOfMatchAllPlayersData = 375;
CS_UM_PostRoundDamageReport = 376;
CS_UM_RoundEndReportData = 379;
CS_UM_CurrentRoundOdds = 380;
CS_UM_DeepStats = 381;
CS_UM_UtilMsg = 382;
CS_UM_ShootInfo = 383;
}
enum ECSUsrMsg_DisconnectToLobby_Action {
k_ECSUsrMsg_DisconnectToLobby_Action_Default = 0;
k_ECSUsrMsg_DisconnectToLobby_Action_GoQueue = 1;
}
message CCSUsrMsg_VGUIMenu {
message Keys {
optional string name = 1;
optional string value = 2;
}
optional string name = 1;
optional bool show = 2;
repeated .CCSUsrMsg_VGUIMenu.Keys keys = 3;
}
message CCSUsrMsg_Geiger {
optional int32 range = 1;
}
message CCSUsrMsg_Train {
optional int32 train = 1;
}
message CCSUsrMsg_HudText {
optional string text = 1;
}
message CCSUsrMsg_HudMsg {
optional int32 channel = 1;
optional .CMsgVector2D pos = 2;
optional .CMsgRGBA clr1 = 3;
optional .CMsgRGBA clr2 = 4;
optional int32 effect = 5;
optional float fade_in_time = 6;
optional float fade_out_time = 7;
optional float hold_time = 9;
optional float fx_time = 10;
optional string text = 11;
}
message CCSUsrMsg_Shake {
optional int32 command = 1;
optional float local_amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
}
message CCSUsrMsg_Fade {
optional int32 duration = 1;
optional int32 hold_time = 2;
optional int32 flags = 3;
optional .CMsgRGBA clr = 4;
}
message CCSUsrMsg_Rumble {
optional int32 index = 1;
optional int32 data = 2;
optional int32 flags = 3;
}
message CCSUsrMsg_CloseCaption {
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
optional string cctoken = 4;
}
message CCSUsrMsg_CloseCaptionDirect {
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
}
message CCSUsrMsg_SendAudio {
optional string radio_sound = 1;
}
message CCSUsrMsg_RawAudio {
optional int32 pitch = 1;
optional int32 entidx = 2 [default = -1];
optional float duration = 3;
optional string voice_filename = 4;
}
message CCSUsrMsg_VoiceMask {
message PlayerMask {
optional int32 game_rules_mask = 1;
optional int32 ban_masks = 2;
}
repeated .CCSUsrMsg_VoiceMask.PlayerMask player_masks = 1;
optional bool player_mod_enable = 2;
}
message CCSUsrMsg_Damage {
optional int32 amount = 1;
optional .CMsgVector inflictor_world_pos = 2;
optional int32 victim_entindex = 3 [default = -1];
}
message CCSUsrMsg_RadioText {
optional int32 msg_dst = 1;
optional int32 client = 2 [default = -1];
optional string msg_name = 3;
repeated string params = 4;
}
message CCSUsrMsg_HintText {
optional string message = 1;
}
message CCSUsrMsg_KeyHintText {
repeated string messages = 1;
}
message CCSUsrMsg_ProcessSpottedEntityUpdate {
message SpottedEntityUpdate {
optional int32 entity_idx = 1 [default = -1];
optional int32 class_id = 2;
optional int32 origin_x = 3;
optional int32 origin_y = 4;
optional int32 origin_z = 5;
optional int32 angle_y = 6;
optional bool defuser = 7;
optional bool player_has_defuser = 8;
optional bool player_has_c4 = 9;
}
optional bool new_update = 1;
repeated .CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate entity_updates = 2;
}
message CCSUsrMsg_SendPlayerItemDrops {
repeated .CEconItemPreviewDataBlock entity_updates = 1;
}
message CCSUsrMsg_SendPlayerItemFound {
optional .CEconItemPreviewDataBlock iteminfo = 1;
optional int32 playerslot = 2 [default = -1];
}
message CCSUsrMsg_ReloadEffect {
optional int32 entidx = 1 [default = -1];
optional int32 actanim = 2;
optional float origin_x = 3;
optional float origin_y = 4;
optional float origin_z = 5;
}
message CCSUsrMsg_WeaponSound {
optional int32 entidx = 1 [default = -1];
optional float origin_x = 2;
optional float origin_y = 3;
optional float origin_z = 4;
optional string sound = 5;
optional float timestamp = 6;
optional fixed32 source_soundscapeid = 7;
}
message CCSUsrMsg_UpdateScreenHealthBar {
optional int32 entidx = 1 [default = -1];
optional float healthratio_old = 2;
optional float healthratio_new = 3;
optional int32 style = 4;
}
message CCSUsrMsg_EntityOutlineHighlight {
optional int32 entidx = 1 [default = -1];
optional bool removehighlight = 2;
}
message CCSUsrMsg_AdjustMoney {
optional int32 amount = 1;
}
message CCSUsrMsg_ReportHit {
optional float pos_x = 1;
optional float pos_y = 2;
optional float timestamp = 4;
optional float pos_z = 3;
}
message CCSUsrMsg_KillCam {
optional int32 obs_mode = 1;
optional int32 first_target = 2 [default = -1];
optional int32 second_target = 3 [default = -1];
}
message CCSUsrMsg_DesiredTimescale {
optional float desired_timescale = 1;
optional float duration_realtime_sec = 2;
optional int32 interpolator_type = 3;
optional float start_blend_time = 4;
}
message CCSUsrMsg_CurrentTimescale {
optional float cur_timescale = 1;
}
message CCSUsrMsg_AchievementEvent {
optional int32 achievement = 1;
optional int32 count = 2;
optional int32 user_id = 3;
}
message CCSUsrMsg_MatchEndConditions {
optional int32 fraglimit = 1;
optional int32 mp_maxrounds = 2;
optional int32 mp_winlimit = 3;
optional float mp_timelimit = 4;
}
message CCSUsrMsg_PlayerStatsUpdate {
message Stat {
optional int32 idx = 1;
optional int32 delta = 2;
}
optional int32 version = 1;
repeated .CCSUsrMsg_PlayerStatsUpdate.Stat stats = 4;
optional uint32 ehandle = 5;
optional int32 crc = 6;
}
message CCSUsrMsg_QuestProgress {
optional uint32 quest_id = 1;
optional uint32 normal_points = 2;
optional uint32 bonus_points = 3;
optional bool is_event_quest = 4;
}
message CCSUsrMsg_ScoreLeaderboardData {
optional .ScoreLeaderboardData data = 1;
}
message CCSUsrMsg_PlayerDecalDigitalSignature {
optional .PlayerDecalDigitalSignature data = 1;
}
message CCSUsrMsg_XRankGet {
optional int32 mode_idx = 1;
optional int32 controller = 2;
}
message CCSUsrMsg_XRankUpd {
optional int32 mode_idx = 1;
optional int32 controller = 2;
optional int32 ranking = 3;
}
message CCSUsrMsg_CallVoteFailed {
optional int32 reason = 1;
optional int32 time = 2;
}
message CCSUsrMsg_VoteStart {
optional int32 team = 1;
optional int32 player_slot = 2 [default = -1];
optional int32 vote_type = 3;
optional string disp_str = 4;
optional string details_str = 5;
optional string other_team_str = 6;
optional bool is_yes_no_vote = 7;
optional int32 player_slot_target = 8 [default = -1];
}
message CCSUsrMsg_VotePass {
optional int32 team = 1;
optional int32 vote_type = 2;
optional string disp_str = 3;
optional string details_str = 4;
}
message CCSUsrMsg_VoteFailed {
optional int32 team = 1;
optional int32 reason = 2;
}
message CCSUsrMsg_VoteSetup {
repeated string potential_issues = 1;
}
message CCSUsrMsg_SendLastKillerDamageToClient {
optional int32 num_hits_given = 1;
optional int32 damage_given = 2;
optional int32 num_hits_taken = 3;
optional int32 damage_taken = 4;
optional int32 actual_damage_given = 5;
optional int32 actual_damage_taken = 6;
}
message CCSUsrMsg_ServerRankUpdate {
message RankUpdate {
optional int32 account_id = 1;
optional int32 rank_old = 2;
optional int32 rank_new = 3;
optional int32 num_wins = 4;
optional float rank_change = 5;
optional int32 rank_type_id = 6;
}
repeated .CCSUsrMsg_ServerRankUpdate.RankUpdate rank_update = 1;
}
message CCSUsrMsg_XpUpdate {
optional .CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded data = 1;
}
message CCSUsrMsg_ItemPickup {
optional string item = 1;
}
message CCSUsrMsg_ShowMenu {
optional int32 bits_valid_slots = 1;
optional int32 display_time = 2;
optional string menu_string = 3;
}
message CCSUsrMsg_BarTime {
optional string time = 1;
}
message CCSUsrMsg_AmmoDenied {
optional int32 ammoidx = 1;
}
message CCSUsrMsg_MarkAchievement {
optional string achievement = 1;
}
message CCSUsrMsg_MatchStatsUpdate {
optional string update = 1;
}
message CCSUsrMsg_ItemDrop {
optional int64 itemid = 1;
optional bool death = 2;
}
message CCSUsrMsg_GlowPropTurnOff {
optional int32 entidx = 1 [default = -1];
}
message CCSUsrMsg_RoundBackupFilenames {
optional int32 count = 1;
optional int32 index = 2;
optional string filename = 3;
optional string nicename = 4;
}
message CCSUsrMsg_SSUI {
optional bool show = 1;
optional float start_time = 2;
optional float end_time = 3;
}
message CCSUsrMsg_SurvivalStats {
message Fact {
optional int32 type = 1;
optional int32 display = 2;
optional int32 value = 3;
optional float interestingness = 4;
}
message Placement {
optional uint64 xuid = 1;
optional int32 teamnumber = 2;
optional int32 placement = 3;
}
message Damage {
optional uint64 xuid = 1;
optional int32 to = 2;
optional int32 to_hits = 3;
optional int32 from = 4;
optional int32 from_hits = 5;
}
optional uint64 xuid = 1;
repeated .CCSUsrMsg_SurvivalStats.Fact facts = 2;
repeated .CCSUsrMsg_SurvivalStats.Placement users = 3;
repeated .CCSUsrMsg_SurvivalStats.Damage damages = 5;
optional int32 ticknumber = 4;
}
message CCSUsrMsg_EndOfMatchAllPlayersData {
message Accolade {
optional int32 eaccolade = 1;
optional float value = 2;
optional int32 position = 3;
}
message PlayerData {
optional int32 slot = 1 [default = -1];
optional uint64 xuid = 2;
optional string name = 3;
optional int32 teamnumber = 4;
optional .CCSUsrMsg_EndOfMatchAllPlayersData.Accolade nomination = 5;
repeated .CEconItemPreviewDataBlock items = 6;
optional int32 playercolor = 7;
optional bool isbot = 8;
}
repeated .CCSUsrMsg_EndOfMatchAllPlayersData.PlayerData allplayerdata = 1;
optional int32 scene = 2;
}
message CCSUsrMsg_RoundEndReportData {
message RerEvent {
message Victim {
optional int32 team_number = 1;
optional int32 playerslot = 2 [default = -1];
optional uint64 xuid = 3;
optional int32 color = 4;
optional bool is_bot = 5;
optional bool is_dead = 6;
}
message Objective {
optional int32 type = 1;
}
message Damage {
optional int32 other_playerslot = 1 [default = -1];
optional uint64 other_xuid = 2;
optional int32 health_removed = 3;
optional int32 num_hits = 4;
optional int32 return_health_removed = 5;
optional int32 return_num_hits = 6;
}
optional float timestamp = 1;
optional int32 terrorist_odds = 2;
optional int32 ct_alive = 3;
optional int32 t_alive = 4;
optional .CCSUsrMsg_RoundEndReportData.RerEvent.Victim victim_data = 5;
optional .CCSUsrMsg_RoundEndReportData.RerEvent.Objective objective_data = 6;
repeated .CCSUsrMsg_RoundEndReportData.RerEvent.Damage all_damage_data = 7;
}
message InitialConditions {
optional int32 ct_equip_value = 1;
optional int32 t_equip_value = 2;
optional int32 terrorist_odds = 3;
}
optional .CCSUsrMsg_RoundEndReportData.InitialConditions init_conditions = 1;
repeated .CCSUsrMsg_RoundEndReportData.RerEvent all_rer_event_data = 2;
}
message CCSUsrMsg_PostRoundDamageReport {
optional uint64 other_xuid = 1;
optional int32 given_kill_type = 2;
optional int32 given_health_removed = 3;
optional int32 given_num_hits = 4;
optional int32 taken_kill_type = 5;
optional int32 taken_health_removed = 6;
optional int32 taken_num_hits = 7;
}
message CCSUsrMsg_CurrentRoundOdds {
optional int32 odds = 1;
}
message CCSUsrMsg_DeepStats {
optional .CMsgGCCStrike15_ClientDeepStats stats = 1;
}
message CCSUsrMsg_ShootInfo {
optional int32 frame_number = 1;
repeated .CMsgTransform hitbox_transforms = 2;
optional .CMsgVector shoot_pos = 3;
optional .CMsgQAngle shoot_dir = 4;
}
message CCSUsrMsg_ResetHud {
optional bool reset = 1;
}
message CCSUsrMsg_GameTitle {
optional int32 dummy = 1;
}
message CCSUsrMsg_RequestState {
optional int32 dummy = 1;
}
message CCSUsrMsg_StopSpectatorMode {
optional int32 dummy = 1;
}
message CCSUsrMsg_DisconnectToLobby {
optional int32 dummy = 1;
}
message CCSUsrMsg_WarmupHasEnded {
optional int32 dummy = 1;
}
message CCSUsrMsg_ClientInfo {
optional int32 dummy = 1;
}
message CCSUsrMsg_ServerRankRevealAll {
optional int32 seconds_till_shutdown = 1;
optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
}
enum EDemoCommands {
DEM_Error = -1;
DEM_Stop = 0;
DEM_FileHeader = 1;
DEM_FileInfo = 2;
DEM_SyncTick = 3;
DEM_SendTables = 4;
DEM_ClassInfo = 5;
DEM_StringTables = 6;
DEM_Packet = 7;
DEM_SignonPacket = 8;
DEM_ConsoleCmd = 9;
DEM_CustomData = 10;
DEM_CustomDataCallbacks = 11;
DEM_UserCmd = 12;
DEM_FullPacket = 13;
DEM_SaveGame = 14;
DEM_SpawnGroups = 15;
DEM_Max = 16;
DEM_IsCompressed = 64;
}
message CDemoFileHeader {
required string demo_file_stamp = 1;
optional int32 network_protocol = 2;
optional string server_name = 3;
optional string client_name = 4;
optional string map_name = 5;
optional string game_directory = 6;
optional int32 fullpackets_version = 7;
optional bool allow_clientside_entities = 8;
optional bool allow_clientside_particles = 9;
optional string addons = 10;
optional string demo_version_name = 11;
optional string demo_version_guid = 12;
optional int32 build_num = 13;
optional string game = 14;
}
message CGameInfo {
message CDotaGameInfo {
message CPlayerInfo {
optional string hero_name = 1;
optional string player_name = 2;
optional bool is_fake_client = 3;
optional uint64 steamid = 4;
optional int32 game_team = 5;
}
message CHeroSelectEvent {
optional bool is_pick = 1;
optional uint32 team = 2;
optional uint32 hero_id = 3;
}
optional uint64 match_id = 1;
optional int32 game_mode = 2;
optional int32 game_winner = 3;
repeated .CGameInfo.CDotaGameInfo.CPlayerInfo player_info = 4;
optional uint32 leagueid = 5;
repeated .CGameInfo.CDotaGameInfo.CHeroSelectEvent picks_bans = 6;
optional uint32 radiant_team_id = 7;
optional uint32 dire_team_id = 8;
optional string radiant_team_tag = 9;
optional string dire_team_tag = 10;
optional uint32 end_time = 11;
}
optional .CGameInfo.CDotaGameInfo dota = 4;
}
message CDemoFileInfo {
optional float playback_time = 1;
optional int32 playback_ticks = 2;
optional int32 playback_frames = 3;
optional .CGameInfo game_info = 4;
}
message CDemoPacket {
optional bytes data = 3;
}
message CDemoFullPacket {
optional .CDemoStringTables string_table = 1;
optional .CDemoPacket packet = 2;
}
message CDemoSaveGame {
optional bytes data = 1;
optional fixed64 steam_id = 2;
optional fixed64 signature = 3;
optional int32 version = 4;
}
message CDemoSyncTick {
}
message CDemoConsoleCmd {
optional string cmdstring = 1;
}
message CDemoSendTables {
optional bytes data = 1;
}
message CDemoClassInfo {
message class_t {
optional int32 class_id = 1;
optional string network_name = 2;
optional string table_name = 3;
}
repeated .CDemoClassInfo.class_t classes = 1;
}
message CDemoCustomData {
optional int32 callback_index = 1;
optional bytes data = 2;
}
message CDemoCustomDataCallbacks {
repeated string save_id = 1;
}
message CDemoStringTables {
message items_t {
optional string str = 1;
optional bytes data = 2;
}
message table_t {
optional string table_name = 1;
repeated .CDemoStringTables.items_t items = 2;
repeated .CDemoStringTables.items_t items_clientside = 3;
optional int32 table_flags = 4;
}
repeated .CDemoStringTables.table_t tables = 1;
}
message CDemoStop {
}
message CDemoUserCmd {
optional int32 cmd_number = 1;
optional bytes data = 2;
}
message CDemoSpawnGroups {
repeated bytes msgs = 3;
}
import "steammessages.proto";
enum EGCItemMsg {
k_EMsgGCBase = 1000;
k_EMsgGCSetItemPosition = 1001;
k_EMsgGCCraft = 1002;
k_EMsgGCCraftResponse = 1003;
k_EMsgGCDelete = 1004;
k_EMsgGCVerifyCacheSubscription = 1005;
k_EMsgGCNameItem = 1006;
k_EMsgGCUnlockCrate = 1007;
k_EMsgGCUnlockCrateResponse = 1008;
k_EMsgGCPaintItem = 1009;
k_EMsgGCPaintItemResponse = 1010;
k_EMsgGCGoldenWrenchBroadcast = 1011;
k_EMsgGCMOTDRequest = 1012;
k_EMsgGCMOTDRequestResponse = 1013;
k_EMsgGCAddItemToSocket_DEPRECATED = 1014;
k_EMsgGCAddItemToSocketResponse_DEPRECATED = 1015;
k_EMsgGCAddSocketToBaseItem_DEPRECATED = 1016;
k_EMsgGCAddSocketToItem_DEPRECATED = 1017;
k_EMsgGCAddSocketToItemResponse_DEPRECATED = 1018;
k_EMsgGCNameBaseItem = 1019;
k_EMsgGCNameBaseItemResponse = 1020;
k_EMsgGCRemoveSocketItem_DEPRECATED = 1021;
k_EMsgGCRemoveSocketItemResponse_DEPRECATED = 1022;
k_EMsgGCCustomizeItemTexture = 1023;
k_EMsgGCCustomizeItemTextureResponse = 1024;
k_EMsgGCUseItemRequest = 1025;
k_EMsgGCUseItemResponse = 1026;
k_EMsgGCGiftedItems_DEPRECATED = 1027;
k_EMsgGCRemoveItemName = 1030;
k_EMsgGCRemoveItemPaint = 1031;
k_EMsgGCGiftWrapItem = 1032;
k_EMsgGCGiftWrapItemResponse = 1033;
k_EMsgGCDeliverGift = 1034;
k_EMsgGCDeliverGiftResponseGiver = 1035;
k_EMsgGCDeliverGiftResponseReceiver = 1036;
k_EMsgGCUnwrapGiftRequest = 1037;
k_EMsgGCUnwrapGiftResponse = 1038;
k_EMsgGCSetItemStyle = 1039;
k_EMsgGCUsedClaimCodeItem = 1040;
k_EMsgGCSortItems = 1041;
k_EMsgGC_RevolvingLootList_DEPRECATED = 1042;
k_EMsgGCLookupAccount = 1043;
k_EMsgGCLookupAccountResponse = 1044;
k_EMsgGCLookupAccountName = 1045;
k_EMsgGCLookupAccountNameResponse = 1046;
k_EMsgGCUpdateItemSchema = 1049;
k_EMsgGCRemoveCustomTexture = 1051;
k_EMsgGCRemoveCustomTextureResponse = 1052;
k_EMsgGCRemoveMakersMark = 1053;
k_EMsgGCRemoveMakersMarkResponse = 1054;
k_EMsgGCRemoveUniqueCraftIndex = 1055;
k_EMsgGCRemoveUniqueCraftIndexResponse = 1056;
k_EMsgGCSaxxyBroadcast = 1057;
k_EMsgGCBackpackSortFinished = 1058;
k_EMsgGCAdjustItemEquippedState = 1059;
k_EMsgGCCollectItem = 1061;
k_EMsgGCItemAcknowledged__DEPRECATED = 1062;
k_EMsgGC_ReportAbuse = 1065;
k_EMsgGC_ReportAbuseResponse = 1066;
k_EMsgGCNameItemNotification = 1068;
k_EMsgGCApplyConsumableEffects = 1069;
k_EMsgGCConsumableExhausted = 1070;
k_EMsgGCShowItemsPickedUp = 1071;
k_EMsgGCClientDisplayNotification = 1072;
k_EMsgGCApplyStrangePart = 1073;
k_EMsgGC_IncrementKillCountAttribute = 1074;
k_EMsgGC_IncrementKillCountResponse = 1075;
k_EMsgGCApplyPennantUpgrade = 1076;
k_EMsgGCSetItemPositions = 1077;
k_EMsgGCApplyEggEssence = 1078;
k_EMsgGCNameEggEssenceResponse = 1079;
k_EMsgGCPaintKitItem = 1080;
k_EMsgGCPaintKitBaseItem = 1081;
k_EMsgGCPaintKitItemResponse = 1082;
k_EMsgGCGiftedItems = 1083;
k_EMsgGCUnlockItemStyle = 1084;
k_EMsgGCUnlockItemStyleResponse = 1085;
k_EMsgGCApplySticker = 1086;
k_EMsgGCItemAcknowledged = 1087;
k_EMsgGCStatTrakSwap = 1088;
k_EMsgGCUserTrackTimePlayedConsecutively = 1089;
k_EMsgGCItemCustomizationNotification = 1090;
k_EMsgGCModifyItemAttribute = 1091;
k_EMsgGCCasketItemAdd = 1092;
k_EMsgGCCasketItemExtract = 1093;
k_EMsgGCCasketItemLoadContents = 1094;
k_EMsgGCTradingBase = 1500;
k_EMsgGCTrading_InitiateTradeRequest = 1501;
k_EMsgGCTrading_InitiateTradeResponse = 1502;
k_EMsgGCTrading_StartSession = 1503;
k_EMsgGCTrading_SetItem = 1504;
k_EMsgGCTrading_RemoveItem = 1505;
k_EMsgGCTrading_UpdateTradeInfo = 1506;
k_EMsgGCTrading_SetReadiness = 1507;
k_EMsgGCTrading_ReadinessResponse = 1508;
k_EMsgGCTrading_SessionClosed = 1509;
k_EMsgGCTrading_CancelSession = 1510;
k_EMsgGCTrading_TradeChatMsg = 1511;
k_EMsgGCTrading_ConfirmOffer = 1512;
k_EMsgGCTrading_TradeTypingChatMsg = 1513;
k_EMsgGCServerBrowser_FavoriteServer = 1601;
k_EMsgGCServerBrowser_BlacklistServer = 1602;
k_EMsgGCServerRentalsBase = 1700;
k_EMsgGCItemPreviewCheckStatus = 1701;
k_EMsgGCItemPreviewStatusResponse = 1702;
k_EMsgGCItemPreviewRequest = 1703;
k_EMsgGCItemPreviewRequestResponse = 1704;
k_EMsgGCItemPreviewExpire = 1705;
k_EMsgGCItemPreviewExpireNotification = 1706;
k_EMsgGCItemPreviewItemBoughtNotification = 1707;
k_EMsgGCDev_NewItemRequest = 2001;
k_EMsgGCDev_NewItemRequestResponse = 2002;
k_EMsgGCDev_PaintKitDropItem = 2003;
k_EMsgGCStoreGetUserData = 2500;
k_EMsgGCStoreGetUserDataResponse = 2501;
k_EMsgGCStorePurchaseInit_DEPRECATED = 2502;
k_EMsgGCStorePurchaseInitResponse_DEPRECATED = 2503;
k_EMsgGCStorePurchaseFinalize = 2504;
k_EMsgGCStorePurchaseFinalizeResponse = 2505;
k_EMsgGCStorePurchaseCancel = 2506;
k_EMsgGCStorePurchaseCancelResponse = 2507;
k_EMsgGCStorePurchaseQueryTxn = 2508;
k_EMsgGCStorePurchaseQueryTxnResponse = 2509;
k_EMsgGCStorePurchaseInit = 2510;
k_EMsgGCStorePurchaseInitResponse = 2511;
k_EMsgGCBannedWordListRequest = 2512;
k_EMsgGCBannedWordListResponse = 2513;
k_EMsgGCToGCBannedWordListBroadcast = 2514;
k_EMsgGCToGCBannedWordListUpdated = 2515;
k_EMsgGCToGCDirtySDOCache = 2516;
k_EMsgGCToGCDirtyMultipleSDOCache = 2517;
k_EMsgGCToGCUpdateSQLKeyValue = 2518;
k_EMsgGCToGCIsTrustedServer = 2519;
k_EMsgGCToGCIsTrustedServerResponse = 2520;
k_EMsgGCToGCBroadcastConsoleCommand = 2521;
k_EMsgGCServerVersionUpdated = 2522;
k_EMsgGCApplyAutograph = 2523;
k_EMsgGCToGCWebAPIAccountChanged = 2524;
k_EMsgGCRequestAnnouncements = 2525;
k_EMsgGCRequestAnnouncementsResponse = 2526;
k_EMsgGCRequestPassportItemGrant = 2527;
k_EMsgGCClientVersionUpdated = 2528;
k_EMsgGCAdjustItemEquippedStateMulti = 2529;
k_EMsgGCRecurringSubscriptionStatus = 2530;
}
enum EGCMsgResponse {
k_EGCMsgResponseOK = 0;
k_EGCMsgResponseDenied = 1;
k_EGCMsgResponseServerError = 2;
k_EGCMsgResponseTimeout = 3;
k_EGCMsgResponseInvalid = 4;
k_EGCMsgResponseNoMatch = 5;
k_EGCMsgResponseUnknownError = 6;
k_EGCMsgResponseNotLoggedOn = 7;
k_EGCMsgFailedToCreate = 8;
k_EGCMsgLimitExceeded = 9;
k_EGCMsgCommitUnfinalized = 10;
}
enum EUnlockStyle {
k_UnlockStyle_Succeeded = 0;
k_UnlockStyle_Failed_PreReq = 1;
k_UnlockStyle_Failed_CantAfford = 2;
k_UnlockStyle_Failed_CantCommit = 3;
k_UnlockStyle_Failed_CantLockCache = 4;
k_UnlockStyle_Failed_CantAffordAttrib = 5;
}
enum EGCItemCustomizationNotification {
k_EGCItemCustomizationNotification_NameItem = 1006;
k_EGCItemCustomizationNotification_UnlockCrate = 1007;
k_EGCItemCustomizationNotification_XRayItemReveal = 1008;
k_EGCItemCustomizationNotification_XRayItemClaim = 1009;
k_EGCItemCustomizationNotification_CasketTooFull = 1011;
k_EGCItemCustomizationNotification_CasketContents = 1012;
k_EGCItemCustomizationNotification_CasketAdded = 1013;
k_EGCItemCustomizationNotification_CasketRemoved = 1014;
k_EGCItemCustomizationNotification_CasketInvFull = 1015;
k_EGCItemCustomizationNotification_NameBaseItem = 1019;
k_EGCItemCustomizationNotification_RemoveItemName = 1030;
k_EGCItemCustomizationNotification_RemoveSticker = 1053;
k_EGCItemCustomizationNotification_ApplySticker = 1086;
k_EGCItemCustomizationNotification_StatTrakSwap = 1088;
k_EGCItemCustomizationNotification_RemovePatch = 1089;
k_EGCItemCustomizationNotification_ApplyPatch = 1090;
k_EGCItemCustomizationNotification_ActivateFanToken = 9178;
k_EGCItemCustomizationNotification_ActivateOperationCoin = 9179;
k_EGCItemCustomizationNotification_GraffitiUnseal = 9185;
k_EGCItemCustomizationNotification_GenerateSouvenir = 9204;
k_EGCItemCustomizationNotification_ClientRedeemMissionReward = 9209;
}
message CMsgGCGiftedItems {
optional uint32 accountid = 1;
optional uint32 giftdefindex = 2;
optional uint32 max_gifts_possible = 3;
optional uint32 num_eligible_recipients = 4;
repeated uint32 recipients_accountids = 5;
}
message CMsgApplyAutograph {
optional uint64 autograph_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgCasketItem {
optional uint64 casket_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgGCUserTrackTimePlayedConsecutively {
optional uint32 state = 1;
}
message CMsgGCItemCustomizationNotification {
repeated uint64 item_id = 1;
optional uint32 request = 2;
}
message CAttribute_String {
optional string value = 1;
}
import "google/protobuf/descriptor.proto";
message CEngineGotvSyncPacket {
optional uint64 match_id = 1;
optional uint32 instance_id = 2;
optional uint32 signupfragment = 3;
optional uint32 currentfragment = 4;
optional float tickrate = 5;
optional uint32 tick = 6;
optional float rtdelay = 8;
optional float rcvage = 9;
optional float keyframe_interval = 10;
optional uint32 cdndelay = 11;
}
import "networkbasetypes.proto";
enum EHitGroup {
EHG_Generic = 0;
EHG_Head = 1;
EHG_Chest = 2;
EHG_Stomach = 3;
EHG_LeftArm = 4;
EHG_RightArm = 5;
EHG_LeftLeg = 6;
EHG_RightLeg = 7;
EHG_Gear = 8;
EHG_Miss = 9;
}
enum ETeam {
ET_Unknown = 0;
ET_Spectator = 1;
ET_Terrorist = 2;
ET_CT = 3;
}
enum EWeaponType {
EWT_Knife = 0;
EWT_Pistol = 1;
EWT_SubMachineGun = 2;
EWT_Rifle = 3;
EWT_Shotgun = 4;
EWT_SniperRifle = 5;
EWT_MachineGun = 6;
EWT_C4 = 7;
EWT_Grenade = 8;
EWT_Equipment = 9;
EWT_StackableItem = 10;
EWT_Unknown = 11;
}
message MLDict {
optional string key = 1;
optional string val_string = 2;
optional int32 val_int = 3;
optional float val_float = 4;
}
message MLEvent {
optional string event_name = 1;
repeated .MLDict data = 2;
}
message MLMatchState {
optional string game_mode = 1;
optional string phase = 2;
optional int32 round = 3;
optional int32 score_ct = 4;
optional int32 score_t = 5;
}
message MLRoundState {
optional string phase = 1;
optional .ETeam win_team = 2 [default = ET_Unknown];
optional string bomb_state = 3;
}
message MLWeaponState {
optional int32 index = 1;
optional string name = 2;
optional .EWeaponType type = 3 [default = EWT_Knife];
optional int32 ammo_clip = 4;
optional int32 ammo_clip_max = 5;
optional int32 ammo_reserve = 6;
optional string state = 7;
optional float recoil_index = 8;
}
message MLPlayerState {
optional int32 account_id = 1;
optional int32 player_slot = 2 [default = -1];
optional int32 entindex = 3;
optional string name = 4;
optional string clan = 5;
optional .ETeam team = 6 [default = ET_Unknown];
optional .CMsgVector abspos = 7;
optional .CMsgQAngle eyeangle = 8;
optional .CMsgVector eyeangle_fwd = 9;
optional int32 health = 10;
optional int32 armor = 11;
optional float flashed = 12;
optional float smoked = 13;
optional int32 money = 14;
optional int32 round_kills = 15;
optional int32 round_killhs = 16;
optional float burning = 17;
optional bool helmet = 18;
optional bool defuse_kit = 19;
repeated .MLWeaponState weapons = 20;
}
message MLGameState {
optional .MLMatchState match = 1;
optional .MLRoundState round = 2;
repeated .MLPlayerState players = 3;
}
message MLDemoHeader {
optional string map_name = 1;
optional int32 tick_rate = 2;
optional uint32 version = 3;
optional uint32 steam_universe = 4;
}
message MLTick {
optional int32 tick_count = 1;
optional .MLGameState state = 2;
repeated .MLEvent events = 3;
}
message VacNetShot {
optional fixed64 steamid_player = 1;
optional int32 round_number = 2;
optional int32 hit_type = 3;
optional int32 weapon_type = 4;
optional float distance_to_hurt_target = 5;
repeated float delta_yaw_window = 6;
repeated float delta_pitch_window = 7;
}
import "networkbasetypes.proto";
enum EBaseGameEvents {
GE_VDebugGameSessionIDEvent = 200;
GE_PlaceDecalEvent = 201;
GE_ClearWorldDecalsEvent = 202;
GE_ClearEntityDecalsEvent = 203;
GE_ClearDecalsForSkeletonInstanceEvent = 204;
GE_Source1LegacyGameEventList = 205;
GE_Source1LegacyListenEvents = 206;
GE_Source1LegacyGameEvent = 207;
GE_SosStartSoundEvent = 208;
GE_SosStopSoundEvent = 209;
GE_SosSetSoundEventParams = 210;
GE_SosSetLibraryStackFields = 211;
GE_SosStopSoundEventHash = 212;
}
message CMsgVDebugGameSessionIDEvent {
optional int32 clientid = 1;
optional string gamesessionid = 2;
}
message CMsgPlaceDecalEvent {
optional .CMsgVector position = 1;
optional .CMsgVector normal = 2;
optional .CMsgVector saxis = 3;
optional uint32 decalmaterialindex = 4;
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;
}
message CMsgClearWorldDecalsEvent {
optional uint32 flagstoclear = 1;
}
message CMsgClearEntityDecalsEvent {
optional uint32 flagstoclear = 1;
}
message CMsgClearDecalsForSkeletonInstanceEvent {
optional uint32 flagstoclear = 1;
optional uint32 entityhandleindex = 2;
optional uint32 skeletoninstancehash = 3;
}
message CMsgSource1LegacyGameEventList {
message key_t {
optional int32 type = 1;
optional string name = 2;
}
message descriptor_t {
optional int32 eventid = 1;
optional string name = 2;
repeated .CMsgSource1LegacyGameEventList.key_t keys = 3;
}
repeated .CMsgSource1LegacyGameEventList.descriptor_t descriptors = 1;
}
message CMsgSource1LegacyListenEvents {
optional int32 playerslot = 1;
repeated uint32 eventarraybits = 2;
}
message CMsgSource1LegacyGameEvent {
message key_t {
optional int32 type = 1;
optional string val_string = 2;
optional float val_float = 3;
optional int32 val_long = 4;
optional int32 val_short = 5;
optional int32 val_byte = 6;
optional bool val_bool = 7;
optional uint64 val_uint64 = 8;
}
optional string event_name = 1;
optional int32 eventid = 2;
repeated .CMsgSource1LegacyGameEvent.key_t keys = 3;
optional int32 server_tick = 4;
optional int32 passthrough = 5;
}
message CMsgSosStartSoundEvent {
optional int32 soundevent_guid = 1;
optional fixed32 soundevent_hash = 2;
optional int32 source_entity_index = 3 [default = -1];
optional int32 seed = 4;
optional bytes packed_params = 5;
optional float start_time = 6;
}
message CMsgSosStopSoundEvent {
optional int32 soundevent_guid = 1;
}
message CMsgSosStopSoundEventHash {
optional fixed32 soundevent_hash = 1;
optional int32 source_entity_index = 2 [default = -1];
}
message CMsgSosSetSoundEventParams {
optional int32 soundevent_guid = 1;
optional bytes packed_params = 5;
}
message CMsgSosSetLibraryStackFields {
optional fixed32 stack_hash = 1;
optional bytes packed_fields = 5;
}
import "steammessages.proto";
enum GCClientLauncherType {
GCClientLauncherType_DEFAULT = 0;
GCClientLauncherType_PERFECTWORLD = 1;
GCClientLauncherType_STEAMCHINA = 2;
}
enum GCConnectionStatus {
GCConnectionStatus_HAVE_SESSION = 0;
GCConnectionStatus_GC_GOING_DOWN = 1;
GCConnectionStatus_NO_SESSION = 2;
GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3;
GCConnectionStatus_NO_STEAM = 4;
}
message CMsgSOIDOwner {
optional uint32 type = 1;
optional uint64 id = 2;
}
message CMsgSOSingleObject {
optional int32 type_id = 2;
optional bytes object_data = 3;
optional fixed64 version = 4;
optional .CMsgSOIDOwner owner_soid = 5;
}
message CMsgSOMultipleObjects {
message SingleObject {
option (msgpool_soft_limit) = 256;
option (msgpool_hard_limit) = 1024;
optional int32 type_id = 1;
optional bytes object_data = 2;
}
repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2;
optional fixed64 version = 3;
optional .CMsgSOIDOwner owner_soid = 6;
}
message CMsgSOCacheSubscribed {
message SubscribedType {
optional int32 type_id = 1;
repeated bytes object_data = 2;
}
repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
optional fixed64 version = 3;
optional .CMsgSOIDOwner owner_soid = 4;
}
message CMsgSOCacheUnsubscribed {
optional .CMsgSOIDOwner owner_soid = 2;
}
message CMsgSOCacheSubscriptionCheck {
optional fixed64 version = 2;
optional .CMsgSOIDOwner owner_soid = 3;
}
message CMsgSOCacheSubscriptionRefresh {
optional .CMsgSOIDOwner owner_soid = 2;
}
message CMsgSOCacheVersion {
optional fixed64 version = 1;
}
message CMsgAccountDetails {
optional bool valid = 1;
optional string account_name = 2;
optional bool public_profile = 4;
optional bool public_inventory = 5;
optional bool vac_banned = 6;
optional bool cyber_cafe = 7;
optional bool school_account = 8;
optional bool free_trial_account = 9;
optional bool subscribed = 10;
optional bool low_violence = 11;
optional bool limited = 12;
optional bool trusted = 13;
optional uint32 package = 14;
optional fixed32 time_cached = 15;
optional bool account_locked = 16;
optional bool community_banned = 17;
optional bool trade_banned = 18;
optional bool eligible_for_community_market = 19;
}
message CMsgGCMultiplexMessage {
optional uint32 msgtype = 1;
optional bytes payload = 2;
repeated fixed64 steamids = 3;
optional bool replytogc = 4;
}
message CMsgGCMultiplexMessage_Response {
optional uint32 msgtype = 1;
}
message CGCToGCMsgMasterAck {
optional uint32 dir_index = 1;
optional uint32 gc_type = 2;
}
message CGCToGCMsgMasterAck_Response {
optional int32 eresult = 1 [default = 2];
}
message CGCToGCMsgMasterStartupComplete {
}
message CGCToGCMsgRouted {
optional uint32 msg_type = 1;
optional fixed64 sender_id = 2;
optional bytes net_message = 3;
optional uint32 ip = 4;
}
message CGCToGCMsgRoutedReply {
optional uint32 msg_type = 1;
optional bytes net_message = 2;
}
message CMsgGCUpdateSessionIP {
optional fixed64 steamid = 1;
optional fixed32 ip = 2;
}
message CMsgGCRequestSessionIP {
optional fixed64 steamid = 1;
}
message CMsgGCRequestSessionIPResponse {
optional fixed32 ip = 1;
}
message CMsgSOCacheHaveVersion {
optional .CMsgSOIDOwner soid = 1;
optional fixed64 version = 2;
}
message CMsgClientHello {
optional uint32 version = 1;
repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
optional uint32 client_session_need = 3;
optional uint32 client_launcher = 4;
optional uint32 partner_srcid = 5;
optional uint32 partner_accountid = 6;
optional uint32 partner_accountflags = 7;
optional uint32 partner_accountbalance = 8;
optional uint32 steam_launcher = 9;
}
message CMsgServerHello {
optional uint32 version = 1;
repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
optional uint32 legacy_client_session_need = 3;
optional uint32 client_launcher = 4;
optional bytes legacy_steamdatagram_routing = 6;
optional uint32 required_internal_addr = 7;
optional bytes steamdatagram_login = 8;
}
message CMsgClientWelcome {
message Location {
optional float latitude = 1;
optional float longitude = 2;
optional string country = 3;
}
optional uint32 version = 1;
optional bytes game_data = 2;
repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
optional .CMsgClientWelcome.Location location = 5;
optional bytes game_data2 = 6;
optional uint32 rtime32_gc_welcome_timestamp = 7;
optional uint32 currency = 8;
optional uint32 balance = 9;
optional string balance_url = 10;
optional string txn_country_code = 11;
}
message CMsgConnectionStatus {
optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION];
optional uint32 client_session_need = 2;
optional int32 queue_position = 3;
optional int32 queue_size = 4;
optional int32 wait_seconds = 5;
optional int32 estimated_wait_seconds_remaining = 6;
}
message CWorkshop_PopulateItemDescriptions_Request {
message SingleItemDescription {
optional uint32 gameitemid = 1;
optional string item_description = 2;
optional bool one_per_account = 3;
}
message ItemDescriptionsLanguageBlock {
optional string language = 1;
repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
}
optional uint32 appid = 1;
repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
}
message CWorkshop_GetContributors_Request {
optional uint32 appid = 1;
optional uint32 gameitemid = 2;
}
message CWorkshop_GetContributors_Response {
repeated fixed64 contributors = 1;
}
message CWorkshop_SetItemPaymentRules_Request {
message WorkshopItemPaymentRule {
optional uint64 workshop_file_id = 1;
optional float revenue_percentage = 2;
optional string rule_description = 3;
optional uint32 rule_type = 4 [default = 1];
}
message WorkshopDirectPaymentRule {
optional uint64 workshop_file_id = 1;
optional string rule_description = 2;
}
message PartnerItemPaymentRule {
optional uint32 account_id = 1;
optional float revenue_percentage = 2;
optional string rule_description = 3;
}
optional uint32 appid = 1;
optional uint32 gameitemid = 2;
repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
optional bool validate_only = 5;
optional bool make_workshop_files_subscribable = 6;
optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7;
}
message CWorkshop_SetItemPaymentRules_Response {
}
message CGameServers_AggregationQuery_Request {
optional string filter = 1;
repeated string group_fields = 3;
}
message CGameServers_AggregationQuery_Response {
message Group {
repeated string group_values = 1;
optional uint32 servers_empty = 2;
optional uint32 servers_full = 3;
optional uint32 servers_total = 4;
optional uint32 players_humans = 5;
optional uint32 players_bots = 6;
optional uint32 player_capacity = 7;
}
repeated .CGameServers_AggregationQuery_Response.Group groups = 1;
}
message CWorkshop_AddSpecialPayment_Request {
optional uint32 appid = 1;
optional uint32 gameitemid = 2;
optional string date = 3;
optional uint64 payment_us_usd = 4;
optional uint64 payment_row_usd = 5;
}
message CWorkshop_AddSpecialPayment_Response {
}
message CProductInfo_SetRichPresenceLocalization_Request {
message Token {
optional string token = 1;
optional string value = 2;
}
message LanguageSection {
optional string language = 1;
repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2;
}
optional uint32 appid = 1;
repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2;
optional uint64 steamid = 3;
}
message CProductInfo_SetRichPresenceLocalization_Response {
}
message CMsgSerializedSOCache {
message TypeCache {
optional uint32 type = 1;
repeated bytes objects = 2;
optional uint32 service_id = 3;
}
message Cache {
message Version {
optional uint32 service = 1;
optional uint64 version = 2;
}
optional uint32 type = 1;
optional uint64 id = 2;
repeated .CMsgSerializedSOCache.Cache.Version versions = 3;
repeated .CMsgSerializedSOCache.TypeCache type_caches = 4;
}
optional uint32 file_version = 1;
repeated .CMsgSerializedSOCache.Cache caches = 2;
optional uint32 gc_socache_file_version = 3;
}
enum EGCSystemMsg {
k_EGCMsgInvalid = 0;
k_EGCMsgMulti = 1;
k_EGCMsgGenericReply = 10;
k_EGCMsgSystemBase = 50;
k_EGCMsgAchievementAwarded = 51;
k_EGCMsgConCommand = 52;
k_EGCMsgStartPlaying = 53;
k_EGCMsgStopPlaying = 54;
k_EGCMsgStartGameserver = 55;
k_EGCMsgStopGameserver = 56;
k_EGCMsgWGRequest = 57;
k_EGCMsgWGResponse = 58;
k_EGCMsgGetUserGameStatsSchema = 59;
k_EGCMsgGetUserGameStatsSchemaResponse = 60;
k_EGCMsgGetUserStatsDEPRECATED = 61;
k_EGCMsgGetUserStatsResponse = 62;
k_EGCMsgAppInfoUpdated = 63;
k_EGCMsgValidateSession = 64;
k_EGCMsgValidateSessionResponse = 65;
k_EGCMsgLookupAccountFromInput = 66;
k_EGCMsgSendHTTPRequest = 67;
k_EGCMsgSendHTTPRequestResponse = 68;
k_EGCMsgPreTestSetup = 69;
k_EGCMsgRecordSupportAction = 70;
k_EGCMsgGetAccountDetails_DEPRECATED = 71;
k_EGCMsgReceiveInterAppMessage = 73;
k_EGCMsgFindAccounts = 74;
k_EGCMsgPostAlert = 75;
k_EGCMsgGetLicenses = 76;
k_EGCMsgGetUserStats = 77;
k_EGCMsgGetCommands = 78;
k_EGCMsgGetCommandsResponse = 79;
k_EGCMsgAddFreeLicense = 80;
k_EGCMsgAddFreeLicenseResponse = 81;
k_EGCMsgGetIPLocation = 82;
k_EGCMsgGetIPLocationResponse = 83;
k_EGCMsgSystemStatsSchema = 84;
k_EGCMsgGetSystemStats = 85;
k_EGCMsgGetSystemStatsResponse = 86;
k_EGCMsgSendEmail = 87;
k_EGCMsgSendEmailResponse = 88;
k_EGCMsgGetEmailTemplate = 89;
k_EGCMsgGetEmailTemplateResponse = 90;
k_EGCMsgGrantGuestPass = 91;
k_EGCMsgGrantGuestPassResponse = 92;
k_EGCMsgGetAccountDetails = 93;
k_EGCMsgGetAccountDetailsResponse = 94;
k_EGCMsgGetPersonaNames = 95;
k_EGCMsgGetPersonaNamesResponse = 96;
k_EGCMsgMultiplexMsg = 97;
k_EGCMsgMultiplexMsgResponse = 98;
k_EGCMsgWebAPIRegisterInterfaces = 101;
k_EGCMsgWebAPIJobRequest = 102;
k_EGCMsgWebAPIJobRequestHttpResponse = 104;
k_EGCMsgWebAPIJobRequestForwardResponse = 105;
k_EGCMsgMemCachedGet = 200;
k_EGCMsgMemCachedGetResponse = 201;
k_EGCMsgMemCachedSet = 202;
k_EGCMsgMemCachedDelete = 203;
k_EGCMsgMemCachedStats = 204;
k_EGCMsgMemCachedStatsResponse = 205;
k_EGCMsgMasterSetDirectory = 220;
k_EGCMsgMasterSetDirectoryResponse = 221;
k_EGCMsgMasterSetWebAPIRouting = 222;
k_EGCMsgMasterSetWebAPIRoutingResponse = 223;
k_EGCMsgMasterSetClientMsgRouting = 224;
k_EGCMsgMasterSetClientMsgRoutingResponse = 225;
k_EGCMsgSetOptions = 226;
k_EGCMsgSetOptionsResponse = 227;
k_EGCMsgSystemBase2 = 500;
k_EGCMsgGetPurchaseTrustStatus = 501;
k_EGCMsgGetPurchaseTrustStatusResponse = 502;
k_EGCMsgUpdateSession = 503;
k_EGCMsgGCAccountVacStatusChange = 504;
k_EGCMsgCheckFriendship = 505;
k_EGCMsgCheckFriendshipResponse = 506;
k_EGCMsgGetPartnerAccountLink = 507;
k_EGCMsgGetPartnerAccountLinkResponse = 508;
k_EGCMsgDPPartnerMicroTxns = 512;
k_EGCMsgDPPartnerMicroTxnsResponse = 513;
k_EGCMsgVacVerificationChange = 518;
k_EGCMsgAccountPhoneNumberChange = 519;
k_EGCMsgInviteUserToLobby = 523;
k_EGCMsgGetGamePersonalDataCategoriesRequest = 524;
k_EGCMsgGetGamePersonalDataCategoriesResponse = 525;
k_EGCMsgGetGamePersonalDataEntriesRequest = 526;
k_EGCMsgGetGamePersonalDataEntriesResponse = 527;
k_EGCMsgTerminateGamePersonalDataEntriesRequest = 528;
k_EGCMsgTerminateGamePersonalDataEntriesResponse = 529;
k_EGCMsgRecurringSubscriptionStatusChange = 530;
k_EGCMsgDirectServiceMethod = 531;
k_EGCMsgDirectServiceMethodResponse = 532;
}
enum ESOMsg {
k_ESOMsg_Create = 21;
k_ESOMsg_Update = 22;
k_ESOMsg_Destroy = 23;
k_ESOMsg_CacheSubscribed = 24;
k_ESOMsg_CacheUnsubscribed = 25;
k_ESOMsg_UpdateMultiple = 26;
k_ESOMsg_CacheSubscriptionCheck = 27;
k_ESOMsg_CacheSubscriptionRefresh = 28;
}
enum EGCBaseClientMsg {
k_EMsgGCClientWelcome = 4004;
k_EMsgGCServerWelcome = 4005;
k_EMsgGCClientHello = 4006;
k_EMsgGCServerHello = 4007;
k_EMsgGCClientConnectionStatus = 4009;
k_EMsgGCServerConnectionStatus = 4010;
k_EMsgGCClientHelloPartner = 4011;
k_EMsgGCClientHelloPW = 4012;
k_EMsgGCClientHelloR2 = 4013;
k_EMsgGCClientHelloR3 = 4014;
k_EMsgGCClientHelloR4 = 4015;
}
enum EGCToGCMsg {
k_EGCToGCMsgMasterAck = 150;
k_EGCToGCMsgMasterAckResponse = 151;
k_EGCToGCMsgRouted = 152;
k_EGCToGCMsgRoutedReply = 153;
k_EMsgUpdateSessionIP = 154;
k_EMsgRequestSessionIP = 155;
k_EMsgRequestSessionIPResponse = 156;
k_EGCToGCMsgMasterStartupComplete = 157;
}
enum ECommunityItemClass {
k_ECommunityItemClass_Invalid = 0;
k_ECommunityItemClass_Badge = 1;
k_ECommunityItemClass_GameCard = 2;
k_ECommunityItemClass_ProfileBackground = 3;
k_ECommunityItemClass_Emoticon = 4;
k_ECommunityItemClass_BoosterPack = 5;
k_ECommunityItemClass_Consumable = 6;
k_ECommunityItemClass_GameGoo = 7;
k_ECommunityItemClass_ProfileModifier = 8;
k_ECommunityItemClass_Scene = 9;
k_ECommunityItemClass_SalienItem = 10;
}
enum ECommunityItemAttribute {
k_ECommunityItemAttribute_Invalid = 0;
k_ECommunityItemAttribute_CardBorder = 1;
k_ECommunityItemAttribute_Level = 2;
k_ECommunityItemAttribute_IssueNumber = 3;
k_ECommunityItemAttribute_TradableTime = 4;
k_ECommunityItemAttribute_StorePackageID = 5;
k_ECommunityItemAttribute_CommunityItemAppID = 6;
k_ECommunityItemAttribute_CommunityItemType = 7;
k_ECommunityItemAttribute_ProfileModiferEnabled = 8;
k_ECommunityItemAttribute_ExpiryTime = 9;
}
message CMsgGCHVacVerificationChange {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional bool is_verified = 3;
}
message CMsgGCHAccountPhoneNumberChange {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional uint64 phone_id = 3;
optional bool is_verified = 4;
optional bool is_identifying = 5;
}
message CMsgGCHInviteUserToLobby {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional fixed64 steamid_invited = 3;
optional fixed64 steamid_lobby = 4;
}
message CMsgGCHRecurringSubscriptionStatusChange {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional fixed64 agreementid = 3;
optional bool active = 4;
}
message CQuest_PublisherAddCommunityItemsToPlayer_Request {
message Attribute {
optional uint32 attribute = 1;
optional uint64 value = 2;
}
optional uint64 steamid = 1;
optional uint32 appid = 2;
optional uint32 match_item_type = 3;
optional uint32 match_item_class = 4;
optional string prefix_item_name = 5;
repeated .CQuest_PublisherAddCommunityItemsToPlayer_Request.Attribute attributes = 6;
optional string note = 7;
}
message CQuest_PublisherAddCommunityItemsToPlayer_Response {
optional uint32 items_matched = 1;
optional uint32 items_granted = 2;
}
message CCommunity_GamePersonalDataCategoryInfo {
optional string type = 1;
optional string localization_token = 2;
optional string template_file = 3;
}
message CCommunity_GetGamePersonalDataCategories_Request {
optional uint32 appid = 1;
}
message CCommunity_GetGamePersonalDataCategories_Response {
repeated .CCommunity_GamePersonalDataCategoryInfo categories = 1;
optional string app_assets_basename = 2;
}
message CCommunity_GetGamePersonalDataEntries_Request {
optional uint32 appid = 1;
optional uint64 steamid = 2;
optional string type = 3;
optional string continue_token = 4;
}
message CCommunity_GetGamePersonalDataEntries_Response {
optional uint32 gceresult = 1;
repeated string entries = 2;
optional string continue_token = 3;
}
message CCommunity_TerminateGamePersonalDataEntries_Request {
optional uint32 appid = 1;
optional uint64 steamid = 2;
}
message CCommunity_TerminateGamePersonalDataEntries_Response {
optional uint32 gceresult = 1;
}
import "networkbasetypes.proto";
enum CLC_Messages {
clc_ClientInfo = 20;
clc_Move = 21;
clc_VoiceData = 22;
clc_BaselineAck = 23;
clc_ListenEvents = 24;
clc_RespondCvarValue = 25;
clc_FileCRCCheck = 26;
clc_LoadingProgress = 27;
clc_SplitPlayerConnect = 28;
clc_ClientMessage = 29;
clc_SplitPlayerDisconnect = 30;
clc_ServerStatus = 31;
clc_ServerPing = 32;
clc_RequestPause = 33;
clc_CmdKeyValues = 34;
clc_RconServerDetails = 35;
clc_HltvReplay = 36;
}
enum SVC_Messages {
svc_ServerInfo = 40;
svc_FlattenedSerializer = 41;
svc_ClassInfo = 42;
svc_SetPause = 43;
svc_CreateStringTable = 44;
svc_UpdateStringTable = 45;
svc_VoiceInit = 46;
svc_VoiceData = 47;
svc_Print = 48;
svc_Sounds = 49;
svc_SetView = 50;
svc_ClearAllStringTables = 51;
svc_CmdKeyValues = 52;
svc_BSPDecal = 53;
svc_SplitScreen = 54;
svc_PacketEntities = 55;
svc_Prefetch = 56;
svc_Menu = 57;
svc_GetCvarValue = 58;
svc_StopSound = 59;
svc_PeerList = 60;
svc_PacketReliable = 61;
svc_HLTVStatus = 62;
svc_ServerSteamID = 63;
svc_FullFrameSplit = 70;
svc_RconServerDetails = 71;
svc_UserMessage = 72;
svc_HltvReplay = 73;
svc_Broadcast_Command = 74;
svc_HltvFixupOperatorStatus = 75;
}
enum VoiceDataFormat_t {
VOICEDATA_FORMAT_STEAM = 0;
VOICEDATA_FORMAT_ENGINE = 1;
}
enum RequestPause_t {
RP_PAUSE = 0;
RP_UNPAUSE = 1;
RP_TOGGLEPAUSE = 2;
}
enum PrefetchType {
PFT_SOUND = 0;
}
enum ESplitScreenMessageType {
MSG_SPLITSCREEN_ADDUSER = 0;
MSG_SPLITSCREEN_REMOVEUSER = 1;
}
enum EQueryCvarValueStatus {
eQueryCvarValueStatus_ValueIntact = 0;
eQueryCvarValueStatus_CvarNotFound = 1;
eQueryCvarValueStatus_NotACvar = 2;
eQueryCvarValueStatus_CvarProtected = 3;
}
enum DIALOG_TYPE {
DIALOG_MSG = 0;
DIALOG_MENU = 1;
DIALOG_TEXT = 2;
DIALOG_ENTRY = 3;
DIALOG_ASKCONNECT = 4;
}
enum SVC_Messages_LowFrequency {
svc_dummy = 600;
}
enum Bidirectional_Messages {
bi_RebroadcastGameEvent = 16;
bi_RebroadcastSource = 17;
bi_GameEvent = 18;
}
enum Bidirectional_Messages_LowFrequency {
bi_RelayInfo = 700;
bi_RelayPacket = 701;
}
enum ReplayEventType_t {
REPLAY_EVENT_CANCEL = 0;
REPLAY_EVENT_DEATH = 1;
REPLAY_EVENT_GENERIC = 2;
REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3;
REPLAY_EVENT_VICTORY = 4;
}
message CCLCMsg_ClientInfo {
optional fixed32 send_table_crc = 1;
optional uint32 server_count = 2;
optional bool is_hltv = 3;
optional uint32 friends_id = 5;
optional string friends_name = 6;
}
message CCLCMsg_Move {
optional bytes data = 3;
optional uint32 command_number = 4;
optional uint32 num_commands = 5;
}
message CMsgVoiceAudio {
optional .VoiceDataFormat_t format = 1 [default = VOICEDATA_FORMAT_STEAM];
optional bytes voice_data = 2;
optional int32 sequence_bytes = 3;
optional uint32 section_number = 4;
optional uint32 sample_rate = 5;
optional uint32 uncompressed_sample_offset = 6;
}
message CCLCMsg_VoiceData {
optional .CMsgVoiceAudio audio = 1;
optional fixed64 xuid = 2;
optional uint32 tick = 3;
}
message CCLCMsg_BaselineAck {
optional int32 baseline_tick = 1;
optional int32 baseline_nr = 2;
}
message CCLCMsg_ListenEvents {
repeated fixed32 event_mask = 1;
}
message CCLCMsg_RespondCvarValue {
optional int32 cookie = 1;
optional int32 status_code = 2;
optional string name = 3;
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;
}
message CCLCMsg_SplitPlayerConnect {
optional string playername = 1;
}
message CCLCMsg_ClientMessage {
optional int32 msg_type = 1;
optional bytes data = 2;
}
message CCLCMsg_SplitPlayerDisconnect {
optional int32 slot = 1;
}
message CCLCMsg_ServerStatus {
optional bool simplified = 1;
}
message CCLCMsg_ServerPing {
}
message CCLCMsg_RequestPause {
optional .RequestPause_t pause_type = 1 [default = RP_PAUSE];
optional int32 pause_group = 2;
}
message CCLCMsg_CmdKeyValues {
optional bytes data = 1;
}
message CCLCMsg_RconServerDetails {
optional bytes token = 1;
}
message CSVCMsg_ServerInfo {
optional int32 protocol = 1;
optional int32 server_count = 2;
optional bool is_dedicated = 3;
optional bool is_hltv = 4;
optional int32 c_os = 6;
optional int32 max_clients = 10;
optional int32 max_classes = 11;
optional int32 player_slot = 12 [default = -1];
optional float tick_interval = 13;
optional string game_dir = 14;
optional string map_name = 15;
optional string sky_name = 16;
optional string host_name = 17;
optional string addon_name = 18;
optional .CSVCMsg_GameSessionConfiguration game_session_config = 19;
optional bytes game_session_manifest = 20;
}
message CSVCMsg_ClassInfo {
message class_t {
optional int32 class_id = 1;
optional string data_table_name = 2;
optional string class_name = 3;
}
optional bool create_on_client = 1;
repeated .CSVCMsg_ClassInfo.class_t classes = 2;
}
message CSVCMsg_SetPause {
optional bool paused = 1;
}
message CSVCMsg_VoiceInit {
optional int32 quality = 1;
optional string codec = 2;
optional int32 version = 3 [default = 0];
}
message CSVCMsg_Print {
optional string text = 1;
}
message CSVCMsg_Sounds {
message sounddata_t {
optional sint32 origin_x = 1;
optional sint32 origin_y = 2;
optional sint32 origin_z = 3;
optional uint32 volume = 4;
optional float delay_value = 5;
optional int32 sequence_number = 6;
optional int32 entity_index = 7 [default = -1];
optional int32 channel = 8;
optional int32 pitch = 9;
optional int32 flags = 10;
optional uint32 sound_num = 11;
optional fixed32 sound_num_handle = 12;
optional int32 speaker_entity = 13;
optional int32 random_seed = 14;
optional int32 sound_level = 15;
optional bool is_sentence = 16;
optional bool is_ambient = 17;
optional uint32 guid = 18;
optional fixed64 sound_resource_id = 19;
}
optional bool reliable_sound = 1;
repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
}
message CSVCMsg_Prefetch {
optional int32 sound_index = 1;
optional .PrefetchType resource_type = 2 [default = PFT_SOUND];
}
message CSVCMsg_SetView {
optional int32 entity_index = 1 [default = -1];
optional int32 slot = 2 [default = -1];
}
message CSVCMsg_FixAngle {
optional bool relative = 1;
optional .CMsgQAngle angle = 2;
}
message CSVCMsg_CrosshairAngle {
optional .CMsgQAngle angle = 1;
}
message CSVCMsg_BSPDecal {
optional .CMsgVector pos = 1;
optional int32 decal_texture_index = 2;
optional int32 entity_index = 3 [default = -1];
optional int32 model_index = 4;
optional bool low_priority = 5;
}
message CSVCMsg_SplitScreen {
optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
optional int32 slot = 2;
optional int32 player_index = 3 [default = -1];
}
message CSVCMsg_GetCvarValue {
optional int32 cookie = 1;
optional string cvar_name = 2;
}
message CSVCMsg_Menu {
optional int32 dialog_type = 1;
optional bytes menu_key_values = 2;
}
message CSVCMsg_UserMessage {
optional int32 msg_type = 1;
optional bytes msg_data = 2;
optional int32 passthrough = 3;
}
message CSVCMsg_SendTable {
message sendprop_t {
optional int32 type = 1;
optional string var_name = 2;
optional int32 flags = 3;
optional int32 priority = 4;
optional string dt_name = 5;
optional int32 num_elements = 6;
optional float low_value = 7;
optional float high_value = 8;
optional int32 num_bits = 9;
}
optional bool is_end = 1;
optional string net_table_name = 2;
optional bool needs_decoder = 3;
repeated .CSVCMsg_SendTable.sendprop_t props = 4;
}
message CSVCMsg_GameEventList {
message key_t {
optional int32 type = 1;
optional string name = 2;
}
message descriptor_t {
optional int32 eventid = 1;
optional string name = 2;
repeated .CSVCMsg_GameEventList.key_t keys = 3;
}
repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
}
message CSVCMsg_PacketEntities {
message command_queue_info_t {
optional uint32 commands_queued = 1;
optional uint32 command_queue_desired_size = 2;
optional uint32 starved_command_ticks = 3;
optional float time_dilation_percent = 4;
optional uint32 discarded_command_ticks = 5;
}
message alternate_baseline_t {
optional int32 entity_index = 1;
optional int32 baseline_index = 2;
}
optional int32 max_entries = 1;
optional int32 updated_entries = 2;
optional bool is_delta = 3;
optional bool update_baseline = 4;
optional int32 baseline = 5;
optional int32 delta_from = 6;
optional bytes entity_data = 7;
optional bool pending_full_frame = 8;
optional uint32 active_spawngroup_handle = 9;
optional uint32 max_spawngroup_creationsequence = 10;
optional uint32 last_cmd_number = 11;
optional uint32 server_tick = 12;
optional bytes serialized_entities = 13;
optional .CSVCMsg_PacketEntities.command_queue_info_t command_queue_info = 14;
repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15;
}
message CSVCMsg_TempEntities {
optional bool reliable = 1;
optional int32 num_entries = 2;
optional bytes entity_data = 3;
}
message CSVCMsg_CreateStringTable {
optional string name = 1;
optional int32 num_entries = 2;
optional bool user_data_fixed_size = 3;
optional int32 user_data_size = 4;
optional int32 user_data_size_bits = 5;
optional int32 flags = 6;
optional bytes string_data = 7;
optional int32 uncompressed_size = 8;
optional bool data_compressed = 9;
}
message CSVCMsg_UpdateStringTable {
optional int32 table_id = 1;
optional int32 num_changed_entries = 2;
optional bytes string_data = 3;
}
message CSVCMsg_VoiceData {
optional .CMsgVoiceAudio audio = 1;
optional int32 client = 2 [default = -1];
optional bool proximity = 3;
optional fixed64 xuid = 4;
optional int32 audible_mask = 5;
optional uint32 tick = 6;
}
message CSVCMsg_PacketReliable {
optional int32 tick = 1;
optional int32 messagessize = 2;
optional bool state = 3;
}
message CSVCMsg_FullFrameSplit {
optional int32 tick = 1;
optional int32 section = 2;
optional int32 total = 3;
optional bytes data = 4;
}
message CSVCMsg_HLTVStatus {
optional string master = 1;
optional int32 clients = 2;
optional int32 slots = 3;
optional int32 proxies = 4;
}
message CSVCMsg_ServerSteamID {
optional uint64 steam_id = 1;
}
message CSVCMsg_CmdKeyValues {
optional bytes data = 1;
}
message CSVCMsg_RconServerDetails {
optional bytes token = 1;
optional string details = 2;
}
message CMsgIPCAddress {
optional fixed64 computer_guid = 1;
optional uint32 process_id = 2;
}
message CMsgServerPeer {
optional int32 player_slot = 1 [default = -1];
optional fixed64 steamid = 2;
optional .CMsgIPCAddress ipc = 3;
optional bool they_hear_you = 4;
optional bool you_hear_them = 5;
optional bool is_listenserver_host = 6;
}
message CSVCMsg_PeerList {
repeated .CMsgServerPeer peer = 1;
}
message CSVCMsg_ClearAllStringTables {
optional string mapname = 1;
}
message ProtoFlattenedSerializerField_t {
optional int32 var_type_sym = 1;
optional int32 var_name_sym = 2;
optional int32 bit_count = 3;
optional float low_value = 4;
optional float high_value = 5;
optional int32 encode_flags = 6;
optional int32 field_serializer_name_sym = 7;
optional int32 field_serializer_version = 8;
optional int32 send_node_sym = 9;
optional int32 var_encoder_sym = 10;
}
message ProtoFlattenedSerializer_t {
optional int32 serializer_name_sym = 1;
optional int32 serializer_version = 2;
repeated int32 fields_index = 3;
}
message CSVCMsg_FlattenedSerializer {
repeated .ProtoFlattenedSerializer_t serializers = 1;
repeated string symbols = 2;
repeated .ProtoFlattenedSerializerField_t fields = 3;
}
message CSVCMsg_StopSound {
optional fixed32 guid = 1;
}
message CBidirMsg_RebroadcastGameEvent {
optional bool posttoserver = 1;
optional int32 buftype = 2;
optional uint32 clientbitcount = 3;
optional uint64 receivingclients = 4;
}
message CBidirMsg_RebroadcastSource {
optional int32 eventsource = 1;
}
message CMsgServerNetworkStats {
message Port {
optional int32 port = 1;
optional string name = 2;
}
message Player {
optional uint64 steamid = 1;
optional string remote_addr = 2;
optional int32 ping_stddev_ms = 3;
optional int32 ping_avg_ms = 4;
optional float packet_loss_pct = 5;
optional bool is_bot = 6;
}
optional bool dedicated = 1;
optional int32 cpu_usage = 2;
optional int32 memory_used_mb = 3;
optional int32 memory_free_mb = 4;
optional int32 uptime = 5;
optional int32 spawn_count = 6;
optional int32 num_clients = 8;
optional int32 num_bots = 9;
optional int32 num_spectators = 10;
optional int32 num_tv_relays = 11;
optional float fps = 12;
repeated .CMsgServerNetworkStats.Port ports = 17;
optional float avg_latency_out = 18;
optional float avg_latency_in = 19;
optional float avg_packets_out = 20;
optional float avg_packets_in = 21;
optional float avg_loss_out = 22;
optional float avg_loss_in = 23;
optional float avg_data_out = 24;
optional float avg_data_in = 25;
optional uint64 total_data_in = 26;
optional uint64 total_packets_in = 27;
optional uint64 total_data_out = 28;
optional uint64 total_packets_out = 29;
repeated .CMsgServerNetworkStats.Player players = 30;
}
message CSVCMsg_HltvReplay {
optional int32 delay = 1;
optional int32 primary_target = 2 [default = -1];
optional int32 replay_stop_at = 3;
optional int32 replay_start_at = 4;
optional int32 replay_slowdown_begin = 5;
optional int32 replay_slowdown_end = 6;
optional float replay_slowdown_rate = 7;
optional int32 reason = 8;
}
message CCLCMsg_HltvReplay {
optional int32 request = 1;
optional float slowdown_length = 2;
optional float slowdown_rate = 3;
optional int32 primary_target = 4 [default = -1];
optional float event_time = 5;
}
message CSVCMsg_Broadcast_Command {
optional string cmd = 1;
}
message CCLCMsg_HltvFixupOperatorTick {
optional int32 tick = 1;
optional bytes props_data = 2;
optional .CMsgVector origin = 3;
optional .CMsgQAngle eye_angles = 4;
optional int32 observer_mode = 5;
optional bool cameraman_scoreboard = 6;
optional int32 observer_target = 7;
optional .CMsgVector view_offset = 8;
}
message CSVCMsg_HltvFixupOperatorStatus {
optional uint32 mode = 1;
optional string override_operator_name = 2;
}
import "google/protobuf/descriptor.proto";
extend .google.protobuf.EnumValueOptions {
optional string network_connection_token = 50500;
}
enum ENetworkDisconnectionReason {
NETWORK_DISCONNECT_INVALID = 0;
NETWORK_DISCONNECT_SHUTDOWN = 1;
NETWORK_DISCONNECT_DISCONNECT_BY_USER = 2 [(network_connection_token) = "#GameUI_Disconnect_User"];
NETWORK_DISCONNECT_DISCONNECT_BY_SERVER = 3 [(network_connection_token) = "#GameUI_Disconnect_Server"];
NETWORK_DISCONNECT_LOST = 4 [(network_connection_token) = "#GameUI_Disconnect_ConnectionLost"];
NETWORK_DISCONNECT_OVERFLOW = 5 [(network_connection_token) = "#GameUI_Disconnect_ConnectionOverflow"];
NETWORK_DISCONNECT_STEAM_BANNED = 6 [(network_connection_token) = "#GameUI_Disconnect_SteamIDBanned"];
NETWORK_DISCONNECT_STEAM_INUSE = 7 [(network_connection_token) = "#GameUI_Disconnect_SteamIDInUse"];
NETWORK_DISCONNECT_STEAM_TICKET = 8 [(network_connection_token) = "#GameUI_Disconnect_SteamTicket"];
NETWORK_DISCONNECT_STEAM_LOGON = 9 [(network_connection_token) = "#GameUI_Disconnect_SteamLogon"];
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_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"];
NETWORK_DISCONNECT_STEAM_OWNERSHIP = 17 [(network_connection_token) = "#GameUI_Disconnect_SteamOwnership"];
NETWORK_DISCONNECT_SERVERINFO_OVERFLOW = 18 [(network_connection_token) = "#GameUI_Disconnect_ServerInfoOverflow"];
NETWORK_DISCONNECT_TICKMSG_OVERFLOW = 19 [(network_connection_token) = "#GameUI_Disconnect_TickMessage"];
NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW = 20 [(network_connection_token) = "#GameUI_Disconnect_StringTableMessage"];
NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW = 21 [(network_connection_token) = "#GameUI_Disconnect_DeltaEntMessage"];
NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW = 22 [(network_connection_token) = "#GameUI_Disconnect_TempEntMessage"];
NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW = 23 [(network_connection_token) = "#GameUI_Disconnect_SoundsMessage"];
NETWORK_DISCONNECT_SNAPSHOTOVERFLOW = 24 [(network_connection_token) = "#GameUI_Disconnect_SnapshotOverflow"];
NETWORK_DISCONNECT_SNAPSHOTERROR = 25 [(network_connection_token) = "#GameUI_Disconnect_SnapshotError"];
NETWORK_DISCONNECT_RELIABLEOVERFLOW = 26 [(network_connection_token) = "#GameUI_Disconnect_ReliableOverflow"];
NETWORK_DISCONNECT_BADDELTATICK = 27 [(network_connection_token) = "#GameUI_Disconnect_BadClientDeltaTick"];
NETWORK_DISCONNECT_NOMORESPLITS = 28 [(network_connection_token) = "#GameUI_Disconnect_NoMoreSplits"];
NETWORK_DISCONNECT_TIMEDOUT = 29 [(network_connection_token) = "#GameUI_Disconnect_TimedOut"];
NETWORK_DISCONNECT_DISCONNECTED = 30 [(network_connection_token) = "#GameUI_Disconnect_Disconnected"];
NETWORK_DISCONNECT_LEAVINGSPLIT = 31 [(network_connection_token) = "#GameUI_Disconnect_LeavingSplit"];
NETWORK_DISCONNECT_DIFFERENTCLASSTABLES = 32 [(network_connection_token) = "#GameUI_Disconnect_DifferentClassTables"];
NETWORK_DISCONNECT_BADRELAYPASSWORD = 33 [(network_connection_token) = "#GameUI_Disconnect_BadRelayPassword"];
NETWORK_DISCONNECT_BADSPECTATORPASSWORD = 34 [(network_connection_token) = "#GameUI_Disconnect_BadSpectatorPassword"];
NETWORK_DISCONNECT_HLTVRESTRICTED = 35 [(network_connection_token) = "#GameUI_Disconnect_HLTVRestricted"];
NETWORK_DISCONNECT_NOSPECTATORS = 36 [(network_connection_token) = "#GameUI_Disconnect_NoSpectators"];
NETWORK_DISCONNECT_HLTVUNAVAILABLE = 37 [(network_connection_token) = "#GameUI_Disconnect_HLTVUnavailable"];
NETWORK_DISCONNECT_HLTVSTOP = 38 [(network_connection_token) = "#GameUI_Disconnect_HLTVStop"];
NETWORK_DISCONNECT_KICKED = 39 [(network_connection_token) = "#GameUI_Disconnect_Kicked"];
NETWORK_DISCONNECT_BANADDED = 40 [(network_connection_token) = "#GameUI_Disconnect_BanAdded"];
NETWORK_DISCONNECT_KICKBANADDED = 41 [(network_connection_token) = "#GameUI_Disconnect_KickBanAdded"];
NETWORK_DISCONNECT_HLTVDIRECT = 42 [(network_connection_token) = "#GameUI_Disconnect_HLTVDirect"];
NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA = 43 [(network_connection_token) = "#GameUI_Disconnect_PureServer_ClientExtra"];
NETWORK_DISCONNECT_PURESERVER_MISMATCH = 44 [(network_connection_token) = "#GameUI_Disconnect_PureServer_Mismatch"];
NETWORK_DISCONNECT_USERCMD = 45 [(network_connection_token) = "#GameUI_Disconnect_UserCmd"];
NETWORK_DISCONNECT_REJECTED_BY_GAME = 46 [(network_connection_token) = "#GameUI_Disconnect_RejectedByGame"];
NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR = 47 [(network_connection_token) = "#GameUI_Disconnect_MessageParseError"];
NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR = 48 [(network_connection_token) = "#GameUI_Disconnect_InvalidMessageError"];
NETWORK_DISCONNECT_BAD_SERVER_PASSWORD = 49 [(network_connection_token) = "#GameUI_Disconnect_BadServerPassword"];
NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION = 50;
NETWORK_DISCONNECT_CONNECTION_FAILURE = 51 [(network_connection_token) = "#GameUI_Disconnect_ConnectionFailure"];
NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS = 52 [(network_connection_token) = "#GameUI_Disconnect_NoPeerGroupHandlers"];
NETWORK_DISCONNECT_RECONNECTION = 53;
NETWORK_DISCONNECT_LOOPSHUTDOWN = 54 [(network_connection_token) = "#GameUI_Disconnect_LoopShutdown"];
NETWORK_DISCONNECT_LOOPDEACTIVATE = 55 [(network_connection_token) = "#GameUI_Disconnect_LoopDeactivate"];
NETWORK_DISCONNECT_HOST_ENDGAME = 56 [(network_connection_token) = "#GameUI_Disconnect_Host_EndGame"];
NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE = 57 [(network_connection_token) = "#GameUI_Disconnect_LoopLevelLoadActivate"];
NETWORK_DISCONNECT_CREATE_SERVER_FAILED = 58 [(network_connection_token) = "#GameUI_Disconnect_CreateServerFailed"];
NETWORK_DISCONNECT_EXITING = 59 [(network_connection_token) = "#GameUI_Disconnect_ExitingEngine"];
NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE = 60 [(network_connection_token) = "#GameUI_Disconnect_Request_HSIdle"];
NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY = 61 [(network_connection_token) = "#GameUI_Disconnect_Request_HLTVRelay"];
NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL = 62 [(network_connection_token) = "#GameUI_ClientConsistencyFail"];
NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP = 63 [(network_connection_token) = "#GameUI_ClientUnableToCRCMap"];
NETWORK_DISCONNECT_CLIENT_NO_MAP = 64 [(network_connection_token) = "#GameUI_ClientNoMap"];
NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP = 65 [(network_connection_token) = "#GameUI_ClientDifferentMap"];
NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM = 66 [(network_connection_token) = "#GameUI_ServerRequireSteams"];
NETWORK_DISCONNECT_STEAM_DENY_MISC = 67 [(network_connection_token) = "#GameUI_Disconnect_SteamDeny_Misc"];
NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT = 68 [(network_connection_token) = "#GameUI_Disconnect_SteamDeny_BadAntiCheat"];
NETWORK_DISCONNECT_SERVER_SHUTDOWN = 69 [(network_connection_token) = "#GameUI_Disconnect_ServerShutdown"];
NETWORK_DISCONNECT_SPLITPACKET_SEND_OVERFLOW = 70 [(network_connection_token) = "#GameUI_Disconnect_Splitpacket_Send_Overflow"];
NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE = 71 [(network_connection_token) = "#GameUI_Disconnect_ReplayIncompatible"];
NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT = 72 [(network_connection_token) = "#GameUI_Disconnect_ConnectionTimedout"];
NETWORK_DISCONNECT_SERVER_INCOMPATIBLE = 73 [(network_connection_token) = "#GameUI_Disconnect_ServerIncompatible"];
NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS = 74 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_ManyRelays"];
NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY = 75 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_HostedServerPrimaryRelay"];
NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG = 76 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_NetworkConfig"];
NETWORK_DISCONNECT_LOCALPROBLEM_OTHER = 77 [(network_connection_token) = "#GameUI_Disconnect_LocalProblem_Other"];
NETWORK_DISCONNECT_REMOTE_TIMEOUT = 79 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_Timeout"];
NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING = 80 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_TimeoutConnecting"];
NETWORK_DISCONNECT_REMOTE_OTHER = 81 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_Other"];
NETWORK_DISCONNECT_REMOTE_BADCRYPT = 82 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_BadCrypt"];
NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED = 83 [(network_connection_token) = "#GameUI_Disconnect_RemoteProblem_BadCert"];
NETWORK_DISCONNECT_UNUSUAL = 84 [(network_connection_token) = "#GameUI_Disconnect_Unusual"];
NETWORK_DISCONNECT_INTERNAL_ERROR = 85 [(network_connection_token) = "#GameUI_Disconnect_InternalError"];
NETWORK_DISCONNECT_REJECT_BADCHALLENGE = 128 [(network_connection_token) = "#GameUI_ServerRejectBadChallenge"];
NETWORK_DISCONNECT_REJECT_NOLOBBY = 129 [(network_connection_token) = "#GameUI_ServerNoLobby"];
NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP = 130 [(network_connection_token) = "#Valve_Reject_Background_Map"];
NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER = 131 [(network_connection_token) = "#Valve_Reject_Single_Player"];
NETWORK_DISCONNECT_REJECT_HIDDEN_GAME = 132 [(network_connection_token) = "#Valve_Reject_Hidden_Game"];
NETWORK_DISCONNECT_REJECT_LANRESTRICT = 133 [(network_connection_token) = "#GameUI_ServerRejectLANRestrict"];
NETWORK_DISCONNECT_REJECT_BADPASSWORD = 134 [(network_connection_token) = "#GameUI_ServerRejectBadPassword"];
NETWORK_DISCONNECT_REJECT_SERVERFULL = 135 [(network_connection_token) = "#GameUI_ServerRejectServerFull"];
NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION = 136 [(network_connection_token) = "#GameUI_ServerRejectInvalidReservation"];
NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL = 137 [(network_connection_token) = "#GameUI_ServerRejectFailedChannel"];
NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY = 138 [(network_connection_token) = "#Valve_Reject_Connect_From_Lobby"];
NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY = 139 [(network_connection_token) = "#Valve_Reject_Reserved_For_Lobby"];
NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH = 140 [(network_connection_token) = "#GameUI_ServerReject_InvalidKeyLength"];
NETWORK_DISCONNECT_REJECT_OLDPROTOCOL = 141 [(network_connection_token) = "#GameUI_ServerRejectOldProtocol"];
NETWORK_DISCONNECT_REJECT_NEWPROTOCOL = 142 [(network_connection_token) = "#GameUI_ServerRejectNewProtocol"];
NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION = 143 [(network_connection_token) = "#GameUI_ServerRejectInvalidConnection"];
NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN = 144 [(network_connection_token) = "#GameUI_ServerRejectInvalidCertLen"];
NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN = 145 [(network_connection_token) = "#GameUI_ServerRejectInvalidSteamCertLen"];
NETWORK_DISCONNECT_REJECT_STEAM = 146 [(network_connection_token) = "#GameUI_ServerRejectSteam"];
NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED = 147 [(network_connection_token) = "#GameUI_ServerAuthDisabled"];
NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID = 148 [(network_connection_token) = "#GameUI_ServerCDKeyAuthInvalid"];
NETWORK_DISCONNECT_REJECT_BANNED = 149 [(network_connection_token) = "#GameUI_ServerRejectBanned"];
NETWORK_DISCONNECT_KICKED_TEAMKILLING = 150 [(network_connection_token) = "#Player_DisconnectReason_TeamKilling"];
NETWORK_DISCONNECT_KICKED_TK_START = 151 [(network_connection_token) = "#Player_DisconnectReason_TK_Start"];
NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT = 152 [(network_connection_token) = "#Player_DisconnectReason_UntrustedAccount"];
NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT = 153 [(network_connection_token) = "#Player_DisconnectReason_ConvictedAccount"];
NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN = 154 [(network_connection_token) = "#Player_DisconnectReason_CompetitiveCooldown"];
NETWORK_DISCONNECT_KICKED_TEAMHURTING = 155 [(network_connection_token) = "#Player_DisconnectReason_TeamHurting"];
NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING = 156 [(network_connection_token) = "#Player_DisconnectReason_HostageKilling"];
NETWORK_DISCONNECT_KICKED_VOTEDOFF = 157 [(network_connection_token) = "#Player_DisconnectReason_VotedOff"];
NETWORK_DISCONNECT_KICKED_IDLE = 158 [(network_connection_token) = "#Player_DisconnectReason_Idle"];
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"];
}
import "network_connection.proto";
enum SignonState_t {
SIGNONSTATE_NONE = 0;
SIGNONSTATE_CHALLENGE = 1;
SIGNONSTATE_CONNECTED = 2;
SIGNONSTATE_NEW = 3;
SIGNONSTATE_PRESPAWN = 4;
SIGNONSTATE_SPAWN = 5;
SIGNONSTATE_FULL = 6;
SIGNONSTATE_CHANGELEVEL = 7;
}
enum NET_Messages {
net_NOP = 0;
net_Disconnect = 1;
net_SplitScreenUser = 3;
net_Tick = 4;
net_StringCmd = 5;
net_SetConVar = 6;
net_SignonState = 7;
net_SpawnGroup_Load = 8;
net_SpawnGroup_ManifestUpdate = 9;
net_SpawnGroup_SetCreationTick = 11;
net_SpawnGroup_Unload = 12;
net_SpawnGroup_LoadCompleted = 13;
net_DebugOverlay = 15;
}
enum SpawnGroupFlags_t {
SPAWN_GROUP_LOAD_ENTITIES_FROM_SAVE = 1;
SPAWN_GROUP_DONT_SPAWN_ENTITIES = 2;
SPAWN_GROUP_SYNCHRONOUS_SPAWN = 4;
SPAWN_GROUP_IS_INITIAL_SPAWN_GROUP = 8;
SPAWN_GROUP_CREATE_CLIENT_ONLY_ENTITIES = 16;
SPAWN_GROUP_BLOCK_UNTIL_LOADED = 64;
SPAWN_GROUP_LOAD_STREAMING_DATA = 128;
SPAWN_GROUP_CREATE_NEW_SCENE_WORLD = 256;
}
message CMsgVector {
optional float x = 1;
optional float y = 2;
optional float z = 3;
optional float w = 4;
}
message CMsgVector2D {
optional float x = 1;
optional float y = 2;
}
message CMsgQAngle {
optional float x = 1;
optional float y = 2;
optional float z = 3;
}
message CMsgQuaternion {
optional float x = 1;
optional float y = 2;
optional float z = 3;
optional float w = 4;
}
message CMsgTransform {
optional .CMsgVector position = 1;
optional float scale = 2;
optional .CMsgQuaternion orientation = 3;
}
message CMsgRGBA {
optional int32 r = 1;
optional int32 g = 2;
optional int32 b = 3;
optional int32 a = 4;
}
message CMsgPlayerInfo {
optional string name = 1;
optional fixed64 xuid = 2;
optional int32 userid = 3;
optional fixed64 steamid = 4;
optional bool fakeplayer = 5;
optional bool ishltv = 6;
}
message CEntityMsg {
optional uint32 target_entity = 1 [default = 16777215];
}
message CMsg_CVars {
message CVar {
optional string name = 1;
optional string value = 2;
}
repeated .CMsg_CVars.CVar cvars = 1;
}
message CNETMsg_NOP {
}
message CNETMsg_SplitScreenUser {
optional int32 slot = 1;
}
message CNETMsg_Disconnect {
optional .ENetworkDisconnectionReason reason = 2 [default = NETWORK_DISCONNECT_INVALID];
}
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 host_unfiltered_frametime = 8;
optional uint32 hltv_replay_flags = 9;
}
message CNETMsg_StringCmd {
optional string command = 1;
}
message CNETMsg_SetConVar {
optional .CMsg_CVars convars = 1;
}
message CNETMsg_SignonState {
optional .SignonState_t signon_state = 1 [default = SIGNONSTATE_NONE];
optional uint32 spawn_count = 2;
optional uint32 num_server_players = 3;
repeated string players_networkids = 4;
optional string map_name = 5;
optional string addons = 6;
}
message CSVCMsg_GameEvent {
message key_t {
optional int32 type = 1;
optional string val_string = 2;
optional float val_float = 3;
optional int32 val_long = 4;
optional int32 val_short = 5;
optional int32 val_byte = 6;
optional bool val_bool = 7;
optional uint64 val_uint64 = 8;
}
optional string event_name = 1;
optional int32 eventid = 2;
repeated .CSVCMsg_GameEvent.key_t keys = 3;
}
message CSVCMsgList_GameEvents {
message event_t {
optional int32 tick = 1;
optional .CSVCMsg_GameEvent event = 2;
}
repeated .CSVCMsgList_GameEvents.event_t events = 1;
}
message CNETMsg_SpawnGroup_Load {
optional string worldname = 1;
optional string entitylumpname = 2;
optional string entityfiltername = 3;
optional uint32 spawngrouphandle = 4;
optional uint32 spawngroupownerhandle = 5;
optional .CMsgVector world_offset_pos = 6;
optional .CMsgQAngle world_offset_angle = 7;
optional bytes spawngroupmanifest = 8;
optional uint32 flags = 9;
optional int32 tickcount = 10;
optional bool manifestincomplete = 11;
optional string localnamefixup = 12;
optional string parentnamefixup = 13;
optional int32 manifestloadpriority = 14;
optional uint32 worldgroupid = 15;
optional uint32 creationsequence = 16;
optional string savegamefilename = 17;
optional uint32 spawngroupparenthandle = 18;
optional bool leveltransition = 19;
optional string worldgroupname = 20;
}
message CNETMsg_SpawnGroup_ManifestUpdate {
optional uint32 spawngrouphandle = 1;
optional bytes spawngroupmanifest = 2;
optional bool manifestincomplete = 3;
}
message CNETMsg_SpawnGroup_SetCreationTick {
optional uint32 spawngrouphandle = 1;
optional int32 tickcount = 2;
optional uint32 creationsequence = 3;
}
message CNETMsg_SpawnGroup_Unload {
optional uint32 spawngrouphandle = 1;
optional uint32 flags = 2;
optional int32 tickcount = 3;
}
message CNETMsg_SpawnGroup_LoadCompleted {
optional uint32 spawngrouphandle = 1;
}
message CSVCMsg_GameSessionConfiguration {
optional bool is_multiplayer = 1;
optional bool is_loadsavegame = 2;
optional bool is_background_map = 3;
optional bool is_headless = 4;
optional uint32 min_client_limit = 5;
optional uint32 max_client_limit = 6;
optional uint32 max_clients = 7;
optional fixed32 tick_interval = 8;
optional string hostname = 9;
optional string savegamename = 10;
optional string s1_mapname = 11;
optional string gamemode = 12;
optional string server_ip_address = 13;
optional bytes data = 14;
optional bool is_localonly = 15;
optional bool no_steam_server = 19;
optional bool is_transition = 16;
optional string previouslevel = 17;
optional string landmarkname = 18;
}
message CNETMsg_DebugOverlay {
optional int32 etype = 1;
repeated .CMsgVector vectors = 2;
repeated .CMsgRGBA colors = 3;
repeated float dimensions = 4;
repeated float times = 5;
repeated bool bools = 6;
repeated uint64 uint64s = 7;
repeated string strings = 8;
}
message NetMessageSplitscreenUserChanged {
optional uint32 slot = 1;
}
message NetMessageConnectionClosed {
optional uint32 reason = 1;
}
message NetMessageConnectionCrashed {
optional uint32 reason = 1;
}
message NetMessagePacketStart {
}
message NetMessagePacketEnd {
}
import "google/protobuf/descriptor.proto";
extend .google.protobuf.FieldOptions {
optional bool key_field = 60000 [default = false];
}
extend .google.protobuf.MessageOptions {
optional int32 msgpool_soft_limit = 60000 [default = 32];
optional int32 msgpool_hard_limit = 60001 [default = 384];
}
enum GCProtoBufMsgSrc {
GCProtoBufMsgSrc_Unspecified = 0;
GCProtoBufMsgSrc_FromSystem = 1;
GCProtoBufMsgSrc_FromSteamID = 2;
GCProtoBufMsgSrc_FromGC = 3;
GCProtoBufMsgSrc_ReplySystem = 4;
}
message CMsgProtoBufHeader {
option (msgpool_soft_limit) = 256;
option (msgpool_hard_limit) = 1024;
optional fixed64 client_steam_id = 1;
optional int32 client_session_id = 2;
optional uint32 source_app_id = 3;
optional fixed64 job_id_source = 10 [default = 18446744073709551615];
optional fixed64 job_id_target = 11 [default = 18446744073709551615];
optional string target_job_name = 12;
optional int32 eresult = 13 [default = 2];
optional string error_message = 14;
optional uint32 ip = 15;
optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified];
optional uint32 gc_dir_index_source = 201;
}
message CMsgWebAPIKey {
optional uint32 status = 1 [default = 255];
optional uint32 account_id = 2 [default = 0];
optional uint32 publisher_group_id = 3 [default = 0];
optional uint32 key_id = 4;
optional string domain = 5;
}
message CMsgHttpRequest {
message RequestHeader {
optional string name = 1;
optional string value = 2;
}
message QueryParam {
optional string name = 1;
optional bytes value = 2;
}
optional uint32 request_method = 1;
optional string hostname = 2;
optional string url = 3;
repeated .CMsgHttpRequest.RequestHeader headers = 4;
repeated .CMsgHttpRequest.QueryParam get_params = 5;
repeated .CMsgHttpRequest.QueryParam post_params = 6;
optional bytes body = 7;
optional uint32 absolute_timeout = 8;
}
message CMsgWebAPIRequest {
optional string interface_name = 2;
optional string method_name = 3;
optional uint32 version = 4;
optional .CMsgWebAPIKey api_key = 5;
optional .CMsgHttpRequest request = 6;
optional uint32 routing_app_id = 7;
}
message CMsgHttpResponse {
message ResponseHeader {
optional string name = 1;
optional string value = 2;
}
optional uint32 status_code = 1;
repeated .CMsgHttpResponse.ResponseHeader headers = 2;
optional bytes body = 3;
}
message CMsgAMFindAccounts {
optional uint32 search_type = 1;
optional string search_string = 2;
}
message CMsgAMFindAccountsResponse {
repeated fixed64 steam_id = 1;
}
message CMsgNotifyWatchdog {
optional uint32 source = 1;
optional uint32 alert_type = 2;
optional uint32 alert_destination = 3;
optional bool critical = 4;
optional uint32 time = 5;
optional uint32 appid = 6;
optional string text = 7;
}
message CMsgAMGetLicenses {
optional fixed64 steamid = 1;
}
message CMsgPackageLicense {
optional uint32 package_id = 1;
optional uint32 time_created = 2;
optional uint32 owner_id = 3;
}
message CMsgAMGetLicensesResponse {
repeated .CMsgPackageLicense license = 1;
optional uint32 result = 2;
}
message CMsgAMGetUserGameStats {
optional fixed64 steam_id = 1;
optional fixed64 game_id = 2;
repeated uint32 stats = 3;
}
message CMsgAMGetUserGameStatsResponse {
message Stats {
optional uint32 stat_id = 1;
optional uint32 stat_value = 2;
}
message Achievement_Blocks {
optional uint32 achievement_id = 1;
optional uint32 achievement_bit_id = 2;
optional fixed32 unlock_time = 3;
}
optional fixed64 steam_id = 1;
optional fixed64 game_id = 2;
optional int32 eresult = 3 [default = 2];
repeated .CMsgAMGetUserGameStatsResponse.Stats stats = 4;
repeated .CMsgAMGetUserGameStatsResponse.Achievement_Blocks achievement_blocks = 5;
}
message CMsgGCGetCommandList {
optional uint32 app_id = 1;
optional string command_prefix = 2;
}
message CMsgGCGetCommandListResponse {
repeated string command_name = 1;
}
message CGCMsgMemCachedGet {
repeated string keys = 1;
}
message CGCMsgMemCachedGetResponse {
message ValueTag {
optional bool found = 1;
optional bytes value = 2;
}
repeated .CGCMsgMemCachedGetResponse.ValueTag values = 1;
}
message CGCMsgMemCachedSet {
message KeyPair {
optional string name = 1;
optional bytes value = 2;
}
repeated .CGCMsgMemCachedSet.KeyPair keys = 1;
}
message CGCMsgMemCachedDelete {
repeated string keys = 1;
}
message CGCMsgMemCachedStats {
}
message CGCMsgMemCachedStatsResponse {
optional uint64 curr_connections = 1;
optional uint64 cmd_get = 2;
optional uint64 cmd_set = 3;
optional uint64 cmd_flush = 4;
optional uint64 get_hits = 5;
optional uint64 get_misses = 6;
optional uint64 delete_hits = 7;
optional uint64 delete_misses = 8;
optional uint64 bytes_read = 9;
optional uint64 bytes_written = 10;
optional uint64 limit_maxbytes = 11;
optional uint64 curr_items = 12;
optional uint64 evictions = 13;
optional uint64 bytes = 14;
}
message CGCMsgSQLStats {
optional uint32 schema_catalog = 1;
}
message CGCMsgSQLStatsResponse {
optional uint32 threads = 1;
optional uint32 threads_connected = 2;
optional uint32 threads_active = 3;
optional uint32 operations_submitted = 4;
optional uint32 prepared_statements_executed = 5;
optional uint32 non_prepared_statements_executed = 6;
optional uint32 deadlock_retries = 7;
optional uint32 operations_timed_out_in_queue = 8;
optional uint32 errors = 9;
}
message CMsgAMAddFreeLicense {
optional fixed64 steamid = 1;
optional uint32 ip_public = 2;
optional uint32 packageid = 3;
optional string store_country_code = 4;
}
message CMsgAMAddFreeLicenseResponse {
optional int32 eresult = 1 [default = 2];
optional int32 purchase_result_detail = 2;
optional fixed64 transid = 3;
}
message CGCMsgGetIPLocation {
repeated fixed32 ips = 1;
}
message CIPLocationInfo {
optional uint32 ip = 1;
optional float latitude = 2;
optional float longitude = 3;
optional string country = 4;
optional string state = 5;
optional string city = 6;
}
message CGCMsgGetIPLocationResponse {
repeated .CIPLocationInfo infos = 1;
}
message CGCMsgSystemStatsSchema {
optional uint32 gc_app_id = 1;
optional bytes schema_kv = 2;
}
message CGCMsgGetSystemStats {
}
message CGCMsgGetSystemStatsResponse {
optional uint32 gc_app_id = 1;
optional bytes stats_kv = 2;
optional uint32 active_jobs = 3;
optional uint32 yielding_jobs = 4;
optional uint32 user_sessions = 5;
optional uint32 game_server_sessions = 6;
optional uint32 socaches = 7;
optional uint32 socaches_to_unload = 8;
optional uint32 socaches_loading = 9;
optional uint32 writeback_queue = 10;
optional uint32 steamid_locks = 11;
optional uint32 logon_queue = 12;
optional uint32 logon_jobs = 13;
}
message CMsgAMSendEmail {
message ReplacementToken {
optional string token_name = 1;
optional string token_value = 2;
}
message PersonaNameReplacementToken {
optional fixed64 steamid = 1;
optional string token_name = 2;
}
optional fixed64 steamid = 1;
optional uint32 email_msg_type = 2;
optional uint32 email_format = 3;
repeated .CMsgAMSendEmail.PersonaNameReplacementToken persona_name_tokens = 5;
optional uint32 source_gc = 6;
repeated .CMsgAMSendEmail.ReplacementToken tokens = 7;
}
message CMsgAMSendEmailResponse {
optional uint32 eresult = 1 [default = 2];
}
message CMsgGCGetEmailTemplate {
optional uint32 app_id = 1;
optional uint32 email_msg_type = 2;
optional int32 email_lang = 3;
optional int32 email_format = 4;
}
message CMsgGCGetEmailTemplateResponse {
optional uint32 eresult = 1 [default = 2];
optional bool template_exists = 2;
optional string template = 3;
}
message CMsgAMGrantGuestPasses2 {
optional fixed64 steam_id = 1;
optional uint32 package_id = 2;
optional int32 passes_to_grant = 3;
optional int32 days_to_expiration = 4;
optional int32 action = 5;
}
message CMsgAMGrantGuestPasses2Response {
optional int32 eresult = 1 [default = 2];
optional int32 passes_granted = 2 [default = 0];
}
message CGCSystemMsg_GetAccountDetails {
option (msgpool_soft_limit) = 128;
option (msgpool_hard_limit) = 512;
optional fixed64 steamid = 1;
optional uint32 appid = 2;
}
message CGCSystemMsg_GetAccountDetails_Response {
option (msgpool_soft_limit) = 128;
option (msgpool_hard_limit) = 512;
optional uint32 eresult_deprecated = 1 [default = 2];
optional string account_name = 2;
optional string persona_name = 3;
optional bool is_profile_public = 4;
optional bool is_inventory_public = 5;
optional bool is_vac_banned = 7;
optional bool is_cyber_cafe = 8;
optional bool is_school_account = 9;
optional bool is_limited = 10;
optional bool is_subscribed = 11;
optional uint32 package = 12;
optional bool is_free_trial_account = 13;
optional uint32 free_trial_expiration = 14;
optional bool is_low_violence = 15;
optional bool is_account_locked_down = 16;
optional bool is_community_banned = 17;
optional bool is_trade_banned = 18;
optional uint32 trade_ban_expiration = 19;
optional uint32 accountid = 20;
optional uint32 suspension_end_time = 21;
optional string currency = 22;
optional uint32 steam_level = 23;
optional uint32 friend_count = 24;
optional uint32 account_creation_time = 25;
optional bool is_steamguard_enabled = 27;
optional bool is_phone_verified = 28;
optional bool is_two_factor_auth_enabled = 29;
optional uint32 two_factor_enabled_time = 30;
optional uint32 phone_verification_time = 31;
optional uint64 phone_id = 33;
optional bool is_phone_identifying = 34;
optional uint32 rt_identity_linked = 35;
optional uint32 rt_birth_date = 36;
optional string txn_country_code = 37;
optional bool has_accepted_china_ssa = 38;
optional bool is_banned_steam_china = 39;
}
message CMsgGCGetPersonaNames {
repeated fixed64 steamids = 1;
}
message CMsgGCGetPersonaNames_Response {
message PersonaName {
optional fixed64 steamid = 1;
optional string persona_name = 2;
}
repeated .CMsgGCGetPersonaNames_Response.PersonaName succeeded_lookups = 1;
repeated fixed64 failed_lookup_steamids = 2;
}
message CMsgGCCheckFriendship {
optional fixed64 steamid_left = 1;
optional fixed64 steamid_right = 2;
}
message CMsgGCCheckFriendship_Response {
optional bool success = 1;
optional bool found_friendship = 2;
}
message CMsgGCMsgMasterSetDirectory {
message SubGC {
optional uint32 dir_index = 1;
optional string name = 2;
optional string box = 3;
optional string command_line = 4;
optional string gc_binary = 5;
}
optional uint32 master_dir_index = 1;
repeated .CMsgGCMsgMasterSetDirectory.SubGC dir = 2;
}
message CMsgGCMsgMasterSetDirectory_Response {
optional int32 eresult = 1 [default = 2];
optional string message = 2;
}
message CMsgGCMsgWebAPIJobRequestForwardResponse {
optional uint32 dir_index = 1;
}
message CGCSystemMsg_GetPurchaseTrust_Request {
optional fixed64 steamid = 1;
}
message CGCSystemMsg_GetPurchaseTrust_Response {
optional bool has_prior_purchase_history = 1;
optional bool has_no_recent_password_resets = 2;
optional bool is_wallet_cash_trusted = 3;
optional uint32 time_all_trusted = 4;
}
message CMsgGCHAccountVacStatusChange {
optional fixed64 steam_id = 1;
optional uint32 app_id = 2;
optional uint32 rtime_vacban_starts = 3;
optional bool is_banned_now = 4;
optional bool is_banned_future = 5;
}
message CMsgGCGetPartnerAccountLink {
optional fixed64 steamid = 1;
}
message CMsgGCGetPartnerAccountLink_Response {
optional uint32 pwid = 1;
optional uint32 nexonid = 2;
optional int32 ageclass = 3;
optional bool id_verified = 4 [default = true];
optional bool is_adult = 5;
}
message CMsgGCRoutingInfo {
enum RoutingMethod {
RANDOM = 0;
DISCARD = 1;
CLIENT_STEAMID = 2;
PROTOBUF_FIELD_UINT64 = 3;
WEBAPI_PARAM_UINT64 = 4;
}
repeated uint32 dir_index = 1;
optional .CMsgGCRoutingInfo.RoutingMethod method = 2 [default = RANDOM];
optional .CMsgGCRoutingInfo.RoutingMethod fallback = 3 [default = DISCARD];
optional uint32 protobuf_field = 4;
optional string webapi_param = 5;
}
message CMsgGCMsgMasterSetWebAPIRouting {
message Entry {
optional string interface_name = 1;
optional string method_name = 2;
optional .CMsgGCRoutingInfo routing = 3;
}
repeated .CMsgGCMsgMasterSetWebAPIRouting.Entry entries = 1;
}
message CMsgGCMsgMasterSetClientMsgRouting {
message Entry {
optional uint32 msg_type = 1;
optional .CMsgGCRoutingInfo routing = 2;
}
repeated .CMsgGCMsgMasterSetClientMsgRouting.Entry entries = 1;
}
message CMsgGCMsgMasterSetWebAPIRouting_Response {
optional int32 eresult = 1 [default = 2];
}
message CMsgGCMsgMasterSetClientMsgRouting_Response {
optional int32 eresult = 1 [default = 2];
}
message CMsgGCMsgSetOptions {
message MessageRange {
required uint32 low = 1;
required uint32 high = 2;
}
enum Option {
NOTIFY_USER_SESSIONS = 0;
NOTIFY_SERVER_SESSIONS = 1;
NOTIFY_ACHIEVEMENTS = 2;
NOTIFY_VAC_ACTION = 3;
}
repeated .CMsgGCMsgSetOptions.Option options = 1;
repeated .CMsgGCMsgSetOptions.MessageRange client_msg_ranges = 2;
}
message CMsgGCHUpdateSession {
message ExtraField {
optional string name = 1;
optional string value = 2;
}
optional fixed64 steam_id = 1;
optional uint32 app_id = 2;
optional bool online = 3;
optional fixed64 server_steam_id = 4;
optional uint32 server_addr = 5;
optional uint32 server_port = 6;
optional uint32 os_type = 7;
optional uint32 client_addr = 8;
repeated .CMsgGCHUpdateSession.ExtraField extra_fields = 9;
optional fixed64 owner_id = 10;
optional uint32 cm_session_sysid = 11;
optional uint32 cm_session_identifier = 12;
repeated uint32 depot_ids = 13;
}
message CMsgNotificationOfSuspiciousActivity {
message MultipleGameInstances {
optional uint32 app_instance_count = 1;
repeated fixed64 other_steamids = 2;
}
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional .CMsgNotificationOfSuspiciousActivity.MultipleGameInstances multiple_instances = 3;
}
message CMsgDPPartnerMicroTxns {
message PartnerMicroTxn {
optional uint32 init_time = 1;
optional uint32 last_update_time = 2;
optional uint64 txn_id = 3;
optional uint32 account_id = 4;
optional uint32 line_item = 5;
optional uint64 item_id = 6;
optional uint32 def_index = 7;
optional uint64 price = 8;
optional uint64 tax = 9;
optional uint64 price_usd = 10;
optional uint64 tax_usd = 11;
optional uint32 purchase_type = 12;
optional uint32 steam_txn_type = 13;
optional string country_code = 14;
optional string region_code = 15;
optional int32 quantity = 16;
optional uint64 ref_trans_id = 17;
}
message PartnerInfo {
optional uint32 partner_id = 1;
optional string partner_name = 2;
optional string currency_code = 3;
optional string currency_name = 4;
}
optional uint32 appid = 1;
optional string gc_name = 2;
optional .CMsgDPPartnerMicroTxns.PartnerInfo partner = 3;
repeated .CMsgDPPartnerMicroTxns.PartnerMicroTxn transactions = 4;
}
message CMsgDPPartnerMicroTxnsResponse {
enum EErrorCode {
k_MsgValid = 0;
k_MsgInvalidAppID = 1;
k_MsgInvalidPartnerInfo = 2;
k_MsgNoTransactions = 3;
k_MsgSQLFailure = 4;
k_MsgPartnerInfoDiscrepancy = 5;
k_MsgTransactionInsertFailed = 7;
k_MsgAlreadyRunning = 8;
k_MsgInvalidTransactionData = 9;
}
optional uint32 eresult = 1 [default = 2];
optional .CMsgDPPartnerMicroTxnsResponse.EErrorCode eerrorcode = 2 [default = k_MsgValid];
}
message CChinaAgreementSessions_StartAgreementSessionInGame_Request {
optional uint32 appid = 1;
optional fixed64 steamid = 2;
optional string client_ipaddress = 3;
}
message CChinaAgreementSessions_StartAgreementSessionInGame_Response {
optional string agreement_url = 1;
}
import "steammessages_unified_base.steamworkssdk.proto";
message CCloud_GetUploadServerInfo_Request {
optional uint32 appid = 1 [(description) = "App ID to which a file will be uploaded to."];
}
message CCloud_GetUploadServerInfo_Response {
optional string server_url = 1;
}
message CCloud_GetFileDetails_Request {
optional uint64 ugcid = 1 [(description) = "ID of the Cloud file to get details for."];
optional uint32 appid = 2 [(description) = "App ID the file belongs to."];
}
message CCloud_UserFile {
optional uint32 appid = 1;
optional uint64 ugcid = 2;
optional string filename = 3;
optional uint64 timestamp = 4;
optional uint32 file_size = 5;
optional string url = 6;
optional fixed64 steamid_creator = 7;
}
message CCloud_GetFileDetails_Response {
optional .CCloud_UserFile details = 1;
}
message CCloud_EnumerateUserFiles_Request {
optional uint32 appid = 1 [(description) = "App ID to enumerate the files of."];
optional bool extended_details = 2 [(description) = "(Optional) Get extended details back on the files found. Defaults to only returned the app Id and UGC Id of the files found."];
optional uint32 count = 3 [(description) = "(Optional) Maximum number of results to return on this call. Defaults to a maximum of 500 files returned."];
optional uint32 start_index = 4 [(description) = "(Optional) Starting index to begin enumeration at. Defaults to the beginning of the list."];
}
message CCloud_EnumerateUserFiles_Response {
repeated .CCloud_UserFile files = 1;
optional uint32 total_files = 2;
}
message CCloud_Delete_Request {
optional string filename = 1;
optional uint32 appid = 2 [(description) = "App ID the file belongs to."];
}
message CCloud_Delete_Response {
}
service Cloud {
option (service_description) = "A service for Steam Cloud operations.";
rpc GetUploadServerInfo (.CCloud_GetUploadServerInfo_Request) returns (.CCloud_GetUploadServerInfo_Response) {
option (method_description) = "Returns the URL of the proper cloud server for a user.";
}
rpc GetFileDetails (.CCloud_GetFileDetails_Request) returns (.CCloud_GetFileDetails_Response) {
option (method_description) = "Returns details on a Cloud file.";
}
rpc EnumerateUserFiles (.CCloud_EnumerateUserFiles_Request) returns (.CCloud_EnumerateUserFiles_Response) {
option (method_description) = "Enumerates Cloud files for a user of a given app ID. Returns up to 500 files at a time.";
}
rpc Delete (.CCloud_Delete_Request) returns (.CCloud_Delete_Response) {
option (method_description) = "Deletes a file from the user's cloud.";
}
}
import "steammessages_unified_base.steamworkssdk.proto";
option cc_generic_services = true;
message CHelpRequestLogs_UploadUserApplicationLog_Request {
optional uint32 appid = 1;
optional string log_type = 2;
optional string version_string = 3;
optional string log_contents = 4;
}
message CHelpRequestLogs_UploadUserApplicationLog_Response {
optional uint64 id = 1;
}
service HelpRequestLogs {
option (service_description) = "Service for dealing with user-submitted logs";
rpc UploadUserApplicationLog (.CHelpRequestLogs_UploadUserApplicationLog_Request) returns (.CHelpRequestLogs_UploadUserApplicationLog_Response) {
option (method_description) = "User uploading application logs";
}
}
import "steammessages_unified_base.steamworkssdk.proto";
message COAuthToken_ImplicitGrantNoPrompt_Request {
optional string clientid = 1 [(description) = "Client ID for which to count the number of issued tokens"];
}
message COAuthToken_ImplicitGrantNoPrompt_Response {
optional string access_token = 1 [(description) = "OAuth Token, granted on success"];
optional string redirect_uri = 2 [(description) = "Redirection URI provided during client registration."];
}
service OAuthToken {
option (service_description) = "Service containing methods to manage OAuth tokens";
rpc ImplicitGrantNoPrompt (.COAuthToken_ImplicitGrantNoPrompt_Request) returns (.COAuthToken_ImplicitGrantNoPrompt_Response) {
option (method_description) = "Grants an implicit OAuth token (grant type 'token') for the specified client ID on behalf of a user without prompting";
}
}
import "steammessages_unified_base.steamworkssdk.proto";
option cc_generic_services = true;
enum ENotificationSetting {
k_ENotificationSettingNotifyUseDefault = 0;
k_ENotificationSettingAlways = 1;
k_ENotificationSettingNever = 2;
}
message CPlayer_GetMutualFriendsForIncomingInvites_Request {
}
message CPlayer_IncomingInviteMutualFriendList {
optional fixed64 steamid = 1;
repeated uint32 mutual_friend_account_ids = 2;
}
message CPlayer_GetMutualFriendsForIncomingInvites_Response {
repeated .CPlayer_IncomingInviteMutualFriendList incoming_invite_mutual_friends_lists = 1;
}
message CPlayer_GetFriendsGameplayInfo_Request {
optional uint32 appid = 1;
}
message CPlayer_GetFriendsGameplayInfo_Response {
message FriendsGameplayInfo {
optional fixed64 steamid = 1;
optional uint32 minutes_played = 2;
optional uint32 minutes_played_forever = 3;
}
message OwnGameplayInfo {
optional fixed64 steamid = 1;
optional uint32 minutes_played = 2;
optional uint32 minutes_played_forever = 3;
optional bool in_wishlist = 4;
optional bool owned = 5;
}
optional .CPlayer_GetFriendsGameplayInfo_Response.OwnGameplayInfo your_info = 1;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_game = 2;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo played_recently = 3;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo played_ever = 4;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo owns = 5;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_wishlist = 6;
}
message CPlayer_GetGameBadgeLevels_Request {
optional uint32 appid = 1;
}
message CPlayer_GetGameBadgeLevels_Response {
message Badge {
optional int32 level = 1;
optional int32 series = 2;
optional uint32 border_color = 3;
}
optional uint32 player_level = 1;
repeated .CPlayer_GetGameBadgeLevels_Response.Badge badges = 2;
}
message CPlayer_GetLastPlayedTimes_Request {
optional uint32 min_last_played = 1 [(description) = "The most recent last-played time the client already knows about"];
}
message CPlayer_GetLastPlayedTimes_Response {
message Game {
optional int32 appid = 1;
optional uint32 last_playtime = 2;
optional int32 playtime_2weeks = 3;
optional int32 playtime_forever = 4;
optional uint32 first_playtime = 5;
}
repeated .CPlayer_GetLastPlayedTimes_Response.Game games = 1;
}
message CPlayer_AcceptSSA_Request {
}
message CPlayer_AcceptSSA_Response {
}
message CPlayer_GetNicknameList_Request {
}
message CPlayer_GetNicknameList_Response {
message PlayerNickname {
optional fixed32 accountid = 1;
optional string nickname = 2;
}
repeated .CPlayer_GetNicknameList_Response.PlayerNickname nicknames = 1;
}
message CPlayer_GetPerFriendPreferences_Request {
}
message PerFriendPreferences {
optional fixed32 accountid = 1;
optional string nickname = 2;
optional .ENotificationSetting notifications_showingame = 3 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_showonline = 4 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_showmessages = 5 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showingame = 6 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showonline = 7 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showmessages = 8 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_sendmobile = 9 [default = k_ENotificationSettingNotifyUseDefault];
}
message CPlayer_GetPerFriendPreferences_Response {
repeated .PerFriendPreferences preferences = 1;
}
message CPlayer_SetPerFriendPreferences_Request {
optional .PerFriendPreferences preferences = 1;
}
message CPlayer_SetPerFriendPreferences_Response {
}
message CPlayer_AddFriend_Request {
optional fixed64 steamid = 1 [(description) = "Steam ID of user to whom to send a friend invite."];
}
message CPlayer_AddFriend_Response {
optional bool invite_sent = 1 [(description) = "True if the operation was successful, false otherwise."];
optional uint32 friend_relationship = 2 [(description) = "the resulting relationship. Depending on state, may move directly to friends rather than invite sent"];
}
message CPlayer_RemoveFriend_Request {
optional fixed64 steamid = 1 [(description) = "Steam ID of friend to remove."];
}
message CPlayer_RemoveFriend_Response {
optional uint32 friend_relationship = 1 [(description) = "the resulting relationship"];
}
message CPlayer_IgnoreFriend_Request {
optional fixed64 steamid = 1;
optional bool unignore = 2 [(description) = "If set, remove from ignore/block list instead of adding "];
}
message CPlayer_IgnoreFriend_Response {
optional uint32 friend_relationship = 1 [(description) = "the resulting relationship"];
}
message CPlayer_GetCommunityPreferences_Request {
}
message CPlayer_CommunityPreferences {
optional bool hide_adult_content_violence = 1 [default = true];
optional bool hide_adult_content_sex = 2 [default = true];
optional bool parenthesize_nicknames = 4 [default = false];
optional uint32 timestamp_updated = 3;
}
message CPlayer_GetCommunityPreferences_Response {
optional .CPlayer_CommunityPreferences preferences = 1;
}
message CPlayer_SetCommunityPreferences_Request {
optional .CPlayer_CommunityPreferences preferences = 1;
}
message CPlayer_SetCommunityPreferences_Response {
}
message CPlayer_GetNewSteamAnnouncementState_Request {
optional int32 language = 1;
}
message CPlayer_GetNewSteamAnnouncementState_Response {
optional int32 state = 1;
optional string announcement_headline = 2;
optional string announcement_url = 3;
optional uint32 time_posted = 4;
optional uint64 announcement_gid = 5;
}
message CPlayer_UpdateSteamAnnouncementLastRead_Request {
optional uint64 announcement_gid = 1;
optional uint32 time_posted = 2;
}
message CPlayer_UpdateSteamAnnouncementLastRead_Response {
}
service Player {
option (service_description) = "A service for accessing Steam player data";
rpc GetMutualFriendsForIncomingInvites (.CPlayer_GetMutualFriendsForIncomingInvites_Request) returns (.CPlayer_GetMutualFriendsForIncomingInvites_Response) {
option (method_description) = "Get me the mutual friends for each of my pending incoming invites (individuals and clans).";
}
rpc GetFriendsGameplayInfo (.CPlayer_GetFriendsGameplayInfo_Request) returns (.CPlayer_GetFriendsGameplayInfo_Response) {
option (method_description) = "Get a list of friends who are playing, have played, own, or want a game";
}
rpc GetGameBadgeLevels (.CPlayer_GetGameBadgeLevels_Request) returns (.CPlayer_GetGameBadgeLevels_Response) {
option (method_description) = "Returns the Steam Level of a user, the Badge level for the game, and if it's foil";
}
rpc ClientGetLastPlayedTimes (.CPlayer_GetLastPlayedTimes_Request) returns (.CPlayer_GetLastPlayedTimes_Response) {
option (method_description) = "Gets the last-played times for the account";
}
rpc AcceptSSA (.CPlayer_AcceptSSA_Request) returns (.CPlayer_AcceptSSA_Response) {
option (method_description) = "User is accepting the SSA";
}
rpc GetNicknameList (.CPlayer_GetNicknameList_Request) returns (.CPlayer_GetNicknameList_Response) {
option (method_description) = "Gets the list of nicknames this user has for other users";
}
rpc GetPerFriendPreferences (.CPlayer_GetPerFriendPreferences_Request) returns (.CPlayer_GetPerFriendPreferences_Response) {
option (method_description) = "Gets the list of per-friend preferences this user has set for other users";
}
rpc SetPerFriendPreferences (.CPlayer_SetPerFriendPreferences_Request) returns (.CPlayer_SetPerFriendPreferences_Response) {
option (method_description) = "Sets the logged in user's per-friend preferences for the given user";
}
rpc AddFriend (.CPlayer_AddFriend_Request) returns (.CPlayer_AddFriend_Response) {
option (method_description) = "Invites another Steam user to be a friend";
}
rpc RemoveFriend (.CPlayer_RemoveFriend_Request) returns (.CPlayer_RemoveFriend_Response) {
option (method_description) = "Removes a friend or ignores a friend suggestion";
}
rpc IgnoreFriend (.CPlayer_IgnoreFriend_Request) returns (.CPlayer_IgnoreFriend_Response) {
option (method_description) = "Blocks or unblocks communication with the user. Despite name, can be a non-friend.";
}
rpc GetCommunityPreferences (.CPlayer_GetCommunityPreferences_Request) returns (.CPlayer_GetCommunityPreferences_Response) {
option (method_description) = "Returns the player's community preferences";
}
rpc SetCommunityPreferences (.CPlayer_SetCommunityPreferences_Request) returns (.CPlayer_SetCommunityPreferences_Response) {
option (method_description) = "Sets the player's community preferences";
}
rpc GetNewSteamAnnouncementState (.CPlayer_GetNewSteamAnnouncementState_Request) returns (.CPlayer_GetNewSteamAnnouncementState_Response) {
option (method_description) = "Calculates and returns what to display for UI that renders new steam announcement available";
}
rpc UpdateSteamAnnouncementLastRead (.CPlayer_UpdateSteamAnnouncementLastRead_Request) returns (.CPlayer_UpdateSteamAnnouncementLastRead_Response) {
option (method_description) = "Marks latest announcement timestamp read by user";
}
}
import "steammessages_unified_base.steamworkssdk.proto";
message CPublishedFile_Subscribe_Request {
optional uint64 publishedfileid = 1;
optional uint32 list_type = 2;
optional int32 appid = 3;
optional bool notify_client = 4;
}
message CPublishedFile_Subscribe_Response {
}
message CPublishedFile_Unsubscribe_Request {
optional uint64 publishedfileid = 1;
optional uint32 list_type = 2;
optional int32 appid = 3;
optional bool notify_client = 4;
}
message CPublishedFile_Unsubscribe_Response {
}
message CPublishedFile_Publish_Request {
optional uint32 appid = 1 [(description) = "App Id this file is being published FROM."];
optional uint32 consumer_appid = 2 [(description) = "App Id this file is being published TO."];
optional string cloudfilename = 3 [(description) = "Name of the file to publish in the user's cloud."];
optional string preview_cloudfilename = 4 [(description) = "Name of the file to use as the published file's preview."];
optional string title = 5 [(description) = "Text title for the published file."];
optional string file_description = 6 [(description) = "Text description for the published file."];
optional uint32 file_type = 7 [(description) = "(EWorkshopFileType) Type of Workshop file to publish."];
optional string consumer_shortcut_name = 8 [(description) = "Shortcut name for the published file."];
optional string youtube_username = 9 [(description) = "(Optional) User's YouTube account username."];
optional string youtube_videoid = 10 [(description) = "(Optional) Video Id of a YouTube video for this published file."];
optional uint32 visibility = 11 [(description) = "(ERemoteStoragePublishedFileVisibility) Visibility of the published file (private, friends, public, etc.)"];
optional string redirect_uri = 12 [(description) = "(Optional) If supplied, the resulting published file's Id is appended to the URI."];
repeated string tags = 13 [(description) = "Array of text tags to apply to the published file."];
optional string collection_type = 14 [(description) = "(Optional) Type of collection the published file represents."];
optional string game_type = 15 [(description) = "(Optional) Type of game the published file represents."];
optional string url = 16 [(description) = "(Optional) If this represents a game, this is the URL to that game's page."];
}
message CPublishedFile_Publish_Response {
optional uint64 publishedfileid = 1;
optional string redirect_uri = 2;
}
message CPublishedFile_GetDetails_Request {
repeated fixed64 publishedfileids = 1 [(description) = "Set of published file Ids to retrieve details for."];
optional bool includetags = 2 [(description) = "If true, return tag information in the returned details."];
optional bool includeadditionalpreviews = 3 [(description) = "If true, return preview information in the returned details."];
optional bool includechildren = 4 [(description) = "If true, return children in the returned details."];
optional bool includekvtags = 5 [(description) = "If true, return key value tags in the returned details."];
optional bool includevotes = 6 [(description) = "If true, return vote data in the returned details."];
optional bool short_description = 8 [(description) = "If true, return a short description instead of the full description."];
}
message PublishedFileDetails {
message Tag {
optional string tag = 1;
optional bool adminonly = 2;
}
message Preview {
optional uint64 previewid = 1;
optional uint32 sortorder = 2;
optional string url = 3;
optional uint32 size = 4;
optional string filename = 5;
optional string youtubevideoid = 6;
}
message Child {
optional uint64 publishedfileid = 1;
optional uint32 sortorder = 2;
optional uint32 file_type = 3;
}
message KVTag {
optional string key = 1;
optional string value = 2;
}
message VoteData {
optional float score = 1;
optional uint32 votes_up = 2;
optional uint32 votes_down = 3;
}
optional uint32 result = 1;
optional uint64 publishedfileid = 2;
optional fixed64 creator = 3;
optional uint32 creator_appid = 4;
optional uint32 consumer_appid = 5;
optional uint32 consumer_shortcutid = 6;
optional string filename = 7;
optional uint64 file_size = 8;
optional uint64 preview_file_size = 9;
optional string file_url = 10;
optional string preview_url = 11;
optional string youtubevideoid = 12;
optional string url = 13;
optional fixed64 hcontent_file = 14;
optional fixed64 hcontent_preview = 15;
optional string title = 16;
optional string file_description = 17;
optional string short_description = 18;
optional uint32 time_created = 19;
optional uint32 time_updated = 20;
optional uint32 visibility = 21;
optional uint32 flags = 22;
optional bool workshop_file = 23;
optional bool workshop_accepted = 24;
optional bool show_subscribe_all = 25;
optional int32 num_comments_developer = 26;
optional int32 num_comments_public = 27;
optional bool banned = 28;
optional string ban_reason = 29;
optional fixed64 banner = 30;
optional bool can_be_deleted = 31;
optional bool incompatible = 32;
optional string app_name = 33;
optional uint32 file_type = 34;
optional bool can_subscribe = 35;
optional uint32 subscriptions = 36;
optional uint32 favorited = 37;
optional uint32 followers = 38;
optional uint32 lifetime_subscriptions = 39;
optional uint32 lifetime_favorited = 40;
optional uint32 lifetime_followers = 41;
optional uint32 views = 42;
optional uint32 image_width = 43;
optional uint32 image_height = 44;
optional string image_url = 45;
optional bool spoiler_tag = 46;
optional uint32 shortcutid = 47;
optional string shortcutname = 48;
optional uint32 num_children = 49;
optional uint32 num_reports = 50;
repeated .PublishedFileDetails.Preview previews = 51;
repeated .PublishedFileDetails.Tag tags = 52;
repeated .PublishedFileDetails.Child children = 53;
repeated .PublishedFileDetails.KVTag kvtags = 54;
optional .PublishedFileDetails.VoteData vote_data = 55;
optional uint32 time_subscribed = 56 [(description) = "Only valid in PublishedFile.GetUserFiles and not normal PublishedFile.GetDetail calls"];
}
message CPublishedFile_GetDetails_Response {
repeated .PublishedFileDetails publishedfiledetails = 1;
}
message CPublishedFile_GetUserFiles_Request {
optional uint32 appid = 1 [(description) = "App Id to retrieve published files from."];
optional uint32 page = 3 [default = 1, (description) = "(Optional) Starting page for results."];
optional uint32 numperpage = 4 [default = 1, (description) = "(Optional) The number of results, per page to return."];
optional string sortmethod = 6 [default = "lastupdated", (description) = "(Optional) Sorting method to use on returned values."];
optional bool totalonly = 7 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
optional uint32 privacy = 9 [(description) = "(optional) Filter by privacy settings."];
optional bool ids_only = 10 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
repeated string requiredtags = 11 [(description) = "(Optional) Tags that must be present on a published file to satisfy the query."];
repeated string excludedtags = 12 [(description) = "(Optional) Tags that must NOT be present on a published file to satisfy the query."];
}
message CPublishedFile_GetUserFiles_Response {
message App {
optional uint32 appid = 1;
optional string name = 2;
optional uint32 shortcutid = 3;
optional bool private = 4;
}
optional uint32 total = 1;
optional uint32 startindex = 2;
repeated .PublishedFileDetails publishedfiledetails = 3;
repeated .CPublishedFile_GetUserFiles_Response.App apps = 4;
}
message CPublishedFile_Update_Request {
optional uint32 appid = 1 [(description) = "App Id this published file belongs to."];
optional fixed64 publishedfileid = 2 [(description) = "Published file id of the file we'd like update."];
optional string title = 3 [(description) = "(Optional) Title of the published file."];
optional string file_description = 4 [(description) = "(Optional) Description of the published file."];
optional uint32 visibility = 5 [(description) = "(Optional) Visibility of the published file."];
repeated string tags = 6 [(description) = "(Optional) Set of tags for the published file."];
optional string filename = 7 [(description) = "(Optional) Filename for the published file."];
optional string preview_filename = 8 [(description) = "(Optional) Preview filename for the published file."];
}
message CPublishedFile_Update_Response {
}
message CPublishedFile_RefreshVotingQueue_Request {
optional uint32 appid = 1;
optional uint32 matching_file_type = 2 [(description) = "EPublishedFileInfoMatchingFileType"];
repeated string tags = 3 [(description) = "Include files that have all the tags or any of the tags if match_all_tags is set to false."];
optional bool match_all_tags = 4 [default = true, (description) = "If true, then files must have all the tags specified. If false, then must have at least one of the tags specified."];
repeated string excluded_tags = 5 [(description) = "Exclude any files that have any of these tags."];
optional uint32 desired_queue_size = 6 [(description) = "Desired number of items in the voting queue. May be clamped by the server"];
}
message CPublishedFile_RefreshVotingQueue_Response {
}
service PublishedFile {
option (service_description) = "A service to access published file data";
rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response) {
option (method_description) = "Subscribes the user to the published file";
}
rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response) {
option (method_description) = "Unsubscribes the user from the published file";
}
rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response) {
option (method_description) = "Publishes a clouded user file to the Workshop.";
}
rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response) {
option (method_description) = "Retrieves information about a set of published files.";
}
rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response) {
option (method_description) = "Retrieves files published by a user.";
}
rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response) {
option (method_description) = "Updates information about a published file.";
}
rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response) {
option (method_description) = "Refresh the voting queue for the user";
}
}
import "steammessages_unified_base.steamworkssdk.proto";
enum ESteamLearnDataType {
STEAMLEARN_DATATYPE_INVALID = 0;
STEAMLEARN_DATATYPE_INT32 = 1;
STEAMLEARN_DATATYPE_FLOAT32 = 2;
STEAMLEARN_DATATYPE_BOOL = 3;
STEAMLEARN_DATATYPE_STRING = 4;
STEAMLEARN_DATATYPE_OBJECT = 5;
}
enum ESteammLearnRegisterDataSourceResult {
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR = 0;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_CREATED = 1;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_FOUND = 2;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_GENERIC = 3;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_NAME = 4;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_VERSION = 5;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_CHANGED = 6;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_INVALID = 7;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_FORBIDDEN = 8;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_TIMESTAMP = 9;
STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_DISABLED = 10;
}
enum ESteamLearnCacheDataResult {
STEAMLEARN_CACHE_DATA_ERROR = 0;
STEAMLEARN_CACHE_DATA_SUCCESS = 1;
STEAMLEARN_CACHE_DATA_ERROR_UNKNOWN_DATA_SOURCE = 2;
STEAMLEARN_CACHE_DATA_ERROR_UNCACHED_DATA_SOURCE = 3;
STEAMLEARN_CACHE_DATA_ERROR_INVALID_KEYS = 4;
STEAMLEARN_CACHE_DATA_ERROR_FORBIDDEN = 5;
STEAMLEARN_CACHE_DATA_ERROR_INVALID_TIMESTAMP = 6;
STEAMLEARN_CACHE_DATA_DISABLED = 7;
}
enum ESteamLearnSnapshotProjectResult {
STEAMLEARN_SNAPSHOT_PROJECT_ERROR = 0;
STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_STORED = 1;
STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_QUEUED = 2;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PROJECT_ID = 3;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_UNKNOWN_DATA_SOURCE = 4;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_DATA_SOURCE_KEY = 5;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_MISSING_CACHE_DURATION = 6;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_NO_PUBLISHED_CONFIG = 7;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_FORBIDDEN = 8;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_TIMESTAMP = 9;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INTERNAL_DATA_SOURCE_ERROR = 10;
STEAMLEARN_SNAPSHOT_PROJECT_DISABLED = 11;
STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PUBLISHED_VERSION = 12;
}
enum ESteamLearnGetHMACKeysResult {
STEAMLEARN_GET_HMAC_KEYS_SUCCESS = 0;
}
enum ESteamLearnInferenceResult {
STEAMLEARN_INFERENCE_ERROR = 0;
STEAMLEARN_INFERENCE_SUCCESS = 1;
STEAMLEARN_INFERENCE_ERROR_INVALID_PROJECT_ID = 2;
STEAMLEARN_INFERENCE_ERROR_MISSING_CACHED_SCHEMA_DATA = 3;
STEAMLEARN_INFERENCE_ERROR_NO_PUBLISHED_CONFIG = 4;
STEAMLEARN_INFERENCE_ERROR_FORBIDDEN = 5;
STEAMLEARN_INFERENCE_ERROR_INVALID_TIMESTAMP = 6;
STEAMLEARN_INFERENCE_ERROR_INVALID_PUBLISHED_VERSION = 7;
STEAMLEARN_INFERENCE_ERROR_NO_FETCH_ID_FOUND = 8;
}
message CMsgSteamLearnDataSourceDescObject {
repeated .CMsgSteamLearnDataSourceDescElement elements = 1;
}
message CMsgSteamLearnDataSourceDescElement {
optional string name = 1;
optional .ESteamLearnDataType data_type = 2 [default = STEAMLEARN_DATATYPE_INVALID];
optional .CMsgSteamLearnDataSourceDescObject object = 3;
optional uint32 count = 4;
}
message CMsgSteamLearnDataSource {
optional uint32 id = 1;
optional string name = 2;
optional uint32 version = 3;
optional string source_description = 4;
optional .CMsgSteamLearnDataSourceDescObject structure = 5;
optional uint32 structure_crc = 6;
optional uint32 cache_duration_seconds = 7;
}
message CMsgSteamLearnDataObject {
repeated .CMsgSteamLearnDataElement elements = 1;
}
message CMsgSteamLearnDataElement {
optional string name = 1;
repeated int32 data_int32s = 20;
repeated float data_floats = 21;
repeated bool data_bools = 22;
repeated string data_strings = 23;
repeated .CMsgSteamLearnDataObject data_objects = 24;
}
message CMsgSteamLearnData {
optional uint32 data_source_id = 1;
repeated uint64 keys = 2;
optional .CMsgSteamLearnDataObject data_object = 3;
}
message CMsgSteamLearnDataList {
repeated .CMsgSteamLearnData data = 1;
}
message CMsgSteamLearn_AccessData {
optional uint32 publisher_id = 1;
optional uint32 timestamp = 2;
optional uint64 random_value = 3;
}
message CMsgSteamLearn_RegisterDataSource_Request {
optional string access_token = 1;
optional .CMsgSteamLearn_AccessData access_data = 2;
optional .CMsgSteamLearnDataSource data_source = 3;
}
message CMsgSteamLearn_RegisterDataSource_Response {
optional .ESteammLearnRegisterDataSourceResult result = 1 [default = STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR];
optional .CMsgSteamLearnDataSource data_source = 2;
}
message CMsgSteamLearn_CacheData_Request {
optional string access_token = 1;
optional .CMsgSteamLearn_AccessData access_data = 2;
optional .CMsgSteamLearnData data = 3;
}
message CMsgSteamLearn_CacheData_Response {
optional .ESteamLearnCacheDataResult cache_data_result = 1 [default = STEAMLEARN_CACHE_DATA_ERROR];
}
message CMsgSteamLearn_SnapshotProject_Request {
optional string access_token = 1;
optional .CMsgSteamLearn_AccessData access_data = 2;
optional uint32 project_id = 3;
optional uint32 published_version = 7;
repeated uint64 keys = 4;
repeated .CMsgSteamLearnData data = 5;
optional uint32 pending_data_limit_seconds = 6;
}
message CMsgSteamLearn_SnapshotProject_Response {
optional .ESteamLearnSnapshotProjectResult snapshot_result = 1 [default = STEAMLEARN_SNAPSHOT_PROJECT_ERROR];
}
message CMsgSteamLearn_BatchOperation_Request {
repeated .CMsgSteamLearn_CacheData_Request cache_data_requests = 1;
repeated .CMsgSteamLearn_SnapshotProject_Request snapshot_requests = 2;
}
message CMsgSteamLearn_BatchOperation_Response {
repeated .CMsgSteamLearn_CacheData_Response cache_data_responses = 1;
repeated .CMsgSteamLearn_SnapshotProject_Response snapshot_responses = 2;
}
message CMsgSteamLearnHMACKeys {
message CacheDataKeys {
optional uint32 data_source_id = 1;
optional uint32 version = 3;
optional string key = 2;
}
message SnapshotProjectKeys {
optional uint32 project_id = 1;
optional uint32 published_version = 3;
optional string key = 2;
}
optional string register_data_source_key = 1;
repeated .CMsgSteamLearnHMACKeys.CacheDataKeys cache_data_keys = 2;
repeated .CMsgSteamLearnHMACKeys.SnapshotProjectKeys snapshot_project_keys = 3;
}
message CMsgSteamLearn_GetHMACKeys_Request {
optional uint32 appid = 1;
}
message CMsgSteamLearn_GetHMACKeys_Response {
optional .ESteamLearnGetHMACKeysResult result = 1 [default = STEAMLEARN_GET_HMAC_KEYS_SUCCESS];
optional .CMsgSteamLearnHMACKeys keys = 2;
}
message CMsgSteamLearn_Inference_Request {
optional string access_token = 1;
optional .CMsgSteamLearn_AccessData access_data = 2;
optional uint32 project_id = 3;
optional uint32 published_version = 4;
optional uint32 override_train_id = 5;
optional .CMsgSteamLearnDataList data = 6;
repeated float additional_data = 7;
}
message CMsgSteamLearn_InferenceBackend_Response {
message BinaryCrossEntropyOutput {
optional float value = 1;
}
message MutliBinaryCrossEntropyOutput {
repeated float weight = 1;
repeated float value = 2;
}
message CategoricalCrossEntropyOutput {
repeated float weight = 1;
repeated float value = 2;
}
message Output {
oneof ResponseType {
.CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput binary_crossentropy = 1;
.CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput categorical_crossentropy = 2;
.CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput multi_binary_crossentropy = 3;
}
}
repeated .CMsgSteamLearn_InferenceBackend_Response.Output outputs = 1;
}
message CMsgSteamLearn_Inference_Response {
optional .ESteamLearnInferenceResult inference_result = 1 [default = STEAMLEARN_INFERENCE_ERROR];
optional .CMsgSteamLearn_InferenceBackend_Response backend_response = 2;
}
service SteamLearn {
option (service_description) = "Service for submitting data, training, and inferencing with SteamLearn.";
rpc RegisterDataSource (.CMsgSteamLearn_RegisterDataSource_Request) returns (.CMsgSteamLearn_RegisterDataSource_Response) {
option (method_description) = "Registers a data desc (or finds a data desc if it's already registered).";
}
rpc CacheData (.CMsgSteamLearn_CacheData_Request) returns (.CMsgSteamLearn_CacheData_Response) {
option (method_description) = "Updates a cached data entry.";
}
rpc SnapshotProject (.CMsgSteamLearn_SnapshotProject_Request) returns (.CMsgSteamLearn_SnapshotProject_Response) {
option (method_description) = "Snapshots the current data for a project.";
}
rpc BatchOperation (.CMsgSteamLearn_BatchOperation_Request) returns (.CMsgSteamLearn_BatchOperation_Response) {
option (method_description) = "Batches multiple data updates, snapshots, and inference requests into a single call";
}
rpc GetHMACKeys (.CMsgSteamLearn_GetHMACKeys_Request) returns (.CMsgSteamLearn_GetHMACKeys_Response) {
option (method_description) = "Gets the HMAC keys needed for registering data sources, submitting data to them, and snapshotting projects";
}
rpc Inference (.CMsgSteamLearn_Inference_Request) returns (.CMsgSteamLearn_Inference_Response) {
option (method_description) = "Inferences using supplied data, or data associated with the specified key.";
}
}
import "google/protobuf/descriptor.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
extend .google.protobuf.FieldOptions {
optional string description = 50000;
}
extend .google.protobuf.ServiceOptions {
optional string service_description = 50000;
optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown];
}
extend .google.protobuf.MethodOptions {
optional string method_description = 50000;
}
extend .google.protobuf.EnumOptions {
optional string enum_description = 50000;
}
extend .google.protobuf.EnumValueOptions {
optional string enum_value_description = 50000;
}
enum EProtoExecutionSite {
k_EProtoExecutionSiteUnknown = 0;
k_EProtoExecutionSiteSteamClient = 3;
}
import "networkbasetypes.proto";
enum ETEProtobufIds {
TE_EffectDispatchId = 400;
TE_ArmorRicochetId = 401;
TE_BeamEntPointId = 402;
TE_BeamEntsId = 403;
TE_BeamPointsId = 404;
TE_BeamRingId = 405;
TE_BSPDecalId = 407;
TE_BubblesId = 408;
TE_BubbleTrailId = 409;
TE_DecalId = 410;
TE_WorldDecalId = 411;
TE_EnergySplashId = 412;
TE_FizzId = 413;
TE_ShatterSurfaceId = 414;
TE_GlowSpriteId = 415;
TE_ImpactId = 416;
TE_MuzzleFlashId = 417;
TE_BloodStreamId = 418;
TE_ExplosionId = 419;
TE_DustId = 420;
TE_LargeFunnelId = 421;
TE_SparksId = 422;
TE_PhysicsPropId = 423;
TE_PlayerDecalId = 424;
TE_ProjectedDecalId = 425;
TE_SmokeId = 426;
}
message CMsgTEArmorRicochet {
optional .CMsgVector pos = 1;
optional .CMsgVector dir = 2;
}
message CMsgTEBaseBeam {
optional fixed64 modelindex = 1;
optional fixed64 haloindex = 2;
optional uint32 startframe = 3;
optional uint32 framerate = 4;
optional float life = 5;
optional float width = 6;
optional float endwidth = 7;
optional uint32 fadelength = 8;
optional float amplitude = 9;
optional fixed32 color = 10;
optional uint32 speed = 11;
optional uint32 flags = 12;
}
message CMsgTEBeamEntPoint {
optional .CMsgTEBaseBeam base = 1;
optional uint32 startentity = 2;
optional uint32 endentity = 3;
optional .CMsgVector start = 4;
optional .CMsgVector end = 5;
}
message CMsgTEBeamEnts {
optional .CMsgTEBaseBeam base = 1;
optional uint32 startentity = 2;
optional uint32 endentity = 3;
}
message CMsgTEBeamPoints {
optional .CMsgTEBaseBeam base = 1;
optional .CMsgVector start = 2;
optional .CMsgVector end = 3;
}
message CMsgTEBeamRing {
optional .CMsgTEBaseBeam base = 1;
optional uint32 startentity = 2;
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;
optional float height = 3;
optional uint32 count = 4;
optional float speed = 5;
}
message CMsgTEBubbleTrail {
optional .CMsgVector mins = 1;
optional .CMsgVector maxs = 2;
optional float waterz = 3;
optional uint32 count = 4;
optional float speed = 5;
}
message CMsgTEDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector start = 2;
optional int32 entity = 3 [default = -1];
optional uint32 hitbox = 4;
optional uint32 index = 5;
}
message CMsgEffectData {
optional .CMsgVector origin = 1;
optional .CMsgVector start = 2;
optional .CMsgVector normal = 3;
optional .CMsgQAngle angles = 4;
optional fixed32 entity = 5 [default = 16777215];
optional fixed32 otherentity = 6 [default = 16777215];
optional float scale = 7;
optional float magnitude = 8;
optional float radius = 9;
optional fixed32 surfaceprop = 10;
optional fixed64 effectindex = 11;
optional uint32 damagetype = 12;
optional uint32 material = 13;
optional uint32 hitbox = 14;
optional uint32 color = 15;
optional uint32 flags = 16;
optional int32 attachmentindex = 17;
optional uint32 effectname = 18;
optional uint32 attachmentname = 19;
}
message CMsgTEEffectDispatch {
optional .CMsgEffectData effectdata = 1;
}
message CMsgTEEnergySplash {
optional .CMsgVector pos = 1;
optional .CMsgVector dir = 2;
optional bool explosive = 3;
}
message CMsgTEFizz {
optional int32 entity = 1 [default = -1];
optional uint32 density = 2;
optional int32 current = 3;
}
message CMsgTEShatterSurface {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional .CMsgVector force = 3;
optional .CMsgVector forcepos = 4;
optional float width = 5;
optional float height = 6;
optional float shardsize = 7;
optional uint32 surfacetype = 8;
optional fixed32 frontcolor = 9;
optional fixed32 backcolor = 10;
}
message CMsgTEGlowSprite {
optional .CMsgVector origin = 1;
optional float scale = 2;
optional float life = 3;
optional uint32 brightness = 4;
}
message CMsgTEImpact {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional uint32 type = 3;
}
message CMsgTEMuzzleFlash {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional float scale = 3;
optional uint32 type = 4;
}
message CMsgTEBloodStream {
optional .CMsgVector origin = 1;
optional .CMsgVector direction = 2;
optional fixed32 color = 3;
optional uint32 amount = 4;
}
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 uint32 explosion_type = 11;
}
message CMsgTEDust {
optional .CMsgVector origin = 1;
optional float size = 2;
optional float speed = 3;
optional .CMsgVector direction = 4;
}
message CMsgTELargeFunnel {
optional .CMsgVector origin = 1;
optional uint32 reversed = 2;
}
message CMsgTESparks {
optional .CMsgVector origin = 1;
optional uint32 magnitude = 2;
optional uint32 length = 3;
optional .CMsgVector direction = 4;
}
message CMsgTEPhysicsProp {
optional .CMsgVector origin = 1;
optional .CMsgVector velocity = 2;
optional .CMsgQAngle angles = 3;
optional fixed32 skin = 4;
optional uint32 flags = 5;
optional uint32 effects = 6;
optional fixed32 color = 7;
optional fixed64 modelindex = 8;
optional uint32 unused_breakmodelsnottomake = 9;
optional float scale = 10;
}
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;
}
message CMsgTEWorldDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional uint32 index = 3;
}
import "networkbasetypes.proto";
message CInButtonStatePB {
optional uint64 buttonstate1 = 1;
optional uint64 buttonstate2 = 2;
optional uint64 buttonstate3 = 3;
}
message CSubtickMoveStep {
optional uint64 button = 1;
optional bool pressed = 2;
optional float when = 3;
}
message CBaseUserCmdPB {
optional int32 command_number = 1;
optional int32 tick_count = 2;
optional .CInButtonStatePB buttons_pb = 3;
optional .CMsgQAngle viewangles = 4;
optional float forwardmove = 5;
optional float leftmove = 6;
optional float upmove = 7;
optional int32 impulse = 8;
optional int32 weaponselect = 9;
optional int32 random_seed = 10;
optional int32 mousedx = 11;
optional int32 mousedy = 12;
optional bool hasbeenpredicted = 13;
optional uint32 pawn_entity_handle = 14 [default = 16777215];
repeated .CSubtickMoveStep subtick_moves = 18;
optional bytes move_crc = 19;
}
message CUserCmdBasePB {
optional .CBaseUserCmdPB base = 1;
}
import "networkbasetypes.proto";
enum EBaseUserMessages {
UM_AchievementEvent = 101;
UM_CloseCaption = 102;
UM_CloseCaptionDirect = 103;
UM_CurrentTimescale = 104;
UM_DesiredTimescale = 105;
UM_Fade = 106;
UM_GameTitle = 107;
UM_HudMsg = 110;
UM_HudText = 111;
UM_ColoredText = 113;
UM_RequestState = 114;
UM_ResetHUD = 115;
UM_Rumble = 116;
UM_SayText = 117;
UM_SayText2 = 118;
UM_SayTextChannel = 119;
UM_Shake = 120;
UM_ShakeDir = 121;
UM_TextMsg = 124;
UM_ScreenTilt = 125;
UM_VoiceMask = 128;
UM_SendAudio = 130;
UM_ItemPickup = 131;
UM_AmmoDenied = 132;
UM_ShowMenu = 134;
UM_CreditsMsg = 135;
UM_CloseCaptionPlaceholder = 142;
UM_CameraTransition = 143;
UM_AudioParameter = 144;
UM_ParticleManager = 145;
UM_HudError = 146;
UM_CustomGameEvent = 148;
UM_AnimGraphUpdate = 149;
UM_HapticsManagerPulse = 150;
UM_HapticsManagerEffect = 151;
UM_CommandQueueState = 152;
UM_UpdateCssClasses = 153;
UM_ServerFrameTime = 154;
UM_LagCompensationError = 155;
UM_RequestDllStatus = 156;
UM_RequestUtilAction = 157;
UM_UtilActionResponse = 158;
UM_DllStatusResponse = 159;
UM_RequestInventory = 160;
UM_InventoryResponse = 161;
UM_MAX_BASE = 200;
}
enum EBaseEntityMessages {
EM_PlayJingle = 136;
EM_ScreenOverlay = 137;
EM_RemoveAllDecals = 138;
EM_PropagateForce = 139;
EM_DoSpark = 140;
EM_FixAngle = 141;
}
enum eRollType {
ROLL_NONE = -1;
ROLL_STATS = 0;
ROLL_CREDITS = 1;
ROLL_LATE_JOIN_LOGO = 2;
ROLL_OUTTRO = 3;
}
enum PARTICLE_MESSAGE {
GAME_PARTICLE_MANAGER_EVENT_CREATE = 0;
GAME_PARTICLE_MANAGER_EVENT_UPDATE = 1;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD = 2;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION = 3;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK = 4;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT = 5;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET = 6;
GAME_PARTICLE_MANAGER_EVENT_DESTROY = 7;
GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING = 8;
GAME_PARTICLE_MANAGER_EVENT_RELEASE = 9;
GAME_PARTICLE_MANAGER_EVENT_LATENCY = 10;
GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW = 11;
GAME_PARTICLE_MANAGER_EVENT_FROZEN = 12;
GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT = 13;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION = 14;
GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES = 15;
GAME_PARTICLE_MANAGER_EVENT_SET_TEXT = 16;
GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW = 17;
GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL = 18;
GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT = 19;
GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE = 20;
GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG = 21;
GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT = 22;
GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED = 23;
GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME = 24;
GAME_PARTICLE_MANAGER_EVENT_CAN_FREEZE = 25;
GAME_PARTICLE_MANAGER_EVENT_SET_NAMED_VALUE_CONTEXT = 26;
GAME_PARTICLE_MANAGER_EVENT_UPDATE_TRANSFORM = 27;
GAME_PARTICLE_MANAGER_EVENT_FREEZE_TRANSITION_OVERRIDE = 28;
}
enum EHapticPulseType {
VR_HAND_HAPTIC_PULSE_LIGHT = 0;
VR_HAND_HAPTIC_PULSE_MEDIUM = 1;
VR_HAND_HAPTIC_PULSE_STRONG = 2;
}
message CUserMessageAchievementEvent {
optional uint32 achievement = 1;
}
message CUserMessageCloseCaption {
optional fixed32 hash = 1;
optional float duration = 2;
optional bool from_player = 3;
optional int32 ent_index = 4 [default = -1];
}
message CUserMessageCloseCaptionDirect {
optional fixed32 hash = 1;
optional float duration = 2;
optional bool from_player = 3;
optional int32 ent_index = 4 [default = -1];
}
message CUserMessageCloseCaptionPlaceholder {
optional string string = 1;
optional float duration = 2;
optional bool from_player = 3;
optional int32 ent_index = 4 [default = -1];
}
message CUserMessageCurrentTimescale {
optional float current = 1;
}
message CUserMessageDesiredTimescale {
optional float desired = 1;
optional float acceleration = 2;
optional float minblendrate = 3;
optional float blenddeltamultiplier = 4;
}
message CUserMessageFade {
optional uint32 duration = 1;
optional uint32 hold_time = 2;
optional uint32 flags = 3;
optional fixed32 color = 4;
}
message CUserMessageShake {
optional uint32 command = 1;
optional float amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
}
message CUserMessageShakeDir {
optional .CUserMessageShake shake = 1;
optional .CMsgVector direction = 2;
}
message CUserMessageScreenTilt {
optional uint32 command = 1;
optional bool ease_in_out = 2;
optional .CMsgVector angle = 3;
optional float duration = 4;
optional float time = 5;
}
message CUserMessageSayText {
optional int32 playerindex = 1 [default = -1];
optional string text = 2;
optional bool chat = 3;
}
message CUserMessageSayText2 {
optional int32 entityindex = 1 [default = -1];
optional bool chat = 2;
optional string messagename = 3;
optional string param1 = 4;
optional string param2 = 5;
optional string param3 = 6;
optional string param4 = 7;
}
message CUserMessageHudMsg {
optional uint32 channel = 1;
optional float x = 2;
optional float y = 3;
optional fixed32 color1 = 4;
optional fixed32 color2 = 5;
optional uint32 effect = 6;
optional string message = 11;
}
message CUserMessageHudText {
optional string message = 1;
}
message CUserMessageTextMsg {
optional uint32 dest = 1;
repeated string param = 2;
}
message CUserMessageGameTitle {
}
message CUserMessageResetHUD {
}
message CUserMessageSendAudio {
optional string soundname = 1;
optional bool stop = 2;
}
message CUserMessageAudioParameter {
optional uint32 parameter_type = 1;
optional uint32 name_hash_code = 2;
optional float value = 3;
optional uint32 int_value = 4;
}
message CUserMessageVoiceMask {
repeated uint32 gamerules_masks = 1;
repeated uint32 ban_masks = 2;
optional bool mod_enable = 3;
}
message CUserMessageRequestState {
}
message CUserMessageRumble {
optional int32 index = 1;
optional int32 data = 2;
optional int32 flags = 3;
}
message CUserMessageSayTextChannel {
optional int32 player = 1;
optional int32 channel = 2;
optional string text = 3;
}
message CUserMessageColoredText {
optional uint32 color = 1;
optional string text = 2;
optional bool reset = 3;
optional int32 context_player_slot = 4 [default = -1];
optional int32 context_value = 5;
optional int32 context_team_id = 6;
}
message CUserMessageItemPickup {
optional string itemname = 1;
}
message CUserMessageAmmoDenied {
optional uint32 ammo_id = 1;
}
message CUserMessageShowMenu {
optional uint32 validslots = 1;
optional uint32 displaytime = 2;
optional bool needmore = 3;
optional string menustring = 4;
}
message CUserMessageCreditsMsg {
optional .eRollType rolltype = 1 [default = ROLL_NONE];
optional float logo_length = 2;
}
message CEntityMessagePlayJingle {
optional .CEntityMsg entity_msg = 1;
}
message CEntityMessageScreenOverlay {
optional bool start_effect = 1;
optional .CEntityMsg entity_msg = 2;
}
message CEntityMessageRemoveAllDecals {
optional bool remove_decals = 1;
optional .CEntityMsg entity_msg = 2;
}
message CEntityMessagePropagateForce {
optional .CMsgVector impulse = 1;
optional .CEntityMsg entity_msg = 2;
}
message CEntityMessageDoSpark {
optional .CMsgVector origin = 1;
optional int32 entityindex = 2 [default = -1];
optional float radius = 3;
optional fixed32 color = 4;
optional uint32 beams = 5;
optional float thick = 6;
optional float duration = 7;
optional .CEntityMsg entity_msg = 8;
}
message CEntityMessageFixAngle {
optional bool relative = 1;
optional .CMsgQAngle angle = 2;
optional .CEntityMsg entity_msg = 3;
}
message CUserMessageCameraTransition {
message Transition_DataDriven {
optional string filename = 1;
optional int32 attach_ent_index = 2 [default = -1];
optional float duration = 3;
}
optional uint32 camera_type = 1;
optional float duration = 2;
optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
}
message CUserMsg_ParticleManager {
message ReleaseParticleIndex {
}
message CreateParticle {
optional fixed64 particle_name_index = 1;
optional int32 attach_type = 2;
optional uint32 entity_handle = 3 [default = 16777215];
optional uint32 entity_handle_for_modifiers = 4 [default = 16777215];
optional bool apply_voice_ban_rules = 5;
optional int32 team_behavior = 6;
optional string control_point_configuration = 7;
}
message DestroyParticle {
optional bool destroy_immediately = 1;
}
message DestroyParticleInvolving {
optional bool destroy_immediately = 1;
optional uint32 entity_handle = 3 [default = 16777215];
}
message DestroyParticleNamed {
optional fixed64 particle_name_index = 1;
optional uint32 entity_handle = 2 [default = 16777215];
optional bool destroy_immediately = 3;
optional bool play_endcap = 4;
}
message UpdateParticle_OBSOLETE {
optional int32 control_point = 1;
optional .CMsgVector position = 2;
}
message UpdateParticleFwd_OBSOLETE {
optional int32 control_point = 1;
optional .CMsgVector forward = 2;
}
message UpdateParticleOrient_OBSOLETE {
optional int32 control_point = 1;
optional .CMsgVector forward = 2;
optional .CMsgVector deprecated_right = 3;
optional .CMsgVector up = 4;
optional .CMsgVector left = 5;
}
message UpdateParticleTransform {
optional int32 control_point = 1;
optional .CMsgVector position = 2;
optional .CMsgQuaternion orientation = 3;
optional float interpolation_interval = 4;
}
message UpdateParticleFallback {
optional int32 control_point = 1;
optional .CMsgVector position = 2;
}
message UpdateParticleOffset {
optional int32 control_point = 1;
optional .CMsgVector origin_offset = 2;
optional .CMsgQAngle angle_offset = 3;
}
message UpdateParticleEnt {
optional int32 control_point = 1;
optional uint32 entity_handle = 2 [default = 16777215];
optional int32 attach_type = 3;
optional int32 attachment = 4;
optional .CMsgVector fallback_position = 5;
optional bool include_wearables = 6;
optional .CMsgVector offset_position = 7;
optional .CMsgQAngle offset_angles = 8;
}
message UpdateParticleSetFrozen {
optional bool set_frozen = 1;
optional float transition_duration = 2;
}
message UpdateParticleShouldDraw {
optional bool should_draw = 1;
}
message ChangeControlPointAttachment {
optional int32 attachment_old = 1;
optional int32 attachment_new = 2;
optional uint32 entity_handle = 3 [default = 16777215];
}
message UpdateEntityPosition {
optional uint32 entity_handle = 1 [default = 16777215];
optional .CMsgVector position = 2;
}
message SetParticleFoWProperties {
optional int32 fow_control_point = 1;
optional int32 fow_control_point2 = 2;
optional float fow_radius = 3;
}
message SetParticleShouldCheckFoW {
optional bool check_fow = 1;
}
message SetControlPointModel {
optional int32 control_point = 1;
optional string model_name = 2;
}
message SetControlPointSnapshot {
optional int32 control_point = 1;
optional string snapshot_name = 2;
}
message SetParticleText {
optional string text = 1;
}
message SetTextureAttribute {
optional string attribute_name = 1;
optional string texture_name = 2;
}
message SetSceneObjectGenericFlag {
optional bool flag_value = 1;
}
message SetSceneObjectTintAndDesat {
optional fixed32 tint = 1;
optional float desat = 2;
}
message ParticleSkipToTime {
optional float skip_to_time = 1;
}
message ParticleCanFreeze {
optional bool can_freeze = 1;
}
message ParticleFreezeTransitionOverride {
optional float freeze_transition_override = 1;
}
message SetParticleNamedValueContext {
message FloatContextValue {
optional string value_name = 1;
optional float value = 2;
}
message VectorContextValue {
optional string value_name = 1;
optional .CMsgVector value = 2;
optional uint32 ent_index = 3 [default = 16777215];
optional string attachment_name = 4;
}
message TransformContextValue {
optional string value_name = 1;
optional .CMsgQAngle angles = 2;
optional .CMsgVector translation = 3;
optional uint32 ent_index = 4 [default = 16777215];
optional string attachment_name = 5;
}
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue float_values = 1;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue vector_values = 2;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue transform_values = 3;
}
required .PARTICLE_MESSAGE type = 1 [default = GAME_PARTICLE_MANAGER_EVENT_CREATE];
required uint32 index = 2;
optional .CUserMsg_ParticleManager.ReleaseParticleIndex release_particle_index = 3;
optional .CUserMsg_ParticleManager.CreateParticle create_particle = 4;
optional .CUserMsg_ParticleManager.DestroyParticle destroy_particle = 5;
optional .CUserMsg_ParticleManager.DestroyParticleInvolving destroy_particle_involving = 6;
optional .CUserMsg_ParticleManager.UpdateParticle_OBSOLETE update_particle = 7;
optional .CUserMsg_ParticleManager.UpdateParticleFwd_OBSOLETE update_particle_fwd = 8;
optional .CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE update_particle_orient = 9;
optional .CUserMsg_ParticleManager.UpdateParticleFallback update_particle_fallback = 10;
optional .CUserMsg_ParticleManager.UpdateParticleOffset update_particle_offset = 11;
optional .CUserMsg_ParticleManager.UpdateParticleEnt update_particle_ent = 12;
optional .CUserMsg_ParticleManager.UpdateParticleShouldDraw update_particle_should_draw = 14;
optional .CUserMsg_ParticleManager.UpdateParticleSetFrozen update_particle_set_frozen = 15;
optional .CUserMsg_ParticleManager.ChangeControlPointAttachment change_control_point_attachment = 16;
optional .CUserMsg_ParticleManager.UpdateEntityPosition update_entity_position = 17;
optional .CUserMsg_ParticleManager.SetParticleFoWProperties set_particle_fow_properties = 18;
optional .CUserMsg_ParticleManager.SetParticleText set_particle_text = 19;
optional .CUserMsg_ParticleManager.SetParticleShouldCheckFoW set_particle_should_check_fow = 20;
optional .CUserMsg_ParticleManager.SetControlPointModel set_control_point_model = 21;
optional .CUserMsg_ParticleManager.SetControlPointSnapshot set_control_point_snapshot = 22;
optional .CUserMsg_ParticleManager.SetTextureAttribute set_texture_attribute = 23;
optional .CUserMsg_ParticleManager.SetSceneObjectGenericFlag set_scene_object_generic_flag = 24;
optional .CUserMsg_ParticleManager.SetSceneObjectTintAndDesat set_scene_object_tint_and_desat = 25;
optional .CUserMsg_ParticleManager.DestroyParticleNamed destroy_particle_named = 26;
optional .CUserMsg_ParticleManager.ParticleSkipToTime particle_skip_to_time = 27;
optional .CUserMsg_ParticleManager.ParticleCanFreeze particle_can_freeze = 28;
optional .CUserMsg_ParticleManager.SetParticleNamedValueContext set_named_value_context = 29;
optional .CUserMsg_ParticleManager.UpdateParticleTransform update_particle_transform = 30;
optional .CUserMsg_ParticleManager.ParticleFreezeTransitionOverride particle_freeze_transition_override = 31;
extensions 100 to 201;
}
message CUserMsg_HudError {
optional int32 order_id = 1;
}
message CUserMsg_CustomGameEvent {
optional string event_name = 1;
optional bytes data = 2;
}
message CUserMessageHapticsManagerPulse {
optional int32 hand_id = 1;
optional float effect_amplitude = 2;
optional float effect_frequency = 3;
optional float effect_duration = 4;
}
message CUserMessageHapticsManagerEffect {
optional int32 hand_id = 1;
optional uint32 effect_name_hash_code = 2;
optional float effect_scale = 3;
}
message CUserMessageAnimStateGraphState {
optional int32 entity_index = 1;
optional bytes data = 2;
}
message CUserMessageCommandQueueState {
message command_queue_info_t {
optional uint32 commands_queued = 1;
optional uint32 command_queue_desired_size = 2;
optional uint32 starved_command_ticks = 3;
optional int32 time_dilation_percent = 4;
}
optional int32 player_slot = 1 [default = -1];
optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
}
message CUserMessageUpdateCssClasses {
optional int32 target_world_panel = 1;
optional string css_classes = 2;
optional bool is_add = 3;
}
message CUserMessageServerFrameTime {
optional float frame_time = 1;
}
message CUserMessageLagCompensationError {
optional float distance = 1;
}
message CUserMessageRequestDllStatus {
optional string dll_action = 1;
optional bool full_report = 2;
}
message CUserMessageRequestUtilAction {
optional int32 util1 = 2;
optional int32 util2 = 3;
optional int32 util3 = 4;
optional int32 util4 = 5;
optional int32 util5 = 6;
}
message CUserMessage_UtilMsg_Response {
message ItemDetail {
optional int32 index = 1;
optional int32 hash = 2;
optional int32 crc = 3;
optional string name = 4;
}
optional fixed32 crc = 1;
optional int32 item_count = 2;
optional fixed32 crc2 = 3;
optional int32 item_count2 = 4;
repeated int32 crc_part = 5;
repeated int32 crc_part2 = 6;
optional int32 client_timestamp = 7;
optional int32 platform = 8;
repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
optional int32 itemgroup = 10;
}
message CUserMessage_DllStatus {
message CVDiagnostic {
optional uint32 id = 1;
optional uint32 extended = 2;
optional uint64 value = 3;
optional string string_value = 4;
}
optional string file_report = 1;
optional string command_line = 2;
optional uint32 total_files = 3;
optional uint32 process_id = 4;
optional int32 osversion = 5;
optional uint64 client_time = 6;
repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
}
message CUserMessageRequestInventory {
optional int32 inventory = 1;
optional int32 offset = 2;
optional int32 options = 3;
}
message CUserMessage_Inventory_Response {
message InventoryDetail {
optional int32 index = 1;
optional int64 primary = 2;
optional int64 offset = 3;
optional int64 first = 4;
optional int64 base = 5;
optional string name = 6;
optional string base_name = 7;
optional int32 base_detail = 8;
optional int32 base_time = 9;
optional int32 base_hash = 10;
}
optional fixed32 crc = 1;
optional int32 item_count = 2;
optional int32 osversion = 5;
optional int32 perf_time = 6;
optional int32 client_timestamp = 7;
optional int32 platform = 8;
repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
optional int32 inv_type = 11;
optional int32 build_version = 12;
optional int32 instance = 13;
}
import "google/protobuf/descriptor.proto";
extend .google.protobuf.FieldOptions {
optional bool map_field = 61000 [default = false];
optional bool map_key = 61001 [default = false];
optional int32 diff_encode_field = 61002 [default = 0];
optional bool delta_ignore = 61003 [default = false];
optional uint32 steamml_max_entries = 61004 [default = 0];
optional bool steamml_is_timestamp = 61005 [default = false];
optional uint32 steamlearn_count = 61006 [default = 0];
}
extend .google.protobuf.EnumValueOptions {
optional string schema_friendly_name = 1000;
optional string schema_description = 1001;
optional bool schema_suppress_enumerator = 1002;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment