Added MetricsServer project

This commit is contained in:
Anonymous
2014-01-18 07:18:32 -07:00
parent a5b073e4f2
commit ead53a7268
5 changed files with 192 additions and 2 deletions
+1
View File
@@ -4,6 +4,7 @@ add_subdirectory(ChatServer)
add_subdirectory(ConnectionServer)
add_subdirectory(LoginServer)
add_subdirectory(LogServer)
add_subdirectory(MetricsServer)
add_subdirectory(PlanetServer)
add_subdirectory(TaskManager)
add_subdirectory(TransferServer)
@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 2.8)
project(MetricsServer)
add_subdirectory(src)
@@ -0,0 +1,86 @@
set(SHARED_SOURCES
shared/ConfigMetricsServer.cpp
shared/ConfigMetricsServer.h
shared/FirstMetricsServer.cpp
shared/FirstMetricsServer.h
shared/MetricsGatheringConnection.cpp
shared/MetricsGatheringConnection.h
shared/MetricsServer.cpp
shared/MetricsServer.h
shared/TaskConnection.cpp
shared/TaskConnection.h
)
if(WIN32)
set(PLATFORM_SOURCES
win32/WinMain.cpp
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/win32)
else()
set(PLATFORM_SOURCES
linux/main.cpp
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/linux)
endif()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/shared
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedCompression/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedDebug/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFile/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundation/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedFoundationTypes/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMemoryManager/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedMessageDispatch/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedNetwork/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedNetworkMessages/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedRandom/include/public
${SWG_ENGINE_SOURCE_DIR}/shared/library/sharedThread/include/public
${SWG_ENGINE_SOURCE_DIR}/server/library/serverNetworkMessages/include/public
${SWG_ENGINE_SOURCE_DIR}/server/library/serverUtility/include/public
${SWG_EXTERNALS_SOURCE_DIR}/ours/library/archive/include
${SWG_EXTERNALS_SOURCE_DIR}/3rd/library/platform/projects
${SWG_EXTERNALS_SOURCE_DIR}/3rd/library/udplibrary
)
link_directories(${STLPORT_LIBDIR})
add_executable(MetricsServer
${SHARED_SOURCES}
${PLATFORM_SOURCES}
)
target_link_libraries(MetricsServer
sharedCompression
sharedDebug
sharedFile
sharedFoundation
sharedLog
sharedMath
sharedMemoryManager
sharedMessageDispatch
sharedNetwork
sharedNetworkMessages
sharedRandom
sharedSynchronization
sharedThread
sharedUtility
serverNetworkMessages
serverUtility
archive
fileInterface
localization
localizationArchive
unicode
unicodeArchive
udplibrary
MonAPI2
${ZLIB_LIBRARY}
)
if(WIN32)
target_link_libraries(MetricsServer mswsock ws2_32)
endif()
@@ -19,7 +19,9 @@
#ifdef LINUX
#include <time.h>
#endif
#ifdef WINDOWS
#include <windows.h>
#endif
//----------------------------------------------------------------
std::string MetricsServer::m_commandLine;
int MetricsServer::m_worldCountChannel = 0;
@@ -188,7 +190,11 @@ void MetricsServer::run()
if (pDump)
m_soeMonitor->dump();
Clock::limitFrameRate();
usleep(2000);
#ifdef WIN32
Sleep(2);
#else
usleep(2000);
#endif
}
}
@@ -0,0 +1,91 @@
#include "sharedFoundation/FirstSharedFoundation.h"
#include "ConfigMetricsServer.h"
#include "MetricsServer.h"
#include "sharedCompression/SetupSharedCompression.h"
#include "sharedDebug/SetupSharedDebug.h"
#include "sharedFile/SetupSharedFile.h"
#include "sharedFoundation/Os.h"
#include "sharedFoundation/SetupSharedFoundation.h"
#include "sharedNetwork/NetworkHandler.h"
#include "sharedNetwork/SetupSharedNetwork.h"
#include "sharedNetworkMessages/SetupSharedNetworkMessages.h"
#include "sharedRandom/SetupSharedRandom.h"
#include "sharedThread/SetupSharedThread.h"
#include <string>
// ======================================================================
int main(int argc, char ** argv)
{
SetupSharedThread::install();
SetupSharedDebug::install(1024);
//-- setup foundation
SetupSharedFoundation::Data setupFoundationData(SetupSharedFoundation::Data::D_game);
// command line hack
std::string cmdLine;
for(int i = 1; i < argc; ++i)
{
cmdLine += argv[i];
if(i + 1 < argc)
{
cmdLine += " ";
}
}
setupFoundationData.commandLine = cmdLine.c_str();
setupFoundationData.createWindow = false;
setupFoundationData.clockUsesSleep = true;
SetupSharedFoundation::install (setupFoundationData);
{
//SetupSharedObject::Data data;
//SetupSharedObject::setupDefaultGameData(data);
//SetupSharedObject::install(data);
}
SetupSharedCompression::install();
SetupSharedFile::install(true, 32);
SetupSharedNetwork::SetupData networkSetupData;
SetupSharedNetwork::getDefaultServerSetupData(networkSetupData);
SetupSharedNetwork::install(networkSetupData);
SetupSharedRandom::install(static_cast<uint32>(time(NULL))); //lint !e1924 !e64 // NULL is a C-Style cast?
//Os::setProgramName("MetricsServer");
//setup the server
ConfigMetricsServer::install();
//set command line
cmdLine = setupFoundationData.commandLine;
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);
MetricsServer::setCommandLine(cmdLine);
//-- run game
NetworkHandler::install();
MetricsServer::install();
MetricsServer::run();
MetricsServer::remove();
NetworkHandler::remove();
SetupSharedFoundation::remove();
return 0;
}