Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
๐ก๏ธ Defixus: Anti-Cheat and QoL Admin Tool
๐ The Ultimate Anti-Cheat Mod with Integrity Protection ๐
Detect unauthorized resources โข Verify file integrity โข Monitor live changes โข Resource hash analysis โข Protect your community
Active Support: Minecraft 26.x and 1.21.11
โก ๐ SHA-256 Verification & Client Inspector ๐ โก
Defixus is a powerful anti-tampering and verification system for Fabric/Quilt and NeoForge servers, with lots of QoL features.
A runtime-behavior anticheat is in development inside Defixus, consider help the project on Ko-fi
Geyser/Floodgate & ViaVersion/ViaBackwards authentication are supported
Unlike traditional "whitelist/blacklist" solutions with mod-id's, Defixus validates not only which mods are loaded, but also checks their integrity through SHA-256 checksum hashing and their behavior inspecting the binary files, ensuring that cheated, disguised or tampered clients cannot bypass server security policies defined by Defixus. Built for whether large or small communities that require a control over the client environment.
โจ Features
Give whether your SMP or Community clear client rules, share the resources your community needs, and keep useful administration tools close at hand.
- ๐ฆ Mod and resource-pack rules with Allowlist, Checklist, Denylist and Mustlist.
- ๐ SHA-256 integrity checks for reference files and the Defixus client.
- โฌ๏ธ Required server resources, prepared with the player's approval before entering the world.
- ๐ In-game client scans and individual or bulk client โ server downloads.
- ๐จ Active resource-pack change reports and an option to block normal pack selection.
- ๐ฅ๏ธ An in-game settings panel, paginated chat reports and multiplayer server-list indicators.
- ๐ค A two-way Discord console, using your own bot running inside Minecraft (optional one-way Webhook console too).
- ๐ก Discord event alerts, including configured player-issued commands, using Webhooks.
- ๐ Persistent server and player statistics.
- ๐ Lot of client message languages, used for alerts, kicks and more.
๐ Start with installation, or visit the Defixus Wiki for the complete guides.
๐ก๏ธ Why Defixus?
Running a community server often means answering a simple question: which client resources belong here?
Here's a table which answers this question. Its important to understand what here is called ๐ฆ resource and what are the ๐ Lists.
- A ๐ฆ resource is either a ๐งฉ mod or a ๐จ resource pack.
| ๐ List | A ๐ฆ resource in this list means that |
|---|---|
๐ข Allowlist |
โThis resource is welcome to join the server.โ No particular file build is required. Uses mod-id for mods and a normalized name for resource packs. |
๐ก Checklist |
โIf you use this resource, it must match the relative file bit-by-bit (SHA-256 Checksum), and if it doesn't match, then an automatic kick from the server.โ |
๐ด Denylist |
โThis resource is prohibited.โ Uses mod-id for mods and a normalized name for resource packs. |
๐ต Mustlist |
โEveryone needs this exact mod or resource pack to be active.โ It must match the same file, bit-by-bit (SHA-256 Checksum), and if it doesn't, the player can't join the server. Comes with a simple "Sync Mustilist with Server" button, so the clients do not need to install the Must-have resources manually. Perfect choice for ๐๏ธ Modpacks. |
-
โช Allowed resources: a resource which is present in ๐ข Allowlist and ๐ต Mustlist, or that is present in ๐ก Checklist and matches the file integrity with the server's correspondent resource, is marked as โช Allowed.
-
๐ Unapproved resources: a resource which is not present in ๐ข Allowlist and ๐ก Checklist, is marked as ๐ Unapproved. An unapproved resource can be a โซ Prohibited one when the settings
kick-unapproved-*are enabled. -
โซ Prohibited resources: a resource that is present in the ๐ก Checklist and does not match the file integrity, or that is present in ๐ด Denylist, is marked as โซ Prohibited, and comes with a kick.
A Checklist reference alone does not require players to install that resource. Use Mustlist when it must be present (Modpack oriented servers).
For ordinary mod rules, Denylist takes priority, followed by Allowlist or recognized libraries, then Checklist. Built-in Allowlist entries and pack exceptions also apply, so review the verification rules when setting up a strict modpack.
In development also a runtime anti-cheat with high success rate, that is not based on ๐ฆ resources but on behavior runtime checks (like Vulkan and so on). This is a work in progress, and it will be released in the next months. Consider leave a tip on Ko-Fi to help this project.
โก Verification Flow
Defixus uses the client's reported loader mod inventory and selected resource packs.
Connect to the server
โ
โผ
Prepare Mustlist resources, if needed
Review โ Approve โ Download and check
โ
โผ
Required mods loaded and packs active?
โ
โผ
Enter the world and send the verification report
โ
โผ
Defixus release โ Integrity โ Ordinary server rules
โ
โโโโโโดโโโโโโ
โผ โผ
Accepted Rejected
or warned with an error code and kicked out
โ
โผ
Report subsequent pack-selection changes + Runtime checks
Mustlist is checked before ordinary staff and permission bypasses. When mods need changing, the player closes Minecraft to apply them, then restarts through the launcher.
See the verification guide for exceptions and the limits of client reports.
๐จ Resource Pack Protection
Keep your community's resource-pack choices predictable.
| Feature | Available |
|---|---|
| Pack Allowlist, Checklist and Denylist | โ |
| Required, active Mustlist packs | โ |
| File and directory fingerprints | โ |
| Reports of changes through the normal pack screen | โ |
| Block normal in-game pack selection | โ |
| Kick for unapproved packs | Optional; off by default |
block-pack-change defaults to true. Owner, Moderator and explicit pack-change bypass users receive an exemption from the screen block. Required Mustlist packs still apply.
The block controls the normal client interface; it does not independently restore changes made outside that interface. See pack-change behavior.
๐งโ๐ป What is Defixus ideal for?
- ๐ก SMPs and small communities that want understandable client rules.
- ๐งฉ Curated modpacks with required mods and optional approved additions.
- ๐ฐ RPG and economy servers with shared visual resources.
- ๐ช Private events that need consistent player setups.
- ๐ฎ Staff teams that want inspection tools, reports and visible administration.
โ๏ธ A walkthrough in verification process
All verification paths below are relative to config/Defixus-anticheat/verification/.
๐ข Allowlist: allow by identifier
Add mod IDs to mod_allowlist.json and pack names to pack_allowlist.json. These files contain JSON arrays:
["sodium", "iris"]
Allowlist entries accept an identifier without enforcing a version or file hash. Built-in entries are always included, and library-bypass allows recognized library IDs by default.
๐ก Checklist: approve an exact optional file
Put reference mod JARs in checklist/mods/ and resource-pack ZIPs or directories in checklist/packs/.
If a player reports that resource, and it reaches the Checklist check, its hash must match the reference. Missing optional resources are fine unless the option kick-unapproved-* is enabled.
โ ๏ธ For an exact Checklist comparison, review overlapping Allowlist entries and the library bypass. Allowlist approval happens first, so do not put the same mods in more than one list!
๐ด Denylist: prohibit a resource
Add prohibited IDs or pack names to mod_denylist.json or pack_denylist.json. Both start empty.
Denylist takes priority within ordinary list checks. Staff bypasses and the earlier system/mod-provided pack exceptions have their own behavior; the wiki describes the full order.
๐ต Mustlist: resources everyone needs
Want players to use your community's required mod or pack?
- Put required mod JARs for your loader in
mustlist/mods/, or its1.21.11/,26.1.x/,26.2/and26.3/subfolders for different client versions. - Put required pack ZIPs or directories in
mustlist/packs/. - Run
/defixus reload.
๐ก Players can prepare the must-have resources just by Joining the server, or click on the icon โ next to the server's name in the multiplayer list. The server's multiplayer indicators prepare the client before entering the server world.
When mods need changing, whether different not present or the integrity is corrupted, players choose Download and then Close Minecraft and apply. Eventual replaced files are backed up; launcher-managed or nested installed mods may need a manual update.
Mustlist applies to Java staff too. It requires a minimum set; additional resources follow ordinary rules. A changed Mustlist requests fresh reports from online Java players after reload and disconnects those who no longer meet it.
See player preparation and server setup and limits.
โ ๏ธ Checklist and Mustlist support common mod references plus client-version overrides. For example,
verification/mustlist/mods/26.1.x/selects required files for all three 26.1 patches. Pack references and Allowlist/Denylist stay shared. See versioned references.
๐ Staff permissions
Ordinary join verification has automatic bypasses for the exact Owner and Moderator permission sets, after the matching Defixus release check. Separate permission nodes can skip mod or pack checks.
These bypasses do not exempt anyone from Mustlist. Owner and explicit pack-change permission users also skip ordinary pack-change verification; Moderator alone only receives the screen-block exemption.
See the permission guide for the precise rules.
๐ฅ Inspect and download client resources
Authorized staff can inspect an online player's downloadable mod inventory and installed packs:
/defixus scan <player> mods
/defixus scan <player> packs
Reports include hash details on hover and a clickable Download action when permitted. Downloads can also be requested directly:
/defixus download <player> mod <mod-id>
/defixus download <player> pack "Pack Name.zip"
/defixus download <player> mods
/defixus download <player> packs
/defixus download <player> unapprovedmods
/defixus download <player> unapprovedpacks
These commands require an in-game staff player and a compatible online target. Files are saved under config/Defixus-anticheat/downloads/<player-uuid>/; they are not installed automatically. Each file is limited to 256 MiB, and pack folders are transferred as ZIPs.
Bulk downloads show progress and per-file failures. Nested mods and the Java runtime entry are excluded from the downloadable mod inventory. The unapproved* filters use ordinary Allowlist/library and Checklist approval, with Denylist taking priority; they do not consult Mustlist approval.
๐ Read useful reports
/defixus list mods
/defixus list packs
/defixus stats global
/defixus stats player <player>
/defixus panel
In-game reports use eight rows per page, private navigation and five-minute expiry. The console receives full plain-text output for commands available to console sources.
Scan, statistics, download and panel commands have separate access rules. Open the panel with /dp as a shortcut. See commands and statistics.
๐ค Discord Integration
Console sharing (Discord Bot or Webhooks)
Your own bot turns one Discord text channel into a shared Minecraft console. Authorized users send slash commands; everyone who can read the channel sees the author, command, response and forwarded runtime logs.
/defixus console command:list
/defixus console command:defixus list mods
/defixus status
The bot runs inside Minecraft. Create your own Discord application, keep its token locally on the server, configure allowed users or roles, and restart. No separate bot program, Docker or VPS is needed.
Authorized commands have full console permissions. Commands that require a player entity still need to be run in game.
Eventually, you can setup a one-way Minecraft to Discord console with webhooks, just to dispatch it in a public discord channel (to pursue the anti admin abuse checks).
๐ Follow the Discord Integration guide for the webhook one-way configuration or for the application creation, token storage and setup of the two-way Discord Bot.
Event alerts (Discord Webhooks)
Independent webhooks can send:
| Event | Notification |
|---|---|
player_join |
Successful ordinary verification |
operator_join |
Automatic Owner/Moderator join bypass |
operator_change |
Operator grants/removals through the hooked commands |
command_dispatch |
Configured player-issued commands |
player_kick |
Ordinary verification kicks |
mod_warnings, pack_warnings |
Unapproved-content warnings |
pack_changes |
Reported pack changes on applicable paths |
server_start, server_stop |
Server lifecycle alerts |
Configure destinations and switches in discord/webhook.json. fancy-webhooks adds available statistics and hash details. A separate one-way console webhook remains available when the personal bot is disabled.
๐ Statistics
Defixus keeps persistent global counters and individual player records.
| Server records | Player records |
|---|---|
| Checked reports and successful verifications | Name, UUID, first/last seen |
| Verification kicks and categorized detections | Connection, join and kick counts |
| Disconnects and staff join bypasses | Recent violations and last observed mod IDs |
| Server starts and stops | Stored play time, average session time and bypass use |
Reports show the supported counters and violation details; additional session data is stored in the player JSON files. Stored violation history keeps up to ten entries, and the player report displays up to five.
Player-statistics files older than 90 days since last seen are eligible for startup cleanup and /defixus cleanup.
โ๏ธ A walkthrough on Defixus configurations
The main server files live under config/Defixus-anticheat/:
Defixus-anticheat/
โโโ verification/
โ โโโ settings.json
โ โโโ mod_allowlist.json
โ โโโ mod_denylist.json
โ โโโ pack_allowlist.json
โ โโโ pack_denylist.json
โ โโโ checklist/
โ โ โโโ mods/
โ โ โโโ packs/
โ โโโ mustlist/
โ โโโ mods/
โ โโโ packs/
โโโ discord/webhook.json
โโโ console/
โ โโโ discord-bot.json
โ โโโ discord-webhook.json
โโโ statistics/
โโโ global.json
โโโ players/<uuid>.json
The default verification/settings.json is:
{
"config-version": 1,
"language": "en_us",
"library-bypass": true,
"block-pack-change": true,
"kick-unapproved-mods": false,
"kick-unapproved-packs": false,
"unapproved-mod-warning": "",
"unapproved-pack-warning": ""
}
| Setting | What to expect |
|---|---|
library-bypass |
Recognized libraries can pass ordinary mod approval without individual entries. |
block-pack-change |
Blocks the normal pack screen for players without an exemption; ordinary reported changes are logged and ignored while blocked. Mustlist checks still apply. |
kick-unapproved-mods |
Reject unknown mods instead of warning. |
kick-unapproved-packs |
Reject unknown packs at join and on activation instead of warning. |
language |
Default server-message and Discord event language. |
unapproved-*-warning |
Blank uses translated warning text; nonblank text is displayed verbatim. |
config-version |
Internal configuration schema. Leave it unchanged. |
Denylist decisions and applicable Checklist mismatches already reject resources, independently of the unknown-content kick switches.
Run /defixus reload after editing verification rules or resources. Invalid replacement policies leave the previous active rules in place. Discord file changes require a server restart; panel switches are applied immediately when saving succeeds.
๐พ Back up your configuration before updating. Legacy list paths migrate automatically with backups. The server configuration guide contains examples, migrations and all data locations.
๐ Installation
Mod requirements
Mandatory requirements
-
For Fabric and Quilt, Fabric API is required. Any version should be fine. Both server and client.
-
For NeoForge nothing is required. Both server and client.
Optional client enhancements
-
For Fabric:
โณ- Mod Menu opens Defixus settings from the mod list.
- Cloth Config provides the enhanced settings screen through Mod Menu.
Both are optional. Without them, use/defixusclientto open the native language screen (it's a beta test setting screen, a better one in development) -
For NeoForge, just the optional Cloth Config is suggested for the same reason. The native screen and
/defixusclientalso work without it.
Server setup
- Install your loader and accept Minecraft's EULA.
- Put mod requirements and Defixus in the server's
mods/folder. - Start the server to generate configuration files.
- Choose your lists and settings and load your files in mustlist and checklist, then run
/defixus reload. - Share the matching Defixus release (the Defixus server version) and required setup with your players.
Client setup
- Install the mod requirements, Defixus and consider download also optional client enhancements.
- Join the server, or use โ to prepare its Mustlist resources.
- Review requested downloads. If mods change, close Minecraft to apply them, then restart the same profile.
Recognized Bedrock players, authenticated with Geyser/Floodgate protocols are exempt from the Java verification flow.
โ ๏ธ Security Notice and Goals of this Mod
Defixus helps your community apply client-resource rules. Exact file checks can identify mismatches in the inventory the client reports.
A modified client can always falsify that report. Allowlist approval intentionally accepts identifiers without checking their bytes, you can still download them from the client to do a manual check. Defixus does not implement movement or combat analysis (at moment), and pack-screen blocking cannot prevent every local modification.
A runtime-behavior anticheat is in development inside Defixus, consider help the project on Ko-fi
๐๏ธ Technical Details & Supported Versions
| Detail | Last version details |
|---|---|
| Defixus version | 1.1.0-beta.1 |
| Minecraft targets | 1.21.11, 26.1.x, 26.2, 26.3 |
| Platforms | Shared Fabric/Quilt JAR, separate NeoForge JAR |
| Java | 21 for 1.21.11; 25 for 26.x |
| Hash algorithm | SHA-256 |
| Networking | Minecraft configuration and play payloads |
| Discord | Event webhooks, personal two-way console, optional forwarding |
| UI additions | Mod Menu and Cloth Config are optional |
Cross-version Defixus connections use protocol 2, a loader-family handshake and eight coordinated artifact fingerprints. Minecraft protocol translation must be provided separately (for example, a suitable ViaVersion/ViaBackwards/ViaFabric setup). Connections across Fabric/Quilt and NeoForge families are rejected. Old builds with the same release string but the previous protocol must be replaced.
โค๏ธ Support
If you enjoy Defixus:
โญ Star the project on GitHub
๐ฅ Download on Modrinth
๐ Report reproducible bugs on GitHub
๐ก Share ideas on GitHub or in my Discord server
๐ค Help shape a better experience for your community
My Other Projects!
If you enjoy Defixus Anti-Cheat, you may enjoy my other projects:
Builders Freecam - (1.17 - 26.4)
A complete well shaped fork of Freecam, which prevents Hack-like features such as traveling on "solid" blocks and lava, and cave-peeking.
Just Redstone Waterlog - (1.14 - 26.4)
This Mod/Plugin extends all Bedrock Edition Redstone components waterloggable blocks into Java Edition.
Just Bedrock Waterlog WIP - (1.14 - 26.4)
This projects extends all Bedrock Edition waterloggable blocks into Java Edition. Comes with a config too!
ViaAlert (ViaVersion Addon) - (1.21.11 - 26.4)
It lets you see when people join into your Fabric server which version are they using, and which client they are from.
Expanded Redstone - (1.21.11 - 26.4)
This mod allows redstone signals to propagate downwards over a non-conductor relay. A relay is a new block crafted with 4 vanilla block plus an amethyst shard.
Cobalt Age - (1.21.11 - 26.4)
This is a more shaped technical mods, which adds a complete new energy system called Cobalt Energy System, which works parallelly to Redstone, being different in the fact that it is not compatible with redstone signals and that it is waterloggable, and even more features, such as an up to 60 power strength.


