Scaling Multiplayer Game Servers Is Not Easy
When you host ten of thousands of players, you must have more than one multiplayer game server. In fact, you need lots of them.
Multiplayer games require game clients (devices the players use to play your games) to connect directly to the game servers.
Multilayer game has to have a way to route game clients to appropriate servers to play against right players. This means that you have to control and manage all multiplayer game servers and make sure no game server is overwhelmed by too many players.
Many multiplayer games use Match-Making system to route players to appropriate game servers to make sure the players are playing against the “right” players.
However; event with such Match-Making system, you still have to manage all multiplayer game servers because your Match-Making system has to know all available game servers and their public endpoint addresses and many other information.
The control system of your multiplayer game servers must NOT be a single point of failure. Will you be using RDBS? Probably not because if your RDBS fails, the control system fails. How will you manage and control all independent multiplayer game servers without creating a single point of failure?
Meet Kubernetes And Diarkis
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Kubernetes can be a cluster of multiple containerized servers enabling auto-scaling of the servers within the cluster. This means that you may change the number of servers running at will within the Kubernetes cluster.
Diarkis is an auto-scalable multiplayer network engine. It is design to work with Kubernetes and its cluster auto-scaling.
Diarkis automatically routes game clients to appropriate servers so that you do not have to manage and control the player routing.
There is no need for centralized control system to manage game servers with Diarkis.
Diarkis is a cluster of game servers and they are completely de-centralized, but all Diarkis game servers can communicate with each other and coordinate with each other.
There is NO single point of failure with Diarkis game servers.
When you deploy Diarkis game servers with Kubernetes cluster, your multiplayer game servers are automatically managed, auto-scaled, and de-centralized. The game player clients simply connects to Diarkis game servers and start enjoying your multiplayer game.