AD SPACE AVAILABLE · BRAND PARTNERS WELCOME

Source Engine Network Rates: Choke, Loss, and Hit Registration Troubleshooting

365Finds Editorial
Indexed 11,430 Wiki articles

Put 365 Wiki to work with your AI

Copy the prompt below, paste it into the AI you already use, then ask your question.

Download full Skill

Try it with the prompt first. If you use 365 Wiki often, install the full 365Wiki Skill so you do not have to paste it again. No regular AI? Gemini or Microsoft Copilot on the web will work.

365Wiki Skill

Diagnostic Net Graph Metric Matrix

Metric in HUDNormal BaselineProblem ThresholdRoot Technical FailureRecommended Fix
Choke0%> 1%Client rate is capped lower than server snapshot bandwidth demandIncrease rate to 786432 (6 Mbps) in autoexec.cfg
Loss0%> 0.5%Physical packet drop by ISP routing, Wi-Fi interference, or bufferbloatSwitch to Ethernet; verify router MTU; test bufferbloat grading
Ping / Latency15 - 45 ms> 90 msGeographical routing distance or suboptimal peering nodesUse wired connection; test DNS resolvers or ISP gaming peering
Var (Client)< 1.0 ms> 2.5 msCPU frame delivery jitter or background thread contentionCap frame rate; close resource-intensive overlays
Var (Server)< 1.5 ms> 5.0 msDedicated server tick drop or overloaded CPU hardwareSwitch servers; report performance issue to server provider

In competitive multiplayer games powered by the Source Engine (such as Counter-Strike, Team Fortress 2, and Apex Legends), players frequently experience "ghost hits" and teleporting enemies while their ping displays an apparently flawless 25 ms. The underlying culprit is almost never raw latency; it is misconfigured client-side network rate limits causing Choke (bandwidth congestion between client and server) or physical Loss (packets dropped along the routing path).

Phase 1: Understanding Choke vs Loss

Phase 2: Calculating Optimal Client Rates in autoexec.cfg

Open or create autoexec.cfg inside your game's cfg folder:

[SteamLibrary]\steamapps\common\[GameTitle]\[GameShortName]\cfg\autoexec.cfg

1. Max Bandwidth Rate Tuning

Set the maximum allowed byte rate according to your broadband speed:

// For connections 6 Mbps and above (Modern standard):
rate "786432"

// For connections between 2.5 Mbps and 6 Mbps:
rate "393216"

// For connections below 1.5 Mbps:
rate "196608"

2. Tickrate and Update Rates

For 64-tick and 128-tick servers:

cl_cmdrate "128"
cl_updaterate "128"

(When connecting to a 64-tick server, the server automatically clamps these values down to 64; setting them to 128 guarantees you receive full fidelity on 128-tick community servers).

3. Interpolation and Hitbox Alignment

Interpolation blends player movement between discrete server ticks so motion looks smooth:

// Calculate interpolation period: interp = interp_ratio / updaterate
cl_interp_ratio "1"
cl_interp "0"

Setting cl_interp 0 forces the engine to automatically compute the lowest possible interpolation time: 1 / 128 = 0.0078125 s (7.8 ms) on 128-tick, or 15.6 ms on 64-tick. If you experience unstable network lines with minor loss, set cl_interp_ratio 2 to add a 1-tick safety buffer against stutter.

Verification Checklist