Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003315Zandronum[All Projects] Bugpublic2017-10-28 01:432017-11-06 16:47
ReporterLeonard 
Assigned ToLeonard 
PrioritynormalSeveritymajorReproducibilityalways
Statusneeds testingResolutionopen 
PlatformOSOS Version
Product Version3.0 
Target Version3.1Fixed in Version 
Summary0003315: Incorrect ticking routine for players on servers
DescriptionIn ZDoom, the following happens:
-P_PlayerThink is called for every players (which ticks the psprites which is responsible for doing the hitscan attacks and so on)
-Only then are the DThinkers ticked which ticks the players mobj which makes them move

However in Zandronum this does not hold true, the players mobj are ticked directly after P_PlayerThink is called effectively making any hitscan attacks called by the next players potentially miss a given body.
Steps To ReproduceUsing the debug commit and the test wad referenced in 0002859:0018627:
-host a server on MAP01 (no need to enable sv_unlagged_debugactors)
-connect and join 2 clients locally (it is important to test this with no ping so as to not run into issue 0003316)
-make sure to have cl_ticsperupdate on 1 so as to not run into 0003317
-additionally you can connect an extra third client to make sure of what happens
-align them horizontally and try to shoot each other: if the player you're trying to shoot ticks before you do, you will completely miss him even if this is a local connection and no ping is involved
Additional InformationAfter the fix, trying to reproduce the bug using the steps above is impossible.
Attached Files

- Relationships

-  Notes
User avatar (0018650)
Leonard (developer)
2017-10-29 16:43

PR.

I think this is incompatible with the sv_useticbuffer CVar by the way.
With the CVar on, it is guaranteed that a player's mobj will only tick after P_PlayerThink is called for you even if said player has more than just one movement command in his buffer but with it off that is no longer the case.
Do we still want to keep that CVar around?
I thought we only wanted it to make sure there were no longer any desyncs caused by it.
The CVar was discussed here: 0002330:0012907 and 0002330:0012924.
I think the fix for 0003316 also does not work with sv_useticbuffer off.
User avatar (0018813)
Leonard (developer)
2017-11-06 16:47

This was merged in 3.1.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-10-28 01:43 Leonard New Issue
2017-10-28 01:43 Leonard Status new => assigned
2017-10-28 01:43 Leonard Assigned To => Leonard
2017-10-28 01:55 Leonard Steps to Reproduce Updated View Revisions
2017-10-29 16:43 Leonard Note Added: 0018650
2017-10-29 16:43 Leonard Status assigned => needs review
2017-11-06 16:47 Leonard Note Added: 0018813
2017-11-06 16:47 Leonard Status needs review => needs testing






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker