import "networkbasetypes.proto"; enum CLC_Messages { clc_ClientInfo = 20; clc_Move = 21; clc_VoiceData = 22; clc_BaselineAck = 23; clc_ListenEvents = 24; clc_RespondCvarValue = 25; clc_FileCRCCheck = 26; clc_LoadingProgress = 27; clc_SplitPlayerConnect = 28; clc_ClientMessage = 29; clc_SplitPlayerDisconnect = 30; clc_ServerStatus = 31; clc_ServerPing = 32; clc_RequestPause = 33; clc_CmdKeyValues = 34; clc_RconServerDetails = 35; clc_HltvReplay = 36; } enum SVC_Messages { svc_ServerInfo = 40; svc_FlattenedSerializer = 41; svc_ClassInfo = 42; svc_SetPause = 43; svc_CreateStringTable = 44; svc_UpdateStringTable = 45; svc_VoiceInit = 46; svc_VoiceData = 47; svc_Print = 48; svc_Sounds = 49; svc_SetView = 50; svc_ClearAllStringTables = 51; svc_CmdKeyValues = 52; svc_BSPDecal = 53; svc_SplitScreen = 54; svc_PacketEntities = 55; svc_Prefetch = 56; svc_Menu = 57; svc_GetCvarValue = 58; svc_StopSound = 59; svc_PeerList = 60; svc_PacketReliable = 61; svc_HLTVStatus = 62; svc_ServerSteamID = 63; svc_FullFrameSplit = 70; svc_RconServerDetails = 71; svc_UserMessage = 72; svc_HltvReplay = 73; svc_Broadcast_Command = 74; svc_HltvFixupOperatorStatus = 75; } enum VoiceDataFormat_t { VOICEDATA_FORMAT_STEAM = 0; VOICEDATA_FORMAT_ENGINE = 1; 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 command_number = 4; optional uint32 num_commands = 5; } message CMsgVoiceAudio { optional .VoiceDataFormat_t format = 1 [default = VOICEDATA_FORMAT_STEAM]; optional bytes voice_data = 2; optional int32 sequence_bytes = 3; optional uint32 section_number = 4; optional uint32 sample_rate = 5; optional uint32 uncompressed_sample_offset = 6; 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_ClientMessage { optional int32 msg_type = 1; optional bytes data = 2; } message CCLCMsg_SplitPlayerDisconnect { optional int32 slot = 1; } message CCLCMsg_ServerStatus { optional bool simplified = 1; } message CCLCMsg_RequestPause { optional .RequestPause_t pause_type = 1 [default = RP_PAUSE]; optional int32 pause_group = 2; } message CCLCMsg_CmdKeyValues { optional bytes data = 1; } message CCLCMsg_RconServerDetails { optional bytes token = 1; } message CSVCMsg_ServerInfo { optional int32 protocol = 1; optional int32 server_count = 2; optional bool is_dedicated = 3; optional bool is_hltv = 4; optional int32 c_os = 6; optional int32 max_clients = 10; optional int32 max_classes = 11; optional int32 player_slot = 12 [default = -1]; optional float tick_interval = 13; optional string game_dir = 14; optional string map_name = 15; optional string sky_name = 16; optional string host_name = 17; optional string addon_name = 18; optional .CSVCMsg_GameSessionConfiguration game_session_config = 19; optional bytes game_session_manifest = 20; } message CSVCMsg_ClassInfo { message class_t { optional int32 class_id = 1; optional string class_name = 3; } optional bool create_on_client = 1; repeated .CSVCMsg_ClassInfo.class_t classes = 2; } message CSVCMsg_SetPause { optional bool paused = 1; } message CSVCMsg_VoiceInit { optional int32 quality = 1; optional string codec = 2; optional int32 version = 3 [default = 0]; } message CSVCMsg_Print { optional string text = 1; } message CSVCMsg_Sounds { message sounddata_t { optional sint32 origin_x = 1; optional sint32 origin_y = 2; optional sint32 origin_z = 3; optional uint32 volume = 4; optional float delay_value = 5; optional int32 sequence_number = 6; optional int32 entity_index = 7 [default = -1]; optional int32 channel = 8; optional int32 pitch = 9; optional int32 flags = 10; optional uint32 sound_num = 11; optional fixed32 sound_num_handle = 12; optional int32 speaker_entity = 13; optional int32 random_seed = 14; optional int32 sound_level = 15; optional bool is_sentence = 16; optional bool is_ambient = 17; optional uint32 guid = 18; optional fixed64 sound_resource_id = 19; } optional bool reliable_sound = 1; repeated .CSVCMsg_Sounds.sounddata_t sounds = 2; } message CSVCMsg_Prefetch { optional int32 sound_index = 1; optional .PrefetchType resource_type = 2 [default = PFT_SOUND]; } message CSVCMsg_SetView { optional int32 entity_index = 1 [default = -1]; optional int32 slot = 2 [default = -1]; } message CSVCMsg_FixAngle { optional bool relative = 1; optional .CMsgQAngle angle = 2; } message CSVCMsg_CrosshairAngle { optional .CMsgQAngle angle = 1; } message CSVCMsg_BSPDecal { optional .CMsgVector pos = 1; optional int32 decal_texture_index = 2; optional int32 entity_index = 3 [default = -1]; optional int32 model_index = 4; optional bool low_priority = 5; } message CSVCMsg_SplitScreen { optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER]; optional int32 slot = 2; optional int32 player_index = 3 [default = -1]; } message CSVCMsg_GetCvarValue { optional int32 cookie = 1; optional string cvar_name = 2; } message CSVCMsg_Menu { optional int32 dialog_type = 1; optional bytes menu_key_values = 2; } message CSVCMsg_UserMessage { optional int32 msg_type = 1; optional bytes msg_data = 2; optional int32 passthrough = 3; } message CSVCMsg_SendTable { message sendprop_t { optional int32 type = 1; optional string var_name = 2; optional int32 flags = 3; optional int32 priority = 4; optional string dt_name = 5; optional int32 num_elements = 6; optional float low_value = 7; optional float high_value = 8; optional int32 num_bits = 9; } optional bool is_end = 1; optional string net_table_name = 2; optional bool needs_decoder = 3; repeated .CSVCMsg_SendTable.sendprop_t props = 4; } message CSVCMsg_GameEventList { message key_t { optional int32 type = 1; optional string name = 2; } message descriptor_t { optional int32 eventid = 1; optional string name = 2; repeated .CSVCMsg_GameEventList.key_t keys = 3; } repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1; } message CSVCMsg_PacketEntities { message command_queue_info_t { optional uint32 commands_queued = 1; optional uint32 command_queue_desired_size = 2; optional uint32 starved_command_ticks = 3; optional float time_dilation_percent = 4; optional uint32 discarded_command_ticks = 5; } message alternate_baseline_t { optional int32 entity_index = 1; optional int32 baseline_index = 2; } 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; optional .CSVCMsg_PacketEntities.command_queue_info_t command_queue_info = 14; repeated .CSVCMsg_PacketEntities.alternate_baseline_t alternate_baselines = 15; optional uint32 has_pvs_vis_bits = 16; optional uint32 last_cmd_recv_margin = 18; optional .CSVCMsg_PacketEntities.non_transmitted_entities_t non_transmitted_entities = 19; 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; }