diff --git a/src/pocketmine/level/format/anvil/Anvil.php b/src/pocketmine/level/format/anvil/Anvil.php index 560d7f3b8..358cf2bb5 100644 --- a/src/pocketmine/level/format/anvil/Anvil.php +++ b/src/pocketmine/level/format/anvil/Anvil.php @@ -183,6 +183,7 @@ class Anvil extends BaseLevelProvider{ public function setChunk($chunkX, $chunkZ, SimpleChunk $chunk){ if($chunk->isGenerated() === false){ $this->unloadChunk($chunkX, $chunkZ, false); + $this->loadRegion($chunkX >> 4, $chunkZ >> 4); $region = $this->getRegion($chunkX >> 4, $chunkZ >> 4); $region->removeChunk($chunkX - $region->getX() * 32, $chunkZ - $region->getZ() * 32); $this->loadChunk($chunkX, $chunkZ); diff --git a/src/pocketmine/level/generator/GenerationThread.php b/src/pocketmine/level/generator/GenerationThread.php index 98e09fa0e..84aa9f12c 100644 --- a/src/pocketmine/level/generator/GenerationThread.php +++ b/src/pocketmine/level/generator/GenerationThread.php @@ -63,8 +63,12 @@ class GenerationThread extends \Thread{ $this->internalSocket = $sockets[0]; socket_set_block($this->internalSocket); //IMPORTANT! + @socket_set_option($this->internalSocket, SOL_SOCKET, SO_SNDBUF, 1024 * 1024 * 2); + @socket_set_option($this->internalSocket, SOL_SOCKET, SO_RCVBUF, 1024 * 1024 * 2); $this->externalSocket = $sockets[1]; socket_set_nonblock($this->externalSocket); + @socket_set_option($this->externalSocket, SOL_SOCKET, SO_SNDBUF, 1024 * 1024 * 2); + @socket_set_option($this->externalSocket, SOL_SOCKET, SO_RCVBUF, 1024 * 1024 * 2); $this->start(PTHREADS_INHERIT_ALL & ~PTHREADS_INHERIT_CLASSES); }