obser

Uncharitable Spy
This request is a long shot and probably won't get approved, but I feel it's worth a shot. I main and play Spy (for context) and nothing feels more infuriating than when a player is facing away from you and when you go for a backstab and you get hitregged (melee attacks don't register.) I'm on the lowest network settings I can use and even then getting hitregged is still common. I've tried using lower settings that give me a lerp lower than 15.2, but it doesn't work due to the servers' update rate. I was wondering if the server update rate could maybe be raised to 100000 so that network settings that allow for lerp values lower than 15.2 (10 lerp, 5 lerp, 1 lerp, etc.) can be used, which will put you more in sync with the server and cause less hitregs to happen not only with Spy melees, but all melees. However, I still know that this a long shot and will probably not get approved.
 
This suggestion has been closed. Votes are no longer accepted.
I didn't know that a high update rate was the cause of stuff like that. I guess I kinda expect that my suggestion wasn't gonna work and can sort of see why the lag compensation is limited now. I honestly wanted the update rate raised because I wanted to use 0 lerp again, but if raising the update rate allows for cheaters' hacks to get high interp like that, I guess it makes sense for it to be limited. Thanks for reading my suggestion, though. :)
 
What you're asking for is technically extremely difficult to achieve if not impossible. The average update rate for a stock TF2 server is 20 updates per second. TF2 servers process game frames at a rate of 66.6 per second (the 'tick'), so having an update rate higher than 66 would be pointless as it would be sending the same data in each packet 151 times for 0.15 of a second before it sent fresh data. Assuming each packet is 1000 Bytes, that's a data transfer rate of 100 Megabytes per second to one client. This is why the maximum update rate is 66.

I think you're getting confused with the rate value. Skial's Deathrun and Zombie Escape servers stipulate a minimum rate of 200K (sv_minrate 200000). This does not mean that clients will exchange data with the server at this rate all the time. It is the minimum rate the server expects clients to achieve. In reality, the server is likely only going to send 30K maximum and that's on entity-heavy game modes, or combat on unoptimised maps.

100ms of linear interpolation is one tenth of a second. 15ms is one 66th of a second, which is the technical limit. I am sceptical that anything lower is going to make any difference, but I am no Spy :-D

Source's networking system is quite interesting. If you've got some free time, you may find this to be a good read.

As a side note, the concept of 0 lerp reminds me of a Star Trek Voyager episode where they achieve infinite velocity at warp ten and find themselves at every point in the universe simultaneously. The pilot later evolves into a fish. Do you want to evolve into a fish? I thought not!
 
worMatty, try doing going into a private server, type in the network settings I put above, and put sv_maxupdaterate 100000 in the console to achieve 0 lerp. Those settings are the lowest settings in TF2 and will achieve you a lower lerp the higher the server update rate is, which caps off at 250000. Open net_graph and see for yourself 0 lerp. :)
 
And yes, lower lerp DOES make a difference. A BIG difference as when on 0 lerp, you are playing exactly in sync with the server, meaning that where you aim for headshots and when you backstab looks visibly the exact same as the aim in a replay/STV demo.

However, 0 lerp was removed on August 21, 2020, due to Valve finding it "exploitable" when all it did was smoothen out the game animations and placed you in sync with the server.
 
I'm fairly sure that the displayed 0.0 lerp as shown in the net graph is the result of how the code for generating the display works. It grabs the client's own interpolation amount and only displays the first digit after the decimal point (the actual value is 0.00001). Due to an if statement, if it were above 0.001, it would be coloured red. Any values below this are not coloured so it gives the appearance that there are no issues.

I tried the values you set but found that the server still only transmitted at 66.6, which is interesting and quite fortunate from the POV of a server operator :-D I was curious to know why there was no noticeable reduction in the framerate of moving objects, and why things still seemed to be moving smoothly so did some digging and found that the client appears to clamp the lerp to 15 milliseconds by performing some calculations against the hard-coded tick interval (0.015).

I tried uncapping the sv_maxupdaterate by setting it to 0. net_graph showed 'inf ms' (which was amusing and you see why I remembered that Voyager episode), and the lack of interpolation in moving objects was noticeable.

Thanks for the information, it's been an interesting to learn a bit more about what Source does under the hood.