Blogs

Multiplayer Netcode: Lockstep, Rollback, and Authoritative

The three netcode architectures that ship modern multiplayer games. When to use each and the engineering trade-offs.

Jan 15, 2026 4 min

Netcode is the part of the game most players will never see and the part most likely to ruin their experience.

Multiplayer games have to solve a hard problem: how do you keep multiple machines in sync over an unreliable network with variable latency? The answer is one of three architectures. Picking the wrong one early is a project-killing mistake.

Lockstep

All clients run the same simulation. Each frame, every client sends inputs to every other client. The simulation only advances when all inputs arrive. Determinism is required — every client must compute identical outcomes for identical inputs.

Strengths: bandwidth-efficient (only inputs cross the wire), tamper-evident (a desync means someone cheated). Weaknesses: latency is bounded by the slowest player. Best for: RTS games, fighting games (with rollback variant), and turn-based games.

Rollback netcode

A variant of lockstep used in fighting games. Clients predict opponent inputs, simulate forward, and roll back when the actual inputs arrive. Done right, it produces an experience indistinguishable from local play up to ~150ms of latency.

The implementation is technically demanding — the entire game state must be serializable, deterministic, and rollback-able. GGPO is the canonical reference. Best for: fighting games, party games, anything with sub-50ms input latency requirements.

Server-authoritative

The server runs the canonical simulation. Clients send inputs, server computes outcomes, server broadcasts state. Clients render predicted state and reconcile with server snapshots when they diverge.

Strengths: cheat-resistant (server is the truth), works well with mixed network conditions. Weaknesses: server cost, bandwidth-heavy, requires sophisticated client-side prediction to feel responsive. Best for: most modern multiplayer games — FPS, MMO, MOBA, battle royale.

The decision tree

  • 1v1 fighting game? Rollback.
  • RTS or turn-based? Lockstep.
  • Anything with persistent state, anti-cheat needs, or 4+ players? Authoritative.

What we ship

For client multiplayer projects, we default to authoritative. Game servers in Go or C# on Kubernetes via Agones, client-side prediction for movement, lag compensation for hit detection. Reference workloads: 50,000 concurrent players per region, sub-100ms p99 latency in the EU and US.