Renegade-Master / zomboid-dedicated-server

Linux based Docker image containing a Dedicated Server for Project Zomboid.
https://hub.docker.com/r/renegademaster/zomboid-dedicated-server
Other
179 stars 60 forks source link

segfault in steamcmd.sh during post-install config #59

Open RoninXX opened 1 year ago

RoninXX commented 1 year ago

Describe the bug steamcmd.sh returned a segmentation fault during post-install config stage. In a subsequent step, the server ini and ProjectZomboid64.json were not found.

To Reproduce Steps to reproduce the behavior:

  1. Cloned repository: docker pull renegademaster/zomboid-dedicated-server:latest
  2. Created directories: mkdir ZomboidConfig ZomboidDedicatedServer
  3. Ran the container: docker run --detach --mount type=bind,source="C:\Users\user\docker\ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer --mount type=bind,source="C:\Users\user\docker\ZomboidConfig",target=/home/steam/Zomboid --publish 16261:16261/udp --publish 16262:16262/udp --name pz-server --restart=no --env=ADMIN_PASSWORD=test12345 --env=ADMIN_USERNAME=admin --env=MAX_PLAYERS=2 --env=MAX_RAM=2048m --env=PUBLIC_SERVER=false --env=SERVER_NAME=EchoHill --env=SERVER_PASSWORD=Test54321 docker.io/renegademaster/zomboid-dedicated-server:latest
  4. See attached error: 2023-02-05 06:58:30 2023-02-05 06:58:30 ### Setting variables... 2023-02-05 06:58:30 2023-02-05 06:58:30 ### Applying Pre Install Configuration... 2023-02-05 06:58:30 2023-02-05 06:58:30 ### Pre Install Configuration applied. 2023-02-05 06:58:30 2023-02-05 06:58:30 ### Updating Project Zomboid Server... 2023-02-05 06:59:06 2023-02-05 06:59:06 ### Project Zomboid Server updated. 2023-02-05 06:59:06 2023-02-05 06:59:06 ### Checking if this is the first run... 2023-02-05 06:59:06 2023-02-05 06:59:06 ### This is the first run. 2023-02-05 06:59:06 Starting server for 60 seconds 2023-02-05 06:59:06 2023-02-05 06:59:06 ### Starting Project Zomboid Server... 2023-02-05 06:59:06 2023-02-05 06:59:06 ### Project Zomboid Server stopped. 2023-02-05 06:59:06 2023-02-05 06:59:06 ### First run check complete. 2023-02-05 06:59:06 2023-02-05 06:59:06 ### Applying Post Install Configuration... 2023-02-05 06:59:06 /usr/bin/steamcmd.sh: line 38: 13 Segmentation fault DEBUGGER STEAMEXE \@ EDIT I noticed the previous line was not displaying, I guess was interpreted as markdown. I removed all the dollar signs preceding DEBUGGER, STEAMEXE, and \@. 2023-02-05 06:59:06 timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory 2023-02-05 06:59:06 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:06 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:06 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:06 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:06 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 /home/steam/Zomboid/Server/EchoHill.ini not found! 2023-02-05 06:59:07 sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory 2023-02-05 06:59:07 sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory 2023-02-05 06:59:07 timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory 2023-02-05 06:59:07 2023-02-05 06:59:07 ### Post Install Configuration applied. 2023-02-05 06:59:07

Expected behavior PZ server would remain running, and I would see the "LuaNet: Initialization [DONE]" message in the console.

Desktop (please complete the following information):

rustymunkey commented 1 year ago

I can confirm this issue, the same happend to my server on a linux machine.

RoninXX commented 1 year ago

I can confirm this issue, the same happend to my server on a linux machine.

Thank you! I was sure the answer would be “stop trying to do Linux things in Windows.”

Renegade-Master commented 1 year ago

Hello! Thank you for raising your issue here.

While this issue may occur in both 'Docker for Windows' and more standard Unix hosts, that does not necessarily mean that this issue is not related to 'Docker for Windows'. This issue usually relates to the game files either not being entirely downloaded, or not being downloaded at all.

I have a few questions, and some suggestions for troubleshooting:

  1. What backend are you using for 'Docker for Windows'? WSL2 or Hyper-V?
  2. You are definitely running x86-64 and not ARM* CPU?
  3. Can other images mount files in a similar manner correctly?

  1. Does this issue persist if the folder you are attempting to mount is not inside potentially protected directories? Please try to create and then mount folders at C:\ws\project-zomboid\ZomboidDedicatedServer and C:\ws\project-zomboid\ZomboidConfig instead.
  2. Does refreshing your list of 'Shared Drives' in Docker Desktop resolve the issue, as is suggested in this comment.
  3. I expect that you won't want to do this, but it would be worth spinning up a Virtual Machine using 'Windows Hyper-V', or VirtualBox, or 'VMWare Player' just to see if the issue persists on an actual Unix host. 'Docker for Windows' does add extra layers where problems can arise as opposed to running on even virtualised Unix.
rustymunkey commented 1 year ago

Hi @Renegade-Master ,

as mentioned above, I am using a linux host (specifically Ubuntu 20.04 with docker-ce 20.10.21) and the same error occurs for me too.

The server is a fresh one, without any previous persisted data. The volume is mounted from the local disk. The initial installation fails because of the some error in steamcmd, it seems.

When manually running the update_server function from the run_server.sh script, the following happens:

root@zomboid-server-6d5895cbd-l6vbq:/home/steam# steamcmd.sh +runscript /home/steam/install_server.scmd
Redirecting stderr to '/root/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Downloading update (0 of 57471 KB)...
[  0%] Downloading update (0 of 57471 KB)...
- truncated -
[ 99%] Downloading update (57471 of 57471 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Failed to apply update, reverting...
[----] Verifying installation...
[  0%] Downloading Update...
[  0%] Checking for available update...
[----] Download Complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Failed to apply update, reverting...
Steam Console Client (c) Valve Corporation - local build
-- type 'quit' to exit --
/usr/bin/steamcmd.sh: line 38:    21 Segmentation fault      (core dumped) $DEBUGGER "$STEAMEXE" "$@"

My guess is this is an issue with steamcmd and not with the image itself.

RoninXX commented 1 year ago

Hello Renegade-Master. Thank you for developing this, and helping us troubleshoot.

I have a few questions, and some suggestions for troubleshooting:

  1. What backend are you using for 'Docker for Windows'? WSL2 or Hyper-V?

I chose WSL2, as recommended by docker installer

  1. You are definitely running x86-64 and not ARM* CPU?

Yes, x64, i5-7300U. All the virtualization options in BIOS are enabled. (HP EliteBook x360 1030 G2)

  1. Can other images mount files in a similar manner correctly?

Your PZ server is my first interaction with Docker, so I'm not sure how to determine the manner of file mounting of another image. If you could suggest an appropriate image, I would be happy to check.

  1. Does this issue persist if the folder you are attempting to mount is not inside potentially protected directories? Please try to create and then mount folders at C:\ws\project-zomboid\ZomboidDedicatedServer and C:\ws\project-zomboid\ZomboidConfig instead.

Yes. I tried both as admin, then as regular user (removed and recreated dirs). Logs were identical between all three.

  1. Does refreshing your list of 'Shared Drives' in Docker Desktop resolve the issue, as is suggested in this comment.

Maybe because I am using the free version, there is no "Shared Drives" when I opened the settings. I do not have a shared drive set up, so I do not think this is relevant. It also looks like the issue is not with mounting the host folders in the container. There is an "ip.txt" file that was created in the ZomboidConfig dir, I'm guessing by some process within the container. It contains a private range IP (172.17.0.2).

  1. I expect that you won't want to do this, but it would be worth spinning up a Virtual Machine using 'Windows Hyper-V', or VirtualBox, or 'VMWare Player' just to see if the issue persists on an actual Unix host. 'Docker for Windows' does add extra layers where problems can arise as opposed to running on even virtualised Unix.

I was hoping to avoid this when I found your PZ container. Luckily, I discovered your container while waiting for a VirtualBox Debian11 VM to finish installing in an attempt to install the server myself. I'll spin it up and install docker, try from there, and let you know.

Thanks again for the help!

RoninXX commented 1 year ago

Hello again Renegade-Master,

I installed docker on the fresh Debian 11 VM, following the directions at https://docs.docker.com/desktop/install/debian/ and https://docs.docker.com/engine/install/debian/ If it makes any difference, I added my normal user "max" to sudoers, and did everything through sudo. In the other examples of log output I've seen from other people, there is evidence of updates taking place after "### Updating Project Zomboid Server...", but I've never seen this in any of my attempts.

I used only the default commands given in your instructions, and had a nearly identical log, except this time the segfault happened at the "### Updating Project Zomboid Server..." step:

max@debian-pz:/ws/project-zomboid$ sudo docker run --detach --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid --publish 16261:16261/udp --publish 16262:16262/udp --name zomboid-server docker.io/renegademaster/zomboid-dedicated-server:latest [sudo] password for max: 98818fb0152e1628ff3b6d3290613045d42e38f7804215feec300c0e92394363 max@debian-pz:/ws/project-zomboid$ sudo docker logs --follow zomboid-server

### Setting variables...

### Applying Pre Install Configuration...

### Pre Install Configuration applied.

### Updating Project Zomboid Server... /usr/bin/steamcmd.sh: line 38: 13 Segmentation fault (core dumped) $DEBUGGER "$STEAMEXE" "$@"

### Project Zomboid Server updated.

### Checking if this is the first run...

### This is the first run. Starting server for 60 seconds

### Starting Project Zomboid Server... timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.

### First run check complete.

### Applying Post Install Configuration... /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory

### Post Install Configuration applied.

### Starting Project Zomboid Server... timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.

sky6154 commented 1 year ago

I am also having the same problem now.

Six days ago, I made a container and is currently running. Today, same problem occurs when I try to open one more server by changing only the ports. I tried creating a server in the same way using docker-compose.

Only the ip.txt file is created in the ZomboidConfig folder.

Command - docker-compose up -d

OS - Ubuntu 20.04.3 LTS Docker - 20.10.12 arch - x86_64

---- logs ----



### Applying Pre Install Configuration...

### Pre Install Configuration applied.

### Updating Project Zomboid Server...
/usr/bin/steamcmd.sh: line 38:    14 Segmentation fault      (core dumped) $DEBUGGER "$STEAMEXE" "$@"

### Project Zomboid Server updated.

### Checking if this is the first run...

### This is the first run.
Starting server for 60 seconds

### Starting Project Zomboid Server...
timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.

### First run check complete.

### Applying Post Install Configuration...
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
/home/steam/Zomboid/Server/KKJ_ZOMBOID_2.ini not found!
sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory
sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory

### Post Install Configuration applied.

### Starting Project Zomboid Server...
timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.
RoninXX commented 1 year ago

I suspected an issue with kernel compatibility, similar to https://github.com/lloesche/valheim-server-docker/issues/401, so tried with the older kernel on the Deb 11, and also with a fresh Deb 10 install with the same results every time. Tested on the following OS/kernel: Deb 11 - 5.10.0-21-amd64 Deb 11 - 5.10.0-20-amd64 Deb 10 - 4.19.0-23-amd64

@Renegade-Master, which flavour and version of Linux do you work in to make this container? I would like to see if I get the same error from trying to do it in a VM of that. Also, could there be permission issues? I was creating the directories and running everything through sudo, but also tried taking ownership of the project-zomboid dir, then running the pull and start commands, again with the same result.

I even tried (on the debian 11 VM) pulling the 2.3.0 version with the same log output.

At this point I'd say it's down to something machine-specific, or somethign with steamcmd. Was there maybe a recent update to steamctl that's broken things (I'm not sure if the 2.3.0 version would pull the same latest steamctl version on first run)?

IHSten commented 1 year ago

Also running into this exact issue. Ubuntu 22.04 x64 VM, pre-created the required mapped folders with the correct permissions.

Renegade-Master commented 1 year ago

Hello again Renegade-Master,

I installed docker on the fresh Debian 11 VM, following the directions at https://docs.docker.com/desktop/install/debian/ and https://docs.docker.com/engine/install/debian/ If it makes any difference, I added my normal user "max" to sudoers, and did everything through sudo. In the other examples of log output I've seen from other people, there is evidence of updates taking place after "### Updating Project Zomboid Server...", but I've never seen this in any of my attempts.

I used only the default commands given in your instructions, and had a nearly identical log, except this time the segfault happened at the "### Updating Project Zomboid Server..." step: ...

Running this as root will give you more problems than you started with. It says not to do that in multiple places in the README, as well as it being a pinned issue.

I'm working on a potential fix for this in a new PR #60.

The extra "same" issues being reported by others in this thread are not necessarily related at all, and do nothing to help. Please only comment if you have actual information 🙂

RoninXX commented 1 year ago

Running this as root will give you more problems than you started with. It says not to do that in multiple places in the README, as well as it being a pinned issue.

I'm working on a potential fix for this in a new PR #60.

The extra "same" issues being reported by others in this thread are not necessarily related at all, and do nothing to help. Please only comment if you have actual information slightly_smiling_face

Ah, noob mistake, my apologies. I added my user to the docker group, and was able to follow your instructions in the readme exactly (no sudo), this time starting from a subfolder of my user's home folder (and again from /ws/project-zomboid/ but with correct permissions to do it without root) and still get the same log output (except within the home dir, the error line was "12 Segmentation fault" instead of the "13" in that line in other logs)

max@debian-pz:~/ws/zomboid-server$ docker pull renegademaster/zomboid-dedicated-server:latest latest: Pulling from renegademaster/zomboid-dedicated-server Digest: sha256:d7281f3ad1dcf44c7b07fa7d8fa8960e77e4bd1eaa933afa98e74257a3beef49 Status: Image is up to date for renegademaster/zomboid-dedicated-server:latest docker.io/renegademaster/zomboid-dedicated-server:latest max@debian-pz:~/ws/zomboid-server$ mkdir ZomboidConfig ZomboidDedicatedServer max@debian-pz:~/ws/zomboid-server$ docker run --detach --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid --publish 16261:16261/udp --publish 16262:16262/udp --name zomboid-server docker.io/renegademaster/zomboid-dedicated-server

2cf2958bcb3538fdbaa8ff987b438e351ea23d31c5f21d6d23901e478b94cee4

max@debian-pz:~/ws/zomboid-server$ docker logs --follow zomboid-server

### Setting variables...

### Applying Pre Install Configuration...

### Pre Install Configuration applied.

### Updating Project Zomboid Server... /usr/bin/steamcmd.sh: line 38: 12 Segmentation fault (core dumped) $DEBUGGER "$STEAMEXE" "$@"

### Project Zomboid Server updated.

### Checking if this is the first run...

### This is the first run. Starting server for 60 seconds

### Starting Project Zomboid Server... timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.

### First run check complete.

### Applying Post Install Configuration... /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory

### Post Install Configuration applied.

### Starting Project Zomboid Server... timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.

max@debian-pz:~/ws/zomboid-server$ cd /ws/project-zomboid/ max@debian-pz:/ws/project-zomboid$ docker rm zomboid-server

zomboid-server

max@debian-pz:/ws/project-zomboid$ mkdir ZomboidConfig max@debian-pz:/ws/project-zomboid$ mkdir ZomboidDedicatedServer max@debian-pz:/ws/project-zomboid$ docker run --detach --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid --publish 16261:16261/udp --publish 16262:16262/udp --name zomboid-server docker.io/renegademaster/zomboid-dedicated-server

eaecab19f20cd6283c01ffff4d559fd55f63b66a82f3c9cf02c4d13aab489db0

max@debian-pz:/ws/project-zomboid$ docker logs --follow zomboid-server

### Setting variables...

### Applying Pre Install Configuration...

### Pre Install Configuration applied.

### Updating Project Zomboid Server... /usr/bin/steamcmd.sh: line 38: 13 Segmentation fault (core dumped) $DEBUGGER "$STEAMEXE" "$@"

### Project Zomboid Server updated.

### Checking if this is the first run...

### This is the first run. Starting server for 60 seconds

### Starting Project Zomboid Server... timeout: failed to run command \'/home/steam/ZomboidDedicatedServer/start-server.sh\': No such file or directory

### Project Zomboid Server stopped.

### First run check complete.

### Applying Post Install Configuration... /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! /home/steam/Zomboid/Server/ZomboidServer.ini not found! sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory

### Post Install Configuration applied.

### Starting Project Zomboid Server... timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

### Project Zomboid Server stopped.

denisyakimov07 commented 1 year ago

Same error -> Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-1031-azure x86_64) pzlogs.txt

KillahB33 commented 1 year ago

Same issue here. Google seems to point to Steam being the issue here but the fact that this is still happening a few days later probably isn't the case. My stack is identical to Ronin's. Confirmed it's an issue with this image afey's image is working fine, though not as convenient as this one.

Renegade-Master commented 1 year ago

While I work on a fix, has anyone tried using an older version of this image? Steam and Zomboid will still be up to date in older images.

KillahB33 commented 1 year ago

I tried 2.3 and gave up after that. Didnt try older than that. As a side note, afeys image using linuxgsm, though i see it still uses steamcmd underneath

RoninXX commented 1 year ago

I did try pulling 2.3.0 with the same segfault and same log output.

Renegade-Master commented 1 year ago

If older versions aren't working either, it's looking more like Steam's fault.

I'll still be working on this fix though

KillahB33 commented 1 year ago

I thought so too but I would expect afeys image to also have the same issue if that was the case.

Renegade-Master commented 1 year ago

My images always download latest Steam during runtime. Most other images package them. Mine are more like a framework than a 'ready-to-go' solution.

Renegade-Master commented 1 year ago

I've kicked off a GH Action to see what it does.

Renegade-Master commented 1 year ago

It failed! 🎉

In one way this is a good thing because we know it isn't the image.

Literally nothing except time has changed between those two runs, so we at least know that the issue is a recent Steamcmd update.

YummYume commented 1 year ago

Hello. Any update on this?

I tried both on Windows with Docker Desktop and on Ubuntu but it's always the same result :(

RoninXX commented 1 year ago

Hello. Any update on this?

I tried both on Windows with Docker Desktop and on Ubuntu but it's always the same result :(

Yes, the developer gave an update just 2 days ago. They will assuredly post again once they have some news. I doubt bothering them with sad faces will speed things along.

YummYume commented 1 year ago

Sorry, I just thought I'd ask if there was any update concerning the situation since it doesn't seem related to this docker at all.

Renegade-Master commented 1 year ago

Hi,

The issue at the moment is that it appears that latest steamcmd binary has changed in some way. It could be a bug, but it could also be that its dependencies have changed. I only include the bare-mininmum runtime dependencies to save on image size.

I found a thread that mentions encountering similar issues, and that appears to come down to dependencies.

Steam doesn't make it easy to specify a particular verion that I may want to download. I can either download the latest (which is what I do), or I can use a distribution of steamcmd included in whatever package manager. Most of those versions appear to be from 2018 so I would rather use latest.

