Change large amount of objects to be configurable via a setting in minetest.conf (max_objects_per_block).
parent
e6687be493
commit
fe1fe1b1e4
|
@ -274,6 +274,8 @@
|
||||||
# Length of year in days for seasons change. With default time_speed 365 days = 5 real days for year. 30 days = 10 real hours
|
# Length of year in days for seasons change. With default time_speed 365 days = 5 real days for year. 30 days = 10 real hours
|
||||||
#year_days = 30
|
#year_days = 30
|
||||||
#server_unload_unused_data_timeout = 29
|
#server_unload_unused_data_timeout = 29
|
||||||
|
# Maximum number of statically stored objects in a block
|
||||||
|
#max_objects_per_block = 49
|
||||||
# Interval of saving important changes in the world
|
# Interval of saving important changes in the world
|
||||||
#server_map_save_interval = 5.3
|
#server_map_save_interval = 5.3
|
||||||
# To reduce lag, block transfers are slowed down when a player is building something.
|
# To reduce lag, block transfers are slowed down when a player is building something.
|
||||||
|
|
|
@ -180,6 +180,7 @@ void set_default_settings(Settings *settings)
|
||||||
settings->setDefault("time_speed", "72");
|
settings->setDefault("time_speed", "72");
|
||||||
settings->setDefault("year_days", "30");
|
settings->setDefault("year_days", "30");
|
||||||
settings->setDefault("server_unload_unused_data_timeout", "29");
|
settings->setDefault("server_unload_unused_data_timeout", "29");
|
||||||
|
settings->setDefault("max_objects_per_block", "49");
|
||||||
settings->setDefault("server_map_save_interval", "5.3");
|
settings->setDefault("server_map_save_interval", "5.3");
|
||||||
settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
|
settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
|
||||||
settings->setDefault("dedicated_server_step", "0.1");
|
settings->setDefault("dedicated_server_step", "0.1");
|
||||||
|
|
|
@ -1703,7 +1703,7 @@ void ServerEnvironment::activateObjects(MapBlock *block, u32 dtime_s)
|
||||||
<<"activating objects of block "<<PP(block->getPos())
|
<<"activating objects of block "<<PP(block->getPos())
|
||||||
<<" ("<<block->m_static_objects.m_stored.size()
|
<<" ("<<block->m_static_objects.m_stored.size()
|
||||||
<<" objects)"<<std::endl;
|
<<" objects)"<<std::endl;
|
||||||
bool large_amount = (block->m_static_objects.m_stored.size() > 49);
|
bool large_amount = (block->m_static_objects.m_stored.size() > g_settings->getU16("max_objects_per_block"));
|
||||||
if(large_amount){
|
if(large_amount){
|
||||||
errorstream<<"suspiciously large amount of objects detected: "
|
errorstream<<"suspiciously large amount of objects detected: "
|
||||||
<<block->m_static_objects.m_stored.size()<<" in "
|
<<block->m_static_objects.m_stored.size()<<" in "
|
||||||
|
@ -1881,12 +1881,12 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
|
||||||
|
|
||||||
if(block)
|
if(block)
|
||||||
{
|
{
|
||||||
if(block->m_static_objects.m_stored.size() >= 49){
|
if(block->m_static_objects.m_stored.size() >= g_settings->getU16("max_objects_per_block")){
|
||||||
errorstream<<"ServerEnv: Trying to store id="<<obj->getId()
|
errorstream<<"ServerEnv: Trying to store id="<<obj->getId()
|
||||||
<<" statically but block "<<PP(blockpos)
|
<<" statically but block "<<PP(blockpos)
|
||||||
<<" already contains "
|
<<" already contains "
|
||||||
<<block->m_static_objects.m_stored.size()
|
<<block->m_static_objects.m_stored.size()
|
||||||
<<" (over 49) objects."
|
<<" objects."
|
||||||
<<" Forcing delete."<<std::endl;
|
<<" Forcing delete."<<std::endl;
|
||||||
force_delete = true;
|
force_delete = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue