CS 1.6 Rates Guide
I’ve uploaded an updated version on steam guides
This guide is in response to the numerous questions I get daily ‘WHAT RATES SHOULD I USE ONSCREEN I HAVE 1MB INTERWEB PLS GIV ME YOUR REG.’
There are 4 main commands which are considered “rates”, I am going to go explain each one and what the best setting is for each and why.
Ah rate, the setting that is set wrong by 95% of people who don’t have a clue and just copy everyone else. First we will start off with a quick history lesson. Quake, legendary game, the game engine that was used to make Half-Life and in turn CS was created using the Quake engine. Quake has rates too! And in fact the max rate on Quake was 25000. This is why today most players use a rate of 25000. This is wrong.
Half-Life/CS has a maximum rate of 20000, it has been proven many times, and setting your rate to 25000 is pointless and will in fact waste bandwidth. People also say well rate 25000 is for LAN and 20000 is for online, wrong again. When you play on LAN, rate does nothing at all, in fact you could have rate set to 100, and it would have no effect on LAN, wtf you ask? When you play on LAN, rate is ignored, and it uses sv_lan_rate instead, and by default, yes you guessed it, is set to 20000. So all the ‘pro’ players thinking you have been playing with a rate of 25000 on LAN are wrong, you have been playing with 20000 all along. noobs. Best Setting: 20000
Another setting set wrong by 95% of people, the norm was to set this to 101, as your cl_updaterate was set to 101(I will cover this later) but again, this is wrong. Cmdrate is data you SEND to the server, so every time you shoot, move, move your mouse, anything, cmdrate uploads data. Now because most people use 100fps people set it 1 above this to 101, so that you are always sending more data than needed, but 101 isn’t enough.
This can be seen by net graph. Red dots appear at the bottom when data is not sent because your cmdrate is not high enough. Try setting your cmdrate to 50, and look at net_graph 1, lots of red dots at the bottom = bad. Now with 101 you still get red dots, in fact the best cmdrate to use is 105. And I have used this all along. Best setting: 105
Assuming you have 100fps (+5 your FPS, 100fps = 105 cmdrate.)
updaterate is a tricky one, as the best setting is different depending on the server. cmdrate is data you send to the server, updaterate is data you receive from the server. People just used to set this to 101 to match cmdrate but didn’t really know why. So how do you know what to set it to? Servers have a setting called sv_maxupdaterate which determine the maximum updates it will send to you, the default for a CS server is 30, which is bad, most servers nowadays have this set to 100+ but some publics you will find still have it set to 30. There is no way you check what this is set to unless you have rcon to the server, but you can look at the lines on net_graph 1 to predict what it is set to. To show this, set your updaterate to 100, then ex_interp 0. (I will cover this later) then join a server, if you see lots of orange and yellow dots on your net graph, this means your interp is set wrong for the server and you are not receiving the right amount of updates for your interp setting. Try lowing your updaterate by increments of 10 until the yellow/orange dots go away, you will find servers that have maxupdaterate set to 30 they will go away when you set it to 30 etc. But what if you join a server that does have sv_maxupdaterate set to 100+?
Like I said, everyone just used to set it to 101 and leave it like that, this is wrong, the correct setting should match your interp otherwise will cause reg problems. The last few CS updates they briefly changed this to maximum 100 but because everyone had 101 in their config, it defaulted to 30 and caused mass spam to steam support asking them why, so because of this they changed the max to 102, just to stop the spam of forum threads of steam support, but really the correct setting you should use is 100, which matches perfectly with ex_interp 0.01 which I will go over next. My server has sv_maxupdaterate set to 100, but I’m still getting yellow/orange dots!
Just because a server has the right setting does not mean it can still actually send 100 updates per second, some bad servers can’t handle it and you should lower your updaterate by 10 until the dots go away, note servers like this are very bad as it depends on how many players and how much action is going on at the time. For example whole team rushes B the server cant handle all the traffic of 10 people shooting at once and can only send for example 50 updates per second instead of 100 at that time, so everyone in that moment gets bad reg (which shown by orange/yellow dots). But when everyone is dead but 2 players, the server can again send 100updates per second and you get good reg. To fix this, you either buy a good server, or lower your sv_maxupdaterate on the server to compensate for its shityness. Best setting: 100
Assuming server is using sv_maxupdaterate 100+ and can handle it.
Another tricky one, closely tied in with cl_updaterate, interp has been a question of debate for a long time, there was a bug within cs with interp through CS 1.5 and caused much QQ within the community as you could use it to your advantage in some situations. In 1.6 however, they fixed it and interp works as intended, as long as you have it set correctly. The correct setting is always 1 divided by your updaterate, so if your updaterate is set to 100, the best setting is 0.01. But why do some people set it to 0?!
Valve added a nice feature that automatically calculates the best interp for you depending on your updaterate, by setting it to 0 if you check your console it will show you what it has calculated it to. So if you have updaterate set to 100, then ex_interp 0, CS will automatically set your interp to 0.01, then if you change your updaterate to 30, your interp will automatically change to 0.33 etc. So the best setting you can use is always 0, then depending on the server, you should lower your updaterate depending on how good the server is and depending on what the sv_maxupdaterate is set to and CS will automatically set your interp to the correct value. This caused a problem with people using updaterate 101 as when you set your interp to 0 it will try and divide this by 10 and you will get 0.009 which is designed for an updaterate of 110 which you can not set and will cause reg problems. Setting your updaterate to 101 and using ex_interp 0.01 wont do any harm but it is pointless using 101 and you loose the benefit of CS auto calculating your interp for you. Best setting: 0
I will update this with images and anything else I can think of as I go along; any questions just add a comment below. All the info from this is from valid valve sources but feel free to prove me wrong on anything. TLDR
rate 20000 cl_cmdrate 105
Assuming you have 100fps (+5 your FPS, 100fps = 105 cmdrate.) cl_updaterate 100
Assuming server is using sv_maxupdaterate 100+ and can handle it. ex_interp 0