diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 4621c024c..43d55a6fc 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1442,32 +1442,6 @@ class Server{ } $this->config = new Config($this->dataPath . "pocketmine.yml", Config::YAML, []); - define('pocketmine\DEBUG', (int) $this->getProperty("debug.level", 1)); - - $this->forceLanguage = (bool) $this->getProperty("settings.force-language", false); - $this->baseLang = new BaseLang($this->getProperty("settings.language", BaseLang::FALLBACK_LANGUAGE)); - $this->logger->info($this->getLanguage()->translateString("language.selected", [$this->getLanguage()->getName(), $this->getLanguage()->getLang()])); - - if(\pocketmine\IS_DEVELOPMENT_BUILD and !((bool) $this->getProperty("settings.enable-dev-builds", false))){ - $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error1", [\pocketmine\NAME])); - $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error2")); - $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error3")); - $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error4", ["settings.enable-dev-builds"])); - $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error5", ["https://github.com/pmmp/PocketMine-MP/releases"])); - $this->forceShutdown(); - return; - } - - if(((int) ini_get('zend.assertions')) > 0 and ((bool) $this->getProperty("debug.assertions.warn-if-enabled", true)) !== false){ - $this->logger->warning("Debugging assertions are enabled, this may impact on performance. To disable them, set `zend.assertions = -1` in php.ini."); - } - - ini_set('assert.exception', '1'); - - if($this->logger instanceof MainLogger){ - $this->logger->setLogDebug(\pocketmine\DEBUG > 1); - } - $this->logger->info("Loading server properties..."); $this->properties = new Config($this->dataPath . "server.properties", Config::PROPERTIES, [ "motd" => \pocketmine\NAME . " Server", @@ -1492,9 +1466,36 @@ class Server{ "rcon.password" => substr(base64_encode(random_bytes(20)), 3, 10), "auto-save" => true, "view-distance" => 8, - "xbox-auth" => true + "xbox-auth" => true, + "language" => "eng" ]); + define('pocketmine\DEBUG', (int) $this->getProperty("debug.level", 1)); + + $this->forceLanguage = (bool) $this->getProperty("settings.force-language", false); + $this->baseLang = new BaseLang($this->getConfigString("language", $this->getProperty("settings.language", BaseLang::FALLBACK_LANGUAGE))); + $this->logger->info($this->getLanguage()->translateString("language.selected", [$this->getLanguage()->getName(), $this->getLanguage()->getLang()])); + + if(\pocketmine\IS_DEVELOPMENT_BUILD and !((bool) $this->getProperty("settings.enable-dev-builds", false))){ + $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error1", [\pocketmine\NAME])); + $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error2")); + $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error3")); + $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error4", ["settings.enable-dev-builds"])); + $this->logger->emergency($this->baseLang->translateString("pocketmine.server.devBuild.error5", ["https://github.com/pmmp/PocketMine-MP/releases"])); + $this->forceShutdown(); + return; + } + + if(((int) ini_get('zend.assertions')) > 0 and ((bool) $this->getProperty("debug.assertions.warn-if-enabled", true)) !== false){ + $this->logger->warning("Debugging assertions are enabled, this may impact on performance. To disable them, set `zend.assertions = -1` in php.ini."); + } + + ini_set('assert.exception', '1'); + + if($this->logger instanceof MainLogger){ + $this->logger->setLogDebug(\pocketmine\DEBUG > 1); + } + $this->memoryManager = new MemoryManager($this); $this->logger->info($this->getLanguage()->translateString("pocketmine.server.start", [TextFormat::AQUA . $this->getVersion() . TextFormat::RESET])); diff --git a/src/pocketmine/resources/pocketmine.yml b/src/pocketmine/resources/pocketmine.yml index 739f5194d..c62ecfa76 100644 --- a/src/pocketmine/resources/pocketmine.yml +++ b/src/pocketmine/resources/pocketmine.yml @@ -4,9 +4,6 @@ # New settings/defaults won't appear automatically in this file when upgrading. settings: - #Three-letter language code for server-side localization - #Check your language code on https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes - language: "eng" #Whether to send all strings translated to server locale or let the device handle them force-language: false shutdown-message: "Server closed" diff --git a/src/pocketmine/wizard/SetupWizard.php b/src/pocketmine/wizard/SetupWizard.php index 37a6e15c3..664441100 100644 --- a/src/pocketmine/wizard/SetupWizard.php +++ b/src/pocketmine/wizard/SetupWizard.php @@ -66,6 +66,10 @@ class SetupWizard{ } }while($lang === null); + $config = new Config(\pocketmine\DATA . "server.properties", Config::PROPERTIES); + $config->set("language", $lang); + $config->save(); + $this->lang = new BaseLang($lang); $this->message($this->lang->get("language_has_been_selected"));