▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/velostat - Статус серверов Velocity в JSON
velostat - Статус серверов Velocity в JSON

velostat - Статус серверов Velocity в JSON

Лёгкий плагин velostat для прокси Velocity собирает данные о бэкенд-серверах и отдаёт их в JSON. Идеальное решение для дашбордов и мониторинга.

Оцените первым
2.2K
0

Если вы держите сетку серверов под прокси Velocity, вам жизненно необходим мониторинг. Плагин velostat закрывает эту боль - он поднимает легковесный HTTP API и отдаёт реал-тайм статус всех бэкенд-серверов в удобном формате JSON. Никаких костылей, чистый утилитный плагин для администраторов.

Что умеет velostat

Плагин работает как минималистичный экспортёр. Он пингует ваши суб-сервера и собирает такие данные, как имя, адрес, статус (онлайн или оффлайн), MOTD, количество игроков онлайн и версию игры. Совместимость заявлена с Minecraft Java от версии 1.7.2 вплоть до 1.21.x, так как плагин ставится поверх прокси-сервера и не зависит от ядер бэкендов.

Все экспортируемые поля можно гибко настроить. Хотите скрыть адреса серверов для публичной статус-страницы? Без проблем, отключается в конфиге.

Установка

  1. Скачайте плагин и положите velostat-x.x.jar в папку /plugins на вашем прокси Velocity.
  2. Перезапустите прокси. Готово.

Совет: если вы только планируете открывать свой сервер Minecraft и ищете хостинг, обратите внимание на BungeeHost (https://Bungee.Host). Там Velocity и подобные плагины разворачиваются в пару кликов, а инфраструктура уже заточена под прокси.

Настройка config.yml

Основные параметры находятся в plugins/velostat/config.yml. Тут можно указать порт для HTTP сервера, интервал пингования и то, какие именно поля попадут в JSON.

ПараметрОписаниеПо умолчанию
api.portПорт для внутреннего HTTP-сервера.8080
ping.interval_secondsИнтервал в секундах, с которым плагин пингует суб-серверы.10
export.server.nameВключать ли имя сервера (из Velocity) в JSON.true
export.server.addressВключать ли адрес сервера в JSON.true
export.server.statusВключать ли статус онлайн/оффлайн в JSON.true
export.server.motdВключать ли MOTD сервера в JSON.true
export.server.playersВключать ли количество игроков (онлайн/макс) в JSON.true
export.server.versionВключать ли название версии игры и протокола в JSON.true
export.server.updated_atВключать ли время последнего обновления в JSON.true

Как получить данные

Обращение по адресу http://<IP_СЕРВЕРА>:<ПОРТ>/status вернёт данные с заголовком Content-Type: application/.

Пример полного вывода

{ "lobby": { "name": "lobby", "address": "127.0.0.1:25565", "online": true, "motd": "Welcome to the Lobby!", "players": { "online": 12, "max": 100 }, "version": { "name": "Paper 1.21.1", "protocol": 767 }, "updated_at": 1704681000000 }, "survival": { "name": "survival", "address": "127.0.0.1:25566", "online": false, "motd": null, "players": { "online": 0, "max": 0 }, "version": null, "updated_at": 1704681000000 } }

Пример частичного вывода (если отключить часть полей)

{ "lobby": { "name": "lobby", "online": true, "motd": "Welcome to the Lobby!", "players": { "online": 12, "max": 100 }, "updated_at": 1704681000000 }, "survival": { "name": "survival", "online": false, "motd": null, "players": { "online": 0, "max": 0 }, "updated_at": 1704681000000 } }

Структура полей

Корневой объект

ПолеТипОписание
serversarrayСписок серверов, прописанных в velocity.toml

Объект сервера

ПолеТипОписание
namestringИмя сервера из секции [servers] в velocity.toml
addressstringАдрес сервера (хост:порт)
onlinebooleanОтветил ли сервер на пинг
motdstringMOTD сервера (может содержать цветовые коды)
playersobjectИнформация об игроках (только если включено и сервер онлайн)
versionobjectИнформация о версии Minecraft
updated_atnumberВремя последнего обновления (UNIX время)

Объект игроков

ПолеТипОписание
onlinenumberТекущее количество игроков онлайн
maxnumberМаксимальная вместимость

Объект версии

ПолеТипОписание
namestringИмя версии, которое отдаёт сервер
protocolnumberВерсия протокола Minecraft

Важные нюансы

  • Поля могут быть пропущены в зависимости от настроек в config.yml.
  • Если сервер оффлайн, в JSON гарантированно будут только name, address и online. Остальные поля могут быть null. Поэтому при парсинге JSON для своего дашборда всегда делайте проверки на null.
  • Этот API создан именно для внутренних дашбордов, статус-страниц или систем мониторинга (типа Grafana или самописных панелей).

Если плагин после обновления или изменения конфига начинает работать криво, просто удалите файл config.yml - он пересоздастся с дефолтными значениями. Это часто решает 99% проблем.

Партнёрский материал

Сервер для плагина velostat - Статус серверов Velocity в JSON - как у профи

Плагин velostat - Статус серверов Velocity в JSON создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином velostat - Статус серверов Velocity в JSON для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.3.x26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x1.7.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Детали

Лицензия:
Опубликован:9 месяцев назад
Обновлён:1 день назад
Главная