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 the via API - Manage GameServer lifecycles - including health checking and connection information.
- Client SDKs for integration with dedicated game servers to work with Agones.
- Kubernetes cluster version 1.9+
- Minikube and Google Kubernetes Engine have been tested
- If you are creating and managing your own Kubernetes cluster, the MutatingAdmissionWebhook admission controller is 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) or Minikube, and install Agones.
Documentation and usage guides on how to develop and host dedicated game servers on top of Agones.
- Full GameServer 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 tools in the build directory for testing and building Agones from source.
Agones is in active development - we would love your help in shaping its future!
Apache 2.0