Devidian / docker-spaceengineers

A Docker for Space Engineers Dedicated Server
87 stars 21 forks source link

Error Log "ERROR: Could not load necessary assembly dependencies. C# redistributable may be missing." #9

Closed rwaltr closed 2 years ago

rwaltr commented 3 years ago

Problem

I am currently attempting to run your container using ContainerD and Kuberentes (which is only an implementation details and should be rather similar to docker) But it appears that I get to an odd hanging error when Wine attempts to start the server.

Log and files

Logs themselves

# Typical steamcmd install
...
Success! App '298740' fully installed.
2020-12-28 01:58:13.277: App Version: 01_197_073
2020-12-28 01:58:13.288: Is official: True [NO][NIS][NAMP]
2020-12-28 01:58:13.288: Environment.ProcessorCount: 8
2020-12-28 01:58:13.292: Environment.OSVersion: Microsoft Windows 7 Professional (Microsoft Windows NT 6.1.7601 Service Pack 1)
2020-12-28 01:58:13.292: Environment.CommandLine: "Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64\SpaceEngineersDedicated.exe" -noconsole -ignorelastsession -path Z:\appdata\space-engineers\instances\OBL-SE
2020-12-28 01:58:13.292: Environment.Is64BitProcess: True
2020-12-28 01:58:13.292: Environment.Is64BitOperatingSystem: True
2020-12-28 01:58:13.293: Environment.Version: .NET Framework 4.8.3761.0
2020-12-28 01:58:13.293: Environment.CurrentDirectory: Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64
2020-12-28 01:58:13.293: CPU Info: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
ERROR: Could not load necessary assembly dependencies. C# redistributable may be missing. Affected file: file:///Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64\SpaceEngineers.ObjectBuilders.dll

The file referenced by the logs

blackphidora@storage2 obl-spaceengineers-path-pvc-9fae4da2-911c-4128-854d-6350359c0555]$ ls DedicatedServer64/SpaceEngineers.ObjectBuilders.dll -l && md5sum DedicatedServer64/SpaceEngineers.ObjectBuilders.dll
-rwxrwxrwx. 1 root root 2745856 Dec 27 19:54 DedicatedServer64/SpaceEngineers.ObjectBuilders.dll
31996ebbbe69878e14ff67203e11ef38  DedicatedServer64/SpaceEngineers.ObjectBuilders.dll

Let me know if there are any other details I can provide.

Devidian commented 3 years ago

Hmm im not yet a pro on wine stuff, maybe something went wrong during install? Did you build yourself or use the hosted image from dockerhub? The latter should not fail on wine.

rwaltr commented 3 years ago

This was using the image straight from Docker Hub. Do you have the same issue when building a whole new container, and new install files from steamcmd? If you want to replicate the runtime its containerd which is the same as docker but a bit lower down the stack.

-------- Original Message -------- On Dec 30, 2020, 2:11 PM, Maik Laschober wrote:

Hmm im not yet a pro on wine stuff, maybe something went wrong during install? Did you build yourself or use the hosted image from dockerhub? The latter should not fail on wine.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Nooby1 commented 3 years ago

I have the same error also, with exactly the same CLI output. The other space engineers docker

` setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.

ing stderr to '/root/Steam/logs/stderr.txt'

on file ./public/steambootstrapper_english.txt which appeared to exist failed!!!

erifying installation...

ownloading Update...

!! Fatal Error: Steamcmd needs to be online to update. Please confirm your network connection and try again.

0/threadtools.cpp (3659) : Assertion Failed: Illegal termination of worker thread 'Thread(0x0x56ef2f10/0x0xf7c0bb'

07 17:54:07.320: App Version: 01_197_073

07 17:54:07.369: Is official: True [NO][NIS][NAMP]

07 17:54:07.372: Environment.ProcessorCount: 24

07 17:54:07.388: Environment.OSVersion: Microsoft Windows 7 Professional (Microsoft Windows NT 6.1.7601 Service Pack 1)

07 17:54:07.388: Environment.CommandLine: "Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64\SpaceEngineersDedicated.exe" -noconsole -path Z:\appdata\space-engineers\SpaceEngineersDedicated -ignorelastsession

07 17:54:07.388: Environment.Is64BitProcess: True

07 17:54:07.388: Environment.Is64BitOperatingSystem: True

07 17:54:07.390: Environment.Version: .NET Framework 4.8.3761.0

07 17:54:07.391: Environment.CurrentDirectory: Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64

07 17:54:07.391: CPU Info: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz

does not meet minimum requirements, forcing Experimental mode

ould not load necessary assembly dependencies. C# redistributable may be missing. Affected file: file:///Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64\SpaceEngineers.ObjectBuilders.dll

` from

https://github.com/mmmaxwwwell/space-engineers-dedicated-docker-linux

has the same error with code shown

Devidian commented 3 years ago

Ok, do you use the same environment that @Blackphidora used? (Containerd?) The line !! Fatal Error: Steamcmd needs to be online to update. Please confirm your network connection and try again. looks like your container has no access to the internet.

andreasmwestberg commented 3 years ago

I have the same problem, I'm using latest docker running on debian server. I've created a new instance using Space Engineers Dedicated Server and also tried using an old instance that was last run in 2019-09, both get the same error

