If you’re replacing an old TF2 network config, begin here. These settings fit a normal 66-tick server and leave enough interpolation buffer for an ordinary internet connection:
cl_interp 0 doesn’t remove interpolation. With an updaterate of 66 and ratio 2, TF2 still has an effective interval of about 30.3 milliseconds.
Ratio 1 cuts the interval to roughly 15.15 ms. Ratio 3 raises it to about 45.45 ms and is better treated as a temporary response to instability. It can cover an occasional gap. It can’t fix the connection behind it.
Recommended TF2 Interp Settings
TF2’s normal networking rate is 66, not 128. Typing a larger number into the console doesn’t make a standard server run more simulation steps or send more snapshots.
Current mastercomfig documentation makes the same distinction. Its standard packet-rate option uses 66. A rate of 100 is available for custom boosted-tick servers, not as a baseline for Casual or an ordinary community server.
| Connection | Ratio | Buffer at 66 | Use |
|---|---|---|---|
| Typical or unknown | 2 |
30.30 ms | Safe start |
| Clean and steady | 1 |
15.15 ms | Lower buffer |
| Mild jitter | 2 |
30.30 ms | Extra interval |
| Unstable | 3 |
45.45 ms | Temporary |
Ratio 2 is the sensible recommendation when the player’s route is unknown. If ratio 1 looks clean through full matches, keep it. If players begin snapping, pausing or correcting, the extra interval from ratio 2 is worth more than the smaller number.

How TF2 Interpolation Actually Works
The server doesn’t stream another player’s movement as a continuous picture. It sends snapshots containing updated game states. Without smoothing, the player model would step from one received position to the next.
Interpolation fills the space between those known states. TF2 holds a short snapshot history and renders remote entities slightly behind the newest information it has received.
The remote Scout on your monitor is a smooth reconstruction of states the server has already sent, not an exact picture of the server’s current instant. It isn’t a future position, either.
Source uses prediction for your own movement so input doesn’t wait for a full trip to the server and back. Prediction makes local input feel responsive. Interpolation smooths received remote states.
The server remains authoritative. It controls movement, collision, weapon timing, damage, healing and projectile simulation. For attacks where lag compensation applies, the server can evaluate historical player positions associated with the attacker’s command time. The Source multiplayer networking documentation explains that the server knows the client’s interpolation amount and includes it in that process.

cl_interp and cl_interp_ratio
cl_interp supplies an explicit interval in seconds. The ratio creates another interval from the accepted updaterate. TF2 uses whichever result is larger:
If you set cl_interp to zero, the ratio calculation still happens. For example, at an update rate of 66:
| Configuration | Calculation | Result |
|---|---|---|
cl_interp 0, ratio 1 |
1 / 66 |
15.15 ms |
cl_interp 0, ratio 2 |
2 / 66 |
30.30 ms |
cl_interp 0, ratio 3 |
3 / 66 |
45.45 ms |
cl_interp 0.05, ratio 2 |
max(0.05, 2 / 66) |
50 ms |
cl_interp 0.1, ratio 2 |
max(0.1, 2 / 66) |
100 ms |
Once cl_interp is larger than the ratio result, it becomes the floor. Remote entities are displayed farther behind the newest received state. It doesn’t move your character ahead, make you harder to hit or let a weapon attack sooner.
What Interp Means for TF2 Weapons
A rifle shot and a rocket don’t reach a target through the same server mechanic. Neither does a Medigun beam or a Spy knife. Class labels alone aren’t enough, either. A Huntsman Sniper fires a projectile while a rifle Sniper uses hitscan.
Hitscan Weapons
Scattergun pellets, pistol bullets, minigun fire, shotgun blasts, revolver shots and standard Sniper rifle shots are hitscan. The server evaluates an immediate trace rather than launching a traveling bullet entity.
Interpolation shapes where the remote target appears. Applicable hitscan attacks are evaluated by the server with lag-compensated player history. A smaller, stable buffer can show movement more recently. An undersized buffer on a jittery route can give you a rougher target to read.
Melee and Backstabs
TF2 evaluates melee with server-side range and trace rules. Current TF2 scripting documentation notes that hitscan and melee processing requires lag-compensation information. The model on your screen isn’t the final ruling on whether a bat, shovel, wrench or bottle connected.
Spy adds target orientation. Your client displays an interpolated player position and facing direction, while the server decides whether the knife attack satisfies its backstab conditions. Changing interp doesn’t extend the knife or guarantee the angle.
Rockets, Grenades, Arrows and Other Projectiles
A rocket, grenade, sticky, flare, syringe, arrow or crossbow bolt travels through the server simulation after launch. The target shown by the client still affects the player’s judgment, but the projectile isn’t an ordinary historical hitscan trace.
A lower buffer can make visible movement look more current when the connection stays clean. It cannot make a rocket fly faster, shorten a reload, alter a grenade fuse or speed up a Huntsman charge.
Medigun and Mixed Loadouts
The Medic sees a networked patient moving through the snapshot system. The server still controls beam targeting, range, line-of-sight behavior, healing and ÜberCharge. Interp doesn’t improve healing output or build charge faster.
A rifle Sniper uses hitscan, while Huntsman fires a projectile. Demoknight’s melee work differs from a Demoman placing stickies. Judge the equipped weapon, not just the class portrait.
Hitscan
Immediate server trace. The displayed target is interpolated; applicable player history is lag compensated.
Melee
Server-side trace and range rules. Interp doesn’t add reach or shorten a swing.
Projectiles
The server handles the movement after the projectile is fired. Interp does not change speed, fuse or reload timing.
Medigun
Networked patient display, with server-controlled healing and beam rules.
Spy
Interpolated position and facing on the client. Backstab validity belongs to the server.
Subclasses
Follow the active weapon mechanic. One class can cross several categories.

