aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/worldserver/Main.cpp')
-rw-r--r--src/server/worldserver/Main.cpp10
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));