#include "SpielServer.h" #include #include #include #include #include int main() { struct rlimit core_limits; core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY; setrlimit(RLIMIT_CORE, &core_limits); //chdir( "/ksg/Server/spiel" ); Framework::initFramework(); Zeit *z = getZeit(); Text *pfad = new Text( "../log/spiel/" ); pfad->append( z->getZeit( "y-m-d h-i-s.log" ) ); z->release(); DateiPfadErstellen( pfad->getThis() ); std::ofstream file; file.open( pfad->getText() ); std::streambuf* sbuf = std::cout.rdbuf(); std::cout.rdbuf( file.rdbuf() ); pfad->release(); std::cout << "SS: Startet...\n"; std::cout << "SS: Lese init Datei ../data/ssInit.ini ...\n"; InitDatei *dat = new InitDatei( "../data/ssInit.ini" ); if( !dat->laden() ) { std::cout << "SS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n"; dat->release(); exit( 1 ); } const char *wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "SpielePfad", "TempMapPfad" }; for( const char *w : wichtig ) { if( !dat->wertExistiert( w ) ) { std::cout << "SS: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n"; dat->release(); exit( 1 ); } } SpielServer *sServer = new SpielServer( dat ); std::cout << "SS: Der Admin Server läuft. Startforgang beendet.\n"; sServer->runn(); sServer->ende(); sServer->release(); DateiRemove( dat->zWert( "TempMapPfad" )->getText() ); dat->release(); std::cout << "SS: Der Server ist heruntergefahren.\n"; file.close(); std::cout.rdbuf( sbuf ); Framework::releaseFramework(); return 0; }