From 59d9d6a7df92a986ef5896dc0f2afbbe4606114f Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 11 Oct 2017 13:40:13 +0100 Subject: [PATCH] Fixed logic for low memory chunk radius override --- src/pocketmine/MemoryManager.php | 5 ++--- src/pocketmine/resources/pocketmine.yml | 6 +----- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/pocketmine/MemoryManager.php b/src/pocketmine/MemoryManager.php index 52f5bef5b..8779d742c 100644 --- a/src/pocketmine/MemoryManager.php +++ b/src/pocketmine/MemoryManager.php @@ -131,7 +131,6 @@ class MemoryManager{ $this->lowMemChunkRadiusOverride = (int) $this->server->getProperty("memory.max-chunks.chunk-radius", 4); $this->lowMemChunkGC = (bool) $this->server->getProperty("memory.max-chunks.trigger-chunk-collect", true); - $this->lowMemReduceChunkRadius = (bool) $this->server->getProperty("memory.max-chunks.low-memory-trigger", true); $this->lowMemDisableChunkCache = (bool) $this->server->getProperty("memory.world-caches.disable-chunk-cache", true); $this->lowMemClearWorldCache = (bool) $this->server->getProperty("memory.world-caches.low-memory-trigger", true); @@ -162,7 +161,7 @@ class MemoryManager{ * @return int */ public function getViewDistance(int $distance) : int{ - return $this->lowMemory ? (int) min($this->lowMemChunkRadiusOverride, $distance) : $distance; + return ($this->lowMemory and $this->lowMemChunkRadiusOverride > 0) ? (int) min($this->lowMemChunkRadiusOverride, $distance) : $distance; } /** @@ -182,7 +181,7 @@ class MemoryManager{ } } - if($this->lowMemReduceChunkRadius and $this->lowMemChunkGC){ + if($this->lowMemChunkGC){ foreach($this->server->getLevels() as $level){ $level->doChunkGarbageCollection(); } diff --git a/src/pocketmine/resources/pocketmine.yml b/src/pocketmine/resources/pocketmine.yml index 2db47afa4..8608eb2e9 100644 --- a/src/pocketmine/resources/pocketmine.yml +++ b/src/pocketmine/resources/pocketmine.yml @@ -67,17 +67,13 @@ memory: #Dump memory from async workers as well as the main thread. If you have issues with segfaults when dumping memory, disable this setting. dump-async-worker: true - max-chunks: - #Maximum render distance per player when low memory is triggered + #Cap maximum render distance per player when low memory is triggered. Set to 0 to disable cap. chunk-radius: 4 #Do chunk garbage collection on trigger trigger-chunk-collect: true - #Trigger on low memory - low-memory-trigger: true - world-caches: #Disallow adding to world chunk-packet caches when memory is low disable-chunk-cache: true