#ifndef CLIENTSERVER_HEADER
#define CLIENTSERVER_HEADER
+#include "util/string.h"
/*
changes by PROTOCOL_VERSION:
version, heat and humidity transfer in MapBock
automatic_face_movement_dir and automatic_face_movement_dir_offset
added to object properties
+ PROTOCOL_VERSION 22:
+ add swap_node
+ PROTOCOL_VERSION 23:
+ TOSERVER_CLIENT_READY
*/
-#define LATEST_PROTOCOL_VERSION 22
+#define LATEST_PROTOCOL_VERSION 23
// Server's supported network protocol range
#define SERVER_PROTOCOL_VERSION_MIN 13
#define PASSWORD_SIZE 28 // Maximum password length. Allows for
// base64-encoded SHA-1 (27+\0).
+#define FORMSPEC_API_VERSION 1
+#define FORMSPEC_VERSION_STRING "formspec_version[" TOSTRING(FORMSPEC_API_VERSION) "]"
+
#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
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)
[20] f1000 recommended send interval (in seconds) (new as of 14)
u8 keep_metadata // Added in protocol version 22
*/
TOCLIENT_REMOVENODE = 0x22,
-
+
TOCLIENT_PLAYERPOS = 0x23, // Obsolete
/*
[0] u16 command
[N] u16 peer_id
[N] char[20] name
*/
-
+
TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete
TOCLIENT_SECTORMETA = 0x26, // Obsolete
[0] u16 command
[2] serialized inventory
*/
-
+
TOCLIENT_OBJECTDATA = 0x28, // Obsolete
/*
Sent as unreliable.
string initialization data
}
*/
-
+
TOCLIENT_ACTIVE_OBJECT_MESSAGES = 0x32,
/*
u16 command
u16 length of remote media server url (if applicable)
string url
*/
-
+
TOCLIENT_TOOLDEF = 0x39,
/*
u16 command
u32 length of the next item
serialized ToolDefManager
*/
-
+
TOCLIENT_NODEDEF = 0x3a,
/*
u16 command
u32 length of the next item
serialized NodeDefManager
*/
-
+
TOCLIENT_CRAFTITEMDEF = 0x3b,
/*
u16 command
u32 length of next item
serialized ItemDefManager
*/
-
+
TOCLIENT_PLAY_SOUND = 0x3f,
/*
u16 command
u32 dir
v2f1000 align
v2f1000 offset
+ v3f1000 world_pos
+ v2s32 size
*/
TOCLIENT_HUDRM = 0x4a,
u8 do_override (boolean)
u16 day-night ratio 0...65535
*/
+
+ TOCLIENT_LOCAL_PLAYER_ANIMATIONS = 0x51,
+ /*
+ u16 command
+ v2s32 stand/idle
+ v2s32 walk
+ v2s32 dig
+ v2s32 walk+dig
+ f1000 frame_speed
+ */
+
+ TOCLIENT_EYE_OFFSET = 0x52,
+ /*
+ u16 command
+ v3f1000 first
+ v3f1000 third
+ */
};
enum ToServerCommand
2: stop digging (all parameters ignored)
3: digging completed
*/
-
+
TOSERVER_RELEASE = 0x29, // Obsolete
// (oops, there is some gap here)
[3] u16 id
[5] u16 item
*/
-
+
TOSERVER_DAMAGE = 0x35,
/*
u16 command
[0] u16 TOSERVER_PLAYERITEM
[2] u16 item
*/
-
+
TOSERVER_RESPAWN=0x38,
/*
u16 TOSERVER_RESPAWN
(Obsoletes TOSERVER_GROUND_ACTION and TOSERVER_CLICK_ACTIVEOBJECT.)
*/
-
+
TOSERVER_REMOVED_SOUNDS = 0x3a,
/*
u16 command
u16 command
u16 breath
*/
+
+ TOSERVER_CLIENT_READY = 0x43,
+ /*
+ u8 major
+ u8 minor
+ u8 patch
+ u8 reserved
+ u16 len
+ u8[len] full_version_string
+ */
};
#endif