- Видимый копирайт
- Да
- Поддерживаемые версии XenForo
- 2.1.x
- 2.2.x
Очередной мониторинг серверов для форума на движке 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. Поддержка игровых серверов на базе Terraria. Необходимо использование модифицированной версии сервера - TShock.
- [Server Monitor] Source Query Protocol. Поддержка игровых серверов, использующих в основе способ опроса по протоколу . Это игры на движке Source (Fistful of Frags, Garry's Mod, Counter-Strike: Source, Counter-Strike: Global Offensive, Team Fortress 2 и многие другие), GoldSource (Half-Life, Counter-Strike, Day of Defeat), а так же Starbound, Rust, Arma 3, ARK: Survival Evolved и многие другие!
Скриншоты
Скриншоты делались в разное время, но преимущественно - ночью. Отсюда и онлайн соответствующий местами в той же TF2.Виджет: внешний вид.
Имеется два варианта вывода: табличкой (1) и обычными строками (2).
В настройках возможно указать вывод не всех серверов, а только определенных:
В админке после установки дополнения, появится целый раздел с двумя пунктами (Protocols недоступен в обычном режиме, и появляется только когда активен режим разработчика в движке):
При добавлении игры, указывается протокол, её название, иконка (если есть, она будет отображаться в списке серверов) и настройки протокола. Каждый протокол может добавлять свои опции.
Аналогичная история с страницей добавления сервера. Могут быть дополнительные настройки самого протокола:
Протокол реализует небольшой интерфейс, в рамках которого может быть:
- Определён способ опроса сервера.
- Сгенерирована ссылка для подключения на сервер (если такая вообще возможна).
- Реализован вывод списка игроков (если возможно). Протокол полностью объявляет свой шаблон для вывода. Ниже - пример списка игроков для Terraria.
Известные проблемы
Т.к. это «альфа», у неё есть некоторые проблемы, которые будут решаться с течением времени.- Подогнать шаблоны виджета под вывод в боковой панели. Сейчас там смотрится не очень. Не рекомендую даже смотреть.
- Мини-рефакторинг. Улучшение качества кодовой базы.