Плагин для серверов Майнкрафт на Paper, который открывает REST API с данными сервера для сайта, Discord-бота или панели управления. Через него можно получать сведения об игроках, мирах, производительности, наказаниях и других параметрах, не создавая нагрузку на основной поток сервера.

Возможности
- Отдаёт данные в JSON через адреса
/api/v1/...; для интеграций предназначен вариант с номером API, а/api/...ведёт на актуальный вариант. - Позволяет узнать число и UUID игроков онлайн, сведения об игроке, мирах, игровых правилах, сущностях, лимитах спавна, производительности, списке плагинов, операторах, белом списке и банах.
- Хранит историю онлайна, статистику и журнал банов, временных банов, киков, предупреждений, мутов и тюрем. Снятые и истёкшие наказания остаются в истории.
- Для каждого адреса можно отдельно включить ключ доступа, а отдельные поля скрыть даже в общедоступном ответе. Ключ передаётся в заголовке
X-API-Key. - Ограничивает частоту запросов и умеет определять настоящий IP посетителя за Cloudflare, Nginx или Apache через
real-ip.enabledи списокtrusted-proxies. - При включении раздела
webпредоставляет страницы документации API, просмотра наказаний и предпросмотра PlaceholderAPI. - Поддерживает SQLite, MySQL и MariaDB. Redis необязателен: он полезен для объединения нескольких серверов, а при его недоступности плагин продолжает работать с базой данных.
- Несколько серверов могут использовать общие Redis и базу данных; для каждого нужен свой
server-id, а/networkсобирает общие данные сети.
Команды
/serverapi info— показать текущее состояние плагина./serverapi reload— перечитать конфиг и перезапустить HTTP-сервер./serverapi lang <code>— сменить язык сообщений и конфигурации.
Права
serverapi.admin— доступ к командам плагина.serverapi.notice— уведомления о запросах при включённой отладке.
Настройка
Основные параметры находятся в plugins/ServerAPI/config.yml. Проверьте http.port: порт 8080, используемый по умолчанию, может быть занят другим сервисом.
Доступом управляют параметры auth.require-key.<endpoint>, auth.protected-fields.<endpoint>, auth.hide-protected и auth.enabled. Для общедоступных адресов можно скрыть чувствительные данные; скрытые поля перечисляются в meta.hiddenFields ответа.
Интервалы обновления снимков настраиваются в разделе cache в тиках. Метка cachedAt показывает момент сбора данных, а updatedAt — момент формирования ответа.
Дополнительные данные появляются при наличии совместимых плагинов:
- LuckPerms — ранг игрока;
- CMI — никнейм, цвета, время игры, AFK, предупреждения, муты и тюрьмы;
- Vault — баланс;
- DiscordSRV — данные Discord и число участников;
- PlaceholderAPI — адрес
/placeholders.
Требования
Нужны Paper и Java 21 или новее. При первом запуске Paper загружает драйверы базы данных, поэтому серверу требуется доступ к сети.
Встроены английский и традиционный китайский языки; русского перевода в исходном описании нет.
