PDA

View Full Version : In-game rates and their affect on matches


Jesus
03-06-2010, 02:26 AM
I've been running a plugin on my server lately that after a match reports all the players' rates in console to admins, and generally I see the same sets repeating for everyone but always with a few outliers, does anyone here think there should be a standard set of rates that leagues specify for each class?

I normally see the following rates though

rate - 30000
cl_cmdrate - 66
cl_updaterate - 66

Then cl_interp is interesting, I see soldiers and demos use the floor of 0.0152 and scouts sitting at 0.0333 normally.

But then there are the outliers, the ones who no doubt make it tough on themselves, their team and their enemy.

The strangest yet that I've seen was a scout using the following.
rate - 7500
cl_cmdrate - 101
cl_updaterate - 101
cl_interp - 0.048

What do you guys think? Should there be a standardized cfg file with specific rates in it for league play? Like two sets of files, network_hitscan.cfg and network_projectile.cfg that are required to be used by all competitive players in leagues? I think it'd be a nice way to further remove a variable that can affect gameplay. Thoughts?

defiance
03-06-2010, 11:55 AM
No, because even interp can come down to preference. There is no reason to mandate it.

Grimm
03-06-2010, 11:55 AM
Might be nice to have it standardized, but on the other hand, it's like sensitivity/crosshair/etc in that it's a personal choice, and I'm all for choice.

Blind
03-06-2010, 12:25 PM
It's all preference. Ryb from team dignitas, arguably the best demo in the world, uses 0.04 interp.

oblivion
03-06-2010, 01:42 PM
is .0333 the best to use for scout?

Jesus
03-06-2010, 01:54 PM
From the Valve Developer Community.
http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

Source Engine v14/v15 / Orange Box Engine (TF2 - DoD S) + Left 4 Dead Engine cl_interp = cl_interp_ratio / cl_updaterate
For example, if your client receives 66 update per second and the interp ratio is 2, you can set cl_interp to 0.03. This way your view interpolation lag is lowered from 100ms to 30ms. Here, cl_interp_ratio is acting as a "limiter" of the cl_interp value. It is not possible to turn off the view interpolation lag on the Orange Box Engine.



So no, it's not a matter of preference, there's a noticeable difference to hit detection with all the varying rate settings. If leagues maintained at least a minimum for everyone there would be a much more consistent feel to the shots.

My personal rate settings are
rate 100000 (the upper bound so if a server allows it I can use it)
cl_cmdrate 66
cl_updaterate 66 (both are at 66 because the game is limited to a cap of 66 tick rate servers and any match server should be at that rate.)
cl_interp 0.0333 (doing the math from 66/2 should only be 0.0303 but 0.0333 is more well rounded for lerp in net_graph 3)
cl_interp_ratio 2

Read that article, that's got a lot of information on what is actually good for network settings, it's not a matter of personal preference either.

Hawkeye
03-07-2010, 03:52 AM
Couple things here..

The game actually runs and calculates based on the FPS that is occuring on the Dedicated server, the ticrate is how often it calculates the snapshots to sent to clients, do not confuse the two, they do very different things.

Most of it is infact preference in how the interpolation is handled and how you prefer it to be set given your network conditions and what servers you would normally be playing on.

For the most part, many leagues to force the rate limits to be in a generally acceptable limits for most players, so their settings to some degree aren't always used. (the nut job with rate 7500 for example would be pushed up to 30000 minimum)

The big reason the leagues and frankly valve never forced these settings is network conditions can vary so much, it isn't worth saying this is what works since it simply will not be the case. The second a league gets very picky about rate settings is when they effectively force some of their supporters (players) out of the league due to a number of different reasons.

NeoRussia
03-07-2010, 05:00 AM
projectile interp doesn't matter since you subconsciously predict your rockets or nades when they launch out. Haven't noticed a difference at all when changing settings to the actual explosions and detonation hitboxes.

any tickrate setting but 66 doesn't matter in TF2, since all servers are fixed to a rate of 66.

Jesus
03-07-2010, 05:18 AM
Hawkeye, Valve does force players to use their default settings which if I recall are cl_cmdrate 20, cl_updaterate 30, cl_interp 0.01 and rate 20000 :P

Hawkeye
03-07-2010, 02:36 PM
Hawkeye, Valve does force players to use their default settings which if I recall are cl_cmdrate 20, cl_updaterate 30, cl_interp 0.01 and rate 20000 :P

You missed the point, those settings are generally good in all your typical internet scenarios but NOT in competition settings. They are playing the lowest common denominator game. Comp is the other end of the spectrum and would really cause a lot of issues if enforced to much.

Server have the ability to set ranges, which is fine, most league configs put decent values in (50-66 for the command rates) and others, but if you force everyone to specific settings and interp, your going to have issues with some players AKA why all of the above doesn't do it.

Jesus
03-07-2010, 05:18 PM
You missed the point, those settings are generally good in all your typical internet scenarios but NOT in competition settings. They are playing the lowest common denominator game. Comp is the other end of the spectrum and would really cause a lot of issues if enforced to much.

Server have the ability to set ranges, which is fine, most league configs put decent values in (50-66 for the command rates) and others, but if you force everyone to specific settings and interp, your going to have issues with some players AKA why all of the above doesn't do it.

http://i195.photobucket.com/albums/z128/DCL_photo/JokeOverHead3.jpg

Hawkeye
03-07-2010, 08:33 PM
It's beginning to look a lot more like GotFrag here...

clownpRon
03-26-2010, 05:44 PM
So basically what I'm gathering is that you say that my autoexec should look like this?

cl_cmdrate "66"
cl_interp "0.0152"
cl_interpolate "1"
cl_lagcomp_errorcheck "0" // Disables lagcompensation error checking, only needed if you're having any registration/loss/choke problems.
cl_lagcompensation "1"
cl_smooth "1"
cl_updaterate "66"
cl_interp_ratio "0"
rate "30000"

m_customaccel_exponent "0" // Mouse move is raised to this power before being scaled by scale factor.
m_customaccel_max "0" // Max mouse move scale factor, 0 for no limit
m_customaccel_scale "0" // Custom mouse acceleration value.
m_filter "0" // Mouse filtering smooths input averaged over last two frames. In other words, it smooths mouse movement at the cost of accuracy.
m_forward "1" // Mouse forward factor.
m_mouseaccel1 "0" // Windows mouse acceleration initial threshold (2x movement).
m_mouseaccel2 "0" // Windows mouse acceleration secondary threshold (4x movement).
m_mousespeed "1" // Windows mouse speed factor (range 1 to 20).
m_pitch "0.022000" // Mouse pitch factor.
m_side "0.8" // Mouse side factor.
m_yaw "0.022" // Mouse yaw factor.
m_customaccel "0" // Custom mouse acceleration

xShishy-
03-28-2010, 07:31 PM
I'm not sure I even understand what these settings do. I just left them at default and kept playing with it lol. Anyone care to explain?

Hawkeye
03-29-2010, 04:50 AM
I'm not sure I even understand what these settings do. I just left them at default and kept playing with it lol. Anyone care to explain?

Okay, since I cannot sleep, I dig into the network part of the configs..

rate - The amount of data (in bps) that your client and the server can use to talk to each other.

Any broadband connection these days should set this to 100000 (the max in TF2) and leave it. Many copied old CS and CSS configs so you will see 30000 a lot, TF2 needs more then 30000 for a 12v12 game so keep this high.

cl_cmdrate -This is how many times per second your client will update the server.

50 is the minimum in League play, most I have set around 66/67, the maximum I think is about 100. Regardless of how many updates you request the data cannot exceed your rate command as explained above.

cl_updaterate -This is how often your client should be receiving updates from the server.

Same deal as cmdrate, most around 66/67 can go up to 100. Bandwidth limits of rate apply also.

lag compensation - Should the client interpolate things for you to smooth out the gameplay.

Basically, every game since Quakeworld has some form of lag compensation built in. Since there is an assumed latency of data between you and the server, your client will try to "guess" how things will be moving and what direction and so forth for you. Realistically this is done fairly accurately since most don't play on ping times >100ms any longer. Back in Quake 2 days when 200ms pings were good, this was a major thing you needed to pay attention to more so then now.

cl_interp is basically how much view latency your going to be seeing, AKA the graphics on the screen will be slightly off from their actual position to make the simulation look better given the lag compensation (as explained above, this is just the term used to say your screen is being interpolated based on the lag compensation)

With interp, you can tweak this in your configs a bit, on the valve wiki they have it defined as

cl_interp = cl_interp_ratio / cl_updaterate

In other words, if your cl_update rate is 66. the interp ration is defined as 2. cl_interp is effectively 0.03 (30ms, Default is 100ms), if your interp_ratio is 1, this value drops to .0151.

Yeah, a lot of technical mumbo jumbo, but, the recommended settings are in the league configs as a min/max for a good base to start from.

xShishy-
03-29-2010, 09:44 AM
Okay, since I cannot sleep, I dig into the network part of the configs..

rate - The amount of data (in bps) that your client and the server can use to talk to each other.

Any broadband connection these days should set this to 100000 (the max in TF2) and leave it. Many copied old CS and CSS configs so you will see 30000 a lot, TF2 needs more then 30000 for a 12v12 game so keep this high.

cl_cmdrate -This is how many times per second your client will update the server.

50 is the minimum in League play, most I have set around 66/67, the maximum I think is about 100. Regardless of how many updates you request the data cannot exceed your rate command as explained above.

cl_updaterate -This is how often your client should be receiving updates from the server.

Same deal as cmdrate, most around 66/67 can go up to 100. Bandwidth limits of rate apply also.

lag compensation - Should the client interpolate things for you to smooth out the gameplay.

Basically, every game since Quakeworld has some form of lag compensation built in. Since there is an assumed latency of data between you and the server, your client will try to "guess" how things will be moving and what direction and so forth for you. Realistically this is done fairly accurately since most don't play on ping times >100ms any longer. Back in Quake 2 days when 200ms pings were good, this was a major thing you needed to pay attention to more so then now.

cl_interp is basically how much view latency your going to be seeing, AKA the graphics on the screen will be slightly off from their actual position to make the simulation look better given the lag compensation (as explained above, this is just the term used to say your screen is being interpolated based on the lag compensation)

With interp, you can tweak this in your configs a bit, on the valve wiki they have it defined as

cl_interp = cl_interp_ratio / cl_updaterate

In other words, if your cl_update rate is 66. the interp ration is defined as 2. cl_interp is effectively 0.03 (30ms, Default is 100ms), if your interp_ratio is 1, this value drops to .0151.

Yeah, a lot of technical mumbo jumbo, but, the recommended settings are in the league configs as a min/max for a good base to start from.

Guess I should start messing around with these now. Haha thanks!

Adam
03-29-2010, 06:12 PM
Thanks Hawkeye, my question is can you adjust these settings to reduce your ping? For example I have to use a 3g Dongle to play TF2 theres no other way at the moment and I usually get around 130 ping which isn't brilliant, is there anyway to make my game less laggy or do I have to get a new connection? :L

Thanks

Hawkeye
03-29-2010, 11:16 PM
You likely need to deal iwth a new connection honestly.. You could fiddle with it but I would not anticipate or expect any good results. Honestly wire is always better regardless.