Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

5 страниц V   1 2 ... 3 4 »

[init.d] Скрипт запуска HLDS

, Only Linux
trollface
сообщение 22.4.2014, 7:25
Сообщение #1
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

Всем привет.

Когда то давно сделал лаунчер себе для HLDS на основе лаунчера для SRCDS серверов от Cr@zy 
Цитата из hlds_launcher, о котором пойдет речь ниже:
Код
#  Counter-Strike : 1.6 Launcher
#                    
#  Author remake: neygomon
#  Original Code: Cr@zy

 
И так, что умеет скрипт:
  • Запускать сервер
  • Останавливать(корректно, а не kill процесса) сервер
  • Перезапускать сервер
  • 1. Проверять состояние(работает или нет, путем проверки screen-сессии) сервера
  • 2. Проверять состояние(работает или нет, путем запроса к серверу как удаленный клиент - qstat) сервера
  • Обновлять сервер
  • Устанавливать сервер ( Вам надо указать только путь до корневой папки сервера, папку можно не создавать - сама создастся в процессе установки;) )
  • Выводить консоль сервера
  • Распределять сервера по ядрам. Актуально для тех, кто собирается держать несколько серверов на одной машине
  • Добавляться в автозапуск системы

Список необходимых пакетов:
  • awk
  • screen
  • qstat

Установка необходимых пакетов:
  • RedHat(CentOS, Fedora и тд) - yum -y install awk screen qstat
  • Debian(Ubuntu, Debian и тд) - apt-get install awk screen qstat

Установка:
  • Скачать архив и распаковать
  • Файл hlds открыть NotePad++ или AkelPad (не в коем случае не Блокнотом!!!) и произвести необходимые настройки - указать IP, port и тд. Там есть комментарии
  • Далее заходим на SFTP (в FTP клиенте вводим данные от root и указываем 22 порт)
  • Переходим в /etc/init.d
  • Заливаем туда файл hlds из архива (он без расширения должен быть!)
  • Выполняем chmod 700 /etc/init.d/hlds
  • Все :) Мы установили скрипт :) Можно пользоваться;)

Команды, которые "понимает" скрипт:
  • service hlds start - запускает сервер
  • service hlds stop - останавливает сервер
  • service hlds restart - перезапускает сервер
  • service hlds status - проверяет работоспособность сервера (screen - сессию)
  • service hlds checker - проверяет работоспособность сервера (qstat)
  • service hlds console - выводит консоль сервера
  • service hlds update - обновление сервера (тут же и установка. выполнять команду 1 раз. скрипт "умный" сам все сделает :))

ps.gif Я в своем мануале использовал service вместо привычного /etc/init.dЭто одно и то же. просто мне удобнее писать service =P
 
ps.gif Для корректной работы функций stop и restart надо на новых build'ах(min. 6027 max. 6132) сервера исправить hlds_run. 
Разработчики зачем то сделали при команде "quit" рестарт сервера... Видимо, когда build тестировали, а перед релизом убрать забыли  <_<
Редактируем hlds_run:
  • Заходим в главную папку сервера(приметы: наличие папок cstrike, valve)
  • Ищем hlds_run
  • Открываем его через NotePad++ или AkelPad (не в коем случае не Блокнотом!!!)
  • ищем это: 
    Код
    if test $retval -eq 0 && test -z $RESTART; then
    break; # if 0 is returned then just quit
    fi

    меняем на: 
    Код
    if test $retval -eq 0; then
    break; # if 0 is returned then just quit
    fi
  • Все. Сохраняем файл и можно радоваться правильно рабочим функциям сервера :)

Добавление в автозапуск системы:
  • RedHat(CentOS, Fedora и тд) - chkconfig hlds on
  • Debian(Ubuntu, Debian и тд) - update-rc.d hlds defaults


