2020-02-17 10:57 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0004637Spring engineGeneralpublic2015-06-25 21:00
Assigned TojK 
Product Version98.0 
Target VersionFixed in Version 
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.
Checked infolog.txt for Errors
Attached Files




abma (administrator)

Last edited: 2014-12-20 19:02

View 2 revisions

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

nice finding, thanks!


silentwings (reporter)

Last edited: 2014-12-20 19:26

View 2 revisions

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 (reporter)

Last edited: 2015-02-11 09:27

View 2 revisions

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


jK (developer)

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 View Revisions
2014-12-20 19:21 silentwings Note Added: 0013872
2014-12-20 19:26 silentwings Note Edited: 0013872 View Revisions
2015-02-11 09:27 silentwings Note Added: 0014019
2015-02-11 09:27 silentwings Note Edited: 0014019 View Revisions
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
+Issue History