Rate Settings

Started by Anonymous, October 14, 2003, 08:04:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Anonymous

This is not from me - although it looks so good it could be  :lol:

This is some info found by Oldie and which has been generally "doing the rounds".

========================================

For those wanting to know how to tweak the connection when getting choke ....

Lifted from the excellent Summerblue report....

There are four commands which are configure the various aspects of client-server configuration;

cl_cmdrate is the number of times per second the client informs the server of its actions. Remember that the amount of data in an update depends on how much is going on.
cl_updaterate is the number of times per second the server tells the client what's been going on in the map. Likewise, more action, more data per update.
rate is the maximum limit of bytes per second the server can send to the client. sv_maxrate, the server specified limit, is used if rate is higher than sv_maxrate.
cl_rate sets a maxiumum limit of bytes per second the client can send the server. This value is necessary as the server cannot reliably determine the data transfer rate to the client. This value needs to be set to match the data upload rate of your connection to the server. NB Many sources say cl_rate is no longer used

Updates from the client to the server usually contain very little data - perhaps 20 bytes. Updates from the server to the client contain (relatively speaking) a lot of data, from say 30 bytes in a quiet area of a map to 175 bytes in combat.

For example, a 56k modem has a maximum upload rate of 33.6k, and a maximum download rate of 56k. The values here are bits per second (e.g. 33600 bits per second upload rate). However, these are signaling rates, not data payload rates. The signaling rate is the number of bits per second; but not all of these bits can be used for data. Some - roughly 10 percent - are used for control information. So a 33.6k bits per second connection can in fact only transfer about 30.2k bits per second of real data, which is 3780 bytes - and this is the value cl_rate should be set to (assuming a perfect upload connection - if the modem is connecting over a noisy line and the data transfer rate is reduced, the rate value must accordingly be reduced).

Likewise, with a perfect 56k connection, 56000 bits per second are available. Reducing this by ten percent gives 6300 bytes per second. This is the value rate should be set to.

rate equals download speed times .9 divided by 8
cl_rate equals upload speed times .9 divided by 8

By and large, clients don't have very much to tell the server; client to server communication rarely suffers from bottlenecks even on a 56k modem.

Note that the control information overheads differ depending on the type of connection between the client and ISP, but that this is basically irrelevent for higher bandwidth connections since such connection types will always have much more bandwidth available than the maximum value the server will permit a client to use.

Fractional values for cl_rate and rate make absolutely no difference whatsoever. It is an urban myth that fractional values improve performance.

As previously mentioned, client to server updates are typically very small, in the order of 20 bytes. On a 56k modem with a perfect connection, 3780 bytes are available per second for updates to the server, so cl_cmdrate can be set 189. As it is, Half-life has a hard coded internal maximum for this of about 60.

Updates from the server to the client shift more data. Large updates (e.g. combat situations) take something like 175 bytes. With 6300 bytes per second available on a perfect 56k modem connection, cl_updaterate should be set to 36.

cl_updaterate equals rate divided by 175
cl_cmdrate equals cl_rate divided by 20

Players with broadband connections will have configurations very different to the values derived so far. Firstly, a broadband connection will always have more bandwidth available than the server can provide. As such, rate and cl_rate both need to be set to their maximum values so that the client is using all available bandwidth.

The maximum value for both rate and cl_rate is 20,000.

The calculation for the correct setting of cl_cmdrate and cl_updaterate actually usually depends on the particular server the player is connected to, as it's sv_maxrate value will be the limiting factor for available bandwidth, and available bandwidth defines the correct update settings.

As previously mentioned, Half-life has an internal hard-coded maximum of about 60 for both update settings. The recommended setting is therefore 75 (to be on the safe side), which should be reduced in line with the sv_maxrate setting as necessary.

The net_graph command provides information about the state of the client-server connection in the bottom right hand corner of the screen.

The field we are interested in is choke.

Choke represents the number of updates not sent in either direction because the the communication link is saturated.

(Loss is rather different and rarely used, and represents the number of updates which were sent but never reached their destination. If a player experiences significant loss their is a technical problem with the network connection, which lies outside the scope of this report.)

Leave net_graph running and monitor the choke value. Gradually reduce the cl_updaterate and cl_cmdrate values if choke occurs, until choke no longer occurs during comabt.

The overall goal is to have cl_updaterate and cl_cmdrate as high as possible (to provide a better illusion of uniform motion) while still ensuring choke is low or zero during combat.