I will re-run the GH Action every now and again while I work away on my other fix [#60]. Unfortunately there is no guarantee that what I am working on there will have any impact on this.

If the below build passes, I will update here because that means that the image works again.

Build and Test Server Image

Acemond commented 1 year ago

@KillahB33 sorry but what is afey's docker image? I tried to find it but couldn't.

philippbaumm commented 1 year ago

@Acemond i think its this one: https://hub.docker.com/r/afey/zomboid

KillahB33 commented 1 year ago

Yes that is it, but as mentioned it's not as polished as this image so you will need to mount both directories and potentially modify some server files directly.

Acemond commented 1 year ago

Yeah but with this one I have the segmentation fault issue so I can’t do anything anyway. I don’t mind putting some manual work here and there, I just want something that runs in a container without having to do it from scratch myself.

KillahB33 commented 1 year ago

Same, just never know how technically capable people are so figured i would give a heads up.

denisyakimov07 commented 1 year ago

I'm still waiting when Renegade-Master to find a way to run his docker iso. But I want to play PZ😏. For now, I run a server from this iso Example of server setting. Not perfect, but better than nothing. P.S: Still can't find a way to show descriptions and images in the spawn location menu.

Renegade-Master commented 1 year ago

Thank you for the interest guys. It still surprises me that so many people use this image.

I am pretty pushed for time as I have to work on this when I am not feeling drained after my actual job, but I will try to put some more time into finding the route cause of this as soon as I can.

I still think the issue lies with Steam, but I will probably have to find some kind of workaround. This is not really acceptable.

Renegade-Master commented 1 year ago

If I get a version working that requires running as root, but does at least work, would anyone here be up for trying it out?

Also, does running the image with --user "0:0" have any effect on the existing issue?

This branch is working for me locally, although it still isn't working in GitHub Actions: Renegade-Master/zomboid-dedicated-server/tree/steam_user

I used the following command to build and run the image:

$ docker build \
        -t docker.io/renegademaster/zomboid-dedicated-server:new_test \
        -f docker/zomboid-dedicated-server.Dockerfile . \
    && docker run --rm \
        --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \
        --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \
        --publish 16261:16261/udp --publish 16262:16262/udp \
        --name zomboid-server \
        --env DEBUG="true" \
        --user 0:0 \
        docker.io/renegademaster/zomboid-dedicated-server:new_test
RoninXX commented 1 year ago

I would have no real issues with a run as root version, and will be happy to test it. I’ll also try your suggestion with —user 0:0, and report the results.

Renegade-Master commented 1 year ago

What is currently on that branch (here is the exact commit for berevity: zomboid-dedicated-server/tree/9747f961a8c08b2dc1236dd8783c15725f0036cb) is working me for locally with the command I mentioned above. I don't have to run Docker itself as sudo, but I am in the Docker group on my machine.

I managed to join the server running in a VM from my Windows host OS.

sonicd007 commented 1 year ago

@Renegade-Master I tried running your steam_user branch locally on my fedora server and I got further than the main branch as far as the seg fault goes but I am encountering file permission issues.

[developer@sonicserver dabois]$ docker logs -f zomboid-server

### Setting variables...

### Applying Pre Install Configuration...

### Pre Install Configuration applied.

### Updating Project Zomboid Server...
Redirecting stderr to '/root/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Downloading update (0 of 57477 KB)...
[  0%] Downloading update (0 of 57477 KB)...
[  0%] Downloading update (0 of 57477 KB)...
[  0%] Downloading update (3078 of 57477 KB)...
[  5%] Downloading update (6467 of 57477 KB)...
[ 11%] Downloading update (8946 of 57477 KB)...
[ 15%] Downloading update (11932 of 57477 KB)...
[ 20%] Downloading update (14404 of 57477 KB)...
[ 25%] Downloading update (16885 of 57477 KB)...
[ 29%] Downloading update (19368 of 57477 KB)...
[ 33%] Downloading update (21850 of 57477 KB)...
[ 38%] Downloading update (24308 of 57477 KB)...
[ 42%] Downloading update (26785 of 57477 KB)...
[ 46%] Downloading update (29249 of 57477 KB)...
[ 50%] Downloading update (31726 of 57477 KB)...
[ 55%] Downloading update (34192 of 57477 KB)...
[ 59%] Downloading update (36675 of 57477 KB)...
[ 63%] Downloading update (39154 of 57477 KB)...
[ 68%] Downloading update (41182 of 57477 KB)...
[ 71%] Downloading update (42419 of 57477 KB)...
[ 73%] Downloading update (43636 of 57477 KB)...
[ 75%] Downloading update (44987 of 57477 KB)...
[ 78%] Downloading update (46232 of 57477 KB)...
[ 80%] Downloading update (47471 of 57477 KB)...
[ 82%] Downloading update (48687 of 57477 KB)...
[ 84%] Downloading update (50044 of 57477 KB)...
[ 87%] Downloading update (51260 of 57477 KB)...
[ 89%] Downloading update (52481 of 57477 KB)...
[ 91%] Downloading update (53691 of 57477 KB)...
[ 93%] Downloading update (54919 of 57477 KB)...
[ 95%] Downloading update (56242 of 57477 KB)...
[ 97%] Downloading update (57464 of 57477 KB)...
[ 99%] Downloading update (57477 of 57477 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/root/Steam/logs/stderr.txt'
/tmp/dumps insufficient permissions - delete and recreate
[  0%] Checking for available updates...
[----] Verifying installation...
[  0%] Downloading update...
[  0%] Checking for available updates...
[----] Download complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/root/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1676336512
-- type 'quit' to exit --
Loading Steam API...OK
@ShutdownOnFailedCommand 0
"@ShutdownOnFailedCommand" = "0"
@NoPromptForPassword 1
"@NoPromptForPassword" = "1"
force_install_dir /home/steam/ZomboidDedicatedServer

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
app_update 380870 -beta public validate
ERROR! Failed to install app '380870' (Missing file permissions)
quit

Error encountered: [Could not install/update game server using install file [/home/steam/install_server.scmd]]

Start DEBUG info

User: [root]
Groups: [root]
User ID: [0]
Group ID: [0]

Can SUDO?: [NO]

CPU Info:
[
Architecture:                    x86_64
]

Environment variables:
[
ADMIN_PASSWORD=foobar
ADMIN_USERNAME=sonicd007
DEBUG=true
HOME=/root
HOSTNAME=e77594d54fbf
MOD_NAMES=MinimalDisplayBars;TheStar;RainWash;ExtraMapSymbols;ExtraMapSymbolsUI;P4HasBeenRead;MapLegendUI;MiniHealthPanel;Skateboard;GunSuicide;VISIBLE_BACKPACK_BACKGROUND;TrueActionsDancing;CombatText;BetterSortCC;
MOD_WORKSHOP_IDS=2313387159;2619072426;2004998206;2657661246;2701170568;2544353492;2710167561;2866258937;2728300240;2402057349;2808679062;2648779556;2286124931;
PATH=/home/steam/.local/steamcmd:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/home/steam
RCON_PASSWORD=foobar
SERVER_NAME=SonicD007server
SERVER_PASSWORD=foo
SHLVL=1
STEAMDIR=/home/steam/.local/steamcmd
TZ=EST
USER=steam
_=/usr/bin/env
]

Directory listing:
[
total 32K
-rw-r--r--. 1 steam steam  220 Oct  7 21:03 .bash_logout
-rw-r--r--. 1 steam steam 3.7K Oct  7 21:03 .bashrc
drwxr-xr-x. 1 root  root    22 Feb 18 20:28 .local/
-rw-r--r--. 1 steam steam  807 Oct  7 21:03 .profile
drwxr-xr-x. 3 root  root    19 Feb 18 20:28 .steam/
drwxr-xr-x. 2 root  root    20 Feb 18 20:45 Zomboid/
drwxr-xr-x. 2 root  root    27 Feb 18 20:45 ZomboidDedicatedServer/
-rwxr-xr-x. 1 steam steam 3.3K Feb 18 20:28 edit_server_config.py*
-rw-r--r--. 1 steam steam  655 Feb 18 20:45 install_server.scmd
-rwxr-xr-x. 1 steam steam  11K Feb 18 20:28 run_server.sh*
]

Directory listing with IDs:
[
total 32K
-rw-r--r--. 1 1000 1000  220 Oct  7 21:03 .bash_logout
-rw-r--r--. 1 1000 1000 3.7K Oct  7 21:03 .bashrc
drwxr-xr-x. 1    0    0   22 Feb 18 20:28 .local/
-rw-r--r--. 1 1000 1000  807 Oct  7 21:03 .profile
drwxr-xr-x. 3    0    0   19 Feb 18 20:28 .steam/
drwxr-xr-x. 2    0    0   20 Feb 18 20:45 Zomboid/
drwxr-xr-x. 2    0    0   27 Feb 18 20:45 ZomboidDedicatedServer/
-rwxr-xr-x. 1 1000 1000 3.3K Feb 18 20:28 edit_server_config.py*
-rw-r--r--. 1 1000 1000  655 Feb 18 20:45 install_server.scmd
-rwxr-xr-x. 1 1000 1000  11K Feb 18 20:28 run_server.sh*
]

ZomboidConfig listing:
[
total 4.0K
-rw-r--r--. 1 root root 11 Feb 14 04:16 ip.txt
]

ZomboidDedicatedServer listing:
[
total 8.0K
-rw-r--r--. 1 root root 7.8K Feb 14 04:31 run_server.sh
]

End DEBUG info

Exiting program...

I'll try troubleshooting on my end but figured I'd send you the logs in the meantime.

EDIT: This is how I ran the server FYI

#!/bin/bash
#
mkdir ZomboidConfig ZomboidDedicatedServer

docker run --detach \
    --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \
    --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \
    --publish 16261:16261/udp --publish 16262:16262/udp \
    --name zomboid-server \
    --restart=no \
    --env ADMIN_PASSWORD=foobar\
    --env ADMIN_USERNAME=sonicd007 \
    --env MOD_NAMES="MinimalDisplayBars;TheStar;RainWash;ExtraMapSymbols;ExtraMapSymbolsUI;P4HasBeenRead;MapLegendUI;MiniHealthPanel;Skateboard;GunSuicide;VISIBLE_BACKPACK_BACKGROUND;TrueActionsDancing;CombatText;BetterSortCC;" \
    --env MOD_WORKSHOP_IDS="2313387159;2619072426;2004998206;2657661246;2701170568;2544353492;2710167561;2866258937;2728300240;2402057349;2808679062;2648779556;2286124931;" \
    --env RCON_PASSWORD=foobar \
    --env SERVER_NAME=SonicD007server \
    --env SERVER_PASSWORD=foo \
    --env TZ=EST \
    --env DEBUG="true" \
    --user 0:0 \
    docker.io/renegademaster/zomboid-dedicated-server:new_test
Renegade-Master commented 1 year ago

And just out of interest, what does the following do:

# Rebuild the image with new source

sudo rm -rf ZomboidConfig ZomboidDedicatedServer

sudo mkdir ZomboidConfig ZomboidDedicatedServer

sudo docker run --detach \
    --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \
    --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \
    --publish 16261:16261/udp --publish 16262:16262/udp \
    --name zomboid-server \
    --restart=no \
    --env ADMIN_PASSWORD=foobar\
    --env ADMIN_USERNAME=sonicd007 \
    --env MOD_NAMES="MinimalDisplayBars;TheStar;RainWash;ExtraMapSymbols;ExtraMapSymbolsUI;P4HasBeenRead;MapLegendUI;MiniHealthPanel;Skateboard;GunSuicide;VISIBLE_BACKPACK_BACKGROUND;TrueActionsDancing;CombatText;BetterSortCC;" \
    --env MOD_WORKSHOP_IDS="2313387159;2619072426;2004998206;2657661246;2701170568;2544353492;2710167561;2866258937;2728300240;2402057349;2808679062;2648779556;2286124931;" \
    --env RCON_PASSWORD=foobar \
    --env SERVER_NAME=SonicD007server \
    --env SERVER_PASSWORD=foo \
    --env TZ=EST \
    --env DEBUG="true" \
    --user 0:0 \
    docker.io/renegademaster/zomboid-dedicated-server:new_test

Also, make sure to update your local verison of the branch. I have been continuing to work on it.

git add .
git stash 
git fetch -a 
git pull origin steam_user
git stash pop

Or just download the package again. I'm not sure how you interact with the repo.

Renegade-Master commented 1 year ago

The error you are getting is the same one that the GitHub Action runs are getting at the moment.

sonicd007 commented 1 year ago

I pulled the latest from steam_user, removed the image and container, rebuilt, created a test directory on the host of docker, created executed sudo mkdir ZomboidConfig ZomboidDedicatedServer and then ran the docker run command you gave and the server appears to be starting now. Attached are the logs.


[developer@sonicserver test]$ docker logs -f zomboid-server

### Setting variables...

### Applying Pre Install Configuration...

### Pre Install Configuration applied.

### Updating Project Zomboid Server...
Redirecting stderr to '/root/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Downloading update (0 of 57477 KB)...
[  0%] Downloading update (0 of 57477 KB)...
[  0%] Downloading update (0 of 57477 KB)...
[  0%] Downloading update (3109 of 57477 KB)...
[  5%] Downloading update (6475 of 57477 KB)...
[ 11%] Downloading update (9432 of 57477 KB)...
[ 16%] Downloading update (11910 of 57477 KB)...
[ 20%] Downloading update (14378 of 57477 KB)...
[ 25%] Downloading update (16838 of 57477 KB)...
[ 29%] Downloading update (19315 of 57477 KB)...
[ 33%] Downloading update (21786 of 57477 KB)...
[ 37%] Downloading update (24253 of 57477 KB)...
[ 42%] Downloading update (26723 of 57477 KB)...
[ 46%] Downloading update (29188 of 57477 KB)...
[ 50%] Downloading update (31658 of 57477 KB)...
[ 55%] Downloading update (34136 of 57477 KB)...
[ 59%] Downloading update (36599 of 57477 KB)...
[ 63%] Downloading update (39057 of 57477 KB)...
[ 67%] Downloading update (41101 of 57477 KB)...
[ 71%] Downloading update (42318 of 57477 KB)...
[ 73%] Downloading update (43674 of 57477 KB)...
[ 75%] Downloading update (44897 of 57477 KB)...
[ 78%] Downloading update (46119 of 57477 KB)...
[ 80%] Downloading update (47346 of 57477 KB)...
[ 82%] Downloading update (48692 of 57477 KB)...
[ 84%] Downloading update (49908 of 57477 KB)...
[ 86%] Downloading update (51130 of 57477 KB)...
[ 88%] Downloading update (52352 of 57477 KB)...
[ 91%] Downloading update (53575 of 57477 KB)...
[ 93%] Downloading update (54863 of 57477 KB)...
[ 95%] Downloading update (56096 of 57477 KB)...
[ 97%] Downloading update (57318 of 57477 KB)...
[ 99%] Downloading update (57477 of 57477 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/root/Steam/logs/stderr.txt'
/tmp/dumps insufficient permissions - delete and recreate
[  0%] Checking for available updates...
[----] Verifying installation...
[  0%] Downloading update...
[  0%] Checking for available updates...
[----] Download complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/root/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1676336512
-- type 'quit' to exit --
Loading Steam API...OK
@ShutdownOnFailedCommand 0
"@ShutdownOnFailedCommand" = "0"
@NoPromptForPassword 1
"@NoPromptForPassword" = "1"
force_install_dir /home/steam/ZomboidDedicatedServer

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
app_update 380870 -beta public validate
 Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
 Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
 Update state (0x5) verifying install, progress: 45.42 (2405419881 / 5296208556)
 Update state (0x11) preallocating, progress: 8.74 (462917308 / 5296208556)
 Update state (0x61) downloading, progress: 0.00 (0 / 5296208556)
 Update state (0x61) downloading, progress: 1.54 (81314926 / 5296208556)
 Update state (0x61) downloading, progress: 1.88 (99629372 / 5296208556)
 Update state (0x61) downloading, progress: 6.19 (328077810 / 5296208556)
 Update state (0x61) downloading, progress: 9.91 (525002559 / 5296208556)
 Update state (0x61) downloading, progress: 11.48 (608226798 / 5296208556)
 Update state (0x61) downloading, progress: 13.84 (733117618 / 5296208556)
 Update state (0x61) downloading, progress: 19.12 (1012625876 / 5296208556)
 Update state (0x61) downloading, progress: 29.50 (1562126104 / 5296208556)
 Update state (0x61) downloading, progress: 38.80 (2054826534 / 5296208556)
 Update state (0x61) downloading, progress: 50.42 (2670288133 / 5296208556)
 Update state (0x61) downloading, progress: 57.67 (3054512790 / 5296208556)
 Update state (0x61) downloading, progress: 70.81 (3750369392 / 5296208556)
 Update state (0x61) downloading, progress: 72.81 (3856250453 / 5296208556)
 Update state (0x61) downloading, progress: 73.71 (3903644849 / 5296208556)
 Update state (0x61) downloading, progress: 88.69 (4697246315 / 5296208556)
 Update state (0x61) downloading, progress: 97.59 (5168502800 / 5296208556)
 Update state (0x81) verifying update, progress: 3.28 (173560420 / 5296208556)
 Update state (0x81) verifying update, progress: 17.85 (945528943 / 5296208556)
 Update state (0x81) verifying update, progress: 32.34 (1712721696 / 5296208556)
 Update state (0x81) verifying update, progress: 47.06 (2492622277 / 5296208556)
 Update state (0x81) verifying update, progress: 61.54 (3259425227 / 5296208556)
 Update state (0x81) verifying update, progress: 76.30 (4040763367 / 5296208556)
 Update state (0x81) verifying update, progress: 90.95 (4816726446 / 5296208556)
 Update state (0x101) committing, progress: 14.68 (777576673 / 5296208556)
 Update state (0x101) committing, progress: 28.77 (1523677219 / 5296208556)
Success! App '380870' fully installed.
quit

### Project Zomboid Server updated.

### Checking if this is the first run...

### This is the first run.
Starting server for 60 seconds

### Starting Project Zomboid Server...
64-bit java detected
ERROR: ld.so: object 'libjsig.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libjsig.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
pzexe: looking for PZXInitThreads.so
pzexe: libPZXInitThreads64.so was not found. This is ok for a server, but multi-core rendering won't work on a client without it.
pzexe: about to run java hack to locate libjvm.so...
pzexe: executing "java -classpath pzexe.jar -Djava.library.path=. zombie.pzexe"
pzexe.java: loading shared library "pzexe_jni64"
JVM=/home/steam/ZomboidDedicatedServer/jre64/lib/server/libjvm.so
pxexe: /proc/self/exe=/home/steam/ZomboidDedicatedServer/ProjectZomboid64
pzexe config file: /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json
pzexe: mainClass: zombie/network/GameServer
pzexe: classpath: -Djava.class.path=java/.:java/istack-commons-runtime.jar:java/jassimp.jar:java/javacord-2.0.17-shaded.jar:java/javax.activation-api.jar:java/jaxb-api.jar:java/jaxb-runtime.jar:java/lwjgl.jar:java/lwjgl-natives-linux.jar:java/lwjgl-glfw.jar:java/lwjgl-glfw-natives-linux.jar:java/lwjgl-jemalloc.jar:java/lwjgl-jemalloc-natives-linux.jar:java/lwjgl-opengl.jar:java/lwjgl-opengl-natives-linux.jar:java/lwjgl_util.jar:java/sqlite-jdbc-3.27.2.1.jar:java/trove-3.0.3.jar:java/uncommons-maths-1.2.3.jar:java/commons-compress-1.18.jar
pzexe: vmArg (json) 1: -Djava.awt.headless=true
pzexe: vmArg (json) 2: -Xmx8g
pzexe: vmArg (json) 3: -Dzomboid.steam=1
pzexe: vmArg (json) 4: -Dzomboid.znetlog=1
pzexe: vmArg (json) 5: -Djava.library.path=linux64/:natives/
pzexe: vmArg (json) 6: -Djava.security.egd=file:/dev/urandom
pzexe: vmArg (json) 7: -XX:+UseZGC
pzexe: vmArg (json) 8: -XX:-OmitStackTraceInFastThrow
pzexe: using jvm "/home/steam/ZomboidDedicatedServer/jre64/lib/server/libjvm.so"
pzexe: arg: -cachedir=/home/steam/Zomboid
pzexe: arg: -adminusername
pzexe: arg: sonicd007
pzexe: arg: -adminpassword
pzexe: arg: foobar
pzexe: arg: -ip
pzexe: arg: 172.17.0.2
pzexe: arg: -port
pzexe: arg: 16261
pzexe: arg: -servername
pzexe: arg: SonicD007server
pzexe: arg: -steamvac
pzexe: arg: true
pzexe: arg:
DEBUG: General     , 1676757150931> 7,139,068> LoggerManager.init                  > Initializing...
LOG  : General     , 1676757150958> 7,139,090> cachedir set to "/home/steam/Zomboid"
LOG  : General     , 1676757151028> 7,139,160> version=41.78.16 demo=false
LOG  : General     , 1676757151028> 7,139,160> revision= date= time=
LOG  : General     , 1676757151030> 7,139,162> unknown option ""
LOG  : General     , 1676757151030> 7,139,162> server name is "SonicD007server"
LOG  : General     , 1676757151031> 7,139,163> map_t.bin does not exist, cannot determine the server's WorldVersion.  This is ok the first time a server is started.
LOG  : General     , 1676757151032> 7,139,164> Loading networking libraries...
LOG  : General     , 1676757151032> 7,139,164> Loading steam_api...
LOG  : General     , 1676757151033> 7,139,164> Loading RakNet64...
LOG  : General     , 1676757151033> 7,139,165> Loading ZNetJNI64...
LOG  : Network     , 1676757151035> 7,139,167> [18-02-23 16:52:31.034] > ZNet: SetLogLevel 2
LOG  : Network     , 1676757151036> 7,139,168> [18-02-23 16:52:31.036] > ZNet: SteamAPI initialised successfully
LOG  : General     , 1676757151036> 7,139,168> SteamUtils initialised successfully
LOG  : General     , 1676757151521> 7,139,653> translator: language is EN
LOG  : General     , 1676757151635> 7,139,767> creating server spawnregions file "/home/steam/Zomboid/Server/SonicD007server_spawnregions.lua"
LOG  : General     , 1676757151637> 7,139,769> writing /home/steam/Zomboid/Server/SonicD007server.ini
LOG  : Network     , 1676757151647> 7,139,779> [18-02-23 16:52:31.647] > ZNet: SZombienet -> SZombienet: Init
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
CAppInfoCacheReadFromDiskThread took 1 milliseconds to initialize
Setting breakpad minidump AppID = 108600
LOG  : Network     , 1676757151689> 7,139,821> [18-02-23 16:52:31.689] > ZNet: SteamGameServer seems to be initialized
LOG  : Network     , 1676757151690> 7,139,822> [18-02-23 16:52:31.690] > ZNet: SZombienet -> SSteamSDK: SetMaxPlayerCount
LOG  : General     , 1676757151692> 7,139,823> Waiting for response from Steam servers
LOG  : Network     , 1676757152393> 7,140,525> [18-02-23 16:52:32.393] > ZNet: SSteamSDK -> SZombienet: OnSteamServersConnected
LOG  : Network     , 1676757152394> 7,140,526> [18-02-23 16:52:32.394] > ZNet: OnSteamServersConnected
LOG  : Network     , 1676757152394> 7,140,526> [18-02-23 16:52:32.394] > ZNet: SZombienet -> SSteamSDK: SetMaxPlayerCount
LOG  : Network     , 1676757152395> 7,140,526> [18-02-23 16:52:32.395] > ZNet: Public IP: 108.53.121.81
LOG  : General     , 1676757152396> 7,140,528> Start making backup to: /home/steam/Zomboid/backups/startup
LOG  : General     , 1676757152466> 7,140,598> compressionElapsed=56ms, mergingElapsed=11ms
LOG  : General     , 1676757152469> 7,140,601> Backup made in 71 ms
LOG  : General     , 1676757152470> 7,140,602> Start making backup to: /home/steam/Zomboid/backups/version
LOG  : General     , 1676757152475> 7,140,607> compressionElapsed=3ms, mergingElapsed=1ms
LOG  : General     , 1676757152475> 7,140,607> Backup made in 5 ms
LOG  : General     , 1676757152476> 7,140,608> user database "/home/steam/Zomboid/db/SonicD007server.db"
LOG  : General     , 1676757152927> 7,141,059> Administrator account 'sonicd007' created.
LOG  : General     , 1676757153206> 7,141,338> admin password changed via -adminpassword option
LOG  : General     , 1676757153207> 7,141,338> Router detection/configuration starting.
LOG  : General     , 1676757153207> 7,141,339> If the server hangs here, set UPnP=false.
LOG  : Network     , 1676757165219> 7,153,351> No UPnP-enabled Internet gateway found, you must configure port forwarding on your gateway manually in order to make your server accessible from the Internet.
LOG  : Network     , 1676757165220> 7,153,351> Initialising Server Systems...
LOG  : Lua         , 1676757165764> 7,153,896> Loading: media/lua/shared/Sandbox/Apocalypse.lua
LOG  : General     , 1676757166850> 7,154,982> scriptChecksum: 65f5e46ef1be089d5adca89001729e9c
WARN : Recipe      , 1676757166860> 7,154,992> RecipeManager.resolveItemModuleDotType> WARNING: module "Base" may have forgot to import module Base
WARN : Script      , 1676757166866> 7,154,998> ModelScript.check> no such model "null" for Base.BareHands
WARN : Script      , 1676757166867> 7,154,999> ModelScript.check> no such model "???.DisposableRazor" for Base.Razor
WARN : Script      , 1676757166875> 7,155,006> ModelScript.check> no such model "Chainsaw" for Base.Chainsaw
LOG  : General     , 1676757167324> 7,155,456> LOADING ASSETS: START
LOG  : General     , 1676757178209> 7,166,341> LOADING ASSETS: FINISH
LOG  : Lua         , 1676757178225> 7,166,357> Loading: media/lua/shared/a_requires.lua
LOG  : Lua         , 1676757178226> 7,166,358> Loading: media/lua/shared/defines.lua
LOG  : Lua         , 1676757178227> 7,166,358> Loading: media/lua/shared/Definitions/AttachedWeaponDefinitions.lua
LOG  : Lua         , 1676757178231> 7,166,363> Loading: media/lua/shared/Definitions/ClothingRecipesDefinitions.lua
LOG  : Lua         , 1676757178232> 7,166,363> Loading: media/lua/shared/Definitions/ClothingSelectionDefinitions.lua
LOG  : Lua         , 1676757178235> 7,166,367> Loading: media/lua/shared/Definitions/ContainerButtonIcons.lua
LOG  : Lua         , 1676757178251> 7,166,383> Loading: media/lua/shared/Definitions/DamageModelDefinitions.lua
<Skipped output for brevity of comment>
LOG  : General     , 1676757180329> 7,168,460> Saving Recorded Media:/home/steam/Zomboid/Saves/Multiplayer/SonicD007server/recorded_media.bin
LOG  : General     , 1676757180526> 7,168,658> scriptmanager = zombie.radio.scripting.RadioScriptManager@eed890d, isNewGame = true
LOG  : General     , 1676757180527> 7,168,658> name = Automated Emergency Broadcast System, freq = 97200, cat = Emergency, uuid = EMRG-711984
LOG  : General     , 1676757180552> 7,168,684> WorldDictionary: Checking dictionary...
LOG  : General     , 1676757180875> 7,169,007> IsoMetaGrid.Create: finished loading in 1.727 seconds
LOG  : General     , 1676757180881> 7,169,013> Calculate weather front strength = 0.4506833
LOG  : General     , 1676757180892> 7,169,024> Calculate weather front strength = 0.41471305
LOG  : General     , 1676757180897> 7,169,029> Calculate weather front strength = 0.590284
LOG  : General     , 1676757180900> 7,169,031> Calculate weather front strength = 0.21946678
LOG  : General     , 1676757180902> 7,169,033> Calculate weather front strength = 0.5513817
LOG  : Lua         , 1676757180906> 7,169,037> Loading: media/maps/Muldraugh, KY/objects.lua
LOG  : General     , 1676757181101> 7,169,233> ERROR: Mannequin zone missing properties in media/maps/Muldraugh, KY/objects.lua at 13583,1299,0
LOG  : General     , 1676757182086> 7,170,218> Max #ZONES on one chunk is 11
LOG  : Network     , 1676757182294> 7,170,426> Initialising RakNet...
LOG  : Network     , 1676757182294> 7,170,426> [18-02-23 16:53:02.294] > ZNet: [-> CZombienet: RakNetPeerInterface_Init
LOG  : Network     , 1676757182295> 7,170,427> [18-02-23 16:53:02.295] > ZNet: [-> CZombienet: RakNetPeerInterface_SetMaximumIncomingConnections
LOG  : Network     , 1676757182295> 7,170,427> [18-02-23 16:53:02.295] > ZNet: [-> CZombienet: RakNetPeerInterface_SetServerIP
LOG  : Network     , 1676757182295> 7,170,427> [18-02-23 16:53:02.295] > ZNet: [-> CZombienet: RakNetPeerInterface_SetServerPort
LOG  : Network     , 1676757182295> 7,170,427> [18-02-23 16:53:02.295] > ZNet: [-> CZombienet: RakNetPeerInterface_SetIncomingPassword
LOG  : Network     , 1676757182295> 7,170,427> [18-02-23 16:53:02.295] > ZNet: [-> CZombienet: RakNetPeerInterface_SetOccasionalPing
LOG  : Network     , 1676757182296> 7,170,427> [18-02-23 16:53:02.296] > ZNet: [-> CZombienet: RakNetPeerInterface_Startup
LOG  : Network     , 1676757182296> 7,170,428> [18-02-23 16:53:02.296] > ZNet: Startup version 41.78.16
LOG  : Network     , 1676757182296> 7,170,428> [18-02-23 16:53:02.296] > ZNet: Zomboid Steam Server started, ports 16262 and 16261 must be open on the router
LOG  : Network     , 1676757182306> 7,170,438> [18-02-23 16:53:02.306] > ZNet: SRakNet -> SZombienet: OnRakPeerStartup
LOG  : Network     , 1676757182307> 7,170,439> [18-02-23 16:53:02.307] > ZNet: OnRakPeerStartup
LOG  : Network     , 1676757182317> 7,170,448> [18-02-23 16:53:02.317] > ZNet: GetRakPeerInterface GetSockets receives 2 sockets
LOG  : Network     , 1676757182317> 7,170,449> [18-02-23 16:53:02.317] > ZNet: SZombienet -> SSteamSDK: InitRelayNetworkAccess
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
LOG  : Network     , 1676757182318> 7,170,450> [18-02-23 16:53:02.318] > ZNet: SZombienet -> SRakNet: SetSocketLayerOverride this
LOG  : Network     , 1676757182318> 7,170,450> RakNet.Startup() return code: 0 (0 means success)
LOG  : Network     , 1676757182319> 7,170,451> *** SERVER STARTED ****
LOG  : Network     , 1676757182319> 7,170,451> *** Steam is enabled
LOG  : Network     , 1676757182319> 7,170,451> Server is listening on port 16261 (for Steam connection) and port 16262 (for UDPRakNet connection)
LOG  : Network     , 1676757182320> 7,170,451> Clients should use 16261 port for connections
LOG  : General     , 1676757182320> 7,170,452> LuaNet: Initializing...
LOG  : General     , 1676757182320> 7,170,452> LuaNet: Registering server listener...
LOG  : General     , 1676757182320> 7,170,452> LuaNet: Initialization [DONE], triggering events for 'LuaNet.onInitAdd'.
LOG  : Network     , 1676757182320> 7,170,452> DISCORD: token not configured
LOG  : Network     , 1676757182320> 7,170,452> *** DISCORD DISABLED ****
LOG  : General     , 1676757182321> 7,170,452> ##########
Server Steam ID 90169546989918223
##########
LOG  : Multiplayer , 1676757182333> 7,170,465> [MPStatistics] mem usage notification threshold=8,160,437,760
LOG  : Network     , 1676757183234> 7,171,366> [18-02-23 16:53:03.234] > ZNet: SSteamSDK -> SZombienet: OnPolicyResponse
LOG  : Network     , 1676757183235> 7,171,366> [18-02-23 16:53:03.235] > ZNet: OnPolicyResponse
LOG  : Network     , 1676757183235> 7,171,367> [18-02-23 16:53:03.235] > ZNet: SZombienet -> SSteamSDK: BSecure
LOG  : Network     , 1676757183235> 7,171,367> [18-02-23 16:53:03.235] > ZNet: Zomboid Server is VAC Secure
LOG  : General     , 1676757183346> 7,171,478> Unknown command process-status@eof

Seems like the process terminated within the container as I don't see the container running via docker ps

Renegade-Master commented 1 year ago

I noticed that it did that once or twice for me where it just exited at the end. Just start it up again, and it should be fine.

So, at least the image can be made to work again. I might release what we have here over the weekend. I don't like that it has to be run this way at the moment, but at least it is working.

sonicd007 commented 1 year ago

I've tried restarting the container several times but I haven't had a fully successful run. I keep getting Unknown command process-status@eof

Renegade-Master commented 1 year ago

Try

docker rm zomboid-server

and then try again, make sure to use sudo

sonicd007 commented 1 year ago

So I removed the container via docker rm zomboid-server Then I recreated the container using

sudo docker run --detach \
    --mount type=bind,source="$(pwd)/ZomboidDedicatedServer",target=/home/steam/ZomboidDedicatedServer \
    --mount type=bind,source="$(pwd)/ZomboidConfig",target=/home/steam/Zomboid \
    --publish 16261:16261/udp --publish 16262:16262/udp \
    --name zomboid-server \
    --restart=no \
    --env ADMIN_PASSWORD=foobar \
    --env ADMIN_USERNAME=sonicd007 \
    --env MOD_NAMES="MinimalDisplayBars;TheStar;RainWash;ExtraMapSymbols;ExtraMapSymbolsUI;P4HasBeenRead;MapLegendUI;MiniHealthPanel;Skateboard;GunSuicide;VISIBLE_BACKPACK_BACKGROUND;TrueActionsDancing;CombatText;BetterSortCC;" \
    --env MOD_WORKSHOP_IDS="2313387159;2619072426;2004998206;2657661246;2701170568;2544353492;2710167561;2866258937;2728300240;2402057349;2808679062;2648779556;2286124931;" \
    --env RCON_PASSWORD=zombiesate100apples \
    --env SERVER_NAME=SonicD007server \
    --env SERVER_PASSWORD=foobar \
    --env TZ=EST \
    --env DEBUG="true" \
    --user 0:0 \
    docker.io/renegademaster/zomboid-dedicated-server:new_test

And I'm still getting the unknown command process-status@eof

On the bright side, this seems to be the server process itself that's throwing the error. Maybe there's an argument being sent to the pz server binary that's causing this issue? process-status@eof seems to be what it's complaining about. Could process-status be some command the pz server is expecting and @eof is somehow getting appended to it? Sometimes files are creating using the cat command with the file termination descriptor being @eof i.e. https://stackoverflow.com/questions/22697688/how-to-cat-eof-a-file-containing-code

Renegade-Master commented 1 year ago

And it definitely isn't running in this state? The @eof stuff is fairly normal for PZ.

sonicd007 commented 1 year ago

Nevermind, it's running now. Not sure what fixed it as it wasn't showing in docker ps but I left my machine running and there was output from the container logs.

LOG  : Multiplayer , 1676762378821> 12,366,953> [MPStatistics] mem usage notification threshold=4,080,218,880
LOG  : General     , 1676762378825> 12,366,957> RCON: listening on port 27015
LOG  : General     , 1676762379807> 12,367,939> Unknown command process-status@eof
LOG  : General     , 1676763278572> 13,266,704> SaveAll took 80.265894 ms
LOG  : General     , 1676763278574> 13,266,706> reanimate: saved 0 zombies
LOG  : General     , 1676763278582> 13,266,714> Saving GlobalModData
LOG  : General     , 1676763278590> 13,266,722> Saving finish
LOG  : General     , 1676763278590> 13,266,722> Saving took 98.32668 ms
LOG  : General     , 1676764178663> 14,166,795> SaveAll took 71.592133 ms
LOG  : General     , 1676764178664> 14,166,796> reanimate: saved 0 zombies
LOG  : General     , 1676764178666> 14,166,798> Saving GlobalModData
LOG  : General     , 1676764178678> 14,166,809> Saving finish
LOG  : General     , 1676764178678> 14,166,810> Saving took 86.643639 ms
LOG  : General     , 1676765078749> 15,066,881> SaveAll took 59.392937 ms
LOG  : General     , 1676765078750> 15,066,882> reanimate: saved 0 zombies
LOG  : General     , 1676765078753> 15,066,884> Saving GlobalModData
LOG  : General     , 1676765078766> 15,066,898> Saving finish
LOG  : General     , 1676765078766> 15,066,898> Saving took 76.60527 ms

Looks like it's up and running now

Renegade-Master commented 1 year ago

Well, this is good, but also you shouldn't have to run it like that.

raykrueger commented 1 year ago

Just a note, thanks to the clue mentioned in #64, If you update the base image from steamcmd-minimal:1.1.2 to steamcmd-minimal:2.0.0-root it will work. Using steamcmd-minimal:2.0.0 will not work as root is required in the current zomboid-dedicated-server image.

-ARG BASE_IMAGE="docker.io/renegademaster/steamcmd-minimal:1.1.2"
+ARG BASE_IMAGE="renegademaster/steamcmd-minimal:2.0.0-root"
super-cooper commented 1 year ago

Hey, I'm still encountering this issue when running steamcmd.sh on a new server. I'm not sure what causes it, but I'm really hoping there's a solution to this besides running the server as root. This is something I am very adamant about not doing.

super-cooper commented 1 year ago

Hey, I'm still encountering this issue when running steamcmd.sh on a new server. I'm not sure what causes it, but I'm really hoping there's a solution to this besides running the server as root. This is something I am very adamant about not doing.

I've submitted a pull request which provides a basic solution to this problem https://github.com/Renegade-Master/zomboid-dedicated-server/pull/71

LDiaz-ICT-A commented 1 year ago

@super-cooper you need to do the changes on docker file as my indication (as @raykrueger say). just first do git pull of Renegade-Master "zomboid-dedicated-server" (https://github.com/Renegade-Master/zomboid-dedicated-server). Or you can create your own docker-compose.yaml/docker-file (with "renegademaster/steamcmd-minimal:2.0.0-root" and then copy de "src" folder with contained files (edit_server_config.py, install_server.scmd, run_server.sh -> https://github.com/Renegade-Master/zomboid-dedicated-server/tree/main/src) inside your root docker-compose project.