--- title: "How to Fix High Ping in CS 1.6" excerpt: "High ping, choke and loss have different causes and different fixes. Learn to read net_graph, set your rates correctly, and tell a server problem from a connection problem." category: "client" tags: "ping, network" image: "" read_time: "8 min read" ---

"High ping" is what players call several different problems that feel the same in-game: warping, delayed hits, rubber-banding. Some of it is genuine latency to the server, some is choke from bad rate settings, and some is packet loss on your line. The fixes are different for each, so the first job is to read what is actually happening with net_graph instead of guessing. This guide is client-side; if the whole server lags for everyone, that is a server issue — see server FPS and high ping on one server.

1. Turn on net_graph and learn to read it

net_graph 3
net_graphpos 2

The readout shows three numbers that matter:

LabelMeaningBad sign
ping / fpsRound-trip latency to the serverHigh and stable = distance; high and jumpy = jitter
lossPackets lost between you and the serverAny sustained loss above 0 is a line problem
chokeUpdates the server wanted to send but your rate would not acceptSustained choke = your rate settings are too low

Loss and choke are the important distinction: loss is a network fault you often cannot fix from the game, while choke is almost always your own rate settings and is fixable in ten seconds.

2. Fix choke with correct rates

Choke means the server is throttling to your rate. On a modern engine, set generous values:

rate 100000
cl_updaterate 101
cl_cmdrate 101

If choke persists, the server's sv_maxrate or sv_maxupdaterate is the ceiling and you cannot raise past it from the client. The full explanation of the interaction is in best client rates and, server-side, the rate cvars guide.

3. Set interpolation to match your update rate

The old interpolation cvar in CS 1.6 is ex_interp. A default of 0.1 adds 100 ms of visual delay. Set it to match your update rate — the correct value is 1 divided by cl_updaterate:

ex_interp 0.01

At cl_updaterate 101, 0.01 is right (roughly 1/100). Do not set it lower than that or you will see other players warp; the interpolation window must cover the gap between updates.

4. Pick a server you can actually reach

No cvar beats physics. A server on another continent will always have high ping. In the server browser, sort by ping and favour ones under about 60 ms. If a single server is bad while others are fine, the route to that host is the problem, not your PC — high ping to one server only covers that case.

5. Clear your local line

Ping and loss both get worse when your connection is busy. Before blaming the game:

If net_graph shows loss that only appears when someone else in the house streams, the fix is your network, not CS.

6. Confirm it is not the 25th Anniversary netcode

The 2023 update changed networking, and some players got worse results with it — especially against old servers. If your ping and loss are fine everywhere except older servers, rolling back to the steam_legacy build is a legitimate test; see switching to steam_legacy.

Common errors

Verification

With net_graph 3 up, join a nearby server and confirm: ping steady and reasonable for the distance, loss at 0, and choke at 0 during normal play. If all three hold and the game still feels off, the problem is the specific server's performance, not your connection. Save your rate, cl_updaterate, cl_cmdrate and ex_interp into your config so they survive a restart.