ps.gif В названии screen сессии нельзя указывать пробелы и спецсимволы, включая точки и запятые.
То есть
SCREEN_NAME="mysession" # Правильно
SCREEN_NAME="my session" или же SCREEN_NAME="my.session" # Неправильно

Мануал ориентирован на людей, которые имеют хоть какое-то представление о Linux!

Отредактировал: trollface, - 22.4.2014, 7:38
Прикрепленные файлы:
Прикрепленный файл  hlds_launcher.zip ( 3,01 килобайт ) Кол-во скачиваний: 1490
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 18 раз
   Цитировать сообщение
TeamPlay
сообщение 22.4.2014, 7:45
Сообщение #2
Стаж: 12 лет

Сообщений: 493
Благодарностей: 130
Полезность: 0

Для билда 5787 что подправить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 7:47
Сообщение #3
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

TeamPlay,
ничего =)
пропустить пункт с редактированием hlds_run и все)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя smarty
сообщение 22.4.2014, 10:00
Сообщение #4


Стаж: 12 лет

Сообщений: 316
Благодарностей: 111
Полезность: 109

После того как я прописал update-rc.d hlds defaults, комп сходил и сделал мне кофе, крутой скрипт, спасибо :)
Скрытый текст
https://c-s.net.ua/forum/index.php?s=&showtopic=30077&view=findpost&p=220766


Отредактировал: smarty, - 22.4.2014, 10:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 10:13
Сообщение #5
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

smarty,
эм. и в чем прикол?
если есть проблема какая-то опишите нормально.
ссылки на сторонние скрипты мне не надо. и без вас в курсе.

для одаренных:
Цитата
Когда то давно сделал лаунчер себе для HLDS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя smarty
сообщение 22.4.2014, 10:21
Сообщение #6


Стаж: 12 лет

Сообщений: 316
Благодарностей: 111
Полезность: 109

Цитата(trollface @ 22.4.2014, 12:13) *
для одаренных:

Когда то давно это сделали за Вас и куда с более лучшим функционалом.
Так что не вижу никакого смысла в Вашем первом посте и выкладке "копи-паста" чужой работы.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 22.4.2014, 10:34
Сообщение #7
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

smarty,
я что-то не понял, чего вы прицепились?
не нравится/не надо свалите с темы.
что хочу то и выкладываю...
правилами не запрещено
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя smarty
сообщение 22.4.2014, 10:37
Сообщение #8


Стаж: 12 лет

Сообщений: 316
Благодарностей: 111
Полезность: 109

Цитата(trollface @ 22.4.2014, 12:34) *
smarty,
я что-то не понял, чего вы прицепились?
не нравится/не надо свалите с темы.
что хочу то и выкладываю...
правилами не запрещено

Надо, нравится! :) Говорю же кофе варит, белье стирает :)
Ладно, не злись.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя panikajo
сообщение 22.4.2014, 13:12
Сообщение #9
Стаж: 12 лет

Сообщений: 395
Благодарностей: 51
Полезность: < 0

Так как тс ленивый допилю вместо него :D
Не забудьте поставить это
crontab -e

0,30 * * * * /etc/init.d/hlds checker
00 06 * * * root /etc/init.d/hlds restart
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя znautolk
сообщение 12.5.2014, 9:41
Сообщение #10


Стаж: 16 лет

Сообщений: 52
Благодарностей: 2
Полезность: 32

Цитата(panikajo @ 22.4.2014, 14:12) *
Так как тс ленивый допилю вместо него :D
Не забудьте поставить это
crontab -e

0,30 * * * * /etc/init.d/hlds checker
00 06 * * * root /etc/init.d/hlds restart


Где поставить? Рабочий скрипт? Дампами не засыпает при краше?
Спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 13.5.2014, 15:34
Сообщение #11
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

znautolk,
это в крон прописать

скрипт рабочий

дампы пишет сам hlds и то в режиме debug
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vavarik
сообщение 14.5.2014, 12:02
Сообщение #12


