Awesome
<img src="./docs/agones.png" alt="Agones logo" width="250px" height="250px" />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 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
- Slack
- Mailing List
- Community Meetings (Join the mailing list for details)
Code of Conduct
Participation in this project comes under the Contributor Covenant Code of Conduct
Reporting Security Issues
To report a security issue for this project, please follow the instructions in the Project Security Policy
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. For adding a new field to one of the Custom Resource Definitions refer to Development Work on Agones Custom Resource Definitions (CRDs).
For Agones client SDK development refer to Developing, Testing, and Building Agones Client SDKs.
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
Licence
Apache 2.0