Skip to content

Компоненты и архитектура ​

ozProtect объединяет учётные записи, управление игровыми серверами, модерацию и сбор свидетельств. Разные интерфейсы используют разные backend-сервисы. Имя компонента или наличие исходников ещё не подтверждает его установку в production.

Карта компонентов ​

КомпонентОтветственностьОсновной интерфейс
.landЛендинг, кабинет владельца/игрока, вход, проекты и обращенияHTTP к SSO/Network, Socket.IO /front
.webПанель сотрудников выбранного игрового сервераHTTP bootstrap и Socket.IO Network /client
.cpСлужебная админ-панель ozProtect: проекты, биллинг, бонусы, системаАдминистративные методы Network, служебная учётная запись
.nodeozProtect Network: проекты, серверы, права, история, модерация, подписки, интеграцииHTTP /methods/category.method, четыре Socket.IO namespace
.ssoПеренос ответственности PHP .back: центральные аккаунты и совместимые методы авторизацииОтдельный HTTP API, другой формат ошибок
.extRust Oxide/uMod extension: игровые события, команды, CloudConfigNetwork /server, серверный токен
.ext.dayzОтдельный DayZ-мод и .NET bridge-агентЛокальный bridge и Network /server
.minecraftJava core, anticheat evidence, extension API и адаптеры Bukkit/Forge/NeoForge/FabricNetwork /server, game_id = 6
.checker.mcWindows-чекер Minecraft с согласием игрокаNetwork /checker, код сессии
.anticheatRust AntiCheat extension и отдельные Windows Client/Service/TrayСобственный протокол к .aback
.abackAntiCheat backend: серверы, клиенты, нарушения, скриншоты, версии и релизыHTTP, SecureChannel и собственные сокеты
.docs, .adocsОбщая документация и отдельная документация античитаСтатические сайты
.ulogВнутренние инструменты импорта/сверки историиНе публичный runtime или API
.game.frontОтдельный игровой frontendНаличие Vue-проекта не подтверждает готовый общий интерфейс ozProtect

Потоки данных ​

  1. Кабинет получает аккаунт через настроенный SSO/legacy backend. Network проверяет аккаунт и доступ к проекту/серверу при выдаче или проверке сетевого токена.
  2. Панель открывает подключение /client к назначенному Network. Выбранный сервер задаёт область данных и доступные действия.
  3. Игровое расширение подключается к /server, передаёт события и принимает поддерживаемые команды. Команда панели проходит через права, feature gates и возможности адаптера.
  4. Minecraft Checker подключается к /checker по коду конкретной сессии. Он не получает серверный ключ и не является игровым расширением.
  5. Rust AntiCheat использует отдельный backend и набор учётных данных; его HWID-сессия не заменяет Minecraft UUID или права Network.

Развёртывание и изоляция ​

Network развёртывает команда ozProtect в региональных k3s-кластерах. Исходники .node не выдаются клиенту как публичный self-hosting комплект. Внутренний Redis связывает поды одного кластера и поддерживает callback/ack. Глобальный Redis между кластерами предназначен для уведомлений без обязательного ответа.

Enterprise имеет license ID 5. Отдельный контур ограничивает проекты через DEDICATED_PROJECT_ID, независимо от названия тарифа. Назначенный Network host хранится у сервера; плагин и панель должны учитывать проверку адреса. Лицензия, права сотрудника и изоляция проекта являются отдельными условиями доступа.

Язык интерфейса, домен и регион независимы. Будущий .com и возможный отключённый .kz относятся к плану нового контура; локальные адреса в примерах не объявляют публичную доступность. Старые .ru значения в исходниках требуют явной конфигурации при переносе.

Источники: Network common/ApiNet.js, common/Validator.js, modules/License.js, modules/Server.js; SSO src/app.js; маршруты .web/.cp; README игровых компонентов.

Игры и готовность · HTTP API · Эксплуатация

Разработано с ❤️ от ozLiginus