Стаж: 15 лет
Город: Саратов

Сообщений: 942
Благодарностей: 318
Полезность: 143

SarHosting.ru
Люди которые имеют представление о линуксе поставят панель игровую или на крайняк плагин веб управления сервером.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kapik
сообщение 14.5.2014, 12:39
Сообщение #13
Стаж: 15 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

trollface,
Подскажи как поправить скрипт под генту , сервер "закачался" нормально , а вот стартануть что-то не получается ))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.5.2014, 12:52
Сообщение #14


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(kapik @ 14.5.2014, 13:39) *
trollface,
Подскажи как поправить скрипт под генту , сервер "закачался" нормально , а вот стартануть что-то не получается ))

Как же ты генту собрал, если элементарные вещи сделать не можешь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kapik
сообщение 14.5.2014, 12:58
Сообщение #15
Стаж: 15 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(onotole @ 14.5.2014, 12:52) *
Как же ты генту собрал, если элементарные вещи сделать не можешь?

Собрал элементарно , с первого раза , оптимизировал ядрышко , настроил все , что мне было нужно ... Вопрос был задан не о том как я собирал генту , так что ...

Складывается такое впечатление , что скрипт не определяет папку с сервером , хотя при update - все сработало на 5
Код:
Starting mysession...
Start command : -game cstrike -port 27015 +ip 0.0.0.0 -maxplayers 32 +sys_ticrate 1100 +map de_dust2 -pingboost 3
HLDS use full proc
mysession started successfully


Отредактировал: kapik, - 14.5.2014, 15:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя znautolk
сообщение 14.5.2014, 21:29
Сообщение #16


Стаж: 16 лет

Сообщений: 52
Благодарностей: 2
Полезность: 32

trollface, т.к. я имею слабое представление о Linux)))
Подскажи как поставить на FreeBSD 9.2
Список необходимых пакетов:
awk
screen
qstat
Как поставить скрипт в автозапуск системы?
Как поставить планировщик крон?

* Еще вопрос не по теме:
build 6132 - будет там VoiceTranscoder v80 работать, с нон-стимом можно будет разговаривать?

Буду признателен за ответ.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 14.5.2014, 21:33
Сообщение #17
Стаж: 12 лет

Сообщений: 1970
Благодарностей: 2423
Полезность: 0

kapik,
скрипт работает нормально sudo поставьте =\

znautolk,
sudo еще надо =)
забыл указать.

насчет фряхи не знаю. ни разу ей не пользовался

Цитата
build 6132 - будет там VoiceTranscoder v80 работать, с нон-стимом можно будет разговаривать?

будет =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя kapik
сообщение 15.5.2014, 4:35
Сообщение #18
Стаж: 15 лет

Сообщений: 72
Благодарностей: 4
Полезность: 48

Цитата(trollface @ 14.5.2014, 21:33) *
kapik,
скрипт работает нормально sudo поставьте =\

Благодарю , действительно проблема заключалась в отсутствии этого пакета !
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 15.5.2014, 7:31
Сообщение #19


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(kapik @ 15.5.2014, 5:35) *
Благодарю , действительно проблема заключалась в отсутствии этого пакета !

Пакет? В генту? о_О
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sider
сообщение 21.8.2014, 8:49
Сообщение #20


Стаж: 13 лет

Сообщений: 38
Благодарностей: 3
Полезность: 201

Меценат Меценат

Цитата(onotole @ 15.5.2014, 9:31) *
Пакет? В генту? о_О

Добрый день. Сделал все по инструкции. Сервер запускается. Но вот не одной команды сделать не могу пишет вот это env: /etc/init.d/hlds: Permission denied Перерыл все. Так и не понял в чем проблема.



А все разобрался. Нужно заходить в SSH под root. А я как раньше зашел.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
5 страниц V   1 2 ... 3 4 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 3 гостей читают эту тему: