diff options
author | leak <leak@bitmx.net> | 2014-07-06 01:26:29 +0200 |
---|---|---|
committer | leak <leak@bitmx.net> | 2014-07-06 01:26:29 +0200 |
commit | 7befb26625dd1eeb237e223296d9ed8817297025 (patch) | |
tree | 3226885cc3d93e656bcd4e02ad4366bc77de5994 /src/server/worldserver/Main.cpp | |
parent | 021e18d152b68b9d2a0c5887bab7eb7b61ecd2ca (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.cpp | 18 |
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(); |