IW4x dedicated server won’t start headless on Linux — no error, just hangs.
Ubuntu 24.04 VPS, no GPU. WineHQ 11 (also tried Wine 9 + GE-Proton). MW2 via SteamCMD (10180+10190, validated). IW4x installed via the official iw4x-launcher (iw4x.exe ~3.9MB PE32, iw4x.dll ~3.6MB). Wine prefix has winetricks vcrun2019, vcrun2005, d3dcompiler_47, d3dx9, xinput (the !iw4x dxr DirectX fix is applied — d3d9/d3dx9_43/xinput1_3 in syswow64+system32). Software OpenGL works (glxinfo under Xvfb = llvmpipe, GL 4.5, direct rendering yes).
Run: WINEPREFIX=… xvfb-run -a wine iw4x.exe -dedicated -stdout +set net_port 28960 +exec server.cfg +map_rotate +set sv_lanonly 0
Symptom: process loads (~48MB RSS, threads main + “Mongoose” + “Async Scheduler”), then the MAIN thread blocks forever on WaitForMultipleObjects (strace: futex_wait_multiple), ~1s total CPU. ZERO stdout despite -stdout. Never binds UDP 28960. No games_mp.log. strace shows NO network syscalls at all.
Same under Wine 9/11/GE-Proton, WINEARCH win32 and win64, with/without xvfb/openbox/virtual-desktop/PTY, LAN and online, via launcher or direct, and the official alterware/iw4x-docker image. No “dll not found” popups.
What’s the correct way to run a headless IW4x dedicated server on Linux on a no-GPU VPS? Is there a required flag/env or runtime dep that iw4x.exe waits on (WaitForMultipleObjects) when run standalone? Anyone hosting iw4x dedicated headless without a GPU/desktop?