ServerTap: REST API для управления сервером Minecraft

ServerTap: REST API для управления серверами Minecraft Когда сервер Minecraft разрастается до десятков игроков и множества плагинов, ручное администрирование через консоль или внутриигровые команды становится неудобным. ServerTap решает эту проблему, предоставляя полноценный REST API для серверов...

Скачать ServerTap для Minecraft 1.16

Оригинальное название: ServerTap

Версии Minecraft: 1.16

ФайлВерсияЗагрузчикРазмер
ServerTap-0.5.0.jar1.16—27.7 МБСкачать
ServerTap-0.5.3.jar1.16—20.1 МБСкачать

ServerTap: REST API для управления серверами Minecraft

Когда сервер Minecraft разрастается до десятков игроков и множества плагинов, ручное администрирование через консоль или внутриигровые команды становится неудобным. ServerTap решает эту проблему, предоставляя полноценный REST API для серверов на базе Bukkit, Spigot и PaperMC. С его помощью можно получать информацию о состоянии сервера, управлять игроками, экономикой и даже читать логи в реальном времени — всё через простые HTTP-запросы.

Что такое ServerTap и зачем он нужен

ServerTap — это плагин, который превращает ваш Minecraft-сервер в веб-сервис. Вместо того чтобы каждый раз заходить в консоль или писать сложные скрипты для RCON, администратор может отправить обычный HTTP-запрос и мгновенно получить JSON-ответ. Это открывает широчайшие возможности для автоматизации: от создания панелей мониторинга до интеграции с Discord-ботами или веб-сайтами.

Плагин самостоятельно хостит документацию через Swagger UI, поэтому изучить все доступные эндпоинты можно прямо в браузере по адресу вашего сервера. Такой подход сильно экономит время при разработке собственных инструментов. Кстати, если вы предпочитаете управлять модами через удобный лаунчер, foxygame.net позволяет скачивать и устанавливать плагины прямо из меню — современный и гибкий способ поддерживать сервер в актуальном состоянии без ручного поиска файлов.

Установка и первый запуск

Установка ServerTap элементарна: скачайте последнюю версию JAR-файла с официального репозитория на GitHub (ссылка доступна на странице релизов) и поместите его в папку plugins/ вашего сервера. После перезапуска плагин автоматически создаст конфигурационный файл plugins/ServerTap/config.yml и запустит встроенный HTTP-сервер на порту 4567.

Проверить работоспособность можно с помощью curl или любого HTTP-клиента. Простейший запрос к корневому эндпоинту вернёт базовую информацию о сервере: название, версию, MOTD, данные о памяти и процессоре, а также списки забаненных игроков и IP-адресов. Например:

$ curl http://localhost:4567/v1/server
{
  "name": "Paper",
  "motd": "Добро пожаловать на мой сервер!",
  "version": "git-Paper-89 (MC: 1.15.2)",
  "health": {
    "cpus": 4,
    "uptime": 744,
    "totalMemory": 2010644480,
    "maxMemory": 2010644480,
    "freeMemory": 1332389360
  },
  "bannedPlayers": [...]
}

Основные возможности API

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

  • Управление игроками: получение списка онлайн-игроков, поиск по UUID или нику, проверка статуса (оператор, бан, вайтлист).
  • Администрирование: добавление и удаление операторов, управление вайтлистом, отправка broadcast-сообщений.
  • Миры и чанки: список миров, сохранение мира, информация о загруженных чанках.
  • Экономика: если установлен плагин экономики (например, Essentials), можно проверять баланс, переводить деньги и списывать средства.
  • Скорборды: чтение и управление игровыми таблицами рекордов.
  • Плагины: получение списка установленных плагинов с версиями.

Безопасность: TLS и аутентификация

Поскольку API открывает доступ к чувствительным функциям сервера, ServerTap предлагает несколько уровней защиты. Во-первых, настоятельно рекомендуется включить TLS (SSL) для шифрования трафика. Для этого нужно сгенерировать Java-keystore файл с помощью утилиты keytool (входит в состав JDK) и указать путь к нему в конфигурации:

tls:
  enabled: true
  keystore: selfsigned.jks
  keystorePassword: testing

После этого все запросы следует выполнять через https://. Дополнительно поддерживается SNI для продвинутых сценариев, но большинству пользователей эта опция не нужна.

Для аутентификации запросов используется простой ключ, который передаётся в заголовке key. В конфигурации задаётся длинная случайная строка, и без неё доступ к API будет закрыт. Разработчики отмечают, что текущая система аутентификации базовая, и приветствуют помощь в её улучшении.

Вебхуки и WebSockets для реального времени

ServerTap умеет не только отвечать на запросы, но и самостоятельно отправлять данные при наступлении событий. Вебхуки настраиваются в конфиге: указывается URL-слушатель и список событий (PlayerJoin, PlayerQuit, PlayerDeath, PlayerChat, PlayerKick). При каждом таком событии плагин отправляет POST-запрос с JSON-телом, содержащим информацию об игроке и типе события. Это идеально подходит для интеграции с Discord, Telegram или системами логирования.

Ещё более мощный инструмент — двунаправленный WebSocket-интерфейс. Подключившись к ws://host:4567/v1/ws/console, вы начинаете получать все серверные логи в реальном времени без периодического опроса. Каждое сообщение приходит в формате JSON с полями message, timestampMillis, loggerName и level. Буфер хранит последние 1000 строк (размер настраивается), а также через WebSocket можно отправлять команды на сервер. Для аутентификации вебсокетов используется cookie x-servertap-key, поскольку заголовки в вебсокетах недоступны.

Заключение

ServerTap превращает администрирование Minecraft-сервера в современный программный интерфейс, доступный из любого языка программирования или инструмента вроде Postman. Гибкая система эндпоинтов, автоматическая документация, поддержка вебхуков и вебсокетов делают его незаменимым для владельцев крупных серверов и разработчиков смежных сервисов. При грамотной настройке TLS и аутентификации плагин остаётся безопасным даже при открытии доступа из интернета. Если вы стремитесь к максимальной автоматизации и удобству, ServerTap определённо заслуживает места в вашей сборке серверных плагинов.