hlds_linux crashes on map change (cstrike 1.6)
Setup
- System is a Raspberry Pi model 4B with 8GB RAM running Debian 11 for arm64
- I'm using Box86 with Dynarec v0.3.1 13bbf105 built on Mar 29 2023 08:39:03 compiled from git master
- I'm also using Box64 with Dynarec v0.2.3 6f85a204 built on Mar 15 2023 10:33:53 compiled from git main (although I don't think box64 is being used at all)
- I have correctly installed steamcmd and the hlds files along with the cstrike 1.6 files through steamcmd
- I am using the environment variables recommended for use with box86
STEAMOS=1,STEAM_RUNTIME=1andDBUS_FATAL_WARNINGS=0
Behaviour
The server starts and runs normally, players can connect to it from the LAN and through the public IP, the addons Metamod and AMX mod X work without a hitch; but on map change, the server crashes.
Depending on whether it's running Metamod+AMX mod X or default settings, the crash is silent or verbose, attached are logs running either
default.log
metamod+amx.log
As you can see in metamod+amx.log, there is no feedback at all after trying to change map (the results are the same with amx_map <mapname>)
The server simply dissappears from the server finder, players lose connection and it remains stuck like that, presumably doing nothing (although the process exists and it's memory usage remains unchanged)
With Default settings on the other hand, the crash is verbose and does stop the process and release the used memory.
Reproduction
- run
box86 ./hlds_linux -pidfile <file> -game cstrike -port <port> -pingboost 2 -console +maxplayers 16 +map <mapname> - wait for map to change automatically after 30 minutes, enough rounds played or manually change with
map <mapname>in the console
Workarounds I tried
- Running without server addons
- Letting the map change automatically by playing enough rounds for it to go on to the next in the map list instead of doing it manually
- Setting and unsetting the
STEAMOS=1,STEAM_RUNTIME=1andDBUS_FATAL_WARNINGS=0env vars - Pulling in the latest changes from box86 and box64 repos and recompiling
None of these worked, the issue remains and the behaviour is unchanged I humbly ask for help with this, since I'm probably doing something wrong