Интеграции и расширения
Интеграция может читать данные Network, уведомлять внешний сервис или изменять игровой сервер. Проверьте направление обмена и права до выдачи ключа. Наличие метода в справочнике не предоставляет подписку или доступ к чужому проекту.
Discord
Панель загружает флаги через integration.getDiscordFlags, сохраняет через integration.updateDiscordFlags. Используйте настройки выбранного сервера и действующий webhook, не публикуя его в документах. Сохранённый флаг не проверяет автоматически доставку Discord; диагностируйте отдельно сохранение и внешний ответ.
RustCheatCheck (RCC)
integration.getRccSettings/updateRccSettings управляют API key, синхронизацией банов и разрешением доступа. DB-поля включают rcc_api_key, rcc_sync_bans, rcc_grant_access. RCC относится к Rust/Steam-контексту: backend отделяет Minecraft-профили и не должен делать Steam/RCC запрос по синтетическому Minecraft ID.
История импортированных банов не подтверждает новую проверку игрока. Для массового импорта нужна отдельная сверка серверов и дубликатов; внутренние .ulog SQL/отчёты не являются публичным API и могут содержать данные игроков.
Кастомные действия
Группа customaction предоставляет список, пресеты, создание из пресета, сохранение, запуск и удаление через разрешённые обработчики. Действие зависит от backend-прав, feature custom_actions и возможностей расширения. Minecraft не принимает произвольную консольную команду только потому, что общий интерфейс умеет показывать такую операцию.
Java com.ozprotect.ext.* предназначен для доверенных локальных расширений. IdentityResolved, PlayerJoined, PlayerLeft, ModerationApplied публикуются после подтверждённого результата; callback выполняется в потоке завершения операции. Для вызовов игрового API расширение должно перейти на игровой поток. Это не песочница и не удалённая установка модов.
HTTP и сокеты
Внешние сервисы используют HTTP API/OpenAPI. Действия живой панели обычно идут по Socket.IO. Не переносите аккаунтный токен в URL стороннего сервиса и не делайте обязательный межрегиональный callback через глобальный Redis.
Пункты Public API в настройках
Текущий ApiSettings.vue показывает строки /public/signages, /public/checks, /public/simplified-bans, /public/bans, /public/servers и переключатели с фиксированным selected=false. В проверенном HTTP-диспетчере Network такие маршруты не зарегистрированы. Это отображение интерфейса, а не готовый контракт Public API. Не стройте интеграцию по этим строкам; используйте реально зарегистрированные методы справочника.
Источники: socket/client/Integration.mjs, CustomAction.mjs, modules/sub/ServerConfig.js, .web/.../panel/Integrations.vue, settings/ApiSettings.vue, Java core/README.md.
