Purple Martians
Technical Code Descriptions
Netgame - Packets
Overview
Client Data
State Exchange
New Client Setup
Ping, Pang and Pong
Server Remote Control and Monitoring
Server Client File Transfer
Overview
Detailed descriptions of all of the packet types used in netgame.
Client Data
Packet: 'cdat'
description: 'client data'
direction: client to server
- 1 byte (player)
- 4 bytes (frame_num)
- 1 byte (comp move of control change)
State Exchange
Packet: 'stdf'
description: 'state dif'
direction: server to client
- 4 bytes (source frame_num)
- 4 bytes (destination frame_num)
- 1 byte (packet sequence num)
- 1 byte (packet sequence total)
- 4 bytes (data start byte)
- 4 bytes (data size)
- up to 1000 bytes of data
Packet: 'stak'
description: 'state acknowledge'
direction: client to server
- 1 byte (player)
- 4 bytes (client_state_base_frame_num)
- 4 bytes (client_frame_num)
- 8 bytes double (client_chase_fps)
- 8 bytes double (dsync_avg)
- 1 byte (rewind)
- 8 bytes double (client_loc_plr_cor)
- 8 bytes double (client_rmt_plr_cor)
- 8 bytes double (cpu)
New Client Setup
Packet: 'cjon'
description: 'client join'
direction: client to server
- 1 byte (requested color)
- 16 bytes (client hostname)
Packet: 'sjon'
description: 'server join'
direction: server to client
- 4 bytes (play level)
- 4 bytes (server frame_num)
- 1 byte (player number)
- 1 byte (player color)
- 1 byte (server level sequence number)
Ping, Pang and Pong
Packet: 'ping'
description: 'ping'
direction: client to server
- 8 bytes double (ping timestamp)
Packet: 'pong'
description: 'pong'
direction: server to client
- 8 bytes double (ping timestamp)
- 8 bytes double (pong timestamp)
Packet: 'pang'
description: 'pang'
direction: client to server
- 8 bytes double (pong timestamp)
Server Remote Control and Monitoring
Packet: 'cjrc'
description: 'client join remote control'
direction: client to server
no data
Packet: 'sjrc'
description: 'server accept client join remote control'
direction: server to client
no data
Packet: 'snfo'
description: 'server info'
direction: server to client
- 4 bytes (frame_num)
- 1 byte (packet sequence num)
- 1 byte (packet sequence total)
- 4 bytes (data start byte)
- 4 bytes (data size)
- up to 1000 bytes of data
Packet: 'rctl'
description: 'server remote control'
direction: client to server
- 4 bytes (type)
- 8 bytes double (val)
Server Client File Transfer
Packet: 'clrf'
description: 'client request file'
direction: client to server
no data
Packet: 'srrf'
description: 'server reply to clrf'
direction: server to client
- 1 bytes (reply value)
Packet: 'sfil'
description: 'server file'
direction: server to client
- 4 bytes (id)
- 1 byte (packet sequence num)
- 1 byte (packet sequence total)
- 4 bytes (data start byte)
- 4 bytes (data size)
- 4 bytes (uncompressed file size)
- up to 1000 bytes of data
Packet: 'sfak'
description: 'sfil acknowledge'
direction: client to server
- 4 bytes (id)