Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes
Clone or download
markmandel Prioritise Allocation from Nodes with Allocated/Ready GameServers
One of the first parts for Node autoscaling (#368) - make sure we essentially
bin pack our allocated game servers.

This change makes allocation first prioritise allocation from `Nodes` that
already have the most `Allocated` `GameServers`, and then in the case of a tie,
to the `Nodes` that have the most `Ready` `GameServers`.

This sets us up for the next part, such that when we scale down a Fleet,
it removes `GameServers` from `Nodes` that have the least `GameServers` on
them.
Latest commit 1923a41 Oct 2, 2018
Permalink
Failed to load latest commit information.
build Mount point for helm config Oct 16, 2018
cmd FleetAutoscaler Oct 3, 2018
docs Prioritise Allocation from Nodes with Allocated/Ready GameServers Oct 16, 2018
examples Prioritise Allocation from Nodes with Allocated/Ready GameServers Oct 16, 2018
install Updates to for 0.6.0 Oct 16, 2018
pkg Prioritise Allocation from Nodes with Allocated/Ready GameServers Oct 16, 2018
sdks fix c++ sdk undeclared destructor Oct 2, 2018
test/e2e Prioritise Allocation from Nodes with Allocated/Ready GameServers Oct 16, 2018
vendor Added github.com/spf13/viper to dep toml Aug 24, 2018
.dockerignore Implement SDK SetLabel and SetAnnotation functionality Aug 26, 2018
.gitattributes Treat all files in the repo as binary, with no git magic updating lin… Apr 19, 2018
.gitignore switch to golangci-lint and fixes new lint issues. Sep 8, 2018
.golangci.yml switch to golangci-lint and fixes new lint issues. Sep 8, 2018
CHANGELOG.md Change for the 0.5.0 release. Oct 16, 2018
CONTRIBUTING.md Fixed some links & typos Jun 13, 2018
Gopkg.lock Added github.com/spf13/viper to dep toml Aug 24, 2018
Gopkg.toml Added github.com/spf13/viper to dep toml Aug 24, 2018
LICENSE First commit for Agon. This is exciting. Dec 5, 2017
README.md Prioritise Allocation from Nodes with Allocated/Ready GameServers Oct 16, 2018
cloudbuild.yaml adds the first e2e test Aug 16, 2018
code-of-conduct.md Adding CoC and Discuss mailing lists. Feb 19, 2018
doc.go Centralise the canonical import paths and more package docs Mar 8, 2018
sdk.proto Implement SDK SetLabel and SetAnnotation functionality Aug 26, 2018
sdk.swagger.json Implement SDK SetLabel and SetAnnotation functionality Aug 26, 2018

README.md

Agones

GoDoc Go Report Card GitHub release Follow on Twitter

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)

Disclaimer

This software is currently alpha, and subject to change. Not to be used in production systems.

Major Features

  • 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.

Why does this project exist?

For more details on why this project was written, read the announcement blog post.

Requirements

Installation

Follow these instructions to create a cluster on Google Kubernetes Engine (GKE), Minikube or Azure Kubernetes Service (AKS), and install Agones.

Usage

Documentation and usage guides on how to develop and host dedicated game servers on top of Agones.

Quickstarts:

Guides

Tutorials

Reference

Examples

Advanced

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.

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

Licence

Apache 2.0