Files
src-1.2/engine/server/application/CentralServer/src/linux/main.cpp
T

64 lines
1.8 KiB
C++
Executable File

#include "sharedFoundation/FirstSharedFoundation.h"
#include "ConfigCentralServer.h"
#include "CentralServer.h"
#include "sharedCompression/SetupSharedCompression.h"
#include "sharedDebug/SetupSharedDebug.h"
#include "sharedFile/SetupSharedFile.h"
#include "sharedFoundation/Os.h"
#include "sharedNetwork/NetworkHandler.h"
#include "sharedFoundation/SetupSharedFoundation.h"
#include "sharedRandom/SetupSharedRandom.h"
#include "sharedThread/SetupSharedThread.h"
#ifndef STELLA_INTERNAL
#include "webAPIHeartbeat.h"
#endif
// ======================================================================
int main(int argc, char ** argv)
{
#ifndef STELLA_INTERNAL
StellaBellum::webAPIHeartbeat();
#endif
SetupSharedThread::install();
SetupSharedDebug::install(1024);
//-- setup foundation
SetupSharedFoundation::Data setupFoundationData(SetupSharedFoundation::Data::D_game);
setupFoundationData.lpCmdLine = ConvertCommandLine(argc,argv);
SetupSharedFoundation::install(setupFoundationData);
SetupSharedCompression::install();
SetupSharedFile::install(false);
SetupSharedRandom::install(time(0)); //lint !e732
NetworkHandler::install();
Os::setProgramName("CentralServer");
ConfigCentralServer::install();
std::string cmdLine = setupFoundationData.lpCmdLine;
size_t firstArg = cmdLine.find(" ", 0);
size_t lastSlash = 0;
size_t nextSlash = 0;
while(nextSlash < firstArg)
{
nextSlash = cmdLine.find("/", lastSlash);
if(nextSlash == cmdLine.npos || nextSlash >= firstArg) //lint !e1705 static class members may be accessed by the scoping operator (huh?)
break;
lastSlash = nextSlash + 1;
}
cmdLine = cmdLine.substr(lastSlash);
CentralServer::getInstance().setCommandLine(cmdLine);
//-- run game
SetupSharedFoundation::callbackWithExceptionHandling(CentralServer::run);
NetworkHandler::remove();
SetupSharedFoundation::remove();
return 0;
}