Agones logo

Agones

Host, Run and Scale dedicated game servers on Kubernetes
3
2
+ 1
0

What is Agones?

An open-source, batteries-included, multiplayer dedicated game server scaling and orchestration platform that can run anywhere Kubernetes can run.
Agones is a tool in the Game Development category of a tech stack.
Agones is an open source tool with 5.2K GitHub stars and 727 GitHub forks. Here’s a link to Agones's open source repository on GitHub

Who uses Agones?

Companies

Developers

Agones Integrations

Decisions about Agones

Here are some stack decisions, common use cases and reviews by companies and developers who chose Agones in their tech stack.

Joshua Dean Küpper
CEO at Scrayos UG (haftungsbeschränkt) · | 12 upvotes · 59.8K views

We've already been monitoring Agones for a few years now, but we only adapted Kubernetes in mid 2021, so we could never use it until then. Transitioning to Kubernetes has overall been a blast. There's definitely a steep learning curve associated with it, but for us, it was certainly worth it. And Agones plays definitely a part in it.

We previously scheduled our game servers with Docker Compose and Docker Swarm, but that always felt a little brittle and like a really "manual" process, even though everything was already dockerized. For matchmaking, we didn't have any solution yet.

After we did tons of local testing, we deployed our first production-ready Kubernetes cluster with #kubespray and deployed Agones (with Helm) on it. The installation was very easy and the official chart had just the right amount of knobs for us!

The aspect, that we were the most stunned about, is how seamless Agones integrates into the Kubernetes infrastructure. It reuses existing mechanisms like the Health Pings and extends them with more resource states and other properties that are unique to game servers. But you're still free to use it however you like: One GameServer per Game-Session, one GameServer for multiple Game-Sessions (in parallel or reusing existing servers), custom allocation mechanisms, webhook-based scaling, ... we didn't run into any dead ends yet.

One thing, that I was a little worried about in the beginning, was the SDK integration, as there was no official one for Minecraft/Java. And the two available inofficial ones didn't satisfy our requirements for the SDK. Therefore, we went and developed our own SDK and ... it was super easy! Agones does publish their Protobuf files and so we could generate the stubs with #Protoc. The existing documentation regarding Client-SDKs from Agones was a great help in writing our own documentation for the interface methods.

And they even have excellent tooling for testing your own SDK implementations. With the use of Testcontainers we could just spin up the local SDK testing image for each of the integration tests and could confirm that our SDK is working fine. We discovered a very small inconsistency for one of the interface methods, submitted an issue and a corresponding PR and it was merged within less than 24 hours.

We've now been using Agones for a few months and it has proven to be very reliable, easy to manage and just a great tool in general.

See more

Agones's Features

  • Agones extends Kubernetes, such that it gets native abilities to create, run, manage and scale dedicated game server processes within Kubernetes clusters using standard Kubernetes tooling and APIs
  • Run and update Fleets of Game Servers, without worrying about having Game Servers shutdown that has active players on them
  • Deploy game servers inside a Docker container, with any combination of dependencies or binaries
  • Integrated game server SDK for game server lifecycle managements, including health checking, state management, configuration and more
  • Autoscaling capabilities to ensure players always have a game server available to play on
  • Out of the box metrics and log aggregation to track and visualise what is happening across all your game server sessions
  • Modular architecture that can be tailored to your specific multiplayer game mechanics
  • Game server scheduling and allocation strategies to ensure cost optimisation across cloud and on-premise environments

Agones Alternatives & Comparisons

What are some alternatives to Agones?
Unity
Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
three.js
It is a cross-browser JavaScript library and Application Programming Interface used to create and display animated 3D computer graphics in a web browser.
Ninject
It is a lightning-fast, ultra-lightweight dependency injector for .NET applications. It helps you split your application into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a flexible manner. By using it to support your software's architecture, your code will become easier to write, reuse, test, and modify.
Unreal Engine
It is a game engine that helps you make games. It is made up of several components that work together to drive the game. Its massive system of tools and editors allows you to organize your assets and manipulate them to create the gameplay for your game.
Godot
It is an advanced, feature-packed, multi-platform 2D and 3D open source game engine. It is developed by hundreds of contributors from all around the world.
See all alternatives
Related Comparisons
No related comparisons found

Agones's Followers
2 developers follow Agones to keep up with related blogs and decisions.