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)
This software is currently alpha, and subject to change. Not to be used in production systems.
- Be able to define a
GameServer
within Kubernetes - either through yaml or via the API - Manage GameServer lifecycles - including health checking and connection information.
- Client SDKs for integration with dedicated game servers to work with Agones.
For more details on why this project was written, read the announcement blog post.
- Kubernetes cluster version 1.11+
- Minikube, Google Kubernetes Engine and Azure Kubernetes Service have been tested
- If you are creating and managing your own Kubernetes cluster, the MutatingAdmissionWebhook, and ValidatingAdmissionWebhook admission controllers are required. We also recommend following the recommended set of admission controllers.
- Firewall access for the range of ports that Game Servers can be connected to in the cluster.
- Game Servers must have the project SDK integrated, to manage Game Server state, health checking, etc.
Follow these instructions to create a cluster on Google Kubernetes Engine (GKE), Minikube or Azure Kubernetes Service (AKS), and install Agones.
Documentation and usage guides on how to develop and host dedicated game servers on top of Agones.
- Create a Game Server
- Create a Game Server Fleet
- Create a Fleet Autoscaler
- Create a Webhook for FleetAutoscaler
- Edit Your First Game Server (Go)
- Integrating the Game Server SDK
- GameServer Health Checking
- Latency Testing with Multiple Clusters
- Accessing Agones via the Kubernetes API
- Troubleshooting
- Create an Allocator Service (Go) - Learn to programmatically access Agones via the API
- Full GameServer Configuration
- Full Fleet Configuration
- Full Fleet Allocation Configuration
- Full Autoscaler Configuration
- Simple UDP (Go) - simple server and client that send UDP packets back and forth.
- CPP Simple (C++) - C++ example that starts up, stays healthy and then shuts down after 60 seconds.
- Xonotic - Wraps the SDK around the open source FPS game Xonotic and hosts it on Agones.
Participation in this project comes under the Contributor Covenant Code of Conduct
Please read the contributing guide for directions on submitting Pull Requests to Agones.
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!
- You should totally read this comic, and interactive tutorial
- Katacoda's free, interactive Kubernetes course
Apache 2.0