- Для версий
- 1.20.✘
- 1.21.✘
- 26.✘
- Исходный код
- https://github.com/kekaop/WebConnector
WebConnector
Подключайте Minecraft-сервер к сайтам, магазинам, Discord-ботам и другим плагинам через контролируемый HTTP API, публичный Java API и подписанные вебхуки.
Точно определяйте, какие действия разрешено выполнять каждой интеграции. WebConnector проверяет входящий JSON, права клиента, отслеживает каждую операцию и сохраняет ключи идемпотентности даже после перезапуска сервера.
Что можно сделать
- Магазин, который выдаёт настроенный ранг или проходку, используя постоянный ID заказа.
- Discord-бот или сайт, получающий события входа и первого входа игроков.
- Интеграцию с NodeDashboard с разграниченным доступом к отдельным действиям сервера.
- Java-плагин, который регистрирует приватные действия или явно открывает их через HTTP.
- Интеграции со Skript с использованием существующего HTTP-аддона.
Возможности
- Именованные API-ключи со сроком действия, ограничениями по действиям и разрешениями.
- Списки разрешённых IP-адресов и CIDR-подсетей, ограничения размера запросов, тайм-ауты и лимиты частоты запросов.
- Типизированная проверка имён игроков, UUID, строк, целых чисел, логических значений, перечислений и правил на основе регулярных выражений.
- Асинхронные операции с ID запросов, проверкой статуса и устойчивой к перезапускам защитой от повторного выполнения.
- Подписанные webhook-запросы с фильтрами, отдельными адресами для каждого маршрута и экспоненциальными повторными попытками.
- Опциональное удаление файлов, ограниченное списком разрешённых обычных файлов, а также явное управление потенциально опасными действиями.
- Перезагрузка действий, ключей и маршрутов событий без перезапуска сервера.
Совместимость
Один серверный JAR поддерживает Paper 1.20.1–26.2, а поддержка 26.3 является экспериментальной. Используйте Java 17 для Minecraft 1.20.1–1.20.4, Java 21 для 1.20.5–1.21.11 и Java 25 для 26.1+. Установка чего-либо на клиент не требуется. Folia и прокси-серверы не поддерживаются.
WebConnector использует стандартный Bukkit API без NMS. Объём проведённых проверок указан в таблице совместимости. Skript и HTTP-аддоны являются необязательными и имеют собственные требования к версиям.
Начало работы
- Установите основной JAR-файл WebConnector в plugins/ и запустите сервер.
- Откройте созданный файл plugins/WebConnector/config.yml. Приватный API-секрет генерируется автоматически.
- Настройте необходимые действия и выдайте каждой интеграции ключ с нужными правами.
- После изменения действий, ключей или маршрутов событий используйте /webconnector reload.
По умолчанию API привязывается к localhost и предоставляет только безопасное действие ping. Для удалённых интеграций ваш хостинг должен предоставлять доступный дополнительный порт или reverse proxy. Если трафик передаётся по сети, используйте HTTPS на прокси.
При повторной попытке выполнения награды или заказа используйте тот же Idempotency-Key. Завершённые или прерванные операции с этим ключом не выполняются автоматически повторно. Внешние команды не являются транзакционными: после тайм-аута или ошибки проверьте состояние операции и сервера, прежде чем создавать новый ключ.
WebConnector предоставляет шлюз для интеграций, но не включает панель управления или обработчик платежей. Удаление файлов и выключение сервера по умолчанию отключены.
Документация · HTTP API ·Java API· Русская документация · Issues