- Совместимость с XenForo
- 2.1
- 2.2
- Видимый копирайт
- Да
Очередной мониторинг серверов для форума на движке XenForo.
Дополнение максимально абстрагирует понятие "игрового сервера", насколько это только возможно.
Игровой сервер ссылается на игру, которая ссылается на протокол и содержит в себе его настройки (если есть).
Протокол ссылается на адаптер, который уже описывает способ получения информации о игровом сервере (включая запись в кеш), способ вывода информации в движке, настройки.
Такая архитектура позволяет Вам выводить информацию не только об игровых серверах в условном Source, для получения информации о которых необходимо отправлять A2S-запрос по UDP-протоколу, но и, к примеру, в Terraria (REST HTTP API)!
Виджет: внешний вид.
Имеется два варианта вывода: табличкой (1) и обычными строками (2).
В настройках возможно указать вывод не всех серверов, а только определенных:
В админке после установки дополнения, появится целый раздел с двумя пунктами (Protocols недоступен в обычном режиме, и появляется только когда активен режим разработчика в движке):
При добавлении игры, указывается протокол, её название, иконка (если есть, она будет отображаться в списке серверов) и настройки протокола. Каждый протокол может добавлять свои опции.
Аналогичная история с страницей добавления сервера. Могут быть дополнительные настройки самого протокола:
Протокол реализует небольшой интерфейс, в рамках которого может быть:
Требования
- XenForo v2.1 и выше.
- [SModders] Core v1.0.2 и выше.
Особенности
- Модульная архитектура. Само дополнение реализует модульную архитектуру, позволяющую в одном месте поместить игровые сервера из двух разных совершенно игр, использующих под капотом разные способы опроса самого сервера. Подробнее - в соответствующем разделе ниже.
- Легковесность. Для вывода информации о игровом сервере (и не только) исполняется как можно меньше кода, снижая тем самым нагрузку на Ваш веб-сервер.
- Кеширование. Дополнение не "бегает" постоянно на игровой сервер за информацией. Вместо этого, оно через планировщик движка выполняет операцию обновления информации о сервере, и оперирует при выводе - именно полученной когда-то информацией.
Архитектура
Пара слов об архитектуре для тех, кто в этом что-то понимает.Дополнение максимально абстрагирует понятие "игрового сервера", насколько это только возможно.
Игровой сервер ссылается на игру, которая ссылается на протокол и содержит в себе его настройки (если есть).
Протокол ссылается на адаптер, который уже описывает способ получения информации о игровом сервере (включая запись в кеш), способ вывода информации в движке, настройки.
Такая архитектура позволяет Вам выводить информацию не только об игровых серверах в условном Source, для получения информации о которых необходимо отправлять A2S-запрос по UDP-протоколу, но и, к примеру, в Terraria (REST HTTP API)!
Протоколы
Опрос игровых серверов невозможен без протоколов, а протокол не может существовать без адаптера. В самом плагине по-умолчанию не включен ни один протокол и ни один адаптер (для поддержания легковесности решения), но от меня есть уже пара дополнений, реализующие некоторые из протоколов:- [Server Monitor] tShock Protocol. Поддержка игровых серверов на базе . Необходимо использование модифицированной версии сервера - .
- [Server Monitor] Source Query Protocol. Поддержка игровых серверов, использующих в основе способ опроса по протоколу . Это игры на движке Source ( , , , , и многие другие), GoldSource ( , , ), а так же , , , и многие другие!
Скриншоты
Скриншоты делались в разное время, но преимущественно - ночью. Отсюда и онлайн соответствующий местами в той же TF2.Виджет: внешний вид.
Имеется два варианта вывода: табличкой (1) и обычными строками (2).
В настройках возможно указать вывод не всех серверов, а только определенных:
В админке после установки дополнения, появится целый раздел с двумя пунктами (Protocols недоступен в обычном режиме, и появляется только когда активен режим разработчика в движке):
При добавлении игры, указывается протокол, её название, иконка (если есть, она будет отображаться в списке серверов) и настройки протокола. Каждый протокол может добавлять свои опции.
Аналогичная история с страницей добавления сервера. Могут быть дополнительные настройки самого протокола:
Протокол реализует небольшой интерфейс, в рамках которого может быть:
- Определён способ опроса сервера.
- Сгенерирована ссылка для подключения на сервер (если такая вообще возможна).
- Реализован вывод списка игроков (если возможно). Протокол полностью объявляет свой шаблон для вывода. Ниже - пример списка игроков для Terraria.
Известные проблемы
Т.к. это «альфа», у неё есть некоторые проблемы, которые будут решаться с течением времени.- Подогнать шаблоны виджета под вывод в боковой панели. Сейчас там смотрится не очень. Не рекомендую даже смотреть.
- Мини-рефакторинг. Улучшение качества кодовой базы.
Материальная поддержка
Это (и не только) дополнение писалось в свободное время, которое могло быть потрачено на реализацию «приватов», потому буду очень признателен за материальную поддержку.- Сбербанк (VISA) / Альфа-банк (MasterCard): в ЛС
- QIWI: по никнейму
- Яндекс.Деньги: /
- WebMoney:
Z368357223374
/R933190893831
/P700101260718
(WMID ) - PayPal:
Дополнение его добавляет, как и указано в самом вверху страницы. Для его отключения достаточно отключить модификацию одного-единственного шаблона, которое добавляет данное дополнение, или прописать следующую строчку в Ваш
src/config.php
:
PHP:
$config['sm_servermonitor.copyrightKey'] = 'i really want remove this copyright!';