All Mods Resource Packs Data Packs Shaders Modpacks Plugins
CheckHacks

CheckHacks

by Branduzzo • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions
CheckHacks

Catch hackers by their mods. 100% server side, no client mod needed.

It uses the Sign Translation Vulnerability (MC-265322), the same trick DonutSMP uses to catch cheaters. Signs pop up for just a split second, too fast to actually read.

Version Platform Minecraft Java License

GitHub Modrinth Spigot

GitHub Stars PayPal


🆕 What is new in 1.3.0

This is a pretty big update, so here is a quick rundown of what has changed:

  • 10 new detections - we added Trouser Streak, Ui Utils, SeedCrackerX, Simple World Downloader, Glazed, Litematica, Item Scroller, Xaeros Minimap and a few more
  • Auto updater - the plugin now checks GitHub when the server starts, but only if you have internet. If there is a newer version, anyone with checkhacks.update will get a message when they join. You just click it, it runs /checkhacksupdate, downloads the new jar, replaces the old one and asks you to restart. That is all
  • Matrix support - we already supported Grim, Vulcan and Spartan, and now Matrix is included as well. You can enable or disable each one under detect-flag.anticheats.matrix
  • DoubleCheck - if someone gets flagged as DETECTED or PROTECTED, we run a second confirmation scan right after. It really helps cut down on false positives
  • About 3 times faster - we optimized the Folia scheduler, signs are now handled more efficiently and we lowered between-sign-ticks. A full scan finishes in roughly a third of the time it used to
  • Fewer false flags - we hardened the whole evaluateResponse logic, including empty replies, the key + letter edge case, and the METEOR vs TRANSLATE vs KEYBIND exploit preventer check. Bedrock, Geyser and Floodgate skipping is also more reliable now
  • Better webhooks - you can now enable Discord Components V2 with discord.use-components-v2: true. It sends a clean Container with your accent color, text blocks, a separator and a timestamp. If you prefer the old style, just set it to false and you will get the classic embeds
  • Smarter rules - command-rules lets you set a command per mod and per result. We also added &hack& so you can write something like tempban %player% 7d Hack %hack% and it will expand to Meteor, Wurst if both were detected. It works with %hack%, &hack&, {hack}, and for global commands you get a comma separated list of all flagged hacks
  • General optimizations - single SQLite connection with WAL, cached messages, async webhooks, cached reflection and NMS fixes for 1.21.4 and up. It just runs smoother and uses less resources

❓ So what is CheckHacks?

CheckHacks is a server side anticheat that can tell which mods a player is running without them having to install anything. It works by using the Sign Translation Vulnerability (MC-265322).

Here is how it works in practice:

  1. You start a check, or it starts automatically when someone joins or your anticheat flags them
  2. The plugin quietly places a couple of signs near them
  3. It writes special translation keys on those signs
  4. Their client opens the sign editor for a split second and then closes it
  5. We read what their client sent back and immediately remove the signs

Every mod registers its own translation keys, so a vanilla client and a modded client will respond differently. That difference is what tells us exactly what they have installed.

👀 The player might see a sign flicker for a moment, but by the time they notice, it is already gone. It is too fast to read or screenshot.

💡 One sign can check up to 3 mods. If you have more, we just send them one after another. You can set the delay yourself.


✨ Features

🔍 Detection

  • Fully server side, your players do not need to download anything
  • Signs are visible for just a couple of ticks, so they cannot be read
  • Three modes, METEOR, TRANSLATE, KEYBIND, and each mod automatically uses the right one
  • If someone has exploit protection, they show up as PROTECTED instead of being marked as clean by mistake
  • If someone does not respond at all, they are also marked as PROTECTED. They are probably blocking packets
  • The DoubleCheck system rechecks every DETECTED or PROTECTED result to avoid false positives
  • You can add your own custom mods to detect in checkhacks.yml
  • Bedrock players are skipped automatically if their name starts with your prefix like . or *

⚡ Automation

  • Auto check on join, with a delay you can configure and an option to run only on first join
  • Same for auto language check, also with a first join only option
  • Hooks directly into Grim, Vulcan, Spartan and Matrix. If they flag someone, we check that player right away
  • Cooldown per player so you do not get spammed with automatic checks
  • You can set different hack lists for normal checks, join checks and anticheat checks
  • Run your own commands when someone is DETECTED, PROTECTED or clean, plus per mod command-rules with a result filter
  • Simple placeholders for commands: %player%, %hack%, &hack&, {hack}. If two hacks are found you will get Meteor, Wurst automatically

