space-wizards / RobustToolbox

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

Loss of RSI upon client restart #5291

Closed Krosus777 closed 3 months ago

Krosus777 commented 4 months ago

Description

When uploading a prototype via"uploadfolder" and "loadprototype", the client loses RSI after reconnection

Reproduction

  1. Upload the folder and load the prototype.
  2. Restart the client.

Screenshots

https://github.com/space-wizards/space-station-14/assets/38509947/d70e7a48-0d33-4fb7-a4d0-010b832823b6

Additional context

Krosus777 commented 3 months ago

What I managed to find out about the issue: sprites stopped displaying when transitioning from engine version 226.0 to 226.2. The error persists upon client restart in both versions, but starting from 226.2, sprites are not displayed. I noticed that you changed the resource system; perhaps that's the issue.

image

PJB3005 commented 3 months ago

I just realized all the relevant code for this is in-engine so:

  1. I can move this issue
  2. My first thought fix is bad.

Whoops.

Krosus777 commented 3 months ago

@PJB3005 "Now in engine version 228, when attempting to restart the client, the client crashes with an error.

[DEBG] net: Handshake completed, connection established. [INFO] net: Received message name string table. [INFO] net: Client completed serializer handshake. [INFO] cfg: Sending client info... [DEBG] client: Synchronized time base: 1: 00:00:00 [INFO] client: Tickrate changed to: 60 on tick 0 [INFO] player: Changing local session from null to localhost@Krosus. [DEBG] admin: Have 21 commands available [INFO] admin: Updated admin status: Not admin [DEBG] client: Runlevel changed to: Connected [INFO] clyde.oal: Set audio attenuation to LinearDistanceClamped [DEBG] system.map: Starting... [INFO] state: Received Full GameState: to=2560, sz=28877 [DEBG] admin: Have 319 commands available [INFO] admin: Updated admin status: True/Host/ADMIN|BAN|DEBUG|FUN|PERMISSIONS|SERVER|SPAWN|VAREDIT|MAPPING|LOGS|ROUND|QUERY|ADMINHELP|VIEWNOTES|EDITNOTES|MASSBAN|STEALTH|ADMINCHAT|PII|MODERATOR|ADMINWHO|NAMECOLOR|HOST [INFO] state: Resetting all entity states to tick 2560. [INFO] player: Attaching local player to Solus Moeller (3/n2419, MobMoth, localhost@Krosus). [DEBG] client: Runlevel changed to: InGame Unhandled exception. Robust.Shared.GameObjects.EntityCreationException: Attempted to spawn an entity with an invalid prototype: MobVen at Robust.Shared.GameObjects.EntityManager.CreateEntity(String prototypeName, MetaDataComponent& metadata, IEntityLoadContext context) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Shared/GameObjects/EntityManager.cs:line 802 at Robust.Client.GameObjects.ClientEntityManager.Robust.Client.GameObjects.IClientEntityManagerInternal.CreateEntity(String prototypeName, MetaDataComponent& metadata) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameObjects/ClientEntityManager.cs:line 48 at Robust.Client.GameStates.ClientGameStateManager.ApplyEntityStates(GameState curState, GameState nextState) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameStates/ClientGameStateManager.cs:line 788 at Robust.Client.GameStates.ClientGameStateManager.ApplyGameState(GameState curState, GameState nextState) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameStates/ClientGameStateManager.cs:line 741 at Robust.Client.GameStates.ClientGameStateManager.ApplyGameState() in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameStates/ClientGameStateManager.cs:line 388 at Robust.Client.GameController.Tick(FrameEventArgs frameEventArgs) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameController/GameController.cs:line 535 at Robust.Client.GameController.<StartupContinue>b__58_0(Object sender, FrameEventArgs args) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameController/GameController.cs:line 224 at Robust.Shared.Timing.GameLoop.Run() in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Shared/Timing/GameLoop.cs:line 240 at Robust.Client.GameController.ContinueStartupAndLoop(DisplayMode mode) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameController/GameController.Standalone.cs:line 162 at Robust.Client.GameController.GameThreadMain(DisplayMode mode) in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameController/GameController.Standalone.cs:line 147 at Robust.Client.GameController.<>c__DisplayClass100_0.<Run>b__0() in /home/deck/Downloads/ss14/off/space-station-14sw/RobustToolbox/Robust.Client/GameController/GameController.Standalone.cs:line 106 Аварийный останов (стек памяти сброшен на диск)