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
| Component | Responsibility | Main interface |
|---|---|---|
.land | Landing page, owner/player account, login, projects and appeals | HTTP to SSO/Network, Socket.IO /front |
.web | Staff panel for the selected game server | HTTP bootstrap and Network Socket.IO /client |
.cp | ozProtect service administration: projects, billing, bonuses, system | Network administrative methods and service account |
.node | ozProtect Network: projects, servers, access, history, moderation, subscriptions, integrations | HTTP /methods/category.method, four Socket.IO namespaces |
.sso | Ports PHP .back responsibilities: central accounts and compatible authentication methods | Separate HTTP API and error format |
.ext | Rust Oxide/uMod extension: game events, commands, CloudConfig | Network /server, server token |
.ext.dayz | Separate DayZ mod and .NET bridge agent | Local bridge and Network /server |
.minecraft | Java core, anticheat evidence, extension API and Bukkit/Forge/NeoForge/Fabric adapters | Network /server, game_id = 6 |
.checker.mc | Windows Minecraft checker with player consent | Network /checker, session code |
.anticheat | Rust AntiCheat extension and separate Windows Client/Service/Tray | Its own .aback protocol |
.aback | AntiCheat backend: servers, clients, violations, screenshots, versions and releases | HTTP, SecureChannel and its own sockets |
.docs, .adocs | General documentation and separate anticheat documentation | Static sites |
.ulog | Internal history import/reconciliation tools | Not a public runtime or API |
.game.front | Separate game frontend | A Vue project alone does not establish a finished shared ozProtect interface |
Data flows
- 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.
- The panel connects to
/clienton the assigned Network. The selected server scopes data and available actions. - The game extension connects to
/server, sends events and receives supported commands. Panel commands depend on permissions, feature gates and adapter capabilities. - Minecraft Checker connects to
/checkerusing a specific session code. It receives no server key and is not a game extension. - 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.
