Initial version

This commit is contained in:
Lol3rrr
2024-09-15 05:09:15 +02:00
commit c7aa4dbe8c
489 changed files with 124650 additions and 0 deletions

View File

@@ -0,0 +1,571 @@
import "steammessages.proto";
enum EGCBaseMsg {
k_EMsgGCSystemMessage = 4001;
k_EMsgGCReplicateConVars = 4002;
k_EMsgGCConVarUpdated = 4003;
k_EMsgGCInQueue = 4008;
k_EMsgGCInviteToParty = 4501;
k_EMsgGCInvitationCreated = 4502;
k_EMsgGCPartyInviteResponse = 4503;
k_EMsgGCKickFromParty = 4504;
k_EMsgGCLeaveParty = 4505;
k_EMsgGCServerAvailable = 4506;
k_EMsgGCClientConnectToServer = 4507;
k_EMsgGCGameServerInfo = 4508;
k_EMsgGCError = 4509;
k_EMsgGCReplay_UploadedToYouTube = 4510;
k_EMsgGCLANServerAvailable = 4511;
}
enum EGCBaseProtoObjectTypes {
k_EProtoObjectPartyInvite = 1001;
k_EProtoObjectLobbyInvite = 1002;
}
enum GC_BannedWordType {
GC_BANNED_WORD_DISABLE_WORD = 0;
GC_BANNED_WORD_ENABLE_WORD = 1;
}
message CGCStorePurchaseInit_LineItem {
optional uint32 item_def_id = 1;
optional uint32 quantity = 2;
optional uint32 cost_in_local_currency = 3;
optional uint32 purchase_type = 4;
optional uint64 supplemental_data = 5;
}
message CMsgGCStorePurchaseInit {
optional string country = 1;
optional int32 language = 2;
optional int32 currency = 3;
repeated .CGCStorePurchaseInit_LineItem line_items = 4;
}
message CMsgGCStorePurchaseInitResponse {
optional int32 result = 1;
optional uint64 txn_id = 2;
optional string url = 3;
repeated uint64 item_ids = 4;
}
message CSOPartyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CSOLobbyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CMsgSystemBroadcast {
optional string message = 1;
}
message CMsgInviteToParty {
optional fixed64 steam_id = 1;
optional uint32 client_version = 2;
optional uint32 team_invite = 3;
}
message CMsgInvitationCreated {
optional uint64 group_id = 1;
optional fixed64 steam_id = 2;
}
message CMsgPartyInviteResponse {
optional uint64 party_id = 1;
optional bool accept = 2;
optional uint32 client_version = 3;
optional uint32 team_invite = 4;
}
message CMsgKickFromParty {
optional fixed64 steam_id = 1;
}
message CMsgLeaveParty {
}
message CMsgServerAvailable {
}
message CMsgLANServerAvailable {
optional fixed64 lobby_id = 1;
}
message CSOEconGameAccountClient {
optional uint32 additional_backpack_slots = 1 [default = 0];
optional fixed32 bonus_xp_timestamp_refresh = 12;
optional uint32 bonus_xp_usedflags = 13;
optional uint32 elevated_state = 14;
optional uint32 elevated_timestamp = 15;
}
message CSOItemCriteriaCondition {
optional int32 op = 1;
optional string field = 2;
optional bool required = 3;
optional float float_value = 4;
optional string string_value = 5;
}
message CSOItemCriteria {
optional uint32 item_level = 1;
optional int32 item_quality = 2;
optional bool item_level_set = 3;
optional bool item_quality_set = 4;
optional uint32 initial_inventory = 5;
optional uint32 initial_quantity = 6;
optional bool ignore_enabled_flag = 8;
repeated .CSOItemCriteriaCondition conditions = 9;
optional int32 item_rarity = 10;
optional bool item_rarity_set = 11;
optional bool recent_only = 12;
}
message CSOItemRecipe {
optional uint32 def_index = 1;
optional string name = 2;
optional string n_a = 3;
optional string desc_inputs = 4;
optional string desc_outputs = 5;
optional string di_a = 6;
optional string di_b = 7;
optional string di_c = 8;
optional string do_a = 9;
optional string do_b = 10;
optional string do_c = 11;
optional bool requires_all_same_class = 12;
optional bool requires_all_same_slot = 13;
optional int32 class_usage_for_output = 14;
optional int32 slot_usage_for_output = 15;
optional int32 set_for_output = 16;
repeated .CSOItemCriteria input_items_criteria = 20;
repeated .CSOItemCriteria output_items_criteria = 21;
repeated uint32 input_item_dupe_counts = 22;
}
message CMsgDevNewItemRequest {
optional fixed64 receiver = 1;
optional .CSOItemCriteria criteria = 2;
}
message CMsgIncrementKillCountAttribute {
optional fixed32 killer_account_id = 1;
optional fixed32 victim_account_id = 2;
optional uint64 item_id = 3;
optional uint32 event_type = 4;
optional uint32 amount = 5;
}
message CMsgApplySticker {
optional uint64 sticker_item_id = 1;
optional uint64 item_item_id = 2;
optional uint32 sticker_slot = 3;
optional uint32 baseitem_defidx = 4;
optional float sticker_wear = 5;
optional float sticker_rotation = 6;
optional float sticker_scale = 7;
optional float sticker_offset_x = 8;
optional float sticker_offset_y = 9;
}
message CMsgModifyItemAttribute {
optional uint64 item_id = 1;
optional uint32 attr_defidx = 2;
optional uint32 attr_value = 3;
}
message CMsgApplyStatTrakSwap {
optional uint64 tool_item_id = 1;
optional uint64 item_1_item_id = 2;
optional uint64 item_2_item_id = 3;
}
message CMsgApplyStrangePart {
optional uint64 strange_part_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgApplyPennantUpgrade {
optional uint64 upgrade_item_id = 1;
optional uint64 pennant_item_id = 2;
}
message CMsgApplyEggEssence {
optional uint64 essence_item_id = 1;
optional uint64 egg_item_id = 2;
}
message CSOEconItemAttribute {
optional uint32 def_index = 1;
optional uint32 value = 2;
optional bytes value_bytes = 3;
}
message CSOEconItemEquipped {
optional uint32 new_class = 1;
optional uint32 new_slot = 2;
}
message CSOEconItem {
optional uint64 id = 1;
optional uint32 account_id = 2;
optional uint32 inventory = 3;
optional uint32 def_index = 4;
optional uint32 quantity = 5;
optional uint32 level = 6;
optional uint32 quality = 7;
optional uint32 flags = 8 [default = 0];
optional uint32 origin = 9;
optional string custom_name = 10;
optional string custom_desc = 11;
repeated .CSOEconItemAttribute attribute = 12;
optional .CSOEconItem interior_item = 13;
optional bool in_use = 14 [default = false];
optional uint32 style = 15 [default = 0];
optional uint64 original_id = 16 [default = 0];
repeated .CSOEconItemEquipped equipped_state = 18;
optional uint32 rarity = 19;
}
message CMsgAdjustItemEquippedState {
optional uint64 item_id = 1;
optional uint32 new_class = 2;
optional uint32 new_slot = 3;
optional bool swap = 4;
}
message CMsgAdjustItemEquippedStateMulti {
repeated uint64 t_equips = 1;
repeated uint64 ct_equips = 2;
repeated uint64 noteam_equips = 3;
}
message CMsgSortItems {
optional uint32 sort_type = 1;
}
message CSOEconClaimCode {
optional uint32 account_id = 1;
optional uint32 code_type = 2;
optional uint32 time_acquired = 3;
optional string code = 4;
}
message CMsgStoreGetUserData {
optional fixed32 price_sheet_version = 1;
optional int32 currency = 2;
}
message CMsgStoreGetUserDataResponse {
optional int32 result = 1;
optional int32 currency_deprecated = 2;
optional string country_deprecated = 3;
optional fixed32 price_sheet_version = 4;
optional bytes price_sheet = 8;
}
message CMsgUpdateItemSchema {
optional bytes items_game = 1;
optional fixed32 item_schema_version = 2;
optional string items_game_url = 4;
}
message CMsgGCError {
optional string error_text = 1;
}
message CMsgRequestInventoryRefresh {
}
message CMsgConVarValue {
optional string name = 1;
optional string value = 2;
}
message CMsgReplicateConVars {
repeated .CMsgConVarValue convars = 1;
}
message CMsgUseItem {
optional uint64 item_id = 1;
optional fixed64 target_steam_id = 2;
repeated uint32 gift__potential_targets = 3;
optional uint32 duel__class_lock = 4;
optional fixed64 initiator_steam_id = 5;
}
message CMsgReplayUploadedToYouTube {
optional string youtube_url = 1;
optional string youtube_account_name = 2;
optional uint64 session_id = 3;
}
message CMsgConsumableExhausted {
optional int32 item_def_id = 1;
}
message CMsgItemAcknowledged__DEPRECATED {
optional uint32 account_id = 1;
optional uint32 inventory = 2;
optional uint32 def_index = 3;
optional uint32 quality = 4;
optional uint32 rarity = 5;
optional uint32 origin = 6;
optional uint64 item_id = 7;
}
message CMsgSetItemPositions {
message ItemPosition {
optional uint32 legacy_item_id = 1;
optional uint32 position = 2;
optional uint64 item_id = 3;
}
repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
}
message CMsgGCReportAbuse {
optional fixed64 target_steam_id = 1;
optional string description = 4;
optional uint64 gid = 5;
optional uint32 abuse_type = 2;
optional uint32 content_type = 3;
optional fixed32 target_game_server_ip = 6;
optional uint32 target_game_server_port = 7;
}
message CMsgGCReportAbuseResponse {
optional fixed64 target_steam_id = 1;
optional uint32 result = 2;
optional string error_message = 3;
}
message CMsgGCNameItemNotification {
optional fixed64 player_steamid = 1;
optional uint32 item_def_index = 2;
optional string item_name_custom = 3;
}
message CMsgGCClientDisplayNotification {
optional string notification_title_localization_key = 1;
optional string notification_body_localization_key = 2;
repeated string body_substring_keys = 3;
repeated string body_substring_values = 4;
}
message CMsgGCShowItemsPickedUp {
optional fixed64 player_steamid = 1;
}
message CMsgGCIncrementKillCountResponse {
optional uint32 killer_account_id = 1 [(key_field) = true];
optional uint32 num_kills = 2;
optional uint32 item_def = 3;
optional uint32 level_type = 4;
}
message CSOEconItemDropRateBonus {
optional uint32 account_id = 1;
optional fixed32 expiration_date = 2;
optional float bonus = 3;
optional uint32 bonus_count = 4;
optional uint64 item_id = 5;
optional uint32 def_index = 6;
}
message CSOEconItemLeagueViewPass {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 league_id = 2 [(key_field) = true];
optional uint32 admin = 3;
optional uint32 itemindex = 4;
}
message CSOEconItemEventTicket {
optional uint32 account_id = 1;
optional uint32 event_id = 2;
optional uint64 item_id = 3;
}
message CMsgGCItemPreviewItemBoughtNotification {
optional uint32 item_def_index = 1;
}
message CMsgGCStorePurchaseCancel {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseCancelResponse {
optional uint32 result = 1;
}
message CMsgGCStorePurchaseFinalize {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseFinalizeResponse {
optional uint32 result = 1;
repeated uint64 item_ids = 2;
}
message CMsgGCBannedWordListRequest {
optional uint32 ban_list_group_id = 1;
optional uint32 word_id = 2;
}
message CMsgGCRequestAnnouncements {
}
message CMsgGCRequestAnnouncementsResponse {
optional string announcement_title = 1;
optional string announcement = 2;
optional string nextmatch_title = 3;
optional string nextmatch = 4;
}
message CMsgGCBannedWord {
optional uint32 word_id = 1;
optional .GC_BannedWordType word_type = 2 [default = GC_BANNED_WORD_DISABLE_WORD];
optional string word = 3;
}
message CMsgGCBannedWordListResponse {
optional uint32 ban_list_group_id = 1;
repeated .CMsgGCBannedWord word_list = 2;
}
message CMsgGCToGCBannedWordListBroadcast {
optional .CMsgGCBannedWordListResponse broadcast = 1;
}
message CMsgGCToGCBannedWordListUpdated {
optional uint32 group_id = 1;
}
message CSOEconDefaultEquippedDefinitionInstanceClient {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 item_definition = 2;
optional uint32 class_id = 3 [(key_field) = true];
optional uint32 slot_id = 4 [(key_field) = true];
}
message CMsgGCToGCDirtySDOCache {
optional uint32 sdo_type = 1;
optional uint64 key_uint64 = 2;
}
message CMsgGCToGCDirtyMultipleSDOCache {
optional uint32 sdo_type = 1;
repeated uint64 key_uint64 = 2;
}
message CMsgGCCollectItem {
optional uint64 collection_item_id = 1;
optional uint64 subject_item_id = 2;
}
message CMsgSDONoMemcached {
}
message CMsgGCToGCUpdateSQLKeyValue {
optional string key_name = 1;
}
message CMsgGCToGCIsTrustedServer {
optional fixed64 steam_id = 1;
}
message CMsgGCToGCIsTrustedServerResponse {
optional bool is_trusted = 1;
}
message CMsgGCToGCBroadcastConsoleCommand {
optional string con_command = 1;
}
message CMsgGCServerVersionUpdated {
optional uint32 server_version = 1;
}
message CMsgGCClientVersionUpdated {
optional uint32 client_version = 1;
}
message CMsgGCToGCWebAPIAccountChanged {
}
message CMsgGCToGCRequestPassportItemGrant {
optional fixed64 steam_id = 1;
optional uint32 league_id = 2;
optional int32 reward_flag = 3;
}
message CMsgGameServerInfo {
enum ServerType {
UNSPECIFIED = 0;
GAME = 1;
PROXY = 2;
}
optional fixed32 server_public_ip_addr = 1;
optional fixed32 server_private_ip_addr = 2;
optional uint32 server_port = 3;
optional uint32 server_tv_port = 4;
optional string server_key = 5;
optional bool server_hibernation = 6;
optional .CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED];
optional uint32 server_region = 8;
optional float server_loadavg = 9;
optional float server_tv_broadcast_time = 10;
optional float server_game_time = 11;
optional fixed64 server_relay_connected_steam_id = 12;
optional uint32 relay_slots_max = 13;
optional int32 relays_connected = 14;
optional int32 relay_clients_connected = 15;
optional fixed64 relayed_game_server_steam_id = 16;
optional uint32 parent_relay_count = 17;
optional fixed64 tv_secret_code = 18;
}
message CSOEconEquipSlot {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 class_id = 2 [(key_field) = true];
optional uint32 slot_id = 3 [(key_field) = true];
optional uint64 item_id = 4;
optional uint32 item_definition = 5;
}
message CMsgAdjustEquipSlot {
optional uint32 class_id = 1;
optional uint32 slot_id = 2;
optional uint64 item_id = 3;
}
message CMsgAdjustEquipSlots {
repeated .CMsgAdjustEquipSlot slots = 1;
optional uint32 change_num = 2;
}
message CMsgOpenCrate {
optional uint64 tool_item_id = 1;
optional uint64 subject_item_id = 2;
optional bool for_rental = 3;
}
message CSOEconRentalHistory {
optional uint32 account_id = 1 [(key_field) = true];
optional uint64 crate_item_id = 2 [(key_field) = true];
optional uint32 crate_def_index = 3;
optional uint32 issue_date = 4;
optional uint32 expiration_date = 5;
}
message CMsgAcknowledgeRentalExpiration {
optional uint64 crate_item_id = 1;
}

View File

@@ -0,0 +1,547 @@
import "steammessages.proto";
enum EGCBaseMsg {
k_EMsgGCSystemMessage = 4001;
k_EMsgGCReplicateConVars = 4002;
k_EMsgGCConVarUpdated = 4003;
k_EMsgGCInQueue = 4008;
k_EMsgGCInviteToParty = 4501;
k_EMsgGCInvitationCreated = 4502;
k_EMsgGCPartyInviteResponse = 4503;
k_EMsgGCKickFromParty = 4504;
k_EMsgGCLeaveParty = 4505;
k_EMsgGCServerAvailable = 4506;
k_EMsgGCClientConnectToServer = 4507;
k_EMsgGCGameServerInfo = 4508;
k_EMsgGCError = 4509;
k_EMsgGCReplay_UploadedToYouTube = 4510;
k_EMsgGCLANServerAvailable = 4511;
}
enum EGCBaseProtoObjectTypes {
k_EProtoObjectPartyInvite = 1001;
k_EProtoObjectLobbyInvite = 1002;
}
enum GC_BannedWordType {
GC_BANNED_WORD_DISABLE_WORD = 0;
GC_BANNED_WORD_ENABLE_WORD = 1;
}
message CGCStorePurchaseInit_LineItem {
optional uint32 item_def_id = 1;
optional uint32 quantity = 2;
optional uint32 cost_in_local_currency = 3;
optional uint32 purchase_type = 4;
}
message CMsgGCStorePurchaseInit {
optional string country = 1;
optional int32 language = 2;
optional int32 currency = 3;
repeated .CGCStorePurchaseInit_LineItem line_items = 4;
}
message CMsgGCStorePurchaseInitResponse {
optional int32 result = 1;
optional uint64 txn_id = 2;
optional string url = 3;
repeated uint64 item_ids = 4;
}
message CSOPartyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CSOLobbyInvite {
optional uint64 group_id = 1 [(key_field) = true];
optional fixed64 sender_id = 2;
optional string sender_name = 3;
}
message CMsgSystemBroadcast {
optional string message = 1;
}
message CMsgInviteToParty {
optional fixed64 steam_id = 1;
optional uint32 client_version = 2;
optional uint32 team_invite = 3;
}
message CMsgInvitationCreated {
optional uint64 group_id = 1;
optional fixed64 steam_id = 2;
}
message CMsgPartyInviteResponse {
optional uint64 party_id = 1;
optional bool accept = 2;
optional uint32 client_version = 3;
optional uint32 team_invite = 4;
}
message CMsgKickFromParty {
optional fixed64 steam_id = 1;
}
message CMsgLeaveParty {
}
message CMsgServerAvailable {
}
message CMsgLANServerAvailable {
optional fixed64 lobby_id = 1;
}
message CSOEconGameAccountClient {
optional uint32 additional_backpack_slots = 1 [default = 0];
optional fixed32 bonus_xp_timestamp_refresh = 12;
optional uint32 bonus_xp_usedflags = 13;
optional uint32 elevated_state = 14;
optional uint32 elevated_timestamp = 15;
}
message CSOItemCriteriaCondition {
optional int32 op = 1;
optional string field = 2;
optional bool required = 3;
optional float float_value = 4;
optional string string_value = 5;
}
message CSOItemCriteria {
optional uint32 item_level = 1;
optional int32 item_quality = 2;
optional bool item_level_set = 3;
optional bool item_quality_set = 4;
optional uint32 initial_inventory = 5;
optional uint32 initial_quantity = 6;
optional bool ignore_enabled_flag = 8;
repeated .CSOItemCriteriaCondition conditions = 9;
optional int32 item_rarity = 10;
optional bool item_rarity_set = 11;
optional bool recent_only = 12;
}
message CSOItemRecipe {
optional uint32 def_index = 1;
optional string name = 2;
optional string n_a = 3;
optional string desc_inputs = 4;
optional string desc_outputs = 5;
optional string di_a = 6;
optional string di_b = 7;
optional string di_c = 8;
optional string do_a = 9;
optional string do_b = 10;
optional string do_c = 11;
optional bool requires_all_same_class = 12;
optional bool requires_all_same_slot = 13;
optional int32 class_usage_for_output = 14;
optional int32 slot_usage_for_output = 15;
optional int32 set_for_output = 16;
repeated .CSOItemCriteria input_items_criteria = 20;
repeated .CSOItemCriteria output_items_criteria = 21;
repeated uint32 input_item_dupe_counts = 22;
}
message CMsgDevNewItemRequest {
optional fixed64 receiver = 1;
optional .CSOItemCriteria criteria = 2;
}
message CMsgIncrementKillCountAttribute {
optional fixed32 killer_account_id = 1;
optional fixed32 victim_account_id = 2;
optional uint64 item_id = 3;
optional uint32 event_type = 4;
optional uint32 amount = 5;
}
message CMsgApplySticker {
optional uint64 sticker_item_id = 1;
optional uint64 item_item_id = 2;
optional uint32 sticker_slot = 3;
optional uint32 baseitem_defidx = 4;
optional float sticker_wear = 5;
}
message CMsgModifyItemAttribute {
optional uint64 item_id = 1;
optional uint32 attr_defidx = 2;
optional uint32 attr_value = 3;
}
message CMsgApplyStatTrakSwap {
optional uint64 tool_item_id = 1;
optional uint64 item_1_item_id = 2;
optional uint64 item_2_item_id = 3;
}
message CMsgApplyStrangePart {
optional uint64 strange_part_item_id = 1;
optional uint64 item_item_id = 2;
}
message CMsgApplyPennantUpgrade {
optional uint64 upgrade_item_id = 1;
optional uint64 pennant_item_id = 2;
}
message CMsgApplyEggEssence {
optional uint64 essence_item_id = 1;
optional uint64 egg_item_id = 2;
}
message CSOEconItemAttribute {
optional uint32 def_index = 1;
optional uint32 value = 2;
optional bytes value_bytes = 3;
}
message CSOEconItemEquipped {
optional uint32 new_class = 1;
optional uint32 new_slot = 2;
}
message CSOEconItem {
optional uint64 id = 1;
optional uint32 account_id = 2;
optional uint32 inventory = 3;
optional uint32 def_index = 4;
optional uint32 quantity = 5;
optional uint32 level = 6;
optional uint32 quality = 7;
optional uint32 flags = 8 [default = 0];
optional uint32 origin = 9;
optional string custom_name = 10;
optional string custom_desc = 11;
repeated .CSOEconItemAttribute attribute = 12;
optional .CSOEconItem interior_item = 13;
optional bool in_use = 14 [default = false];
optional uint32 style = 15 [default = 0];
optional uint64 original_id = 16 [default = 0];
repeated .CSOEconItemEquipped equipped_state = 18;
optional uint32 rarity = 19;
}
message CMsgAdjustItemEquippedState {
optional uint64 item_id = 1;
optional uint32 new_class = 2;
optional uint32 new_slot = 3;
optional bool swap = 4;
}
message CMsgAdjustItemEquippedStateMulti {
repeated uint64 t_equips = 1;
repeated uint64 ct_equips = 2;
repeated uint64 noteam_equips = 3;
}
message CMsgSortItems {
optional uint32 sort_type = 1;
}
message CSOEconClaimCode {
optional uint32 account_id = 1;
optional uint32 code_type = 2;
optional uint32 time_acquired = 3;
optional string code = 4;
}
message CMsgStoreGetUserData {
optional fixed32 price_sheet_version = 1;
optional int32 currency = 2;
}
message CMsgStoreGetUserDataResponse {
optional int32 result = 1;
optional int32 currency_deprecated = 2;
optional string country_deprecated = 3;
optional fixed32 price_sheet_version = 4;
optional bytes price_sheet = 8;
}
message CMsgUpdateItemSchema {
optional bytes items_game = 1;
optional fixed32 item_schema_version = 2;
optional string items_game_url = 4;
}
message CMsgGCError {
optional string error_text = 1;
}
message CMsgRequestInventoryRefresh {
}
message CMsgConVarValue {
optional string name = 1;
optional string value = 2;
}
message CMsgReplicateConVars {
repeated .CMsgConVarValue convars = 1;
}
message CMsgUseItem {
optional uint64 item_id = 1;
optional fixed64 target_steam_id = 2;
repeated uint32 gift__potential_targets = 3;
optional uint32 duel__class_lock = 4;
optional fixed64 initiator_steam_id = 5;
}
message CMsgReplayUploadedToYouTube {
optional string youtube_url = 1;
optional string youtube_account_name = 2;
optional uint64 session_id = 3;
}
message CMsgConsumableExhausted {
optional int32 item_def_id = 1;
}
message CMsgItemAcknowledged__DEPRECATED {
optional uint32 account_id = 1;
optional uint32 inventory = 2;
optional uint32 def_index = 3;
optional uint32 quality = 4;
optional uint32 rarity = 5;
optional uint32 origin = 6;
optional uint64 item_id = 7;
}
message CMsgSetItemPositions {
message ItemPosition {
optional uint32 legacy_item_id = 1;
optional uint32 position = 2;
optional uint64 item_id = 3;
}
repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
}
message CMsgGCReportAbuse {
optional fixed64 target_steam_id = 1;
optional string description = 4;
optional uint64 gid = 5;
optional uint32 abuse_type = 2;
optional uint32 content_type = 3;
optional fixed32 target_game_server_ip = 6;
optional uint32 target_game_server_port = 7;
}
message CMsgGCReportAbuseResponse {
optional fixed64 target_steam_id = 1;
optional uint32 result = 2;
optional string error_message = 3;
}
message CMsgGCNameItemNotification {
optional fixed64 player_steamid = 1;
optional uint32 item_def_index = 2;
optional string item_name_custom = 3;
}
message CMsgGCClientDisplayNotification {
optional string notification_title_localization_key = 1;
optional string notification_body_localization_key = 2;
repeated string body_substring_keys = 3;
repeated string body_substring_values = 4;
}
message CMsgGCShowItemsPickedUp {
optional fixed64 player_steamid = 1;
}
message CMsgGCIncrementKillCountResponse {
optional uint32 killer_account_id = 1 [(key_field) = true];
optional uint32 num_kills = 2;
optional uint32 item_def = 3;
optional uint32 level_type = 4;
}
message CSOEconItemDropRateBonus {
optional uint32 account_id = 1;
optional fixed32 expiration_date = 2;
optional float bonus = 3;
optional uint32 bonus_count = 4;
optional uint64 item_id = 5;
optional uint32 def_index = 6;
}
message CSOEconItemLeagueViewPass {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 league_id = 2 [(key_field) = true];
optional uint32 admin = 3;
optional uint32 itemindex = 4;
}
message CSOEconItemEventTicket {
optional uint32 account_id = 1;
optional uint32 event_id = 2;
optional uint64 item_id = 3;
}
message CMsgGCItemPreviewItemBoughtNotification {
optional uint32 item_def_index = 1;
}
message CMsgGCStorePurchaseCancel {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseCancelResponse {
optional uint32 result = 1;
}
message CMsgGCStorePurchaseFinalize {
optional uint64 txn_id = 1;
}
message CMsgGCStorePurchaseFinalizeResponse {
optional uint32 result = 1;
repeated uint64 item_ids = 2;
}
message CMsgGCBannedWordListRequest {
optional uint32 ban_list_group_id = 1;
optional uint32 word_id = 2;
}
message CMsgGCRequestAnnouncements {
}
message CMsgGCRequestAnnouncementsResponse {
optional string announcement_title = 1;
optional string announcement = 2;
optional string nextmatch_title = 3;
optional string nextmatch = 4;
}
message CMsgGCBannedWord {
optional uint32 word_id = 1;
optional .GC_BannedWordType word_type = 2 [default = GC_BANNED_WORD_DISABLE_WORD];
optional string word = 3;
}
message CMsgGCBannedWordListResponse {
optional uint32 ban_list_group_id = 1;
repeated .CMsgGCBannedWord word_list = 2;
}
message CMsgGCToGCBannedWordListBroadcast {
optional .CMsgGCBannedWordListResponse broadcast = 1;
}
message CMsgGCToGCBannedWordListUpdated {
optional uint32 group_id = 1;
}
message CSOEconDefaultEquippedDefinitionInstanceClient {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 item_definition = 2;
optional uint32 class_id = 3 [(key_field) = true];
optional uint32 slot_id = 4 [(key_field) = true];
}
message CMsgGCToGCDirtySDOCache {
optional uint32 sdo_type = 1;
optional uint64 key_uint64 = 2;
}
message CMsgGCToGCDirtyMultipleSDOCache {
optional uint32 sdo_type = 1;
repeated uint64 key_uint64 = 2;
}
message CMsgGCCollectItem {
optional uint64 collection_item_id = 1;
optional uint64 subject_item_id = 2;
}
message CMsgSDONoMemcached {
}
message CMsgGCToGCUpdateSQLKeyValue {
optional string key_name = 1;
}
message CMsgGCToGCIsTrustedServer {
optional fixed64 steam_id = 1;
}
message CMsgGCToGCIsTrustedServerResponse {
optional bool is_trusted = 1;
}
message CMsgGCToGCBroadcastConsoleCommand {
optional string con_command = 1;
}
message CMsgGCServerVersionUpdated {
optional uint32 server_version = 1;
}
message CMsgGCClientVersionUpdated {
optional uint32 client_version = 1;
}
message CMsgGCToGCWebAPIAccountChanged {
}
message CMsgGCToGCRequestPassportItemGrant {
optional fixed64 steam_id = 1;
optional uint32 league_id = 2;
optional int32 reward_flag = 3;
}
message CMsgGameServerInfo {
enum ServerType {
UNSPECIFIED = 0;
GAME = 1;
PROXY = 2;
}
optional fixed32 server_public_ip_addr = 1;
optional fixed32 server_private_ip_addr = 2;
optional uint32 server_port = 3;
optional uint32 server_tv_port = 4;
optional string server_key = 5;
optional bool server_hibernation = 6;
optional .CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED];
optional uint32 server_region = 8;
optional float server_loadavg = 9;
optional float server_tv_broadcast_time = 10;
optional float server_game_time = 11;
optional fixed64 server_relay_connected_steam_id = 12;
optional uint32 relay_slots_max = 13;
optional int32 relays_connected = 14;
optional int32 relay_clients_connected = 15;
optional fixed64 relayed_game_server_steam_id = 16;
optional uint32 parent_relay_count = 17;
optional fixed64 tv_secret_code = 18;
}
message CSOEconEquipSlot {
optional uint32 account_id = 1 [(key_field) = true];
optional uint32 class_id = 2 [(key_field) = true];
optional uint32 slot_id = 3 [(key_field) = true];
optional uint64 item_id = 4;
optional uint32 item_definition = 5;
}
message CMsgAdjustEquipSlot {
optional uint32 class_id = 1;
optional uint32 slot_id = 2;
optional uint64 item_id = 3;
}
message CMsgAdjustEquipSlots {
repeated .CMsgAdjustEquipSlot slots = 1;
}

View File

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

View File

@@ -0,0 +1,53 @@
enum EBaseClientMessages {
CM_CustomGameEvent = 280;
CM_CustomGameEventBounce = 281;
CM_ClientUIEvent = 282;
CM_DevPaletteVisibilityChanged = 283;
CM_WorldUIControllerHasPanelChanged = 284;
CM_RotateAnchor = 285;
CM_ListenForResponseFound = 286;
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;
}
message CClientMsg_ListenForResponseFound {
optional int32 player_slot = 1 [default = -1];
}

View File

@@ -0,0 +1,17 @@
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;
}
message C2S_CONNECTION_Message {
optional string addon_name = 1;
}

View File

@@ -0,0 +1,35 @@
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;
optional .CMsgVector ent_origin = 13;
optional uint32 num_bullets_remaining = 14;
optional uint32 attack_type = 15;
}

