* sender
* type (RAW, NORMAL, ANNOUNCE, SYSTEM)
* content
- Add TOCLIENT_CSM_FLAVOUR_LIMITS to define which CSM flavour should be
+ Add TOCLIENT_CSM_RESTRICTION_FLAGS to define which CSM features should be
limited
Add settable player collisionbox. Breaks compatibility with older
clients as a 1-node vertical offset has been removed from player's
Backwards compatibility drop
Add 'can_zoom' to player object properties
Add glow to object properties
+ Change TileDef serialization format.
+ Add world-aligned tiles.
+ Mod channels
+ Raise ObjectProperties version to 3 for removing 'can_zoom' and adding
+ 'zoom_fov'.
+ Nodebox version 5
+ Add disconnected nodeboxes
+ Add TOCLIENT_FORMSPEC_PREPEND
+ PROTOCOL VERSION 37:
+ Redo detached inventory sending
+ Add TOCLIENT_NODEMETA_CHANGED
+ New network float format
*/
-#define LATEST_PROTOCOL_VERSION 36
+#define LATEST_PROTOCOL_VERSION 37
+#define LATEST_PROTOCOL_VERSION_STRING TOSTRING(LATEST_PROTOCOL_VERSION)
// Server's supported network protocol range
-#define SERVER_PROTOCOL_VERSION_MIN 36
+#define SERVER_PROTOCOL_VERSION_MIN 37
#define SERVER_PROTOCOL_VERSION_MAX LATEST_PROTOCOL_VERSION
// Client's supported network protocol range
// The minimal version depends on whether
// send_pre_v25_init is enabled or not
-#define CLIENT_PROTOCOL_VERSION_MIN 36
+#define CLIENT_PROTOCOL_VERSION_MIN 37
#define CLIENT_PROTOCOL_VERSION_MAX LATEST_PROTOCOL_VERSION
// Constant that differentiates the protocol from random data and other protocols
#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
+typedef u16 session_t;
+
enum ToClientCommand
{
TOCLIENT_HELLO = 0x02,
f1000 time_speed
*/
- TOCLIENT_CSM_FLAVOUR_LIMITS = 0x2A,
+ TOCLIENT_CSM_RESTRICTION_FLAGS = 0x2A,
/*
- u32 CSMFlavourLimits byteflag
+ u32 CSMRestrictionFlags byteflag
*/
// (oops, there is some gap here)
f1000 expirationtime
f1000 size
u8 bool collisiondetection
- u8 bool vertical
u32 len
u8[len] texture
+ u8 bool vertical
u8 collision_removal
+ TileAnimation animation
+ u8 glow
+ u8 object_collision
*/
TOCLIENT_ADD_PARTICLESPAWNER = 0x47,
f1000 minsize
f1000 maxsize
u8 bool collisiondetection
- u8 bool vertical
u32 len
u8[len] texture
- u32 id
+ u8 bool vertical
u8 collision_removal
+ u32 id
+ TileAnimation animation
+ u8 glow
+ u8 object_collision
*/
TOCLIENT_DELETE_PARTICLESPAWNER_LEGACY = 0x48, // Obsolete
u8[len] player name
*/
+ TOCLIENT_MODCHANNEL_MSG = 0x57,
+ /*
+ u16 channel name length
+ std::string channel name
+ u16 channel name sender
+ std::string channel name
+ u16 message length
+ std::string message
+ */
+
+ TOCLIENT_MODCHANNEL_SIGNAL = 0x58,
+ /*
+ u8 signal id
+ u16 channel name length
+ std::string channel name
+ */
+
+ TOCLIENT_NODEMETA_CHANGED = 0x59,
+ /*
+ serialized and compressed node metadata
+ */
+
TOCLIENT_SRP_BYTES_S_B = 0x60,
/*
Belonging to AUTH_MECHANISM_SRP.
std::string bytes_B
*/
- TOCLIENT_NUM_MSG_TYPES = 0x61,
+ TOCLIENT_FORMSPEC_PREPEND = 0x61,
+ /*
+ u16 len
+ u8[len] formspec
+ */
+
+ TOCLIENT_NUM_MSG_TYPES = 0x62,
};
enum ToServerCommand
[0] u16 TOSERVER_INIT2
*/
+ TOSERVER_MODCHANNEL_JOIN = 0x17,
+ /*
+ u16 channel name length
+ std::string channel name
+ */
+
+ TOSERVER_MODCHANNEL_LEAVE = 0x18,
+ /*
+ u16 channel name length
+ std::string channel name
+ */
+
+ TOSERVER_MODCHANNEL_MSG = 0x19,
+ /*
+ u16 channel name length
+ std::string channel name
+ u16 message length
+ std::string message
+ */
+
TOSERVER_GETBLOCK = 0x20, // Obsolete
TOSERVER_ADDNODE = 0x21, // Obsolete
TOSERVER_REMOVENODE = 0x22, // Obsolete
PLAYER_LIST_REMOVE,
};
-enum CSMFlavourLimit : u64 {
- CSM_FL_NONE = 0x00000000,
- CSM_FL_LOOKUP_NODES = 0x00000001, // Limit node lookups
- CSM_FL_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM
- CSM_FL_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups
- CSM_FL_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups
- CSM_FL_ALL = 0xFFFFFFFF,
+enum CSMRestrictionFlags : u64 {
+ CSM_RF_NONE = 0x00000000,
+ CSM_RF_LOAD_CLIENT_MODS = 0x00000001, // Disable mods provided by clients
+ CSM_RF_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM
+ CSM_RF_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups
+ CSM_RF_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups
+ CSM_RF_LOOKUP_NODES = 0x00000010, // Limit node lookups
+ CSM_RF_READ_PLAYERINFO = 0x00000020, // Disable player info lookups
+ CSM_RF_ALL = 0xFFFFFFFF,
};
-