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 |
|
| |