Counter-Strike Networking Tips


Brief

  • None of this will VAC ban you. They’re in-game configurations.
  • Enable the console from your options and bind it to a button. I like the tilde ` button. It’s just under escape.
  • Open the console and enter “net_graph 3” to start seeing pertinent information in a corner of your screen.

Breakdown time.

Latency (aka Ping)

Definition

The time it takes for a message to be sent from your computer to a server and back again to you. A round-trip time. Measured in milliseconds (ms).

Improvements

Play on a server as close to your physical location as possible. Or by getting a better internet situation (wired over wireless), Fiber, etc...

Frame Rate per Second (aka FPS)

Definition

How many times your screen updates with a new picture per second. Most people have 60FPS in 2015.

Improvements

With a powerful graphics card and monitor you can go up to 144Hz (144FPS). That means instead of your screen updating every 16ms (60FPS), it will update every 7ms. That’s a global 9ms improvement.
[Show your work: (1/144fps)*1000 =~ 6.9ms]

Tick Rate

Definition

Lots of people talk about tick rates. ESEA servers are 128 tick while Valve servers are mostly ~66 tick. What this rate means is how many times the server does calculations on things that occur per second. It’s very difficult to calculate the pros and cons of these differing tick rates in a practical environment, however it is a common concensus among pro gamers with pings <50ms that 128tick rate servers are more reliable in terms of truth of what’s going on. With pings >50ms and a 60Hz monitor I don’t imagine it makes too much of a difference though — it can go both ways. As a rule of thumb however, the faster things are the better.

Improvements

Play on 128 tick servers. Host your own or pay to play on ESEA (referral link attached ❤).

Rate

Definition

Poorly named “Rate” simply means download speed in bytes per second. Capped at 128,000 bytes/second(~128kbps)

Improvements

Keep it at max unless your internet speed is somehow slower.
In console: rate “128000”

CL_INTERP

Definition

Short for interpolation. This is a complicated strategy employed by the game developers to make things appear smooth. Since lag can cause people to rubber band, they predict where a player should/would be if they didn’t lag and move the player accordingly for all other game clients. Calculations are based on movement velocity since you cant be running forward and turn around instantly without first slowing down.

Improvements

Do not change this. Keep cl_interp at 0.

CL_INTERP_RATIO

Definition

Some ratio used to calculate the interpolation. You want more if you need more interpolation. Use integers to avoid complex computations.

Improvements

cl_interp_ratio 1 if you have little to no packet loss (check this with net_graph 3)
cl_interp_ratio 2 if you have regular packet loss
cl_interp_ratio 3 if you have a fairly big amount of packet loss

CL_CMDRATE

Definition

The mount of updates you send to the server per second. One update covers all the changes you need since they’re batched together, so it doesn’t need to be higher than the lowest value between server tick rate and your FPS.

Improvements

No clear answer on this one. I made mine 128 since I have 144FPS and play on 128 tick servers. Min(128, 144) = 128. When in doubt, make it equal to your stable FPS to be safe, as you don’t want to keep tweaking this for every server you play on and it doesn’t need to be higher as that’s just a waste of bandwidth. Sending too much info to the backend may cause your game to lag and I’m pretty sure the server drops packets if too many are sent. Reduce this if you’re noticing too much packet choke.
In console: cl_cmdrate “128”

CL_UPDATERATE

Definition

The mount of updates you want the server to send you per second. Very similar to cl_cmdrate.

Improvements

Make it 128 to be safe in all cases, because the server should only send you as many updates as it wants to send (usually tick rate). Reduce this value if you’re noticing too much packet loss.
In console: cl_updaterate “128”

SUMMARY

Description

Use this website http://autoexec.global-offensive.com/

Improvements

  • Rate -> Update based on what you’ve learned in this article
  • Mouse -> fix “Mouse sensitivity” to your liking
  • Misc -> Check “Take a screenshot of scoreboard after every game”
  • Radar -> Uncheck “Rotate”

Hopefully this short guide helped clarify some things. Feel free to pose any questions or leave inline comments with improvements! Thanks!

Show your support

Clapping shows how much you appreciated TheSisb’s story.