X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclientserver.h;h=0f6925696c636c418671b14884874174b38095bf;hb=f97d4355beb79370d3bc69ea6baabb33ed90a8cd;hp=66ee58473e5a83e2c069d09fd75600f426dc4368;hpb=c57637b4c39319e0c0d5d80d0ae2884aec66d691;p=minetest.git diff --git a/src/clientserver.h b/src/clientserver.h index 66ee58473..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,14 +38,18 @@ enum ToClientCommand [0] u16 TOSERVER_INIT [2] u8 deployed version - [3] v3s16 player's position + v3f(0,BS/2,0) floatToInt'd + [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: @@ -61,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 @@ -83,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 @@ -117,6 +127,8 @@ enum ToClientCommand for all added objects { u16 id u8 type + u32 initialization data length + string initialization data } */ @@ -131,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 @@ -142,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, @@ -152,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, /* @@ -183,7 +235,7 @@ enum ToServerCommand ... */ - TOSERVER_ADDNODE_FROM_INVENTORY = 0x26, // deprecated + TOSERVER_ADDNODE_FROM_INVENTORY = 0x26, // Obsolete /* [0] u16 command [2] v3s16 pos @@ -215,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 @@ -238,6 +290,50 @@ enum ToServerCommand wstring message */ + TOSERVER_SIGNNODETEXT = 0x33, + /* + u16 command + v3s16 p + u16 textlen + textdata + */ + + TOSERVER_CLICK_ACTIVEOBJECT = 0x34, + /* + length: 7 + [0] u16 command + [2] u8 button (0=left, 1=right) + [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)