From 16774e66e6015d7f8a6bf540452ed5a2e96a9d72 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Mon, 18 Aug 2014 13:42:20 +0200 Subject: [PATCH] Fixed crashes when default level is not loaded --- src/pocketmine/PocketMine.php | 1 - src/pocketmine/Server.php | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/PocketMine.php b/src/pocketmine/PocketMine.php index a28337368..1bac8fd29 100644 --- a/src/pocketmine/PocketMine.php +++ b/src/pocketmine/PocketMine.php @@ -347,7 +347,6 @@ namespace pocketmine { ThreadManager::init(); $server = new Server($autoloader, $logger, \pocketmine\PATH, \pocketmine\DATA, \pocketmine\PLUGIN_PATH); - $server->start(); foreach(ThreadManager::getInstance()->getAll() as $id => $thread){ if($thread->isRunning()){ diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 73db652dc..797da1c58 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1572,6 +1572,12 @@ class Server{ $this->properties->save(); + if(!($this->getDefaultLevel() instanceof Level)){ + $this->getLogger()->emergency("No default level has been loaded"); + $this->forceShutdown(); + return; + } + $this->scheduler->scheduleDelayedRepeatingTask(new CallbackTask("pocketmine\\utils\\Cache::cleanup"), $this->getProperty("ticks-per.cache-cleanup", 900), $this->getProperty("ticks-per.cache-cleanup", 900)); if($this->getConfigBoolean("auto-save", true) === true and $this->getProperty("ticks-per.autosave", 6000) > 0){ $this->scheduler->scheduleDelayedRepeatingTask(new CallbackTask(array($this, "doAutoSave")), $this->getProperty("ticks-per.autosave", 6000), $this->getProperty("ticks-per.autosave", 6000)); @@ -1583,6 +1589,7 @@ class Server{ $this->enablePlugins(PluginLoadOrder::POSTWORLD); + $this->start(); } /**