aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Main.cpp
diff options
context:
space:
mode:
authorleak <leak@bitmx.net>2014-07-06 01:26:29 +0200
committerleak <leak@bitmx.net>2014-07-06 01:26:29 +0200
commit7befb26625dd1eeb237e223296d9ed8817297025 (patch)
tree3226885cc3d93e656bcd4e02ad4366bc77de5994 /src/server/worldserver/Main.cpp
parent021e18d152b68b9d2a0c5887bab7eb7b61ecd2ca (diff)
Some groundwork for replacing the ACE based WorldSocket handling
Diffstat (limited to 'src/server/worldserver/Main.cpp')
-rw-r--r--src/server/worldserver/Main.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp
index 0fc2c1a7221..7ac60c631b3 100644
--- a/src/server/worldserver/Main.cpp
+++ b/src/server/worldserver/Main.cpp
@@ -37,12 +37,12 @@
#include "MapManager.h"
#include "ObjectAccessor.h"
#include "ScriptMgr.h"
-#include "WorldSocketMgr.h"
#include "OutdoorPvP/OutdoorPvPMgr.h"
#include "BattlegroundMgr.h"
#include "TCSoap.h"
#include "CliRunnable.h"
#include "SystemConfig.h"
+#include "WorldTcpSession.h"
#define TRINITY_CORE_CONFIG "worldserver.conf"
#define WORLD_SLEEP_CONST 50
@@ -155,8 +155,6 @@ extern int main(int argc, char** argv)
TC_LOG_INFO("server.worldserver", "Using Boost version: %i.%i.%i", BOOST_VERSION / 100000, BOOST_VERSION / 100 % 1000, BOOST_VERSION % 100);
OpenSSLCrypto::threadsSetup();
- BigNumber seed1;
- seed1.SetRand(16 * 8);
/// worldserver PID file creation
std::string pidFile = sConfigMgr->GetStringDefault("PidFile", "");
@@ -228,21 +226,17 @@ extern int main(int argc, char** argv)
// Launch the worldserver listener socket
uint16 worldPort = uint16(sWorld->getIntConfig(CONFIG_PORT_WORLD));
- std::string bindIp = sConfigMgr->GetStringDefault("BindIP", "0.0.0.0");
+ std::string worldListener = sConfigMgr->GetStringDefault("BindIP", "0.0.0.0");
- if (sWorldSocketMgr->StartNetwork(worldPort, bindIp.c_str()) == -1)
- {
- TC_LOG_ERROR("server.worldserver", "Failed to start network");
- return ERROR_EXIT_CODE;
- }
+ AsyncAcceptor<WorldTcpSession> worldAcceptor(_ioService, worldListener, worldPort);
+
+ sScriptMgr->OnStartup();
// Set server online (allow connecting now)
LoginDatabase.DirectPExecute("UPDATE realmlist SET flag = flag & ~%u, population = 0 WHERE id = '%u'", REALM_FLAG_INVALID, realmID);
TC_LOG_INFO("server.worldserver", "%s (worldserver-daemon) ready...", _FULLVERSION);
- sScriptMgr->OnStartup();
-
WorldUpdateLoop();
// Shutdown starts here
@@ -262,8 +256,6 @@ extern int main(int argc, char** argv)
// unload battleground templates before different singletons destroyed
sBattlegroundMgr->DeleteAllBattlegrounds();
- sWorldSocketMgr->StopNetwork();
-
sMapMgr->UnloadAll(); // unload all grids (including locked in memory)
sObjectAccessor->UnloadAll(); // unload 'i_player2corpse' storage and remove from world
sScriptMgr->Unload();