tyvm I'll play with this and see if it helps.
On 06/09/2012 06:31 PM, edman747 wrote:
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
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux