Compatibility
Minecraft: Java Edition
1.21.8–1.21.10
Platforms
Supported environments
Links
Creators
Details
Licensed MIT
Published 2 months ago
Updated 2 weeks ago
Integral
Verify that your players didn't edit the modpack you gave them
Features
- Operators can request mod and resource packs lists from players
- These lists are also sent automatically on join and resource reload
- The server will log the lists to the console and optionally to Discord
- It will also log whenever the mod isn't installed client-side and can tell Java and Bedrock/Geyser players apart
- Players will be notified when servers send list requests for the first time
Drawbacks
This mod doesn't protect your server on its own; it's possible for hackers to spoof their lists, which is why you should still use other anticheat measures.
Unlike other anticheat mods, Integral will never kick/ban players, that decision is left to admins.
Recommendation: Install a mod which increases the chat line limit
(e.g. More Chat History), since /integral get results may send more than
100 lines.
Commands
All commands start with /integral and require operator status (= permission level 4)
| Subcommand | Description |
|---|---|
set_modpack |
Sends the mod and resource packs lists of the executing player to the server. See compareLists below. |
get <PLAYER> <TYPE> [OVERLAPS=false] [SUMMARY=false] |
Requests a mod or resource pack list from the specified player and sends it to the executing player once received. [OVERLAPS] determines the inclusion of entries existing in both the server and client list; [SUMMARY] causes the command to return a summary instead of a report |
reload |
Reloads the server-side configuration (both integral.json and integral_modpack.json) |
config <KEY> [VALUE] |
Retrieves/changes the config value at KEY. |
Config options
| Option | Default | Description |
|---|---|---|
enableModInSingleplayer |
false |
Whether Integral should enable/disable itself when it detects that the client is in singleplayer. |
compareLists |
true |
When this is enabled and /integral set_modpack has been run at least once, Integral will show which mods were added/removed from the client modpack. |
includeOverlaps |
true |
When compareLists is true, this option will cause Integral to show mods existing on both sides. This includes version differences. |
requestModsOnJoin |
true |
Whether a mod list should be requested from players with Integral when they join the server. |
requestResourcePacksOnJoin |
true |
Same as requestModsOnJoin but for resource packs. |
requestResourcePacksOnReload |
true |
Players could spoof their resource pack list by enabling resource packs after joining. This option combats this by requesting the resource pack list when the player reloads their resource packs. |
reportPlayersWithoutMod |
true |
Logs players who don't have Integral installed, since they can't respond to list requests. Players who are connected through Geyser aren't affected by this option. |
reportGeyserPlayers |
true |
Include Geyser players in reportPlayersWithoutMod; they get a special log message. |
sendListsToDiscord |
false |
When Discord Integration is installed, lists are logged to the command log channel (if configured). |
summarizeToOperators |
false |
When a list request is collected, Integral will send a summary of the results to all operators. |
summarizeEverywhere |
false |
Like summarizeToOperators, but replacing every occasion where list contents would be logged with a summary. |



