한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game Lag White Paper › Problems only some players hit

Lost baseline snapshot Lost baseline for delta compression

Cause ID pt-baseline · Primary owner Game team (Server development) · Also Game team (Client development)

Open the interactive card with figures and simulations →

When the server sends “only what changed since last time,” losing the full state sent once at the start (the baseline) means later changes can’t be applied.

Why The packet with an entity’s full state (baseline) is lost or dropped before processing → Effect The client has nothing to apply later changes to, so it ignores them → On screen That entity is invisible, or suddenly appears much later

Symptoms
Invisible / ghost entities, Teleporting
Factors
Packet loss
Who’s affected
One client on the same PC, Just me
When
Randomly
Owner
Primary owner Game team (Server development) · Also Game team (Client development)
Game team action items
Server: always resend the baseline until an acknowledgment (ACK) arrives, build changes only against a baseline the client has acknowledged. Client: send the ACK for a baseline only after actually applying it, ask the server again when changes arrive for an unknown entity.
On the graph
Random spikes · Changes received for unknown entities
Where to look
Times the client dropped changes that arrived without a baseline, with entity IDs, matched against when the server sent that entity’s baseline and when the ACK came back. Reproduce in development by adding loss (loss in tc netem, packet loss percentage in Unreal network emulation)
Confirmed if
For the invisible entity, the server sent a baseline and never got an ACK, yet kept sending only changes, which the client dropped
Ruled out if
The baseline was ACKed and applied on the client but the entity is still invisible: missed despawn message or entity ID reuse mix-up
Check with
Game server or client logs and metrics

Sources

  1. Snapshot Compression Gaffer On Games
    Changes must be built only against a baseline the other side has acknowledged (acked), and the initial state is sent separately
  2. Quake III Arena source: code/server/sv_snapshot.c id Software
    Delta compression uses the snapshot the client acknowledged as its baseline, and a full snapshot is sent when the baseline gets too old
  3. tc-netem(8) — Linux manual page iproute2
    A test tool that adds delay and jitter (delay TIME JITTER) and loss (loss random PERCENT) to outgoing packets to mimic a real network
  4. Using Network Emulation in Unreal Engine Epic Games
    Test with minimum and maximum latency and a packet loss percentage on server and client; set from the console, e.g., NetEmulation.PktLag

See also

Same layer: Problems only some players hit

Same symptom (Invisible / ghost entities), other layers

View the interactive card with figures and simulations