Interpolation changes the received picture. It doesn’t change fire rate, reload speed, projectile velocity, melee range, healing rate or damage.
Ping Isn’t the Whole Connection
Two servers can show similar ping and feel different. One route may deliver snapshots steadily. Another may bunch them together, miss one occasionally or change delay from moment to moment.
Ping measures round-trip delay. Jitter is variation in that delay. Loss means packets didn’t complete the journey. Choke points to updates being constrained by the available rate and networking conditions.
Ratio 1: about 15.15 ms at 66 updaterate. Less buffer, with little spare room when a snapshot is late.
Ratio 2: about 30.30 ms. One additional snapshot interval.
Ratio 3: about 45.45 ms. More cover for instability, with more display delay.
Interpolation needs known states on both sides of the moment being rendered. If the next snapshot hasn’t arrived, the client can run out of useful history and fall back on extrapolation. It projects movement beyond the latest information, then may correct when fresh data arrives.
A steady ratio-2 view is more useful than a ratio-1 setup that keeps producing pauses or corrections. A clean route may not need the extra interval. There isn’t one honest answer for both cases.
If ratio 3 calms frequent interruptions, don’t stop the diagnosis there. Check whether the problem follows every server, along with local network load and Wi-Fi quality. A buffer can’t recover data that never arrived.
Checking Your TF2 Network Settings
Type each cvar without a value to see what TF2 is using.
Run those queries again after connecting. A server can clamp the updaterate or allowed ratio.
Using net_graph
Enable TF2’s network display with net_graph 1 and hide it with net_graph 0. It includes ping, interpolation data, packet activity, loss and choke.
Its present status has a sourcing caveat. Current mastercomfig 9.100.1, dated July 3, 2026, still defines a diagnostic through net_graph 1 and normally leaves it disabled with net_graph 0. The Valve Developer Community also maintains a TF2 Network Graph reference. There isn’t a matching current Valve Support page that guarantees the command in the public retail build.
Watch the graph during normal play. A single spike tells you less than a pattern that repeats through several fights. If loss appears on every server, look beyond interp.
What cl_showerror Can Tell You
cl_showerror 2 displays prediction-error information. It can reveal corrections between locally predicted movement and the server’s result. It isn’t a packet-loss display or direct proof that an interpolation ratio is wrong.

