Скрипт запуска серверов hlds и srcds в Linux
Автор LeXiKoN
Версия 0.98 от 02.05.2011
Оригинал (там же и поддержка автора)
Особенности:
Цветовая индикация, что позволит вам легко понять информацию
Распределения серверов по ядрам ( подробнее ниже )
Подключение по команде к консоли сервера
Определение статуса работы сервера
Возможность компиляции плагинов в каталоге scripting AmxModX
Проверка версии скрипта
Предстартовая проверка на запущенный процесс hlds
Проверка работоспособности сервера ( необходимо добавить фунцию в crontab - читаем раздел "Установка" )
Ведение лога консоли сервера в файл cstrike/qconsole.log
Ведение лога проверки работоспособности сервера в файл checker.log
Очистка логов checker.log и qconsole.log при превышении размера в 10Мб. ( необходимо добавить фунцию в crontab - читаем раздел "Установка" )
Конфигурирование:
Конфигурация происходит напрямую в самом файле с помощью блокнота
SERVER_NAME="My Server" #Название сервера
screen_name=server #Название screen-сессии
path="/home/hlds/server/" #Путь до ROOT-директории сервера
hlds_ip=0.0.0.0 #IP сервера
hlds_port=27015 #Порт сервера
hlds_gametype=cstrike #Тип игры
hlds_players=20 #Максимальное количество игроков на сервере
hlds_map=de_inferno #Имя первоначальной карты при запуске
hlds_pid=server.pid
screen_pid=$screen_name-screen.pid
hlds_options="-pingboost 3 +exec server.cfg +log on" #Дополнительные параметры запуска
use_user=hlds #Имя юзера от которого запускается сервер
condebug=1
check_version=0
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
restarttime=10 #Время после которого сервер будет перезагружен ( выводится в чат на сервере )
#----------------------------------------------------
# Номер ядра/процессора в линуксе
# 2х-ядерные: 0 - первое ядро, 1 - второе ядро
# 4x-ядерные: 0 - первое ядро ... 3 - четвертое ядро
# По аналогии с другими многоядерными процессорами
use_core=0
#----------------------------------------------------
Требования:
Установленные пакеты: qstat, tail, screen, wget, crontab
Установка:
Скачиваем txt файл для нужной системы
server_deb.txt - Для систем на дистрибутиве Debian
server_rh.txt - Для систем на дистрибутиве RedHat
Переименовываем в нужное вам имя без расширения
Копируем в /etc/init.d/
Устанавливаем пакет qstat, а также другие необходимые для работы пакеты, описанные в разделе "Требования"
Debian подобные дистрибы:
aptitude install qstat
Fedora/Mandriva/CentOS подобные дистрибы:
yum install qstat
Если данный пакет отсутствует в ваших дистрибутивах то скачиваем исходники и собираем!
Устанавливаем права
chmod +x /etc/init.d/hlds_runscript
Добавляем в автозагрузку:
Системы RedHat:
chkconfig --add [имя скрипта]
Системы Debian:
update-rc.d [имя скрипта] defaults
Добавляем проверку работы сервера по расписанию в Crontab (!!!!!!! Проверка будет
происходить каждые 30 минут !!!!!!!)
crontab -e
и вносим туда строку
0,30 * * * * /etc/init.d/[имя скрипта] checker
Добавляем проверку размеров логов по расписанию в Crontab (!!!!!!! Проверка будет происходить каждую неделю !!!!!!!)
crontab -e
и вносим туда строку
0 0 * * 0 /etc/init.d/[имя скрипта] logsize
Конфигурируем скрипт!!
Не забудьте
checker_command="quakestat" #Команда пакета qStat отвечающего за проверку сервера
В Вашем дистрибутиве она может быть иной! Иначе не будет работать проверка сервера по расписанию
Пользуемся
Для Debian Squeeze ВАЖНО! Если вы используете несколько скриптов для каждого сервера в отдельности то НЕОБХОДИМО поменять в заголовке файла параметр
# Provides:
для каждого сервера он должен быть разный, к примеру:
# Provides: server1
Скрипт
Debian/Ubuntu и прочие
HLDS:
wget
http://eqline.ru/project/hlds_init_script/server_deb.txt
SOURCE:
wget
http://eqline.ru/project/hlds_init_script/server_deb_source.txt
RedHat/Fedora и прочие
HLDS:
wget
http://eqline.ru/project/hlds_init_script/server_rh.txt
SOURCE:
wget
http://eqline.ru/project/hlds_init_script/server_rh_source.txt
Файлы во вложении от 27-11-11, более свежие версии смотрите на сайте автора