4 Offset Size Type Description
5 0 4 data protocol tag, must be 0xFB1AB1AF
6 4 2 uint sequence number
8 8 4 data bitfield with previous acks
9 12 1 uint type code for the payload
10 13 3 none padding, reserved for future use
11 16 0-484 data payload, contents and length vary,
12 mostly depending on the type code
14 all multibyte values are in LE
15 the current code does no conversion, so only works on machines
16 with native LE (or BE if the server and all clients are on that,
17 but that's by accident and will break if conversion code is ever
24 vec3 12 3x 32bit float
25 vec3i 12 3x 32bit signed int
26 quat 16 4x 32bit float
27 entity state 64 vec3i, vec3, vec3, quat, vec3
36 To tell the other side we're still alive.
37 Both server and client will send this if they haven't sent something in
48 Sent from client to serveri as a request to join. The server may
49 respond negatively if the player name is already taken or some cap has
54 0 player name, max 32 byte UTF-8 string,
55 shorter names should be zero terminated
62 Sent by the server either as a response to a successful login or when
67 0 entity ID of the player, 32bit unsigned int
68 4 entity state of the player
69 68 name of the world the server's currently running
70 max 32 byte UTF-8 string
77 Sent by the server either as a respons to a failed login or when the
79 Optionally sent by the client on disconnect.
89 Sent by clients to notify the server of their changes to the player.
93 0 entity state of the player as seen by the client
100 Sent by the server to notify the client of an entity entering spawn range.
104 0 entity ID, 32bit unsigned int
105 4 entity's skeleton ID, 32bit unsigned int
107 72 bounding box of the entity, 6x 32bit float
108 96 flags, 32bit bitfield with boolean values
110 100 entity name, max 32 byte UTF-8 string
117 Sent by the server to notify the client of an entity leaving spawn range.
121 0 entity ID, 32bit unsigned int
128 Sent by the server to notify the client of updated entity properties.
129 Contained entities must be ordered by ascending entity ID.
133 0 number of entities, 32bit int, 1-7
134 4 entity ID, 32bit unsigned int
137 Length: 4 + multiple of 68, max 452
143 Sent by the server to tell a client that its prediction is way off.
147 0 sequence number of the offending packet, 16bit unsigned int
148 2 entity state of the player's entity on the server
155 Sent by the server to inform the client of an upcoming chunk transmission.
159 0 transmission ID, used for reference with Chunk Data packets, 32bit unsigned int
160 4 flags, 32bit bitfield with boolean values
162 8 chunk coordinates, vec3i
163 20 data size, 32bit unsigned int
170 Raw chunk data sent by the server, optionally compressed with zlib.
174 0 transmission ID, references the Chunk Begin packet this data belongs to, 32bit unsigned int
175 4 block offset, offset of this block inside the whole data, 32bit unsigned int
176 8 block size, size of the data block, 32bit unsigned int