Network latency and tick rate
Your local latency chain is typically 10 to 30 ms. Your network chain is typically 40 to 100 ms and made of components you mostly cannot change. It is also the source of the single most misunderstood phenomenon in online shooters, which is that the person moving around a corner sees you first.
The network budget
| Stage | Typical cost | Can you change it? |
|---|---|---|
| Local input chain | 10 to 30 ms | Yes. See the click-to-photon chain. |
| Client to server transit | 10 to 60 ms | Partly: server choice, wired connection, ISP routing |
| Server tick quantisation | 4 to 16 ms | No, set by the server |
| Server to other client transit | 10 to 60 ms | No, that is their connection |
| Their interpolation delay | 15 to 60 ms | No, sometimes partly configurable in-game |
| Their local display chain | 10 to 30 ms | No |
Add it up and the total from your finger to their screen is routinely 60 to 250 ms. That is the number that determines who wins a duel, and most of it is outside your control. What is inside your control is the first two rows.
Tick rate, precisely
A game server is a simulation running in discrete steps. Between steps, nothing happens. Your inputs are collected and applied at the next tick, and the world state is sent out at the tick rate.
| Tick rate | Tick interval | Mean input quantisation | Where you see it |
|---|---|---|---|
| 20 | 50.0 ms | 25.0 ms | Older or budget-hosted titles. Noticeably imprecise. |
| 30 | 33.3 ms | 16.7 ms | Common in battle royales, where world size costs server budget. |
| 64 | 15.6 ms | 7.8 ms | The long-standing Counter-Strike matchmaking standard. |
| 128 | 7.8 ms | 3.9 ms | Third-party competitive services and some official servers. |
The practical difference between 64 and 128 tick is roughly 4 ms of mean quantisation, which is smaller than most people assume from the intensity of the argument about it. What changes more noticeably is how finely the server can resolve movement and hit timing, which affects the edge cases that people remember.
It is worth noting that some engines have moved to sub-tick input handling, where the exact timestamp of your input within a tick is recorded and applied with that precision, decoupling input resolution from tick rate. Where implemented, this removes most of the input quantisation argument while leaving the update rate argument intact.
Peeker's advantage, derived
This deserves careful treatment because it is usually explained as a flaw and it is actually a consequence of information having to travel.
Consider an attacker rounding a corner where a defender is holding an angle.
- t = 0. The attacker moves. Their own client shows them around the corner immediately, because client-side prediction runs their movement locally with no delay.
- t = 25 ms. The movement reaches the server.
- t = 33 ms. The server processes it at the next tick and includes the new position in an update.
- t = 58 ms. The update reaches the defender's client.
- t = 88 ms. The defender's client, interpolating to keep motion smooth, actually renders the attacker at that position.
- t = 100 ms. The photons showing the attacker leave the defender's monitor.
The attacker has had a full tenth of a second of visual information about the defender before the defender has any about the attacker. Nothing in that chain is broken. Every step is doing exactly what it must do to produce smooth, cheat-resistant multiplayer.
The practical implications are strategic rather than technical: holding a tight angle is worse than it appears, wide angles cost the attacker more of their advantage, and pre-aiming is worth more than reaction speed on a hold.
Lag compensation, and why you sometimes die behind cover
When your shot arrives at the server, the server rewinds the world to where things were when you fired, according to your reported latency, and checks the hit against that older state. This is what makes shooting at where you see someone actually work.
The cost is paid by the target. If you were behind cover on your own screen when the server rewound and found you exposed, you take the damage anyway. This is not a bug either; it is the necessary flip side of the shooter's shot being validated against what they saw.
What you can actually do
- Use ethernet. Wi-Fi adds latency and, worse, adds variance. Variance is harder to play around than a constant delay.
- Fix bufferbloat. If your ping rises by 100 ms when someone streams video, your router is queueing packets. A router with smart queue management fixes this and is often the biggest single improvement available.
- Pick the nearest server region, and check it manually rather than trusting auto-select.
- Close background uploads. Cloud sync and game updates saturate the upstream, which is usually the narrow direction.
- Play the geometry. Since peeker's advantage is arithmetic, treat it as a rule of the game rather than an injustice: take wide angles, do not hold tight ones, and pre-aim.
Related reading
- The local latency chain, which is the part you control.
- Measuring latency, including network measurement.
Frequently asked questions
What is server tick rate?
How many times per second the server advances the game world and sends updates. A 64 tick server updates every 15.6 ms; a 128 tick server every 7.8 ms. Higher tick rate means finer temporal resolution for hit registration and smaller quantisation of your inputs.
What is peeker's advantage?
The attacker moving around a corner sees the defender before the defender sees the attacker. It is not a bug. The attacker's client knows where the attacker is instantly; the defender must wait for the attacker's position to travel to the server and then to them. The gap is roughly the sum of both players' network delays plus interpolation, typically 30 to 80 ms.
Does a lower ping make me better?
It reduces how stale your information is and how much lag compensation has to work in your favour or against you. Below about 30 ms the returns are small. Between 30 and 80 ms it matters. Above 100 ms you are playing a meaningfully different game from your opponents.
What is client-side interpolation?
Your client receives discrete position updates at the tick rate and must show smooth movement between them. To do this it renders other players slightly in the past, interpolating between two known positions rather than extrapolating into an unknown future. The delay this adds is typically one or two ticks, and it is why other players are always somewhat behind where the server thinks they are.
How do I actually reduce network latency?
Use a wired ethernet connection, choose the geographically nearest server region, close bandwidth-heavy background applications, and check whether your router has bufferbloat, which is when a saturated connection queues packets and adds tens of milliseconds. A good router with smart queue management fixes bufferbloat and is often the largest single improvement available.