i'm getting Broadband tomorrow :) (finally)
was wandering what rates i shud have for 1 meg ?, or shud i just do trial and error for my best ping/loss/choke?
Try these and work from them after tracking your loss/choke figures:
rate 25000
cl_cmdrate 101
cl_updaterate 101
GL & HF!
TL.
i like 20000, 70 , 70
i always thought they were lan rates ?, but will try them anyway
nah lan rates are 25000 101 101 :P there max
25000
101
101
I am on 512..... doesn't seem to effect my play.
From ED
QuoteRates
A lot of people always ask what rates are, what values to use, etc. I thought it would benefit a lot of people if a guide was written explaining what everything means. This is so people are not simply just told what values to use without understanding what they actually mean.
Definitions
Lets start with some definitions:
rate is the maximum limit of bytes per second the server can send to the client.
cl_rate sets a maxiumum limit of bytes per second the client can send the server. (You don't need to worry about this value)
cl_cmdrate is the number of times per second the client informs the server of its actions.
cl_updaterate is the number of times per second the server tells the client what's been going on in the map.
I?m assuming most people have ADSL or cable here I will use ADSL as an example and so I will assume everyone has a downstream of 512kb/s and an upstream of 256kb/s but you can do all this maths with cable and lower connection speeds as well (just need to sub in different values). I am going to tell you now that it is best to set the values for rate, cl_updaterate and cl_cmdrate as high as possible because this allows for a fairer game and more importantly it makes your bullets more likely to register on the other players. I?ll now show you why!
rate
In theory an ADSL connection should easily be able to support a rate of 25000. You can work this out my taking the value for rate, which is measured in bytes per second. This then needs to be converted in to kilobytes per second.
25000 /1024 = 24.4140625kB/s
In theory your connection runs at 512 kilobits per second (in reality it will actually run slower than this). I'll convert this in to kilobytes per second:
512 / 8 = 64kB/s
Now you can see that your connection could have 2.62 people running off it using a rate of 25000 (64 / 24.414 = 2.62). You can use the same calculations for cl_rate but there's no point, the default value of 9999 is good enough.
cl_updaterate
Next you want to set values for cl_updaterate and cl_cmdrate. updaterate defines how many updates per second you can get from the server. It is obviously best to get as many updates from the server as possible because this gives you a more accurate picture of where everyone one is and where their bullets are going. However, if you have a high updaterate and a low rate then you will not be able to send much data per update and any benefit of having a high updaterate will be minimised. Lets use an example to make it more clear.
If I set my cl_updaterate to 100 and my rate to 25000 in theory each update can contain up to 250bytes of data (25000 / 100 = 250). Again, the more data you get per update the more accurate your view of the gaming world (not that this will particularly affect what you see much but it will have some affect on where your bullets end up hitting). In version 1.3 it was estimated that when you have a lot of action on screen you can use as much as 175bytes per update. So if you have a high updaterate you need a high rate to match it.
Using the data from 1.3, if you have an updaterate of 100 you should have a rate of at least 17500 but it?s better to be safe than sorry and set this value a bit higher. I recommend 20000 as a minimum (to work out what value to use for you rate take your cl_updaterate and multiply it by 175 and then add at least another 2000 to it to be safe).
cl_cmdrate
cl_cmdrate works the same as cl_updaterate. Basically, it defines how many updates per second you send to the server. So again you want this value to be as high as possible. The more updates you send to the server the better information it has about what you are doing and where your bullets are going. This value is even more important than cl_updaterate in my eyes.
As with cl_updaterate and rate you can work out the maximum amount of data which each update can contain. So if you have a cl_cmdrate of 100 and your cl_rate is 9999 then each update can contain 99.99bytes of data (9999 / 100 = 99.99). This should be enough for your needs because you send less data to the server than it sends you.
Choke and loss
Now we will look at choke and lose. Choke tells you the number of updates not sent in either direction because the communication link is saturated. Loss tells you the number of updates which were sent but never reached their destination. Choke is more important than loss because you are flooding the connection and it can?t cope with all the data. This means that it is best to reduce the values of your rates. Loss is not so important and if you?re getting lots of loss then the connection between you and the server isn?t very good. Both choke and loss can be caused by using rates which are too high or too low.
I recommend you try using values of:
rate 25000
cl_updaterate 100
cl_cmdrate 100
If these values are causing you choke or a loss of loss then start to reduce the values. I would not venture below:
rate 14000
cl_updaterate 70
cl_cmdrate 70
You can check choke and lose with net_graph 3. Each server is different so if you?re really concerned about choke and loss just bring up net_graph and adjust your rates a bit if you?re suffering from either of these.
ex_interp
Another values which needs setting in 1.6 is ex_interp. I won?t bother explaining interp to you because I?ve written enough about rates. They have fixed interp in 1.6 and as a result it is wrong to use the default value of 0.1. You work out the correct value for ex_interp by dividing 1 by your cl_updaterate. Some examples:
cl_updaterate 100
1 / 100 = 0.01
ex_interp 0.01
cl_updaterate 70
1 / 70 = 0.014
ex_interp 0.014
You might find with using a lower value for ex_interp makes people appear to be a little jerky. To counter this affect raise your value of ex_interp but try and keep it as close to the correct value as possible.
I hope that?s cleared things up for most of you if not all of you :)
Thanks for reading,
McClane.
Credits
I used the following website just to make sure I didn't make a fool of myself by using incorrect definitions but it is all my own work otherwise - http://www.summerblue.net/games/cs_report/...ion_config.html (http://www.summerblue.net/games/cs_report/2_4_communication_config.html)