1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

[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
This commit is contained in:
Loïc Blot 2017-07-18 21:39:55 +02:00 committed by GitHub
parent 7e3cdf7088
commit 79f19b8369
18 changed files with 136 additions and 29 deletions

View file

@ -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