Masterserver 0.60 alpha 1 build 21 linux(x86/32bit)

Ну вот собственно и долгожданный релиз.

С момента преальфы добавлось:
поддержка dod в режимах file и cmq.
в веб панели статистика.
как всегда куча мелких исправлений.

Краткий курс по установки/настройке:
1) Скачиваем wget http://non-steam.ru/?dl_id=13
2) Распаковываем unzip ms060a1b21.zip
3) Устанавлвиваем права:
chmod +x mslauncher
chmod +x ms.so
chmod +x msstats.so
chmod +x cpsocket.so
chmod +x mswebcp.so
chmod 777 msstats.db
chmod +x start_ms_screen.sh
4)Запускаем:
./start_ms_screen.sh

Как всегда для работы нужен screen и под 64 битной ос ia32-libs(Debian: apt-get install ia32-libs)

5) Заходим по домену или ip http://ip:8888/ пароль/админ admin/admin

Статистика считается каждый час или можно в ручную пнуть из админки в статистики по часам за нужный день пересчитать. Статистика считается только для нового формата логов, который только с этой версии появился. Статистика не будет работать если запись логов идет в mysql! Для включения записи логов в бд(mysql) пока что нужно в ручную в ms.cfg в секции log параметр mode выставить 1 и ввести настройки от mysql сервера.

Так же скорость работы ms ниже при записи логов в mysql, так же логирование запросов в файл занимают меньше на ~25% места на жестком диске.

———————

UPDATE!

Вылезли первые недочеты (
На скорую руку поправил, снизу только поправленые файлы, а не релиз, т.е. положить с заменой.
Исправлено:
CMQ режим, забыл написать проверку для dod если нету запроса(noquery)
Статистика каждый час не считалась, вроде поправил.
В статистики по часам не было 23 часа.
Не закрывались сокеты при отключение мастерсервера.
И исправлен запрос на обновления уникальных запросов в стате за 30 дней.

Обсуждение на форуме…

  ms060a1b21.zip (8,8 MiB, 1 135 hits)

  ms060a1b22.zip (2,2 MiB, 913 hits)

Python masterserver 0.60 alpha 1 (win32) + Веб панель.

Пишется как убийца платной версии от Джони.  Этот релиз как preview того что будет 24 октября 2014 года(надеюсь успею).

Пока что данный релиз только под windows чтобы посмотреть.

Исправлено или добавлено:

  • Исправлено падение мс без записи ошибки в логи, при включенной записи логов в mysql(болезнь версии 0.5+ ).
  • Исправил вывод большего кол-ва серверов в режимах: boostbymirror, boostbymirroracrobat, monengine
  • Произведена приличная оптимизация кода
  • Веб панель, пока что без статистики, работает на порту 8888 пароль/логин admin/admin
  • Переработан Simple DOS protection теперь его можно отключить или же выставить нужный режим, блокировка по ip или ip:port
  • Переработаны логи ошибок и обращений- уменьшился вес.
  • Положено начало написания API, которое даст возможность самим написать веб панельку для управления мастерсервером

Много мелких доработок всех не упомню.

Обсуждения на форуме

  060_prealpha_1.rar (5,0 MiB, 906 hits)

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

 

 

Автозагрузка мастерсервера linux (Debian 7)

Вам понадобится приложенный файлик ниже, качаем. Перед тем как его залить на машину, нужно поправить адрес где лежит ваш мастерсервер:

  •  # Type folder of masterserver here:
    cd /opt/rev_051a2

меняете на вашу папку и его нужно положить в /etc/init.d/; не забываем что он должен быть исполняемым пишем в консоле: chmod +x start_masterserver_screen.sh. После этого в консоле из под рута прописать вот эти строчки:

ln -s /etc/init.d/start_masterserver_screen.sh /etc/rc2.d/S20masterserver

ln -s /etc/init.d/start_masterserver_screen.sh /etc/rc3.d/S20masterserver

ln -s /etc/init.d/start_masterserver_screen.sh /etc/rc4.d/S20masterserver

ln -s /etc/init.d/start_masterserver_screen.sh /etc/rc5.d/S20masterserver

обсуждение данной темы на форуме

  start_masterserver_screen.sh (773 bytes, 956 hits)

Подключение удаленной директории через ssh (windows)

1) Качаем и устанавливаем http://non-steam.ru/downloads/DokanInstall_0.6.0.exe

2) Качаем, настраиваем и запускаем: http://non-steam.ru/downloads/dokan-sshfs-0.6.0.zip

p.s. Если пинг позволяет, то лучше в Options поставить галочку рядом с Disable cache

  DokanInstall_0.6.0.exe (562,4 KiB, 1 026 hits)

  dokan-sshfs-0.6.0.zip (199,0 KiB, 939 hits)

python+cython masterserver версия 0.5.1 alpha 1(linux version)

Добавил в конфиг пункт fixsortnoping. Значение 0 — отключен, больше 0: кол-во рандомно сгенерированных серверов(типа 192.168.х.х:ххххх) добавляемых в список после каждого реального.

Сделано это для того чтобы сортировка в клиенте была как и в веб морде по позициям. Данная опция увеличивает кол-во пакетов и кол-во серверов отправляемых игроку(по формуле: ваше кол-во серверов * на значение fixsortnoping — fixsortnoping), т.е. увеличивает нагрузку на трафик.

забираем отсюда http://non-steam.ru/downloads/ms051a1.tar.gz

Обсуждение на форуме.

Подключение удаленной директории через ssh

Linux

В linux-системах существует утилита sshfs, основанная на fuse. Работать с ней проще, чем в windows, и все действия сводятся к трем командам:

  1. Устанавливаем (для ubuntu/debian):
    sudo apt-get install sshfs
  2. Создаем директорию, в которую будет подмонтированная удаленная директория ($local_path) и запускаем sshfs:
    sshfs $login@$host:$remote_path $local_path
    Теперь в $local_path располагается ваша домашняя директория сервера mtl.
  3. Чтобы отмонтировать директорию, используется другая команда:
    fusermount -u $local_path