This object is in archive! 

Dedicated server doesn't sync state across clients when block state modified by timer

Hizumi Mizushiro shared this bug 5 years ago
Won't Fix

Issue was discovered while setting up a public use safe zone, which requires allowing access to medical bay, which means anyone can turn it off.

Solution: timer block every few seconds to force block state back to "On".


If player modifies block state to off in control panel, and timer block forces block back to on, players control panel and visual state of the block still registers as off, but are able to interact with its actions (heal via medbay, or open/close via door). Visual state is not re-synced until player modifies again via their control panel.


Video of bug in action:

https://www.youtube.com/watch?v=O4A_5KHEON4

Reproduction rate: 50 out of 50

Affected Version: 1.187.***

Reproduction steps:

Blocks required:

  • 1 Timer
  • 1 Door
  • 1 Interior Light
  • 1 Battery


Set Timer with any delay (long enough to visually register state change) and actions as follows:

  • Slot 1: (Door) Toggle On/Off
  • Slot 2: (Light) Toggle On/Off
  • Slot 9: (Timer) Start


Light is visual notification state is being changed.


Observed Behavior:

Interact with door while timer is changing state to show door emissive change state, and door cycles open and closed. Access door control panel and toggle power state of door.

Note: door emissive change to match players selected state and will not cycle despite timer block modifying power state.

Note: door is able to be cycled from open and closed state despite player control panel stating it is off ( or inversely unable to be opened while emissive marked as on ).


Expected Behavior:

Block state to be synced to client from server.

Replies (6)

photo
1

I have confirmed that this behavior does happen and have provided user Hizumi Mizushiro the video that has been linked in report.

photo
1

A player on my server found a same issue, but his problem was that the "manual" disable of the doors causes that the timer wasn't able to enable the door again. But a reconnect fixed it, so it looked like a server <-> client sync issue.

photo
1

Same issue, changes in state caused by timer blocks/sensors are sometimes not visible to everybody.

photo
1

Hello,

Thank you for nice and detailed report, we still weren't able to reproduce it though. :( Could you also share the world? Also what is the moment I have to switch the state? How often are you able to reproduce it successfully? Any additional information would be greatly appreciated.

Kind Regards

Keen Software House: QA Department

photo
1

That was the grid i build with the player who had this bug, and we got a 100% reproduce example (DS ONLY!):

https://steamcommunity.com/sharedfiles/filedetails/?id=1502578764

Everything is explain on the lcd panel

photo
1

Response for request for more information:


Video of exact setup for timer in original bug report video:

https://www.youtube.com/watch?v=qAXJquMXIw8


  1. World sharing is irrelevant as it is visible in any world created.
  2. State switching can happen at any time.
  3. Reproduction success is 100% of the time


Additional information:

IF YOU ARE HOSTING THE MAP TO TEST, YOU CANNOT BE THE ONE TESTING THE BUG


De-sync is only visible to those who are NOT the host; dedicated servers do not have players as the host, so every player sees it. If you host the world, the tester MUST be a second person connected to you as you are the server/host and sync state on the server is always "correct".


Bug report title should now read:

Server does not sync state across clients when block state is modified to be different from the server.

photo
1

Maybe try to add alot of actions to the timer block. I'm mostly having that issue when turning on my automated drilling ship in multiplayer. It activated the drill, a rotor, some lights, changes overwrite on the gyroscopes and so on. When I relog it is all perfectly fine again.

I don't think it has anything to do with subgrids/rotors as it also happened to a gravity generator triggered by a sensor on my station.

Also this issue is not reproducable 100% of the time it seems to be random but it feels like it's more likely to happen with more people online and the server being online for a longer time (just a feeling though).

photo
1

I was not able to reproduce this issue and since it is an old issue I am going to close it as won't fix.


If this still does happen to you, then please create a new ticket with up to date information for version 196.016.


Keen QA

Replies have been locked on this page!