🔄 Auto Updater

  • On startup we check https://github.com/branduzzo/CheckHacks/releases/latest in the background. If you are offline we just skip it, nothing gets spammed in console
  • If we find a newer vX.Y.Z, everyone with checkhacks.update will see a message when they join: CheckHacks 1.3.1 is available! Click here to download. It is already translated in every messages/*.yml
  • If they click it, it runs /checkhacksupdate, downloads CheckHacks-X.Y.Z.jar into plugins/, backs up or removes the old jar and says Download completed! Restart the server
  • You need checkhacks.update to see the message and to run the command. It is already included in checkhacks.* so server operators have it by default

📢 Alerts and Results

  • Results go to everyone with checkhacks.alerts, and anyone can toggle them with /chalerts
  • If you started the check but do not have the alerts permission, you still get the result in private so you do not miss it
  • Every line tells you the mod and what happened: DETECTED, NOT_DETECTED, PROTECTED, SKIPPED
  • We also show who started the check and why, like manual check, join check or anticheat flag

🌐 Web and Discord

  • SQLite is built in. Every scan gets saved, you do not need to set anything up
  • Web editor runs right on your server. You can browse old scans, look up players and start new checks from your browser
  • Login is a one time token from /cheditor. No passwords to remember
  • Two separate Discord webhooks, one for hack checks and one for language checks, both now with the Components V2 toggle
  • Webhook placeholders you can use: &name& &checker& &reason& &hacks& &results& &lang&
  • With Components V2 we send flags: 32768 Container with your accent_color, Text Display blocks, a Separator and a timestamp footer

🎨 Customization

  • Configs are split up cleanly: config.yml for general settings, checkhacks.yml for mods, checklang.yml for languages
  • Every message is in its own file, you can switch language with one line in the config
  • Everything supports MiniMessage, your own prefix and PlaceholderAPI
  • 9 languages included plus all the updater strings: update-available, update-downloading, update-complete, update-restart-required, update-failed, update-no-update
🌍 Languages included (click to expand)

en.yml · it.yml · de.yml · es.yml · fr.yml · pt.yml · br.yml · ru.yml · lolcat.yml · uwu.yml


🔍 Detected Mods

Mod Mode
Meteor Client METEOR
Freecam KEYBIND
XRay (Fabric) KEYBIND
ChestESP KEYBIND
KillAura (Fabric) KEYBIND
AutoFish KEYBIND
Lumina KEYBIND
AutoSwitch KEYBIND
BleachHack TRANSLATE
Coffee Client TRANSLATE
World Downloader TRANSLATE
AutoClicker (Fabric) TRANSLATE
AntiAFK TRANSLATE
Auto Clicker (p1k0chu) KEYBIND
Trouser Streak TRANSLATE
Trouser Streak (NewerNewChunks) TRANSLATE
Trouser Streak (AnHero) TRANSLATE
Ui Utils TRANSLATE
SeedCrackerX TRANSLATE
Simple World Downloader TRANSLATE
Glazed TRANSLATE
Litematica TRANSLATE
Item Scroller TRANSLATE
Xaeros Minimap TRANSLATE

➕ Want us to add a mod? Join our Discord and open a ticket, we will take care of it.


🎬 Showcase

▶️ Click to watch it on YouTube (3:15).


⌨️ Commands

Command What it does
/checkhacks <player> Checks every mod you have configured
/checkhacks <player> meteor-client,freecam Only checks the mods you list
/checklang <player> Tries to figure out their client language using signs
/checklang <player> en_us,it_it Only checks those languages
/cheditor Gives you a one time link to the web editor
/chalerts Toggles detection alerts on or off (you can also use /checkalerts or /alerts)
/checkhacksupdate Gets the latest CheckHacks from GitHub (needs checkhacks.update) - just click the update message
/chreload Reloads all configs, no restart needed

🔑 Permissions

Permission What it is for
checkhacks.check Lets you run hack checks
checkhacks.checklang Lets you run language checks
checkhacks.reload Lets you reload configs
checkhacks.alerts Lets you get alerts and toggle them
checkhacks.editor Lets you create web editor tokens
checkhacks.update Lets you see update notices and run /checkhacksupdate
checkhacks.* Gives all of the above

⚙️ Configuration

plugins/CheckHacks/
├── config.yml          # General stuff + discord.use-components-v2 + prefix and language
├── checkhacks.yml      # Hack checks, your custom mods, detect-flag, command-if-*, command-rules, doublecheck, matrix
├── checklang.yml       # Language checks + discord.use-components-v2
├── messages/
│   ├── en.yml          # English messages plus all the update-* keys
│   ├── it.yml          # Italian
│   └── ...             # de, es, fr, br, ru, lolcat, uwu
└── database.db         # Scan history, it just shows up by itself

Stuff you will actually use

# config.yml and checklang.yml
discord:
  use-components-v2: true # false gives you classic embeds, true gives you the new Components V2 Container

# checkhacks.yml
detect-flag:
  anticheats: { grim: true, vulcan: true, spartan: true, matrix: true }
doublecheck: true
timeout-ticks: 200
between-sign-ticks: 5 # lower it if you want that faster scan speed
command-if-positive: { enabled: false, command: "tempban %player% 14d Cheating &hack&" }
command-rules:
  meteorclient1: { mod: meteorclient, result: DETECTED, command: "tempban %player% 31d Meteor &hack&" }
# you can use %player%, %hack%, &hack&, {hack}, {player} - they all work

🖥️ Web Editor

The web editor runs right on your server, you do not need to host it somewhere else.

  • 📊 Scroll through every old scan and result
  • 👤 Look up players you checked before
  • ▶️ Start new checks right from your browser
  • 🌍 Check language results too
  • 🔐 It is locked behind one time tokens from /cheditor, so no shared password

⚠️ Heads up

Mod developers can patch their clients whenever they want and try to block this trick. If they do, detection for that specific client might stop working for a while. We keep chasing patches, finding bypasses and adding new mods as they come out.

It is a cat and mouse game, not a one time fix.


☕ Support Me

CheckHacks will always be free. If it saved your server from cheaters and you want to say thanks, you can buy me a coffee on PayPal. Every donation keeps this project going and helps me stay ahead of those mod patches.


📜 Credits and Support

Made by Branduzzo.

Need help, want to request a feature or need a mod added? Come hang out on Discord:


If CheckHacks is helping your server, drop a ⭐ on the repo, it means a lot!

Download on Modrinth Download on Spigot

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.2 26.1.x 1.21.x
Bukkit Folia Paper Purpur Spigot
12h ago 1
26.2 26.1.x 1.21.x
Bukkit Folia Paper Purpur Spigot
12h ago 1
26.2 26.1.x 1.21.x
Bukkit Folia Paper Purpur Spigot
12h ago 1
26.1.x 1.21.x
Bukkit Paper Purpur Spigot
12h ago 1
1.21.x
Bukkit Paper Purpur Spigot
12h ago 1
1.21.x
Bukkit Paper Purpur Spigot
12h ago 1
1.21.x
Bukkit Paper Purpur Spigot
12h ago 1
[1.3.1] CheckHacks 1.3.1 by Branduzzo on Oct 15, 2026
Download
  • Fixed prefix
  • Added "doublecheck" message
  • Added bStats
[1.3.0] CheckHacks 1.3.0 by Branduzzo on Oct 15, 2026
Download
New detections (10): Trouser Streak, Trouser Streak NewerNewChunks, Trouser Streak AnHero, Ui Utils, SeedCrackerX, Simple World Downloader, Glazed, Litematica, Item Scroller, Xaeros Minimap.

New anticheat: Added Matrix support. The plugin now hooks Grim, Vulcan, Spartan and Matrix. You can enable or disable each one under detect-flag.anticheats.matrix.

Webhooks upgraded: Discord webhooks now support Components V2. You can toggle it with discord.use-components-v2 in config.yml and checklang.yml. It is enabled by default and sends a clean Container with accent color. Set it to false to keep classic embeds.

Smarter punishments: Added command-rules to set a command per mod and per result, plus a new placeholder hack. You can use and hack and, percent hack percent or curly hack and it will expand to the hack name, for example Meteor, Wurst if multiple were detected. Global commands like command-if-positive now give a comma separated list.

Auto updater: On startup the plugin checks github.com/branduzzo/CheckHacks/releases/latest in background, only if the server has internet. If a newer version is found, every player with checkhacks.update gets a clickable message when they join. Clicking it runs checkhacksupdate, downloads the new jar into plugins, replaces the old one and asks for a restart.

[1.2.1] CheckHacks 1.2.1 by Branduzzo on Oct 15, 2026
Download
‎**Features:**
  • Added Folia Support with Bukkit/Paper Fallback


‎This is the first update, now that I'm back I'll update much more often. Thank you for your support <3
‎
[1.2.0] CheckHacks 1.2.0 by Branduzzo on Oct 15, 2026
Download
  • Bug Fixes:**
  • Fixed false positives caused by the player pressing keys between sign open and block change - inputs now handled correctly, fallback
(NO_CHEAT) is properly recognized and results in NOT_DETECTED
  • Removed hack clients that were causing false flags or have patched the exploited

  • Features:**
  • Plugin configuration has been split: config.yml now only contains global settings
  • Language messages are now stored in messages/en.yml, it.yml, es.yml, de.yml, fr.yml, br.yml, ru.yml, lolcat.yml, uwu.yml - automatically loaded on /chreload
  • Added /cheditor command (requires checkhacks.editor permission) - opens an web editor to view past scans and run new ones

  • Credits:**
  • SpriteNaBlack** - Baritone not working report
  • Jamplifier [GSMP]** - False positives reports
  • All of you, for the great support you are giving to the plugin <3
[1.1.1] CheckHacks 1.1.1 by Branduzzo on Oct 15, 2026
Download
  • Bug Fixes:**
  • Fixed Meteor Client and Baritone not being detected after they patched their own exploit, detection has been restored and now works regardless of client-side fixes
  • Fixed false positives caused by the player clicking or typing during the sign check window

  • Features:**
  • Bedrock player flag is now enabled by default

  • Credits:**
  • galaxy884** - Bug reports
  • rollopoll** - Bug reports
[1.1.0] CheckHacks 1.1.0 by Branduzzo on Oct 15, 2026
Download
CheckHacks 1.1.0 Features:
  • Detects LiquidBounce, XRay (Fabric), ChestESP, KillAura (Fabric), AutoFish, Lumina, AutoSwitch, BleachHack, Aristois, Coffee Client, Doomsday
  • /chalerts (aliases: /checkalerts, /alerts) to toggle alerts on/off per player
  • checkhacks.results permission replaced by checkhacks.alerts
  • /checklang <player> to detect the language of a player's Minecraft client using signs
  • /checklang <player> en_us,it_it to check against specific languages only
  • 50 default languages configurable in config.yml
  • Auto language check on player join with its own first-join-only mode
  • Separate Discord webhook for language check results
  • New webhook placeholder: &lang&
  • Bedrock player detection: players whose name starts with a configured prefix (. or *) are automatically skipped
  • Signs placed and restored invisibly for language checks too
[1.0.0] CheckHacks 1.0.0 by Branduzzo on Oct 15, 2026
Download
CheckHacks 1.0.0 Features:
  • Detects Meteor Client, Freecam, Wurst, World Downloader, AutoClicker (Fabric), AutoClicker (p1k0chu), AntiAFK, Baritone
  • Uses the Sign Translation Vulnerability (MC-265322), no client-side mod required
  • Checks up to 3 mods per sign, multiple signs sent sequentially with configurable delay
  • Players with exploit protection are marked as PROTECTED instead of false negatives
  • Players who don't respond are marked as PROTECTED (likely blocking packets)
  • Three detection modes: METEOR, TRANSLATE, KEYBIND, each mod uses the correct one
  • Easily add custom mods to detect by adding entries in config.yml
  • /checkhacks <player> to check all configured mods
  • /checkhacks <player> meteor-client,freecam to check only specific mods
  • /chreload to reload the config without restarting the server
  • Full tab completion on player names and mod IDs, including comma-separated mod lists
  • Auto-check on player join, configurable delay before the check starts
  • Optional first-join-only mode for join checks
  • Anticheat integration: triggers automatic checks when Grim, Vulcan or Spartan flags a player
  • Configurable cooldown between automatic checks per player to avoid spam
  • Separate hack lists for default checks, join checks and anticheat-triggered checks
  • Results broadcast to all players with the checkhacks.results permission
  • Results also sent privately to the player who ran the check
  • Each result line shows the mod name and its individual outcome (DETECTED, NOT_DETECTED, PROTECTED, SKIPPED)
  • Shows checker name and reason (manual check, join check, anticheat flag) in results
  • Discord webhook support with fully customizable embed message
  • Webhook placeholders: &name&, &checker&, &reason&, &hacks&, &results&
  • Configurable embed color for the Discord webhook
  • Optional auto-command on positive detection (e.g. tempban %player% 14d Cheating)
  • Signs are placed and restored invisibly, the target player never sees a permanent sign
  • Barrier placed automatically below the sign if needed to keep it supported
  • Every message fully editable in config.yml with MiniMessage formatting and color codes
  • Configurable plugin prefix
  • PlaceholderAPI support
  • Permissions: checkhacks.check, checkhacks.reload, checkhacks.results, checkhacks.*
CheckHacks Icon
Download CheckHacks
Select game version
Select platform