Stationeers

Stationeers

Fixing The Controls
BoNes 2 Sep, 2024 @ 12:52pm
Key triggering multiple times in a single frame
Here is the log that you requested:


[Message: BepInEx] BepInEx 5.4.21.0 - rocketstation (26/05/2024 7:29:34 PM)
[Info : BepInEx] Running under Unity v2021.2.3.16557157
[Info : BepInEx] CLR runtime version: 4.0.30319.42000
[Info : BepInEx] Supports SRE: True
[Info : BepInEx] System platform: Bits64, Windows
[Message: BepInEx] Preloader started
[Info : BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.21.0]
[Info : BepInEx] 1 patcher plugin loaded
[Info : BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message: BepInEx] Preloader finished
[Message: BepInEx] Chainloader ready
[Message: BepInEx] Chainloader started
[Info : BepInEx] 1 plugins to load
[Info : BepInEx] Loading [StationeersModsPlugin 1.0]
[Message: BepInEx] Chainloader startup complete
[Info :Fixing The Controls] Fixing The Controls [2.6] is loaded!
[Info :Fixing The Controls] Key Build/repair [ftc] is assigned to None
[Info :Fixing The Controls] Key Unbuild [ftc] is assigned to None
[Info :Fixing The Controls] Key Configure [ftc] is assigned to None
[Info :Fixing The Controls] Key Clear hands [ftc] is assigned to None
[Info :Fixing The Controls] Key Tablet [ftc] is assigned to None
[Info :Fixing The Controls] Key Glasses [ftc] is assigned to None
[Info :Fixing The Controls] Key Mode switch [ftc] is assigned to None
[Info :OrbitTimescalePersistence] OrbitTimescalePersistence successfully loaded!
[Info :OrbitTimescalePersistence] OrbitTimescalePersistence successfully patched!
[Info :ExternalSuitReader] ExternalSuitReader successfully loaded!
[Info :ExternalSuitReader] ExternalSuitReader successfully patched!
[Info :DetailedPlayerInfo] DetailedPlayerInfo successfully loaded!
[Info :DetailedPlayerInfo] DetailedPlayerInfo successfully patched!
[Message:LargeSatelliteDishHook] [FasterSatelliteDishMod]:Patch Successded
[Message:MoreLinesCodeMod] [MoreLinesCodeMod]:MoreLinesCodeMod Run
[Message:MoreLinesCodeMod] [MoreLinesCodeMod]:Patch Successded
[Info :realistic_metabolites] Loaded! Running!
[Info :realistic_metabolites] Patched 3 Methods.
[Info : bug_fixes] Loaded! Running!
[Info : bug_fixes] Patched 3 Methods.
[Info :TempOnGasSensor] [TempOnGasSensor 1.0.2] Plugin TempOnGasSensor is loading!
[Info :TempOnGasSensor] [TempOnGasSensor 1.0.2] Plugin TempOnGasSensor Verison 1.0.2 GUID TempOnGasSensor is loaded!
[Info :Fixing The Controls] Controls changed event
[Info :Fixing The Controls] Key Build/repair [ftc] is assigned to None
[Info :Fixing The Controls] Key Unbuild [ftc] is assigned to None
[Info :Fixing The Controls] Key Configure [ftc] is assigned to None
[Info :Fixing The Controls] Key Clear hands [ftc] is assigned to None
[Info :Fixing The Controls] Key Tablet [ftc] is assigned to None
[Info :Fixing The Controls] Key Glasses [ftc] is assigned to None
[Info :Fixing The Controls] Key Mode switch [ftc] is assigned to None
[Info :Fixing The Controls] Controls changed event
[Info :Fixing The Controls] Key Build/repair [ftc] is assigned to None
[Info :Fixing The Controls] Key Unbuild [ftc] is assigned to None
[Info :Fixing The Controls] Key Configure [ftc] is assigned to None
[Info :Fixing The Controls] Key Clear hands [ftc] is assigned to None
[Info :Fixing The Controls] Key Tablet [ftc] is assigned to Alpha7
[Info :Fixing The Controls] Key Glasses [ftc] is assigned to Alpha2
[Info :Fixing The Controls] Key Mode switch [ftc] is assigned to None
[Info :Fixing The Controls] Fixing The Controls [2.6] is loaded!
[Info :Fixing The Controls] Key Build/repair [ftc] is assigned to None
[Info :Fixing The Controls] Key Unbuild [ftc] is assigned to None
[Info :Fixing The Controls] Key Configure [ftc] is assigned to None
[Info :Fixing The Controls] Key Clear hands [ftc] is assigned to None
[Info :Fixing The Controls] Key Tablet [ftc] is assigned to Alpha7
[Info :Fixing The Controls] Key Glasses [ftc] is assigned to Alpha2
[Info :Fixing The Controls] Key Mode switch [ftc] is assigned to None
[Info :OrbitTimescalePersistence] OrbitTimescalePersistence successfully loaded!
[Info :OrbitTimescalePersistence] OrbitTimescalePersistence successfully patched!
[Info :ExternalSuitReader] ExternalSuitReader successfully loaded!
[Info :ExternalSuitReader] ExternalSuitReader successfully patched!
[Info :DetailedPlayerInfo] DetailedPlayerInfo successfully loaded!
[Info :DetailedPlayerInfo] DetailedPlayerInfo successfully patched!
[Message:LargeSatelliteDishHook] [FasterSatelliteDishMod]:Patch Successded
[Message:MoreLinesCodeMod] [MoreLinesCodeMod]:MoreLinesCodeMod Run
[Message:MoreLinesCodeMod] [MoreLinesCodeMod]:Patch Successded
[Info :realistic_metabolites] Loaded! Running!
[Info :realistic_metabolites] Patched 3 Methods.
[Info : bug_fixes] Loaded! Running!
[Info : bug_fixes] Patched 3 Methods.
[Info :TempOnGasSensor] [TempOnGasSensor 1.0.2] Plugin TempOnGasSensor is loading!
[Info :TempOnGasSensor] [TempOnGasSensor 1.0.2] Plugin TempOnGasSensor Verison 1.0.2 GUID TempOnGasSensor is loaded!
[Info :Fixing The Controls] Key trigger in Update: 1042189761|40.30545|0.0166821|40.3|Alpha2|SensorGlassesFunc
[Info :Fixing The Controls] SensorGlassesFunc: 1042189761|40.30545|0.0166821|40.3| State before: Off
[Info :Fixing The Controls] Key trigger in Update: 1042189761|40.30545|0.0166821|40.3|Alpha2|SensorGlassesFunc
[Info :Fixing The Controls] SensorGlassesFunc: 1042189761|40.30545|0.0166821|40.3| State before: On


