Run Agones Yourself or Use Managed Game Server Hosting? A Cost and Effort Comparison

Agones is free software, but running it is not. Here is what self-hosting Agones involves, what it costs once you count engineering time, and how Gameye, AWS GameLift and Edgegap compare.

Andrew Walker
Head of Business Development at Gameye

Run Agones yourself if your studio already operates Kubernetes in production and wants to own every layer of its game server stack. For most other studios a managed game server host costs less and ships sooner, because the real cost of Agones is the clusters and the people who run them, not the software.

Agones is a mature, well-documented open source project. This post covers what running it involves, what it costs in total, how the managed options compare, and how to move from Agones to Gameye.

The options at a glance

Self-hosted AgonesGameyeAWS GameLiftEdgegap
What you operateKubernetes clusters, Agones, Fleets and autoscalers in every regionA Docker image and one API callGameLift fleets on AWSContainers on Edgegap’s network
SDK in your game serverAgones SDK requiredNoneGameLift Server SDK requiredEdgegap SDK available, optional
Compute priceFree software. You pay for your own nodes, which run around the clock$0.07/vCPU-hr on demand, $0.035 reserved, billed per secondAbout $0.044 to $0.063/vCPU-hr for gen-6 and gen-7 Linux on demandAbout $0.069/vCPU-hr plus about $0.0051/GB-hr of RAM
BandwidthYour cloud’s egress, about $0.09 to $0.12/GB on AWS, GCP and AzureIncludedFree on gen-6 and newer. Gen-5 and older, and China, about $0.09/GB$0.10/GB
Where it runsAnywhere Kubernetes runs, including your own hardware21 providers and 200+ data centers, bare metal firstAWS only615+ locations across 17+ providers
HardwareWhatever you provisionDedicated bare metal, 4.7 GHz fleet averageAbout 2.8 to 3.9 GHz virtual coresPublic pool varies from 2.4 to 3.2 GHz

What running Agones really involves

The Agones docs describe it as “a library for hosting, running and scaling dedicated game servers on Kubernetes.” It adds GameServer, Fleet and FleetAutoscaler resources to Kubernetes. Your team builds and runs everything around those resources.

This is the normal work of running your own platform, not a flaw in Agones.

Total cost is infrastructure plus engineering time

Agones has no license fee. The bill comes from three places.

The Gameye vs Agones comparison models a mid-size deployment of about 5,000 concurrent players across three regions:

Cost lineSelf-hosted Agones
Node computeAbout $8,000 to $15,000 a month
EgressAbout $3,000 to $8,000 a month
One DevOps engineer$150,000 to $200,000 a year
TotalAbout $25,000 to $40,000 a month

The same load on Gameye comes to roughly $8,000 to $12,000 a month, with bandwidth included. Treat both figures as a model, not a quote. Your numbers depend on CPU use per player, traffic per player and how much your player count swings during the day. The cost calculator lets you enter your own load profile for Gameye, Edgegap and AWS.

Utilization matters too. A self-run cluster costs the same at 4 a.m. as at peak unless you scale nodes down, and new nodes take minutes to start when players return. Gameye bills on-demand capacity per second of container runtime, and a new container starts in 0.5 seconds on average.

When self-hosting Agones is the right call

Self-hosting is the better choice in these cases.

If none of these apply, the engineering time usually costs more than a managed host.

How the managed options differ

All three run your servers for you. They differ on the SDK, bandwidth, hardware and where they run.

Migrating from Agones to Gameye

Your game server already runs in a container for Agones, so most of the work is removing code.

  1. Push the same image. Gameye runs the Docker image you already build.
  2. Remove the Agones SDK calls. Take out Ready, Health, Shutdown and any other Agones SDK calls. Gameye needs no replacement SDK.
  3. Replace the allocation call. Where your matchmaker created a GameServerAllocation, it calls POST /session with a region and your image. Gameye returns an IP address and port.
  4. End sessions. Call stop when the match ends, or set a TTL and let Gameye end the session.
  5. Shift traffic in steps. Send a small share of matches to Gameye, compare tick times and cost, then raise the share. This is the same pattern Agones recommends for its own upgrades.

Your Fleets, FleetAutoscalers and cluster configuration have no Gameye equivalent to port. Placement and scaling happen behind the API. See how it works for the session flow and pricing for the full rate card.

Summary

To test it with your own server, start a free trial and run a match on Gameye, or talk to an engineer about moving off your Agones clusters.