Skip to content

Components and architecture ​

ozProtect combines accounts, game server management, moderation and evidence collection. Different interfaces use different backend services. A component name or source checkout does not establish a production installation.

Component map ​

ComponentResponsibilityMain interface
.landLanding page, owner/player account, login, projects and appealsHTTP to SSO/Network, Socket.IO /front
.webStaff panel for the selected game serverHTTP bootstrap and Network Socket.IO /client
.cpozProtect service administration: projects, billing, bonuses, systemNetwork administrative methods and service account
.nodeozProtect Network: projects, servers, access, history, moderation, subscriptions, integrationsHTTP /methods/category.method, four Socket.IO namespaces
.ssoPorts PHP .back responsibilities: central accounts and compatible authentication methodsSeparate HTTP API and error format
.extRust Oxide/uMod extension: game events, commands, CloudConfigNetwork /server, server token
.ext.dayzSeparate DayZ mod and .NET bridge agentLocal bridge and Network /server
.minecraftJava core, anticheat evidence, extension API and Bukkit/Forge/NeoForge/Fabric adaptersNetwork /server, game_id = 6
.checker.mcWindows Minecraft checker with player consentNetwork /checker, session code
.anticheatRust AntiCheat extension and separate Windows Client/Service/TrayIts own .aback protocol
.abackAntiCheat backend: servers, clients, violations, screenshots, versions and releasesHTTP, SecureChannel and its own sockets
.docs, .adocsGeneral documentation and separate anticheat documentationStatic sites
.ulogInternal history import/reconciliation toolsNot a public runtime or API
.game.frontSeparate game frontendA Vue project alone does not establish a finished shared ozProtect interface

Data flows ​

  1. The account interface obtains an account through the configured SSO/legacy backend. Network validates the account and project/server access when issuing or checking a network token.
  2. The panel connects to /client on the assigned Network. The selected server scopes data and available actions.
  3. The game extension connects to /server, sends events and receives supported commands. Panel commands depend on permissions, feature gates and adapter capabilities.
  4. Minecraft Checker connects to /checker using a specific session code. It receives no server key and is not a game extension.
  5. Rust AntiCheat uses a separate backend and credentials; its HWID session does not replace Minecraft UUIDs or Network permissions.

Deployment and isolation ​

The ozProtect team hosts Network in regional k3s clusters. .node source is not supplied as a public customer self-hosting package. Internal Redis connects pods within a cluster and supports callbacks/acknowledgements. Global Redis between clusters carries notifications without a required response.

Enterprise has license ID 5. A dedicated environment restricts projects through DEDICATED_PROJECT_ID, independently of the plan name. The server stores its assigned Network host; plugins and panels must respect host validation. License, staff permissions and project isolation are separate access requirements.

Interface language, domain and region are independent. Future .com and a possible disabled .kz belong to the new-environment plan; loopback examples do not establish public availability. Legacy .ru defaults in source need explicit configuration during migration.

Sources: Network common/ApiNet.js, common/Validator.js, modules/License.js, modules/Server.js; SSO src/app.js; .web/.cp routes; game component READMEs.

Games and readiness · HTTP API · Operations

Developed with ❤️ by ozLiginus