Saving the Settings in Vanilla TF2
For settings you want TF2 to load again, use an autoexec. Steam libraries can sit on different drives, but the game-relative destination stays the same:
- Find the cfg folder. A common Windows path runs through
Steam\steamapps\common\Team Fortress 2\tf\cfg\. - Create a plain-text file. Call it
autoexec.cfg. Check that Windows hasn’t added a.txtextension. - Paste the baseline. Put one command on each line.
- Load it. Restart TF2, or enter
exec autoexec. - Read the accepted values. Join a server, then query the cvars.
exec autoexec inside autoexec.cfg can create a recursive execution loop.Resetting the Vanilla Config
Remove the network lines from autoexec.cfg, then search class configs and other files under tf/cfg for duplicates. Check launch options and Steam Cloud-synchronized configuration too.
Restart TF2 and query each cvar again. Steam’s file-verification tool is appropriate when managed game files are missing or altered, but it isn’t guaranteed to erase every user-created config.
To return to this article’s baseline, put the four-command ratio-2 block back in place. It isn’t a complete table of untouched retail defaults.
Using mastercomfig Without Fighting It
mastercomfig already has a network policy. If it’s installed, use its modules instead of layering raw commands over managed files.
Keep personal changes in the current overrides directory:
Don’t edit the packaged VPK, generated core configuration or comfig.cfg. An update can replace those files.
For normal use, the current managed starting point is:
packet_rate=standard selects the regular 66 command and update rate. snapshot_buffer=auto changes the network alias by class. Current mastercomfig groups Scout, Heavy, Engineer and Sniper under its hitscan policy. Soldier, Pyro, Demoman and Medic use its projectile policy, while Spy receives separate handling.
Those are practical class defaults, not descriptions of every loadout. Huntsman Sniper is an obvious exception. mastercomfig provides net_hitscan and net_projectiles aliases for deliberately configured subclasses.
| Module | Buffer at 66 | Purpose |
|---|---|---|
snapshot_buffer=auto |
Class-aware | Managed default |
snapshot_buffer=off |
15 ms | Minimal |
snapshot_buffer=x1 |
30 ms | Extra interval |
snapshot_buffer=x2 |
45 ms | More protection |
snapshot_buffer=custom |
User-defined | Raw cvars |
snapshot_buffer=off doesn’t disable Source interpolation. At the standard rate, it selects mastercomfig’s minimal setting of about 15 ms. Its documentation describes this as dangerously tight for ordinary internet play.
Use snapshot_buffer=custom only when you intend to manage the raw interpolation cvars yourself. Otherwise, leave snapshot_buffer=auto in charge.
apply_overrides reapplies user modules and the override autoexec. restore_preset returns module choices to preset defaults without user overrides. restore_config runs the main configuration and then the user’s overrides. version_comfig prints the installed version. These aliases come from mastercomfig, not vanilla TF2.
Old Interp Advice Worth Removing
A requested rate of 128 isn’t a standard TF2 upgrade. A normal 66-tick server can’t be turned into a 128-tick server from the client console.
cl_interp 0 doesn’t mean zero interpolation. The ratio divided by the updaterate still creates the effective interval.
A large interp value doesn’t place your character ahead. It makes your client display remote states farther behind the newest received snapshot.
Interp isn’t a weapon-speed control. It cannot change fire intervals, reload timing, projectile velocity, melee reach, healing output or damage.
For a general-purpose guide, ratio 2 is the place to begin.
TF2 Interp Settings FAQ
What TF2 interp settings should I use first?
Start with cl_cmdrate 66, cl_updaterate 66, cl_interp 0 and cl_interp_ratio 2. When accepted, the effective interval is about 30.3 ms.
Is cl_interp_ratio 1 better than ratio 2?
Not on every connection. Ratio 1 lowers the buffer to about 15.15 ms at 66 updaterate, while ratio 2 keeps an extra snapshot interval available.
When is cl_interp_ratio 3 useful?
Ratio 3 can be a temporary fallback when late or missing snapshots still disrupt ratio 2. At 66 updaterate it creates about 45.45 ms of buffer, but it won’t repair persistent loss.
Does cl_interp 0 turn interpolation off?
No. TF2 uses the larger of cl_interp and cl_interp_ratio / cl_updaterate. Server bounds can also affect the accepted result.
Can interp make rockets or arrows travel faster?
No. Interpolation changes how received entity states are displayed. It doesn’t alter projectile velocity, reload timing, fuse behavior, charge time or damage.
Can lower interp improve hitscan aim?
A lower stable buffer can show movement more recently. If it shows jitter or missing snapshots, the target may be harder to see.
Does interpolation change Spy’s backstab range?
No. The server decides whether the knife attack meets its range and backstab conditions. An interp value can’t extend the knife or force the angle.
Is net_graph currently available in TF2?
Current mastercomfig 9.100.1 source dated July 3, 2026 still uses net_graph 1, and VDC maintains a TF2 network-graph reference. There isn’t a matching current Valve Support guarantee.
Where do mastercomfig overrides belong?
Save personal files under Team Fortress 2/tf/cfg/overrides/. Most players can use packet_rate=standard with snapshot_buffer=auto .
