When seeing the game from the outside it’s really hard to get an idea of just how many machines and services that is actually involved to run our game Heroes & Generals. So, I just wanted to give you a brief overview of the setup. While Reto.Hansg has already blogged about the actual server-hardware and physical locations, I’ll describe the various components.
Below is a diagram describing the setup and the communication channels involved.
- CDN Provider – is a Content Delivery Network, a file distribution service we use to distribute the assets required to run the game.
- LDAP – is the user database that contains information about the users registered.
- War Servers – The flash client (web browser), action game client, the action game servers and the mobile apps all connect to a central set of machines/services we call the war servers. These machines are responsible for running the strategy game, managing the action games, storing character customisation and progress as well as performing extensive logging on everything that happens within the game.
- Payment Provider – All payment transaction is handled by a 3rd party company, so we don’t need to store sensitive information about credit cards etc..
- Web Frontend Server – This is the entrance point for all clients when the want to connect to the game.
- Action server – All action games are run on a large set of servers distributed across the world to keep ping time (latency) as low as possible between action game client and server.
- Clients – consists currently of PC web browser (flash client) and mobile apps.
- Keep Alive Monitor – ensures all services involved are up and running. If a service is no longer responding the monitor will notify the deploy system to try and restart the service.
- Deploy System – responsible for uploading new versions of the game to the servers, and starting and stopping the services involved.