When I loaded the game, I pushed the glasses key once, then ALT-F4'd the game.
< >
Showing 1-6 of 6 comments
Your weakness is your own  [developer] 2 Sep, 2024 @ 3:58pm 
Mod's loaded twice.
[Info :Fixing The Controls] Fixing The Controls [2.6] is loaded!
Should only appear once.
BoNes 3 Sep, 2024 @ 9:00am 
As a short term solution, would it be possible to add some code to determine if the mod has already been loaded and bail out on any additional attempts to load the mod?

I can't figure out why it's bepinex is loading everything twice.
BoNes 3 Sep, 2024 @ 12:39pm 
After looking over the Player.log in the Stationeers folder, I found this...

Fallback handler could not load library C:/Program Files (x86)/Steam/steamapps/common/Stationeers/rocketstation_Data/MonoBleedingEdge/data-00000246013EE890.dll

The thing is that path doesn't exist. The path to MonoBleedingEdge is C:/Program Files (x86)/Steam/steamapps/common/Stationeers/MonoBleedingEdge. It's not under the rocketstation_Data folder.

Your DLL is running the first time further up the log. It finishes all the initialisation stuff and then it hits this line and the next line is "Fixing The Controls [2.6] is loaded" for the second time. The fallback handler error seems to happen for each DLL and then they re-run. So every BepInEx mod is being loaded twice.

I've got to get to bed now... but I'll dig into it more tomorrow night.
Your weakness is your own  [developer] 3 Sep, 2024 @ 10:23pm 
As you pointed out, that path doesn't exist, and neither does that dll. I certainly don't use it. Maybe inspect your mods and see which one has a dependency on it. I have no idea how bepinex works so can't offer any insights on why you'd be ending up with duplicates, or why it'd be affecting other mods like mine. I also apparently don't understand how things behave when loaded twice as my attempt to identify instances separately failed and they both ended up with the same shared value.

I can try to put in a bandaid but I don't know what behaviors to expect and don't have a way to test it. Best to find the problem child and nuke it.
BoNes 4 Sep, 2024 @ 8:36am 
The bandaid was effective:
[Error :Fixing The Controls] Detected existing instance, aborting the new load

Thank you very much. I'm going to look at your code to see how you implemented this bandaid and apply it to other mods I've got.

But, I've still got to pin down what is causing this issue.
Your weakness is your own  [developer] 4 Sep, 2024 @ 11:36am 
Glad to hear. The examples have you record a static variable with the current instance (for teardown later, as most functions are static and you won't have intrinsic access to the instance), so I just check that to not reinit. Call Destroy to get Unity to actually kill it off, I think without that simply skipping setup won't do anything (I suspect the symptoms are Bepinex handling the failure logic wrong and registering the same functions twice even for healthy mods, but pure speculation).

I can't replicate the problem by duplicating the mod and having bepinex load two copies. That just produces two separate mods doing the same thing, so the same result for the user, but for completely different reasons under the hood.
< >
Showing 1-6 of 6 comments
Per page: 1530 50