protonscr

SteamCMD and hlds (Dedicated Server from Tools section) is missing binaries

steamclosed
ValveSoftware/steam-for-linux#1044 · opened 2013-01-29 by swordfischer · updated 2013-01-29 · 4 comments · github
Sswordfischer 2013-01-29 github

Hello.

Description
I just tried setting up a Half-Life dedicated server with both SteamCMD and with the hlds from the tools section. (the tools entry has no launch configuration in CDR, thus reports missing executable).
It is missing hl.so in valve/dlls/ which breaks HLDS.

Steps to reproduce

  • Download HLDS through SteamCMD or Steam for Linux client
  • Change to the dedicated servers directory
  • Launch LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./hlds_linux
  • See that LoadLibrary is unable to find hl.so

Debug

swordfischer@HELLRAiSER ~/.Steam/SteamApps/common/hlds $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./hlds_linux 
Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 70
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Protocol version 48
Exe version 1.1.2.1/Stdio (valve)
Exe build: 14:23:06 Jan 28 2013 (5940)
STEAM Auth Server
Server IP address 127.0.0.1:27015
LoadLibrary failed on ./valve/dlls/hl.so: ./valve/dlls/hl.so: cannot open shared object file: No such file or directory
Host_Error: Couldn't get DLL API from ./valve/dlls/hl.so!
FATAL ERROR (shutting down): Host_Error: Couldn't get DLL API from ./valve/dlls/hl.so!

Though, me being me, I tried copying hl.so from Half-Life/valve/dlls/hl.so into the hlds/valve/dlls/ directory. This causes the server to launch, but connecting to it causes a segfault.

swordfischer@HELLRAiSER ~/.Steam/SteamApps/common/hlds $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./hlds_linux 

Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 70
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Protocol version 48
Exe version 1.1.2.1/Stdio (valve)
Exe build: 14:23:06 Jan 28 2013 (5940)
STEAM Auth Server
Server IP address 127.0.0.1:27015
couldn't exec listip.cfg
couldn't exec banned.cfg

Segmentation fault[207521.472562] hlds_linux[705]: segfault at 0 ip 00000000f6fea488 sp 00000000ffac77d0 error 4 in engine_i486.so[f6f30000+ed000]

Half-Life/engine_i486.so and hlds/engine_i486.so has the same md5 sum, so overwriting the one in hlds wouldn't make much sense.

I hope you can sort it out @alfred-valve ;)

Aalfred-valve maintainer 2013-01-29 github

The stand alone dedicated server is only available for Counter-Strike 1.6 at this time, so this is not a bug.

Sswordfischer 2013-01-29 github

In that case, launching with parameter -game cstrike should launch and work?
Because the same thing happens, where upon connect the dedicated will segfault

swordfischer@HELLRAiSER ~/.Steam/SteamApps/common/hlds $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ./hlds_linux -game cstrike

Console initialized.
Using breakpad crash handler
Setting breakpad minidump AppID = 10
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Protocol version 48
Exe version 1.1.2.6/Stdio (cstrike)
Exe build: 13:53:33 Jan 29 2013 (5941)
STEAM Auth Server
Server IP address 127.0.0.1:27015
couldn't exec listip.cfg
couldn't exec banned.cfg
Segmentation fault

[209153.583156] hlds_linux[2364]: segfault at 0 ip 00000000f6f44488 sp 00000000ffac8e50 error 4 in engine_i486.so[f6e8a000+ed000]
Aalfred-valve maintainer 2013-01-29 github

You need to use SteamCMD to get the install (not the client) and then run the following command line:

./hlds_run -game cstrike +map de_dust -dev

Sswordfischer 2013-01-29 github

Great that fixes it - even the HL (non-server). Thanks.

Nothing extracted yet.