Jump to content
  • MySQL Server has gone away - Connection handling (Show stopper bug)

    • Status: Confirmed
      Main Category: Core / Mangos Daemon
      Sub-Category: Show Stopper
      Version: 21.11 Milestone: 21 Priority: Urgent
      Implemented Version: Unset
      Assigned: H0zen

    Just had a situation where Mangos-daemon lost connection to the server with realmd and character databases.

    Steps to reproduce:

    1. Load up realm and mangosd and have everything fully loaded.
    2. Take down the realmd & character database server (but leave world database up).
      1. Covenant-wow world databases are local to each server. Realmd and Mangosd databases are on a different dedicated DB server.
    3. Turn on the realmd and character databases.
    4. Reload realm-daemon
    5. 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.

    User Feedback

    Recommended Comments

    Well, you need a fail-over system for sure. But the proof that you got authenticated is the session key that has been negotiated during the logon.

    If you are by-passing the logon, there's no way you could have that session-key properly setup. A by-pass, though, could be that the session-key is re-used if we don't zero it when a player is disconnecting from a realm.

    Link to comment
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use