View File

@@ -0,0 +1,35 @@
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 int32 render_tick_count = 4;
optional float render_tick_fraction = 5;
optional int32 player_tick_count = 6;
optional float player_tick_fraction = 7;
optional .CSGOInterpolationInfoPB cl_interp = 12;
optional .CSGOInterpolationInfoPB sv_interp0 = 13;
optional .CSGOInterpolationInfoPB sv_interp1 = 14;
optional .CSGOInterpolationInfoPB player_interp = 15;
optional int32 frame_number = 20;
optional int32 target_ent_index = 8 [default = -1];
optional .CMsgVector shoot_position = 3;
optional .CMsgVector target_head_pos_check = 9;
optional .CMsgVector target_abs_pos_check = 10;
optional .CMsgQAngle target_abs_ang_check = 11;
}
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];
optional bool left_hand_desired = 9 [default = false];
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,601 @@
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_ShootInfo = 383;
CS_UM_CounterStrafe = 385;
}
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 game_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;
}
message CCSUsrMsgPreMatchSayText {
optional uint32 account_id = 1;
optional string text = 2;
optional bool all_chat = 3;
}
message CCSUsrMsg_CounterStrafe {
optional int32 press_to_release_ns = 1;
optional int32 total_keys_down = 2;
}

173
Protobufs/csgo/demo.proto Normal file
View File

