NullAntiCheat | ML Kill Aura Detector (CatBoost) + Staff Suspect Menu

mzxcbaisb

Feedback score
0
Posts
5
Reactions
1
Resources
0
NullAntiCheat
ML Kill Aura Detector for Paper
Collect → Train → Detect. Built for staff review, not instant auto-bans.





Overview
NullAntiCheat is a behavioral kill aura module for Paper servers.
It does not rely on classic hardchecks alone. Instead it:

  • Listens to combat packets via PacketEvents
  • Extracts aim / reach / motion / reaction features from critical hits
  • Lets you label players as legit or cheat while testing
  • Trains a CatBoost model offline (Python trainer included)
  • Scores live hits and ranks players in a staff suspect GUI

Think of it as a NetVision-style combat intelligence layer:
first you gather real fight data, then the model helps moderators decide.

Important: this is not a full all-in-one anticheat.
It focuses on kill aura / aim combat scoring and staff tooling.
No built-in movement HAC suite, no auto-ban pipeline by default.



How it works

1) Collect
Put the plugin into collect mode and mark testers:
Code:
/nac mode collect
/nac track Steve legit
/nac track SoftUser cheat
Only tracked players write combat hits into:
Code:
plugins/NullAntiCheat/dataset/hits.jsonl

2) Train
Use the included Python trainer (CatBoost by default, ExtraTrees fallback):
Code:
pip install -r tools/requirements.txt
python tools/train_model.py \
  --dataset plugins/NullAntiCheat/dataset/hits.jsonl \
  --output plugins/NullAntiCheat/model/model.json
No Torch/CUDA required.

3) Detect
Load the model and switch to detection:
Code:
/nac mode detect
/nac model reload
/nac menu
Or use hybrid to detect and keep collecting labeled data at the same time.



Features
  • PacketEvents combat + rotation tracking
  • ~100+ behavioral features (aim error, reach margin, windowed yaw/pitch deltas, reaction gaps, CPS, target switches, motion context)
  • Labeled dataset collection (legit / cheat)
  • Offline CatBoost training pipeline included
  • Native JSON model loading inside the plugin
  • Live suspicion scoring on critical hits
  • Staff suspect menu with ranked player heads
  • Configurable suspicion thresholds (strong / medium / low)
  • /nac info with UUID, playtime, K/D, ping, IP, location + recent ML scores
  • /nac playtime helper
  • Modes: collect / hybrid / detect
  • Fully configurable messages (Russian defaults included)
  • Lightweight Java plugin — ML training stays offline



What you can do with it
  • Build your own kill aura dataset on your arena / kit / ping profile
  • Train a model that fits your community, not a generic public dump
  • Give moderators a suspect list instead of blind bans
  • Run controlled tests: clean PvP vs kill aura clients
  • Retrain after new cheat styles appear
  • Use as a combat intelligence layer next to Grim / Vulcan / etc.



Commands
Code:
/nac menu
/nac info <player>
/nac playtime <player>
/nac mode <collect|hybrid|detect>
/nac track <player> <cheat|legit>
/nac track list
/nac tracking stop <player|all>
/nac model reload
/nac dataset flush
/nac reload
Aliases: /nullanticheat, /anticheat



Permissions
Code:
nullanticheat.menu
nullanticheat.tracking
nullanticheat.info
nullanticheat.playtime
nullanticheat.reload
nullanticheat.admin
All default to op.



Dependencies
  • Required: PacketEvents
  • Server: Paper 1.16.5+ (developed around Paper API 1.16)
  • Training machine: Python 3 + packages from tools/requirements.txt



Installation
  1. Install PacketEvents
  2. Drop NullAntiCheat.jar into /plugins
  3. Restart the server
  4. Start in collect mode and gather labeled fights
  5. Train model.json with the included script
  6. Place model at plugins/NullAntiCheat/model/model.json
  7. Switch to detect (or hybrid) and open /nac menu



Configuration highlights
Code:
mode: collect | hybrid | detect
dataset.critical-only: true
model.file: model/model.json
suspicion.recent-hits / thresholds
gui title, rows, filler
Messages are fully editable in messages.yml.



What's included
  • NullAntiCheat plugin JAR
  • config.yml + messages.yml
  • Python trainer (train_model.py + requirements.txt)
  • Setup / usage documentation

What's NOT included / not claimed
  • Not a full replacement for GrimAC / Vulcan / Matrix
  • No movement prediction / scaffold / fly suite (yet)
  • No automatic bans out of the box
  • Detection quality depends on your dataset quality
  • A random public model will not magically fit every server



Recommended workflow
  • Same arena, similar kits
  • Record both legit and obvious kill aura under similar conditions
  • Vary distance, strafing, jumping, combo pressure, ping
  • Flush dataset, retrain, review false positives in /nac menu
  • Tune thresholds only after real staff review



Support
After purchase you get:
  • Installation help
  • Trainer usage help
  • Bugfix priority for the sold build




FAQ
Q: Does it ban players automatically?
A: No. It scores combat and shows suspects for staff. You decide the punishment flow.

Q: Do I need a GPU?
A: No. CatBoost training runs on CPU.

Q: Can I use it with another anticheat?
A: Yes. It is designed as a combat ML layer alongside existing AC plugins.

Q: Will one universal model work everywhere?
A: Best results come from training on your own labeled fights.

Q: Is this only for kill aura?
A: Yes — Stage 1 focus is behavioral kill aura / aim combat scoring.



NullAntiCheat — data first, decisions second.
 
Type
Offering
Exclusivity
  1. Exclusive
Server software
  1. Bukkit
  2. Spigot
  3. Paper
  4. Other
Supported versions
  1. 1.20

Attachments

  • photo_2026-07-18_17-29-26.jpg
    photo_2026-07-18_17-29-26.jpg
    46.5 KB · Views: 1
Top