Filed / Tracking Inconsistent signal logic issues on dedicated servers [01500, 01512]

Discussion in 'Tracking / Filed' started by ravien_ff, Aug 5, 2024.

  1. ravien_ff

    ravien_ff Rear Admiral

    Joined:
    Oct 22, 2017
    Messages:
    6,282
    Likes Received:
    11,939
    For more information see here Bug Report Template

    Build: 4480
    Mode: Dedicated Survival
    DLC Installed: No

    SERVER NAME: Broken Eden 2, private servers
    SEED-ID: Any

    If applicable:
    MODIFIED PLAYFIELDS: Yes

    Reproducibility: Inconsistent but frequent.
    Severity: Major

    Type: Signal Logic

    Summary: Signal logic circuits on dedicated servers can stop functioning as expected.

    Description:
    Making this report at the advice of Pantera on this thread:
    https://empyriononline.com/threads/signal-logic-doesnt-properly-work-in-mp-00064.99581/#post-466793

    Unfortunately I do not have a consistent way to reproduce this, but I am hoping perhaps others can add on any new info to this report to help narrow down the issue.
    I will list what I do know. It is a big problem as it makes any semi complicated signal logic that works flawlessly in single player basically unusable for blueprints on servers and can affect POIs as well.


    Signal logic circuits involving a single or combination of logic circuits such as AND, OR, Inverter, or others, will sometimes stop functioning as expected on a specific ship, for a period of time.

    As an example: a logic circuit that uses an AND or OR circuit to control a door via both motion sensor and control panel signal will sometimes stop functioning completely, and will either leave the door open, or will leave the door closed.
    Another example: a logic circuit that controls a gravity generator using signals from landing gear, interior cabin motion sensor, and a control panel switch will sometimes stop functioning and will keep the gravity generator in an on state even if the signal logic should keep it off.

    Here are some of the things I do know about this based on my own experiences:

    • It only happens in multiplayer. Signal logic will work flawlessly in single player.
    • Is NOT caused by accidentally turning off signals or devices in the control panel, nor through any other user error that I can see.
    • It happens very frequently, for me at least in more play sessions than not.
    • It may be more likely with another player present but may not require another player (my brother has reported it happening in the past while alone on his creative server).
    • Seems to randomly happen with no known trigger.
    • Sometimes it can be "fixed" by re-triggering one of the input signals. Sometimes this won't fix it.
    • Sometimes it will randomly fix itself after a time, even without a playfield transition or game reload.
    • May have to do with server restarts or may not.
    • All of my testing has been in a custom scenario due to simply that is what I play, but I don't imagine that this would affect signal logic as scenarios cannot change how signal logic works.
    • Has been happening for several years, though I could not say it is the same issue or not.
    • Can affect signal logic in POIs as well, such as a hacking minigame that uses AND, Inverter, and Delay circuits that will sometimes break and not trigger the signals properly.
    • Does not seem to affect simple signals, such as directly controlling a device using a motion sensor, switch, or control panel signal as long as there's no logic circuit involves. If a broken logic circuit is replaced by a simple signal control, it will work.
    • I am unsure if the problem is that the signals are not being properly sent or updated, or if the devices themselves are not properly following the signals.

    I realize this report is kind of light on concrete details, but this is most definitely a major problem with signal logic on servers. I hope anyone else has additional info they can add to help find reproduce steps.

    I have attached a SV blueprint that I have encountered the issues on often, but so far we have encountered similar issues on all blueprints we have used in our survival play throughs on multiple servers.
    This SV has several signal logic circuits for things such as automated gravity, automated thruster control, automated drone hatch.
    One thing that can happen is the signal logic for the drone hatch will break and the roof door will not open anymore, leading us to change it to simply follow the switch.
    Another thing is the auto gravity logic can break, causing gravity to always be on even when no one is in the ship cabin.

    Again, I apologize I don't have more concrete info, but if you play the game in survival on a dedicated server using workshop ships that have more complicated signals, you will start to encounter the same issues.


    Steps to Reproduce:
    1) Start a dedicated server.
    2) Play on it with another player.
    3) Use blueprints that have more complicated signal logic, such as the attached TEST Signal SV blueprint, until you encounter signal logic breaking.

    Screenshots, Crash Logs, any other Relevant Information or Download links:
     

    Attached Files:

    #1
    Ente, Vollinger and Garaman like this.
  2. Pantera

    Pantera Administrator Staff Member

    • Developer
    • Moderator
    Joined:
    Aug 15, 2016
    Messages:
    3,238
    Likes Received:
    5,676
    Hi,

    Ok so like I mentioned in the other thread you can try activating some extra logs for the sensors & signals so when this happens again we can check if anything useful was captured + with a copy of the save that is "polluted" with the issue we can investigate if we find anything via this method.

    1) Create a copy of the Empyrion_Example.props file in your clients root folder & paste it there then rename it to: Emprion.props
    2) In the Empyrion.props file create a space under the last line then add the following:
    [ExtraLogs]
    Sensors = true
    Signals = true

    Which should look like this then save it:

    Code:
    # For special situations you can edit this file to, for example, change or override settings
    # Uncomment a line only while you try to fix your problem!
    
    # Uncomment the following line if you experience crashes after enabling texture streaming
    # DisableTextureStreaming = true
    
    # Uncomment the following line if you experience sign (TextMeshPro) related CoQs when loading a savegame
    # DisableSignDisplayInitially = true
    
    [ExtraLogs]
    Sensors = true
    Signals = true
    
    3) When the issue next triggers, try to go in and out of any sensor area or trigger any signal that are affected multiple times (you will notice signal/sensor messages in the logs). At this point, leave your character standing in the structure, then leave the server, shut it down, and create a backup of the save game.
    4) Note the time in the logs when you noticed this started to happen & the name of the structure or structures (mention this when supplying the logs), then create a compressed copy of the client log/s.
    5) Add the save game and the scenario it needs to load, along with the logs, to a host such as Google Drive. Then send me a PM with a share link to the files & also mention to me your steamid number which is found here: Saves\Blueprints (the folder within blueprints is named after your steamid number).

    Additional to disable the above "ExtraLogs" just comment them out then save the file.
     
    #2
    Vollinger and ravien_ff like this.
  3. ravien_ff

    ravien_ff Rear Admiral

    Joined:
    Oct 22, 2017
    Messages:
    6,282
    Likes Received:
    11,939
    Thanks. My brother has a RE2 server running at the moment for testing other things, so I'll see if we can take some time to do this process this week if no one else is able to before then. Otherwise it might have to wait until weekend after next.
     
    #3
    Ente and Vollinger like this.
  4. Garaman

    Garaman Captain

    Joined:
    Aug 23, 2020
    Messages:
    594
    Likes Received:
    738
    I sent Pantera an example with two reproducible cases dealing with delay circuits. I'm attaching the blueprints here in case anyone else wants to grab them (though I guess we users can't download links anymore).

    Chained delays not triggering (top row of lights doesn't deactivate on servers):
    [​IMG]

    Signal + delay feeding into a XOR doesn't deactivate correctly:
    [​IMG]
     

    Attached Files:

    #4
    ravien_ff likes this.
  5. Fenra369

    Fenra369 Commander

    Joined:
    Apr 5, 2016
    Messages:
    348
    Likes Received:
    141
    One thing I think that causes the issue more frequently is utilizing motion sensors as the trigger for the logic. I managed to use tripwire lasers as a workaround, but truthfully it's still super buggy/exploitable. I also note that delay circuit triggers are also very inconsistent when I last checked. It mostly works in MP, however it requires using some brute-force approaches to handling all signal logic via dialogues. When I utilized dialogues it was more relilable, but there were 1 or 2 cases where it still broke, however my logic has options to interrupt the daisy chain at any time so perhaps that may have been an issue.
     
    #5
  6. Pantera

    Pantera Administrator Staff Member

    • Developer
    • Moderator
    Joined:
    Aug 15, 2016
    Messages:
    3,238
    Likes Received:
    5,676
    Thanks for the use cases they have been logged.
    When there is any update on this I will post here again.
     
    #6
    ravien_ff likes this.
  7. Garaman

    Garaman Captain

    Joined:
    Aug 23, 2020
    Messages:
    594
    Likes Received:
    738
    I still want to look into motion sensor bugs, but I haven't set aside the time to try to repro that. If I find them should I add them here, or make a new report?
     
    #7
  8. Pantera

    Pantera Administrator Staff Member

    • Developer
    • Moderator
    Joined:
    Aug 15, 2016
    Messages:
    3,238
    Likes Received:
    5,676
    Please create a separate thread for them.
     
    #8
    Garaman likes this.

Share This Page