@@ -0,0 +1,173 @@
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_AnimationData = 16;
DEM_AnimationHeader = 17;
DEM_Max = 18;
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;
optional int32 server_start_tick = 15;
}
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;
}
message CCSGameInfo {
repeated int32 round_start_ticks = 1;
}
optional .CGameInfo.CDotaGameInfo dota = 4;
optional .CGameInfo.CCSGameInfo cs = 5;
}
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 CDemoAnimationHeader {
optional sint32 entity_id = 1;
optional int32 tick = 2;
optional bytes data = 3;
}
message CDemoAnimationData {
optional sint32 entity_id = 1;
optional int32 start_tick = 2;
optional int32 end_tick = 3;
optional bytes data = 4;
optional int64 data_checksum = 5;
}
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;
}

View File

@@ -0,0 +1,230 @@
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_EMsgGCDev_SchemaReservationRequest = 2004;
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_EMsgGCToGCWebAPIAccountChanged = 2524;
k_EMsgGCRequestAnnouncements = 2525;
k_EMsgGCRequestAnnouncementsResponse = 2526;
k_EMsgGCRequestPassportItemGrant = 2527;
k_EMsgGCClientVersionUpdated = 2528;
k_EMsgGCAdjustItemEquippedStateMulti = 2529;
k_EMsgGCRecurringSubscriptionStatus = 2530;
k_EMsgGCAdjustEquipSlotsManual = 2531;
k_EMsgGCAdjustEquipSlotsShuffle = 2532;
k_EMsgGCNameItemAndEquip = 2533;
k_EMsgGCOpenCrate = 2534;
k_EMsgGCAcknowledgeRentalExpiration = 2535;
}
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;
k_EGCItemCustomizationNotification_ClientRedeemFreeReward = 9219;
}
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 CMsgGCDev_SchemaReservationRequest {
optional string schema_typename = 1;
optional string instance_name = 2;
optional uint64 context = 3;
optional uint64 id = 4;
}
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;
}

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

@@ -0,0 +1,325 @@
import "steammessages.proto";
enum GCClientLauncherType {
GCClientLauncherType_DEFAULT = 0;
GCClientLauncherType_PERFECTWORLD = 1;
GCClientLauncherType_STEAMCHINA = 2;
GCClientLauncherType_SOURCE2 = 3;
}
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;
optional uint32 socache_control = 9;
}
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;
}

View File

@@ -0,0 +1,243 @@
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;
optional string continue_text = 4;
}
message CCommunity_TerminateGamePersonalDataEntries_Request {
optional uint32 appid = 1;
optional uint64 steamid = 2;
}
message CCommunity_TerminateGamePersonalDataEntries_Response {
optional uint32 gceresult = 1;
}

