Zandronum 3.1-alpha-211121-1941

All released Zandronum builds

Moderator: Developers

Post Reply
User avatar
Posts: 193
Joined: Sun Apr 14, 2013 7:17 pm
Location: Canada

Zandronum 3.1-alpha-211121-1941


Post by Kaminsky » Sun Nov 21, 2021 9:33 pm

After receiving a lot of negative feedback about the skip correction causing stuttering for some clients, I stripped down much of the skip correction's code and removed a lot of the restrictions.
  • sv_extrapolatetics and sv_backtracethreshold no longer exist, and sv_smoothplayers can now be set between 0-3, meaning the skip correction will extrapolate players for up to 3 tics.
  • People were also displeased by how sending backup commands delayed their inputs by 1-2 tics. I reworked cl_backupcommands so that it doesn't add any delays, so enabling them shouldn't make players feel handicapped. You may now send up to 3 backup commands per tic, if necessary. Note that sending backup commands still requires extra bandwidth, so only enable this if you're suffering from packet loss.
  • Improved the firing and switching of weapons for lagging players when the skip correction is enabled.
Please give the skip correction a thorough test and let us know how it works!

Here is the full Mercurial changelog:

Code: Select all

changeset:   10693:6991bfcdadb5
user:        Adam Kaminski <>
"sv_shootthroughallies" and "sv_dontpushallies" now also apply to friendly actors.

changeset:   10694:91d20062ecc8
user:        Adam Kaminski <>
Fixed being unable to spy on enemy players while playing a client demo.

changeset:   10695:8531c2b973a7
user:        Adam Kaminski <>
Fixed the announcer's "fight!" sound from not playing at the start of a round.

changeset:   10696:a47e5a8938c7
user:        Adam Kaminski <>
Fixed the vertical positioning of the "players cannot hear/talk to you" message on the screen.

changeset:   10697:6804f6a091cf
user:        Adam Kaminski <>
Added SCORE_SPREAD and SCORE_RANK to GetPlayerScore.

changeset:   10698:a7aa14923200
user:        Adam Kaminski <>
Fixed old backup commands still being pushed into the client's tic buffer after it was reset.

changeset:   10699:87de6c10bd28
user:        Adam Kaminski <>
Backed out changeset: efc0e1e15b4b
Removes: "Have the server notify the clients about any changes to the skip correction's settings."

changeset:   10700:4500bb1ce4f2
user:        Adam Kaminski <>
Got rid of sv_extrapolatetics and sv_backtracethreshold, and changed sv_smoothplayers into an int CVar so hosts can still choose how many tics to extrapolate.

changeset:   10701:4e1dbf26e447
user:        Adam Kaminski <>
Added "cl_useskulltagmouse" which restores the old mouse movement from Zandronum 3.0 and earlier.

changeset:   10702:65179b64c1d4
user:        Adam Kaminski <>
Don't let the skip correction not process two movement commands in a single tic for a client anymore.

changeset:   10703:087362087b21
user:        Adam Kaminski <>
A backtrace will now always succeed, and a position check is now done before a backtrace is perfomed to decide whether or not it's safe to proceed. This also means the player's actor flags don't need to be changed before or after a backtrace anymore.

changeset:   10704:25733958457c
user:        Adam Kaminski <>
Backed out changeset: 6efa764c923f
Removes: "Don't perform a backtrace on a player who activated any specials during extrapolation."

changeset:   10705:48df52aee10d
user:        Adam Kaminski <>
Backed out changeset: e59c29f7a11b
Removes: "Don't let players activate a thing's special by bumping into or using them while being backtraced."

changeset:   10706:92b971e9be69
user:        Adam Kaminski <>
A backtrace is no longer aborted because the player took environmental damage.

changeset:   10707:d89d47c35b3e
user:        Adam Kaminski <>
Keep track of any specials the player executed during extrapolation so that if they execute the exact same special during a backtrace, the server can simply cancel the execution.

changeset:   10708:34c85b0485bf
user:        Adam Kaminski <>
Backed out changeset: 22b486393cf7
Removes: "Increase the client's ping proportionally to the number of expected backup commands."

changeset:   10709:4c5b0e92333e
user:        Adam Kaminski <>
Repurposed cl_backupcommands so that clients can send backup commands for the server to use to perform a backtrace, even they suffer from packet loss. This means backup commands don't delay a player's input anymore.

changeset:   10710:5618e5bb32b1
user:        Adam Kaminski <>
Moved some code from P_Ticker over to SERVER_HandleSkipCorrection.

changeset:   10711:feccc37e1eb5
user:        Adam Kaminski <>
A client's backup commands are now cleared whenever they change cl_backupcommands.

changeset:   10712:06418ca8f939
user:        Adam Kaminski <>
A player's tics and crouch state should always be restored when performing a backtrace now.

changeset:   10713:80015955de8e
user:        Adam Kaminski <>
- A player's weapon sprites are no longer cycled while being extrapolated, but now do during a backtrace.
- Added a new member in secplane_t: "backtraceRestoreD", to save the floor/ceiling heights of all sectors before a backtrace is performed so that they're restored properly without interference due to unlagged reconciliation.

changeset:   10714:0fa647e1dc71
user:        Torr Samaho
fixed a GCC warning

changeset:   10715:a944a53944a8
tag:         tip
user:        Adam Kaminski <>
Show how long a player must wait before respawning on the bottom of the screen if sv_respawndelaytime is greater than 1.

Post Reply