Google Cloud & Ubisoft Announce Agones – Open Source Dedicated Multiplayer Game Server Hosting
Google Cloud and Ubisoft have announced Agones, an open source dedicated multiplayer game server hosting offering that uses Kubernetes to host and scale dedicated game servers.
Carl Dionne, Development Director – Online Technology Group at Ubisoft, said:
Our goal is to continually find new ways to provide the highest-quality, most seamless services to our players so that they can focus on their games. Agones helps by providing us with the flexibility to run dedicated game servers in optimal datacenters, and by giving our teams more control over the resources they need. This collaboration makes it possible to combine Google’s expertise in deploying Kubernetes at scale with our deep knowledge of game development pipelines and technologies.
Below you can find a more technical explanation detailing how Agones differs from a traditional game server.
Here’s an example of a typical dedicated game server setup:
Players connect to some kind of matchmaker service, which groups them (often by skill level) to play a match.
Once players are matched for a game session, the matchmaker tells a game server manager to provide a dedicated game server process on a cluster of machines.
The game server manager creates a new instance of a dedicated game server process that runs on one of the machines in the cluster.
The game server manager determines the IP address and the port that the dedicated game server process is running on, and passes that back to the matchmaker service.
The matchmaker service passes the IP and port back to the players’ clients.
The players connect directly to the dedicated game server process and play the multiplayer game against one another.
Building Agones on Kubernetes and open-source
Agones replaces the bespoke cluster management and game server scaling solution we discussed above, with a Kubernetes cluster that includes a custom Kubernetes Controller and matching GameServer Custom Resource Definitions,
With Agones, Kubernetes gets native abilities to create, run, manage and scale dedicated game server processes within Kubernetes clusters using standard Kubernetes tooling and APIs. This model also allows any matchmaker to interact directly with Agones via the Kubernetes API to provision a dedicated a game server.
Building Agones on top of Kubernetes has lots of other advantages too: it allows you to run your game workloads wherever it makes the most sense, for example, on game developers’ machines via platforms like minikube, in-studio clusters for group development, on-premises machines and on hybrid-cloud or full-cloud environments including Google Kubernetes Engine.
Kubernetes also simplifies operations. Multiplayer games are never just dedicated game servers—there are always supporting services, account management, inventory, marketplaces etc. Having Kubernetes as a single platform that can run both your supporting services as well as your dedicated game servers drastically reduces the required operational knowledge and complexity for the supporting development team.
Finally, the people behind Agones aren’t just one group of people building a game server platform in isolation. Agones, and the developers that use it, leverages the work of hundreds of Kubernetes contributors and the diverse ecosystem of tools that have been built around the Kubernetes platform.
Founding contributor to the Agones project, Ubisoft brought their deep knowledge and expertise in running top-tier, AAA multiplayer games for a global audience.