[Linux/Python] Авторестарт игрового сервера при зависании

Небольшой код на питоне для мониторинга серверов и в случаи их зависания отправка команды на bash скрипт. Время проверки каждые 45 секунд.

И так внутри архива 3 файла:

  1. hldspub — думаю всем известный bash скрипт файл для запуска серверов
  2. server.list — файл со списком серверов которые мониторятся и командой для рестарта в случаи зависания. Формат списка:
IP сервера : порт сервера : команда которая отправится в консоль

То есть, как в примере видно что сервер 95.128.243.86 на порт 27016 будет перезапущен командой/etc/init.d/hldsfunru restart в случае зависания. В архиве аналог hldsfunru путь где будет лежать задаете вы сами.

3.  Сам скрипт aurostart.py

После заполнения и настройки hldspub и server.list достаточно в screen запустить:

python autostart.py

И вы должны увидеть строчки типа:

list of loaded servers:
95.128.243.86:27015
95.128.243.86:27020
 
 
Thread 1 of monitoring server started
Thread 2 of monitoring server started
 
 
Thread 1: Send ok to 95.128.243.86:27015 waiting response for 45 sec....
 
Thread 2: Send ok to 95.128.243.86:27020 waiting response for 45 sec....
 
Thread 1: Response ok from 95.128.243.86:27015 next retry to request is 45 sec.
 
Thread 2: Response ok from 95.128.243.86:27020 next retry to request is 45 sec.

  autorestart.zip (2,9 KiB, 968 hits)