View File

@@ -0,0 +1,669 @@
import "networkbasetypes.proto";
enum CLC_Messages {
clc_ClientInfo = 20;
clc_Move = 21;
clc_VoiceData = 22;
clc_BaselineAck = 23;
clc_RespondCvarValue = 25;
clc_FileCRCCheck = 26;
clc_LoadingProgress = 27;
clc_SplitPlayerConnect = 28;
clc_SplitPlayerDisconnect = 30;
clc_ServerStatus = 31;
clc_RequestPause = 33;
clc_CmdKeyValues = 34;
clc_RconServerDetails = 35;
clc_HltvReplay = 36;
clc_Diagnostic = 37;
}
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_Broadcast_Command = 74;
svc_HltvFixupOperatorStatus = 75;
svc_UserCmds = 76;
}
enum VoiceDataFormat_t {
VOICEDATA_FORMAT_STEAM = 0;
VOICEDATA_FORMAT_ENGINE = 1;
VOICEDATA_FORMAT_OPUS = 2;
}
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 last_command_number = 4;
}
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;
optional uint32 num_packets = 7;
repeated uint32 packet_offsets = 8 [packed = true];
optional float voice_level = 9;
}
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_SplitPlayerDisconnect {
optional int32 slot = 1;
}
message CCLCMsg_ServerStatus {
optional bool simplified = 1;
}
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 CMsgSource2SystemSpecs {
optional string cpu_id = 1;
optional string cpu_brand = 2;
optional uint32 cpu_model = 3;
optional uint32 cpu_num_physical = 4;
optional uint32 ram_physical_total_mb = 21;
optional string gpu_rendersystem_dll_name = 41;
optional uint32 gpu_vendor_id = 42;
optional string gpu_driver_name = 43;
optional uint32 gpu_driver_version_high = 44;
optional uint32 gpu_driver_version_low = 45;
optional uint32 gpu_dx_support_level = 46;
optional uint32 gpu_texture_memory_size_mb = 47;
}
message CMsgSource2VProfLiteReportItem {
optional string name = 1;
optional uint32 active_samples = 2;
optional uint32 usec_max = 3;
optional uint32 usec_avg_active = 11;
optional uint32 usec_p50_active = 12;
optional uint32 usec_p99_active = 13;
optional uint32 usec_avg_all = 21;
optional uint32 usec_p50_all = 22;
optional uint32 usec_p99_all = 23;
}
message CMsgSource2VProfLiteReport {
optional .CMsgSource2VProfLiteReportItem total = 1;
repeated .CMsgSource2VProfLiteReportItem items = 2;
optional uint32 discarded_frames = 3;
}
message CCLCMsg_Diagnostic {
optional .CMsgSource2SystemSpecs system_specs = 1;
optional .CMsgSource2VProfLiteReport vprof_report = 2;
}
message CSource2Metrics_MatchPerfSummary_Notification {
message Client {
optional .CMsgSource2SystemSpecs system_specs = 1;
optional .CMsgSource2VProfLiteReport profile = 2;
optional uint32 build_id = 3;
optional fixed64 steamid = 10;
}
optional uint32 appid = 1;
optional string game_mode = 2;
optional uint32 server_build_id = 3;
optional .CMsgSource2VProfLiteReport server_profile = 10;
repeated .CSource2Metrics_MatchPerfSummary_Notification.Client clients = 11;
optional string map = 20;
}
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 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 alternate_baseline_t {
optional int32 entity_index = 1;
optional int32 baseline_index = 2;
}
message non_transmitted_entities_t {
optional int32 header_count = 1;
optional bytes data = 2;
}
optional int32 max_entries = 1;
optional int32 updated_entries = 2;
optional bool legacy_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_executed = 11;
optional sint32 last_cmd_number_recv_delta = 17;
optional uint32 server_tick = 12;
optional bytes serialized_entities = 13;
repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15;
optional uint32 has_pvs_vis_bits = 16;
repeated sint32 cmd_recv_status = 22 [packed = true];
optional .CSVCMsg_PacketEntities.non_transmitted_entities_t non_transmitted_entities = 19;
optional uint32 cq_starved_command_ticks = 20;
optional uint32 cq_discarded_command_ticks = 21;
optional bytes dev_padding = 999;
}
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;
optional bool using_varint_bitcounts = 10;
}
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;
optional int32 passthrough = 7;
}
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;
optional bool create_tables_skipped = 3;
}
message ProtoFlattenedSerializerField_t {
message polymorphic_field_t {
optional int32 polymorphic_field_serializer_name_sym = 1;
optional int32 polymorphic_field_serializer_version = 2;
}
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;
repeated .ProtoFlattenedSerializerField_t.polymorphic_field_t polymorphic_types = 11;
optional int32 var_serializer_sym = 12;
}
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_avg_ms = 4;
optional float packet_loss_pct = 5;
optional bool is_bot = 6;
optional float loss_in = 7;
optional float loss_out = 8;
optional int32 engine_latency_ms = 9;
}
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_ping_ms = 18;
optional float avg_engine_latency_out = 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;
}
message CMsgServerUserCmd {
optional bytes data = 1;
optional int32 cmd_number = 2;
optional int32 player_slot = 3 [default = -1];
optional int32 server_tick_executed = 4;
optional int32 client_tick = 5;
}
message CSVCMsg_UserCommands {
repeated .CMsgServerUserCmd commands = 1;
}

View File

@@ -0,0 +1,128 @@
import "google/protobuf/descriptor.proto";
extend .google.protobuf.EnumValueOptions {
optional string network_connection_token = 50500;
optional string network_connection_detail_token = 50501;
}
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_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"];
NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION = 162 [(network_connection_token) = "#Player_DisconnectReason_InputAutomation", (network_connection_detail_token) = "#Player_DisconnectReason_InputAutomation_Detail"];
}

View File

@@ -0,0 +1,242 @@
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_Legacy = 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_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;
optional uint32 expected_long_tick = 10;
optional string expected_long_tick_reason = 11;
}
message CNETMsg_StringCmd {
optional string command = 1;
optional uint32 prediction_sync = 2;
}
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;
}

View File

@@ -0,0 +1,17 @@
message NetMessageSplitscreenUserChanged {
optional uint32 slot = 1;
}
message NetMessageConnectionClosed {
optional uint32 reason = 1;
}
message NetMessageConnectionCrashed {
optional uint32 reason = 1;
}
message NetMessagePacketStart {
}
message NetMessagePacketEnd {
}

View File

@@ -0,0 +1,65 @@
import "steamnetworkingsockets_messages_certs.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgSteamDatagramRelayAuthTicket {
message ExtraField {
optional string name = 1;
optional string string_value = 2;
optional sint64 int64_value = 3;
optional fixed64 fixed64_value = 5;
}
optional fixed32 time_expiry = 1;
optional string authorized_client_identity_string = 14;
optional string gameserver_identity_string = 15;
optional fixed32 authorized_public_ip = 3;
optional bytes gameserver_address = 11;
optional uint32 app_id = 7;
optional uint32 virtual_port = 10;
repeated .CMsgSteamDatagramRelayAuthTicket.ExtraField extra_fields = 8;
optional fixed64 legacy_authorized_steam_id = 2;
optional fixed64 legacy_gameserver_steam_id = 4;
optional fixed32 legacy_gameserver_pop_id = 9;
optional bytes legacy_authorized_client_identity_binary = 12;
optional bytes legacy_gameserver_identity_binary = 13;
}
message CMsgSteamDatagramSignedRelayAuthTicket {
optional fixed64 reserved_do_not_use = 1;
optional bytes ticket = 3;
optional bytes signature = 4;
optional fixed64 key_id = 2;
repeated .CMsgSteamDatagramCertificateSigned certs = 5;
}
message CMsgSteamDatagramCachedCredentialsForApp {
optional bytes private_key = 1;
optional bytes cert = 2;
repeated bytes relay_tickets = 3;
}
message CMsgSteamDatagramGameCoordinatorServerLogin {
optional uint32 time_generated = 1;
optional uint32 appid = 2;
optional bytes routing = 3;
optional bytes appdata = 4;
optional bytes legacy_identity_binary = 5;
optional string identity_string = 6;
optional fixed64 dummy_steam_id = 99;
}
message CMsgSteamDatagramSignedGameCoordinatorServerLogin {
optional .CMsgSteamDatagramCertificateSigned cert = 1;
optional bytes login = 2;
optional bytes signature = 3;
}
message CMsgSteamDatagramHostedServerAddressPlaintext {
optional fixed32 ipv4 = 1;
optional bytes ipv6 = 2;
optional uint32 port = 3;
optional fixed64 routing_secret = 4;
optional uint32 protocol_version = 5;
}

View File

