mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 02:20:27 +00:00
+ simple restarter now prevents infinite crash loops + client data downloader now uses github releases and fixed downloading path + module updating now take care about compatibility version info + disabled CONFDIR variable in bash conf file, using BINPATH by default instead
40 lines
944 B
Bash
40 lines
944 B
Bash
#!/usr/bin/env bash
|
|
|
|
#PARAMETER 1: directory
|
|
#PARAMETER 2: binary file
|
|
|
|
_bin_path=$1
|
|
_bin_file=$2
|
|
|
|
_instant_crash_cnt=0
|
|
_total_crashes=0
|
|
|
|
while true
|
|
do
|
|
if [ ! -f "$_bin_path/$_bin_file" ]; then
|
|
echo "$_bin_path/$_bin_file doesn't exists!"
|
|
exit 0
|
|
fi
|
|
|
|
STARTING_TIME=$(date +%s)
|
|
|
|
cd "$_bin_path" && "./$_bin_file" &>/dev/null; echo "$_bin_file crashed (?), restarting..."
|
|
|
|
ENDING_TIME=$(date +%s)
|
|
DIFFERENCE=$(( $ENDING_TIME - $STARTING_TIME ))
|
|
|
|
echo "Crashed after $DIFFERENCE seconds, total crashes: $_total_crashes"
|
|
((_total_crashes++))
|
|
|
|
if [ $DIFFERENCE -lt 10 ]; then
|
|
# increment instant crash if runtime is lower than 10 seconds
|
|
((_instant_crash_cnt++))
|
|
else
|
|
_instant_crash_cnt=0 # reset count
|
|
fi
|
|
|
|
if [ $_instant_crash_cnt -gt 5 ]; then
|
|
echo "Restarted exited. Infinite crash loop prevented. Please check your system"
|
|
exit 0
|
|
fi
|
|
done |