Docker version 20.10.2, build 2291f61

Attaching to se-server
se-server    | -------------------------------START------------------------------
se-server    | WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
se-server    | Redirecting stderr to '/root/Steam/logs/stderr.txt'
se-server    | [  0%] Checking for available updates...
se-server    | [----] Verifying installation...
se-server    | Steam Console Client (c) Valve Corporation
se-server    | -- type 'quit' to exit --
se-server    | Loading Steam API...OK.
se-server    |
se-server    | Connecting anonymously to Steam Public...Logged in OK
se-server    | Waiting for user info...OK
se-server    | "@sSteamCmdForcePlatformType" = "windows"
se-server    | Success! App '298740' already up to date.
se-server    | 2021-01-22 19:14:50.907: App Version: 01_197_075
se-server    | 2021-01-22 19:14:50.929: Is official: True [NO][NIS][NAMP]
se-server    | 2021-01-22 19:14:50.930: Environment.ProcessorCount: 8
se-server    | 2021-01-22 19:14:50.939: Environment.OSVersion: Microsoft Windows 7 Professional (Microsoft Windows NT 6.1.7601 Service Pack 1)
se-server    | 2021-01-22 19:14:50.939: Environment.CommandLine: "Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64\SpaceEngineersDedicated.exe" -noconsole -ignorelastsession -path Z:\appdata\space-engineers\instances\papopi
se-server    | 2021-01-22 19:14:50.939: Environment.Is64BitProcess: True
se-server    | 2021-01-22 19:14:50.939: Environment.Is64BitOperatingSystem: True
se-server    | 2021-01-22 19:14:50.940: Environment.Version: .NET Framework 4.8.3761.0
se-server    | 2021-01-22 19:14:50.940: Environment.CurrentDirectory: Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64
se-server    | 2021-01-22 19:14:50.940: CPU Info: QEMU Virtual CPU version 0.14.1
se-server    | Computer does not meet minimum requirements, forcing Experimental mode
se-server    | ERROR: Could not load necessary assembly dependencies. C# redistributable may be missing. Affected file: file:///Z:\appdata\space-engineers\SpaceEngineersDedicated\DedicatedServer64\SpaceEngineers.ObjectBuilders.dll
andreasmwestberg commented 3 years ago

To be clear, I used the image from docker hub and docker-compose

  se-server:
    image: devidian/spaceengineers
    container_name: se-server
    # restart: unless-stopped
    environment: 
      - WINEDEBUG=-all 
      - INSTANCE_NAME=papopi
    ports:
      - 8080:8080
      - 27016:27016/udp
    volumes:
      - /docker-share/space-engineers/instances:/appdata/space-engineers/instances
      - /docker-share/space-engineers/SpaceEngineersDedicated:/appdata/space-engineers/SpaceEngineersDedicated
      - /docker-share/space-engineers/steamcmd:/root/.steam
Inumedia commented 3 years ago

Has there been any luck with fixing this? I'm running into the same problem.

Devidian commented 3 years ago

Any news on this? Or is it solved?

mmmaxwwwell commented 2 years ago

Could this be an architecture issue? Part of the requirements for installing the wine prefix is to enable 32 bit architecture on your system, I wonder if that needs to he enabled on the host system? Maybe its looking for a specific 32 bit lib somewhere.

@rwaltr @andreasmwestberg @Nooby1

Could someone try executing the container in an interactive shell and checking if 32 bit arch is enabled?

To start the container in an interactive shell using docker-compose, the command is sudo docker-compose run se-server bash. Once your in the shell, dpkg --print-architecture should print something. I'm typing this from my phone and memory so I could be missing a step or have a command wrong here.

andreasmwestberg commented 2 years ago

@mmmaxwwwell tried that and I got

root@17dcdaf06229:~# dpkg --print-architecture
amd64

so yes, it seems only 64bit is enabled

when I get home I'll test installing 32bit arch in a VM

andreasmwestberg commented 2 years ago

@mmmaxwwwell I've set up and tested it locally in a new VM with debian-11.1.0-amd64 and I got the same result from --print-architecture but to my surprise the se-server started properly.

I'm running SmartOS as hypervisor and I'd used a prebuilt image 9bcfe5cc-007d-4f23-bc8a-7e7b4d0c537e debian-10 20200508 (sadly, for some reason datasets.at is down atm so I can't give a link) Edit: Link

So it's possible that the image I used was lacking some packages or that it works with debian 11.

I'll be installing a debian 11 VM from the iso this time on the hypervisor and if it works I can try listing the packages installed and try installing them on top of that SmartOS image to see if it makes a difference.

Devidian commented 2 years ago

The host architecture is irrelevant, my vm's (deb10) also only have amd64 installed.

Devidian commented 2 years ago

Is this issue still relevant?

rwaltr commented 2 years ago

Closing issue as I do not have the time avail to verify or troubleshoot.

grichka commented 1 year ago

Issue is still relevant though. Could this be reopened?

BebertDeChast commented 1 month ago

Did someone find a solution to this ? I am currently trying to run it on a Kubernetes cluster and it seems to miss some dependencies but i can't find which one.