diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-07-18 21:39:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-18 21:39:55 +0200 |
commit | 79f19b8369a0120fbf0bd0ee3739989fbbbca50e (patch) | |
tree | 0051cde3efe56d35d03aa50a5095d9b8ba04d15b /src/server.h | |
parent | 7e3cdf7088b1fb6744d0bd9cc903823b6e3bbfe3 (diff) | |
download | minetest-79f19b8369a0120fbf0bd0ee3739989fbbbca50e.tar.gz minetest-79f19b8369a0120fbf0bd0ee3739989fbbbca50e.tar.bz2 minetest-79f19b8369a0120fbf0bd0ee3739989fbbbca50e.zip |
[CSM] Add flavour limits controlled by server (#5930)
* [CSM] Add flavour limits controlled by server
Server send flavour limits to client permitting to disable or limit some Lua calls
* Add limits for reading nodedefs and itemdefs
* flavour: Add lookup node limits
* Merge get_node_or_nil into get_node.
Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason
* Add node range customization when noderange flavour is enabled (default 8 nodes)
* Limit nodes range & disable chat message sending by default
* Bump protocol version
Diffstat (limited to 'src/server.h')
-rw-r--r-- | src/server.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server.h b/src/server.h index 112a94863..fff7f9b6a 100644 --- a/src/server.h +++ b/src/server.h @@ -466,6 +466,8 @@ private: u32 SendActiveObjectRemoveAdd(u16 peer_id, const std::string &datas); void SendActiveObjectMessages(u16 peer_id, const std::string &datas, bool reliable = true); + void SendCSMFlavourLimits(u16 peer_id); + /* Something random */ @@ -664,6 +666,10 @@ private: std::unordered_map<std::string, ModMetadata *> m_mod_storages; float m_mod_storage_save_timer = 10.0f; + + // CSM flavour limits byteflag + u64 m_csm_flavour_limits = CSMFlavourLimit::CSM_FL_NONE; + u32 m_csm_noderange_limit = 8; }; /* @@ -674,4 +680,3 @@ private: void dedicated_server_loop(Server &server, bool &kill); #endif - |