jsknnr / enshrouded-server

Run Enshrouded dedicated server in a container
MIT License
185 stars 23 forks source link

Idle and does not update the server #37

Closed eric-beaudoin closed 8 months ago

eric-beaudoin commented 8 months ago

Hello,

I use docker run with the default values. The container starts but does not seems to update anything. Here's the log:

 WARN: SERVER_IP not set, using default: 0.0.0.0
 INFO: Updating Enshrouded Dedicated Server

Status of the container remains"up".

Probably a stupid mistake I did, but can't find the issue...

broizter commented 8 months ago

How long did you wait? It takes a while.

eric-beaudoin commented 8 months ago

Hi @broizter , thanks for the quick answer.

How long did you wait? It takes a while.

It's been idle for about 9h now.

broizter commented 8 months ago

Can I ask what CPU you have?

eric-beaudoin commented 8 months ago

Old Intel Xeon, don't know exactly which one. Ubuntu 20.04.

jsknnr commented 8 months ago

If it's sitting there that means it is waiting for steam to exit either because of an error or because it has finished downloading. In your case it isn't finishing nor is it throwing an error. It is just waiting. This is not an issue with the container image.

eric-beaudoin commented 8 months ago

Hi @jsknnr,

Thanks for your support. Do you have any suggestions on what I can do to troubleshoot this issue?

By the way, I managed to get the enshrouded server running on the same machine with a wine-based container managed with Pterodactyl. So Steam appears to work fine in a different container.

(I prefer to manage my containers "manually" rather than using Pterodactyl, that's why I'm trying to use your work)

jsknnr commented 8 months ago

Try launching my image with Docker using the instructions as is, not using compose. Do not set any values and just copy and paste the command. See how that works, just for troubleshooting.

eric-beaudoin commented 8 months ago

Same results.

jsknnr commented 8 months ago

Can you make sure that there is enough storage? If you are having Docker create and manage the volume, those get created in /var/lib/docker/volumes by default. Some times the /var directory can get it's own partition depending on the OS and how it was installed. Try to check df -h and see if /var has it's own partition, and if not and it's included under root, that there is enough storage.

If you are bind mounting instead of volume mounting, do the same for the directory you are bind mounting in and also make sure the permissions on the directory are good.

Also make sure you are not using an old image. Try to use latest tag and if you already are, try doing a docker pull sknnr/enshrouded-dedicated-server:latest to make sure your local image repo has the latest version because Docker will not pull if it already has the image locally by default.

eric-beaudoin commented 8 months ago

Hi John,

I pulled your latest image, I was previously using 2.0.4. I checked my partitions and /var is not mounted separately, I have 271 Gigs available under /.

I had the same results with the latest version. I stopped and restarted the container: same reslut again.

I openned a bash inside the container and did not find how to list running processes, but I manually executed steamcmd and here's what I got:

steam@e420e90ea9dc:~$ /home/steam/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir "$ENSHROUDED_PATH" +login anonymous +app_update 2278520 validate +quit
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
threadtools.cpp (3409) : Assertion Failed: Failed to create thread (error 0x1)

So I dumped the Steam stderr.txt and here's what I got:

steam@e420e90ea9dc:~$ cat /home/steam/Steam/logs/stderr.txt 
crash_20240131182806_3.dmp[79]: Uploading dump (out-of-process)
/tmp/dumps/crash_20240131182806_3.dmp
crash_20240131182806_3.dmp[79]: Finished uploading minidump (out-of-process): success = no
crash_20240131182806_3.dmp[79]: error: Couldn't resolve host name
crash_20240131182806_3.dmp[79]: file ''/tmp/dumps/crash_20240131182806_3.dmp'', upload no: ''Couldn't resolve host name''
steam@e420e90ea9dc:~$

Do you know which hostname it's trying to resolve? and why it wouldnt work?

jsknnr commented 8 months ago

My guess is steam. Not many debugging tools on that container, but can you try curl https://google.com and see what you get?

eric-beaudoin commented 8 months ago

Results: even curl has some issues

steam@201644d48b70:~$ curl https://google.com
curl: (6) getaddrinfo() thread failed to start
steam@201644d48b70:~$ 
eric-beaudoin commented 8 months ago

I googled this error and someone "fixed" it by updating Docker to a more recent version. I have Docker 20.10.8. I dont know if this is "old" but I guess this is the version that comes with Ubuntu 20.04. And again, that server works just fine in another container on the same machine...

jsknnr commented 8 months ago

Aha. This appears to be a kernel issue. Potentially related to seccomp with systemd. This is definitely not an issue with this image. Though the more curious question is how is pterodactyl running... It has to be calling docker or whatever it uses for the engine differently than how you are natively.

jsknnr commented 8 months ago

Yeah, it is seccomp issue. The issue is my version of glibc is new enough that your version of docker won't allow it to run.

https://github.com/adoptium/containers/issues/215#issuecomment-1142046045

The other container likely works because either it is setting seccomp with docker to unrestricted and you aren't seeing it, or its version of glibc is older than mine.

You need to upgrade docker.

eric-beaudoin commented 8 months ago

Good. Which version should I use?

jsknnr commented 8 months ago

Just grab latest.

eric-beaudoin commented 8 months ago

FYI, The egg I'm using with Pterodactyl is based on the following image: ghcr.io/parkervcp/yolks:wine_latest

https://github.com/parkervcp/yolks

eric-beaudoin commented 8 months ago

Hi John, Docker version was the issue. Version 25.0.1 works fine. Problem solved. Thanks