LumoAiDetector
A free anti-cheat that trains its own AI model inside your server.
LumoAiDetector records combat rotation windows, throws out the bad data, trains a Random Forest model in Java, and warns your staff when a player starts to look suspicious.
I built this for my own server first. After a while I decided to share it. There are free anti-cheats and a few ML experiments around, but I could not find one that does this exact loop: record your own dataset, train a local model, manage the model files in game, and keep every message editable.
No pre-trained model ships with the plugin. You train yours. Better data means a better detector, and your players are not the same as mine.
What it actually does
The plugin watches combat rotations, not random mouse movement. A window only reaches the model when every gate passes:
- The player recently attacked or swung.
- A living target is nearby and inside the player's aim cone.
- The mouse moved enough across the 15 tick window.
- Tick timing stayed inside the configured network range.
Servers differ. Different players, clients, ping, arenas, PvP styles, and cheat settings. A model trained on one tiny private setup can look amazing in a demo and still fall apart on your server.
So record boring normal fights. Record cracked aim and smooth aim. Record bad players, good players, high and low sensitivity, jumping, strafing, panic flicks, missed hits. The model gets smarter when the dataset stops being too clean.
- Works on Bukkit, Spigot, Paper, Purpur and Folia.
- Java 8 bytecode target. No NMS or ProtocolLib needed.
- Editable config.yml and messages.yml.
- Dataset recording for legit and cheater samples.
- Async Random Forest training with dated model files and metadata.
- Model activation, deactivation, and temporary backups in game.
- Staff alerts above a configurable suspicion percent, with per-player alert history.
- Auto punishment support, off by default.
- SHA-256 integrity check on model load.
- Per-world disable, UUID whitelist, and a bypass permission.
- Reproducible training. Set training.seed to a fixed value and the same dataset produces the same model.
- Automatic class balancing for uneven datasets, so a small cheater sample is not drowned out.
- Honest metrics. When there is no validation holdout, the plugin says the numbers came from training data instead of pretending they are an independent estimate.
- /lad models compare <a> <b> to put two models side by side.
- A separate prediction thread pool so model inference does not block dataset writing.
- Optional ping band to skip windows recorded under unusual latency.
- Streaming dataset counting and trimming, so status and trim commands no longer load the whole file into memory.
- /lad record legit|cheater <player> - start or stop recording a player.
- /lad record stop <player|all> - stop one or all recordings.
- /lad train - train a model on the current dataset.
- /lad active <model> - load and activate a model.
- /lad deactivate - turn off the active model.
- /lad models [page] - list trained models.
- /lad models info <model> - show model metrics.
- /lad models compare <a> <b> - compare two models.
- /lad delete <model> - move a model to backup.
- /lad backup list|restore|purge - manage backups.
- /lad check <player> [history] - check suspicion or view alert history.
- /lad status - plugin, detector, model and dataset status.
- /lad dataset info - dataset rows, balance and file size.
- /lad dataset trim <rows> - keep only the last N rows.
- /lad reload - reload configs and messages.
- Drop the jar into your plugins folder and start the server once.
- Record some legit play: /lad record legit <you>. Move around, jump, flick, track smoothly, miss sometimes, change sensitivity.
- Record cheat profiles: /lad record cheater <you>. Try fast aim, slow smoothing, obvious Killaura, subtle rotations.
- Train: /lad train.
- Activate: /lad active <model>.
License
Apache License 2.0. Copyright 2026 Lumo (Lumskyy).
Forks, fixes, and ports are welcome. Please use a clearly different name and say your build is based on LumoAiDetector by Lumo (Lumskyy). Do not reupload it under my name or branding.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
LumoAiDetector is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 37 times (via Spigot). Download it and open it directly in the game.