X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclientserver.h;h=0f6925696c636c418671b14884874174b38095bf;hb=f97d4355beb79370d3bc69ea6baabb33ed90a8cd;hp=fadafed5fe4dbe53b82a0dc7794eaacd9eea476d;hpb=fd7a0735c9aeaa7978190049319e3cdfe48920a4;p=minetest.git diff --git a/src/clientserver.h b/src/clientserver.h index fadafed5f..0f6925696 100644 --- a/src/clientserver.h +++ b/src/clientserver.h @@ -22,8 +22,13 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "utility.h" +#define PROTOCOL_VERSION 3 + #define PROTOCOL_ID 0x4f457403 +#define PASSWORD_SIZE 28 // Maximum password length. Allows for + // base64-encoded SHA-1 (27+\0). + enum ToClientCommand { TOCLIENT_INIT = 0x10, @@ -33,15 +38,18 @@ enum ToClientCommand [0] u16 TOSERVER_INIT [2] u8 deployed version - [3] v3s16 player's position + v3f(0,BS/2,0) floatToInt'd - [4] u64 map seed (new as of 2011-02-27) + [3] v3s16 player's position + v3f(0,BS/2,0) floatToInt'd + [12] u64 map seed (new as of 2011-02-27) + + NOTE: The position in here is deprecated; position is + explicitly sent afterwards */ TOCLIENT_BLOCKDATA = 0x20, //TODO: Multiple blocks TOCLIENT_ADDNODE = 0x21, TOCLIENT_REMOVENODE = 0x22, - TOCLIENT_PLAYERPOS = 0x23, + TOCLIENT_PLAYERPOS = 0x23, // Obsolete /* [0] u16 command // Followed by an arbitary number of these: @@ -62,9 +70,9 @@ enum ToClientCommand [N] char[20] name */ - TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Not used + TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete - TOCLIENT_SECTORMETA = 0x26, // Not used + TOCLIENT_SECTORMETA = 0x26, // Obsolete /* [0] u16 command [2] u8 sector count @@ -84,6 +92,7 @@ enum ToClientCommand u16 command u16 number of player positions for each player: + u16 peer_id v3s32 position*100 v3s32 speed*100 s32 pitch*100 @@ -118,7 +127,7 @@ enum ToClientCommand for all added objects { u16 id u8 type - u16 initialization data length + u32 initialization data length string initialization data } */ @@ -134,6 +143,44 @@ enum ToClientCommand } */ + TOCLIENT_HP = 0x33, + /* + u16 command + u8 hp + */ + + TOCLIENT_MOVE_PLAYER = 0x34, + /* + u16 command + v3f1000 player position + f1000 player pitch + f1000 player yaw + */ + + TOCLIENT_ACCESS_DENIED = 0x35, + /* + u16 command + u16 reason_length + wstring reason + */ + + TOCLIENT_PLAYERITEM = 0x36, + /* + u16 command + u16 count of player items + for all player items { + u16 peer id + u16 length of serialized item + string serialized item + } + */ + + TOCLIENT_DEATHSCREEN = 0x37, + /* + u16 command + u8 bool set camera point target + v3f1000 camera point target (to point the death cause or whatever) + */ }; enum ToServerCommand @@ -145,6 +192,8 @@ enum ToServerCommand [0] u16 TOSERVER_INIT [2] u8 SER_FMT_VER_HIGHEST [3] u8[20] player_name + [23] u8[28] password (new in some version) + [51] u16 client network protocol version (new in some version) */ TOSERVER_INIT2 = 0x11, @@ -155,9 +204,9 @@ enum ToServerCommand [0] u16 TOSERVER_INIT2 */ - TOSERVER_GETBLOCK=0x20, // Not used - TOSERVER_ADDNODE = 0x21, // Not used - TOSERVER_REMOVENODE = 0x22, // deprecated + TOSERVER_GETBLOCK=0x20, // Obsolete + TOSERVER_ADDNODE = 0x21, // Obsolete + TOSERVER_REMOVENODE = 0x22, // Obsolete TOSERVER_PLAYERPOS = 0x23, /* @@ -186,7 +235,7 @@ enum ToServerCommand ... */ - TOSERVER_ADDNODE_FROM_INVENTORY = 0x26, // deprecated + TOSERVER_ADDNODE_FROM_INVENTORY = 0x26, // Obsolete /* [0] u16 command [2] v3s16 pos @@ -218,9 +267,9 @@ enum ToServerCommand 3: digging completed */ - TOSERVER_RELEASE = 0x29, // Not used + TOSERVER_RELEASE = 0x29, // Obsolete - TOSERVER_SIGNTEXT = 0x30, + TOSERVER_SIGNTEXT = 0x30, // Old signs /* u16 command v3s16 blockpos @@ -257,7 +306,34 @@ enum ToServerCommand [3] u16 id [5] u16 item */ + + TOSERVER_DAMAGE = 0x35, + /* + u16 command + u8 amount + */ + + TOSERVER_PASSWORD=0x36, + /* + Sent to change password. + + [0] u16 TOSERVER_PASSWORD + [2] u8[28] old password + [30] u8[28] new password + */ + + TOSERVER_PLAYERITEM=0x37, + /* + Sent to change selected item. + [0] u16 TOSERVER_PLAYERITEM + [2] u16 item + */ + + TOSERVER_RESPAWN=0x38, + /* + u16 TOSERVER_RESPAWN + */ }; inline SharedBuffer makePacket_TOCLIENT_TIME_OF_DAY(u16 time)