TSTier SlateAll templates

Collaboration

Multiplayer game server - the server decides what happened

Why an authoritative server with client prediction hides latency, and how a tick rate sets cost and fairness.

  • System design
  • deep
  • 8 step walkthrough
  • 6 tables

Share

  • Facebook
  • X

What this board gets wrong on purpose

The tension

Lag compensation rewinds hitboxes to where the shooter saw them, up to 200 ms back, so a player with a 15 ms connection who reaches cover can still die "behind the wall" to a player at 150 ms - the design is fair to the shooter by being unfair to the target, and the 200 ms cap is just where the board chose to stop. The tick rate sets both feel and cost: 64 Hz runs about 150 matches on a 32-core host, 128 Hz about 75, so moving to 128 doubles the server bill for a difference most players cannot measure but every competitive player complains about. Each match lives in the memory of exactly one process with no replica, so a crash or a host failure ends the match outright - it is voided and nobody loses rating, which players will learn to exploit by crashing it. And the snapshot still carries enemies the player cannot see, culled only coarsely by distance and rooms; whatever the server sends, a wallhack can draw.

Practise this as an interview

Take Multiplayer game server - the server decides what happened as a timed system design interview on a blank board - on your own, with the requirements to check yourself against, or with a candidate you invite.

Practise this as an interview

Start here

Why this design

A real-time multiplayer game is the purest latency problem in system design: the thing being served is a shared present that cannot exist, because every player receives it late. This question is asked for game studios and increasingly for anything real-time (trading screens, collaborative 3D, live sports betting). It tests whether you know the difference between an authoritative server and a relay, whether you can explain prediction, reconciliation, interpolation and lag compensation without hand-waving, and whether you can put a cost on a tick rate.

What you will learn

  • Why the server owns the simulation and clients send only inputs - and why peer-to-peer and lockstep lose for a competitive shooter.
  • The fixed tick: 64 Hz is a 15.625 ms budget, and what has to fit inside it.
  • Client-side prediction and server reconciliation: your character moves now, and is corrected later if the server disagrees.
  • Entity interpolation: why other players are drawn about 50 ms in the past on purpose.
  • Lag compensation: rewinding hitboxes for a shot, who it is fair to, and why it is capped at 200 ms.
  • Matchmaking, server allocation from a fleet, and why a match is a single process with no failover.

How to read this board

  1. Press Play. GETTING INTO A MATCH: a ticket, a matchmaker, and an allocator that picks a server for ten players.
  2. THE SERVER DECIDES: inputs arrive along the top, the tick runs, lag compensation rewinds for a shot.
  3. The snapshot goes back to the PLAYERS, where the client reconciles itself and interpolates everyone else.
  4. Then pages 1 to 6 and the DATA MODEL.
  5. Argue with what the board leaves in: the death behind the wall, the cost of 128 Hz, and a match that dies with its process.

1 · Requirements

Ask these before drawing anything

  • What kind of game? A 5v5 tactical shooter, a 100-player battle royale and a turn-based card game have nothing in common past the login screen. This board is a 5v5 shooter where hits are instant (hitscan).
  • How competitive? Ranked play makes fairness and anti-cheat requirements; casual play makes cost the requirement.
  • What latency is playable? Under 60 ms round trip feels good, 60 to 100 ms is fine, over 150 ms is a different game. That decides how many regions you need.
  • Is the simulation deterministic? Lockstep (send inputs only, everyone simulates) needs bit-exact determinism across CPUs and waits for the slowest player. A shooter almost never chooses it.
  • What happens when a server dies mid-match? Void, rematch or resume? Resume is very expensive; most games void.

Functional

  • Matchmake ten players by skill and latency; place them on a server all ten reach in under 60 ms where possible.
  • Run the match authoritatively at a fixed tick; clients send inputs, receive snapshots.
  • Own-character movement responds instantly on the client; other characters move smoothly.
  • Hits are judged against what the shooter saw, within a compensation window.
  • Record results, rating changes and a kill feed; record the match for replays and cheat review.

Non-functional

  • Tick budget 15.625 ms at 64 Hz, with simulation finishing in under 5 ms so a slow tick never cascades.
  • Downstream bandwidth under 128 kbit/s per player, so the game works on a poor connection.
  • Matchmaking median wait under 60 s at peak, under 3 min for the top 1 % of skill.
  • Match crash rate under 0.05 %. A voided ranked match is a support ticket.

Out of scope

  • Accounts, store and inventory.
  • Voice chat (a separate relay service).
  • Client-side anti-cheat drivers - mentioned only where server design affects them.

The rest of this board

Board preview

Available on Tier Slate

This page publishes the question. The answer — 5 more written pages, an 8-step narrated walkthrough and a 6-table schema — is the board itself, and it opens in Tierslate.

  • 5written pages
  • 8walkthrough steps
  • 6tables40 columns

5 pages behind this one

  • Capacity estimation
  • Storage estimation
  • Availability
  • How it works
  • Deployment plan
Open this board in TierslateBrowse every board

More boards

Several people editing one thing without losing an edit.

  • Calendar scheduling - a time that suits five people
  • Code review - the comment is on a line that moved
  • Collaborative editor - two carets in one paragraph
  • Version control - the commit graph is a DAG
  • Whiteboard sync - the cursors cost more than the drawing
  • Kanban board - ordering cards without renumbering them
  • File sync - every laptop is a replica
All 100 templatesOpen Tierslate
Tierslate

tierslate.com

HomeTemplatesPrivacyTerms