netmessages.proto
Core Source 2 network protocol messages exchanged between client and server. Includes server-info negotiation, entity delta updates, string tables, voice data, and game-event delivery. Client→Server messages use the CLC_ prefix; Server→Client use SVC_.
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · schema format 2.2
Group: CS2 wire formatMessages: 63 top-level, 74 totalEnums: 11 top-level, 12 total
Imports: networkbasetypes.proto, source2_steam_stats.proto
Wire ids
Every message in this file that a wire-id enum constant maps to, by the join rule described on the Protobufs index.
Enums
CLC_Messages
Schema entity: CLC_Messages
| Name | Number | Message |
|---|---|---|
clc_ClientInfo | 20 | CCLCMsg_ClientInfo |
clc_Move | 21 | CCLCMsg_Move |
clc_VoiceData | 22 | CCLCMsg_VoiceData |
clc_BaselineAck | 23 | CCLCMsg_BaselineAck |
clc_RespondCvarValue | 25 | CCLCMsg_RespondCvarValue |
clc_LoadingProgress | 27 | CCLCMsg_LoadingProgress |
clc_SplitPlayerConnect | 28 | CCLCMsg_SplitPlayerConnect |
clc_SplitPlayerDisconnect | 30 | CCLCMsg_SplitPlayerDisconnect |
clc_ServerStatus | 31 | CCLCMsg_ServerStatus |
clc_RequestPause | 33 | CCLCMsg_RequestPause |
clc_CmdKeyValues | 34 | CCLCMsg_CmdKeyValues |
clc_RconServerDetails | 35 | CCLCMsg_RconServerDetails |
clc_HltvReplay | 36 | CCLCMsg_HltvReplay |
clc_Diagnostic | 37 | CCLCMsg_Diagnostic |
SVC_Messages
Schema entity: SVC_Messages
VoiceDataFormat_t
Schema entity: VoiceDataFormat_t
| Name | Number | Message |
|---|---|---|
VOICEDATA_FORMAT_STEAM | 0 | |
VOICEDATA_FORMAT_ENGINE | 1 | |
VOICEDATA_FORMAT_OPUS | 2 |
RequestPause_t
Schema entity: RequestPause_t
| Name | Number | Message |
|---|---|---|
RP_PAUSE | 0 | |
RP_UNPAUSE | 1 | |
RP_TOGGLEPAUSE | 2 |
PrefetchType
Schema entity: PrefetchType
| Name | Number | Message |
|---|---|---|
PFT_SOUND | 0 |
ESplitScreenMessageType
Schema entity: ESplitScreenMessageType
| Name | Number | Message |
|---|---|---|
MSG_SPLITSCREEN_ADDUSER | 0 | |
MSG_SPLITSCREEN_REMOVEUSER | 1 |
EQueryCvarValueStatus
Schema entity: EQueryCvarValueStatus
| Name | Number | Message |
|---|---|---|
eQueryCvarValueStatus_ValueIntact | 0 | |
eQueryCvarValueStatus_CvarNotFound | 1 | |
eQueryCvarValueStatus_NotACvar | 2 | |
eQueryCvarValueStatus_CvarProtected | 3 |
DIALOG_TYPE
Schema entity: DIALOG_TYPE
| Name | Number | Message |
|---|---|---|
DIALOG_MSG | 0 | |
DIALOG_MENU | 1 | |
DIALOG_TEXT | 2 | |
DIALOG_ENTRY | 3 | |
DIALOG_ASKCONNECT | 4 |
SVC_Messages_LowFrequency
Schema entity: SVC_Messages_LowFrequency
| Name | Number | Message |
|---|---|---|
svc_dummy | 600 |
Bidirectional_Messages
Schema entity: Bidirectional_Messages
| Name | Number | Message |
|---|---|---|
bi_RebroadcastGameEvent | 16 | |
bi_RebroadcastSource | 17 | |
bi_GameEvent_DEPRECATED | 18 | |
bi_PredictionEvent | 19 |
ReplayEventType_t
Schema entity: ReplayEventType_t
| Name | Number | Message |
|---|---|---|
REPLAY_EVENT_CANCEL | 0 | |
REPLAY_EVENT_DEATH | 1 | |
REPLAY_EVENT_GENERIC | 2 | |
REPLAY_EVENT_STUCK_NEED_FULL_UPDATE | 3 | |
REPLAY_EVENT_VICTORY | 4 |
Messages
CCLCMsg_ClientInfo
Sent by the client immediately after the initial connection handshake to provide hardware/software capability information.
Wire id: CLC_Messages.clc_ClientInfo = 20
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
send_table_crc | 1 | optional | fixed32 | ||
server_count | 2 | optional | uint32 | ||
is_hltv | 3 | optional | bool | ||
friends_id | 5 | optional | uint32 | ||
friends_name | 6 | optional | string |
CCLCMsg_Move
Primary per-tick user-command message carrying all player input: view angles, buttons pressed, tick number, and move delta. This is the heartbeat of the client→server input channel.
Wire id: CLC_Messages.clc_Move = 21
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
data | 3 | optional | bytes | ||
last_command_number | 4 | optional | uint32 |
CMsgVoiceAudio
Referenced by (3): CCLCMsg_VoiceData, CP2P_Voice, CSVCMsg_VoiceData
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
format | 1 | optional | VoiceDataFormat_t | VOICEDATA_FORMAT_STEAM | |
voice_data | 2 | optional | bytes | ||
sequence_bytes | 3 | optional | int32 | ||
section_number | 4 | optional | uint32 | ||
sample_rate | 5 | optional | uint32 | ||
uncompressed_sample_offset | 6 | optional | uint32 | ||
num_packets | 7 | optional | uint32 | ||
packet_offsets | 8 | repeated | uint32 | ||
voice_level | 9 | optional | float |
CCLCMsg_VoiceData
Carries a compressed voice-audio packet from the client to the server for relay to nearby players.
Wire id: CLC_Messages.clc_VoiceData = 22
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
audio | 1 | optional | CMsgVoiceAudio | ||
xuid | 2 | optional | fixed64 | ||
tick | 3 | optional | uint32 |
CCLCMsg_BaselineAck
Acknowledges that the client has received and applied the entity baseline snapshot up to a given tick, allowing the server to stop retransmitting baseline data.
Wire id: CLC_Messages.clc_BaselineAck = 23
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
baseline_tick | 1 | optional | int32 | ||
baseline_nr | 2 | optional | int32 |
CCLCMsg_ListenEvents
Registers which game-events this client wishes to receive (similar to CMsgSource1LegacyListenEvents but at the CLC layer).
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
event_mask | 1 | repeated | fixed32 |
CCLCMsg_RespondCvarValue
Client response to a CSVCMsg_GetCvarValue query; reports the current value of a convar requested by the server (e.g. for anti-cheat verification).
Wire id: CLC_Messages.clc_RespondCvarValue = 25
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
cookie | 1 | optional | int32 | ||
status_code | 2 | optional | int32 | ||
name | 3 | optional | string | ||
value | 4 | optional | string |
CCLCMsg_LoadingProgress
Periodic heartbeat sent by the client while loading a map, reporting the current loading percentage so the server can track all-clients-loaded state.
Wire id: CLC_Messages.clc_LoadingProgress = 27
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
progress | 1 | optional | int32 |
CCLCMsg_SplitPlayerConnect
Wire id: CLC_Messages.clc_SplitPlayerConnect = 28
Referenced by (1): C2S_CONNECT_Message
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
playername | 1 | optional | string |
CCLCMsg_SplitPlayerDisconnect
Wire id: CLC_Messages.clc_SplitPlayerDisconnect = 30
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
slot | 1 | optional | int32 |
CCLCMsg_ServerStatus
Wire id: CLC_Messages.clc_ServerStatus = 31
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
simplified | 1 | optional | bool |
CCLCMsg_RequestPause
Client request to pause or unpause the server (only honoured when the client has appropriate privileges, e.g. tournament admin).
Wire id: CLC_Messages.clc_RequestPause = 33
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
pause_type | 1 | optional | RequestPause_t | RP_PAUSE | |
pause_group | 2 | optional | int32 |
CCLCMsg_CmdKeyValues
Wire id: CLC_Messages.clc_CmdKeyValues = 34
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
data | 1 | optional | bytes |
CCLCMsg_RconServerDetails
Wire id: CLC_Messages.clc_RconServerDetails = 35
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
token | 1 | optional | bytes |
CCLCMsg_Diagnostic
Wire id: CLC_Messages.clc_Diagnostic = 37
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
system_specs | 1 | optional | CMsgSource2SystemSpecs | ||
vprof_report | 2 | optional | CMsgSource2VProfLiteReport | ||
downstream_flow | 3 | optional | CMsgSource2NetworkFlowQuality | ||
upstream_flow | 4 | optional | CMsgSource2NetworkFlowQuality | ||
perf_samples | 5 | repeated | CMsgSource2PerfIntervalSample |
CSVCMsg_ServerInfo
First substantial message sent by the server after handshake. Provides all configuration data the client needs to initialise its session.
Wire id: SVC_Messages.svc_ServerInfo = 40
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
protocol | 1 | optional | int32 | Network protocol version number. | |
server_count | 2 | optional | int32 | Unique server instance counter; increments on each map change. | |
is_dedicated | 3 | optional | bool | True when running on a dedicated server (as opposed to a listen server). | |
is_hltv | 4 | optional | bool | True when this connection is a GOTV/HLTV proxy. | |
c_os | 6 | optional | int32 | Server operating system code (0 = Windows, 1 = Linux, 2 = macOS). | |
max_clients | 10 | optional | int32 | Maximum number of player slots on this server. | |
max_classes | 11 | optional | int32 | Number of entity class types registered; used to size class-info tables. | |
player_slot | 12 | optional | int32 | -1 | Slot index assigned to this connecting client. |
tick_interval | 13 | optional | float | Duration of one server tick in seconds (e.g. 0.015625 for 64-tick). | |
game_dir | 14 | optional | string | Game directory name (e.g. 'csgo'). | |
map_name | 15 | optional | string | Name of the map currently running on the server. | |
sky_name | 16 | optional | string | Sky-box texture set name used for the current map. | |
host_name | 17 | optional | string | Display name of the server as shown in the server browser. | |
addon_name | 18 | optional | string | ||
game_session_config | 19 | optional | CSVCMsg_GameSessionConfiguration | ||
game_session_manifest | 20 | optional | bytes |
CSVCMsg_ClassInfo
Enumerates all entity class types known to the server, mapping numeric class IDs to class name strings. Clients use this to instantiate the correct entity objects when receiving entity creation deltas.
Wire id: SVC_Messages.svc_ClassInfo = 42
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
create_on_client | 1 | optional | bool | True when the client should create entity objects from this list immediately. | |
classes | 2 | repeated | CSVCMsg_ClassInfo.class_t | List of (class_id, class_name) pairs for all registered entity classes. |
CSVCMsg_ClassInfo.class_t
Referenced by (1): CSVCMsg_ClassInfo
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
class_id | 1 | optional | int32 | ||
class_name | 3 | optional | string |
CSVCMsg_SetPause
Instructs the client to enter or leave pause state.
Wire id: SVC_Messages.svc_SetPause = 43
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
paused | 1 | optional | bool | True to pause client-side simulation. |
CSVCMsg_VoiceInit
Initialises the voice-codec parameters on the client.
Wire id: SVC_Messages.svc_VoiceInit = 46
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
quality | 1 | optional | int32 | Voice codec quality level. | |
codec | 2 | optional | string | ||
version | 3 | optional | int32 | 0 |
CSVCMsg_Print
Wire id: SVC_Messages.svc_Print = 48
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
text | 1 | optional | string |
CSVCMsg_Sounds
Wire id: SVC_Messages.svc_Sounds = 49
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
reliable_sound | 1 | optional | bool | ||
sounds | 2 | repeated | CSVCMsg_Sounds.sounddata_t |
CSVCMsg_Sounds.sounddata_t
Referenced by (1): CSVCMsg_Sounds
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
origin_x | 1 | optional | sint32 | ||
origin_y | 2 | optional | sint32 | ||
origin_z | 3 | optional | sint32 | ||
volume | 4 | optional | uint32 | ||
delay_value | 5 | optional | float | ||
sequence_number | 6 | optional | int32 | ||
entity_index | 7 | optional | int32 | -1 | |
channel | 8 | optional | int32 | ||
pitch | 9 | optional | int32 | ||
flags | 10 | optional | int32 | ||
sound_num | 11 | optional | uint32 | ||
sound_num_handle | 12 | optional | fixed32 | ||
speaker_entity | 13 | optional | int32 | ||
random_seed | 14 | optional | int32 | ||
sound_level | 15 | optional | int32 | ||
is_sentence | 16 | optional | bool | ||
is_ambient | 17 | optional | bool | ||
guid | 18 | optional | uint32 | ||
sound_resource_id | 19 | optional | fixed64 |
CSVCMsg_Prefetch
Wire id: SVC_Messages.svc_Prefetch = 56
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
sound_index | 1 | optional | int32 | ||
resource_type | 2 | optional | PrefetchType | PFT_SOUND |
CSVCMsg_SetView
Changes the entity index used as the origin for the client's view (e.g. switches from player view to a camera entity during replays).
Wire id: SVC_Messages.svc_SetView = 50
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
entity_index | 1 | optional | int32 | -1 | Entity index to use as the view origin. |
slot | 2 | optional | int32 | -1 | Split-screen slot this view assignment applies to. |
CSVCMsg_FixAngle
Forces the client's view angles to specific values (used for spawn orientation resets, teleports, and some map entities).
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
relative | 1 | optional | bool | True for a relative angle delta, false for absolute. | |
angle | 2 | optional | CMsgQAngle | Target view angle (pitch, yaw, roll). |
CSVCMsg_CrosshairAngle
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
angle | 1 | optional | CMsgQAngle |
CSVCMsg_BSPDecal
Wire id: SVC_Messages.svc_BSPDecal = 53
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
pos | 1 | optional | CMsgVector | ||
decal_texture_index | 2 | optional | int32 | ||
entity_index | 3 | optional | int32 | -1 | |
model_index | 4 | optional | int32 | ||
low_priority | 5 | optional | bool |
CSVCMsg_SplitScreen
Wire id: SVC_Messages.svc_SplitScreen = 54
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
type | 1 | optional | ESplitScreenMessageType | MSG_SPLITSCREEN_ADDUSER | |
slot | 2 | optional | int32 | ||
player_index | 3 | optional | int32 | -1 |
CSVCMsg_GetCvarValue
Asks the client to report the current value of a specific convar. The client responds with CCLCMsg_RespondCvarValue.
Wire id: SVC_Messages.svc_GetCvarValue = 58
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
cookie | 1 | optional | int32 | Opaque identifier echoed back in the response for correlation. | |
cvar_name | 2 | optional | string | Name of the convar whose value is being queried. |
CSVCMsg_Menu
Wire id: SVC_Messages.svc_Menu = 57
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
dialog_type | 1 | optional | int32 | ||
menu_key_values | 2 | optional | bytes |
CSVCMsg_UserMessage
Wraps a higher-level user-message (CCSUsrMsg_*, CUserMessage*) inside a network packet for reliable delivery.
Wire id: SVC_Messages.svc_UserMessage = 72
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
msg_type | 1 | optional | int32 | User-message type ID from ECstrike15UserMessages or EBaseUserMessages. | |
msg_data | 2 | optional | bytes | Serialised protobuf payload of the specific user-message type. | |
passthrough | 3 | optional | int32 | Passthrough flag used by split-screen. |
CSVCMsg_SendTable
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
is_end | 1 | optional | bool | ||
net_table_name | 2 | optional | string | ||
needs_decoder | 3 | optional | bool | ||
props | 4 | repeated | CSVCMsg_SendTable.sendprop_t |
CSVCMsg_SendTable.sendprop_t
Referenced by (1): CSVCMsg_SendTable
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
type | 1 | optional | int32 | ||
var_name | 2 | optional | string | ||
flags | 3 | optional | int32 | ||
priority | 4 | optional | int32 | ||
dt_name | 5 | optional | string | ||
num_elements | 6 | optional | int32 | ||
low_value | 7 | optional | float | ||
high_value | 8 | optional | float | ||
num_bits | 9 | optional | int32 |
CSVCMsg_GameEventList
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
descriptors | 1 | repeated | CSVCMsg_GameEventList.descriptor_t |
CSVCMsg_GameEventList.key_t
Referenced by (1): CSVCMsg_GameEventList.descriptor_t
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
type | 1 | optional | int32 | ||
name | 2 | optional | string |
CSVCMsg_GameEventList.descriptor_t
Referenced by (1): CSVCMsg_GameEventList
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
eventid | 1 | optional | int32 | ||
name | 2 | optional | string | ||
keys | 3 | repeated | CSVCMsg_GameEventList.key_t |
CSVCMsg_PacketEntities
The most bandwidth-intensive server message; carries the delta-compressed entity-state update for all entities that changed since the client's last acknowledged snapshot.
The inner data blob is decoded using the Source 2 entity-delta codec. Demo parsers (demoinfocs-golang, etc.) spend most of their time processing this message.
Wire id: SVC_Messages.svc_PacketEntities = 55
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
max_entries | 1 | optional | int32 | Maximum entity index present in this packet. | |
updated_entries | 2 | optional | int32 | Number of entity change records in the data blob. | |
legacy_is_delta | 3 | optional | bool | Legacy flag: true for incremental updates; false for a full baseline snapshot. | |
update_baseline | 4 | optional | bool | ||
baseline | 5 | optional | int32 | Which baseline buffer (0 or 1) the data is relative to. | |
delta_from | 6 | optional | int32 | Tick that the delta originates from. | |
entity_data | 7 | optional | bytes | Binary blob of delta-encoded entity field changes. | |
pending_full_frame | 8 | optional | bool | ||
active_spawngroup_handle | 9 | optional | uint32 | ||
max_spawngroup_creationsequence | 10 | optional | uint32 | ||
last_cmd_number_executed | 11 | optional | uint32 | ||
server_tick | 12 | optional | uint32 | ||
serialized_entities | 13 | optional | bytes | ||
alternate_baselines | 15 | repeated | CSVCMsg_PacketEntities.alternate_baseline_t | ||
has_pvs_vis_bits_deprecated | 16 | optional | uint32 | ||
last_cmd_number_recv_delta | 17 | optional | sint32 | ||
non_transmitted_entities | 19 | optional | CSVCMsg_PacketEntities.non_transmitted_entities_t | ||
cq_starved_command_ticks | 20 | optional | uint32 | ||
cq_discarded_command_ticks | 21 | optional | uint32 | ||
cmd_recv_status | 22 | repeated | sint32 | ||
outofpvs_entity_updates | 23 | optional | CSVCMsg_PacketEntities.outofpvs_entity_updates_t | ||
dev_padding | 999 | optional | bytes |
CSVCMsg_PacketEntities.alternate_baseline_t
Referenced by (1): CSVCMsg_PacketEntities
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
entity_index | 1 | optional | int32 | ||
baseline_index | 2 | optional | int32 |
CSVCMsg_PacketEntities.non_transmitted_entities_t
Referenced by (1): CSVCMsg_PacketEntities
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
header_count | 1 | optional | int32 | ||
data | 2 | optional | bytes |
CSVCMsg_PacketEntities.outofpvs_entity_updates_t
Referenced by (1): CSVCMsg_PacketEntities
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
count | 1 | optional | int32 | ||
data | 2 | optional | bytes |
CSVCMsg_TempEntities
Batches one or more temporary-entity (TE) events into a single reliable message. TE events produce short-lived visual/audio effects without creating persistent server entities.
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
reliable | 1 | optional | bool | ||
num_entries | 2 | optional | int32 | Number of TE entries packed into this message. | |
entity_data | 3 | optional | bytes | Serialised list of TE event data blobs. |
CSVCMsg_CreateStringTable
Creates a new named string table on the client, initialised with the provided data blob. String tables are the primary mechanism for sharing static/semi-static lookup data (model precache, sound precache, user info, etc.).
Wire id: SVC_Messages.svc_CreateStringTable = 44
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
name | 1 | optional | string | Unique name of the string table (e.g. 'userinfo', 'modelprecache'). | |
num_entries | 2 | optional | int32 | Number of entries in the initial table. | |
user_data_fixed_size | 3 | optional | bool | True when all entries have fixed-size user-data blobs. | |
user_data_size | 4 | optional | int32 | Fixed user-data size in bytes (valid when user_data_fixed_size is true). | |
user_data_size_bits | 5 | optional | int32 | Bit-width of each user-data field. | |
flags | 6 | optional | int32 | Table flags (e.g. FSTRINGTAB_DICTIONARY_ENABLED). | |
string_data | 7 | optional | bytes | Serialised table data blob (may be compressed). | |
uncompressed_size | 8 | optional | int32 | Size of the data after decompression (0 when not compressed). | |
data_compressed | 9 | optional | bool | True when string_data is compressed. | |
using_varint_bitcounts | 10 | optional | bool | True when the serialised bit-counts are encoded as varints. |
CSVCMsg_UpdateStringTable
Incremental update to an existing string table, adding or modifying entries since the last full snapshot.
Wire id: SVC_Messages.svc_UpdateStringTable = 45
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
table_id | 1 | optional | int32 | Index of the string table to update. | |
num_changed_entries | 2 | optional | int32 | Number of changed entries in this update. | |
string_data | 3 | optional | bytes | Delta-encoded table data blob. |
CSVCMsg_VoiceData
Relays a voice-audio packet from a speaking player to all listeners.
Wire id: SVC_Messages.svc_VoiceData = 47
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
audio | 1 | optional | CMsgVoiceAudio | CMsgVoiceAudio containing the compressed audio data and format. | |
client_deprecated | 2 | optional | int32 | -1 | Deprecated. Player slot index of the speaker. |
proximity | 3 | optional | bool | True when the voice is 3D positional (proximity voice chat). | |
xuid | 4 | optional | fixed64 | ||
audible_mask | 5 | optional | int32 | Bitmask of player slots that should hear this audio. | |
tick | 6 | optional | uint32 | ||
passthrough | 7 | optional | int32 | ||
entity | 8 | optional | int32 | -1 |
CSVCMsg_PacketReliable
Reliable wrapper for delta packets that must be delivered in order and without loss (e.g. initial baseline or important game-state transitions).
Wire id: SVC_Messages.svc_PacketReliable = 61
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
tick | 1 | optional | int32 | ||
messagessize | 2 | optional | int32 | ||
state | 3 | optional | bool |
CSVCMsg_FullFrameSplit
Wire id: SVC_Messages.svc_FullFrameSplit = 70
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
tick | 1 | optional | int32 | ||
section | 2 | optional | int32 | ||
total | 3 | optional | int32 | ||
data | 4 | optional | bytes |
CSVCMsg_HLTVStatus
Wire id: SVC_Messages.svc_HLTVStatus = 62
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
master | 1 | optional | string | ||
clients | 2 | optional | int32 | ||
slots | 3 | optional | int32 | ||
proxies | 4 | optional | int32 |
CSVCMsg_ServerSteamID
Wire id: SVC_Messages.svc_ServerSteamID = 63
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
steam_id | 1 | optional | uint64 |
CSVCMsg_CmdKeyValues
Wire id: SVC_Messages.svc_CmdKeyValues = 52
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
data | 1 | optional | bytes |
CSVCMsg_RconServerDetails
Wire id: SVC_Messages.svc_RconServerDetails = 71
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
token | 1 | optional | bytes | ||
details | 2 | optional | string |
CMsgIPCAddress
Referenced by (1): CMsgServerPeer
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
computer_guid | 1 | optional | fixed64 | ||
process_id | 2 | optional | uint32 |
CMsgServerPeer
Referenced by (1): CSVCMsg_PeerList
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
player_slot | 1 | optional | int32 | -1 | |
steamid | 2 | optional | fixed64 | ||
ipc | 3 | optional | CMsgIPCAddress | ||
they_hear_you | 4 | optional | bool | ||
you_hear_them | 5 | optional | bool | ||
is_listenserver_host | 6 | optional | bool |
CSVCMsg_PeerList
Wire id: SVC_Messages.svc_PeerList = 60
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
peer | 1 | repeated | CMsgServerPeer |
CSVCMsg_ClearAllStringTables
Wire id: SVC_Messages.svc_ClearAllStringTables = 51
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
mapname | 1 | optional | string | ||
create_tables_skipped | 3 | optional | bool |
ProtoFlattenedSerializerField_t
Referenced by (1): CSVCMsg_FlattenedSerializer
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
var_type_sym | 1 | optional | int32 | ||
var_name_sym | 2 | optional | int32 | ||
bit_count | 3 | optional | int32 | ||
low_value | 4 | optional | float | ||
high_value | 5 | optional | float | ||
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 | optional | int32 | ||
polymorphic_types | 11 | repeated | ProtoFlattenedSerializerField_t.polymorphic_field_t | ||
var_serializer_sym | 12 | optional | int32 |
ProtoFlattenedSerializerField_t.polymorphic_field_t
Referenced by (1): ProtoFlattenedSerializerField_t
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
polymorphic_field_serializer_name_sym | 1 | optional | int32 | ||
polymorphic_field_serializer_version | 2 | optional | int32 |
ProtoFlattenedSerializer_t
Referenced by (1): CSVCMsg_FlattenedSerializer
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
serializer_name_sym | 1 | optional | int32 | ||
serializer_version | 2 | optional | int32 | ||
fields_index | 3 | repeated | int32 |
CSVCMsg_FlattenedSerializer
Wire id: SVC_Messages.svc_FlattenedSerializer = 41
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
serializers | 1 | repeated | ProtoFlattenedSerializer_t | ||
symbols | 2 | repeated | string | ||
fields | 3 | repeated | ProtoFlattenedSerializerField_t |
CSVCMsg_StopSound
Wire id: SVC_Messages.svc_StopSound = 59
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
guid | 1 | optional | fixed32 |
CBidirMsg_RebroadcastGameEvent
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
posttoserver | 1 | optional | bool | ||
buftype | 2 | optional | int32 | ||
clientbitcount | 3 | optional | uint32 | ||
receivingclients | 4 | optional | uint64 |
CBidirMsg_RebroadcastSource
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
eventsource | 1 | optional | int32 |
CBidirMsg_PredictionEvent
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
event_id | 1 | optional | uint32 | ||
event_data | 2 | optional | bytes | ||
sync_type | 3 | optional | uint32 | ||
sync_val_uint32 | 4 | optional | uint32 |
CBidirMsg_PredictionEvent.ESyncType
| Name | Number | Message |
|---|---|---|
ST_Tick | 0 | |
ST_UserCmdNum | 1 |
CMsgServerNetworkStats
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
dedicated | 1 | optional | bool | ||
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 | int32 | ||
fps | 12 | optional | float | ||
ports | 17 | repeated | CMsgServerNetworkStats.Port | ||
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 | float | ||
total_data_in | 26 | optional | uint64 | ||
total_packets_in | 27 | optional | uint64 | ||
total_data_out | 28 | optional | uint64 | ||
total_packets_out | 29 | optional | uint64 | ||
players | 30 | repeated | CMsgServerNetworkStats.Player |
CMsgServerNetworkStats.Port
Referenced by (1): CMsgServerNetworkStats
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
port | 1 | optional | int32 | ||
name | 2 | optional | string |
CMsgServerNetworkStats.Player
Referenced by (1): CMsgServerNetworkStats
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
steamid | 1 | optional | uint64 | ||
remote_addr | 2 | optional | string | ||
ping_avg_ms | 4 | optional | int32 | ||
packet_loss_pct | 5 | optional | float | ||
is_bot | 6 | optional | bool | ||
loss_in | 7 | optional | float | ||
loss_out | 8 | optional | float | ||
engine_latency_ms | 9 | optional | int32 |
CSVCMsg_HltvReplay
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
delay | 1 | optional | int32 | ||
primary_target | 2 | optional | int32 | -1 | |
replay_stop_at | 3 | optional | int32 | ||
replay_start_at | 4 | optional | int32 | ||
replay_slowdown_begin | 5 | optional | int32 | ||
replay_slowdown_end | 6 | optional | int32 | ||
replay_slowdown_rate | 7 | optional | float | ||
reason | 8 | optional | int32 |
CCLCMsg_HltvReplay
Wire id: CLC_Messages.clc_HltvReplay = 36
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
request | 1 | optional | int32 | ||
slowdown_length | 2 | optional | float | ||
slowdown_rate | 3 | optional | float | ||
primary_target | 4 | optional | int32 | -1 | |
event_time | 5 | optional | float |
CSVCMsg_Broadcast_Command
Wire id: SVC_Messages.svc_Broadcast_Command = 74
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
cmd | 1 | optional | string |
CCLCMsg_HltvFixupOperatorTick
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
tick | 1 | optional | int32 | ||
props_data | 2 | optional | bytes | ||
origin | 3 | optional | CMsgVector | ||
eye_angles | 4 | optional | CMsgQAngle | ||
observer_mode | 5 | optional | int32 | ||
cameraman_scoreboard | 6 | optional | bool | ||
observer_target | 7 | optional | int32 | ||
view_offset | 8 | optional | CMsgVector |
CSVCMsg_HltvFixupOperatorStatus
Wire id: SVC_Messages.svc_HltvFixupOperatorStatus = 75
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
mode | 1 | optional | uint32 | ||
override_operator_name | 2 | optional | string |
CMsgServerUserCmd
Referenced by (1): CSVCMsg_UserCommands
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
data | 1 | optional | bytes | ||
cmd_number | 2 | optional | int32 | ||
player_slot | 3 | optional | int32 | -1 | |
server_tick_executed | 4 | optional | int32 | ||
client_tick | 5 | optional | int32 | ||
delta_data | 6 | optional | bytes |
CSVCMsg_UserCommands
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
commands | 1 | repeated | CMsgServerUserCmd |
CSVCMsg_NextMsgPredicted
Wire id: SVC_Messages.svc_NextMsgPredicted = 77
| Field | Number | Label | Type | Default | Description |
|---|---|---|---|---|---|
predicted_by_player_slot | 1 | optional | int32 | -1 | |
message_type_id | 2 | optional | uint32 |
Reference graph
Message reference graph (28 edges)
flowchart LR
n0["CCLCMsg_VoiceData"]
n1["CMsgVoiceAudio"]
n0 --> n1
n2["CCLCMsg_Diagnostic"]
n3["CMsgSource2SystemSpecs"]
n2 --> n3
n4["CMsgSource2VProfLiteReport"]
n2 --> n4
n5["CMsgSource2NetworkFlowQuality"]
n2 --> n5
n6["CMsgSource2PerfIntervalSample"]
n2 --> n6
n7["CSVCMsg_ServerInfo"]
n8["CSVCMsg_GameSessionConfiguration"]
n7 --> n8
n9["CSVCMsg_ClassInfo"]
n10["CSVCMsg_ClassInfo.class_t"]
n9 --> n10
n11["CSVCMsg_Sounds"]
n12["CSVCMsg_Sounds.sounddata_t"]
n11 --> n12
n13["CSVCMsg_FixAngle"]
n14["CMsgQAngle"]
n13 --> n14
n15["CSVCMsg_CrosshairAngle"]
n15 --> n14
n16["CSVCMsg_BSPDecal"]
n17["CMsgVector"]
n16 --> n17
n18["CSVCMsg_SendTable"]
n19["CSVCMsg_SendTable.sendprop_t"]
n18 --> n19
n20["CSVCMsg_GameEventList"]
n21["CSVCMsg_GameEventList.descriptor_t"]
n20 --> n21
n22["CSVCMsg_GameEventList.key_t"]
n21 --> n22
n23["CSVCMsg_PacketEntities"]
n24["CSVCMsg_PacketEntities.alternate_baseline_t"]
n23 --> n24
n25["CSVCMsg_PacketEntities.non_transmitted_entities_t"]
n23 --> n25
n26["CSVCMsg_PacketEntities.outofpvs_entity_updates_t"]
n23 --> n26
n27["CSVCMsg_VoiceData"]
n27 --> n1
n28["CMsgServerPeer"]
n29["CMsgIPCAddress"]
n28 --> n29
n30["CSVCMsg_PeerList"]
n30 --> n28
n31["ProtoFlattenedSerializerField_t"]
n32["ProtoFlattenedSerializerField_t.polymorphic_field_t"]
n31 --> n32
n33["CSVCMsg_FlattenedSerializer"]
n34["ProtoFlattenedSerializer_t"]
n33 --> n34
n33 --> n31
n35["CMsgServerNetworkStats"]
n36["CMsgServerNetworkStats.Port"]
n35 --> n36
n37["CMsgServerNetworkStats.Player"]
n35 --> n37
n38["CCLCMsg_HltvFixupOperatorTick"]
n38 --> n17
n38 --> n14
n39["CSVCMsg_UserCommands"]
n40["CMsgServerUserCmd"]
n39 --> n40