#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->getText()); 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", "SSLCert", "SSLKey", "SSLPasswort" }; 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; }