Скрипт запуска серверов hlds и srcds в Linux

Тема в разделе "Статьи и мануалы", создана пользователем MFS, 13 сен 2011.

  1. MFS

    MFS

    Сообщения:
    1.307
    Симпатии:
    533
    Скрипт запуска серверов 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, более свежие версии смотрите на сайте автора
     

    Вложения:

    Последнее редактирование: 9 фев 2012
    pro100dimon, Besenok_Kid, soltan и 2 другим нравится это.
  2. Rt.

    Rt.

    Сообщения:
    396
    Симпатии:
    121
    оригиналом не пользовался. но извлек 3 момента для себя.
    а то мои сервы выключались не правильно.
     
  3. Besenok_Kid

    Besenok_Kid

    Сообщения:
    227
    Симпатии:
    63
    Простите лаймера за глупый вопрос, но очень хочется чему то научиться.
    Скрипт server_deb_source.txt
    Не могу понять как решить проблему "Файл qconsole.log отсутствует"

    [>>] Проверка размера .log файлов
    Размер checker.log: 475 байт
    Файл qconsole.log отсутствует
    [>>] Запуск сервера My Server
    Порт севрера: 27015
    Привязка к ядру: 1
    Запуск от юзера: root
    Статус: [email protected]:

    Сам отвечаю на свой вопрос.
    sudo touch /путь/к/файлу/файл (создать файл, если его нет)
     
    Последнее редактирование: 21 сен 2011
  4. FoLk

    FoLk

    Сообщения:
    104
    Симпатии:
    56
    Как заставить работать сразу на 6 ядрах?
    Или бред?


    Прописал 0,1,2,3,4,5

    Се равно грузит 1 проц:

    Tasks: 116 total, 2 running, 111 sleeping, 3 stopped, 0 zombie
    Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
    Cpu1 : 0.3%us, 0.0%sy, 0.0%ni, 93.4%id, 6.3%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu2 : 73.1%us, 6.4%sy, 0.0%ni, 19.9%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu4 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Cpu5 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
     
  5. criminalist

    criminalist

    Сообщения:
    191
    Симпатии:
    20
    Зачем sudo понять не могу ?) и кстати забудьте про запуск сервера от рута плохой тон
     
  6. Sergius

    Sergius

    Сообщения:
    90
    Симпатии:
    41
    Оффтоп
     
  7. zalman

    zalman Ушёл в армию 13.12.2011

    Сообщения:
    764
    Симпатии:
    146
    Сервера HLDS SRCDS не многозадачные по этому работают только на одном ядре
     
  8. Rt.

    Rt.

    Сообщения:
    396
    Симпатии:
    121
    FoLk,прописывать нужно только 1 ядро, а не все подряд, через запятую.
     
  9. zzipper

    zzipper

    Сообщения:
    1
    Симпатии:
    0
    Сайт недоступен. Зазеркальте, пожалуйста.
     
  10. FoLk

    FoLk

    Сообщения:
    104
    Симпатии:
    56
    Восстановите ссылки плиз(((
     
  11. MFS

    MFS

    Сообщения:
    1.307
    Симпатии:
    533
    ищите зеркала
     
  12. lexikon

    lexikon

    Сообщения:
    1
    Симпатии:
    1
    че вы ржоте насчет рута :DDD тролли
    везде писал что скрипт писал под себя...какая разница от кого вы пускаете...сервера все равно от пользователя запускаются, которого укажете...
     
    FoLk нравится это.
  13. FoLk

    FoLk

    Сообщения:
    104
    Симпатии:
    56
    lexikon, скрипт тема) спасибо, ссылки вновь работают)
     
  14. ZloyMonah

    ZloyMonah

    Сообщения:
    479
    Симпатии:
    71
    Я как раз с ними и работаю, только чуток подправил.... хорошая штуковина! Думаю сам ваять когда только столкнулся с ними!...

    qconsole.log - если его нет, то он должен создать, там в самом скрипте есть ошибка
    то есть в папке cstrike создается console.log, а скрипт пытается работать с qconsole.log
    нужно просмотреть скрипт и поправить!..
    А так правильная идея! )))

    Добавлено через 3 минуты
    FoLk, так работать не будет! Там сделана привязка к дру если нужно принудительно менять, а так программа или серв что там у вас по версии хз само цепляеться на ядра! Причем начина с 0
    criminalist, истина....
    Sergius, не понял ваш сарказм, если это был он или это смех от незнания???

    Добавлено через 3 часа 53 минуты
    Если кто будет работать или захочет с ним работать, пишите тут, постараюсь тут отвечать, по его работе!...
     
    Последнее редактирование: 16 дек 2011
    soltan и MFS нравится это.
  15. Aion

    Aion

    Сообщения:
    9
    Симпатии:
    8
    MFS нравится это.
  16. Scarface_slv

    Scarface_slv

    Сообщения:
    228
    Симпатии:
    47
    а на винде например че делать?
     
  17. yagoo

    yagoo

    Сообщения:
    112
    Симпатии:
    16
    У кого есть скачанные скриптики? Поделитесь за "Спасибо", пожалуйста. ;)
     
  18. yagoo

    yagoo

    Сообщения:
    112
    Симпатии:
    16
    Вот файлики:
     

    Вложения:

  19. Евгений Хомутов

    Евгений Хомутов

    Сообщения:
    25
    Симпатии:
    0
    А из-за этого скрипта не может быть такого, что сервер CSS V34 на VDS при смене карты ложится? Это бывает не всегда, раза 3-5 в день
     
  20. panikajo

    panikajo

    Сообщения:
    7
    Симпатии:
    0
    [>>] Запуск сервера [Gaming-Servera.Ru] Public Ukraine
    Порт севрера: 27015
    Привязка к ядру: 0
    Запуск от юзера: root
    Статус: [[email protected] init.d]#
    что делать?