Decide which mods, shader packs and resource packs players may bring to your Forge server, which ones they must have, and which ones count as cheats. The lists are folders that hold the real files, so there is nothing to type. The same mod bans items and mobs (also the ones new terrain brings), deletes them from the loaded world or from the whole server, closes dimensions, keeps advancements private and hides buried ores from x-ray.
Players do not install ServerWhitelist: Server Logistics, which every player of the server already has, sends the server a report of their game — mods, the active shader pack, the selected resource packs — and the server judges it. ServerWhitelist on a game is only the administrators' screen. It is managed from that screen or from commands, by the players the server's console grants access to (being an operator is not enough).
Forge, Minecraft 1.20.1. Requires Server Logistics 1.0.1 or newer. MIT licence. Author: puercoalopecico.
Commands
They work from the console and RCON too. [dim] is optional: without it, every dimension.
| Command | What it does |
|---|---|
/serverwhitelist status |
How every player was judged |
/serverwhitelist check {player} |
What that game reported, and what it breaks |
/serverwhitelist reload |
Reads the folders again, re-checks everybody |
/serverwhitelist ban item {item} [dim] |
Bans an item |
/serverwhitelist ban entity {mob} [dim] |
Bans a mob |
/serverwhitelist unban item / entity … |
Lifts a ban |
/serverwhitelist banlist |
Every ban |
/serverwhitelist delete item everywhere {item} |
Deletes an item from what is loaded |
/serverwhitelist delete entity {mob} |
Deletes a mob from what is loaded |
/serverwhitelist deleteall entity {mob} |
Deletes a mob from the whole server |
/serverwhitelist deleteall item {scope} {item} |
The same for an item (everywhere, containers, inventory) |
/serverwhitelist deleteall confirm / cancel / status |
Confirms, stops or follows it |
/serverwhitelist dimension block / unblock {dim} |
Closes or opens a dimension |
/serverwhitelist advancements normal / self / off |
Advancements mode |
/serverwhitelist requireClientMod true / false |
Refuse games that cannot report |
/serverwhitelist knowncheats |
The built-in cheat list |
serverwhitelist access grant {player} |
Console only: gives the upper tier |
/serverwhitelist access add / remove {player} |
Gives or takes the lower tier |
Before you install
- Every list is on by default, and an empty whitelist folder allows nothing of that kind. The server's own mods are allowed by themselves; client-side mods (minimaps, shader loaders, performance mods), active shader packs and selected resource packs are refused until you put them in the whitelist folders (
config/ServerWhitelist/Whitelist/). Set the folders up before you update. - Nobody sees the screen until the console grants somebody:
serverwhitelist access grant <player>. - Server Logistics 1.0.1 on the server and on every game. A game with an older Server Logistics cannot send its report: it is judged by Forge's mod list only (no shaders, no packs), or refused with Require the game report on.
- Not a complete anti-cheat. It catches known cheats, what you put in the Cheating folders and the simple disguises (a renamed jar, a cheat under a whitelisted mod's name). A modified game can lie.
How a game is judged
When a player joins, their game reports every jar in mods (hash, mod ids, the packages of its code), the shader packs and the active one (Iris or Oculus), and the resource packs and the selected ones. It reports again within seconds when something changes. The server compares it with three groups of folders:
- Whitelist — what may be there. Anything else is refused.
- Required — what must be there (a mod installed, a pack selected).
- Cheating — what counts as cheating: the granted players are warned in chat and it is written to
log-cheaters.txt; optionally the player is kicked. A built-in list of well-known cheats (hacked clients, Baritone, Freecam, x-ray, seed crackers) is recognised by mod id and by the packages of its code, so renaming the jar does not hide it.
A refused player gets one message with every reason at once, and the same list on their screen.
Bans and deletions
- A banned item cannot be crafted, dropped, found in chests, traded, placed or used.
- A banned mob does not spawn by any means — eggs, spawners, commands, natural spawning and new terrain — and the ones saved in chunks are taken away as their chunk loads. A mob somebody owns, rides, leads or named with a name tag stays.
- Deleting removes what exists. «Loaded chunks» works at once on what is loaded and the connected players. «Whole server» also walks every chunk saved on disk, loading each for a moment through the game itself, a few at a time and never while the server lags; for items it also cleans the disconnected players' inventories and ender chests, inside shulker boxes and bags too. It shows its progress, goes on after a restart and can be cancelled. Nothing is banned by deleting.
The rest
- Closed dimensions: no portal or teleport takes anybody in (optionally out). Nothing in the dimension is deleted.
- Advancements: normal, only for whoever gets them, or off.
- Anti-x-ray: ores enclosed in rock are sent to players as rock until they are near or exposed. The world itself never changes.
- The screen: a tab of the Server Logistics hub — Status, Lists, Players, Dimensions, Ban, Delete, Cheats, Granted players. Every option has an «i» with its help.
Compatibility and limits
- One jar for both sides. A game with ServerWhitelist (an administrator) can join servers without it.
- Server and administrators' games carrying ServerWhitelist must use the same build (network protocol 9 in 1.0.1).
- Iris or Oculus are not needed; with them, the active shader pack is read.
- A report is only as honest as the game that sends it.
- Languages: English, Spanish, French, Portuguese and German (and their regional variants); the rest in English.

