Agones is a library for hosting, running and scaling dedicated game servers on Kubernetes.
Agones, is derived from the Greek word agōn which roughly translates to “contest”, “competition at games” and “gathering”. (source)
Why does this project exist?
Agones replaces usual bespoke or proprietary cluster management and game server scaling solutions with a Kubernetes cluster that includes the Agones custom Kubernetes Controller and matching Custom Resource Definitions for GameServers, Fleets and more.
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.
For more details on why this project was written, read the announcement blog post.
Major Features
- Define a single
GameServer
, and/or large game serverFleets
within Kubernetes - either through yaml or via the API - Manage GameServer lifecycles - including health checking and connection information.
Fleet
Autoscaling capabilities that integrate with Kubernetes' native cluster autoscaling- Gameserver specific metric exports and dashboards for ops teams
Usage
Documentation can be found on the Agones website.
Get involved
Code of Conduct
Participation in this project comes under the Contributor Covenant Code of Conduct
Development and Contribution
Please read the contributing guide for directions on submitting Pull Requests to Agones, and community membership governance.
See the Developing, Testing and Building Agones documentation for developing, testing and building Agones from source.
The Release Process documentation displays the project's upcoming release calendar and release process.
Agones is in active development - we would love your help in shaping its future!
This all sounds great, but can you explain Docker and/or Kubernetes to me?
Docker
Kubernetes
- You should totally read this comic, and interactive tutorial
- Katacoda's free, interactive Kubernetes course
Licence
Apache 2.0