Minecraft readiness matrix
Snapshot: 29 October 2026, based on the Network contract, source and local Minecraft/Checker reports. This is local development status, not a release announcement. This update reads source and existing reports, including the earlier HTTP-ready snapshot; builds, tests and game servers were not rerun.
Implementation and verification
| Area | Established evidence | Verification boundary |
|---|---|---|
| Network, game_id 6 | Persistent project/UUID → 19-digit string ID, forward/reverse lookup, project isolation and link operations | Mapping does not prove online account ownership; IDs are not UUID hashes and are not sent to Steam APIs |
| Storage and MySQL | Node fd963a1 checkpoint records actual SQL concurrency: 12/12 findings and 8/8 messages retained; concurrent scans cannot revive a closed session | SQL/module evidence is separate from socket/native flows; production and existing-installation upgrades are not claimed |
| Java core/hooks/evidence | README 170cb24: 28 unit checks and separate authenticated final-JAR transport/API fixtures, post-success hooks and private link-code delivery | Not a universal anti-cheat or support for every version; game API callbacks need the correct thread |
| Default Bukkit / Paper | Spigot API 1.20.4 JAR, Paper 1.20.4 build 499, Java 21.0.2: native login/mapping, ban/unban/history and private link/actual SSO flow | Exact target only; api-version does not establish other Paper/Spigot releases |
| Separate minimum API | Spigot API 1.20-R0.1-20230612.113428-32, Java 17: separate compile/package and artifact, preserving default 1.20.4 | Compilation does not establish every 1.20+ server |
| Minimum JAR on Paper 1.20 | Exact Paper 1.20 build 17, Java 17.0.10: non-OP /ozp link → private code → actual SSO/Bearer redeem/list/replay rejection/unlink without Steam; separate ban/rejected login/unban/stable ID/history | Actual Minecraft 1.20, not substituted 1.20.1; local native flow with a synthetic player |
| Minimum JAR on native Spigot | Exact Spigot 1.20.1, 3871-Spigot-d2eba2c-3f9263b, Java 17.0.10; official BuildTools 201/rev 3871. Both native link/SSO and moderation/history flows passed | Source-built Spigot, not renamed Paper. Standalone CraftBukkit and Spigot 1.20.0 are unverified |
| Forge 1.20.1 | Minecraft 1.20.1, Forge 47.4.28, Java 17.0.10: build, packaged transport, actual login/ban/unban/history and private link/SSO HTTP flow | Pinned target only, not the entire metadata range |
| Fabric 1.20 | Minecraft 1.20, Loader 0.16.10, API 0.83.0+1.20, Java 17.0.10 runtime/21 build: separate profile/JAR, packaged transport, native private link → SSO/Bearer redeem/list/replay rejection/unlink without Steam and separate ban/kick/denied login/unban/stable-ID/history | Not a relabelled 1.20.1 artifact; other Minecraft/Loader/API versions are unverified |
| Fabric 1.20.1 | Loader 0.16.10, API 0.92.2+1.20.1, Java 17.0.10 runtime/21 build: build, native moderation/history and private link/SSO HTTP flow | Other Minecraft, Loader and API versions are unverified |
| Legacy NeoForge 1.20.1 | Exact Minecraft 1.20.1 / 47.1.106, Java 17.0.10; separate net.neoforged:forge:1.20.1-47.1.106 dependency. Build/final-JAR transport, native private link/actual SSO and ban/unban/stable 19-digit string/history passed without Steam | Old net.minecraftforge events and forge mod ID; a separate NeoForge JAR, not Forge or modern net.neoforged:neoforge |
| NeoForge 1.20.4 | Minecraft 1.20.4, NeoForge 20.4.251, Java 17.0.10: native moderation/history and private linking with an actual no-Steam SSO v2 account; separate browser link/appeal flow | Does not establish other NeoForge branches or complete PHP migration |
| NeoForge 1.21.1 | Minecraft 1.21.1, NeoForge 21.1.265, Java 21.0.2: build, native moderation/history and private link/SSO HTTP flow | Other versions are unverified |
| Forge 1.20 | Exact Minecraft 1.20 / Forge 46.0.14, Java 17.0.10: separate profile/JAR, packaged transport, native non-OP private link/SSO and ban/kick/denied login/unban/stable-ID/history passed | Tracked checkpoint 8ab326a, not the full Forge metadata range |
| Bukkit API 1.20.6 / Paper 151 | Source-prepared: separate api-1.20.6 profile with Java 21, minimum API 1.20.6 filtering and exact Paper 1.20.6 build 151 harness; XML/JS/PowerShell static checks | Not verified: no build/package/download/native runtime proof for this target; existing artifacts are preserved |
| Vanilla / Folia / hybrids | No support claim; adapters need a plugin/loader API | Other loader generations and arbitrary 1.20+ servers are not covered |
| Minecraft Checker | f283729: actual WPF handlers/pipeline/C# transport + SSO owner panel/Network/MySQL passed synthetic repeat scans: fresh exact module scope/consent, process opt-in reset, exactly two starts/completions, terminal closure | No Window.Show or real Minecraft directory inspection; injected busy/unknown/stale-ACK guards are separate from actual moderator requests. Signing/release/real-player acceptance remain unproven |
| C# → Network → MySQL | Earlier verification covers connect, session.get, chat, start/findings/complete, string IDs, SHA-256 and closure | The earlier helper with fanout disabled does not establish all new UI/repeat-scan flows |
| Runtime ACK | Exact native targets separately checked moderation, persistence and the audit ACK window | Not exactly-once delivery: durable offline outbox and authoritative reconciliation are not established |
The goal of “Minecraft 1.20+” does not mean every version and loader is supported. Only separate verification of a specific build can change its status in this matrix. This work does not re-establish readiness for Rust or other games.
Native evidence in this matrix comes from local Windows runs with test players. It does not establish other operating systems, actual online-account authentication or production deployment.
Evidence sources
- Java native snapshot
170cb24(reviewed dev899c744): README.md, docs/compatibility.md, tests/loaders/README.md and adapter READMEs. Forge 1.20 is recorded in8ab326a, Fabric 1.20 in7a2fdd4, legacy NeoForge 1.20.1 in170cb24; minimum Paper/Spigot checkpoints242b031/daecf30remain. Newf789366only prepares Bukkit Java 21/API 1.20.6 and Paper 151 source/static checks. Private runtime files, proofs and codes are not published here. - Node
fd963a1: MINECRAFT_COLLAB.md reviewed checkpoint for 29 October, api/account/Account.js and modules/GameLink.js. The shared API snapshot is an older independent snapshot and was not regenerated by this scoped update. - Checker
f283729(reviewed dev525fca4): README.md and docs/repeat-scan-qa.md record actual SSO/panel repeat/close requests and MySQL reads after two rounds. Fixtures remain synthetic; offscreen rendering is not real-player acceptance. - Native link/SSO and native moderation/history are separate evidence. NeoForge 1.20.4 has an additional browser link/appeal flow; this does not automatically cover every version.
- This update reads tracked source and reports without rerunning builds, SQL, game servers or scanners. Minecraft flows do not establish signing, native Rust QA or universal anti-cheat effectiveness.
Network, regions and domains
- The ozProtect team hosts Network (
.node) on its own infrastructure. Backend source is not supplied to customers as a public self-hosting package. - Regional copies run in k3s clusters and multiple pods. Internal Redis supports communication within a cluster, including callbacks/acknowledgements.
- Global Redis between clusters carries notifications without waiting for a response. Cross-region callbacks/acknowledgements must not be required for a request to succeed. A response needs an explicitly designed cross-region flow, such as HTTP, or persisted state.
- The owner has authorized preparation of the
comregion:ozprotect.comis registered and its DNS records are configured. k3s, Redis, database configuration and CI/CD are being prepared; DNS alone does not establish a working Network endpoint or a Minecraft release. Wait for the deployment and connection checks before configuring game servers. - The project does not own
ozprotect.ru. Do not use it as an assigned endpoint, derive a host from interface language or treat local JARs as published downloads. - A possible
.kzenvironment starts disabled; this is a plan, not an active region. - Interface language, domain and region are independent settings. Russian does not require
.ru/.kz; English does not select a cluster automatically.
Central SSO
Porting PHP .back to Node.js .sso is a separate workstream. Legacy API and new cookie-auth source exist; Network personal-token acceptance and client migration need separate verification. This does not establish complete PHP, wallet and subscription migration. See accounts and SSO.
Release conditions
- Preserve reproducibility of the published fixtures and verify existing-schema upgrades without production data.
- Complete build/native gates for source-prepared Bukkit API 1.20.6 / Paper 151, then verify new versions individually while preserving existing exact targets.
- Complete a real player/moderator workflow, including consent, cancellation, directory boundaries and disconnects.
- Prepare endpoints, configuration, signing and distribution as a separate release step.
Checker findings and server evidence require moderator review. A suspicious file or incomplete inspection does not justify an automatic ban.
