View Issue Details

IDProjectCategoryView StatusLast Update
0004637Spring engineGeneralpublic2015-06-25 21:00
Reportersilentwings Assigned TojK  
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version98.0 
Summary0004637: the ping reported by GetPlayerInfo depends on the local game speed (desync when gadgets use this)
DescriptionWhen watching a replay of a game, the ping reported by Spring.GetPlayerInfo() varies depending on the gamespeed at which the replay is being watched. Spring.GetPlayerInfo() is a synced read and this is a potential cause of desyncs.
Steps To ReproduceSee the attached demo - playerID 7 starts to lag out within the first minute and 60 seconds into the game his ping should be around 30 seconds. When the demo is watched at speed 1.0, this is the case. When the demo is watched at a higher speed (e.g. 2.0) the ping reported is much less.

The issue cannot be reproduced using /skip, the game speed must be explicitly changed (alt -/+).
Additional InformationNote that the attached demo will desync if watched at speed != 1.0, for the reason described above, when the lagging player should get taken around 1.04 minutes. BA includes the cmd_idle_players gadget which judges a players idle status (and, correspondingly, it they are takeable) dependent upon ping and other factors.

TagsNo tags attached.
Attached Files
20141114_223633_DeltaSiegeDry__2FNXre_98.sdf (Attachment missing)
Checked infolog.txt for Errors

Activities

abma

2014-12-20 19:00

administrator   ~0013871

Last edited: 2014-12-20 19:02

the issue here is imo that player ping is synced, it should be unsynced.

nice finding, thanks!

silentwings

2014-12-20 19:21

reporter   ~0013872

Last edited: 2014-12-20 19:26

Player ping should be synced as far as I can see - it should be the ping that was recorded from that player while the game was in progress, and it should have nothing to do with the speed at which the game was played/re-played (which is unsynced because of replays).

silentwings

2015-02-11 09:27

reporter   ~0014019

Last edited: 2015-02-11 09:27

This is very likely related too http://springrts.com/mantis/view.php?id=4337

jK

2015-06-25 21:00

developer   ~0014703

Fix 4a6e6532dc485e5cdb190b60e4417ea9db324453 committed to master branch: fix 0004637: make ping replay-sync, repo: spring changeset id: 5233

Issue History

Date Modified Username Field Change
2014-12-20 16:24 silentwings New Issue
2014-12-20 16:24 silentwings File Added: 20141114_223633_DeltaSiegeDry__2FNXre_98.sdf
2014-12-20 19:00 abma Note Added: 0013871
2014-12-20 19:02 abma Note Edited: 0013871
2014-12-20 19:21 silentwings Note Added: 0013872
2014-12-20 19:26 silentwings Note Edited: 0013872
2015-02-11 09:27 silentwings Note Added: 0014019
2015-02-11 09:27 silentwings Note Edited: 0014019
2015-02-11 22:48 abma Summary the ping reported by GetPlayerInfo depends on the local game speed => the ping reported by GetPlayerInfo depends on the local game speed (desync when gadgets use this)
2015-03-12 19:45 jK Status new => resolved
2015-03-12 19:45 jK Resolution open => fixed
2015-03-12 19:45 jK Assigned To => jK
2015-06-25 21:00 jK Changeset attached => spring master 4a6e6532
2015-06-25 21:00 jK Note Added: 0014703