CS 1.6 rates

View previous topic View next topic Go down

CS 1.6 rates

Post  Admin on Sat Jan 02, 2010 5:48 am

Intro:

Client rates and server rates go hand in hand with how they interact with each other, so it is important to know: a) What CVARs do. b) Which CVARs are for client and which are for Server.

Here is a list and explination of the CVARs:

SERVER-SIDE CVARs

Most server CVARs have the prefix of sv_ , but then there are a few that don't.

"sv_minrate": Sets the "floor" for the lowest client minrate allowed. Will force client's minrate up to the minimum if it is too low. (Rate is bytes/sec)

"sv_maxrate": Maximum rate allowed. (Rate is bytes/sec)

"sv_maxupdaterate": Specifies the maximum number of packets per second a server is allowed to send. Note, setting the client’s “cl_updaterate” above the server’s “sv_maxupdaterate” value will not increase the amount of updates you receive.

"sys_ticrate": Here's the big CVAR that impacts gameplay more than anything else. Sys_ticrate is a measure of how fast commands execute on the server (“Frames Per Second” of the server), and it VARIES with the server's FPS rating. The more FPS the server handles, the better the registry and gameplay. The HL Engine is limited to 1000fps max. To achieve high-ticrates your system must be using a high-resolution timer (or something else along those lines, server providers have their own ways; this can be achieved by idling something like Windows Media Player). By default, your Half-Life server will average 64fps for Win32 based servers and 50fps for Linux based servers. A player can really feel the improvement on a server that is consistently 200+ FPS, but most people will be in heaven at about 512.

Rule of thumb for "sys_ticrate":

sys_ticrate 500 = 250fps
sys_ticrate 1000 = 512 fps
sys_ticrate 10000 = 1000fps (Max)

High ticrate servers eat processing power, but gosh-darnit they are worth it!
If you have rcon to a server and want to check the current server fps, type rcon stats, to check if your server is boosted, temporarily set sys_ticrate to 10000 and issue an rcon stats command. If your server’s fps are now above 100, your server is boosted.


"sv_unlag": Enables lag compensation for online play. I will explain the difference between unlag and interp later.

Client-Side CVARs

cl_cmdrate”: Number of times per second client updates to the server

rate”: bytes/sec limit FROM the server

cl_rate”: bytes/sec limit TO the server
cl_updaterate”:
Originally Posted by Jon Mellin
It has long been thought that the prescription for cl_updaterate was to start at 101 and work your way down until you receive and acceptable amount of “choke.” Choke can be viewed by using the command net_graph 3. Personally, choke is the last thing on my mind. The best value for cl_updaterate is much more complicated. The CAL server side config provides for an sv_maxupdaterate of 101, so one may conclude that your cl_updaterate should be set to 101. Ideally, this is correct, but in reality is not very useful. Most servers you will play on in North America won’t be able to calculate 100 frames per second; this means that there is no way the server can send out 100 updates per second. Therefore, a value of cl_updaterate 101 will tell your client to use ex_interp 0.009, but you won’t actually be receiving 100 updates per second, so the players will appear choppy. Since there is no way to determine a server’s fps without rcon (again use rcon stats), the optimum value is somewhat of a guessing game. You might say, “Well, just set cl_updaterate to 101 anyway and I’ll receive the maximum number of packets the server can send.” The problem here is the disregard of cl_updaterate’s effect on ex_interp and the delicate balance that must be maintained between them.
To find your optimum value of cl_updaterate (remember to set ex_interp to 0), start at 101 and work your way down until the models only slightly skip around. “Slightly skip around” is a matter of preference, as long as ex_interp equals 1/cl_updaterate, the models will be in the right place. You will need to readjust your cl_updaterate on a per-server basis. Don’t be afraid to use a value under 50, if necessary. The prediction engine will do its job. Note: most public servers will be using the default sv_maxupdaterate value of 30, so cl_updaterate 30 will work best in that situation.
Please note that starting from a low value of cl_updaterate (such as 20) and working your way up will not work. Once you increment cl_updaterate to a higher value, the ex_interp will not reset itself automatically; you will have to manually type ex_interp 0 again and again. Here is a convenient script I’ve written for adjusting cl_updaterate easily:


ex_interp”: This is the godfather of controversy and misunderstanding in all of the Half-Life mod world. Here is a decent post I made a while ago on the CAL forums.
Well, think of it this way:

Interp calculates all possible player positions that said player could be. Now, you control how much your client interpolates by using ex_interp.
So basically: The higher the interp setting, the more CS "guesses" where the other player is. Thats why a long time ago, you could set ex_interp very high and see a player before they were actually there.

Basically, When ex_interp equals:
.01 - Very little "guessing"
.1 - Somewhat more "guessing"

EXAMPLE

A player is running behind the edge of a wall while another is firing.

Player 1's latency to the server: 50ms (50/1000ths of a second)
Player 2's latency to the server: 150ms (150/1000ths of a second)
Let us say that player 1 is moving behind an edge which can not be penetrated, and that player 2 is firing at player 1.
Pre-Interp netcode: P2 would have to lead P1 by an amount equal to his latency (150ms) in order to hit, assuming that P2 kept moving in a straight line. All hit calculations are performed at the server, 'as-is'. So by the time the packet frame was received by the server 150ms later, P1 would be in the location that P2 had fired upon. P1 would be behind the wall as soon as the server received the packets (50ms later in this case), even if he appeared to still be on P2's screen.
Current Interp netcode: P2 would fire at P1 directly (no leading necessary) and the server would then determine if there was a hit while taking into account each client's latency. So let us say that it is 50ms after P1 passes the edge of a wall on his client. With the old netcode, he would be officially behind the wall. But with new prediction, there is no official location for each player. The locations vary depending on the latency of each client! So not only is P1 is still on the screen on P2's client, but he is hittable as well. If P2 hit P1 right as he approached the wall, the server would validate it.
Now as for lag compensation with sv_unlag 1, heres a little experiment you can try.

Play normally for half a scrim, then at the half go into console and set cl_lc 0. That turns off lag compensation for you, and it makes it like back before v1.1 .

Now I'm not sure if this works as good or if it even works like having sv_unlag 0, but it should by what the command is supposed to do.[/quote]

So the next time you jump past double-door on DD2 and get picked, it is because of sv_unlag and interp, not just a persons interp setting.

A good example of interp would be: You shooting your deagle rapidly at someone who is moving around and you are nowhere near their head, and you get a headshot.
So whats the deal? Do you set it high or low? That answer may seem obvious, but it isn’t! The time in between each packet is exactly 1/(the # of updates per second), so this is how long you want your client to interpolate. Adjusting your “cl_updaterate” will automatically adjust your “ex_interp” when ex_interp is set to 0. Therefore it is recommended that you only change your cl_updaterate, and letting Counter-Strike set your ex_interp. This provides for the most accurate gameplay.

------------------------------------------------------
ex_extrapmax: No longer used! =)
------------------------------------------

Recommended Rates

Screw that eh! You like things easy! Don't want to have to change stuff in console that much! Well congrats, here is a present from me to you. This is my netcode configuration. If you really want I will send you the rest of my config on demand, just PM me. Just place this code in your userconfig.cfg file in your C:\ProgramFiles\Steam\SteamApps\yourusernamehere\c ounter-strike\cstrike folder. (see bottom of post if you do not have one.)


Code:
// ||||||||||||||||
// Network Settings
// ||||||||||||||||
rate "20000"
cl_cmdrate "105"
//cl_updaterate "101" ****PLEASE USE CYCLE SCRIPT****
ex_interp "0"
cl_rate "20000"
cl_timeout "35"
cl_resend "0"
cl_smoothtime "0"

//Cycle Script

bind [ "updatexx"

alias updatexx "update101"
alias update101 "cl_updaterate 101; ex_interp 0; alias updatexx update90"
alias update90 "cl_updaterate 90; ex_interp 0; alias updatexx update80"
alias update80 "cl_updaterate 80; ex_interp 0; alias updatexx update70"
alias update70 "cl_updaterate 70; ex_interp 0; alias updatexx update60"
alias update60 "cl_updaterate 60; ex_interp 0; alias updatexx update50"
alias update50 "cl_updaterate 50; ex_interp 0; alias updatexx update40"
alias update40 "cl_updaterate 40; ex_interp 0; alias updatexx update30"
alias update30 "cl_updaterate 30; ex_interp 0; alias updatexx update101"
Basically this will set you up for making the best of any server. By pressing the open bracket key “[“ you will decrease the updaterate down to the servers update rate until there is no orange/yellow dots when you look at net_graph 1 (Click here for explanation). Remember, a majority of pub servers use an updaterate of 30!

How to make a userconfig.cfg :

1) Open up
C:\ProgramFiles\Valve\Steam\SteamApps\yourusername here\counter-strike\cstrike

2) Right click and hit 'New Text Document'

