Increase default emerge queue limits and limit enqueue requests for active blocks.

master
Lars 2020-11-08 12:30:38 -08:00 committed by lhofhansl
parent be3fe161fc
commit be8d1d2d99
3 changed files with 10 additions and 6 deletions

View File

@ -2152,15 +2152,15 @@ chunksize (Chunk size) int 5
enable_mapgen_debug_info (Mapgen debug) bool false enable_mapgen_debug_info (Mapgen debug) bool false
# Maximum number of blocks that can be queued for loading. # Maximum number of blocks that can be queued for loading.
emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 512 emergequeue_limit_total (Absolute limit of queued blocks to emerge) int 1024
# Maximum number of blocks to be queued that are to be loaded from file. # Maximum number of blocks to be queued that are to be loaded from file.
# This limit is enforced per player. # This limit is enforced per player.
emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 64 emergequeue_limit_diskonly (Per-player limit of queued blocks load from disk) int 128
# Maximum number of blocks to be queued that are to be generated. # Maximum number of blocks to be queued that are to be generated.
# This limit is enforced per player. # This limit is enforced per player.
emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 64 emergequeue_limit_generate (Per-player limit of queued blocks to generate) int 128
# Number of emerge threads to use. # Number of emerge threads to use.
# Value 0: # Value 0:

View File

@ -396,9 +396,9 @@ void set_default_settings(Settings *settings)
settings->setDefault("debug_log_level", "action"); settings->setDefault("debug_log_level", "action");
settings->setDefault("debug_log_size_max", "50"); settings->setDefault("debug_log_size_max", "50");
settings->setDefault("chat_log_level", "error"); settings->setDefault("chat_log_level", "error");
settings->setDefault("emergequeue_limit_total", "512"); settings->setDefault("emergequeue_limit_total", "1024");
settings->setDefault("emergequeue_limit_diskonly", "64"); settings->setDefault("emergequeue_limit_diskonly", "128");
settings->setDefault("emergequeue_limit_generate", "64"); settings->setDefault("emergequeue_limit_generate", "128");
settings->setDefault("num_emerge_threads", "1"); settings->setDefault("num_emerge_threads", "1");
settings->setDefault("secure.enable_security", "true"); settings->setDefault("secure.enable_security", "true");
settings->setDefault("secure.trusted_mods", ""); settings->setDefault("secure.trusted_mods", "");

View File

@ -426,6 +426,10 @@ bool EmergeManager::pushBlockEmergeData(
m_qlimit_generate : m_qlimit_diskonly; m_qlimit_generate : m_qlimit_diskonly;
if (count_peer >= qlimit_peer) if (count_peer >= qlimit_peer)
return false; return false;
} else {
// limit block enqueue requests for active blocks to 1/2 of total
if (count_peer * 2 >= m_qlimit_total)
return false;
} }
} }