@@ -0,0 +1,545 @@
import "steamnetworkingsockets_messages_certs.proto";
import "steamnetworkingsockets_messages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ESteamDatagramMsgID {
k_ESteamDatagramMsg_Invalid = 0;
k_ESteamDatagramMsg_RouterPingRequest = 1;
k_ESteamDatagramMsg_RouterPingReply = 2;
k_ESteamDatagramMsg_GameserverPingRequest = 3;
k_ESteamDatagramMsg_GameserverSessionRequest = 5;
k_ESteamDatagramMsg_GameserverSessionEstablished = 6;
k_ESteamDatagramMsg_NoSession = 7;
k_ESteamDatagramMsg_Diagnostic = 8;
k_ESteamDatagramMsg_DataClientToRouter = 9;
k_ESteamDatagramMsg_DataRouterToServer = 10;
k_ESteamDatagramMsg_DataServerToRouter = 11;
k_ESteamDatagramMsg_DataRouterToClient = 12;
k_ESteamDatagramMsg_Stats = 13;
k_ESteamDatagramMsg_ClientPingSampleRequest = 14;
k_ESteamDatagramMsg_ClientPingSampleReply = 15;
k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary = 16;
k_ESteamDatagramMsg_RelayHealth = 17;
k_ESteamDatagramMsg_ConnectRequest = 18;
k_ESteamDatagramMsg_ConnectOK = 19;
k_ESteamDatagramMsg_ConnectionClosed = 20;
k_ESteamDatagramMsg_NoConnection = 21;
k_ESteamDatagramMsg_TicketDecryptRequest = 22;
k_ESteamDatagramMsg_TicketDecryptReply = 23;
k_ESteamDatagramMsg_P2PSessionRequest = 24;
k_ESteamDatagramMsg_P2PSessionEstablished = 25;
k_ESteamDatagramMsg_P2PStatsClient = 26;
k_ESteamDatagramMsg_P2PStatsRelay = 27;
k_ESteamDatagramMsg_P2PBadRoute = 28;
k_ESteamDatagramMsg_GameserverPingReply = 29;
k_ESteamDatagramMsg_LegacyGameserverRegistration = 30;
k_ESteamDatagramMsg_SetSecondaryAddressRequest = 31;
k_ESteamDatagramMsg_SetSecondaryAddressResult = 32;
k_ESteamDatagramMsg_RelayToRelayPingRequest = 33;
k_ESteamDatagramMsg_RelayToRelayPingReply = 34;
}
message CMsgSteamNetworkingIPAddress {
optional fixed32 v4 = 1;
optional bytes v6 = 2;
}
message CMsgSteamDatagramSignedMessageGeneric {
optional .CMsgSteamDatagramCertificateSigned cert = 1;
optional bytes signed_data = 2;
optional bytes signature = 3;
optional bytes dummy_pad = 1023;
}
message CMsgSteamDatagramRouterPingReply {
message RouteException {
optional fixed32 data_center_id = 1;
optional uint32 flags = 2;
optional uint32 penalty = 3;
}
message AltAddress {
enum Protocol {
DefaultProtocol = 0;
}
optional fixed32 ipv4 = 1;
optional uint32 port = 2;
optional uint32 penalty = 3;
optional .CMsgSteamDatagramRouterPingReply.AltAddress.Protocol protocol = 4 [default = DefaultProtocol];
optional string id = 5;
}
enum Flags {
FLAG_MAYBE_MORE_DATA_CENTERS = 1;
FLAG_MAYBE_MORE_ALT_ADDRESSES = 2;
}
optional fixed32 client_timestamp = 1;
repeated fixed32 latency_datacenter_ids = 2 [packed = true];
repeated uint32 latency_ping_ms = 3 [packed = true];
repeated fixed32 latency_datacenter_ids_p2p = 14 [packed = true];
repeated uint32 latency_ping_ms_p2p = 15 [packed = true];
optional fixed32 your_public_ip = 4;
optional fixed32 your_public_port = 11;
optional fixed32 server_time = 5;
optional fixed64 challenge = 6;
optional uint32 seconds_until_shutdown = 7;
optional fixed32 client_cookie = 8;
optional uint32 recv_tos = 16;
optional uint32 echo_sent_tos = 17;
optional uint32 sent_tos = 18;
optional uint32 echo_request_reply_tos = 19;
optional uint32 scoring_penalty_relay_cluster = 9;
optional uint32 flags = 12;
repeated .CMsgSteamDatagramRouterPingReply.RouteException route_exceptions = 10;
repeated .CMsgSteamDatagramRouterPingReply.AltAddress alt_addresses = 13;
optional bytes dummy_pad = 99;
optional uint64 dummy_varint = 100;
}
message CMsgSteamDatagramGameserverPingRequestBody {
optional fixed32 relay_popid = 1;
optional .CMsgSteamNetworkingIPAddress your_public_ip = 2;
optional uint32 your_public_port = 3;
optional uint64 relay_unix_time = 4;
optional fixed64 routing_secret = 5;
repeated .CMsgSteamNetworkingIPAddress my_ips = 6;
optional bytes echo = 8;
}
message CMsgSteamDatagramGameserverPingRequestEnvelope {
optional .CMsgSteamDatagramCertificateSigned cert = 6;
optional bytes signed_data = 7;
optional bytes signature = 8;
optional fixed32 legacy_your_public_ip = 1;
optional fixed32 legacy_your_public_port = 5;
optional fixed32 legacy_relay_unix_time = 2;
optional fixed64 legacy_challenge = 3;
optional fixed32 legacy_router_timestamp = 4;
optional bytes dummy_pad = 1023;
}
message CMsgSteamDatagramGameserverPingReplyData {
optional fixed32 echo_relay_unix_time = 2;
optional bytes echo = 8;
optional fixed64 legacy_challenge = 3;
optional fixed32 legacy_router_timestamp = 4;
optional fixed32 data_center_id = 5;
optional uint32 appid = 6;
optional uint32 protocol_version = 7;
optional string build = 9;
optional uint64 network_config_version = 10;
optional fixed32 my_unix_time = 11;
optional bytes routing_blob = 12;
}
message CMsgSteamDatagramNoSessionRelayToClient {
optional fixed32 connection_id = 7;
optional fixed32 your_public_ip = 2;
optional fixed32 your_public_port = 6;
optional fixed32 server_time = 3;
optional fixed64 challenge = 4;
optional uint32 seconds_until_shutdown = 5;
}
message CMsgSteamDatagramNoSessionRelayToPeer {
optional uint32 legacy_relay_session_id = 1;
optional fixed32 from_relay_session_id = 2;
optional fixed32 from_connection_id = 7;
optional fixed64 kludge_pad = 99;
}
message CMsgTOSTreatment {
optional string l4s_detect = 1;
optional string up_ecn1 = 2;
optional string down_dscp45 = 3;
}
message CMsgSteamDatagramClientPingSampleRequest {
optional fixed32 connection_id = 1;
}
message CMsgSteamDatagramClientPingSampleReply {
message POP {
message AltAddress {
optional string id = 1;
optional uint32 front_ping_ms = 2;
optional uint32 penalty = 3;
}
optional fixed32 pop_id = 1;
optional uint32 default_front_ping_ms = 2;
optional uint32 cluster_penalty = 4;
repeated .CMsgSteamDatagramClientPingSampleReply.POP.AltAddress alt_addresses = 7;
optional uint32 default_e2e_ping_ms = 3;
optional uint32 default_e2e_score = 5;
optional fixed32 p2p_via_peer_relay_pop_id = 6;
optional uint32 best_dc_ping_ms = 9;
optional uint32 best_dc_score = 10;
optional fixed32 best_dc_via_relay_pop_id = 11;
optional uint32 default_dc_ping_ms = 12;
optional uint32 default_dc_score = 13;
optional fixed32 default_dc_via_relay_pop_id = 14;
optional uint32 test_dc_ping_ms = 15;
optional uint32 test_dc_score = 16;
optional fixed32 test_dc_via_relay_pop_id = 17;
}
message LegacyDataCenter {
optional fixed32 data_center_id = 1;
optional fixed32 best_dc_via_relay_pop_id = 2;
optional uint32 best_dc_ping_ms = 3;
}
optional fixed32 connection_id = 1;
optional bool relay_override_active = 5;
optional .CMsgTOSTreatment tos = 6;
repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
}
message CMsgSteamDatagramClientSwitchedPrimary {
message RouterQuality {
optional uint32 score = 1;
optional uint32 front_ping = 2;
optional uint32 back_ping = 3;
optional uint32 seconds_until_down = 4;
}
optional fixed32 connection_id = 1;
optional fixed32 from_ip = 2;
optional uint32 from_port = 3;
optional fixed32 from_router_cluster = 4;
optional uint32 from_active_time = 5;
optional uint32 from_active_packets_recv = 6;
optional string from_dropped_reason = 7;
optional uint32 gap_ms = 8;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_now = 9;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_now = 10;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_then = 11;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_then = 12;
}
message CMsgSteamDatagramConnectRequest {
optional fixed32 connection_id = 1;
optional fixed64 my_timestamp = 4;
optional uint32 ping_est_ms = 5;
optional uint32 virtual_port = 9;
optional uint32 gameserver_relay_session_id = 2;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
optional .CMsgSteamDatagramCertificateSigned cert = 7;
optional fixed64 routing_secret = 10;
optional fixed64 legacy_client_steam_id = 3;
}
message CMsgSteamDatagramConnectOK {
optional fixed32 client_connection_id = 1;
optional fixed32 server_connection_id = 7;
optional fixed64 your_timestamp = 3;
optional uint32 delay_time_usec = 4;
optional uint32 gameserver_relay_session_id = 2;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
optional .CMsgSteamDatagramCertificateSigned cert = 6;
}
message CMsgSteamNetworkingP2PSDRRoutingSummary {
optional uint32 initial_ping = 1;
optional uint32 initial_ping_front_local = 2;
optional uint32 initial_ping_front_remote = 3;
optional uint32 initial_score = 4;
optional fixed32 initial_pop_local = 5;
optional fixed32 initial_pop_remote = 6;
optional uint32 best_ping = 11;
optional uint32 best_ping_front_local = 12;
optional uint32 best_ping_front_remote = 13;
optional uint32 best_score = 14;
optional fixed32 best_pop_local = 15;
optional fixed32 best_pop_remote = 16;
optional uint32 best_time = 17;
optional uint32 negotiation_ms = 7;
optional uint32 selected_seconds = 8;
}
message CMsgSteamDatagramP2PRoutingSummary {
optional .CMsgSteamNetworkingICESessionSummary ice = 2;
optional .CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3;
}
message CMsgSteamDatagramConnectionClosed {
enum ERelayMode {
None = 0;
EndToEnd = 1;
ClosedByPeer = 2;
}
optional fixed32 to_connection_id = 7;
optional fixed32 from_connection_id = 8;
optional string from_identity_string = 15;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13;
optional fixed64 legacy_from_steam_id = 3;
optional uint32 legacy_gameserver_relay_session_id = 2;
optional fixed32 to_relay_session_id = 9;
optional fixed32 from_relay_session_id = 10;
optional bytes forward_target_relay_routing_token = 11;
optional uint32 forward_target_revision = 12;
optional .CMsgSteamDatagramConnectionClosed.ERelayMode relay_mode = 4 [default = None];
optional string debug = 5;
optional uint32 reason_code = 6;
optional fixed64 routing_secret = 14;
optional bool not_primary_session = 16;
optional bool not_primary_transport = 19;
optional bool relay_override_active = 22;
optional .CMsgSteamDatagramConnectionQuality quality_relay = 17;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 18;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21;
}
message CMsgSteamDatagramNoConnection {
optional fixed32 to_connection_id = 5;
optional fixed32 from_connection_id = 6;
optional uint32 legacy_gameserver_relay_session_id = 2;
optional fixed32 to_relay_session_id = 9;
optional fixed32 from_relay_session_id = 10;
optional string from_identity_string = 7;
optional fixed64 legacy_from_steam_id = 3;
optional bool end_to_end = 4;
optional bool not_primary_session = 12;
optional bool not_primary_transport = 15;
optional bool relay_override_active = 17;
optional .CMsgSteamDatagramConnectionQuality quality_relay = 13;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 14;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16;
optional fixed64 routing_secret = 11;
optional fixed32 dummy_pad = 1023;
}
message CMsgSteamDatagramGameserverSessionRequest {
optional bytes ticket = 1;
optional fixed32 challenge_time = 3;
optional fixed64 challenge = 4;
optional fixed32 client_connection_id = 5;
optional fixed32 server_connection_id = 8;
optional uint64 network_config_version = 6;
optional uint32 protocol_version = 7;
optional string platform = 9;
optional string build = 10;
optional string dev_gameserver_identity = 100;
optional .CMsgSteamDatagramCertificateSigned dev_client_cert = 101;
}
message CMsgSteamDatagramGameserverSessionEstablished {
optional fixed32 connection_id = 1;
optional string gameserver_identity_string = 2;
optional uint32 seconds_until_shutdown = 4;
optional uint32 seq_num_r2c = 6;
optional bytes dummy_legacy_identity_binary = 7;
optional fixed64 legacy_gameserver_steamid = 3;
}
message CMsgSteamDatagramConnectionStatsClientToRouter {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_SESSION = 8;
CLIENT_RELAY_OVERRIDE = 32;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
repeated fixed32 ack_relay = 4;
repeated fixed32 legacy_ack_e2e = 5;
optional uint32 flags = 6;
optional fixed32 client_connection_id = 8;
optional uint32 seq_num_c2r = 9;
optional uint32 seq_num_e2e = 10;
}
message CMsgSteamDatagramConnectionStatsRouterToClient {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
optional uint32 seconds_until_shutdown = 6;
optional fixed32 migrate_request_ip = 10;
optional uint32 migrate_request_port = 11;
optional uint32 scoring_penalty_relay_cluster = 12;
repeated fixed32 ack_relay = 13;
repeated fixed32 legacy_ack_e2e = 14;
optional uint32 flags = 15;
optional fixed32 client_connection_id = 7;
optional uint32 seq_num_r2c = 8;
optional uint32 seq_num_e2e = 9;
}
message CMsgSteamDatagramConnectionStatsRouterToServer {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
repeated fixed32 ack_relay = 10;
repeated fixed32 legacy_ack_e2e = 11;
optional uint32 flags = 12;
optional uint32 seq_num_r2s = 5;
optional uint32 seq_num_e2e = 6;
optional string client_identity_string = 15;
optional fixed64 legacy_client_steam_id = 7;
optional uint32 relay_session_id = 8;
optional fixed32 client_connection_id = 9;
optional fixed32 server_connection_id = 13;
optional fixed64 routing_secret = 14;
}
message CMsgSteamDatagramConnectionStatsServerToRouter {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
repeated fixed32 ack_relay = 8;
repeated fixed32 legacy_ack_e2e = 9;
optional uint32 flags = 10;
optional uint32 seq_num_s2r = 3;
optional uint32 seq_num_e2e = 4;
optional uint32 relay_session_id = 6;
optional fixed32 client_connection_id = 7;
optional fixed32 server_connection_id = 11;
}
message CMsgSteamDatagramP2PSessionRequestBody {
message EncryptedData {
optional string peer_identity_string = 1;
}
optional fixed32 challenge_time = 1;
optional fixed64 challenge = 2;
optional fixed32 client_connection_id = 3;
optional fixed64 legacy_peer_steam_id = 4;
optional string peer_identity_string = 11;
optional fixed32 peer_connection_id = 5;
optional bytes encrypted_data = 14;
optional uint32 encryption_your_public_key_lead_byte = 15;
optional bytes encryption_my_ephemeral_public_key = 16;
optional uint32 protocol_version = 8;
optional uint64 network_config_version = 9;
optional string platform = 12;
optional string build = 13;
}
message CMsgSteamDatagramP2PSessionRequest {
optional .CMsgSteamDatagramCertificateSigned cert = 1;
optional bytes body = 2;
optional bytes signature = 3;
}
message CMsgSteamDatagramP2PSessionEstablished {
optional fixed32 connection_id = 1;
optional uint32 seconds_until_shutdown = 3;
optional bytes relay_routing_token = 4;
optional uint32 seq_num_r2c = 5;
}
message CMsgSteamDatagramConnectionStatsP2PClientToRouter {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_SESSION = 8;
NOT_PRIMARY_TRANSPORT_E2E = 16;
CLIENT_RELAY_OVERRIDE = 32;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14;
repeated fixed32 ack_relay = 3;
repeated fixed32 legacy_ack_e2e = 4;
optional uint32 flags = 5;
optional bytes forward_target_relay_routing_token = 6;
optional uint32 forward_target_revision = 7;
optional bytes routes = 8;
optional uint32 ack_peer_routes_revision = 9;
optional fixed32 connection_id = 10;
optional uint32 seq_num_c2r = 11;
optional uint32 seq_num_e2e = 12;
}
message CMsgSteamDatagramConnectionStatsP2PRouterToClient {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_TRANSPORT_E2E = 16;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
optional uint32 seconds_until_shutdown = 3;
optional fixed32 migrate_request_ip = 4;
optional uint32 migrate_request_port = 5;
optional uint32 scoring_penalty_relay_cluster = 6;
repeated fixed32 ack_relay = 7;
repeated fixed32 legacy_ack_e2e = 8;
optional uint32 flags = 9;
optional uint32 ack_forward_target_revision = 10;
optional bytes routes = 11;
optional uint32 ack_peer_routes_revision = 12;
optional fixed32 connection_id = 13;
optional uint32 seq_num_r2c = 14;
optional uint32 seq_num_e2e = 15;
}
message CMsgSteamDatagramP2PBadRouteRouterToClient {
optional fixed32 connection_id = 1;
optional bytes failed_relay_routing_token = 2;
optional uint32 ack_forward_target_revision = 3;
optional fixed64 kludge_pad = 99;
}
message CMsgSteamDatagramP2PRoutes {
message RelayCluster {
optional fixed32 pop_id = 1;
optional uint32 ping_ms = 2;
optional uint32 score_penalty = 3;
optional bytes session_relay_routing_token = 4;
}
message Route {
optional fixed32 my_pop_id = 1;
optional fixed32 your_pop_id = 2;
optional uint32 legacy_score = 3;
optional uint32 interior_score = 4;
}
repeated .CMsgSteamDatagramP2PRoutes.RelayCluster relay_clusters = 1;
repeated .CMsgSteamDatagramP2PRoutes.Route routes = 2;
optional uint32 revision = 3;
}
message CMsgSteamDatagramSetSecondaryAddressRequest {
optional fixed32 client_main_ip = 1;
optional fixed32 client_main_port = 2;
optional fixed32 client_connection_id = 3;
optional string client_identity = 4;
optional bool request_send_duplication = 5;
optional bytes kludge_pad = 99;
}
message CMsgSteamDatagramSetSecondaryAddressResult {
optional bool success = 1;
optional string message = 2;
}

