Just had a situation where Mangos-daemon lost connection to the server with realmd and character databases.
Steps to reproduce:
- Load up realm and mangosd and have everything fully loaded.
Take down the realmd & character database server (but leave world database up).
- Covenant-wow world databases are local to each server. Realmd and Mangosd databases are on a different dedicated DB server.
- Turn on the realmd and character databases.
- Reload realm-daemon
- Forget to reload a world server
What happens is that a player is able to login to the world and play as if everything is fine and working. However when they disconnect and come back later, no progress is saved.
The mangos-daemon appears to have no way to re-establish the connection to realmd and character databases if those are lost.
Furthermore I am concerned that this shows that someone might be able to bypass the realm-daemon altogether as there appears to be no communication between that and mangos-daemon, even via the database to show the person has been authenticated by the realm-daemon recently.
If this communication existed this would prevent players from logging into mangos-daemon without first being authenticated by the realm-daemon. There was no database connection from mangos-daemon to at least the realmd database in the case i recently saw, but they were able to get character information to appear and login so must of been a connection of some kind.
This report is to investigate exactly what happened and if needed implemented a better system of handling for such things.