Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
-
net-master
- Капитан
- Сообщения: 446
- Зарегистрирован: 07.11.2009
- Поблагодарили: 1 раз
#1
Сообщение
03.12.2010, 11:38
Хочу попросить знающих людей поправить скрипт написаный под Debian на Freebsd
Сам скрипт
Код: Выделить всё
#!/bin/bash
### BEGIN INIT INFO
# Provides: srcds
# Required-Start: $syslog $local_fs $network
# Required-Stop: $syslog $local_fs $network
# Should-Start: $remote_fs $named
# Should-Stop: $remote_fs $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start srcds Server
# Description: srcds Start Script
#
# author: LeXiKoN http://eqline.ru
# version: 0.92
#
### END INIT INFO
# Source function library.
. /lib/lsb/init-functions
VERSION=0.92
#####################################################
# Конфигурирование
#####################################################
SERVER_NAME="Exeplay.ru" #Название сервера
screen_name=server #Название screen-сессии
path="/home/server/warmod/orangebox" #Путь до ROOT-директории сервера
srcds_ip=0.0.0.0 #IP сервера
srcds_port=27015 #Порт сервера
srcds_gametype=cstrike #Тип игры
srcds_players=20 #Максимальное количество игроков на сервере
srcds_map=de_inferno #Имя первоначальной карты при запуске
srcds_pid=server.pid
screen_pid=$screen_name-screen.pid
srcds_options="+exec server.cfg +log on" #Дополнительные параметры запуска
use_user=server #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0
#----------------------------------------------------
################# ВНИМАНИЕ ###################
#
# Строчки ниже, если не знаете, лучше не трогать!
#
################# ВНИМАНИЕ ###################
RETVAL=0
succes="[\033[1;32m ОК \033[0m]"
failed="[\033[1;31m FAIL \033[0m]"
status_on="[\033[1;32m Online \033[0m]"
status_off="[\033[1;31m Offline \033[0m]"
title="\033[1;34m [::]\033[0m"
if [ $condebug = 1 ]; then
srcds_options2="-condebug"
fi
# Команда screen
INTR="taskset -c $use_core /usr/bin/screen -A -m -d -S $screen_name"
if [ ! -x $path/srcds_run ]; then
printf "\033[22;31m Проверьте права на исполнение srcds_run \033[0m\n"
exit 1
fi
prestart_check() {
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[1;34m Сервер $SERVER_NAME\033[0m \033[32m(!!) на данный момент УЖЕ работает (!!)\033[0m\n"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exit 1
else
cd $path
rm -rf $path/$screen_pid
rm -rf $path/$srcds_pid
fi
fi
}
start() {
if [ $check_version = 1 ]; then
check_version
fi
# Проверка престартовая
prestart_check
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd $path
$INTR sudo -u $use_user ./srcds_run -game $srcds_gametype +maxplayers $srcds_players +map $srcds_map +ip $srcds_ip +port $srcds_port $srcds_options $srcds_options2 -pidfile $srcds_pid
# Поиск и запись пидов процессов сервера и скрин в системе
ps -ef | grep SCREEN | grep "$screen_name" | grep -v grep | awk '{ print $2}' > $path/$screen_pid
printf "$title\033[1;34m Запуск сервера $SERVER_NAME \033[0m\n"
printf "\033[1;35m Порт севрера:\033[0m \033[1;36m$srcds_port\033[0m\n"
printf "\033[1;35m Привязка к ядру:\033[0m \033[1;36m$use_core\033[0m\n"
printf "\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
printf "\033[1;33m Статус ~> \033[0m"
sleep 1
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf "%53s$succes \n"
else
printf "%53s$failed \n"
fi
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
stop() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
# Извлекаем ID процесса из файла и увибаем процессы
kill `cat $path/$srcds_pid`
kill `cat $path/$screen_pid`
sleep 1
rm -rf $path/$screen_pid
rm -rf $path/$srcds_pid
printf "$title\033[1;31m Остановка $SERVER_NAME \033[0m"
printf "%33s$succes \n"
else
printf "\033[1;34m Невозможно остановить $SERVER_NAME, сервер НЕ запущен \033[0m"
printf "%5s$failed \n"
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
status() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "$title\033[1;34m Статус сервера $SERVER_NAME \033[0m\n"
printf "\033[1;35m Порт севрера:\033[0m \033[1;36m$srcds_port\033[0m\n"
printf "\033[1;35m Привязка к ядру:\033[0m \033[1;36m$use_core\033[0m\n"
printf "\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
printf "\033[1;33m Статус ~> \033[0m"
sleep 1
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf "%49s$status_on \n"
else
printf "%48s$status_off \n"
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
console() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
printf "$title\033[1;34m Подключение к консоли $SERVER_NAME сервера \033[0m\n"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[36m Для выхода из консоли поочерёдно нажать \033[1;36mCtrl+A, D \033[0m\n"
printf "\033[36m Для листинга консоли поочерёдно нажать \033[1;36mCtrl+A, Esc \033[0m\n"
printf "\033[36m Для выхода из режима листинга нажать \033[1;36mEsc \033[0m\n"
printf "\033[1;31m Внимание!!! По неаккуратности можно положить сервер :D \033[0m\n"
echo " Консоль включится через 5 секунд..."
sleep 5
/usr/bin/screen -R $screen_name
else
printf "\033[1;31m Невозможно подключиться к $SERVER_NAME, сервер не запущен \033[0m\n"
fi
}
compile() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -d $path/cstrike/addons/amxmodx ]; then
printf "\033[32m Компиляция плагинов AmxModX \033[0m\n"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[36m Компилируются исходные файлы (sma), находящиеся в директории {addons/amxmodx/scripting/*.sma} \033[0m\n"
printf "\033[36m По завершению компиляции нажмите Q для выхода \033[0m\n"
printf "\033[36m Компиляция начнется через 2 секунды. \033[0m\n"
sleep 2
cd $path/cstrike/addons/amxmodx/scripting
./compile.sh
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[32m Плагины скомпилированы \033[0m\n"
else
printf "\033[22;31m Проверьте установлен ли AmxModX (??) \033[0m\n"
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
check_version() {
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd $path
rm -f version.txt
wget http://eqline.ru/project/srcds_init_script/version.txt 1> /dev/null 2>&1
sleep 1
for ver in `cat $path/version.txt`
do
if [ $VERSION \< $ver ]; then
printf "\033[1;31m Доступна новая версия скрипта ( $ver )\033[0m\n"
printf "\033[36m Подробнее на форуме eQline.ru: http://forum.eqline.ru \033[0m\n"
printf "\033[1;36m Ссылка: http://forum.eqline.ru/topic/361-скрипт-запуска-srcds-серверов/ \033[0m\n"
else
printf "\033[1;36m Ваша версия является последней\033[0m \033[1;34m( Текущая версия: $VERSION ) \033[0m\n"
fi
break
done
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rm -f version.txt
sleep 1
}
checker() {
checktag="[srcds-CheckUP]"
checkdown=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep DOWN`
if [ -n "$checkdown" ]; then
printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[31m*[DOWN]*\033[0m\n"
# echo Отсылаем почту
cd $path
time=`date +%X`
date=`date +%D`
inlog=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep DOWN`
printf "[$time - $date] *[DOWN]* $inlog\n" >> checker.log
stop
sleep 2
start
sleep 1
echo ----------------ATTANTION---------------- >> checker.log
printf "StartUP $SERVER_NAME:" >> checker.log
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf " *[OK]* \n" >> checker.log
else
printf " *[FAILED]* \n" >> checker.log
fi
echo ----------------------------------------- >> checker.log
exit 1
fi
checkup=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep cstrike`
if [ -n "$checkup" ]; then
printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[32m*[OK]*\033[0m\n"
cd $path
time=`date +%X`
date=`date +%D`
inlog=`quakestat -P -a2s $srcds_ip:$srcds_port | grep cstrike`
printf "[$time - $date] *[OK]* $inlog\n" >> checker.log
exit 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
status)
status
;;
console)
console
;;
compile)
compile
;;
checkUpdate)
check_version
;;
checker)
checker
;;
*)
echo "Usage: $0 {start|stop|restart|status|console|compile|checkUpdate|checker}"
exit 1
esac
вот эти функции можно думаю вообще выкинуть))
-
uateam
- Сержант
- Сообщения: 52
- Зарегистрирован: 03.09.2010
#2
Сообщение
02.09.2011, 08:40
net-master писал(а):Хочу попросить знающих людей поправить скрипт написаный под Debian на Freebsd
Сам скрипт
Код: Выделить всё
#!/bin/bash
### BEGIN INIT INFO
# Provides: srcds
# Required-Start: $syslog $local_fs $network
# Required-Stop: $syslog $local_fs $network
# Should-Start: $remote_fs $named
# Should-Stop: $remote_fs $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start srcds Server
# Description: srcds Start Script
#
# author: LeXiKoN http://eqline.ru
# version: 0.92
#
### END INIT INFO
# Source function library.
. /lib/lsb/init-functions
VERSION=0.92
#####################################################
# Конфигурирование
#####################################################
SERVER_NAME="Exeplay.ru" #Название сервера
screen_name=server #Название screen-сессии
path="/home/server/warmod/orangebox" #Путь до ROOT-директории сервера
srcds_ip=0.0.0.0 #IP сервера
srcds_port=27015 #Порт сервера
srcds_gametype=cstrike #Тип игры
srcds_players=20 #Максимальное количество игроков на сервере
srcds_map=de_inferno #Имя первоначальной карты при запуске
srcds_pid=server.pid
screen_pid=$screen_name-screen.pid
srcds_options="+exec server.cfg +log on" #Дополнительные параметры запуска
use_user=server #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0
#----------------------------------------------------
################# ВНИМАНИЕ ###################
#
# Строчки ниже, если не знаете, лучше не трогать!
#
################# ВНИМАНИЕ ###################
RETVAL=0
succes="[\033[1;32m ОК \033[0m]"
failed="[\033[1;31m FAIL \033[0m]"
status_on="[\033[1;32m Online \033[0m]"
status_off="[\033[1;31m Offline \033[0m]"
title="\033[1;34m [::]\033[0m"
if [ $condebug = 1 ]; then
srcds_options2="-condebug"
fi
# Команда screen
INTR="taskset -c $use_core /usr/bin/screen -A -m -d -S $screen_name"
if [ ! -x $path/srcds_run ]; then
printf "\033[22;31m Проверьте права на исполнение srcds_run \033[0m\n"
exit 1
fi
prestart_check() {
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[1;34m Сервер $SERVER_NAME\033[0m \033[32m(!!) на данный момент УЖЕ работает (!!)\033[0m\n"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exit 1
else
cd $path
rm -rf $path/$screen_pid
rm -rf $path/$srcds_pid
fi
fi
}
start() {
if [ $check_version = 1 ]; then
check_version
fi
# Проверка престартовая
prestart_check
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd $path
$INTR sudo -u $use_user ./srcds_run -game $srcds_gametype +maxplayers $srcds_players +map $srcds_map +ip $srcds_ip +port $srcds_port $srcds_options $srcds_options2 -pidfile $srcds_pid
# Поиск и запись пидов процессов сервера и скрин в системе
ps -ef | grep SCREEN | grep "$screen_name" | grep -v grep | awk '{ print $2}' > $path/$screen_pid
printf "$title\033[1;34m Запуск сервера $SERVER_NAME \033[0m\n"
printf "\033[1;35m Порт севрера:\033[0m \033[1;36m$srcds_port\033[0m\n"
printf "\033[1;35m Привязка к ядру:\033[0m \033[1;36m$use_core\033[0m\n"
printf "\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
printf "\033[1;33m Статус ~> \033[0m"
sleep 1
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf "%53s$succes \n"
else
printf "%53s$failed \n"
fi
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
stop() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
# Извлекаем ID процесса из файла и увибаем процессы
kill `cat $path/$srcds_pid`
kill `cat $path/$screen_pid`
sleep 1
rm -rf $path/$screen_pid
rm -rf $path/$srcds_pid
printf "$title\033[1;31m Остановка $SERVER_NAME \033[0m"
printf "%33s$succes \n"
else
printf "\033[1;34m Невозможно остановить $SERVER_NAME, сервер НЕ запущен \033[0m"
printf "%5s$failed \n"
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
status() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "$title\033[1;34m Статус сервера $SERVER_NAME \033[0m\n"
printf "\033[1;35m Порт севрера:\033[0m \033[1;36m$srcds_port\033[0m\n"
printf "\033[1;35m Привязка к ядру:\033[0m \033[1;36m$use_core\033[0m\n"
printf "\033[1;35m Запуск от юзера:\033[0m \033[1;36m$use_user\033[0m\n"
printf "\033[1;33m Статус ~> \033[0m"
sleep 1
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf "%49s$status_on \n"
else
printf "%48s$status_off \n"
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
console() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -f $path/$srcds_pid ] && [ -f $path/$screen_pid ]; then
printf "$title\033[1;34m Подключение к консоли $SERVER_NAME сервера \033[0m\n"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[36m Для выхода из консоли поочерёдно нажать \033[1;36mCtrl+A, D \033[0m\n"
printf "\033[36m Для листинга консоли поочерёдно нажать \033[1;36mCtrl+A, Esc \033[0m\n"
printf "\033[36m Для выхода из режима листинга нажать \033[1;36mEsc \033[0m\n"
printf "\033[1;31m Внимание!!! По неаккуратности можно положить сервер :D \033[0m\n"
echo " Консоль включится через 5 секунд..."
sleep 5
/usr/bin/screen -R $screen_name
else
printf "\033[1;31m Невозможно подключиться к $SERVER_NAME, сервер не запущен \033[0m\n"
fi
}
compile() {
if [ $check_version = 1 ]; then
check_version
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if [ -d $path/cstrike/addons/amxmodx ]; then
printf "\033[32m Компиляция плагинов AmxModX \033[0m\n"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[36m Компилируются исходные файлы (sma), находящиеся в директории {addons/amxmodx/scripting/*.sma} \033[0m\n"
printf "\033[36m По завершению компиляции нажмите Q для выхода \033[0m\n"
printf "\033[36m Компиляция начнется через 2 секунды. \033[0m\n"
sleep 2
cd $path/cstrike/addons/amxmodx/scripting
./compile.sh
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf "\033[32m Плагины скомпилированы \033[0m\n"
else
printf "\033[22;31m Проверьте установлен ли AmxModX (??) \033[0m\n"
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
check_version() {
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cd $path
rm -f version.txt
wget http://eqline.ru/project/srcds_init_script/version.txt 1> /dev/null 2>&1
sleep 1
for ver in `cat $path/version.txt`
do
if [ $VERSION \< $ver ]; then
printf "\033[1;31m Доступна новая версия скрипта ( $ver )\033[0m\n"
printf "\033[36m Подробнее на форуме eQline.ru: http://forum.eqline.ru \033[0m\n"
printf "\033[1;36m Ссылка: http://forum.eqline.ru/topic/361-скрипт-запуска-srcds-серверов/ \033[0m\n"
else
printf "\033[1;36m Ваша версия является последней\033[0m \033[1;34m( Текущая версия: $VERSION ) \033[0m\n"
fi
break
done
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rm -f version.txt
sleep 1
}
checker() {
checktag="[srcds-CheckUP]"
checkdown=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep DOWN`
if [ -n "$checkdown" ]; then
printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[31m*[DOWN]*\033[0m\n"
# echo Отсылаем почту
cd $path
time=`date +%X`
date=`date +%D`
inlog=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep DOWN`
printf "[$time - $date] *[DOWN]* $inlog\n" >> checker.log
stop
sleep 2
start
sleep 1
echo ----------------ATTANTION---------------- >> checker.log
printf "StartUP $SERVER_NAME:" >> checker.log
ch=`ps -ef | grep SCREEN | grep $screen_name`
if [ -n "$ch" ]; then
printf " *[OK]* \n" >> checker.log
else
printf " *[FAILED]* \n" >> checker.log
fi
echo ----------------------------------------- >> checker.log
exit 1
fi
checkup=`$checker_command -P -a2s $srcds_ip:$srcds_port | grep cstrike`
if [ -n "$checkup" ]; then
printf "\033[1;37m$checktag\033[0m $SERVER_NAME \033[32m*[OK]*\033[0m\n"
cd $path
time=`date +%X`
date=`date +%D`
inlog=`quakestat -P -a2s $srcds_ip:$srcds_port | grep cstrike`
printf "[$time - $date] *[OK]* $inlog\n" >> checker.log
exit 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 2
start
;;
status)
status
;;
console)
console
;;
compile)
compile
;;
checkUpdate)
check_version
;;
checker)
checker
;;
*)
echo "Usage: $0 {start|stop|restart|status|console|compile|checkUpdate|checker}"
exit 1
esac
вот эти функции можно думаю вообще выкинуть))
У вас тоже проблема с перезапуском сервера через скрипт в случаи падения?
-
kolobok66rus
- Капитан
- Сообщения: 266
- Зарегистрирован: 29.10.2010
- Поблагодарили: 4 раза
#3
Сообщение
04.09.2011, 22:13
Я так понимаю это скрипт LeXiKoN ? Что-то знакомое ..дело в том что на css он не работает . Я всяко разно проболвал его настраивать нефига не получается. А вот 1.6 прекрастно запускается.. Надо что то проще сделать . Вообще то я хотел спросить , а зачем вам этот скрипт ? При падении у меня серверы сами автоматически перезапускались ( падений небыло уже месца полтора ..тьфу тьфу тьфу ) , ну а при перезагрузке я пользовался (Putty + mc) c другой машины Windows , дело секундное..
С уважением Алексей !
CPU -AMD Phenom II X6 1100T Black Edition (HDE00ZF) 3.3 ГГц
MEM -SAMSUNG DDR-III DIMM 4Gb <PC3-10600> x4 - 16Гб
OC - Linux Debian 6.0.1 amd_64
Мой сервер CS:GO [NO-STEAM] : 46.48.26.209:27022
-
bir3yk
- Полковник
- Сообщения: 1346
- Зарегистрирован: 07.09.2009
- Поблагодарили: 26 раз
#4
Сообщение
04.09.2011, 22:20
у меня этот скрипт чуток модифицированный работает(ну по крайней мере он очень похож на тот что у меня стоит)
-
kolobok66rus
- Капитан
- Сообщения: 266
- Зарегистрирован: 29.10.2010
- Поблагодарили: 4 раза
#6
Сообщение
05.09.2011, 00:43
bir3yk писал(а):у меня этот скрипт чуток модифицированный работает(ну по крайней мере он очень похож на тот что у меня стоит)
Уважаемый
bir3yk не могли бы поделиться скриптиком ? Можно и в личку :)
С уважением Алексей !
CPU -AMD Phenom II X6 1100T Black Edition (HDE00ZF) 3.3 ГГц
MEM -SAMSUNG DDR-III DIMM 4Gb <PC3-10600> x4 - 16Гб
OC - Linux Debian 6.0.1 amd_64
Мой сервер CS:GO [NO-STEAM] : 46.48.26.209:27022
-
ERIC
- Полковник
- Сообщения: 1358
- Зарегистрирован: 05.02.2009
- Благодарил (а): 30 раз
- Поблагодарили: 159 раз
#7
Сообщение
05.09.2011, 00:57
kolobok66rus писал(а):С уважением Алексей !
-
kolobok66rus
- Капитан
- Сообщения: 266
- Зарегистрирован: 29.10.2010
- Поблагодарили: 4 раза
#8
Сообщение
05.09.2011, 00:58
ERIC писал(а):kolobok66rus писал(а):С уважением Алексей !
Это что означает ?
CPU -AMD Phenom II X6 1100T Black Edition (HDE00ZF) 3.3 ГГц
MEM -SAMSUNG DDR-III DIMM 4Gb <PC3-10600> x4 - 16Гб
OC - Linux Debian 6.0.1 amd_64
Мой сервер CS:GO [NO-STEAM] : 46.48.26.209:27022
-
bir3yk
- Полковник
- Сообщения: 1346
- Зарегистрирован: 07.09.2009
- Поблагодарили: 26 раз
#9
Сообщение
05.09.2011, 02:32
поделюсь чего не поделится, только завтра с работы отпишусь.
-
Sigaro
- Капитан
- Сообщения: 330
- Зарегистрирован: 11.02.2010
- Откуда: Тольятти
-
Контактная информация:
#10
Сообщение
05.09.2011, 21:36
bir3yk писал(а):поделюсь чего не поделится, только завтра с работы отпишусь.
Если не затруднит и мне тоже пожалуйста отпишите, можно еще написать какие утилиты нужны для работ скрипта (qstats, crontab и т.д).
Никто не заставляет тебя сюда смотреть!
-
Sigaro
- Капитан
- Сообщения: 330
- Зарегистрирован: 11.02.2010
- Откуда: Тольятти
-
Контактная информация:
#12
Сообщение
05.09.2011, 22:37
Спасибо, завтра отпишусь как работает.
Никто не заставляет тебя сюда смотреть!
-
kolobok66rus
- Капитан
- Сообщения: 266
- Зарегистрирован: 29.10.2010
- Поблагодарили: 4 раза
#13
Сообщение
06.09.2011, 20:05
CPU -AMD Phenom II X6 1100T Black Edition (HDE00ZF) 3.3 ГГц
MEM -SAMSUNG DDR-III DIMM 4Gb <PC3-10600> x4 - 16Гб
OC - Linux Debian 6.0.1 amd_64
Мой сервер CS:GO [NO-STEAM] : 46.48.26.209:27022
-
liverpool
- Сержант
- Сообщения: 79
- Зарегистрирован: 30.01.2007
- Откуда: Санкт-Петербург
- Благодарил (а): 1 раз
- Поблагодарили: 3 раза
-
Контактная информация:
#14
Сообщение
06.09.2011, 20:30
Простая версия 0.98 с eqline. Просто закомментирована функция check_version и везде поменяли hlds на srcds.
Последний раз редактировалось
liverpool 06.09.2011, 20:31, всего редактировалось 1 раз.
-
Sigaro
- Капитан
- Сообщения: 330
- Зарегистрирован: 11.02.2010
- Откуда: Тольятти
-
Контактная информация:
#15
Сообщение
06.09.2011, 20:40
liverpool писал(а):
Простая версия 0.98 с eqline. Просто закомментирована функция check_version и везде поменяли hlds на srcds.
Он же сказал - чуть измененная.
Никто не заставляет тебя сюда смотреть!