View File

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

View File

@@ -0,0 +1,332 @@
import "google/protobuf/descriptor.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
option (force_php_generation) = true;
extend .google.protobuf.MessageOptions {
optional int32 msgpool_soft_limit = 50000 [default = 32];
optional int32 msgpool_hard_limit = 50001 [default = 384];
}
extend .google.protobuf.FileOptions {
optional bool force_php_generation = 50000 [default = false];
}
extend .google.protobuf.FieldOptions {
optional bool php_output_always_number = 50020 [default = false];
optional bool allow_field_named_steam_id = 50024 [default = false];
}
enum EBanContentCheckResult {
k_EBanContentCheckResult_NotScanned = 0;
k_EBanContentCheckResult_Reset = 1;
k_EBanContentCheckResult_NeedsChecking = 2;
k_EBanContentCheckResult_VeryUnlikely = 5;
k_EBanContentCheckResult_Unlikely = 30;
k_EBanContentCheckResult_Possible = 50;
k_EBanContentCheckResult_Likely = 75;
k_EBanContentCheckResult_VeryLikely = 100;
}
enum EProtoClanEventType {
k_EClanOtherEvent = 1;
k_EClanGameEvent = 2;
k_EClanPartyEvent = 3;
k_EClanMeetingEvent = 4;
k_EClanSpecialCauseEvent = 5;
k_EClanMusicAndArtsEvent = 6;
k_EClanSportsEvent = 7;
k_EClanTripEvent = 8;
k_EClanChatEvent = 9;
k_EClanGameReleaseEvent = 10;
k_EClanBroadcastEvent = 11;
k_EClanSmallUpdateEvent = 12;
k_EClanPreAnnounceMajorUpdateEvent = 13;
k_EClanMajorUpdateEvent = 14;
k_EClanDLCReleaseEvent = 15;
k_EClanFutureReleaseEvent = 16;
k_EClanESportTournamentStreamEvent = 17;
k_EClanDevStreamEvent = 18;
k_EClanFamousStreamEvent = 19;
k_EClanGameSalesEvent = 20;
k_EClanGameItemSalesEvent = 21;
k_EClanInGameBonusXPEvent = 22;
k_EClanInGameLootEvent = 23;
k_EClanInGamePerksEvent = 24;
k_EClanInGameChallengeEvent = 25;
k_EClanInGameContestEvent = 26;
k_EClanIRLEvent = 27;
k_EClanNewsEvent = 28;
k_EClanBetaReleaseEvent = 29;
k_EClanInGameContentReleaseEvent = 30;
k_EClanFreeTrial = 31;
k_EClanSeasonRelease = 32;
k_EClanSeasonUpdate = 33;
k_EClanCrosspostEvent = 34;
k_EClanInGameEventGeneral = 35;
}
enum PartnerEventNotificationType {
k_EEventStart = 0;
k_EEventBroadcastStart = 1;
k_EEventMatchStart = 2;
k_EEventPartnerMaxType = 3;
}
message CMsgIPAddress {
oneof ip {
fixed32 v4 = 1;
bytes v6 = 2;
}
}
message CMsgIPAddressBucket {
optional .CMsgIPAddress original_ip_address = 1;
optional fixed64 bucket = 2;
}
message CMsgGCRoutingProtoBufHeader {
optional uint64 dst_gcid_queue = 1;
optional uint32 dst_gc_dir_index = 2;
}
message CMsgProtoBufHeader {
enum ESessionDisposition {
k_ESessionDispositionNormal = 0;
k_ESessionDispositionDisconnect = 1;
}
optional fixed64 steamid = 1;
optional int32 client_sessionid = 2;
optional uint32 routing_appid = 3;
optional fixed64 jobid_source = 10 [default = 18446744073709551615];
optional fixed64 jobid_target = 11 [default = 18446744073709551615];
optional string target_job_name = 12;
optional int32 seq_num = 24;
optional int32 eresult = 13 [default = 2];
optional string error_message = 14;
optional uint32 auth_account_flags = 16;
optional uint32 token_source = 22;
optional bool admin_spoofing_user = 23;
optional int32 transport_error = 17 [default = 1];
optional uint64 messageid = 18 [default = 18446744073709551615];
optional uint32 publisher_group_id = 19;
optional uint32 sysid = 20;
optional uint64 trace_tag = 21;
optional uint32 webapi_key_id = 25;
optional bool is_from_external_source = 26;
repeated uint32 forward_to_sysid = 27;
optional uint32 cm_sysid = 28;
optional uint32 launcher_type = 31 [default = 0];
optional uint32 realm = 32 [default = 0];
optional int32 timeout_ms = 33 [default = -1];
optional string debug_source = 34;
optional uint32 debug_source_string_index = 35;
optional uint64 token_id = 36;
optional .CMsgGCRoutingProtoBufHeader routing_gc = 37;
optional .CMsgProtoBufHeader.ESessionDisposition session_disposition = 38 [default = k_ESessionDispositionNormal];
optional string wg_token = 39;
optional string webui_auth_key = 40;
oneof ip_addr {
uint32 ip = 15;
bytes ip_v6 = 29;
}
}
message CMsgMulti {
optional uint32 size_unzipped = 1;
optional bytes message_body = 2;
}
message CMsgProtobufWrapped {
optional bytes message_body = 1;
}
message CMsgAuthTicket {
optional uint32 estate = 1;
optional uint32 eresult = 2 [default = 2];
optional fixed64 steamid = 3;
optional fixed64 gameid = 4;
optional uint32 h_steam_pipe = 5;
optional uint32 ticket_crc = 6;
optional bytes ticket = 7;
optional bytes server_secret = 8;
optional uint32 ticket_type = 9;
}
message CCDDBAppDetailCommon {
optional uint32 appid = 1;
optional string name = 2;
optional string icon = 3;
optional bool tool = 6;
optional bool demo = 7;
optional bool media = 8;
optional bool community_visible_stats = 9;
optional string friendly_name = 10;
optional string propagation = 11;
optional bool has_adult_content = 12;
optional bool is_visible_in_steam_china = 13;
optional uint32 app_type = 14;
optional bool has_adult_content_sex = 15;
optional bool has_adult_content_violence = 16;
repeated uint32 content_descriptorids = 17;
}
message CMsgAppRights {
optional bool edit_info = 1;
optional bool publish = 2;
optional bool view_error_data = 3;
optional bool download = 4;
optional bool upload_cdkeys = 5;
optional bool generate_cdkeys = 6;
optional bool view_financials = 7;
optional bool manage_ceg = 8;
optional bool manage_signing = 9;
optional bool manage_cdkeys = 10;
optional bool edit_marketing = 11;
optional bool economy_support = 12;
optional bool economy_support_supervisor = 13;
optional bool manage_pricing = 14;
optional bool broadcast_live = 15;
optional bool view_marketing_traffic = 16;
optional bool edit_store_display_content = 17;
}
message CCuratorPreferences {
optional uint32 supported_languages = 1;
optional bool platform_windows = 2;
optional bool platform_mac = 3;
optional bool platform_linux = 4;
optional bool vr_content = 5;
optional bool adult_content_violence = 6;
optional bool adult_content_sex = 7;
optional uint32 timestamp_updated = 8;
repeated uint32 tagids_curated = 9;
repeated uint32 tagids_filtered = 10;
optional string website_title = 11;
optional string website_url = 12;
optional string discussion_url = 13;
optional bool show_broadcast = 14;
}
message CLocalizationToken {
optional uint32 language = 1;
optional string localized_string = 2;
}
message CClanEventUserNewsTuple {
optional uint32 clanid = 1;
optional fixed64 event_gid = 2;
optional fixed64 announcement_gid = 3;
optional uint32 rtime_start = 4;
optional uint32 rtime_end = 5;
optional uint32 priority_score = 6;
optional uint32 type = 7;
optional uint32 clamp_range_slot = 8;
optional uint32 appid = 9;
optional uint32 rtime32_last_modified = 10;
}
message CClanMatchEventByRange {
optional uint32 rtime_before = 1;
optional uint32 rtime_after = 2;
optional uint32 qualified = 3;
repeated .CClanEventUserNewsTuple events = 4;
}
message CCommunity_ClanAnnouncementInfo {
optional uint64 gid = 1;
optional uint64 clanid = 2;
optional uint64 posterid = 3;
optional string headline = 4;
optional uint32 posttime = 5;
optional uint32 updatetime = 6;
optional string body = 7;
optional int32 commentcount = 8;
repeated string tags = 9;
optional int32 language = 10;
optional bool hidden = 11;
optional fixed64 forum_topic_id = 12;
optional fixed64 event_gid = 13;
optional int32 voteupcount = 14;
optional int32 votedowncount = 15;
optional .EBanContentCheckResult ban_check_result = 16 [default = k_EBanContentCheckResult_NotScanned];
optional bool banned = 17;
}
message CClanEventData {
optional fixed64 gid = 1;
optional fixed64 clan_steamid = 2;
optional string event_name = 3;
optional .EProtoClanEventType event_type = 4 [default = k_EClanOtherEvent];
optional uint32 appid = 5;
optional string server_address = 6;
optional string server_password = 7;
optional uint32 rtime32_start_time = 8;
optional uint32 rtime32_end_time = 9;
optional int32 comment_count = 10;
optional fixed64 creator_steamid = 11;
optional fixed64 last_update_steamid = 12;
optional string event_notes = 13;
optional string jsondata = 14;
optional .CCommunity_ClanAnnouncementInfo announcement_body = 15;
optional bool published = 16;
optional bool hidden = 17;
optional uint32 rtime32_visibility_start = 18;
optional uint32 rtime32_visibility_end = 19;
optional uint32 broadcaster_accountid = 20;
optional uint32 follower_count = 21;
optional uint32 ignore_count = 22;
optional fixed64 forum_topic_id = 23;
optional uint32 rtime32_last_modified = 24;
optional fixed64 news_post_gid = 25;
optional uint32 rtime_mod_reviewed = 26;
optional uint32 featured_app_tagid = 27;
repeated uint32 referenced_appids = 28;
optional uint32 build_id = 29;
optional string build_branch = 30;
}
message CBilling_Address {
optional string first_name = 1;
optional string last_name = 2;
optional string address1 = 3;
optional string address2 = 4;
optional string city = 5;
optional string us_state = 6;
optional string country_code = 7;
optional string postcode = 8;
optional int32 zip_plus4 = 9;
optional string phone = 10;
}
message CPackageReservationStatus {
optional uint32 packageid = 1;
optional int32 reservation_state = 2;
optional int32 queue_position = 3;
optional int32 total_queue_size = 4;
optional string reservation_country_code = 5;
optional bool expired = 6;
optional uint32 time_expires = 7;
optional uint32 time_reserved = 8;
}
message CMsgKeyValuePair {
optional string name = 1;
optional string value = 2;
}
message CMsgKeyValueSet {
repeated .CMsgKeyValuePair pairs = 1;
}
message UserContentDescriptorPreferences {
message ContentDescriptor {
optional uint32 content_descriptorid = 1;
optional uint32 timestamp_added = 2;
}
repeated .UserContentDescriptorPreferences.ContentDescriptor content_descriptors_to_exclude = 1;
}

