{
  "schema_version": 1,
  "release": "1.0.0",
  "verified_on": "2026-10-19",
  "installation": "JVM premain -javaagent; server only; not a drop-in mods/plugins JAR",
  "minecraft_versions": [
    "1.6.4",
    "1.7.10",
    "1.8.9",
    "1.12.2",
    "1.16.5",
    "1.18.2",
    "1.19.2",
    "1.20.1",
    "1.20.4",
    "1.20.6",
    "1.21.1",
    "1.21.4",
    "1.21.8",
    "1.21.11",
    "26.1",
    "26.2",
    "26.3"
  ],
  "runtime": {
    "minimum_java": 8,
    "minecraft_26_x_java": 25
  },
  "artifact": {
    "file": "anticheat-universal-1.0.0.jar",
    "sha256": "f94d03b551e8c91710f7458867be352f122189cdbaaee87c7081b481038e8c66"
  },
  "server_validation": {
    "scope": "Actual isolated distributions. All cases: startup. Vanilla class files: exact methods/fields and transformer. Gameplay cases: offline bot joins, container state, coordinates and live disconnect after HTTP ban. No GUI/modpack certification.",
    "passed": 33,
    "gameplay_passed": 25,
    "cases": [
      {
        "id": "vanilla-1.6.4",
        "minecraft": "1.6.4",
        "platform": "vanilla",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "1.6.4",
        "java": 8
      },
      {
        "id": "vanilla-1.7.10",
        "minecraft": "1.7.10",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.7.10",
        "java": 8
      },
      {
        "id": "vanilla-1.8.9",
        "minecraft": "1.8.9",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.8.9",
        "java": 8
      },
      {
        "id": "vanilla-1.12.2",
        "minecraft": "1.12.2",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.12.2",
        "java": 8
      },
      {
        "id": "vanilla-1.16.5",
        "minecraft": "1.16.5",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.16.5",
        "java": 8
      },
      {
        "id": "vanilla-1.18.2",
        "minecraft": "1.18.2",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.18.2",
        "java": 21
      },
      {
        "id": "vanilla-1.19.2",
        "minecraft": "1.19.2",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.19.2",
        "java": 21
      },
      {
        "id": "vanilla-1.20.1",
        "minecraft": "1.20.1",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.20.1",
        "java": 21
      },
      {
        "id": "vanilla-1.20.4",
        "minecraft": "1.20.4",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.20.4",
        "java": 21
      },
      {
        "id": "vanilla-1.20.6",
        "minecraft": "1.20.6",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.20.6",
        "java": 21
      },
      {
        "id": "vanilla-1.21.1",
        "minecraft": "1.21.1",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.21.1",
        "java": 21
      },
      {
        "id": "vanilla-1.21.4",
        "minecraft": "1.21.4",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.21.4",
        "java": 21
      },
      {
        "id": "vanilla-1.21.8",
        "minecraft": "1.21.8",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.21.8",
        "java": 21
      },
      {
        "id": "vanilla-1.21.11",
        "minecraft": "1.21.11",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "1.21.11",
        "java": 21
      },
      {
        "id": "vanilla-26.1",
        "minecraft": "26.1",
        "platform": "vanilla",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "26.1",
        "java": 25
      },
      {
        "id": "vanilla-26.2",
        "minecraft": "26.2",
        "platform": "vanilla",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "26.2",
        "java": 25
      },
      {
        "id": "vanilla-26.3",
        "minecraft": "26.3",
        "platform": "vanilla",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "26.3",
        "java": 25
      },
      {
        "id": "forge-1.7.10",
        "minecraft": "1.7.10",
        "platform": "forge",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "10.13.4.1614",
        "java": 8
      },
      {
        "id": "forge-1.12.2",
        "minecraft": "1.12.2",
        "platform": "forge",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "14.23.5.2864",
        "java": 8
      },
      {
        "id": "fabric-1.16.5",
        "minecraft": "1.16.5",
        "platform": "fabric",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "0.20.0",
        "java": 8
      },
      {
        "id": "fabric-1.20.1",
        "minecraft": "1.20.1",
        "platform": "fabric",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "0.20.0",
        "java": 21
      },
      {
        "id": "fabric-1.21.1",
        "minecraft": "1.21.1",
        "platform": "fabric",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "0.20.0",
        "java": 21
      },
      {
        "id": "fabric-26.3",
        "minecraft": "26.3",
        "platform": "fabric",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "0.20.0",
        "java": 25
      },
      {
        "id": "forge-1.20.1",
        "minecraft": "1.20.1",
        "platform": "forge",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "47.4.28",
        "java": 21
      },
      {
        "id": "neoforge-1.21.1",
        "minecraft": "1.21.1",
        "platform": "neoforge",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "21.1.218",
        "java": 21
      },
      {
        "id": "neoforge-26.3",
        "minecraft": "26.3",
        "platform": "neoforge",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "26.3.0.86",
        "java": 25
      },
      {
        "id": "quilt-1.20.1",
        "minecraft": "1.20.1",
        "platform": "quilt",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "0.30.1",
        "java": 21
      },
      {
        "id": "paper-1.21.1",
        "minecraft": "1.21.1",
        "platform": "paper",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "133",
        "java": 21
      },
      {
        "id": "paper-26.3",
        "minecraft": "26.3",
        "platform": "paper",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "200",
        "java": 25
      },
      {
        "id": "forge-1.6.4",
        "minecraft": "1.6.4",
        "platform": "forge",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "9.11.1.1345",
        "java": 8
      },
      {
        "id": "forge-26.3",
        "minecraft": "26.3",
        "platform": "forge",
        "gameplay": "not exercised: startup and bytecode profile verification only",
        "startup": true,
        "platform_version": "66.0.13",
        "java": 25
      },
      {
        "id": "craftbukkit-1.21.1",
        "minecraft": "1.21.1",
        "platform": "craftbukkit",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "19bf846569f71fa9b64bf50b43154945124e44bc",
        "java": 21
      },
      {
        "id": "spigot-1.21.1",
        "minecraft": "1.21.1",
        "platform": "spigot",
        "gameplay": "offline bot: join, container state, movement, live ban disconnect",
        "startup": true,
        "platform_version": "a759b629cbf86401aab56b8c3f21a635e9e76c15",
        "java": 21
      }
    ]
  },
  "jvm_tests": {
    "cases_per_runtime": 7,
    "runtimes": [
      8,
      21,
      25
    ],
    "failures": 0,
    "scenarios": [
      "Separate shaded-agent JVM without game resources on application classpath",
      "Server/client isolation, attack target, swing, sleep and container state",
      "Coordinates and game-thread ban enforcement with slow HTTP API",
      "Bounded queue, transient failure retry and no redirect",
      "Boolean ban with exact UUID matching",
      "Validated settings and secret-free errors"
    ]
  },
  "full_stack_validation": {
    "clickhouse_gameplay": true,
    "coordinates": true,
    "redis_stream": true,
    "scoring_review": true,
    "postgres_ban": true,
    "real_api_ban_disconnect": true
  },
  "limitations": [
    "Only the listed exact version profiles; no claim for every patch or arbitrary modpack.",
    "Loader versions must support the chosen Minecraft version. See individual cases.",
    "Minecraft 1.6.4, 26.2 and 26.3: startup and class-file checks only; no gameplay bot for these versions.",
    "Attacks, swing and container transitions tested in synthetic game fixtures, not in every dedicated-server world.",
    "Client software is optional and not part of this server agent.",
    "Bedrock, Folia, proxies and unknown future versions are not supported.",
    "This agent supplies gameplay telemetry and ban enforcement, not all specialized Paper-plugin features.",
    "Full gameplay backend required: website/admin-only production is insufficient. No production deployment performed."
  ]
}
