Skip to content

System Messages

This page describes the system messages structure, all kind of system messages available and its purpose.

Message IDName
0Unused
1NETMSG_INFO
2NETMSG_MAP_CHANGE
3NETMSG_MAP_DATA
4NETMSG_CON_READY
5NETMSG_SNAP
6NETMSG_SNAPEMPTY
7NETMSG_SNAPSINGLE
8Unused
9NETMSG_INPUTTIMING
10NETMSG_RCON_AUTH_ON
11NETMSG_RCON_LINE
12Unused
13Unused
14NETMSG_READY
15NETMSG_ENTERGAME
16NETMSG_INPUT
17NETMSG_RCON_CMD
18NETMSG_RCON_AUTH
19NETMSG_REQUEST_MAP_DATA
20Unused
21Unused
22NETMSG_PING
23NETMSG_PING_REPLY
24Unused
25NETMSG_RCON_CMD_ADD
26NETMSG_RCON_CMD_REM

1 - NETMSG_INFO

The first message sent by the client. It gives the server the client's version and optional password.

  • Vital : ✅
  • Instant Sending : ✅
  • Sending Path : Client -> Server

Structure:

FieldTypeDescription
VersionStringThe client version string.
PasswordStringThe server password, if needed. May be empty.
Client VersionIntegerA numeric client version identifier.

2 - NETMSG_MAP_CHANGE

Sent by the server when the client should switch to a different map.

  • Vital : ✅
  • Instant Sending : ✅
  • Sending Path : Server -> Client

Structure:

FieldTypeDescription
Map NameStringThe name of the map.
Map CRCIntegerThe CRC checksum of the map.
Map SizeIntegerTotal map size in bytes.
Chunks Per RequestIntegerNumber of map chunks the server sends per NETMSG_REQUEST_MAP_DATA request.
Chunk SizeIntegerSize of each map chunk in bytes.
Map SHA256Binary (32 bytes)SHA256 digest of the map.

3 - NETMSG_MAP_DATA

Sent by the server to transfer a raw chunk of the map file.

  • Vital : ✅
  • Instant Sending : ✅
  • Sending Path : Server -> Client

Structure:

FieldTypeDescription
DataBinaryRaw map chunk data.

4 - NETMSG_CON_READY

Sent by the server when the connection is ready and the client should send its start info.

  • Vital : ✅
  • Instant Sending : ✅
  • Sending Path : Server -> Client

Structure:

Empty payload

5 - NETMSG_SNAP

This message sends a slice of a snap with part of the items.

  • Vital : ❌
  • Instant Sending : ✅
  • Sending Path : Server -> Client

INFO

Snap is a complex type of chunk. You can find more information about it on Snap Structure page.

6 - NETMSG_SNAPEMPTY

This message sends an empty snap with no items.

  • Vital : ❌
  • Instant Sending : ✅
  • Sending Path : Server -> Client

INFO

Snap is a complex type of chunk. You can find more information about it on Snap Structure page.

7 - NETMSG_SNAPSINGLE

This message sends a full snap with all items in a single packet.

  • Vital : ❌
  • Instant Sending : ✅
  • Sending Path : Server -> Client

INFO

Snap is a complex type of chunk. You can find more information about it on Snap Structure page.

9 - NETMSG_INPUTTIMING

This message is a response from the server to the client "INPUT" chunk, reporting how early or late the input was handled.

  • Vital : ❌
  • Instant Sending : ❌
  • Sending Path : Server -> Client

Structure:

FieldTypeDescription
Intended TickIntegerThe game tick the client intended its input for.
Time LeftIntegerTime left before the intended tick, in milliseconds. Negative values mean the input was late.

INFO

Check the Input & Input Timing Chunks section for more information about this chunk.

10 - NETMSG_RCON_AUTH_ON

Sent by the server to indicate that the client has been authenticated for rcon.

  • Vital : ✅
  • Instant Sending : ❌
  • Sending Path : Server -> Client

