Skip to content

[FEATURE] Update default Interp settings and other network CVARs #1509

@bauxiteDYS

Description

@bauxiteDYS

Description

Update the defaults for certain client networking cvars, including but not limited to:
cl_cmdrate, cl_updaterate, rate, cl_interp, cl_interp_ratio. Also rework the interp to use the lowest value from cl_interp or cl_interp_ratio instead of the max value.

Proposed Solution

The default settings are from something like 2004, and were on the conservative side for the slow internet and PCs of the time. We often see "hitreg" complaints, however increasing the artificial delay (interp) way beyond necessary or keeping rates lower than necessary can and will cause or exaggerate some issues in the networking, which will manifest as bad hitreg, prediction issues, and lag compensation issues (being shot around corners).

We can alleviate this somewhat by updating the defaults as proposed:
rate : 192000 - Almost all internet users can handle a rate of approximately 200 kB/s so we should keep that as the default, good servers usually enforce this anyway
cl_updaterate and cl_cmdrate : 66 - 66 packets a second is completely possible for almost all internet users to handle now, these are also enforced by most good servers, so it would be great just to make them defaults
cl_interp_ratio : 2 - This is already the default so no change is necessary however the game seems to use the higher of the two interps from the ratio or the cl_interp cvar
cl_interp : 0.03 - I propose this value as it will provide 2 tick interp, the equivalent of a cl_interp_ratio of 2, and will work for 64, 66, and 66.666 tickrate, as the float value here is converted to ticks by the game

The main value that needs changing is the cl_interp. It would also be very nice if the game used the lower value from cl_interp_ratio and cl_interp as many users might copy/paste or use outdated configs which set the cl_interp cvar incorrectly (too high) but the ratio is much harder to mess up, also it makes sense to give the users the lowest amount of interp from the different client settings, as higher interp is not usually needed anymore outside of extreme packet loss situations.

Alternatives Considered

Disabling interp like some newer source 2 games by default??

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions