Action Relay "Set Channel and Send Signal" does not work for multiplayer clients in cockpit

Merii shared this bug 4 months ago
In Progress

The Action Relay's block action "Set channel and send signal" does not work for multiplayer clients with the action on a cockpit hotbar.


In the Example world provided:


  • 2 grids are present: 1 with a cockpit, 1 with a light.
  • Connect 2 players, 1 as host and 1 as client. Place both players in the same faction.
  • Take ownership of all grids, share all grids with faction.
  • Enter the cockpit as the host and press 1 a few times. Observe that the light is toggled.
  • Leave the cockpit on the host.
  • Enter the cockpit as the client.
  • Press 1. Observe that the light does not toggle. Press 5 (Send Signal, without set channel). Observe that the light is toggled.
  • Set the channel to something else on the cockpit grid.
  • Press 1 again on the cockpit hotbar as the client. Notice that the channel is set to 1 correctly, but the action is not triggered. Press 5 again to observe that the action is triggered.

Expected behavior:

The client and the host see the same behavior: Pressing 1 toggles the light without pressing any other buttons.

Actual behavior:

The client sets the channel but does not send the signal.

Repro rate: 5/5, over multiple worlds.

Replies (3)

photo
2

This also reproduces on Dedicated Server.


It does not reproduce if you use a Button Panel or Timer Block, which makes sense - the Cockpit Hotbar executes on the client, but the Button Panel and Timer Block execute on the host.

I looked deeper into this with DNSpy and well, the button correctly raises a Multiplayer Event

3abfaffb36a1d13138cb635eda7d24c7

But Set and Send does not correctly raise an event:


01a1494338a4e6579009e0777410fe9a

Instead, it directly calls SendSignal which checks to see if the caller is a server - this of course fails on the client.

b45dac8e0456abcc565c02fc22e8eaf1

The resolution looks like it's pretty simple: raise the event (as shown in the first screenshot) in the Set and Send hotbar action instead of directly calling SendSignal on the sender component.

photo
1

I have the same price blen in single play and on Dedicated servers “keen official servers”

photo
1

I mean same problem

photo
photo
1

Hello, engineer!

Thank you for reaching our forum with this issue and letting us know about it.

Issue was successfully reproduced on our side and put into our internal system.

Kind Regards

Keen Software House: QA Department

Leave a Comment
 
Attach a file