View File

@@ -0,0 +1,68 @@
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.";
}
}

View File

@@ -0,0 +1,61 @@
import "steamnetworkingsockets_messages.proto";
import "steamdatagram_messages_sdr.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CGameNetworkingUI_GlobalState {
}
message CGameNetworkingUI_ConnectionState {
optional string connection_key = 1;
optional uint32 appid = 2;
optional fixed32 connection_id_local = 3;
optional string identity_local = 4;
optional string identity_remote = 5;
optional uint32 connection_state = 10;
optional uint32 start_time = 12;
optional uint32 close_time = 13;
optional uint32 close_reason = 14;
optional string close_message = 15;
optional string status_loc_token = 16;
optional uint32 transport_kind = 20;
optional string sdrpopid_local = 21;
optional string sdrpopid_remote = 22;
optional string address_remote = 23;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing = 24;
optional uint32 ping_interior = 25;
optional uint32 ping_remote_front = 26;
optional uint32 ping_default_internet_route = 27;
optional .CMsgSteamDatagramConnectionQuality e2e_quality_local = 30;
optional .CMsgSteamDatagramConnectionQuality e2e_quality_remote = 31;
optional uint64 e2e_quality_remote_instantaneous_time = 32;
optional uint64 e2e_quality_remote_lifetime_time = 33;
optional .CMsgSteamDatagramConnectionQuality front_quality_local = 40;
optional .CMsgSteamDatagramConnectionQuality front_quality_remote = 41;
optional uint64 front_quality_remote_instantaneous_time = 42;
optional uint64 front_quality_remote_lifetime_time = 43;
}
message CGameNetworkingUI_Message {
repeated .CGameNetworkingUI_ConnectionState connection_state = 1;
}
message CGameNetworkingUI_ConnectionSummary {
optional uint32 transport_kind = 1;
optional uint32 connection_state = 8;
optional string sdrpop_local = 2;
optional string sdrpop_remote = 3;
optional uint32 ping_ms = 4;
optional float packet_loss = 5;
optional uint32 ping_default_internet_route = 6;
optional bool ip_was_shared = 7;
}
message CGameNetworkingUI_AppSummary {
optional uint32 appid = 1;
optional bool ip_was_shared_with_friend = 10;
optional bool ip_was_shared_with_nonfriend = 11;
optional uint32 active_connections = 20;
optional .CGameNetworkingUI_ConnectionSummary main_cxn = 30;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,177 @@
import "steamnetworkingsockets_messages_certs.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ESteamNetworkingSocketsCipher {
k_ESteamNetworkingSocketsCipher_INVALID = 0;
k_ESteamNetworkingSocketsCipher_NULL = 1;
k_ESteamNetworkingSocketsCipher_AES_256_GCM = 2;
}
message CMsgSteamDatagramSessionCryptInfo {
enum EKeyType {
INVALID = 0;
CURVE25519 = 1;
}
optional .CMsgSteamDatagramSessionCryptInfo.EKeyType key_type = 1 [default = INVALID];
optional bytes key_data = 2;
optional fixed64 nonce = 3;
optional uint32 protocol_version = 4;
repeated .ESteamNetworkingSocketsCipher ciphers = 5;
}
message CMsgSteamDatagramSessionCryptInfoSigned {
optional bytes info = 1;
optional bytes signature = 2;
}
message CMsgSteamDatagramDiagnostic {
optional uint32 severity = 1;
optional string text = 2;
}
message CMsgSteamDatagramLinkInstantaneousStats {
optional uint32 out_packets_per_sec_x10 = 1;
optional uint32 out_bytes_per_sec = 2;
optional uint32 in_packets_per_sec_x10 = 3;
optional uint32 in_bytes_per_sec = 4;
optional uint32 ping_ms = 5;
optional uint32 packets_dropped_pct = 6;
optional uint32 packets_weird_sequence_pct = 7;
optional uint32 peak_jitter_usec = 8;
}
message CMsgSteamDatagramLinkLifetimeStats {
optional uint32 connected_seconds = 2;
optional uint64 packets_sent = 3;
optional uint64 kb_sent = 4;
optional uint64 packets_recv = 5;
optional uint64 kb_recv = 6;
optional uint64 packets_recv_sequenced = 7;
optional uint64 packets_recv_dropped = 8;
optional uint64 packets_recv_out_of_order = 9;
optional uint64 packets_recv_out_of_order_corrected = 15;
optional uint64 packets_recv_duplicate = 10;
optional uint64 packets_recv_lurch = 11;
repeated uint64 multipath_packets_recv_sequenced = 12;
repeated uint64 multipath_packets_recv_later = 13;
optional uint32 multipath_send_enabled = 14;
optional uint32 quality_histogram_100 = 21;
optional uint32 quality_histogram_99 = 22;
optional uint32 quality_histogram_97 = 23;
optional uint32 quality_histogram_95 = 24;
optional uint32 quality_histogram_90 = 25;
optional uint32 quality_histogram_75 = 26;
optional uint32 quality_histogram_50 = 27;
optional uint32 quality_histogram_1 = 28;
optional uint32 quality_histogram_dead = 29;
optional uint32 quality_ntile_2nd = 30;
optional uint32 quality_ntile_5th = 31;
optional uint32 quality_ntile_25th = 32;
optional uint32 quality_ntile_50th = 33;
optional uint32 ping_histogram_25 = 41;
optional uint32 ping_histogram_50 = 42;
optional uint32 ping_histogram_75 = 43;
optional uint32 ping_histogram_100 = 44;
optional uint32 ping_histogram_125 = 45;
optional uint32 ping_histogram_150 = 46;
optional uint32 ping_histogram_200 = 47;
optional uint32 ping_histogram_300 = 48;
optional uint32 ping_histogram_max = 49;
optional uint32 ping_ntile_5th = 50;
optional uint32 ping_ntile_50th = 51;
optional uint32 ping_ntile_75th = 52;
optional uint32 ping_ntile_95th = 53;
optional uint32 ping_ntile_98th = 54;
optional uint32 jitter_histogram_negligible = 61;
optional uint32 jitter_histogram_1 = 62;
optional uint32 jitter_histogram_2 = 63;
optional uint32 jitter_histogram_5 = 64;
optional uint32 jitter_histogram_10 = 65;
optional uint32 jitter_histogram_20 = 66;
}
message CMsgSteamDatagramConnectionQuality {
optional .CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1;
optional .CMsgSteamDatagramLinkLifetimeStats lifetime = 2;
}
message CMsgICECandidate {
optional string candidate = 3;
}
message CMsgICERendezvous {
message Auth {
optional string pwd_frag = 1;
}
optional .CMsgICERendezvous.Auth auth = 2;
optional .CMsgICECandidate add_candidate = 1;
}
message CMsgSteamNetworkingP2PRendezvous {
message ConnectRequest {
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
optional .CMsgSteamDatagramCertificateSigned cert = 7;
optional uint32 to_virtual_port = 9;
optional uint32 from_virtual_port = 10;
optional string from_fakeip = 11;
}
message ConnectOK {
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
optional .CMsgSteamDatagramCertificateSigned cert = 6;
}
message ConnectionClosed {
optional string debug = 5;
optional uint32 reason_code = 6;
}
message ReliableMessage {
optional .CMsgICERendezvous ice = 1;
}
message ApplicationMessage {
optional bytes data = 1;
optional uint64 msg_num = 2;
optional uint32 flags = 3;
optional uint32 lane_idx = 4;
}
optional string from_identity = 8;
optional fixed32 from_connection_id = 9;
optional string to_identity = 10;
optional fixed32 to_connection_id = 1;
optional bytes sdr_routes = 2;
optional uint32 ack_peer_routes_revision = 3;
optional bool ice_enabled = 7;
optional bytes hosted_server_ticket = 14;
optional .CMsgSteamNetworkingP2PRendezvous.ConnectRequest connect_request = 4;
optional .CMsgSteamNetworkingP2PRendezvous.ConnectOK connect_ok = 5;
optional .CMsgSteamNetworkingP2PRendezvous.ConnectionClosed connection_closed = 6;
optional uint32 ack_reliable_msg = 11;
optional uint32 first_reliable_msg = 12;
repeated .CMsgSteamNetworkingP2PRendezvous.ReliableMessage reliable_messages = 13;
repeated .CMsgSteamNetworkingP2PRendezvous.ApplicationMessage application_messages = 15;
}
message CMsgSteamNetworkingICESessionSummary {
optional uint32 failure_reason_code = 7;
optional uint32 local_candidate_types = 1;
optional uint32 remote_candidate_types = 2;
optional uint32 initial_route_kind = 3;
optional uint32 initial_ping = 4;
optional uint32 initial_score = 6;
optional uint32 negotiation_ms = 5;
optional uint32 best_route_kind = 16;
optional uint32 best_ping = 17;
optional uint32 best_score = 18;
optional uint32 best_time = 19;
optional uint32 selected_seconds = 12;
optional uint32 user_settings = 13;
optional uint32 ice_enable_var = 14;
optional uint32 local_candidate_types_allowed = 15;
}

