Рестартер TrinityCore под Linux

Приведу пример примитивного рестартера TrinityCore под Linux:

Создаем первый файл auth.sh с содержимым:

#!/bin/bash
while :; do
/home/trinity/release/bin/authserver -c /home/trinity/release/etc/authserver.conf
sleep 10
done

По нему будет запускаться сервер идентификации. Если он работает без ошибок, то в /etc/rc.local можно прописать путь к этому файлу, чтобы он грузился при запуске системы.

Создаем второй файл world.sh с содержимым:

#!/bin/sh
logfile='/home/trinity/release/bin/logs/shserver.log'
srvrun='/home/trinity/release/bin/worldserver'
srvname=worldserver
outfile='/home/trinity/release/bin/logs/crash.log'


if [ `ps ax | grep "$srvrun" | grep -v "grep" | wc -l` = 0 ]; then
   kill `ps xu | grep "$srvname" | grep "$srvrun" | grep -v "grep" | awk '{print $2}'`
   echo "Server CRASHED !!! Start Bugreport System" `date` >> $outfile
   echo "Server.log Log FILE Last 30 Lines:" >> $outfile
   cat $logfile | tail -n 30 >> $outfile
   echo "END bugtracker system." >> $outfile
   sleep 20 && $srvrun
fi
exit 0

По нему будет запускаться игровой сервер. Запускать можно через screen командой:

screen -AmdS world /home/trinity/release/bin/world.sh

Добавить комментарий