Mod Access Control
A server-side Minecraft mod that lets you control exactly which mods your players may or may not have installed. It works identically across Forge, Fabric, and NeoForge with the same config file and the same /mac command suite.
Note: Every client also needs this mod installed to complete the handshake. Clients without it are blocked on join (this can be disabled via
requireClientMod).
Features
- Two-stage handshake – minimal mod-list exchange at login, full list verification before entering the world, and periodic re-checks in the background.
- Required-mod checks – enforce presence (
presence), version ranges (version_range), or exact matching (strict). - Policy system –
whitelist/blacklist/switch(dual-mode with periodic rechecks). - Rule management in-game – reload, save, and edit whitelist/blacklist/required lists live via
/maccommands (with tab-completion). - Clear player feedback – disconnect reasons list exactly which required mods are missing, which versions mismatch, and which banned/off-list mods were found.
- Exemptions – exempt players by name or UUID, or all OPs, skipping all checks.
- Dry-run mode – detect and log violations without kicking, so you can verify your rules before going live.
- Mod history – per-player mod lists are persisted and auditable, with
/mac auditand one-click/mac learn. - Admin alerts – online admins get chat + action-bar + sound notifications on each block, with
/mac statusand/mac recent. - Robust error handling – corrupted configs are auto-backed up and reset; everything is wrapped in try/catch with logging.
Configuration
Config file: <server>/config/mod_access_control.json
Key options:
enabled– master switchrequireClientMod– require the client mod (default true)strictLoader– require matching loader (Forge/Fabric/NeoForge)requiredCheckMode–presence/version_range/strictpolicy.mode–whitelist/blacklist/switchexemptPlayers/exemptOps– exemptionsdryRun– dry-run mode
Commands
/mac commands include: status, recent, check, audit, learn, reload, save, recheck, enabled, dryrun, mode, active, exempt, allowedmac, required, whitelist, and blacklist.
Loaders & Compatibility
| Loader | Notes |
|---|---|
| Forge | Forge 52.0.50, tested build |
| Fabric | Fabric Loom / Loader 0.19.5 / Fabric API 0.116.x |
| NeoForge | NeoForge 21.1.250 (ModDevGradle) |
License
GNU GPL-3.0