[ANY] Lerp Tracker (and fixer!)
1 Attachment(s)
About:
Interpolation on clients is an important part of hit calculation in Source games. It's meant to be used to smooth out entity movement on clients. It also has great implications upon close-range interactions between players. At the basic level, however, it lets clients "see into the past." This is exploitable in a number of ways. This plugin is meant to help mitigate lerp exploitation. This plugin will track the lerp values of all players and announce changes to players' lerp (and log them). This plugin can also be configured to fix lerp values for servers that allow cl_interp_ratio 0. References: Valve Wiki on Intepolation My write up on Lerp as it relates to L4D(2) and competitive play Cvars and Commands:
To set a minimum lerp, simply set sv_client_min_interp_ratio to (DESIRED_MIN_LERP * sv_maxupdaterate). sm_fixlerp details: Lerp calculation (according to the Valve wiki) uses the following calculation: Code:
min( max( cl_interp, cl_interp_ratio / cl_updaterate ), 0.25f ) Code:
min( max( cl_interp, (cl_interp_ratio != 0 ? cl_interp_ratio: 1) / cl_updaterate ), 0.5f) Code:
min( max( cl_interp, cl_interp_ratio / cl_updaterate ), 0.5f ) TODO:
Change log: Code:
0.8 https://bitbucket.org/ProdigySim/mis...od-plugins/src (lerptrack) |
Re: [ANY] Lerp Tracker (and fixer!)
So this fixes the the "I walk around a corner and the guy shoots me and kills me even though I'm already around the corner in my perspective" thing?
|
Re: [ANY] Lerp Tracker (and fixer!)
Quote:
This is something completely different which almost nobody cares about :| |
Re: [ANY] Lerp Tracker (and fixer!)
So what does it do by fixing the "see into the past" part?
|
Re: [ANY] Lerp Tracker (and fixer!)
Quote:
Interpolation means mixing between a past gamestate and a current one to create smoother motion. Lerp settings set how far in the past players will look for their interpolation. If I'm sitting with a Lerp of 0ms, I'm seeing only the most recent state I've received. Say I'm a tank in L4D. There's someone running away from me, and he's just out of my reach. I toggle my Lerp value to 100ms, and now the gamestate I'm seeing is further in the past. Both the client and the server are okay with this, and now my hits are calculated against the old gamestate. I've just gone into the past to get a punch I otherwise couldn't. This helps mitigate that issue (in terms of cheating) by echoing, logging, tracking lerp changes. In tournament play, this is enough proof of cheating to overturn a match result. Of course, I'm aware that most sourcemod users don't care about knowing that someone is cheating as much as they care about blocking it, so I'll probably update this with some other functionality. |
Re: [ANY] Lerp Tracker (and fixer!)
Interesting plugin. I already have something that limits the use of Lerp but still interested in the progress of this plugin. Any testing on games with more than 8 clients? Much server load with queries? If it changes clients Lerp settings why the need for a kick ability?
|
Re: [ANY] Lerp Tracker (and fixer!)
Ah, that is always an issue with tanks online. It sounds like a very nice plugin. :D
|
Re: [ANY] Lerp Tracker (and fixer!)
Interesting!
What would cause someone's lerp to change like this? TF2 server btw. Code:
L 02/06/2011 - 23:05:41: [lerptracker.smx] ****'s LerpTime Changed from 15.00 to 33.33 |
Re: [ANY] Lerp Tracker (and fixer!)
Quote:
This plugin only tries to fix client lerp on the server-side to match the client side. If we simply block changes to client lerp server-side, clients and servers will have a massive disconnect on what they think their lerp is. It wouldn't be a good idea. Quote:
|
Re: [ANY] Lerp Tracker (and fixer!)
Nice plugin. I will check it out.
|
All times are GMT -4. The time now is 02:13. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.