Jump to content

Scalability considerations

Vladimir Ilich

Recommended Posts

I have a very important feature request : 

Implement round robin on the connection, so when you click to enter a server the client checks if a DNS has more ip entries and if one of the ips has an offline server check the next ip and connect to that if there is an online server.  Also connect only to the server with players on it if there are multiple servers online or to the first online server if there are no players online on any ips.


Make the system stateless, in Dota 2 if a server crashes or gets flooded  another server will almost instantly take over, this can be simply achieved by keeping the round robin checks running in the client after connection and if the ping is too high to the existing server automatically reconnect to the other ip in the dns without leaving the game. 

The state between servers should be shareable, I plan to do this with redis : I would save the state of the map in redis constantly and whenever a player would connect he would be synced back to the state the server last wrote to redis. (suppose redis would never crash) If the crashed server comes back online nobody would connect to it because it wouldn't have players, if the second server crashes the clients will automatically connect to the first or next online server in round robin from the dns.

Edited by Vladimir Ilich
  • Like 1
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...