diff options
Diffstat (limited to 'src/server/worldserver/Main.cpp')
-rw-r--r-- | src/server/worldserver/Main.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index 1aa1de63d02..f8eba01c60c 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -338,7 +338,8 @@ extern int main(int argc, char** argv) // Initialize the World sSecretMgr->Initialize(SECRET_OWNER_WORLDSERVER); - sWorld->SetInitialWorldSettings(); + if (!sWorld->SetInitialWorldSettings()) + return 1; auto mapManagementHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { @@ -359,7 +360,12 @@ extern int main(int argc, char** argv) // Start soap serving thread if enabled std::unique_ptr<std::thread, ShutdownTCSoapThread> soapThread; if (sConfigMgr->GetBoolDefault("SOAP.Enabled", false)) - soapThread.reset(new std::thread(TCSoapThread, sConfigMgr->GetStringDefault("SOAP.IP", "127.0.0.1"), uint16(sConfigMgr->GetIntDefault("SOAP.Port", 7878)))); + { + if (std::thread* soap = CreateSoapThread(sConfigMgr->GetStringDefault("SOAP.IP", "127.0.0.1"), uint16(sConfigMgr->GetIntDefault("SOAP.Port", 7878)))) + soapThread.reset(soap); + else + return -1; + } // Launch the worldserver listener socket uint16 worldPort = uint16(sWorld->getIntConfig(CONFIG_PORT_WORLD)); |