sepluginloader / PluginLoader

A tool to load plugins for Space Engineers automatically.
https://sepluginloader.github.io/
MIT License
46 stars 11 forks source link

Hard Crash to Desktop when attempting to open the Plugins menu #64

Closed matthewtesting closed 3 months ago

matthewtesting commented 3 months ago

Recently I've noticed that when I try to interact with the plugins menu, my game crashes to desktop. I also haven't been able to connect to a server I've been playing on for a while, and this began to occur when debugging that issue (which, eventually, I'll try to debug). For now, my crash log is showing:

2024-05-22 00:09:18.342 - Thread: 1 -> Exception occurred: System.MissingMethodException: Method not found: 'Sandbox.Graphics.GUI.MyGuiScreenMessageBox Sandbox.Graphics.GUI.MyGuiSandbox.CreateMessageBox(Sandbox.Graphics.GUI.MyMessageBoxStyleEnum, Sandbox.Graphics.GUI.MyMessageBoxButtonsType, System.Text.StringBuilder, System.Text.StringBuilder, System.Nullable1<VRage.Utils.MyStringId>, System.Nullable1, System.Nullable1<VRage.Utils.MyStringId>, System.Nullable1, System.Action1<ResultEnum>, Int32, ResultEnum, Boolean, System.Nullable1, Boolean, System.Nullable1<VRageMath.Vector2>, Boolean, Boolean, System.Action, Boolean, System.Nullable1)'. at avaness.PluginLoader.GUI.MainPluginMenu.Open() at System.DelegateExtensions.InvokeIfNotNull[T1](Action`1 handler, T1 arg1) at Sandbox.Graphics.GUI.MyGuiControlButton.HandleInput() at Sandbox.Graphics.GUI.MyGuiScreenBase.HandleControlsInput(Boolean receivedFocusInThisUpdate) at Sandbox.Graphics.GUI.MyGuiScreenBase.HandleInput(Boolean receivedFocusInThisUpdate) at SpaceEngineers.Game.GUI.MyGuiScreenMainMenu.HandleInput(Boolean receivedFocusInThisUpdate) at Sandbox.Graphics.GUI.MyScreenManager.HandleInput() at Sandbox.Graphics.GUI.MyDX9Gui.HandleInput() at Sandbox.MySandboxGame.Update() at Sandbox.Engine.Platform.Game.UpdateInternal() at Sandbox.Engine.Platform.Game.RunSingleFrame() at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.b__0() at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback) at Sandbox.Engine.Platform.Game.RunLoop() at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen) at SpaceEngineers.MyProgram.Main(String[] args) at avaness.SpaceEngineersLauncher.Program.StartSpaceEngineers(String[] args) at avaness.SpaceEngineersLauncher.Program.Main(String[] args)

Which appears to tie to the if statement in the Open() function in MainPluginMenu.cs. I would imagine my deeper issue is tied to a connection problem of some kind, but the call to CreateMessageBox appears to immediately crash the game prior to any additional details.

My loader.log file seems to suggest that I'm getting plugins from github, so I'm not 100% sure what's up there, but for completeness: 2024-05-22 00:10:55.7123 [INFO] (1) Downloading https://raw.githubusercontent.com/sepluginloader/PluginHub/main/plugins.sha1 2024-05-22 00:10:55.7779 [INFO] (1) Reading whitelist from cache 2024-05-22 00:10:55.7878 [INFO] (1) Whitelist retrieved from disk 2024-05-22 00:10:55.8057 [INFO] (1) Found 155 plugins 2024-05-22 00:10:55.8057 [INFO] (1) Found 60 plugin groups 2024-05-22 00:10:55.8161 [INFO] (1) Enabled plugins: None 2024-05-22 00:10:55.8161 [INFO] (14) Downloading plugin statistics anonymously... 2024-05-22 00:10:55.8161 [INFO] (1) Patching 2024-05-22 00:10:56.3652 [INFO] (1) Instantiating plugins 2024-05-22 00:10:56.3652 [INFO] (1) Finished startup. Took 876ms 2024-05-22 00:10:57.9782 [INFO] (1) Loading 0 plugins 2024-05-22 00:10:58.0104 [INFO] (1) Initializing 0 plugins

And launcher.log: 2024-05-22T04:10:52.8344091Z Starting - v1.0.6 2024-05-22T04:10:52.8537495Z Plugin Loader v1.12.5 2024-05-22T04:10:52.8542500Z Downloading https://github.com/sepluginloader/PluginLoader/releases/latest 2024-05-22T04:10:53.2377066Z Loading plugins: E:\Steam\steamapps\common\SpaceEngineers\Bin64\PluginLoader.dll

Let me know if there's any additional data I can provide, and thanks for building this tool out!

austinvaness commented 3 months ago

What game version are you on? (Main menu in the bottom right corner)

matthewtesting commented 3 months ago

1.203.630 (the previous version, as the server I'm playing on hasn't updated to the Signal update)

matthewtesting commented 3 months ago

Also, for context, I have successfully used the plugins menu at least once to configure the plugins, this is a relatively recent development.

austinvaness commented 3 months ago

You can't downgrade game versions when you have plugin loader installed, it always assumes the latest game version is installed. You will either need to manually downgrade to loader version 1.12.4 (copy and unblock the dll files from the releases into bin64) or update the game to 1.204

matthewtesting commented 3 months ago

That seems to have fixed it! I'm not sure why it worked up until a couple of days ago, but I'll avoid updating to 1.12.5 until the server updates to the newest version. Thanks!