Скрипт запуска HLDS-серверов Linux - Форум
Реклама:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт запуска HLDS-серверов Linux
zanoza73Дата: Понедельник, 05.09.2011, 23:22 | Сообщение # 1
Администратор
Группа: Администраторы
Сообщений: 9
Репутация: 104
Статус:
Столкнувшись с разными проблемками пришлось написать для себя скрипт для запуска серверов! Написал Выкладываю.

Поддержка Counter-Strike SOURCE серверов!

Обновление 02.05.2011
Версия: 0.98

Автор: LeXiKoN
ChangeLog:
0.98
Форматирование вывода информации
Мелкий баг-фикс остановки сервера ( иногда сервер после остановки все равно зависал вместо надписи "Server shutting down" )
При рестарте в чате сервера пишутся сообщения о том, через сколько будет произведен ребут( была добавлена новая квара restarttime=10 ( в секундах ) ( спасибо опять же Aion )


Особенности:
Цветовая индикация, что позволит вам легко понять информацию
Распределения серверов по ядрам ( подробнее ниже )
Подключение по команде к консоли сервера
Определение статуса работы сервера
Возможность компиляции плагинов в каталоге 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
Скачать #2
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


Сообщение отредактировал zanoza73 - Вторник, 13.09.2011, 16:51
 
  • Страница 1 из 1
  • 1
Поиск:

Версия Сайта: 1.14
|ЌĨŁŁŠ ВǾŤ|ŘỮŠ|
© 2011-2013 Servergame-css.ucoz.ru
Анализ веб сайтов