Installing your personal Anti-Cheat build on 1.8.8 (Java 17+, PacketEvents bundled), what first boot writes, the two-layer config, and lenient-first tuning.
The Anti-Cheat ships as a personal 1:1 build through the Nerotek loader — one payment of EUR 30.00, permanent license, per-server binding with IP and hardware limits, and configuration guidance from the developer included. The build runs exclusively on Spigot or Paper 1.8.x: it refuses to enable on any other server version with a clear report, so it can never half-work on the wrong jar. PacketEvents 2.0 is shaded into the jar — there is nothing extra to download, and no ProtocolLib dependency.
| Requirement | Details |
|---|---|
| Java | Java 17 or newer on the server host |
| Server platform | Spigot or Paper 1.8.x only — the loader refuses anything else; the detection target is 1.8.8 |
| PacketEvents 2.0 | Bundled with the build (shaded) — no separate install |
| Topology | No proxies and no Folia — the plugin runs on the backend game server, where the packets it simulates originate |
| Storage | Optional — memory is the default; redis, mysql/mariadb, postgres, sqlite and mongo are opt-in through database.routing |
plugins/ folder of your Spigot/Paper 1.8.8 server./anticheat and check the build with /anticheat version.On first run the plugin writes its configuration set, localized: config.yml, messages.yml and punishments.yml in the server's language (13 locales are bundled, from German to Chinese), plus the violations/ directory where per-player snapshots live. The config carries schema markers (config-flavor: V2, config-version: 26) and older configs migrate automatically — a v23-to-v26 jump upgrades in place without losing your edits.
The configuration has a deliberate shape: engine-level keys at the top level, and a per-check layer beneath checks-1-8. The top level holds the prediction-engine families and global systems — Simulation (threshold 0.005, immediate-setback threshold 0.1, max-advantage: 1, max-ceiling: 4), Reach (threshold and block-impossible-hits), TimerA, Knockback, Explosion, the setback block (teleport-back, violation-window-ms, force-resync-interval-ms), auto-kick (100 violations / 2 categories) and the packet limiter (packet-spam-threshold: 100).
The checks-1-8: section holds one subtree per 1.8-focused check — thirty of them, from Criticals, LineOfSight, GhostHand and KillAuraD through AutoClicker, Blink, Step, Jesus, NoFallB, ScaffoldTower, SnapHold, FastBow and AimA–AimC — each with enabled, its own thresholds, setbackvl and decay. Both layers are read at flag time and honored by /anticheat reload, which reloads asynchronously without disturbing the tick loop.
Out of the box, everything lives in memory and the plugin has zero infrastructure requirements. When you want violation history and session data shared or durable, the database section routes per category: enabled, a server-name that stamps ownership, and a routing map that sends each data category to memory, redis, mysql or mariadb, postgres, sqlite or mongo. Backends are opt-in and their drivers resolve at runtime — you add the storage when you need it, not before.
The strongest anticheat configuration is the one your legitimate players never notice. Every check is active out of the box, so day one is for observation, not tuning — the recommended rollout:
/anticheat alerts; alerts.print-to-console: true keeps the console in the loop too./anticheat verbose while tuning — it exposes the per-check offset detail so you can see *why* a check fired, not just that it did./anticheat debug <player> when you need prediction-level output for one specific player under investigation./anticheat reload.test-mode to dry-run: actions are logged instead of executed, so you can review what *would* have happened. Only the Movement group ships a kick by default — enable kicks deliberately.Tip:Keep a copy of each configuration stage you settle on. Rolling back one stage is faster than re-deriving a working setup, and it makes regressions obvious when player behavior changes.