+Structure
+=========
+
+Offset Size Type Description
+ 0 4 data protocol tag, must be 0xFB1AB1AF
+ 4 2 uint sequence number
+ 6 2 uint sequence ack
+ 8 4 data bitfield with previous acks
+12 1 uint type code for the payload
+13 3 none padding, reserved for future use
+16 0-484 data payload, contents and length vary,
+ mostly depending on the type code
+
+all multibyte values are in LE
+the current code does no conversion, so only works on machines
+with native LE (or BE if the server and all clients are on that,
+but that's by accident and will break if conversion code is ever
+added)
+
+
Packets
=======
Code: 0
Payload: none
+Length: 0
Login
Payload:
0 player name, max 32 byte UTF-8 string,
shorter names should be zero terminated
+Length: 0-32
Join
16 pos/vel/rot/ang of the player, 13x 32bit float
68 name of the world the server's currently running
max 32 byte UTF-8 string
+Length: 68-100
Part
Code: 3
Payload: none
+Length: 0
+
+
+Player Update
+-------------
+
+Sent by clients to notify the server of their changes to the player.
+
+Code: 4
+Payload:
+ 0 chunk coords of the player, 3x 32bit signed int
+ 12 pos/vel/rot/ang of the player, 13x 32bit float
+Length: 64