summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars <larsh@apache.org>2020-11-08 12:30:38 -0800
committerlhofhansl <larsh@apache.org>2020-11-12 09:04:10 -0800
commitbe8d1d2d99ad835b5de7277b7b518c334113e795 (patch)
treec663fcbb3e6edb7955f9c5f5fab0e4dbd0fdeb45
parentbe3fe161fc831c9e6da1357dc908ed4a7681c46c (diff)
downloadminetest-be8d1d2d99ad835b5de7277b7b518c334113e795.tar.gz
minetest-be8d1d2d99ad835b5de7277b7b518c334113e795.tar.bz2
minetest-be8d1d2d99ad835b5de7277b7b518c334113e795.zip
Increase default emerge queue limits and limit enqueue requests for active blocks.
-rw-r--r--builtin/settingtypes.txt6
-rw-r--r--src/defaultsettings.cpp6
-rw-r--r--src/emerge.cpp4
3 files changed, 10 insertions, 6 deletions
diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt
index 8eb667bdd..c4dc82dfe 100644
--- a/builtin/settingtypes.txt
+++ b/builtin/settingtypes.txt
@@ -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:
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index dc0276733..177955589 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -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", "");
diff --git a/src/emerge.cpp b/src/emerge.cpp
index 0ac26a682..12e407797 100644
--- a/src/emerge.cpp
+++ b/src/emerge.cpp
@@ -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;
}
}