rocket2guns / StationeersDedicatedServerGuide

Stationeers Dedicated Server Guide 2022
23 stars 7 forks source link

Crash with newest Debian #4

Open benjamin-kirkbride opened 1 year ago

benjamin-kirkbride commented 1 year ago

When running from SteamCMD on Debian 11:

DllNotFoundException: RocketNet assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) RocketNet.RocketNetNative.abi_GetInstance()
  at RocketNet.RocketNetInstance..ctor () [0x00006] in <48b2691811284ed4b05f438d7468f1d9>:0 
  at Assets.Scripts.Networking.NetworkManager..cctor () [0x0004e] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
Rethrow as TypeInitializationException: The type initializer for 'Assets.Scripts.Networking.NetworkManager' threw an exception.
  at Assets.Scripts.UI.ScriptHelpWindow.ReloadFileList () [0x0007b] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.GameManager.get_RunSimulation () [0x00000] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.Objects.Items.Plant.get_PlanterName () [0x00000] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.Objects.Items.Plant.get_DisplayName () [0x00000] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.Objects.Thing.ToTooltip () [0x00000] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.UI.PrefabReference.RefreshString () [0x0000d] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.UI.PrefabReference.SetPrefab (Assets.Scripts.Objects.DynamicThing prefab) [0x00018] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.UI.InputPrefabs.PopulateList () [0x000b2] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Assets.Scripts.Objects.Prefab.LoadAll () [0x002e4] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].GetResult (System.Int16 token) [0x00000] in <03b8fd12227d4be192e695799fdcc211>:0 
  at WorldManager.LoadGameDataAsync () [0x00132] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].GetResult (System.Int16 token) [0x00000] in <03b8fd12227d4be192e695799fdcc211>:0 
  at WorldManager.Initialize () [0x00062] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].GetResult (System.Int16 token) [0x00000] in <03b8fd12227d4be192e695799fdcc211>:0 
  at Assets.Scripts.GameManager.Start () [0x0024d] in <5ecfaf14979a41e1ab919d649cdf0f33>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <8381b4eb633d4e20a2796f7a88eaf7e5>:0 
  at UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () [0x00002] in <85f78e112d5c40bdb06e8bed0106f69b>:0 
  at UnityEngine.UnitySynchronizationContext.Exec () [0x00056] in <85f78e112d5c40bdb06e8bed0106f69b>:0 
  at UnityEngine.UnitySynchronizationContext.ExecuteTasks () [0x00014] in <85f78e112d5c40bdb06e8bed0106f69b>:0 
greenfox1505 commented 1 year ago

Did you ever figure this out? I don't the maintainers are reading this. I think the issue has something to do with RocketNet.so. I have the same error as you, but much earlier, I have:

Mono path[0] = '/steamProject/stationeersInstall/rocketstation_DedicatedServer_Data/Managed'
Mono config path = '/steamProject/stationeersInstall/rocketstation_DedicatedServer_Data/MonoBleedingEdge/etc'
Preloaded 'lib_burst_generated.so'
Preloaded 'libsteam_api.so'
Unable to preload the following plugins:
    RocketNet.so

And then later it tires to load various versions of RocketNet.so

I used the exact same startup command on Windows, so I'm 98% sure at that this issue is not due to my launch arguments.

greenfox1505 commented 1 year ago

Okay, I got it.

    sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
    apt-get update && apt-get install -y libc6 libstdc++6
    sed -i 's/bookworm/bullseye/g' /etc/apt/sources.list
    rm -rf /var/lib/apt/lists/*

This is taken from https://github.com/ralyon76/stationeers-server/blob/main/Dockerfile

It updates your GLibC version to a version that is compatible with Stationeers.

If you're using cm2network/steamcmd, try using steamcmd/steamcmd instead (overload the -entrypoint /bin/bash or you'll dump into steamcmd prompt)

If Stationeers devs ever read this: If you could compile using an older version of glibc so that RocketNet.so is compatible with Debian GLIBC 2.28-10, that would save a lot of headache. That is the version of cm2network/steamcmd which is the one linked on the offical SteamCMD wiki page (and probably the most popular container). Which is close to ubuntu:18.04. If you have a docker-based build automation system, that might be a drop-in replacement.

And if you can't, please make that version information more obvious.