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

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

^Место доступно для покупки - 4000 руб/мес^

Новости

17-апр
30-дек
29-дек
26-дек

Скрипт автоматического перезапуска МастерСервера

, Автозапуск MS, перезапуск MS, перезапуск MasterServer
Статус пользователя Vitaliy
сообщение 30.9.2017, 14:12
Сообщение #1


Стаж: 6 лет

Сообщений: 2427
Благодарностей: 511
Полезность: 603

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

Хайо!
У вас есть мастерсервер, но нет времени следить за корректностью его работы? Тогда вы попали по адресу))

В каких случаях мне поможет данный скрипт?
В следующих:
1. После перезапуска ВДС
2. После падения процесса по любой причине
3. Если мастерсервер работает (процесс висит, порт прослушивается), но не отдает список серверов

Возможности:
1. Проверка статуса порта (прослушивается ли он)
2. Проверка ответа от МС (проверка корректности ответа мс)
3. Логирование проверок
4. Локальный перезапуск
5. Удаленный перезапуск по SSH (скрипт на одной вдс, а МС на другой)
6. Отправка уведомления о перезапуске на почту
7. Возможность установить проверку на 1 процесс и несколько МС (разные порты)
8. Гибкий конфиг настроек, необходимости лезть в код нету

Требования:
- Netcat (по умолчанию есть)
- Mail (необходимо установить для отправки email уведомлений)
- sshpass (необходимо установить для выполнения удаленного перезапуска)
- ssh (по умолчанию есть)

Скриншотики:

МС работает:
Прикрепленное изображение
МС не работает:
Прикрепленное изображение
Конфиг:
Прикрепленное изображение
Файл логов:
Прикрепленное изображение
Email уведомление:
Прикрепленное изображение
Вау, хочу поставить себе, а как?
0. Залить папку checker в папку home на вашем севрере
1. Настроить конфиг checker.conf в папке checker/configs (Описание настройки будет ниже)
2. Логинимся к своей серверу по SSH используя putty
3. Вводим команду "crontab -e"
4. В самый конец вставляем строчку:
* * * * * cd /home/checker && timeout 30 bash checkMasterServerStatus.sh checker.conf > /dev/null 2>&1
5. Сохранить изменения
6. Спим спокойно
Настройки конфига

#[MasterServer settings]
host=127.0.0.1 # (MasterServer host, set domain or external address for remote and 127.0.0.1 for local check) Можно не трогать
port=27010 # (MasterServer port) Можно не трогать

#[Checker settings]
checkMasterServerAnswer=1 # (Check if MS answer is correct [0 - no, 1 - yes]) Можно не трогать

#[Restart settings]
type=0 # (For remote restart used ssh [0 - local, 1 - remote]) Можно не трогать
processName=mslauncher # (Process name, which must be killed) Можно не трогать, если мс от jesuspunk
startCommand="cd /home/jesus-ms && ./start_ms_screen.sh" # (Start command) Меняем на свою команду запуска
checkBeforeRestart=1 # (Number of rechecks before restart) К-во повторных проверок перед перезапуском МС
recheckSleep=3 # (Time in seconds for sleep before recheck) Время в секундах перед повторной проверкой МС

#[Remote host settings]
rHost=185.158.115.99 Можно не трогать
rPort=22 Можно не трогать
rUser=root Можно не трогать
rPassword=ZiymAIaOuEuqHPPu Можно не трогать

#[Email settings]
sendNotify=1 # (Send email notify [0 - no, 1 - yes]) Для отключения уведомлений на почту поставьте 0 вместо 1
[email protected] # (Send notify about restarts to email) Смените на свою почту

#[Logging settings]
logSuccess=1 # (Log success check [0 - no, 1 - yes]) Можно не трогать
logError=1 # (Log error check [0 - no, 1 - yes]) Можно не трогать

#[Output settings]
printMessages=1 # (Print messages [1 - yes, 0 - no]) Можно не трогать

#[System settings]
checkByteString=ffffffff660a # (Success byte answer) НЕ ТРОГАЕМ
sendPacketValue=1xFF0.0.0.0:0\0\gamedir\cstrike\0 # (Query packet value) НЕ ТРОГАЕМ

Особенности:
- тот же самый скрипт можно запускать с разным названием конфигов, изменняя конфиг в кронтаб команде (требуется для проверки нескольких МС на 1 сервере )

Ошибки:
- если найдете ошибку или будут пожелания оставьте свой пост здесь, не пишите мне в скайп и тд.)
[скрипт тестировался мной, но проблемы не исключены]


Если у кого возникло желание сказать спасибо в денежной форме: (заранее спасибо)

Webmoney
R354916612926
U238062228356
Z103301982775
E137896298579

Могу установить за Вас, цена - 200 р, кому необходимо стучите в скайп
Так же на бесплатной основе поддержка будет оказана в данном топике

Не орите что не работает, если не работает значит криво настроили!
Прикрепленный файл  MS_Checker_v1.0_by_www.SVV.name.rar ( 1.95 килобайт ) Кол-во скачиваний: 25


Отредактировал: Vitaliy, - 30.9.2017, 23:21


PHP / JS / Java / JavaFX
SVV Monitor Engine - Продажа мониторинга игровых серверов, подробнее: профиль / лс / контакты
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 5 раз
   Цитировать сообщение
EvilSMS
сообщение 30.9.2017, 14:51
Сообщение #2
Стаж: 2 года 1 месяц

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

Молодец Виталик ! А-то надоели проблемы мастерсерверов. Напомни свой скайп в ЛС, а-то в аську не захожу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 30.9.2017, 18:28
Сообщение #3


Стаж: 5 лет 3 месяца

Сообщений: 1159
Благодарностей: 743
Полезность: 872

HostGame.cf
Автозапуск после перезагрузки VPS и рестарт после падения делается баш-скриптом на 3 строки через while в кроне.
Реально для чего вижу этот скрипт полезным - это kill + запуск процесса МС в случае его подвисаний. У меня бывает stack overflow или segmentation fault в процессе работы и это бесит, т.к. процесс не падает и вызвавший его скрипт не понимает что его нужно перезапустить. Собирался сам писать подобный скрипт, но определенно не на баше потому что в нем не шарю толком. Протестирую сегодня.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя twileck
сообщение 1.10.2017, 7:22
Сообщение #4


Стаж: 4 года 9 месяцев

Сообщений: 848
Благодарностей: 517
Полезность: 791

Цитата(Metal Messiah @ 30.9.2017, 19:28) *
Автозапуск после перезагрузки VPS и рестарт после падения делается баш-скриптом на 3 строки через while в кроне.
Реально для чего вижу этот скрипт полезным - это kill + запуск процесса МС в случае его подвисаний. У меня бывает stack overflow или segmentation fault в процессе работы и это бесит, т.к. процесс не падает и вызвавший его скрипт не понимает что его нужно перезапустить. Собирался сам писать подобный скрипт, но определенно не на баше потому что в нем не шарю толком. Протестирую сегодня.

Каждый из скрипта свои плюсы вынесет.

Отредактировал: twileck, - 1.10.2017, 7:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 4 гостей читают эту тему: