hlds_run will restart crashed servers. You need something to restart a frozen instance of hlds. Look around for a script to act as a watchdog timer that will restart hlds when it freezes.
Enjoy, Here is an example of a few small scripts I use. They basically send a ping to hlds every ten seconds and wait for three consecutive failures before restarting hlds. It is using screen to start multiple hlds servers. The screen hardcopy option helps capture some of the segfault info. One of the shell scripts calls an external python script (ping_hlds.sh) to send a ping to hlds. --- #!/bin/sh # kick_watchdog.sh echo "Killing screen session." pkill -f "SCREEN -dmS watchdog" screen -wipe sleep 2 echo "Starting new screen session." screen -dmS watchdog ./watchdog.sh --- #!/bin/sh # watchdog.sh while true do ./check_server.sh "xxx.xxx.xxx.xxx" "27015" "myserver1" "start_hlds.sh" ./check_server.sh "xxx.xxx.xxx.xxx" "27025" "myserver2" "start_hlds.sh" sleep 10 done --- #!/bin/sh # check_server.sh IP=$1 PORT=$2 SERVER_NAME=$3 START_SCRIPT=$4 if (~/hlds/ping_hlds.sh $IP $PORT | grep "DOWN" >/dev/null) then echo date echo "$SERVER_NAME server down (1)" sleep 30 if (~/hlds/ping_hlds.sh $IP $PORT | grep "DOWN" >/dev/null) then echo "$SERVER_NAME server down (2)" sleep 30 if (~/hlds/ping_hlds.sh $IP $PORT | egrep "DOWN|no response" >/dev/null) then echo "$SERVER_NAME server down (3)" echo "Restarting" ~/hlds/$START_SCRIPT $IP $PORT $SERVER_NAME sleep 60 fi fi fi --- #!/bin/sh # start_hlds.sh IP=$1 PORT=$2 SERVER_NAME=$3 if (screen -ls | grep $SERVER_NAME) then screen -S trunk -X hardcopy ~/hlds/hardcopy.$SERVER_NAME sleep 2 echo "*** Killing existing sessions ***" pkill -9 -f "SCREEN -AmdS $SERVER_NAME" screen -wipe fi echo "*** Starting game server ***" cd ~/hlds/ screen -AmdS $SERVER_NAME ./hlds_run.sh -game valve -pingboost 2 +ip $IP +port $PORT +map frenzy +servercfgfile profiles/$SERVER_NAME.cfg -autoupdate -timeout 6 On Sat, Jun 9, 2012 at 6:54 PM, Ook <[email protected]> wrote: > I get this from time to time: > > ./hlds_run: line 321: 32184 Segmentation fault $HL_CMD > > and it just sits there. $RESTART is set to "yes", which is the default, but > it does not restart - it just sits there as if it seg faulted but did not > completely terminate. > > How do you go about getting the server to actually restart after it seg > faults? As it is, the server crashes and it sits there dead until one of my > players gets my attention, or I just happen to check on it. > > I'm running Slackware 13.37, 2.6.37.6 kernel, Athlon 7850 dual core, and 2GB > ram. > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux

