Login erfolgreich, Verbindung zum Server schlägt fehl, DB/Core auf verschiedenen Maschinen

Hallo zusammen,

Ich bin im Moment dabei einen WoW Server auf 3.3.5a aufzusetzen. Habe manuell die verschiedenen Teile der Datenbank aktualisiert und eingedeutscht, allerdings nichts am Design geändert.

Der Loginserver läuft soweit und man kann sich anmelden. Jetzt kommt das aber, leider wird man, bei dem Versuch sich auf dem Realm selbst zu verbinden, sofort vom Server getrennt und bekommt die Meldung “Ihre Verbindung zum Server wurde unterbrochen.” Super Sache.

Ein paar Hintergrundinfos zum Aufbau der ganzen Sache.

Jeder WoW Server und der Loginserver laufen unter eigenen Benutzern die zentral über CronJobs verwaltet, aktualisiert und gepatcht werden.

Nach eine Restrukturierung unseres Servermanagements haben wir uns generell darauf geeinigt intern einen zentralen Datenbankserver zu verwenden, da wir eine ganze Menge Dienste hosten und es Datenschutzrechtlich schwierig wurde. Außerdem war es eine Frage der Sicherheit. Von daher laufen die Spieleserver und der Datenbankserver auf zwei unterschiedlichen Maschinen, mit unterschiedlichen IP Adressen.

Der MySQL Server ist so konfiguriert das die Verbindung ohne weiteres aufgebaut werden kann. Sieht man auch beim einschalten von Welt und Loginserver.

Die Frage ist also, was läuft falsch? Was muss Ich in der Realmlist eintragen damit das ganze läuft? Was ist der Unterschied zwischen Adress, localadress? login und worldserver sind im selben subnetz, das habe Ich schon eingetragen. Der Port und Spielversion stimmen.

In der worldserver.conf stimmt auch alles was den mysql server betrifft. Er startet auch korrekt. Der Port ist mit dem in der realmlist identisch.

Weiß hier jemand wo es klemmt?

worldserver.conf

###################################################################################################
# CONNECTIONS AND DIRECTORIES
#
#    RealmID
#        Description: ID of the Realm using this config.
#        Important:   RealmID must match the realmlist inside the auth database.
#        Default:     1

RealmID = 1

#
#    DataDir
#        Description: Data directory setting.
#        Important:   DataDir needs to be quoted, as the string might contain space characters.
#        Example:     "@prefix@/share/trinitycore"
#        Default:     "."

DataDir = "/opt/data/3.3.5a/"

#
#    LogsDir
#        Description: Logs directory setting.
#        Important:   LogsDir needs to be quoted, as the string might contain space characters.
#                     Logs directory must exists, or log file creation will be disabled.
#        Default:     "" - (Log files will be stored in the current path)

LogsDir = "../logs"

#
#    LoginDatabaseInfo
#    WorldDatabaseInfo
#    CharacterDatabaseInfo
#        Description: Database connection settings for the world server.
#        Example:     "hostname;port;username;password;database"
#                     ".;somenumber;username;password;database" - (Use named pipes on Windows
#                                                                 "enable-named-pipe" to [mysqld]
#                                                                 section my.ini)
#                     ".;/path/to/unix_socket;username;password;database" - (use Unix sockets on
#                                                                           Unix/Linux)
#        Default:     "127.0.0.1;3306;trinity;trinity;auth"       - (LoginDatabaseInfo)
#                     "127.0.0.1;3306;trinity;trinity;world"      - (WorldDatabaseInfo)
#                     "127.0.0.1;3306;trinity;trinity;characters" - (CharacterDatabaseInfo)

LoginDatabaseInfo     = "x.x.x.x;3306;realmd;xxx;realmd"
WorldDatabaseInfo     = "x.x.x.x;3306;world;xxx;world"
CharacterDatabaseInfo = "x.x.x.x;3306;world;xxx;characters"

#
#    LoginDatabase.WorkerThreads
#    WorldDatabase.WorkerThreads
#    CharacterDatabase.WorkerThreads
#        Description: The amount of worker threads spawned to handle asynchronous (delayed) MySQL
#                     statements. Each worker thread is mirrored with its own connection to the
#                     MySQL server and their own thread on the MySQL server.
#        Default:     1 - (LoginDatabase.WorkerThreads)
#                     1 - (WorldDatabase.WorkerThreads)
#                     1 - (CharacterDatabase.WorkerThreads)

LoginDatabase.WorkerThreads     = 1
WorldDatabase.WorkerThreads     = 1
CharacterDatabase.WorkerThreads = 1

#
#    LoginDatabase.SynchThreads
#    WorldDatabase.SynchThreads
#    CharacterDatabase.SynchThreads
#        Description: The amount of MySQL connections spawned to handle.
#        Default:     1 - (LoginDatabase.WorkerThreads)
#                     1 - (WorldDatabase.WorkerThreads)
#                     2 - (CharacterDatabase.WorkerThreads)

LoginDatabase.SynchThreads     = 1
WorldDatabase.SynchThreads     = 1
CharacterDatabase.SynchThreads = 2

#
#    MaxPingTime
#        Description: Time (in minutes) between database pings.
#        Default:     30

MaxPingTime = 30

#
#    WorldServerPort
#        Description: TCP port to reach the world server.
#        Default:     8085

WorldServerPort = 8090

#
#    BindIP
#        Description: Bind world server to IP/hostname
#        Default:     "0.0.0.0" - (Bind to all IPs on the system)

BindIP = "0.0.0.0"

#
###################################################################################################

Poste doch mal die Logs, die geschrieben werden /emoticons/default_smile.png

Da du ja anscheinend mit deienm Client auf den Login Server kommst, hast du die Realmlist vom clienten schon mal richtig eingestellt, jetzt ist nur noch die Frage ob du auch den Eintrag in der realm Datenbank in der realmlist tabelle richtig eingetragen hast.

Bei address muss die IP des Worldservers rein!

Die local sachen sind eingentlich uninteressant, denn es will ja keiner vom lokalen netz auf den Server verbinden nehme ich an.

Bei port muss der Port des Worldservers rein, in diesem Fall also 8090

Dann sollte es funktionieren.

Ich hoffe ich konnte behilflich sein /emoticons/default_smile.png