Skip to content

[ALL] Predict trigger_push movement - #2036

Open
speedvoltage wants to merge 3 commits into
ValveSoftware:masterfrom
speedvoltage:fix/trigger-push-prediction
Open

[ALL] Predict trigger_push movement#2036
speedvoltage wants to merge 3 commits into
ValveSoftware:masterfrom
speedvoltage:fix/trigger-push-prediction

Conversation

@speedvoltage

@speedvoltage speedvoltage commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Issue:

PR #862 fixed FL_BASEVELOCITY being truncated from the player flags sent to clients. However, the client still does not simulate trigger_push touches. After moving-ground prediction consumes the flag and base velocity, only the server restores them for the next command. The client then predicts subsequent commands without the push, causing repeated movement corrections. This remaining regression was documented in #2029.

Fix:

Network eligible static trigger_push entities to affected players and reproduce their pushes after predicted movement. Preserve trigger filters, enabled state, stacked base velocity, upward ground detachment, ladder behavior, alternate-tick scaling, and push-once state. Keep parented trigger_push entities server-authoritative because their movement is not command-predicted.

Before the fix:

2026-08-29.00-12-00.mp4

After the fix:

2026-08-29.00-13-28.mp4

Network static trigger_push volumes to each player only when their server-side trigger filters pass, then reproduce their post-movement push during local command prediction. Preserve enable state, alternate-tick speed, stacked base velocity, upward ground detachment, ladder flags, and once-only behavior without changing server movement ordering.

Keep parented trigger_push entities server-authoritative because their moving transforms are not command-predicted.
Update the client's predicted network origin when mirroring the one-unit ground-detachment offset.
Use the same collision mask and trace result as the server's trigger touch test so boundary contacts are not dropped during local prediction.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant