Плагин для серверов Майнкрафт на Paper и Spigot, который открывает статистику игроков через REST API. Его можно использовать для сайта с таблицей лидеров, панели управления, бота или другой внешней интеграции.
Возможности
- Отдаёт время в игре, убийства, смерти, добытые блоки, созданные предметы, перемещения и другие показатели игрока.
- Формирует таблицы лидеров по времени в игре, убийствам, смертям, добыче и крафтам.
- Загружает статистику вне главного потока сервера.
- Поддерживает сжатие ответов gzip, кэширование, пагинацию и сортировку.
- Позволяет защитить API ключом Bearer, ограничением запросов для IP-адресов, списком разрешённых IP, CORS и HTTPS.
- Встроенная документация API открывается по пути
/api/docs.
Основные запросы API:
GET /api/health— состояние сервера.GET /api/players— список известных игроков.GET /api/player/{player}— полная статистика игрока по имени или UUID.GET /api/player/{player}/summary— краткая статистика.GET /api/leaderboard/{type}— таблица лидеров.
Для списков доступны параметры limit, page и order; у списка игроков можно использовать online_only=true.
Команды
/statfyr reload— перечитать конфиг./statfyr status— показать состояние API и порт.
Права
statfyr.reload— доступ к/statfyr reload.statfyr.status— доступ к/statfyr status.
Настройка
Конфиг находится в plugins/statfyr/config.yml. В нём задаются:
http.portиhttp.bind-address— порт и адрес API;security.enable-api-keyиsecurity.api-key— включение ключа Bearer и сам ключ;security.enable-rate-limit,rate-limit-requests,rate-limit-window-seconds— ограничение частоты запросов;allowed-origins— разрешённые источники CORS;cache.ttl-secondsиcache.refresh-seconds— время кэширования.
Ключ API можно передать переменной окружения STATFYR_API_KEY, а пароль хранилища HTTPS — через STATFYR_KEYSTORE_PASSWORD.
Требования
Нужны Java и сервер на Paper или Spigot.