View File

@@ -0,0 +1,38 @@
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgSteamNetworkingIdentityLegacyBinary {
optional fixed64 steam_id = 16;
optional bytes generic_bytes = 2;
optional string generic_string = 3;
optional bytes ipv6_and_port = 4;
}
message CMsgSteamDatagramCertificate {
enum EKeyType {
INVALID = 0;
ED25519 = 1;
}
optional .CMsgSteamDatagramCertificate.EKeyType key_type = 1 [default = INVALID];
optional bytes key_data = 2;
optional fixed64 legacy_steam_id = 4;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 11;
optional string identity_string = 12;
repeated fixed32 gameserver_datacenter_ids = 5;
optional fixed32 time_created = 8;
optional fixed32 time_expiry = 9;
repeated uint32 app_ids = 10;
repeated string ip_addresses = 13;
}
message CMsgSteamDatagramCertificateSigned {
optional bytes cert = 4;
optional fixed64 ca_key_id = 5;
optional bytes ca_signature = 6;
optional bytes private_key_data = 1;
}
message CMsgSteamDatagramCertificateRequest {
optional .CMsgSteamDatagramCertificate cert = 1;
}

View File

@@ -0,0 +1,75 @@
import "steamnetworkingsockets_messages_certs.proto";
import "steamnetworkingsockets_messages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ESteamNetworkingUDPMsgID {
k_ESteamNetworkingUDPMsg_ChallengeRequest = 32;
k_ESteamNetworkingUDPMsg_ChallengeReply = 33;
k_ESteamNetworkingUDPMsg_ConnectRequest = 34;
k_ESteamNetworkingUDPMsg_ConnectOK = 35;
k_ESteamNetworkingUDPMsg_ConnectionClosed = 36;
k_ESteamNetworkingUDPMsg_NoConnection = 37;
}
message CMsgSteamSockets_UDP_ChallengeRequest {
optional fixed32 connection_id = 1;
optional fixed64 my_timestamp = 3;
optional uint32 protocol_version = 4;
}
message CMsgSteamSockets_UDP_ChallengeReply {
optional fixed32 connection_id = 1;
optional fixed64 challenge = 2;
optional fixed64 your_timestamp = 3;
optional uint32 protocol_version = 4;
}
message CMsgSteamSockets_UDP_ConnectRequest {
optional fixed32 client_connection_id = 1;
optional fixed64 challenge = 2;
optional fixed64 my_timestamp = 5;
optional uint32 ping_est_ms = 6;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
optional .CMsgSteamDatagramCertificateSigned cert = 4;
optional uint32 legacy_protocol_version = 8;
optional string identity_string = 10;
optional fixed64 legacy_client_steam_id = 3;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 9;
}
message CMsgSteamSockets_UDP_ConnectOK {
optional fixed32 client_connection_id = 1;
optional fixed32 server_connection_id = 5;
optional fixed64 your_timestamp = 3;
optional uint32 delay_time_usec = 4;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
optional .CMsgSteamDatagramCertificateSigned cert = 8;
optional string identity_string = 11;
optional fixed64 legacy_server_steam_id = 2;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 10;
}
message CMsgSteamSockets_UDP_ConnectionClosed {
optional fixed32 to_connection_id = 4;
optional fixed32 from_connection_id = 5;
optional string debug = 2;
optional uint32 reason_code = 3;
}
message CMsgSteamSockets_UDP_NoConnection {
optional fixed32 from_connection_id = 2;
optional fixed32 to_connection_id = 3;
}
message CMsgSteamSockets_UDP_Stats {
enum Flags {
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_TRANSPORT_E2E = 16;
}
optional .CMsgSteamDatagramConnectionQuality stats = 1;
optional uint32 flags = 3;
}

259
Protobufs/csgo/te.proto Normal file
View File

@@ -0,0 +1,259 @@
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;
optional .CMsgVector dmgpos = 11;
optional .CMsgVector dmgdir = 12;
optional int32 dmgtype = 13;
}
message CMsgTEPlayerDecal {
optional .CMsgVector origin = 1;
optional int32 player = 2 [default = -1];
optional int32 entity = 3 [default = -1];
}
message CMsgTEProjectedDecal {
optional .CMsgVector origin = 1;
optional .CMsgQAngle angles = 2;
optional uint32 index = 3;
optional float distance = 4;
}
message CMsgTESmoke {
optional .CMsgVector origin = 1;
optional float scale = 2;
}
message CMsgTEWorldDecal {
optional .CMsgVector origin = 1;
optional .CMsgVector normal = 2;
optional uint32 index = 3;
}

View File

@@ -0,0 +1,13 @@
message CUIFontFilePB {
optional string font_file_name = 1;
optional bytes opentype_font_data = 2;
}
message CUIFontFilePackagePB {
message CUIEncryptedFontFilePB {
optional bytes encrypted_contents = 1;
}
required uint32 package_version = 1;
repeated .CUIFontFilePackagePB.CUIEncryptedFontFilePB encrypted_font_files = 2;
}

View File

@@ -0,0 +1,39 @@
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;
optional float analog_forward_delta = 4;
optional float analog_left_delta = 5;
}
message CBaseUserCmdPB {
optional int32 legacy_command_number = 1;
optional int32 client_tick = 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 uint32 pawn_entity_handle = 14 [default = 16777215];
repeated .CSubtickMoveStep subtick_moves = 18;
optional bytes move_crc = 19;
optional uint32 consumed_server_angle_changes = 20;
optional int32 cmd_flags = 21;
}
message CUserCmdBasePB {
optional .CBaseUserCmdPB base = 1;
}

View File

@@ -0,0 +1,793 @@
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_WaterShake = 122;
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_RequestDiagnostic = 162;
UM_DiagnosticResponse = 163;
UM_ExtraUserData = 164;
UM_NotifyResponseFound = 165;
UM_PlayResponseConditional = 166;
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;
GAME_PARTICLE_MANAGER_EVENT_FREEZE_INVOLVING = 29;
GAME_PARTICLE_MANAGER_EVENT_ADD_MODELLIST_OVERRIDE_ELEMENT = 30;
GAME_PARTICLE_MANAGER_EVENT_CLEAR_MODELLIST_OVERRIDE = 31;
GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM = 32;
GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM = 33;
GAME_PARTICLE_MANAGER_EVENT_SET_VDATA = 34;
}
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 CUserMessageWaterShake {
optional uint32 command = 1;
optional float amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
}
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;
optional bool cluster = 8;
optional float endcap_time = 9;
}
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 FreezeParticleInvolving {
optional bool set_frozen = 1;
optional float transition_duration = 2;
optional uint32 entity_handle = 3 [default = 16777215];
}
message AddModellistOverrideElement {
optional string model_name = 1;
optional float spawn_probability = 2;
optional uint32 groupid = 3;
}
message ClearModellistOverride {
optional uint32 groupid = 1;
}
message SetParticleNamedValueContext {
message FloatContextValue {
optional uint32 value_name_hash = 1;
optional float value = 2;
}
message VectorContextValue {
optional uint32 value_name_hash = 1;
optional .CMsgVector value = 2;
}
message TransformContextValue {
optional uint32 value_name_hash = 1;
optional .CMsgQAngle angles = 2;
optional .CMsgVector translation = 3;
}
message EHandleContext {
optional uint32 value_name_hash = 1;
optional uint32 ent_index = 2 [default = 16777215];
}
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue float_values = 1;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue vector_values = 2;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue transform_values = 3;
repeated .CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext ehandle_values = 4;
}
message CreatePhysicsSim {
optional string prop_group_name = 1;
}
message DestroyPhysicsSim {
}
message SetVData {
optional string vdata_name = 1;
}
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;
optional .CUserMsg_ParticleManager.FreezeParticleInvolving freeze_particle_involving = 32;
optional .CUserMsg_ParticleManager.AddModellistOverrideElement add_modellist_override_element = 33;
optional .CUserMsg_ParticleManager.ClearModellistOverride clear_modellist_override = 34;
optional .CUserMsg_ParticleManager.CreatePhysicsSim create_physics_sim = 35;
optional .CUserMsg_ParticleManager.DestroyPhysicsSim destroy_physics_sim = 36;
optional .CUserMsg_ParticleManager.SetVData set_vdata = 37;
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 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;
optional int32 total_count = 11;
optional int32 total_count2 = 12;
}
message CUserMessage_DllStatus {
message CVDiagnostic {
optional uint32 id = 1;
optional uint32 extended = 2;
optional uint64 value = 3;
optional string string_value = 4;
}
message CModule {
optional uint64 base_addr = 1;
optional string name = 2;
optional uint32 size = 3;
optional uint32 timestamp = 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;
repeated .CUserMessage_DllStatus.CModule modules = 8;
}
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;
repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
optional int32 inv_type = 11;
optional int32 build_version = 12;
optional int32 instance = 13;
optional int64 start_time = 15;
}
message CUserMessageRequestDiagnostic {
message Diagnostic {
optional int32 index = 1;
optional int64 offset = 2;
optional int32 param = 3;
optional int32 length = 4;
optional int32 type = 5;
optional int64 base = 6;
optional int64 range = 7;
optional int64 extent = 8;
optional int64 detail = 9;
optional string name = 10;
optional string alias = 11;
optional bytes vardetail = 12;
optional int32 context = 13;
}
repeated .CUserMessageRequestDiagnostic.Diagnostic diagnostics = 1;
}
message CUserMessage_Diagnostic_Response {
message Diagnostic {
optional int32 index = 1;
optional int64 offset = 2;
optional int32 param = 3;
optional int32 length = 4;
optional bytes detail = 5;
optional int64 base = 6;
optional int64 range = 7;
optional int32 type = 8;
optional string name = 10;
optional string alias = 11;
optional bytes backup = 12;
optional int32 context = 13;
optional int64 control = 14;
optional int64 augment = 15;
optional int64 placebo = 16;
}
repeated .CUserMessage_Diagnostic_Response.Diagnostic diagnostics = 1;
optional int32 build_version = 2;
optional int32 instance = 3;
optional int64 start_time = 4;
optional int32 osversion = 5;
optional int32 platform = 6;
}
message CUserMessage_ExtraUserData {
optional int32 item = 1;
optional int64 value1 = 2;
optional int64 value2 = 3;
repeated bytes detail1 = 4;
repeated bytes detail2 = 5;
}
message CUserMessage_NotifyResponseFound {
message Criteria {
optional uint32 name_symbol = 1;
optional string value = 2;
}
optional int32 ent_index = 1 [default = -1];
optional string rule_name = 2;
optional string response_value = 3;
optional string response_concept = 4;
repeated .CUserMessage_NotifyResponseFound.Criteria criteria = 5;
}
message CUserMessage_PlayResponseConditional {
optional int32 ent_index = 1 [default = -1];
repeated int32 player_slots = 2;
optional string response = 3;
optional .CMsgVector ent_origin = 4;
}

View File

@@ -0,0 +1,17 @@
import "google/protobuf/descriptor.proto";
extend .google.protobuf.FieldOptions {
optional bool valve_map_field = 61000 [default = false];
optional bool valve_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;
}