Server reconciliation: agree without forgetting your inputs
A server reply describes the past. Your client may have already moved beyond it.
The snapshot is not the present
While the server was processing and sending a snapshot, you could have entered more movement commands. Replacing your current position with the snapshot alone would discard movement that the server has not yet acknowledged.
Keep a sequence number
Each input command gets a sequence number. The server returns its position and the last sequence it processed. The client can then distinguish inputs already represented in the snapshot from those still waiting for acknowledgement. Stale snapshots must not move that acknowledgement backwards.
Replay the unfinished part
Reconciliation starts from the authoritative position and reapplies the unacknowledged inputs in order. This preserves recent input while accepting the server’s account of earlier movement. It requires sufficiently consistent movement rules on both sides.
Try the experiment
Use Chaos, keep Prediction on, and toggle Reconciliation. Watch the local/server position gap at the same replay time. This model uses identical movement rules and cumulative input recovery, so a small visible difference is possible; do not assume the switch must always produce a dramatic correction.
What this model simplifies
Lost packets can be recovered because later input packets include commands not yet processed by the server. The server applies newly received commands in order, potentially as a burst. Production games can use other acknowledgement, retransmission and simulation strategies. This demo does not implement a production transport protocol.
Further reading
The experiment and explanation above were written for Lag Arena. For a deeper technical reference, read Gabriel Gambetta’s multiplayer networking series.
Model review: October 31, 2026. This is an educational simulation; it does not reproduce a named commercial game.