Source: https://gameye.com/glossary/desync/

---
title: "Desync Meaning: What It Is in Games and How to Fix It"
description: "Desync is when a player"
---

# Desync

**Desync** (short for desynchronisation) is when the game state on a player’s client diverges from the server’s [authoritative](https://gameye.com/glossary/authoritative-server/) state. The player sees one thing; the server knows something different. That divergence shows up as phantom hits, invisible players, characters teleporting, [rubberbanding](https://gameye.com/glossary/rubberbanding/), or actions that look successful on-screen but fail on the server.

## Common causes

- **Tick rate inconsistency** — If the server’s [tick rate](https://gameye.com/glossary/tick-rate/) drops due to CPU contention, state updates arrive less often. Clients interpolate between stale data and accumulate drift.

- **High or variable latency** — Large or fluctuating [ping](https://gameye.com/glossary/ping/) means the client’s predictions are based on old information, increasing the chance of divergence.

- **Determinism bugs** — In lockstep architectures (common in RTS games), any floating-point rounding difference between client and server accumulates into visible desync over time.

- **Clock drift** — If the server and client clocks diverge, time-based calculations (movement speed, cooldowns, projectile travel) produce different results.

## Infrastructure vs. game code

Desync has both infrastructure and code-level causes. Infrastructure-side desyncs come from inconsistent server performance (tick rate drops, CPU jitter from noisy neighbours) and network issues ([packet loss](https://gameye.com/glossary/packet-loss/), routing changes, DDoS). Code-level desyncs come from non-deterministic simulation, incorrect reconciliation, or floating-point inconsistencies.

## How to reduce desync

You attack it from both sides:

- **Server-side (code):** keep the server authoritative, use [client-side prediction](https://gameye.com/glossary/client-side-prediction/) with server reconciliation, and make the simulation deterministic where it must be (lockstep games).

- **Network (code):** apply [lag compensation](https://gameye.com/glossary/lag-compensation/) and interpolation so brief latency spikes don’t immediately diverge the view.

- **Infrastructure:** run a consistent, high tick rate on hardware that doesn’t sag under load, place servers close to players to cut latency, and use stable, well-peered networking. Reliable infrastructure eliminates the infrastructure-side causes entirely — the server sends updates at a predictable rate and clients receive them reliably, so the only desync left to chase is in your own code.

## Frequently asked questions

**What does desync mean?**
Desync (desynchronisation) means a player’s client and the game server no longer agree on the state of the game. The result is visible inconsistencies — phantom hits, teleporting players, or actions that succeed on screen but fail on the server.

**What causes desync?**
Inconsistent server tick rate, high or fluctuating latency, non-deterministic simulation code, and clock drift between client and server. Causes split into infrastructure-side (server performance, networking) and code-side (simulation, reconciliation).

**How do you fix desync?**
Keep the server authoritative with client-side prediction and reconciliation, apply lag compensation, and run consistent tick rates on stable, low-latency infrastructure. Fixing infrastructure-side causes leaves only code-side desync to debug.

**Is desync the same as lag?**
No. Lag is delay between you and the server. Desync is disagreement about game state. Lag can cause desync, but a low-ping player can still desync from a determinism bug, and a high-ping player can stay in sync with good prediction and reconciliation.

Building a multiplayer game? Server-side desync often starts with an overloaded host that misses ticks. Gameye runs each match in its own game server container, started on demand near your players.

[See how Gameye hosts game servers &rarr;](https://gameye.com/how-it-works/)

[Back to Glossary](https://gameye.com/glossary/)

## Related terms

- ### Authoritative Server

An authoritative server runs your game logic and determines match truth — no client can override it, making cheating structurally impossible. [Read more](https://gameye.com/glossary/authoritative-server/)
- ### Client-Side Prediction

Client-side prediction applies player inputs locally without waiting for the server, so movement feels instant even on high-latency connections. [Read more](https://gameye.com/glossary/client-side-prediction/)
- ### Tick rate

Tick rate is how many times per second a game server updates the game state, measured in hertz (Hz). A 64-tick server updates 64 times a second; a 128-tick server, 128. [Read more](https://gameye.com/glossary/tick-rate/)
- ### Lag Compensation

Lag compensation rewinds server game state to the moment a player fired, judging shots fairly despite network delay. [Read more](https://gameye.com/glossary/lag-compensation/)
- ### Rubberbanding

Rubberbanding is when a player's character appears to snap back to a previous position, caused by the server correcting the client's predicted state. [Read more](https://gameye.com/glossary/rubberbanding/)