Anonymous

#1
I have created a spreadsheet that uses the rules mentioned above to create a STARTING POINT for your rate fiddling. Do not take the answers it gives you as gospel as each connection is slightly different. This is purely to get you in the right ballpark to start fiddling.

NB that the spreadsheet will limit cl_updaterate and cl_cmdrate to a max value of 60 and will limit rate to a max of 20000 or sv_maxrate (whichever is the smaller of the two).

Rate Calculator

NB that our servers are now set to a rate of 15000 not 12000 (which was the old setting)

I have updated my rates calculation spreadsheet to take into account new info from links provided by Whitey. You can get it at:

http://www.sutherlandweb.pwp.blueyon...dmw/rates2.xls

You will need Excel to open it; Excel 97 or newer.

The yellow boxes are for you to enter your details. The red boxes are what the spreadsheet reckons you should set.

NB that Max RATE value is now 30000 not 25000 and that there is no limit on cl_updaterate (it used to be 100) and our server is set to 20000 rate

Dr Sadako

Thanks for the good info BB!

Cheers!
-=[dMw]=-Dr "Doc" Sadako

"Gravitation is not responsible for people falling in love." Albert Einstein

DarkAngel

I had been wondering about those sorts of commands thankyou for the info on them most apreciated.  :thumbsup:


0ni0n

thanks BB. Nicely explained what it all does!  :)
\'A man of many layers\'

Anonymous

well the thanks is nice but I hate stealing someone elses thunder. The info (I believe) was found by Oldie and has been passed between the members over time. I nicked it from a post in another thread and made it a sticky.

//me doffs hat to OB

OldBloke

//me doffs hat to Google.  ;)
"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

SLoWHaND

Well doff yer rat at these

cl_upspeed 320

 and

cl_dlmax 128

I was typing in the console the other night trying to get my rates back to normal and the these 2 settings popped up as a choice.
Any ideas

SLoWHaND
[SIGPIC][/SIGPIC]

JB

Cl_upspeed i believe is the speed at which you go up(simming in water for example.)  Maximum is set by the server actually so upping it wont do anything.

Cl_dlmax is the maximum amount of information to download from the server, apart from that i dunno wtf it means.

They probably popped up because as your typing the cl_ bit CS is doing a kinda auto complete thing where it lists all the console commands that start with what you have typed so far in the console. Nowt to worry about just trying to help you.

 
 

0ni0n

I just went in my config file to change my rates but couldnt find 'rate' or 'cl_rate'! any 1 know where i find them?  :(
\'A man of many layers\'

OldBloke

QuoteOriginally posted by 0ni0n@Oct 17 2003, 02:08 PM
I just went in my config file to change my rates but couldnt find 'rate' or 'cl_rate'! any 1 know where i find them? :(
I think that cl_rate is no longer used.

You can add the following to your config.cfg file or, better still, to your userconfig.cfg file (makes sure that 'exec userconfig.cfg' is the last line in config.cfg)

rate 15000
"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

0ni0n

cheers OB  :)

I use netgraph 3 when playing and have noticed if you change your rates the graph appears to be inaccurate on ping!... I get a ping of 9-15 on graph (unlikely) and 60 ish when pressing tab!!  :(  Has anyone else noticed this or is it just me!
All ok on 1.5
\'A man of many layers\'

JB

The netgraph ping is widely accepted as the true measure of your connection to the server, while the score table ping takes into account loss and choke and the like.  horses for courses and all that.  Btw my netgraph ping disapears or flicks around the 1ms mark, the beauty of using high update and cmdrate's.

 
 

OldBloke

QuoteOriginally posted by JB@Oct 17 2003, 05:10 PM
The netgraph ping is widely accepted as the true measure of your connection to the server, while the score table ping takes into account loss and choke and the like.  horses for courses and all that.  Btw my netgraph ping disapears or flicks around the 1ms mark, the beauty of using high update and cmdrate's.
All changed now. Netgraph's ping now mirrors the score table's figure.

In addition to the stuff already written here, take alook at this article recently published on Enemy Down.

http://www.enemydown.co.uk/article.php?id=59

Again, a lot of the stuff mentioned is pre-1.6 and I'd take some of that stuff about ex_interp with a pich of salt too.
"War without end. Well, what was history if not that? And how would having the stars change anything?" - James S. A. Corey

DarkAngel

gonna try it with the 25k,100,100 next time see if it runs better... n1