mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-11 17:51:04 +00:00
CSM: add requested CSM_RF_READ_PLAYERINFO (#8007)
* CSM: add requested CSM_RF_READ_PLAYERINFO This new CSM limit permit to limit PLAYERINFO read from server. It affects get_player_names call
This commit is contained in:
parent
9080d7c990
commit
a5197eaebc
7 changed files with 20 additions and 6 deletions
|
@ -346,7 +346,7 @@ void set_default_settings(Settings *settings)
|
|||
settings->setDefault("max_block_send_distance", "9");
|
||||
settings->setDefault("block_send_optimize_distance", "4");
|
||||
settings->setDefault("server_side_occlusion_culling", "true");
|
||||
settings->setDefault("csm_restriction_flags", "30");
|
||||
settings->setDefault("csm_restriction_flags", "62");
|
||||
settings->setDefault("csm_restriction_noderange", "0");
|
||||
settings->setDefault("max_clearobjects_extra_loaded_blocks", "4096");
|
||||
settings->setDefault("time_speed", "72");
|
||||
|
|
|
@ -952,5 +952,6 @@ enum CSMRestrictionFlags : u64 {
|
|||
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,
|
||||
};
|
||||
|
|
|
@ -116,6 +116,13 @@ int ModApiClient::l_clear_out_chat_queue(lua_State *L)
|
|||
// get_player_names()
|
||||
int ModApiClient::l_get_player_names(lua_State *L)
|
||||
{
|
||||
// clang-format off
|
||||
if (getClient(L)->checkCSMRestrictionFlag(
|
||||
CSMRestrictionFlags::CSM_RF_READ_PLAYERINFO)) {
|
||||
return 0;
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
const std::list<std::string> &plist = getClient(L)->getConnectedPlayerNames();
|
||||
lua_createtable(L, plist.size(), 0);
|
||||
int newTable = lua_gettop(L);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue