Upvote Upvoted 12 Downvote Downvoted
fix for interpolation-based hitbox desync
posted in Customization
1
#1
0 Frags +

many people use custom interp settings depending on their internet connection however there's a problem with some of those

in tf2 (and possibly source engine in general) player lerptime isn't calculated properly. the remainder of cl_interp divided by interval per tick is discarded on the server but not the client. this results in a hitbox desync between client and server hitboxes. here's an example video:

https://www.youtube.com/watch?v=ACgpbDbNi6w

fixing this is quite simple.
your cl_interp value must be a multiply of the server interval per tick (approx.0.01516 for tf2, rounded up) or your cl_interp_ratio / 66 must exceed (or be equal to) your cl_interp.

i tried to get in contact with sigsegv to try and get this bug fixed through valve (reason for it is quite simple, server improperly checks for a bot client).

many people use custom interp settings depending on their internet connection however there's a problem with some of those

in tf2 (and possibly source engine in general) player lerptime isn't calculated properly. the remainder of cl_interp divided by interval per tick is discarded on the server but not the client. this results in a hitbox desync between client and server hitboxes. here's an example video:
[youtube]https://www.youtube.com/watch?v=ACgpbDbNi6w[/youtube]

fixing this is quite simple.
your cl_interp value must be a multiply of the server interval per tick (approx.0.01516 for tf2, rounded up) or your cl_interp_ratio / 66 must exceed (or be equal to) your cl_interp.

i tried to get in contact with sigsegv to try and get this bug fixed through valve (reason for it is quite simple, server improperly checks for a bot client).
2
#2
0 Frags +

is there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)

edit: whoops i typo'd yea meant .0303 (30.3 lerp not 33)

is there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)

edit: whoops i typo'd yea meant .0303 (30.3 lerp not 33)
3
#3
5 Frags +
bearodactylis there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)

basically best way to deal with this is to mess with interp_ratio instead
the way the game actually calculates interp is max( cl_interp, cl_interp_ratio / updaterate )
setting cl_interp to 0 in your config will force it to be at the lowest possible value, which i would recommend
then you can set cl_interp_ratio to 2 (for hitscan) and cl_interp_ratio to 1 (for projectiles) which would give you the ideal interpolation for both, without any desync.

[quote=bearodactyl]is there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)[/quote]
basically best way to deal with this is to mess with interp_ratio instead
the way the game actually calculates interp is max( cl_interp, cl_interp_ratio / updaterate )
setting cl_interp to 0 in your config will force it to be at the lowest possible value, which i would recommend
then you can set cl_interp_ratio to 2 (for hitscan) and cl_interp_ratio to 1 (for projectiles) which would give you the ideal interpolation for both, without any desync.
4
#4
4 Frags +
bearodactylis there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)

cl_interp_ratio = 2
cl_interp = 2 / 66 = 0.0303

Always round down, so cl_interp_ratio is preferred.

I am pretty sure this 0.033 value that gets thrown around is because someone accidentally dropped a 0 along the way in a recommendation, and that got spread around.

[quote=bearodactyl]is there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)[/quote]
cl_interp_ratio = 2
cl_interp = 2 / 66 = 0.0303

Always round down, so cl_interp_ratio is preferred.

I am pretty sure this 0.033 value that gets thrown around is because someone accidentally dropped a 0 along the way in a recommendation, and that got spread around.
5
#5
0 Frags +
mastercomsbearodactylis there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)
cl_interp_ratio = 2
cl_interp = 2 / 66 = 0.0303

Always round down, so cl_interp_ratio is preferred.

there's not much point with setting cl_interp to any value other than 0 (minimum allowed by the server) anyway
just set interp_ratio to the amount of ticks you want to interpolate for and you're good to go.
refer to https://github.com/VSES/SourceEngine2007/blob/43a5c90a5ada1e69ca044595383be67f40b33c61/se2007/game/server/gameinterface.cpp#L2425

[quote=mastercoms][quote=bearodactyl]is there an easy fix for recommended net settings?
i.e., what ratio would be best for interp 0.033 (hitscan) vs 0.0152 (projectile)[/quote]
cl_interp_ratio = 2
cl_interp = 2 / 66 = 0.0303

Always round down, so cl_interp_ratio is preferred.[/quote]
there's not much point with setting cl_interp to any value other than 0 (minimum allowed by the server) anyway
just set interp_ratio to the amount of ticks you want to interpolate for and you're good to go.
refer to https://github.com/VSES/SourceEngine2007/blob/43a5c90a5ada1e69ca044595383be67f40b33c61/se2007/game/server/gameinterface.cpp#L2425
6
#6
1 Frags +
navewindrethere's not much point with setting cl_interp to any value other than 0 (minimum allowed by the server) anyway
just set interp_ratio to the amount of ticks you want to interpolate for and you're good to go.

The problem with that is that some servers, more often in competitive server configs, restrict cl_interp_ratio to 1 for some reason.

[quote=navewindre]there's not much point with setting cl_interp to any value other than 0 (minimum allowed by the server) anyway
just set interp_ratio to the amount of ticks you want to interpolate for and you're good to go.[/quote]
The problem with that is that some servers, more often in competitive server configs, restrict cl_interp_ratio to 1 for some reason.
7
#7
1 Frags +
navewindreyour cl_interp value must be a multiply of the server interval per tick (approx.0.01516 for tf2, rounded up) or your cl_interp_ratio / 66 must exceed (or be equal to) your cl_interp.

Afaik it's actually 66.67 tickrate because ticks are exactly 15 ms. Which makes it even more retarded since cmd/updaterate 66 aren't quite correct either. 30.3 is still better than 33 though.

[quote=navewindre]your cl_interp value must be a multiply of the server interval per tick (approx.0.01516 for tf2, rounded up) or your cl_interp_ratio / 66 must exceed (or be equal to) your cl_interp.[/quote]
Afaik it's actually 66.67 tickrate because ticks are exactly 15 ms. Which makes it even more retarded since cmd/updaterate 66 aren't quite correct either. 30.3 is still better than 33 though.
8
#8
3 Frags +
navewindrei tried to get in contact with sigsegv to try and get this bug fixed through valve (reason for it is quite simple, server improperly checks for a bot client).

Try to get them to update the default net settings while you are at it. They are dreadful and probably account for a large portion of the hitreg problems most pubbers exspirience.

[quote=navewindre]
i tried to get in contact with sigsegv to try and get this bug fixed through valve (reason for it is quite simple, server improperly checks for a bot client).[/quote]
Try to get them to update the default net settings while you are at it. They are dreadful and probably account for a large portion of the hitreg problems most pubbers exspirience.
9
#9
0 Frags +

cl_interp_ratio depends on your clients updaterate not the server, so it can also give the wrong value with 0 interp

cl_interp_ratio depends on your clients updaterate not the server, so it can also give the wrong value with 0 interp
10
#10
3 Frags +

lol on ur last example u use 320ms not 32ms

long story short: dont set ur settings to cl_interp 0.0303;cl_interp_ratio 1

lol on ur last example u use 320ms not 32ms

long story short: dont set ur settings to cl_interp 0.0303;cl_interp_ratio 1
11
#11
1 Frags +

thank u nave

thank u nave
Please sign in through STEAM to post a comment.