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

This commit is contained in:
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

@ -2152,15 +2152,15 @@ chunksize (Chunk size) int 5
enable_mapgen_debug_info (Mapgen debug) bool false
# 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.
# 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.
# 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.
# Value 0:

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

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