20070707 - Management Server


In the Atom model, peer to peer handles most of the player interactions, and the central server serves as management providing the following key roles.

  1. Help connect players, punching holes through firewalls.
  2. Keep the master copy of the persistent world state.
  3. Deal with possible cheating or hacking into the game.
  4. Manage players, stats, rankings, etc.

I use the following tables often when doing server protocol design reality checks. Keeping with a single server, a 640 GB/month bandwidth quota, and using a 1/9 worst case percentage of player time online.

  1. 1000 players = 256 bytes/sec = 15360 bytes/min
  2. 5000 players = 51 bytes/sec = 3072 bytes/min
  3. 10000 players = 25 bytes/sec = 1536 bytes/min
  4. 50000 players = 5 bytes/sec = 307 bytes/min
  5. 100000 players = 2 bytes/sec = 153 bytes/min

And for a 3840 GB/month bandwidth quota.

  1. 1000 players = 1536 bytes/sec = 92160 bytes/min
  2. 5000 players = 307 bytes/sec = 18432 bytes/min
  3. 10000 players = 153 bytes/sec = 9216 bytes/min
  4. 50000 players = 30 bytes/sec = 1843 bytes/min
  5. 100000 players = 15 bytes/sec = 921 bytes/min
  6. 500000 players = 3 bytes/sec = 184 bytes/min
  7. 1000000 players = 1 bytes/sec = 92 bytes/min

For performance reasons it is a good idea to keep all players data in the active memory of the server, without overflowing into virtual memory and then slow disc access. Assuming 256 bytes of data per player.

  1. 65,536 players = 16MB
  2. 131,072 players = 32MB
  3. 262,144 players = 64MB
  4. 524,288 players = 128MB
  5. 1,048,576 players = 256MB