Turn the whitelist on
With the whitelist on, only names on the list can join. Everyone else gets You are not white-listed on this server! and never gets past the door. Add yourself and your regulars first, then switch it on:
Console
whitelist add RiverFox22
whitelist add MossyOak
whitelist on
whitelist listThe console answers Added RiverFox22 to the whitelist and Whitelist is now turned on, so you see straight away whether it worked. The Players tab in our panel does the same with buttons, and it works while the server is stopped too: the change goes into the server's files and applies on the next start.
| Command | What it does |
|---|---|
whitelist on | From now on only listed players can join. Stored as white-list=true. |
whitelist off | Anyone can join again. The list itself is kept for later. |
whitelist add <name> | Puts a Java player on the list. The name is checked against Java accounts. |
whitelist remove <name> | Takes a player off the list. |
whitelist list | Shows every name on the list. |
whitelist reload | Reads whitelist.json again after someone edited the file by hand. |
Switch on enforce-whitelist as well
Without enforce-whitelist=true, taking someone off the list does not take them off the server; they keep playing until they log out. With it on, players who are no longer listed are kicked as soon as the list changes.
The list decides who gets in, not how a stranger asks to be on it. If players you have never met should be able to apply for a place, Minecraft whitelist application on astroworldmc.site has the questions to ask, a form to copy and a way to review the answers fairly.

Three things that catch people out
- Operators skip the whitelist. An operator joins without being on the list. When someone should not come back, take away operator rights as well.
- Offline mode makes names worthless. With
online-mode=falseanyone can pick any name, including one that is on your whitelist. A whitelist only protects a server that checks accounts. - Bedrock players need Floodgate's command. On a Crossplay server you add them with
fwhitelist add <gamertag>, typed without the dot in front. The Java and Bedrock guide explains the names.
Worth knowing for later: the development snapshots of 26.3 switch the whitelist on by default. A new server made on that version will start with white-list=true and an empty list, so add yourself before your friends try to join.
What each operator level can do
op <name> makes a player an operator at the level in op-permission-level, which is 4 unless someone changed it. Level 4 is everything, including the command that shuts the server down. Each level includes all the ones below it.
| Level | Role | What it adds | Commands, for example |
|---|---|---|---|
| 0 | Every player | The basics | help, list, msg |
| 1 | Moderator | Building inside spawn protection | No extra commands |
| 2 | Gamemaster | Cheat and world commands, command blocks, the game mode switcher | gamemode, give, tp, gamerule, difficulty, seed, worldborder, datapack |
| 3 | Admin | Managing players | whitelist, op, deop, kick, ban, ban-ip, pardon |
| 4 | Owner | Managing the server itself | stop, save-all, save-off, save-on |
Level 3 is not a safe middle ground
The op command always hands out the level from op-permission-level, whoever types it. An admin on level 3 can therefore make a friend a full level 4 operator. Give level 3 only to people you would trust with level 4.
Give someone a lower level
The op command cannot pick a level, but the file it writes to can. Every operator has an entry in ops.json with a level of its own.
Make the player an operator once
Run
op <name>so the server writes a correct entry with the player's UUID.Stop the server
A running server keeps the operator list in memory and writes it back later, so edit the file only while the server is stopped.
Change the level in ops.json
Open
ops.jsonin the Files tab and setlevelto 2 for a builder who needs creative and teleport, or 3 for someone who handles bans.bypassesPlayerLimitset to true lets that person in when the server is full.Start the server and test
Ask the player to try a command from a higher level. When their level does not allow it, the game answers
Unknown or incomplete command. See below for error.
ops.json
[
{
"uuid": "5f1c1e3a-8d2b-4c7e-9a41-2b6f0d9e7c13",
"name": "RiverFox22",
"level": 2,
"bypassesPlayerLimit": false
}
]When four levels are not enough
Operator levels are four fixed bundles. On a Paper or Purpur server a permissions plugin such as LuckPerms lets you hand out exactly the commands someone needs, per group or per player, including commands from other plugins that the levels know nothing about.
Console, with LuckPerms
lp creategroup builder
lp group builder permission set minecraft.command.gamemode true
lp user RiverFox22 parent add builderBuild ranks as groups rather than per player, so a new builder is one command instead of ten. Keep real operators to the one or two people who are responsible for the server.
Panel access is a separate thing
Operators have power inside the game. People who help run the server from the outside, restarting it, editing files or making backups, belong in the Staff tab of the panel. You invite them by email and choose what they may touch, while billing and managing staff always stay with you as the owner.
Written and checked by the Lodehost team, last reviewed on 13 September 2026.




