Browse Source

An neue Datenbank angepasst

Kolja Strohm 7 years ago
parent
commit
8071830ce3
3 changed files with 76 additions and 78 deletions
  1. 71 69
      MainServer/Datenbank.cpp
  2. 2 2
      MainServer/Datenbank.h
  3. 3 7
      MainServer/MainServer.cpp

+ 71 - 69
MainServer/Datenbank.cpp

@@ -5,16 +5,6 @@
 // Konstruktor
 // Konstruktor
 MSDatenbank::MSDatenbank( InitDatei *zDat )
 MSDatenbank::MSDatenbank( InitDatei *zDat )
 {
 {
-	if( !zDat->wertExistiert( "DBBenutzer" ) )
-		zDat->addWert( "DBBenutzer", "mainserveru" );
-	if( !zDat->wertExistiert( "DBPasswort" ) )
-		zDat->addWert( "DBPasswort", "LTMainServerPW" );
-	if( !zDat->wertExistiert( "DBName" ) )
-		zDat->addWert( "DBName", "koljadb" );
-	if( !zDat->wertExistiert( "DBIP" ) )
-		zDat->addWert( "DBIP", "127.0.0.1" );
-	if( !zDat->wertExistiert( "DBPort" ) )
-		zDat->addWert( "DBPort", "5432" );
 	datenbank = new Datenbank( zDat->zWert( "DBBenutzer" )->getText(), zDat->zWert( "DBPasswort" )->getText(),
 	datenbank = new Datenbank( zDat->zWert( "DBBenutzer" )->getText(), zDat->zWert( "DBPasswort" )->getText(),
 							   zDat->zWert( "DBName" )->getText(), zDat->zWert( "DBIP" )->getText(),
 							   zDat->zWert( "DBName" )->getText(), zDat->zWert( "DBIP" )->getText(),
 							   (unsigned short)TextZuInt( zDat->zWert( "DBPort" )->getText(), 10 ) );
 							   (unsigned short)TextZuInt( zDat->zWert( "DBPort" )->getText(), 10 ) );
@@ -28,6 +18,18 @@ MSDatenbank::MSDatenbank( InitDatei *zDat )
 	}
 	}
 	InitializeCriticalSection( &ths );
 	InitializeCriticalSection( &ths );
 	ref = 1;
 	ref = 1;
+    Text befehl = "SELECT port, admin_port  FROM server WHERE id = ";
+    befehl += zDat->zWert( "ServerId" )->getText();
+    lock();
+    datenbank->befehl( befehl );
+    Result res = datenbank->getResult();
+    unlock();
+    if( res.zeilenAnzahl == 1 )
+    {
+        zDat->addWert( "ServerPort", res.values[ 0 ] );
+        zDat->addWert( "AdminServerPort", res.values[ 1 ] );
+    }
+    res.destroy();
 }
 }
 
 
 // Detruktor
 // Detruktor
@@ -54,11 +56,11 @@ int MSDatenbank::istAdministrator( const char *name, const char *passwort )
 	Text n( name );
 	Text n( name );
 	n.ersetzen( "'", "''" );
 	n.ersetzen( "'", "''" );
 	befehl->append( (char*)n );
 	befehl->append( (char*)n );
-	befehl->append( "' AND passwort = '" );
+	befehl->append( "' AND passwort = md5( '" );
 	Text p( passwort );
 	Text p( passwort );
 	p.ersetzen( "'", "''" );
 	p.ersetzen( "'", "''" );
 	befehl->append( (char*)p );
 	befehl->append( (char*)p );
-	befehl->append( "'" );
+	befehl->append( "' )" );
 	lock();
 	lock();
 	datenbank->befehl( befehl->getText() );
 	datenbank->befehl( befehl->getText() );
 	Result res = datenbank->getResult();
 	Result res = datenbank->getResult();
