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

Game Lag White Paper › Netcode design

Client authority Client-authoritative results

Cause ID sy-client-auth · Primary owner Game team (Server development) · Also Game team (Client development)

Open the interactive card with figures and simulations →

When each client decides its own results, your own screen feels responsive, but results disagree with other players’ screens and the game is easy to hack.

Why The client decides position and hits, and the server only relays them → Effect Two players each claim they hit first, and the server can’t verify either claim → On screen Opponents teleport or pass through walls, “I hit them but it didn’t count”

Symptoms
Teleporting, Dropped action / rollback
Factors
Latency
Who’s affected
Whole server
When
Always
Owner
Primary owner Game team (Server development) · Also Game team (Client development)
Game team action items
Server: validate important results (such as hits) on the server, check movement speed and distance. Client: when the server rejects or corrects a result, roll back to the server’s value.
On the graph
Always high · Impossible movement speeds and conflicting hit reports
Where to look
On the server, log the positions and hits clients report as-is, compute movement speed from consecutive position reports, and count reports over maximum speed and cases where two players both claim they hit first
Confirmed if
The server passes reports on to other clients without validation, and impossible speeds or conflicting hit reports show up steadily regardless of patch or region
Ruled out if
The server computes or validates results itself: not this cause. Teleporting in that case points to packet loss or the interpolation buffer
Check with
Game server or client logs and metrics

Sources

  1. Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization (Yahn W. Bernier, GDC 2001) Valve
    Having clients report results works only when clients can be trusted; authoritative servers exist because of cheating concerns
  2. Peeking into VALORANT's Netcode Riot Games
    Server-authoritative model: the server never trusts the client’s view of the game state
  3. Distributed authority topologies (Netcode for GameObjects 2.5) Unity
    Splitting authority across clients makes cheating easier and removes the single simulation that governs every entity

See also

Same layer: Netcode design

Same symptom (Teleporting), other layers

View the interactive card with figures and simulations