space-wizards / RobustToolbox

Robust multiplayer game engine, used by Space Station 14
https://spacestation14.io
Other
551 stars 410 forks source link

Transform exception from AdminObserver #2135

Closed metalgearsloth closed 2 years ago

metalgearsloth commented 3 years ago

There's some sequence of events in SS14 where (presumably) an admin holding an item leads to an exception because a client receives the entity state but has no visibility of the parent (AdminObserver).

metalgearsloth commented 3 years ago

Okay I've worked out what's going on: Because when an entity leaves PVS it sends the client a dummy state but this dummy state still has the parent but the client has never seen this parent before which causes the exception. This can technically throw any time there's a parent change that also causes the entity to leave PVS.

Fix is uhhhhhhhhhhhhhh fix the NaN bullshit and just send the entity to nullspace or whatever.

metalgearsloth commented 3 years ago

So problem with the approach is that afaict the client removes these from containers so you need to make HandleComponentState aware of that... or something.