Servers for Multiplayer Games

Discussion in 'Public Game Developers Forum' started by Rainier, Aug 1, 2012.

  1. Rainier

    Rainier Well-Known Member

    Apr 16, 2012
    160
    0
    0
    I'm trying to figure out how games like Words with Friends has their app and servers set up so they can do multiplayer games when servers fill up and new ones get turned on.

    For example, I'm told by the person helping me program my app that if users 1-10,000 are set up on Server A, and users 10,001-20,000 are set up on Server B, people on Server A can't find people on Server B to play each other.

    That's my naive interpretation of the situation. There must be a way for that bridge to be set up, otherwise WWF wouldn't be possible.

    Can anyone offer some advice?
     
  2. Blackharon

    Blackharon Well-Known Member

    Mar 15, 2010
    978
    0
    16
    Game Designer for Ludia
    Canada
    There is a solution by adding one or more game-servers that queries server A + B (and adds C, D and beyond when you have players to support them) for the player profiles and then hosts the games. This way, you can add any number of game-servers to fit the demand for games in progress, and any number of 'profile servers' to fit the demand for the number of player profiles.

    This is a layman's interpretation of what we do. I'm not the programmer though (only the game designer) and there are probably many more ways to deal with that.
     
  3. Rubicon

    Rubicon Well-Known Member

    Feb 22, 2011
    1,535
    1
    0
    Lead Programmer, Chief Bottlewasher
    Isle of Wight, UK
    This is known as a proxy server.

    Not sure why something like WWF should need this though. I know they have a shedload of players, but the data being passed around is utterly trivial.
     
  4. Rainier

    Rainier Well-Known Member

    Apr 16, 2012
    160
    0
    0
    Thanks Blackharon and Rubicon.

    Sorry for the stupid questions, but here goes: is what Blackharon described the proxy server that Rubicon mentioned?

    And which person does the programming to make this happen, the app programmer, or the person doing the server architecture, or both?

    Thanks so much for your help on this!
     
  5. Rubicon

    Rubicon Well-Known Member

    Feb 22, 2011
    1,535
    1
    0
    Lead Programmer, Chief Bottlewasher
    Isle of Wight, UK
    It varies with the team and the game. We rolled all our own, but it wasn't that big a hardship compared to world of warcraft. :)
     
  6. Rainier

    Rainier Well-Known Member

    Apr 16, 2012
    160
    0
    0
    Okay, to conclude the inquiry, the Enterprise guy I spoke with explained the solution, and it sounded a lot like what was previously mentioned:

    Regardless of what server User1, User2, etc. is placed in, all we need is a central database (let's call it Locator) that is told where User1 and User2 are.

    If User2 wants to see User1, the server they're placed in queries the Locator DB, and the required data is fetched and now both can play each other, regardless of what location User1 and User2 are in. Nice and simple, and it avoids the need for complex clustering which can require more resources (and larger monthly expenses).

    Thanks for the help Blackharon and Rubicon!
     

Share This Page