Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
Platforms
Supported environments
Client-side
Tags
Creators
Details
Licensed MIT
Published last week
Updated 3 weeks ago
Onryo ModCheck
See which Fabric mods your players use, and enforce your server's mod rules.
Onryo ModCheck has two halves, and both are on this page:
| File | Goes on | Loader | |
|---|---|---|---|
| ๐ฅ๏ธ Server plugin | ModCheck-0.1.6.jar |
your server, in plugins/ |
Paper / Purpur 26.1.1 โ 26.3 |
| ๐ฎ Client mod | OnryoModCheck-Client-0.1.6.jar |
each player's game, in mods/ |
Fabric 26.1 โ 26.3 (+ Fabric API) |
โ ๏ธ Not an anti-cheat. The mod list is reported by the player's own client, and a modified client can lie. ModCheck is a transparency and rules tool for communities with honest players, not protection against determined cheaters.
How it works
- A player with the client mod joins your server.
- About 2 seconds later, the plugin asks the client for its mod list over a custom plugin channel.
- The client replies with the id, name and version of every Fabric mod it has loaded.
- The plugin checks the mod ids against your config:
- Denied mod found: the player is kicked, banned or just logged, as you choose.
- Required mod missing: the report is flagged.
- No report at all (the client mod isn't installed): optionally kick, ban or log.
- Staff can browse every online player's list in-game with
/modcheck.
Installation
Server owners
- Use Paper or Purpur 26.1.1 โ 26.3 with Java 25.
- Download the Paper/Purpur version (
ModCheck-0.1.6.jar) intoplugins/and restart. - Edit
plugins/OnryoModCheck/config.yml, then run/modcheck reload. - Tell your players to install the client mod. Only turn on
enforce-missing-reportonce they have it.
Players
- Use a Fabric profile for Minecraft 26.1 โ 26.3, with Fabric Loader โฅ 0.19.2.
- Put the Fabric version (
OnryoModCheck-Client-0.1.6.jar) and Fabric API โฅ 0.140.3 into.minecraft/mods/. - That's it. There's no config, and the mod only does something on servers running the plugin.
Features
- Mod lists are requested automatically on join.
- Denied mods are matched by Fabric mod id, ignoring case. Action:
LOG,KICKorBAN. BAN uses your server's/ban, so ban plugins work. - Missing report: optionally act on players without the client mod.
- Required mods are shown as "missing required" and flag the report.
/modcheck listshows everyone online as clean or flagged;/modcheck <player>shows the full list, paged.- Fabric API modules and other noise can be hidden from the display. The rules still check the full list.
- Large modpacks are handled: the client fits its list into the server's limits and keeps mod ids first.
- Lightweight: data stays in memory only, there's no database, and nothing is written to disk.
Commands & permissions (server)
| Command | Description |
|---|---|
/modcheck ยท /modcheck status |
Number of stored reports |
/modcheck list [page] |
Online players' reports (clean/flagged) |
/modcheck <player> [page] |
One player's full mod list |
/modcheck reload |
Reload config and re-check stored reports (never kicks anyone) |
Permission onryomodcheck.admin (default: op) covers every subcommand. |
Configuration (plugins/OnryoModCheck/config.yml)
| Key | Default | |
|---|---|---|
settings.denied-mod-action |
KICK |
LOG / KICK / BAN |
settings.enforce-missing-report |
false |
Act on players who send no report. This includes vanilla and Bedrock/Geyser players, so test with LOG first. |
settings.missing-report-delay-seconds |
10 |
Minimum 3 |
settings.missing-report-action |
KICK |
LOG / KICK / BAN |
settings.mods-per-page |
10 |
1 โ 20 |
rules.denied-mods |
example-xray-mod-id |
Fabric mod ids |
rules.required-mods |
onryo-modcheck-client |
Shown and flagged, but never kicks on its own |
rules.ignored-mods / ignored-prefixes |
Fabric API modules, java, minecraftโฆ |
Display filter only |
messages.* |
Kick and ban messages; %mods% placeholder |
๐ Privacy
Client mod (players)
- What it sends: the id, display name and version of every Fabric mod you have loaded. That includes nested library mods and the
minecraft,javaandfabricloaderentries. This is your full mod list. - To whom: only to servers that ask for it, meaning servers running the ModCheck plugin. Nothing is sent to other servers or in single-player.
- When: on joining such a server, and whenever it asks again.
- Nothing else: no usernames, IPs, hardware info, files or settings. Server plugin (server owners)
- Storage: reports are kept in memory for the player's session and deleted when they leave. Nothing is written to disk except the plugin's own
config.yml. - Who sees it: staff with
onryomodcheck.admin. A one-line summary (mod count, plus any denied or missing ids) is written to the server log. - Please tell your players in your rules that their client mods are checked. Both halves: no telemetry, HTTP, webhook or third-party connections. The mod list only travels inside the normal Minecraft connection between the player and the server they joined.
Compatibility
- Server: Paper and Purpur 26.1.1, 26.1.2, 26.2, 26.3, Java 25. Tested on all of them. Not 1.21.x, Spigot or Folia.
- Client: Fabric 26.1 โ 26.3, Fabric Loader โฅ 0.19.2, Fabric API โฅ 0.140.3, Java 25. Tested with a real client joining a Paper server on each version.
- Forge/NeoForge/Quilt clients, Bedrock players and vanilla clients can't send reports.


