]> git.lizzy.rs Git - minetest.git/blobdiff - src/clientserver.h
New kind of tool speed and wear calculation thingy
[minetest.git] / src / clientserver.h
index a64a11f08a858d0f387036bce21fec32c07458cd..0f6925696c636c418671b14884874174b38095bf 100644 (file)
@@ -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,
@@ -34,7 +39,7 @@ 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))
+               [12] u64 map seed (new as of 2011-02-27)
 
                NOTE: The position in here is deprecated; position is
                      explicitly sent afterwards
@@ -87,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
@@ -121,7 +127,7 @@ enum ToClientCommand
                for all added objects {
                        u16 id
                        u8 type
-                       u16 initialization data length
+                       u32 initialization data length
                        string initialization data
                }
        */
@@ -154,6 +160,26 @@ enum ToClientCommand
        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)
        */
 };
 
@@ -166,7 +192,8 @@ enum ToServerCommand
                [0] u16 TOSERVER_INIT
                [2] u8 SER_FMT_VER_HIGHEST
                [3] u8[20] player_name
-               [23] u8[28] password
+               [23] u8[28] password (new in some version)
+               [51] u16 client network protocol version (new in some version)
        */
 
        TOSERVER_INIT2 = 0x11,
@@ -285,6 +312,28 @@ enum ToServerCommand
                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<u8> makePacket_TOCLIENT_TIME_OF_DAY(u16 time)