@@ -103,7 +105,7 @@ unsigned int MSDatenbank::getNextClientId()
 Text *MSDatenbank::getKlientKey( int cId )
 Text *MSDatenbank::getKlientKey( int cId )
 {
 {
 	lock();
 	lock();
-	if( !datenbank->befehl( Text( "SELECT schluessel FROM clients WHERE id = " ) += cId ) )
+	if( !datenbank->befehl( Text( "SELECT schluessel FROM client WHERE id = " ) += cId ) )
 	{
 	{
 		unlock();
 		unlock();
 		return 0;
 		return 0;
@@ -122,7 +124,7 @@ Text *MSDatenbank::getKlientKey( int cId )
 
 
 bool MSDatenbank::proveRegisteredClient( unsigned int num )
 bool MSDatenbank::proveRegisteredClient( unsigned int num )
 {
 {
-	Text *befehl = new Text( "SELECT * FROM clients WHERE id = " );
+	Text *befehl = new Text( "SELECT * FROM client WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -163,9 +165,9 @@ int *MSDatenbank::unregisterClient( unsigned int num )
 
 
 int MSDatenbank::suchPatchServer( unsigned int client )
 int MSDatenbank::suchPatchServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_patch_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'patch' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -183,7 +185,7 @@ int MSDatenbank::suchPatchServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getPatchServerPortIp( int num )
 unsigned char *MSDatenbank::getPatchServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_patch WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -217,9 +219,9 @@ unsigned char *MSDatenbank::getPatchServerPortIp( int num )
 
 
 int MSDatenbank::suchRegisterServer( unsigned int client )
 int MSDatenbank::suchRegisterServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_register_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'register' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -237,7 +239,7 @@ int MSDatenbank::suchRegisterServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getRegisterServerPortIp( int num )
 unsigned char *MSDatenbank::getRegisterServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_register WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -271,9 +273,9 @@ unsigned char *MSDatenbank::getRegisterServerPortIp( int num )
 
 
 int MSDatenbank::suchLoginServer( unsigned int client )
 int MSDatenbank::suchLoginServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_login_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'login' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -291,7 +293,7 @@ int MSDatenbank::suchLoginServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getLoginServerPortIp( int num )
 unsigned char *MSDatenbank::getLoginServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_login WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -325,9 +327,9 @@ unsigned char *MSDatenbank::getLoginServerPortIp( int num )
 
 
 int MSDatenbank::suchInformationServer( unsigned int client )
 int MSDatenbank::suchInformationServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_information_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'information' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -345,7 +347,7 @@ int MSDatenbank::suchInformationServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getInformationServerPortIp( int num )
 unsigned char *MSDatenbank::getInformationServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_information WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -379,9 +381,9 @@ unsigned char *MSDatenbank::getInformationServerPortIp( int num )
 
 
 int MSDatenbank::suchChatServer( unsigned int client )
 int MSDatenbank::suchChatServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_chat_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'chat' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -399,7 +401,7 @@ int MSDatenbank::suchChatServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getChatServerPortIp( int num )
 unsigned char *MSDatenbank::getChatServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_chat WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -433,9 +435,9 @@ unsigned char *MSDatenbank::getChatServerPortIp( int num )
 
 
 int MSDatenbank::suchAnmeldungServer( unsigned int client )
 int MSDatenbank::suchAnmeldungServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_anmeldung_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'anmeldung' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -453,7 +455,7 @@ int MSDatenbank::suchAnmeldungServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getAnmeldungServerPortIp( int num )
 unsigned char *MSDatenbank::getAnmeldungServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_anmeldung WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -487,9 +489,9 @@ unsigned char *MSDatenbank::getAnmeldungServerPortIp( int num )
 
 
 int MSDatenbank::suchErhaltungServer( unsigned int client )
 int MSDatenbank::suchErhaltungServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_erhaltung_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'erhaltung' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -507,7 +509,7 @@ int MSDatenbank::suchErhaltungServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getErhaltungServerPortIp( int num )
 unsigned char *MSDatenbank::getErhaltungServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_erhaltung WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -541,9 +543,9 @@ unsigned char *MSDatenbank::getErhaltungServerPortIp( int num )
 
 
 int MSDatenbank::suchShopServer( unsigned int client )
 int MSDatenbank::suchShopServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_shop_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'shop' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -561,7 +563,7 @@ int MSDatenbank::suchShopServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getShopServerPortIp( int num )
 unsigned char *MSDatenbank::getShopServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_shop WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -595,9 +597,9 @@ unsigned char *MSDatenbank::getShopServerPortIp( int num )
 
 
 int MSDatenbank::suchNewsServer( unsigned int client )
 int MSDatenbank::suchNewsServer( unsigned int client )
 {
 {
-	Text *befehl = new Text( "SELECT such_news_server( " );
+	Text *befehl = new Text( "SELECT such_server( " );
 	befehl->append( client );
 	befehl->append( client );
-	befehl->append( " )" );
+	befehl->append( ", 'news' )" );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
 	{
 	{
@@ -615,7 +617,7 @@ int MSDatenbank::suchNewsServer( unsigned int client )
 
 
 unsigned char *MSDatenbank::getNewsServerPortIp( int num )
 unsigned char *MSDatenbank::getNewsServerPortIp( int num )
 {
 {
-	Text *befehl = new Text( "SELECT port, ip FROM server_news WHERE id = " );
+	Text *befehl = new Text( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( num );
 	befehl->append( num );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -666,7 +668,7 @@ int MSDatenbank::logoutKlient( int klientId, Array< int > *ret )
 
 
 bool MSDatenbank::getSpielServerPortIp( int spielErstelltId, unsigned short *port, Text *ip )
 bool MSDatenbank::getSpielServerPortIp( int spielErstelltId, unsigned short *port, Text *ip )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_spiel a, spiel_erstellt b "
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, spiel_erstellt b "
 							 "WHERE a.id = b.server_spiel_id AND b.id = " );
 							 "WHERE a.id = b.server_spiel_id AND b.id = " );
 	befehl->append( spielErstelltId );
 	befehl->append( spielErstelltId );
 	lock();
 	lock();
@@ -729,8 +731,8 @@ int MSDatenbank::kickSpielerAusGruppe( int gruppeId, int accountId )
 
 
 bool MSDatenbank::getChatServerPortIp( int accountId, unsigned short *port, Text *ip )
 bool MSDatenbank::getChatServerPortIp( int accountId, unsigned short *port, Text *ip )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_chat AS a, server_chat_clients AS b, account_clients AS c "
-							 "WHERE c.client_id = b.client_id AND a.id = b.server_chat_id AND c.account_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b, account_client c "
+							 "WHERE a.server_typ_name = 'char' AND c.client_id = b.client_id AND a.id = b.server_id AND c.account_id = " );
 	befehl->append( accountId );
 	befehl->append( accountId );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -818,7 +820,7 @@ int MSDatenbank::getChatroomAdmin( int chatroomId )
 
 
 int MSDatenbank::clientistEingeloggt( int clientId )
 int MSDatenbank::clientistEingeloggt( int clientId )
 {
 {
-	Text *befehl = new Text( "SELECT account_id FROM account_clients WHERE client_id = " );
+	Text *befehl = new Text( "SELECT account_id FROM account_client WHERE client_id = " );
 	befehl->append( clientId );
 	befehl->append( clientId );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -842,8 +844,8 @@ int MSDatenbank::clientistEingeloggt( int clientId )
 
 
 bool MSDatenbank::getPatchServer( int client, Text *ip, int *port )
 bool MSDatenbank::getPatchServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_patch AS a, server_patch_clients AS b "
-							 "WHERE a.id = b.server_patch_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'patch' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -868,8 +870,8 @@ bool MSDatenbank::getPatchServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getRegisterServer( int client, Text *ip, int *port )
 bool MSDatenbank::getRegisterServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_register AS a, server_register_clients AS b "
-							 "WHERE a.id = b.server_register_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'register' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -894,8 +896,8 @@ bool MSDatenbank::getRegisterServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getLoginServer( int client, Text *ip, int *port )
 bool MSDatenbank::getLoginServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_login AS a, server_login_clients AS b "
-							 "WHERE a.id = b.server_login_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'login' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -920,8 +922,8 @@ bool MSDatenbank::getLoginServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getInformationServer( int client, Text *ip, int *port )
 bool MSDatenbank::getInformationServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_information AS a, server_information_clients AS b "
-							 "WHERE a.id = b.server_information_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'information' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -946,8 +948,8 @@ bool MSDatenbank::getInformationServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getChatServer( int client, Text *ip, int *port )
 bool MSDatenbank::getChatServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_chat AS a, server_chat_clients AS b "
-							 "WHERE a.id = b.server_chat_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'chat' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -972,8 +974,8 @@ bool MSDatenbank::getChatServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getAnmeldungServer( int client, Text *ip, int *port )
 bool MSDatenbank::getAnmeldungServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_anmeldung AS a, server_anmeldung_clients AS b "
-							 "WHERE a.id = b.server_anmeldung_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'anmeldung' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -998,7 +1000,7 @@ bool MSDatenbank::getAnmeldungServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getSpielServer( int client, Text *ip, int *port )
 bool MSDatenbank::getSpielServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT account_id FROM account_clients WHERE client_id = " );
+	Text *befehl = new Text( "SELECT account_id FROM account_client WHERE client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -1056,7 +1058,7 @@ bool MSDatenbank::getSpielServer( int client, Text *ip, int *port )
 	}
 	}
 	int serverId = TextZuInt( res.values[ 0 ].getText(), 10 );
 	int serverId = TextZuInt( res.values[ 0 ].getText(), 10 );
 	res.destroy();
 	res.destroy();
-	befehl->setText( "SELECT port, ip FROM server_spiel WHERE id = " );
+	befehl->setText( "SELECT port, ip FROM server WHERE id = " );
 	befehl->append( serverId );
 	befehl->append( serverId );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -1081,8 +1083,8 @@ bool MSDatenbank::getSpielServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getShopServer( int client, Text *ip, int *port )
 bool MSDatenbank::getShopServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_shop AS a, server_shop_clients AS b "
-							 "WHERE a.id = b.server_shop_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'shop' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -1107,8 +1109,8 @@ bool MSDatenbank::getShopServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getNewsServer( int client, Text *ip, int *port )
 bool MSDatenbank::getNewsServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_news AS a, server_news_clients AS b "
-							 "WHERE a.id = b.server_news_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'news' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -1133,8 +1135,8 @@ bool MSDatenbank::getNewsServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getHistorieServer( int client, Text *ip, int *port )
 bool MSDatenbank::getHistorieServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_historie AS a, server_historie_clients AS b "
-							 "WHERE a.id = b.server_historie_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'historie' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -1159,8 +1161,8 @@ bool MSDatenbank::getHistorieServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getKartenServer( int client, Text *ip, int *port )
 bool MSDatenbank::getKartenServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_karten AS a, server_karten_clients AS b "
-							 "WHERE a.id = b.server_karten_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server a, server_client b "
+							 "WHERE a.server_typ_name = 'karten' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )
@@ -1185,8 +1187,8 @@ bool MSDatenbank::getKartenServer( int client, Text *ip, int *port )
 
 
 bool MSDatenbank::getEditorServer( int client, Text *ip, int *port )
 bool MSDatenbank::getEditorServer( int client, Text *ip, int *port )
 {
 {
-	Text *befehl = new Text( "SELECT a.port, a.ip FROM server_editor AS a, server_editor_clients AS b "
-							 "WHERE a.id = b.server_editor_id AND b.client_id = " );
+	Text *befehl = new Text( "SELECT a.port, a.ip FROM server AS a, server_client AS b "
+							 "WHERE a.server_typ_name = 'editor' AND a.id = b.server_id AND b.client_id = " );
 	befehl->append( client );
 	befehl->append( client );
 	lock();
 	lock();
 	if( !datenbank->befehl( befehl->getText() ) )
 	if( !datenbank->befehl( befehl->getText() ) )

+ 2 - 2
MainServer/Datenbank.h

@@ -10,8 +10,8 @@ using namespace sql;
 
 
 namespace Admin_Recht
 namespace Admin_Recht
 {
 {
-	const int MSStarten = 0x00000001;
-	const int MSBeenden = 0x00000002;
+	const int MSStarten = 1;
+	const int MSBeenden = 2;
 }
 }
 
 
 class MSDatenbank
 class MSDatenbank

+ 3 - 7
MainServer/MainServer.cpp

@@ -17,14 +17,10 @@ MainServer::MainServer( InitDatei *zDat )
 	empfangen = 0;
 	empfangen = 0;
 	gesendet = 0;
 	gesendet = 0;
 	dat = zDat->getThis();
 	dat = zDat->getThis();
-	if( !zDat->wertExistiert( "MSPort" ) )
-		zDat->addWert( "MSPort", "4253" );
-	if( !zDat->wertExistiert( "MSAPort" ) )
-		zDat->addWert( "MSAPort", "4252" );
 	server = new Server();
 	server = new Server();
 	aServer = new Server();
 	aServer = new Server();
 	std::cout << "MS: Starten des Admin Servers...\n";
 	std::cout << "MS: Starten des Admin Servers...\n";
-	if( !aServer->verbinde( (unsigned short)TextZuInt( zDat->zWert( "MSAPort" )->getText(), 10 ), 10 ) )
+	if( !aServer->verbinde( (unsigned short)TextZuInt( zDat->zWert( "AdminServerPort" )->getText(), 10 ), 10 ) )
 	{
 	{
 		std::cout << "MS: Der Admin Server konnte nicht gestartet werden. Das Programm wird beendet.\n";
 		std::cout << "MS: Der Admin Server konnte nicht gestartet werden. Das Programm wird beendet.\n";
 		exit( 1 );
 		exit( 1 );
@@ -32,7 +28,7 @@ MainServer::MainServer( InitDatei *zDat )
 	end = 0;
 	end = 0;
 	InitializeCriticalSection( &cs );
 	InitializeCriticalSection( &cs );
 	ref = 1;
 	ref = 1;
-    if( zDat->wertExistiert( "Aktiv" ) && zDat->zWert( "Aktiv" )->istGleich( "TRUE" ) )
+    if( zDat->zWert( "Aktiv" )->istGleich( "TRUE" ) )
         serverStarten();
         serverStarten();
 }
 }
 
 
@@ -107,7 +103,7 @@ bool MainServer::serverStarten()
 {
 {
 	if( run )
 	if( run )
 		return 1;
 		return 1;
-	bool ret = server->verbinde( (unsigned short)TextZuInt( dat->zWert( "MSPort" )->getText(), 10 ), 10 );
+	bool ret = server->verbinde( (unsigned short)TextZuInt( dat->zWert( "ServerPort" )->getText(), 10 ), 10 );
 	start();
 	start();
 	return ret;
 	return ret;
 }
 }