3) Open it up and paste the code in there.

4) Go to Save As and save as "userconfig.cfg" (WITH THE QUOTE MARKS!!!)

5) Look in the \cstrike folder for userconfig.cfg. If it's there you win, if it isn't you fail.

6) You can set .cfg files to open with notepad by Right Clicking on them > Properties > Opens With > Notepad.

See related topics:

Deciphering the NetGraph

Making a UserConfig file
avatar
Admin
Admin

Posts : 172
Points : 1165
Reputation : 5
Join date : 2009-12-28
Age : 29
Location : MN

View user profile http://clansn1.forumotion.net

Back to top Go down

Re: CS 1.6 rates

Post  Hova on Sat Jan 02, 2010 4:12 pm

cmdrate maxes out at 101. its recommended to just set it at your fps average. I recommend this website to set up your rates and get used to playin around with them since all servers are different; http://nokitel.co.uk/optimize-counter-strike-16-rates/

Hova

Posts : 7
Points : 7
Reputation : 0
Join date : 2010-01-02

View user profile

Back to top Go down

Re: CS 1.6 rates

Post  Admin on Sat Jan 02, 2010 5:31 pm

Hova wrote:cmdrate maxes out at 101. its recommended to just set it at your fps average. I recommend this website to set up your rates and get used to playin around with them since all servers are different; http://nokitel.co.uk/optimize-counter-strike-16-rates/

i know. u need to be able to adjust them when u jump from server to server
with cl_updaterate of 101 i lag on this server, i need to set it around 30
avatar
Admin
Admin

Posts : 172
Points : 1165
Reputation : 5
Join date : 2009-12-28
Age : 29
Location : MN

View user profile http://clansn1.forumotion.net

Back to top Go down

Re: CS 1.6 rates

Post  Hova on Sat Jan 02, 2010 6:14 pm

Yup same here, some servers i can set it to 101 but usually i get a lot of loss.

Hova

Posts : 7
Points : 7
Reputation : 0
Join date : 2010-01-02

View user profile

Back to top Go down

Re: CS 1.6 rates

Post  Admin on Sat Jan 02, 2010 6:26 pm

Note: most public servers will be using the default sv_maxupdaterate value of 30, so cl_updaterate 30 will work best in that situation.
and i'm pretty sure Blackjack didn't change that value, but i'll make sure i'll ask him next time i see him online
avatar
Admin
Admin

Posts : 172
Points : 1165
Reputation : 5
Join date : 2009-12-28
Age : 29
Location : MN

View user profile http://clansn1.forumotion.net

Back to top Go down

Re: CS 1.6 rates

Post  `.je!!ow:. on Sun Jan 03, 2010 2:29 am

Haha, you were right, I know one kid who doesn't understand this, me! So what should my rates be for the Las Gidi server? it's the main one I play constantly, thanks

`.je!!ow:.

Posts : 23
Points : 32
Reputation : 0
Join date : 2009-12-30
Age : 22
Location : Missouri

View user profile

Back to top Go down

Re: CS 1.6 rates

Post  Admin on Mon Jan 04, 2010 7:21 pm

`.je!!ow:. wrote:Haha, you were right, I know one kid who doesn't understand this, me! So what should my rates be for the Las Gidi server? it's the main one I play constantly, thanks

cl_cmdrate should be your average fps on the server
on the server sv_maxupdaterate should've been left default by blackjack which is 30, so your cl_updaterate should be around 30 i guess. and put ex_interp 0 so it will get auto set according to your cl_updaterate
avatar
Admin
Admin

Posts : 172
Points : 1165
Reputation : 5
Join date : 2009-12-28
Age : 29
Location : MN

View user profile http://clansn1.forumotion.net

Back to top Go down

Re: CS 1.6 rates

Post  Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum