Specifically steam fails to connect when using steamcmd with box64. it works perfectly with box86.
admin@576596f95bac:~/steamcmd$ box64 /home/admin/steamcmd/linux64/steamcmd +force_install_dir /home/admin/app +login anonymous +app_update 380870 validate +quit
[BOX64] Box64 arm64 v0.4.5 5d881fd59 with Dynarec built on Aug 5 2026 21:52:31
[BOX64] Dynarec for ARM64, with extension: ASIMD CRC32
[BOX64] Running on Cortex-A72 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 54.0 MHz emulating 3.4 GHz
[BOX64] steamcmd detected
[BOX64] Detected 48bits at least of address space
[BOX64] Counted 19 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
[BOX64] Looking for /home/admin/steamcmd/linux64/steamcmd
[BOX64] BOX64ENV: Variables overridden:
BOX64_LD_LIBRARY_PATH=.:bin/:/usr/lib/i386-linux-gnu:/lib/i386-linux-gnu
[BOX64] argv[1]="+force_install_dir"
[BOX64] argv[2]="/home/admin/TEST"
[BOX64] argv[3]="+login"
[BOX64] argv[4]="anonymous"
[BOX64] argv[5]="+app_update"
[BOX64] argv[6]="380870"
[BOX64] argv[7]="validate"
[BOX64] argv[8]="+quit"
[BOX64] Rename process to "steamcmd"
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) librt.so.1 [BOX64] Using native(wrapped) libm.so.6
[BOX64] Using native(wrapped) libpthread.so.0 [BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) libbsd.so.0
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
[BOX64] Using emulated /home/admin/steamcmd/linux64/crashhandler.so
Redirecting stderr to '/home/admin/Steam/logs/stderr.txt'
Logging directory: '/home/admin/Steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
[ 0%] Downloading update...
[ 0%] Checking for available updates...
UpdateUI: skip show logo
[----] !!! Fatal Error: Steamcmd needs to be online to update. Please confirm your network connection and try ag
ain.
src/tier0/threadtools.cpp (3792) : Assertion Failed: Illegal termination of worker thread 'Thread(0x0x47e0a1d0/0
x0xf0e890'
admin@576596f95bac:~/steamcmd$
admin@576596f95bac:~/steamcmd$ box64 /home/admin/steamcmd/linux32/steamcmd +force_install_dir /home/admin/app +login anonymous +app_update 380870 validate +quit
[BOX64] Box64 arm64 v0.4.5 5d881fd59 with Dynarec built on Aug 5 2026 21:52:31
[BOX64] Dynarec for ARM64, with extension: ASIMD CRC32
[BOX64] Running on Cortex-A72 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 54.0 MHz emulating 3.4 GHz
[BOX64] steamcmd detected
[BOX64] Detected 48bits at least of address space
[BOX64] Counted 19 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
[BOX64] Looking for /home/admin/steamcmd/linux32/steamcmd
[BOX64] BOX64ENV: Variables overridden:
BOX64_LD_LIBRARY_PATH=.:bin/:/usr/lib/i386-linux-gnu:/lib/i386-linux-gnu
[BOX64] argv[1]="+force_install_dir"
[BOX64] argv[2]="/home/admin/TEST"
[BOX64] argv[3]="+login"
[BOX64] argv[4]="anonymous"
[BOX64] argv[5]="+app_update"
[BOX64] argv[6]="380870"
[BOX64] argv[7]="validate"
[BOX64] argv[8]="+quit"
[BOX32] Using Box32 to load 32bits elf
[BOX32] Memory higher than 32bits reserved
[BOX32] Rename process to "steamcmd" [BOX32] Using native(wrapped) libdl.so.2
[BOX32] Using native(wrapped) librt.so.1 [BOX32] Using native(wrapped) libm.so.6
[BOX32] Using native(wrapped) libpthread.so.0
[BOX32] Using native(wrapped) libc.so.6
[BOX32] Using native(wrapped) ld-linux.so.2
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
[BOX32] Using emulated /home/admin/steamcmd/linux32/crashhandler.so
Redirecting stderr to '/home/admin/Steam/logs/stderr.txt'
Logging directory: '/home/admin/Steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
[ 0%] Downloading update...
[ 0%] Checking for available updates...
UpdateUI: skip show logo
[----] !!! Fatal Error: Steamcmd needs to be online to update. Please confirm your network connection and try again.
src/tier0/threadtools.cpp (3792) : Assertion Failed: Illegal termination of worker thread 'Thread(0x0x44e93510/0x0xfff9cd'
admin@576596f95bac:~/steamcmd$
[projectzomboid@br1-instance2:~]$ box86 /home/projectzomboid/Steam/linux32/steamcmd \
+force_install_dir /home/projectzomboid/ProjectZomboidDedicatedServer \
+login anonymous \
+app_update 380870 validate \
+quit
Box86 with Dynarec v0.3.8 nogit built on Jan 1 1980 00:00:00
Redirecting stderr to '/home/projectzomboid/Steam/logs/stderr.txt'
Logging directory: '/home/projectzomboid/Steam/logs'
[ 0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logo
Steam Console Client (c) Valve Corporation - version 1785799152
-- type 'quit' to exit --
Loading Steam API...IPC function call IClientUtils::GetSteamRealm took too long: 407 msec
OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Update state (0x5) verifying install, progress: 0.00 (204496 / 7212707670)
^C
[projectzomboid@br1-instance2:~]$
THE REAL ISSUE is the connection failure carries over to other applications that rely on Steam like project zomboid:
dmin@576596f95bac:~/app$ ./start-server-box64.sh
[BOX64] Box64 arm64 v0.4.5 5d881fd59 with Dynarec built on Aug 5 2026 21:52:31
[BOX64] Dynarec for ARM64, with extension: ASIMD CRC32
[BOX64] Running on Cortex-A72 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 54.0 MHz emulating 3.4 GHz
[BOX64] Detected 48bits at least of address space
[BOX64] Counted 19 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
[BOX64] Looking for ./jre64/bin/java
[BOX64] BOX64ENV: Variables overridden:
BOX64_LD_LIBRARY_PATH=/home/admin/app/linux64:/home/admin/app/jre64/lib/amd64:.:bin/:.:bin/:/usr/
lib/i386-linux-gnu:/lib/i386-linux-gnu
[BOX64] argv[1]="-Djava.awt.headless=true"
[BOX64] argv[2]="-Xmx2g"
[BOX64] argv[3]="-Dzomboid.steam=1"
[BOX64] argv[4]="-Dzomboid.znetlog=1"
[BOX64] argv[5]="-Djava.library.path=linux64/:natives/" [BOX64] argv[6]="-Djava.library.path=linux64/"
[BOX64] argv[7]="-Djava.security.egd=file:/dev/urandom"
[BOX64] argv[8]="-XX:+UseG1GC" [BOX64] argv[9]="-Dsun.reflect.noInflation=true"
[BOX64] argv[10]="-Djdk.reflect.useDirectMethodHandle=false"
[BOX64] argv[11]="-XX:CompileCommand=exclude,java/lang/Class,reflectionData"
[BOX64] argv[12]="-Xint"
[BOX64] argv[13]="-XX:-OmitStackTraceInFastThrow"
[BOX64] argv[14]="-cp"
[BOX64] argv[15]="java/.:java/projectzomboid.jar"
[BOX64] argv[16]="zombie/network/GameServer"
[BOX64] Rename process to "java"
[BOX64] Using emulated /home/admin/app/jre64/bin/../lib/libjli.so
[BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libpthread.so.0
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) librt.so.1
[BOX64] Using native(wrapped) libbsd.so.0
[BOX64] Using native(wrapped) libz.so.1
[BOX64] Using emulated /home/admin/app/jre64/lib/server/libjvm.so
[BOX64] libjvm detected, disable Dynarec BigBlock and enable Dynarec StrongMem, hide SSE 4.2
[BOX64] BOX64ENV: Variables overridden:
BOX64_DYNAREC_BIGBLOCK=0
BOX64_DYNAREC_SAFEFLAGS=2
BOX64_DYNAREC_STRONGMEM=1
BOX64_LD_LIBRARY_PATH=/home/admin/app/linux64:/home/admin/app/jre64/lib/amd64:.:bin/:.:bin/:/usr/
lib/i386-linux-gnu:/lib/i386-linux-gnu
BOX64_SSE42=0
[BOX64] Using native(wrapped) libm.so.6
[BOX64] Warning: Weak Symbol collector_func_load not found, cannot apply R_X86_64_JUMP_SLOT @0x7fff02691a58 (0x2
dbcd6)
[BOX64] Using emulated /home/admin/app/jre64/lib/libjimage.so
[BOX64] Using emulated /home/admin/app/jre64/lib/libjava.so
[BOX64] Warning, CPUID command 24 unsupported (ECX=00000000)
CompileCommand: exclude java/lang/Class.reflectionData bool exclude = true
[BOX64] Using emulated /home/admin/app/jre64/lib/libnio.so
[BOX64] Using emulated /home/admin/app/jre64/lib/libnet.so
[BOX64] Using emulated /home/admin/app/jre64/lib/libzip.so
[BOX64] Using emulated /home/admin/app/jre64/lib/libverify.so
[BOX64] posix_spawn(0xf57716efef50, "/home/admin/app/jre64/lib/jspawnhelper", (nil), (nil), 0xf57716efefa0["/hom
e/admin/app/jre64/lib/jspawnhelper", "25.0.1+8-LTS", ...], 0xf57718fff220), IsX64=1, IsX86=0 IsScript=0 IsPython
=0 envp is context->envv
[BOX64] => posix_spawn(0xf57716efef50, "/usr/local/bin/box64", (nil), (nil), 0xf57716cfcfd0 ["/usr/local/bin/bo
x64", "/home/admin/app/jre64/lib/jspawnhelper", "25.0.1+8-LTS"...:3], 0x6b08da60)
[BOX64] posix_spawn returned 0
[BOX64] Box64 arm64 v0.4.5 5d881fd59 with Dynarec built on Aug 5 2026 21:52:31
[BOX64] Dynarec for ARM64, with extension: ASIMD CRC32
[BOX64] Running on Cortex-A72 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 54.0 MHz emulating 3.4 GHz
[BOX64] Detected 48bits at least of address space
[BOX64] Counted 19 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
[BOX64] Looking for /home/admin/app/jre64/lib/jspawnhelper
[BOX64] BOX64ENV: Variables overridden:
BOX64_LD_LIBRARY_PATH=/home/admin/app/linux64:/home/admin/app/jre64/lib/amd64:.:bin/:.:bin/:/usr/
lib/i386-linux-gnu:/lib/i386-linux-gnu
[BOX64] argv[1]="25.0.1+8-LTS"
[BOX64] argv[2]="13:14:16"
[BOX64] Rename process to "jspawnhelper"
[BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libpthread.so.0
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) librt.so.1
[BOX64] Using native(wrapped) libbsd.so.0
LOG : General f:0 st:93,936,214> SLF4J(W): No SLF4J providers were found.
LOG : General f:0 st:93,936,229> SLF4J(W): Defaulting to no-operation (NOP) logger implementation
LOG : General f:0 st:93,936,234> SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further de
tails.
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by zombie.vehicles.Clipper in an unnamed module (file:/ho
me/admin/app/java/projectzomboid.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
[BOX64] Using emulated /home/admin/app/linux64/libPZClipper64.so
[BOX64] Using emulated /usr/lib/box64-x86_64-linux-gnu/libstdc++.so.6
[BOX64] Using emulated /usr/lib/box64-x86_64-linux-gnu/libgcc_s.so.1
LOG : General f:0 st:93,958,110> Logs configuration:
LOG : General f:0 st:93,958,136> General: General
LOG : General f:0 st:93,958,141> Network: General
LOG : General f:0 st:93,958,145> Lua: General
LOG : General f:0 st:93,958,150> Mod: General
LOG : General f:0 st:93,958,154> Multiplayer: General
LOG : General f:0 st:93,958,158> Packet: Warning
LOG : General f:0 st:93,958,162> NetworkFileDebug: Warning
LOG : General f:0 st:93,958,167> ZNet: Warning
LOG : General f:0 st:93,958,171> DetailedInfo: Warning
....
....
....
LOG : General f:0 st:93,958,524> Loading steam_api
[BOX64] Using emulated /home/admin/app/linux64/libsteam_api.so
LOG : General f:0 st:93,958,539> Loading RakNet64...
[BOX64] Using emulated /home/admin/app/linux64/libRakNet64.so
LOG : General f:0 st:93,958,617> Loading ZNetJNI64...
[BOX64] Using emulated /home/admin/app/linux64/libZNetJNI64.so
LOG : General f:0 st:93,958,674> SteamUtils initialised successfully
[BOX64] Using emulated /home/admin/app/linux64/libPZPopMan64.so
[BOX64] Using emulated /home/admin/app/linux64/libPZPathFind64.so
[LOG : General f:0 st:94,111,207> LightingFPS set to 15
[BOX64] Using emulated /home/admin/app/linux64/steamclient.so
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
IPC function call IClientUtils::GetSteamRealm took too long: 209 msec
Setting breakpad minidump AppID = 108600
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561197960265728 [API loaded no]
[BOX64] Error loading needed lib libsteam.so
[BOX64] Warning: Cannot dlopen("libsteam.so"/0x7fff0c028755, 2)
LOG : General f:0 st:94,112,374> Waiting for response from Steam servers
LOG : General f:0 st:94,113,086> Failed to connect to Steam servers
LOG : General f:0 st:94,113,113> Shutdown handling started
LOG : Network f:0 st:94,113,119> Server exited
LOG : General f:0 st:94,113,167> Exception in thread "Thread-0" LOG : General f:0 st:94,113,179> java.lang.NullPointerException: Cannot invoke "zombie.iso.IsoMetaGrid.save()" because "this.grid" is null
LOG : General f:0 st:94,113,187> at zombie.network.ServerMap.SaveAll(ServerMap.java:181)
LOG : General f:0 st:94,113,191> at zombie.network.ServerMap.QueuedSaveAll(ServerMap.java:827)
LOG : General f:0 st:94,113,195> at zombie.network.ServerMap.QueuedQuit(ServerMap.java:784)
LOG : General f:0 st:94,113,199> at zombie.network.GameServer$1.run(GameServer.java:374)
[BOX64] Sigfault/Segbus while quitting, exiting silently
admin@576596f95bac:~/app$
i can't use box86 for running project zomboid because the libraries are only for 64 bits, the server works if i run without steam (but i need steam unfurtunally)
Specifically steam fails to connect when using steamcmd with box64. it works perfectly with box86.
BOX64
BOX32
BOX86
THE REAL ISSUE is the connection failure carries over to other applications that rely on Steam like project zomboid:
i can't use box86 for running project zomboid because the libraries are only for 64 bits, the server works if i run without steam (but i need steam unfurtunally)
box64 and box32 tested in this docker file: steamcmd-docker-arm64
My device:
Raspberry Pi 4 Model B Rev 1.5My OS:
Linux br1-instance2 6.18.33 #1-NixOS SMP Sat May 23 11:07:21 UTC 2026 aarch64 GNU/Linux