#include #include "ServerMgr.h" #include #include #include #include "Script/ScriptMgr.h" #include #include #include "Linkshell/LinkshellMgr.h" #include "Zone/TerritoryMgr.h" #include "Zone/HousingMgr.h" #include "DebugCommand/DebugCommandHandler.h" #include "Manager/PlayerMgr.h" #include "Manager/ShopMgr.h" #include Core::Framework g_fw; using namespace Core; bool setupFramework() { auto pServer = std::make_shared< ServerMgr >( "config.ini" ); auto pLogger = std::make_shared< Logger >(); auto pExdData = std::make_shared< Data::ExdDataGenerated >(); auto pScript = std::make_shared< Scripting::ScriptMgr >(); auto pDb = std::make_shared< Db::DbWorkerPool< Db::ZoneDbConnection > >(); auto pLsMgr = std::make_shared< LinkshellMgr >(); auto pHousingMgr = std::make_shared< HousingMgr >(); auto pTeriMgr = std::make_shared< TerritoryMgr >(); auto pDebugCom = std::make_shared< DebugCommandHandler >(); auto pConfig = std::make_shared< ConfigMgr >(); auto pPlayerMgr = std::make_shared< Sapphire::World::Manager::PlayerMgr >(); auto pShopMgr = std::make_shared< Sapphire::World::Manager::ShopMgr >(); pLogger->setLogPath( "log/SapphireZone" ); pLogger->init(); g_fw.set< ServerMgr >( pServer ); g_fw.set< Logger >( pLogger ); g_fw.set< Data::ExdDataGenerated >( pExdData ); g_fw.set< Scripting::ScriptMgr >( pScript ); g_fw.set< Db::DbWorkerPool< Db::ZoneDbConnection > >( pDb ); g_fw.set< LinkshellMgr >( pLsMgr ); g_fw.set< HousingMgr >( pHousingMgr ); g_fw.set< TerritoryMgr >( pTeriMgr ); g_fw.set< DebugCommandHandler >( pDebugCom ); g_fw.set< ConfigMgr >( pConfig ); g_fw.set< Sapphire::World::Manager::PlayerMgr >( pPlayerMgr ); g_fw.set< Sapphire::World::Manager::ShopMgr >( pShopMgr ); // actuall catch errors here... return true; } int main( int32_t argc, char* argv[] ) { if( !setupFramework() ) return 0; // too fucking bad... g_fw.get< ServerMgr >()->run( argc, argv ); return 0; }