Update Failure with Project Zomboid - SteamCMD seems unable to connect on initial install/startup

System Information

Field Value
Operating System Linux - Debian GNU/Linux 13 on x86_64
Product AMP ‘Proteus’ v2.8.0.4 (Mainline)
Virtualization Docker
Application Project Zomboid
Module GenericModule
Running in Container Yes
Current State Failed

Problem Description

Issue

I get “steamcmd needs to be online” error when attempting to run PZ server. This is after initial setup. Instance manager has been updated.

Redirecting stderr to '/home/amp/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[  0%] Checking for available update...
[----] Verifying installation...
[  0%] Downloading Update...
[  0%] Checking for available update...

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

threadtools.cpp (3294) : Assertion Failed: Illegal termination of worker thread 'Thread(0x0x629c7380/0x0xea8c0b'

Reproduction Steps

  • Add Project Zomboid container
  • Start container
  • Error appears

Has this resolved for you? Steamcmd occationally has connection issues.

It has not, unfortunately. I have verified network access from the host and the container itself with, google.com resolves and responds from both ipv6 and ipv4, curl and ping.

This isn’t one I’ve hit and can’t duplicate. Might try a couple things:

You might try disabling IPv6. Last I knew Steamcmd didn’t support it. This is only my guess though.

Also found a post on Steam:

On Linux, check where the hostname resolves:

nslookup client-download.steampowered.com

If it returns an unexpected internal or unrelated IP address, check your DHCP DNS search domain and any wildcard DNS records. Removing that incorrect fallback fixed the issue for me.

There was also a similar post here: [SOLVED] Steam needs to be online to update. Plz confirm your network / Newbie Corner / Arch Linux Forums

As a test before you do any of it, you might just install a totally new instance to see if it duplicates the same problem and that there wasn’t some type of install issue.

I appreciate you digging into this!

nslookup client-download.steampowered.com yields nxdomain, but store.steampowered.com resolves. forcing ipv4 does not change the behavior, nor does deleting and recreating.

I do have my expected server in /etc/resolv.conf, which seemed to have been root cause at the link you shared, and it is returning records as I would expect.

Very much scratching my head here. I did find another game server that uses steamcmd, black mesa, and it fails with the same issue. I assume forums aren’t blowing up with duplicates of this issue, so I do feel that it’s an issue with my configuration…

Popped open the stderr.txt:

cat /home/amp/Steam/logs/stderr.txt

crash_20260905035526_5.dmp[101]: Uploading dump (out-of-process)
/tmp/dumps/crash_20260905035526_5.dmp
Assert( Assertion Failed: Illegal termination of worker thread 'Thread(0x0x61e2f380/0x0xf58aeb' ):threadtools.cpp:3294

crash_20260905035526_5.dmp[101]: Finished uploading minidump (out-of-process): success = no
crash_20260905035526_5.dmp[101]: error: Could not resolve hostname
crash_20260905035526_5.dmp[101]: file ''/tmp/dumps/crash_20260905035526_5.dmp'', upload no: ''Could not resolve hostname''

Upload of a crash fails to something not resolving but that doesn’t explain a crash?

/tmp/dumps has a crash but it’s a really ugly trace, only the first few frames are steamcmd.

This one sounds really dumb, but check it anyway…make sure your clock and date are set/synced correctly. Steamcmd doesn’t play nice if they aren’t.

This is a vanilla PZ server, without mods, right? Double checking that.

Assuming that is ok, can you run steamcmd and install a server from bare metal (ie not in docker?). Might test that. If no, check the firewall settings on the server machine. If yes, at least we know it is a container problem.


Follow up edit…I just found an old posting that said this:

SOLVED
just add

2.19.181.11 client-download.steampowered.com
2.19.181.10 client-download.steampowered.com
in etc/hosts

Looking at github for Valve, looks like a known issue per SteamCMD bootstrap fails: client-download.steampowered.com CNAME target returns NXDOMAIN · Issue #13166 · ValveSoftware/steam-for-linux · GitHub

I added those values to /etc/hosts, still no dice. I opened another log, and this is what I’ve found:

[2026-09-06 02:46:18] Startup - updater built Dec 13 2017 05:27:43
[2026-09-06 02:46:18] Checking for update on startup
[2026-09-06 02:46:18] Checking for available update...
[2026-09-06 02:46:19] Download failed: http error 0 (``client-download.steampowered.com/client/steam_cmd_linux``)
[2026-09-06 02:46:19] Download failed: http error 0 (``media.steampowered.com/client/steam_cmd_linux``)
[2026-09-06 02:46:19] failed to load manifest from buffer.
[2026-09-06 02:46:19] Failed to load manifest
[2026-09-06 02:46:19] Error: Download failed: http error 0
[2026-09-06 02:46:19] Verifying installation...
[2026-09-06 02:46:19] Performing checksum verification of executable files
[2026-09-06 02:46:19] Unable to read and verify install manifest /AMP/project-zomboid/package/steam_cmd_linux.installed
[2026-09-06 02:46:19] Verification complete
[2026-09-06 02:46:19] Downloading Update...
[2026-09-06 02:46:19] Checking for available update...
[2026-09-06 02:46:19] Download failed: http error 0 (``client-download.steampowered.com/client/steam_cmd_linux``)
[2026-09-06 02:46:19] Download failed: http error 0 (``media.steampowered.com/client/steam_cmd_linux``)
[2026-09-06 02:46:19] failed to load manifest from buffer.
[2026-09-06 02:46:19] Failed to load manifest
[2026-09-06 02:46:19] Error: Download failed: http error 0
[2026-09-06 02:46:19] Error: Steamcmd needs to be online to update. Please confirm your network connection and try again.
[2026-09-06 02:46:19] Shutdown

I am able to wget media.steampowered.com/client/steam_cmd_linux from within the pz container and get the binary, but the whatever script that runs on creation is failing.

It was an issue with the version of docker! I ran the command by hand, and found a new error entry;

root@amp:/AMP# ./project-zomboid/steamcmd.sh 

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

ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".

[  0%] Checking for available update...

CreateBoundSocket: failed to create socket, error [no name available] (38)

[----] Verifying installation...

[  0%] Downloading Update...

[  0%] Checking for available update...

CreateBoundSocket: failed to create socket, error [no name available] (38)

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

threadtools.cpp (3294) : Assertion Failed: Illegal termination of worker thread 'Thread(0x0x58252380/0x0xf1cb2b'

The socket issue is a very specific footprint from the specific version of docker I was using, 29.4.2. Updated and it was immediately fixed. Glad it was slightly more than a configuration issue.

Glad you found it. That was a bear to track down.