瀏覽代碼

fix compiler errors

Kolja Strohm 3 年之前
父節點
當前提交
3845dd70ad

+ 377 - 377
ServerSystemStarter/Quelldateien/Start.cpp

@@ -22,140 +22,140 @@ int main()
 #endif
 {
 #ifdef _DEBUG
-	chdir( "/test/startup" );
+    chdir( "/test/startup" );
 #else
-	chdir( "/ksg/Server/startup" );
+    chdir( "/ksg/Server/startup" );
 #endif
-	Network::Start( 100 );
-	Zeit *z = getZeit();
-	Text *pfad = new Text( "../log/startup/" );
-	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();
+    Network::Start( 100 );
+    Zeit *z = getZeit();
+    Text *pfad = new Text( "../log/startup/" );
+    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();
     system( "/usr/lib/sendmail -t < mail" );
-	std::cout << "Startet...\n";
-	std::cout << "Lese init Datei ../data/startup.ini ...\n";
-	InitDatei *dat = new InitDatei( "../data/startup.ini" );
-	if( !dat->laden() )
-	{
-		std::cout << "error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 1;
-	}
+    std::cout << "Startet...\n";
+    std::cout << "Lese init Datei ../data/startup.ini ...\n";
+    InitDatei *dat = new InitDatei( "../data/startup.ini" );
+    if( !dat->laden() )
+    {
+        std::cout << "error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 1;
+    }
 
-	std::cout << "Verbindung mit Datenbank wird hergestellt...\n";
-	if( !dat->wertExistiert( "DBIP" ) )
-	{
-		std::cout << "error: Kein 'DBIP' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	if( !dat->wertExistiert( "DBPort" ) )
-	{
-		std::cout << "error: Kein 'DBPort' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	if( !dat->wertExistiert( "DBBenutzer" ) )
-	{
-		std::cout << "error: Kein 'DBBenutzer' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	if( !dat->wertExistiert( "DBPasswort" ) )
-	{
-		std::cout << "error: Kein 'DBPasswort' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	if( !dat->wertExistiert( "DBName" ) )
-	{
-		std::cout << "error: Kein 'DBName' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	sql::Datenbank *db = new sql::Datenbank( dat->zWert( "DBBenutzer" )->getText(),
-											 dat->zWert( "DBPasswort" )->getText(),
-											 dat->zWert( "DBName" )->getText(),
-											 dat->zWert( "DBIP" )->getText(),
-											 (unsigned short)TextZuInt( dat->zWert( "DBPort" )->getText(), 10 ) );
-	if( !db->istOk() )
-	{
-		Text *err = db->getLetzterFehler();
-		std::cout << "error: Es konnte keine Verbindung zur datenbank hergestellt werden. Das Programm wird geschlossen.\n" << err->getText();
-		err->release();
-		db->release();
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 3;
-	}
-	std::cout << "Verbindung zur Datenbank erfolgreich Hergestellt.\n";
-	std::cout << "Überprüfe ob Datenbank Server läuft...\n";
-	if( !dat->wertExistiert( "DBServerIP" ) )
-	{
-		std::cout << "error: Kein 'DBServerIP' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		db->release();
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	if( !dat->wertExistiert( "DBServerPort" ) )
-	{
-		std::cout << "error: Kein 'DBServerIP' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
-		db->release();
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 2;
-	}
-	Network::Klient *klient = new Network::Klient();
-	bool b = klient->verbinde( (unsigned short)TextZuInt( dat->zWert( "DBServerPort" )->getText(), 10 ), dat->zWert( "DBServerIP" )->getText() );
-	char ret = 0;
-	if( b )
-	{
-		klient->sende( "\6", 1 );
-		klient->getNachricht( &ret, 1 );
-		klient->trenne();
-	}
-	klient = klient->release();
-	if( b )
-	{
-		std::cout << "error: Der Datenbank Server läuft bereits. Es ist kein erneuter Start des Systems möglich. Das Programm wird geschlossen.\n";
-		db->release();
-		dat->release();
-		file.close();
-		std::cout.rdbuf( sbuf );
-		Network::Exit();
-		return 4;
-	}
+    std::cout << "Verbindung mit Datenbank wird hergestellt...\n";
+    if( !dat->wertExistiert( "DBIP" ) )
+    {
+        std::cout << "error: Kein 'DBIP' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    if( !dat->wertExistiert( "DBPort" ) )
+    {
+        std::cout << "error: Kein 'DBPort' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    if( !dat->wertExistiert( "DBBenutzer" ) )
+    {
+        std::cout << "error: Kein 'DBBenutzer' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    if( !dat->wertExistiert( "DBPasswort" ) )
+    {
+        std::cout << "error: Kein 'DBPasswort' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    if( !dat->wertExistiert( "DBName" ) )
+    {
+        std::cout << "error: Kein 'DBName' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    sql::Datenbank *db = new sql::Datenbank( dat->zWert( "DBBenutzer" )->getText(),
+                                             dat->zWert( "DBPasswort" )->getText(),
+                                             dat->zWert( "DBName" )->getText(),
+                                             dat->zWert( "DBIP" )->getText(),
+                                             (unsigned short)TextZuInt( dat->zWert( "DBPort" )->getText(), 10 ) );
+    if( !db->istOk() )
+    {
+        Text *err = db->getLetzterFehler();
+        std::cout << "error: Es konnte keine Verbindung zur datenbank hergestellt werden. Das Programm wird geschlossen.\n" << err->getText();
+        err->release();
+        db->release();
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 3;
+    }
+    std::cout << "Verbindung zur Datenbank erfolgreich Hergestellt.\n";
+    std::cout << "Überprüfe ob Datenbank Server läuft...\n";
+    if( !dat->wertExistiert( "DBServerIP" ) )
+    {
+        std::cout << "error: Kein 'DBServerIP' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        db->release();
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    if( !dat->wertExistiert( "DBServerPort" ) )
+    {
+        std::cout << "error: Kein 'DBServerIP' Eintrag in der startup.ini gefunden. Das Programm wird geschlossen.\n";
+        db->release();
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 2;
+    }
+    Network::Klient *klient = new Network::Klient();
+    bool b = klient->verbinde( (unsigned short)TextZuInt( dat->zWert( "DBServerPort" )->getText(), 10 ), dat->zWert( "DBServerIP" )->getText() );
+    char ret = 0;
+    if( b )
+    {
+        klient->sende( "\6", 1 );
+        klient->getNachricht( &ret, 1 );
+        klient->trenne();
+    }
+    klient = (Network::Klient *)klient->release();
+    if( b )
+    {
+        std::cout << "error: Der Datenbank Server läuft bereits. Es ist kein erneuter Start des Systems möglich. Das Programm wird geschlossen.\n";
+        db->release();
+        dat->release();
+        file.close();
+        std::cout.rdbuf( sbuf );
+        Network::Exit();
+        return 4;
+    }
 
     std::cout << "App Server wird gestartet...\n";
     if( !dat->wertExistiert( "AppServerPfad" ) )
@@ -163,207 +163,207 @@ int main()
     else
     {
         pid_t id;
-        char *args[] = { ( char* )"AppServer", (char*)0 };
+        char *args[] = { (char *)"AppServer", (char *)0 };
         chdir( dat->zWert( "AppServerPfad" )->getText() );
         posix_spawn( &id, "AppServer", 0, 0, args, 0 );
         std::cout << "App Server wurde gestartet.\n";
     }
 
-	/*std::cout << "Chat App Server wird gestartet...\n";
-	if( !dat->wertExistiert( "ChatAppServerPfad" ) )
-		std::cout << "warnung: Kein 'ChatAppServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { ( char* )"ChatAppServer", (char*)0 };
-		chdir( dat->zWert( "ChatAppServerPfad" )->getText() );
-		posix_spawn( &id, "ChatAppServer", 0, 0, args, 0 );
-		std::cout << "Chat App Server wurde gestartet.\n";
-	}*/
+    /*std::cout << "Chat App Server wird gestartet...\n";
+    if( !dat->wertExistiert( "ChatAppServerPfad" ) )
+        std::cout << "warnung: Kein 'ChatAppServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { ( char* )"ChatAppServer", (char*)0 };
+        chdir( dat->zWert( "ChatAppServerPfad" )->getText() );
+        posix_spawn( &id, "ChatAppServer", 0, 0, args, 0 );
+        std::cout << "Chat App Server wurde gestartet.\n";
+    }*/
 
-	std::cout << "Main Server wird gestartet...\n";
-	if( !dat->wertExistiert( "MainServerPfad" ) )
-		std::cout << "warnung: Kein 'MainServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"MainServer", (char*)0 };
-		chdir( dat->zWert( "MainServerPfad" )->getText() );
-		posix_spawn( &id, "MainServer", 0, 0, args, 0 );
-		std::cout << "Main Server wurde gestartet.\n";
-	}
+    std::cout << "Main Server wird gestartet...\n";
+    if( !dat->wertExistiert( "MainServerPfad" ) )
+        std::cout << "warnung: Kein 'MainServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"MainServer", (char *)0 };
+        chdir( dat->zWert( "MainServerPfad" )->getText() );
+        posix_spawn( &id, "MainServer", 0, 0, args, 0 );
+        std::cout << "Main Server wurde gestartet.\n";
+    }
 
-	std::cout << "Lösche Client Liste in Datenbank...\n";
-	db->befehl( "SELECT id from client" );
-	sql::Result r = db->getResult();
-	for( int i = 0; i < r.zeilenAnzahl; i++ )
-	{
-		Text *befehl = new Text( "SELECT unregister_client( " );
-		befehl->append( r.values[ i ].getText() );
-		befehl->append( " )" );
-		db->befehl( befehl->getText() );
-		befehl->release();
-	}
-	std::cout << r.zeilenAnzahl << " Clients gelöscht.\n";
-	r.destroy();
+    std::cout << "Lösche Client Liste in Datenbank...\n";
+    db->befehl( "SELECT id from client" );
+    sql::Result r = db->getResult();
+    for( int i = 0; i < r.zeilenAnzahl; i++ )
+    {
+        Text *befehl = new Text( "SELECT unregister_client( " );
+        befehl->append( r.values[ i ].getText() );
+        befehl->append( " )" );
+        db->befehl( befehl->getText() );
+        befehl->release();
+    }
+    std::cout << r.zeilenAnzahl << " Clients gelöscht.\n";
+    r.destroy();
 
-	std::cout << "Lösche laufende Spiele...\n";
-	db->befehl( "SELECT id FROM spiel WHERE end_datum IS NULL" );
-	r = db->getResult();
-	for( int i = 0; i < r.zeilenAnzahl; i++ )
-	{
-		Text *befehl = new Text( "DELETE FROM spiel_spieler WHERE spiel_id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->setText( "DELETE FROM spiel WHERE id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->release();
-	}
-	std::cout << r.zeilenAnzahl << " laufende Spiele gelöscht.\n";
-	r.destroy();
+    std::cout << "Lösche laufende Spiele...\n";
+    db->befehl( "SELECT id FROM spiel WHERE end_datum IS NULL" );
+    r = db->getResult();
+    for( int i = 0; i < r.zeilenAnzahl; i++ )
+    {
+        Text *befehl = new Text( "DELETE FROM spiel_spieler WHERE spiel_id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->setText( "DELETE FROM spiel WHERE id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->release();
+    }
+    std::cout << r.zeilenAnzahl << " laufende Spiele gelöscht.\n";
+    r.destroy();
 
-	std::cout << "Lösche erstellte Spiele...\n";
-	db->befehl( "SELECT id FROM spiel_erstellt" );
-	r = db->getResult();
-	for( int i = 0; i < r.zeilenAnzahl; i++ )
-	{
-		Text *befehl = new Text( "DELETE FROM spiel_erstellt_spieler WHERE spiel_erstellt_id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->setText( "DELETE FROM spiel_erstellt_gruppe WHERE spiel_erstellt_id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->setText( "DELETE FROM spiel_erstellt WHERE id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->release();
-	}
-	std::cout << r.zeilenAnzahl << " erstellte Spiele gelöscht.\n";
-	r.destroy();
+    std::cout << "Lösche erstellte Spiele...\n";
+    db->befehl( "SELECT id FROM spiel_erstellt" );
+    r = db->getResult();
+    for( int i = 0; i < r.zeilenAnzahl; i++ )
+    {
+        Text *befehl = new Text( "DELETE FROM spiel_erstellt_spieler WHERE spiel_erstellt_id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->setText( "DELETE FROM spiel_erstellt_gruppe WHERE spiel_erstellt_id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->setText( "DELETE FROM spiel_erstellt WHERE id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->release();
+    }
+    std::cout << r.zeilenAnzahl << " erstellte Spiele gelöscht.\n";
+    r.destroy();
 
-	std::cout << "Lösche Warteschlange...\n";
-	db->befehl( "DELETE FROM account_anmeldung_fuer_spiel" );
-	std::cout << db->getZeilenAnzahl() << " Spieler aus der Warteschlange entfernt.\n";
-	db->befehl( "DELETE FROM gruppe_anmeldung_fuer_spiel" );
-	std::cout << db->getZeilenAnzahl() << " Gruppen aus der Warteschlange entfernt.\n";
+    std::cout << "Lösche Warteschlange...\n";
+    db->befehl( "DELETE FROM account_anmeldung_fuer_spiel" );
+    std::cout << db->getZeilenAnzahl() << " Spieler aus der Warteschlange entfernt.\n";
+    db->befehl( "DELETE FROM gruppe_anmeldung_fuer_spiel" );
+    std::cout << db->getZeilenAnzahl() << " Gruppen aus der Warteschlange entfernt.\n";
 
-	std::cout << "Lösche Gruppen...\n";
-	db->befehl( "SELECT id FROM gruppe" );
-	r = db->getResult();
-	for( int i = 0; i < r.zeilenAnzahl; i++ )
-	{
-		Text *befehl = new Text( "DELETE FROM gruppe_spieler WHERE gruppe_id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->setText( "DELETE FROM gruppe WHERE id = " );
-		befehl->append( r.values[ i ].getText() );
-		db->befehl( befehl->getText() );
-		befehl->release();
-	}
-	std::cout << r.zeilenAnzahl << " Gruppen gelöscht.\n";
-	r.destroy();
-	db->befehl("UPDATE server a SET server_status_id = 1, tasks = 0 FROM server_typ b WHERE a.server_typ_name = b.name AND b.task_name = 'clients'");
-	std::cout << db->getZeilenAnzahl() << " Server zurückgesetzt.\n";
+    std::cout << "Lösche Gruppen...\n";
+    db->befehl( "SELECT id FROM gruppe" );
+    r = db->getResult();
+    for( int i = 0; i < r.zeilenAnzahl; i++ )
+    {
+        Text *befehl = new Text( "DELETE FROM gruppe_spieler WHERE gruppe_id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->setText( "DELETE FROM gruppe WHERE id = " );
+        befehl->append( r.values[ i ].getText() );
+        db->befehl( befehl->getText() );
+        befehl->release();
+    }
+    std::cout << r.zeilenAnzahl << " Gruppen gelöscht.\n";
+    r.destroy();
+    db->befehl( "UPDATE server a SET server_status_id = 1, tasks = 0 FROM server_typ b WHERE a.server_typ_name = b.name AND b.task_name = 'clients'" );
+    std::cout << db->getZeilenAnzahl() << " Server zurückgesetzt.\n";
 
-	//std::cout << "Lösche Chaträume...\n";
-	//db->befehl( "SELECT id FROM chatroom" );
-	//r = db->getResult();
-	//for( int i = 0; i < r.zeilenAnzahl; i++ )
-	//{
-	//	Text *befehl = new Text( "DELETE FROM chatroom_spieler WHERE chatroom_id = " );
-	//	befehl->append( r.values[ i ].getText() );
-	//	db->befehl( befehl->getText() );
-	//	befehl->setText( "DELETE FROM chatroom WHERE id = " );
-	//	befehl->append( r.values[ i ].getText() );
-	//	db->befehl( befehl->getText() );
-	//	befehl->release();
-	//}
-	//std::cout << r.zeilenAnzahl << " Chaträume gelöscht.\n";
-	//r.destroy();
+    //std::cout << "Lösche Chaträume...\n";
+    //db->befehl( "SELECT id FROM chatroom" );
+    //r = db->getResult();
+    //for( int i = 0; i < r.zeilenAnzahl; i++ )
+    //{
+    //	Text *befehl = new Text( "DELETE FROM chatroom_spieler WHERE chatroom_id = " );
+    //	befehl->append( r.values[ i ].getText() );
+    //	db->befehl( befehl->getText() );
+    //	befehl->setText( "DELETE FROM chatroom WHERE id = " );
+    //	befehl->append( r.values[ i ].getText() );
+    //	db->befehl( befehl->getText() );
+    //	befehl->release();
+    //}
+    //std::cout << r.zeilenAnzahl << " Chaträume gelöscht.\n";
+    //r.destroy();
 
-	std::cout << "Starte Erhaltungs Server...\n";
-	if( !dat->wertExistiert( "ErhaltungServerPfad" ) )
-		std::cout << "warnung: Kein 'ErhaltungServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"ErhaltungServer", (char*)0 };
-		chdir( dat->zWert( "ErhaltungServerPfad" )->getText() );
-		posix_spawn( &id, "ErhaltungServer", 0, 0, args, 0 );
-		std::cout << "Erhaltung Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Erhaltungs Server...\n";
+    if( !dat->wertExistiert( "ErhaltungServerPfad" ) )
+        std::cout << "warnung: Kein 'ErhaltungServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"ErhaltungServer", (char *)0 };
+        chdir( dat->zWert( "ErhaltungServerPfad" )->getText() );
+        posix_spawn( &id, "ErhaltungServer", 0, 0, args, 0 );
+        std::cout << "Erhaltung Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Patch Server...\n";
-	if( !dat->wertExistiert( "PatchServerPfad" ) )
-		std::cout << "warnung: Kein 'PatchServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"PatchServer", (char*)0 };
-		chdir( dat->zWert( "PatchServerPfad" )->getText() );
-		posix_spawn( &id, "PatchServer", 0, 0, args, 0 );
-		std::cout << "Patch Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Patch Server...\n";
+    if( !dat->wertExistiert( "PatchServerPfad" ) )
+        std::cout << "warnung: Kein 'PatchServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"PatchServer", (char *)0 };
+        chdir( dat->zWert( "PatchServerPfad" )->getText() );
+        posix_spawn( &id, "PatchServer", 0, 0, args, 0 );
+        std::cout << "Patch Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Register Server...\n";
-	if( !dat->wertExistiert( "RegisterServerPfad" ) )
-		std::cout << "warnung: Kein 'RegisterServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"RegisterServer", (char*)0 };
-		chdir( dat->zWert( "RegisterServerPfad" )->getText() );
-		posix_spawn( &id, "RegisterServer", 0, 0, args, 0 );
-		std::cout << "Register Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Register Server...\n";
+    if( !dat->wertExistiert( "RegisterServerPfad" ) )
+        std::cout << "warnung: Kein 'RegisterServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"RegisterServer", (char *)0 };
+        chdir( dat->zWert( "RegisterServerPfad" )->getText() );
+        posix_spawn( &id, "RegisterServer", 0, 0, args, 0 );
+        std::cout << "Register Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Login Server...\n";
-	if( !dat->wertExistiert( "LoginServerPfad" ) )
-		std::cout << "warnung: Kein 'LoginServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"LoginServer", (char*)0 };
-		chdir( dat->zWert( "LoginServerPfad" )->getText() );
-		posix_spawn( &id, "LoginServer", 0, 0, args, 0 );
-		std::cout << "Login Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Login Server...\n";
+    if( !dat->wertExistiert( "LoginServerPfad" ) )
+        std::cout << "warnung: Kein 'LoginServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"LoginServer", (char *)0 };
+        chdir( dat->zWert( "LoginServerPfad" )->getText() );
+        posix_spawn( &id, "LoginServer", 0, 0, args, 0 );
+        std::cout << "Login Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Information Server...\n";
-	if( !dat->wertExistiert( "InformationServerPfad" ) )
-		std::cout << "warnung: Kein 'InformationServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"InformationServer", (char*)0 };
-		chdir( dat->zWert( "InformationServerPfad" )->getText() );
-		posix_spawn( &id, "InformationServer", 0, 0, args, 0 );
-		std::cout << "Information Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Information Server...\n";
+    if( !dat->wertExistiert( "InformationServerPfad" ) )
+        std::cout << "warnung: Kein 'InformationServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"InformationServer", (char *)0 };
+        chdir( dat->zWert( "InformationServerPfad" )->getText() );
+        posix_spawn( &id, "InformationServer", 0, 0, args, 0 );
+        std::cout << "Information Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Chat Server...\n";
-	if( !dat->wertExistiert( "ChatServerPfad" ) )
-		std::cout << "warnung: Kein 'ChatServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"ChatServer", (char*)0 };
-		chdir( dat->zWert( "ChatServerPfad" )->getText() );
-		posix_spawn( &id, "ChatServer", 0, 0, args, 0 );
-		std::cout << "Chat Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Chat Server...\n";
+    if( !dat->wertExistiert( "ChatServerPfad" ) )
+        std::cout << "warnung: Kein 'ChatServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"ChatServer", (char *)0 };
+        chdir( dat->zWert( "ChatServerPfad" )->getText() );
+        posix_spawn( &id, "ChatServer", 0, 0, args, 0 );
+        std::cout << "Chat Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Anmeldung Server...\n";
-	if( !dat->wertExistiert( "AnmeldungServerPfad" ) )
-		std::cout << "warnung: Kein 'AnmeldungServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"AnmeldungServer", (char*)0 };
-		chdir( dat->zWert( "AnmeldungServerPfad" )->getText() );
-		posix_spawn( &id, "AnmeldungServer", 0, 0, args, 0 );
-		std::cout << "Anmeldung Server wurde gestartet.\n";
+    std::cout << "Starte Anmeldung Server...\n";
+    if( !dat->wertExistiert( "AnmeldungServerPfad" ) )
+        std::cout << "warnung: Kein 'AnmeldungServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"AnmeldungServer", (char *)0 };
+        chdir( dat->zWert( "AnmeldungServerPfad" )->getText() );
+        posix_spawn( &id, "AnmeldungServer", 0, 0, args, 0 );
+        std::cout << "Anmeldung Server wurde gestartet.\n";
     }
 
     std::cout << "Starte karten Server...\n";
@@ -372,71 +372,71 @@ int main()
     else
     {
         pid_t id;
-        char *args[] = { ( char* )"KartenServer", (char*)0 };
+        char *args[] = { (char *)"KartenServer", (char *)0 };
         chdir( dat->zWert( "KartenServerPfad" )->getText() );
         posix_spawn( &id, "KartenServer", 0, 0, args, 0 );
         std::cout << "Karten Server wurde gestartet.\n";
     }
 
-	std::cout << "Starte spiel Server...\n";
-	if( !dat->wertExistiert( "SpielServerPfad" ) )
-		std::cout << "warnung: Kein 'SpielServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"SpielServer", (char*)0 };
-		chdir( dat->zWert( "SpielServerPfad" )->getText() );
-		posix_spawn( &id, "SpielServer", 0, 0, args, 0 );
-		std::cout << "Spiel Server wurde gestartet.\n";
-	}
+    std::cout << "Starte spiel Server...\n";
+    if( !dat->wertExistiert( "SpielServerPfad" ) )
+        std::cout << "warnung: Kein 'SpielServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"SpielServer", (char *)0 };
+        chdir( dat->zWert( "SpielServerPfad" )->getText() );
+        posix_spawn( &id, "SpielServer", 0, 0, args, 0 );
+        std::cout << "Spiel Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Shop Server...\n";
-	if( !dat->wertExistiert( "ShopServerPfad" ) )
-		std::cout << "warnung: Kein 'ShopServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { (char*)"ShopServer", (char*)0 };
-		chdir( dat->zWert( "ShopServerPfad" )->getText() );
-		posix_spawn( &id, "ShopServer", 0, 0, args, 0 );
-		std::cout << "Shop Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Shop Server...\n";
+    if( !dat->wertExistiert( "ShopServerPfad" ) )
+        std::cout << "warnung: Kein 'ShopServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"ShopServer", (char *)0 };
+        chdir( dat->zWert( "ShopServerPfad" )->getText() );
+        posix_spawn( &id, "ShopServer", 0, 0, args, 0 );
+        std::cout << "Shop Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Historie Server...\n";
-	if( !dat->wertExistiert( "HistorieServerPfad" ) )
-		std::cout << "warnung: Kein 'HistorieServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { ( char* )"HistorieServer", (char*)0 };
-		chdir( dat->zWert( "HistorieServerPfad" )->getText() );
-		posix_spawn( &id, "HistorieServer", 0, 0, args, 0 );
-		std::cout << "Historie Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Historie Server...\n";
+    if( !dat->wertExistiert( "HistorieServerPfad" ) )
+        std::cout << "warnung: Kein 'HistorieServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"HistorieServer", (char *)0 };
+        chdir( dat->zWert( "HistorieServerPfad" )->getText() );
+        posix_spawn( &id, "HistorieServer", 0, 0, args, 0 );
+        std::cout << "Historie Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte News Server...\n";
-	if( !dat->wertExistiert( "NewsServerPfad" ) )
-		std::cout << "warnung: Kein 'NewsServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { ( char* )"NewsServer", (char*)0 };
-		chdir( dat->zWert( "NewsServerPfad" )->getText() );
-		posix_spawn( &id, "NewsServer", 0, 0, args, 0 );
-		std::cout << "News Server wurde gestartet.\n";
-	}
+    std::cout << "Starte News Server...\n";
+    if( !dat->wertExistiert( "NewsServerPfad" ) )
+        std::cout << "warnung: Kein 'NewsServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"NewsServer", (char *)0 };
+        chdir( dat->zWert( "NewsServerPfad" )->getText() );
+        posix_spawn( &id, "NewsServer", 0, 0, args, 0 );
+        std::cout << "News Server wurde gestartet.\n";
+    }
 
-	std::cout << "Starte Editor Server...\n";
-	if( !dat->wertExistiert( "EditorServerPfad" ) )
-		std::cout << "warnung: Kein 'EditorServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
-	else
-	{
-		pid_t id;
-		char *args[] = { ( char* )"EditorServer", (char*)0 };
-		chdir( dat->zWert( "EditorServerPfad" )->getText() );
-		posix_spawn( &id, "EditorServer", 0, 0, args, 0 );
-		std::cout << "Editor Server wurde gestartet.\n";
-	}
+    std::cout << "Starte Editor Server...\n";
+    if( !dat->wertExistiert( "EditorServerPfad" ) )
+        std::cout << "warnung: Kein 'EditorServerPfad' Eintrag in der startup.ini gefunden. Dieser Server wird nicht gestartet.\n";
+    else
+    {
+        pid_t id;
+        char *args[] = { (char *)"EditorServer", (char *)0 };
+        chdir( dat->zWert( "EditorServerPfad" )->getText() );
+        posix_spawn( &id, "EditorServer", 0, 0, args, 0 );
+        std::cout << "Editor Server wurde gestartet.\n";
+    }
 
     std::cout << "Starte Minigame Server...\n";
     if( !dat->wertExistiert( "MinigameServerPfad" ) )
@@ -444,19 +444,19 @@ int main()
     else
     {
         pid_t id;
-        char *args[] = { ( char* )"MinigameServer", (char*)0 };
+        char *args[] = { (char *)"MinigameServer", (char *)0 };
         chdir( dat->zWert( "MinigameServerPfad" )->getText() );
         posix_spawn( &id, "MinigameServer", 0, 0, args, 0 );
         std::cout << "Minigame Server wurde gestartet.\n";
     }
 
-	db->release();
-	dat->speichern();
-	dat->release();
-	std::cout << "Der Startvorgang wurde beendet.\n";
-	file.close();
-	std::cout.rdbuf( sbuf );
-	Network::Exit();
-	return 0;
+    db->release();
+    dat->speichern();
+    dat->release();
+    std::cout << "Der Startvorgang wurde beendet.\n";
+    file.close();
+    std::cout.rdbuf( sbuf );
+    Network::Exit();
+    return 0;
 }
 #pragma GCC diagnostic pop 

二進制
ServerSystemStarter/ServerSystemStarter


+ 6 - 4
ServerSystemStarter/ServerSystemStarter.vcxproj

@@ -37,7 +37,7 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <TargetExt />
     <RemoteProjectDir>$(RemoteRootDir)/Server/Startup/debug</RemoteProjectDir>
-    <IncludePath>..\..\..\..\Allgemein\Framework;..\..\..\..\Allgemein\Network\Network;..\..\..\..\Allgemein\sql\sql;$(IncludePath)</IncludePath>
+    <IncludePath>..\..\..\..\Allgemein\Framework;..\..\..\..\Allgemein\Network\Network;..\..\..\..\Allgemein\sql\sql;../../../Framework/debug;../../../Network/debug/Network;../../../sql/debug/sql;$(IncludePath)</IncludePath>
     <OutDir>$(RemoteRootDir)/Server/Startup/debug/</OutDir>
     <IntDir>$(RemoteRootDir)/Server/Startup/debug/</IntDir>
     <TargetName>Startup</TargetName>
@@ -45,7 +45,7 @@
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <RemoteProjectDir>$(RemoteRootDir)/Server/Startup/release</RemoteProjectDir>
-    <IncludePath>..\..\..\..\Allgemein\Framework;../../../Framework/release;..\..\..\..\Allgemein\Network\Network;../../../Network/release;..\..\..\..\Allgemein\sql\sql;../../../sql/release;$(IncludePath)</IncludePath>
+    <IncludePath>..\..\..\..\Allgemein\Framework;../../../Framework/release;..\..\..\..\Allgemein\Network\Network;../../../Network/release/Network;..\..\..\..\Allgemein\sql\sql;../../../sql/release/sql;$(IncludePath)</IncludePath>
     <OutDir>$(RemoteRootDir)/Server/Startup/release/</OutDir>
     <IntDir>$(RemoteRootDir)/Server/Startup/release/</IntDir>
     <TargetExt />
@@ -56,9 +56,10 @@
   </ItemGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Link>
-      <LibraryDependencies>Framework;Network;SQL;pq;pthread</LibraryDependencies>
+      <LibraryDependencies>Framework;Network;SQL;pq;pthread;ssl</LibraryDependencies>
       <AdditionalOptions>-Wl,-rpath,../lib %(AdditionalOptions)</AdditionalOptions>
       <AdditionalLibraryDirectories>$(RemoteRootDir)/sql/release;$(RemoteRootDir)/Network/release;$(RemoteRootDir)/Framework/release;/usr/lib/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <OutputFile>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</OutputFile>
     </Link>
     <ClCompile>
       <AdditionalIncludeDirectories>$(RemoteRootDir)/Framework/release;$(RemoteRootDir)/Network/release;$(RemoteRootDir)/sql/release;%(ClCompile.AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -66,9 +67,10 @@
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Link>
-      <LibraryDependencies>dbgFramework;dbgNetwork;dbgSQL;pq;pthread</LibraryDependencies>
+      <LibraryDependencies>dbgFramework;dbgNetwork;dbgSQL;pq;pthread;ssl</LibraryDependencies>
       <AdditionalLibraryDirectories>$(RemoteRootDir)/sql/debug;$(RemoteRootDir)/Network/debug;$(RemoteRootDir)/Framework/debug;/usr/lib/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalOptions>-Wl,-rpath,../lib %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</OutputFile>
     </Link>
     <ClCompile>
       <UndefinePreprocessorDefinitions>

二進制
ServerSystemStarter/Startup