← Lessons

quiz vs the machine

Platinum1780

System Design

Dedicated Server Orchestration

Spinning up and tearing down game server instances on demand.

6 min read · advanced · beat Platinum to climb

Why orchestration

Each match needs a fresh dedicated server process to run the authoritative simulation. Player demand swings wildly by hour and region, so you cannot keep a fixed fleet running. Orchestration allocates servers when matches form and reclaims them when matches end.

Allocation flow

  • A fleet of game server processes runs across a cluster, each in one of three states: ready, allocated, or shutting down.
  • When the matchmaker has a match, it asks the allocator for a ready server, which transitions to allocated and receives the player roster.
  • When the match ends the process exits and the slot returns to the ready pool or is replaced.

A controller keeps a buffer of ready servers so allocation is instant rather than waiting for a cold start. Open source systems like Agones model exactly this lifecycle on a container platform.

Scaling and bin packing

The autoscaler watches the ready buffer and adds or removes nodes to keep it sized. Because each server is short lived and stateful only for its match, the scheduler can bin pack many processes per node, then drain nodes gracefully once their matches finish.

Key idea

Orchestration keeps a buffer of ready dedicated servers, allocates one per match, and reclaims it on completion while autoscaling the underlying fleet.

Check yourself

Answer to earn rating on the learn ladder.

1. Why keep a buffer of ready servers?

2. What happens to a dedicated server when its match ends?

3. What lets many game servers share one node?