Fix: Everyone Has High Ping Only on My Server

July 2, 2025 Daemon666 7 min read 17 преглеждания

If every player pings 30 ms to other servers but 120 ms to yours, the problem is on your box, not the internet. In-game ping in CS 1.6 is not raw ICMP latency — it includes how long the server takes to process a tick and answer the client. A server running at a low frame rate, or one sharing a starved CPU on a cheap VPS, inflates everyone's ping equally. Work through these in order.

1. Separate real latency from server-induced ping

From a player's machine, ping the server IP at the OS level:

ping YOUR_SERVER_IP

If OS ping is 30 ms but the in-game scoreboard shows 120 ms, the network is fine and the server is adding the other 90 ms. That points squarely at server FPS or CPU. If OS ping itself is high, it is a routing/hosting-location problem and no cvar will fix it.

2. Check the server frame rate

In the server console:

stats

You get a line with fps. A healthy CS 1.6 server sits at 500 or 1000 fps on Linux, 100–200 on Windows. If fps is 30–64 and jittery, that alone explains inflated ping, because the server can only answer clients as fast as it ticks. On Linux, raise it:

// in server.cfg
sys_ticrate 1000
fps_max 1000

Then confirm with stats again. If FPS refuses to climb no matter what you set, the host is the bottleneck — go to step 4.

3. Fix the update-rate caps

Even at high FPS, low rate caps throttle how often the server updates each client. In server.cfg:

sv_maxupdaterate 101
sv_minupdaterate 30
sv_maxrate 25000
sv_minrate 15000

Old default caps of sv_maxupdaterate 30 feel laggy on modern connections. If clients also report choke, read choke and loss on the scoreboard — it is the same rate machinery.

4. Look for CPU steal on a VPS

A shared VPS oversells cores. When a noisy neighbour hogs the physical CPU, your server misses ticks and ping spikes for everyone at once. On Linux:

top

Read the %st (steal) figure on the CPU line. Anything consistently above 2–3% means the hypervisor is taking cycles you paid for. Also watch %id (idle) drop to zero during peak hours. A game server needs a real, unshared core — if steal is high, the only fix is a better plan or a different host.

5. Rule out the route

Ping being high for players from one region but fine for another is a routing problem. Have an affected player run:

mtr YOUR_SERVER_IP        # Linux
tracert YOUR_SERVER_IP    # Windows

A hop that jumps from 20 ms to 150 ms and stays there is where the latency enters. That is your provider's transit or peering — open a ticket with the trace attached.

6. Windows timer resolution

On Windows, HLDS ping is sensitive to the system timer. If FPS is capped low despite fps_max, the machine may be running a coarse timer. Keep the server on a wired connection, disable aggressive power-saving (set the power plan to High Performance), and do not run the server on a laptop on battery — CPU throttling there tanks server FPS instantly.

7. Rule out a heavy plugin

A single badly written plugin can stall the server every tick — a HUD updated on a per-frame forward, a database query run synchronously, or a heavy loop over all 32 players on every PreThink. The symptom is the same as CPU steal: everyone's ping climbs together, and it correlates with a specific plugin being loaded. Bisect it. Unload plugins in halves and watch stats:

amxx pause <plugin.amxx>
stats

If FPS recovers and ping drops the moment you pause one plugin, you have found the offender. Update it, replace it, or move its work off the game frame. A well-behaved server should hold its target FPS with a full slot count and every plugin loaded.

Common errors

  • Ping fine at night, terrible at prime time — classic CPU steal on an oversold VPS. Check %st in top.
  • Everyone jumps to the same high ping simultaneously — a server-wide stall (FPS drop, disk I/O, a heavy plugin), never a per-player network issue.
  • Ping fine, but movement feels laggy — that is choke, not ping. See the choke/loss guide.
  • One player high, everyone else fine — that player's connection or rates, not your server.

Verification

With stats showing stable high FPS and low CPU load, have two players from different regions connect and read the scoreboard ping. If it now tracks their OS-level ping to within ~10 ms, the server is no longer adding latency. A high-ping kicker then handles the genuinely far-away players without punishing everyone else.

Сътрудници: Daemon666 ✦
Сподели: