X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=doc%2Fprotocol;h=3347158e516ff7b567dbd101e65535d7213f3378;hb=1a3912b055be2f9143d4f5c7f01678ca5661ab53;hp=749e0995c775aa490294caff56c7bda6f8aa202b;hpb=8507332e2d0c54aec4045fb6f0021bdc3bd57750;p=blank.git diff --git a/doc/protocol b/doc/protocol index 749e099..3347158 100644 --- a/doc/protocol +++ b/doc/protocol @@ -90,8 +90,13 @@ Sent by clients to notify the server of their changes to the player. Code: 4 Payload: - 0 entity state of the player as seen by the client -Length: 64 + 0 player's entity state as predicted by the client + 64 movement input, 3x 16bit signed int, each component mapped from [-1,1] to [-32767,32767] + 70 pitch input, 16bit signed int, mapped from [-PI/2,PI/2] to [-32767,32767] + 72 yaw input, 16bit signed int, mapped from [-PI,PI] to [-32767,32767] + 74 active actions, 8bit bit field, first three bits are primary, secondary, and tertiary + 75 selected inventory slot, 8bit unsigned int +Length: 76 Spawn Entity @@ -108,7 +113,7 @@ Payload: 96 flags, 32bit bitfield with boolean values 1: world collision 100 entity name, max 32 byte UTF-8 string -Length: 132 +Length: 100 - 132 Despawn Entity @@ -134,7 +139,7 @@ Payload: 4 entity ID, 32bit unsigned int 8 entity state 72 next entity... -Length: 4 + multiple of 68, max 452 +Length: 4 + multiple of 68, max 480 Player Correction @@ -147,3 +152,47 @@ Payload: 0 sequence number of the offending packet, 16bit unsigned int 2 entity state of the player's entity on the server Length: 66 + + +Chunk Begin +----------- + +Sent by the server to inform the client of an upcoming chunk transmission. + +Code: 9 +Payload: + 0 transmission ID, used for reference with Chunk Data packets, 32bit unsigned int + 4 flags, 32bit bitfield with boolean values + 1: compressed + 8 chunk coordinates, vec3i + 20 data size, 32bit unsigned int +Length: 24 + + +Chunk Data +---------- + +Raw chunk data sent by the server, optionally compressed with zlib. + +Code: 10 +Payload: + 0 transmission ID, references the Chunk Begin packet this data belongs to, 32bit unsigned int + 4 block offset, offset of this block inside the whole data, 32bit unsigned int + 8 block size, size of the data block, 32bit unsigned int + 12 data, raw data +Length: 12-484 + + +Block Update +------------ + +Sent by the server whenever one or more block in a chunk have changed. + +Code: 11 +Payload: + 0 chunk coordinates, vec3i + 12 number of blocks, 32bit unsigned int, 1-78 + 16 first block index, 16bit unsigned int + 18 first block data, 32bit + 22 second block index... +Length: 16 + multiple of 6, max 484