Structure:

Empty payload

11 - NETMSG_RCON_LINE

Sent by the server to print a line to the remote console on the client.

  • Vital : ✅
  • Instant Sending : ❌
  • Sending Path : Server -> Client

Structure:

FieldTypeDescription
LineStringThe text line to print in the client's remote console.

14 - NETMSG_READY

Sent by the client after it has loaded the map and is ready.

  • Vital : ✅
  • Instant Sending : ✅
  • Sending Path : Client -> Server

Structure:

Empty payload

15 - NETMSG_ENTERGAME

Sent by the client to tell the server to start sending snapshots.

  • Vital : ❌
  • Instant Sending : ✅
  • Sending Path : Client -> Server

Structure:

Empty payload

16 - NETMSG_INPUT

This message is sent by the client to the server with the player's input.

  • Vital : ❌
  • Instant Sending : ✅
  • Sending Path : Client -> Server

Structure:

FieldTypeDescription
Ack Game TickIntegerThe last acknowledged server game tick.
Prediction TickIntegerThe game tick the client is predicting with this input.
Input SizeIntegerTotal size of the raw input data in bytes.
Input -> DirectionIntegerDirection the player is moving: -1 = left, 0 = neutral, 1 = right.
Input -> Target XIntegerX coordinate of the crosshair / target position.
Input -> Target YIntegerY coordinate of the crosshair / target position.
Input -> JumpIntegerJump input state.
Input -> FireIntegerFire input state.
Input -> HookIntegerHook input state.
Input -> PlayerFlagsIntegerPlayer flags for this input (e.g. chatting, scoreboard).
Input -> WantedWeaponIntegerDirect weapon slot selection. 0 = no desired weapon, 1+weapon = desired weapon.
Input -> NextWeaponIntegerNext weapon cycle input.
Input -> PrevWeaponIntegerPrevious weapon cycle input.
Ping CorrectionIntegerClient-reported ping correction for latency calculation.

INFO

Check the Input & Input Timing Chunks section for more information about this chunk.

17 - NETMSG_RCON_CMD

Sent by the client to execute a command on the server through the remote console.

  • Vital : ✅
  • Instant Sending : ❌
  • Sending Path : Client -> Server

Structure:

FieldTypeDescription
CommandStringThe command to be executed.

18 - NETMSG_RCON_AUTH

Sent by the client to authenticate for rcon access, containing the password.

  • Vital : ✅
  • Instant Sending : ❌
  • Sending Path : Client -> Server

Structure:

FieldTypeDescription
PasswordStringThe rcon password used to authenticate.

19 - NETMSG_REQUEST_MAP_DATA

Sent by the client to request the next chunk of map data.

  • Vital : ✅
  • Instant Sending : ✅
  • Sending Path : Client -> Server

Structure:

FieldTypeDescription
ChunkIntegerThe map chunk index being requested.

22 - NETMSG_PING

Sent by either side to request a pong response.

  • Vital : ❌
  • Instant Sending : ❌
  • Sending Path : Both ways

Structure:

Empty payload

23 - NETMSG_PING_REPLY

Sent by either side as a reply to a NETMSG_PING.

  • Vital : ❌
  • Instant Sending : ❌
  • Sending Path : Both ways

Structure:

Empty payload

25 - NETMSG_RCON_CMD_ADD

Sent by the server to inform an authenticated client about a newly available rcon command.

  • Vital : ✅
  • Instant Sending : ❌
  • Sending Path : Server -> Client

Structure:

FieldTypeDescription
NameStringCommand name.
HelpStringHelp text describing the command.
ParamsStringParameter format string for the command.

26 - NETMSG_RCON_CMD_REM

Sent by the server to inform an authenticated client that a rcon command is no longer available.

  • Vital : ✅
  • Instant Sending : ❌
  • Sending Path : Server -> Client

Structure:

FieldTypeDescription
NameStringName of the command to remove.