Skip to content
Current coupon:10% offUse it in your order

Whitelist, operators and bans on a Minecraft server

How to lock your server with a whitelist, give and remove operator rights, what permission levels 1–4 mean, and how to kick players, ban them temporarily or permanently, and unban them.

  • beginner
  • ~10 min
  • Updated 2 Oct 2026

Three basic tools control who can join your server and what they can do there: the whitelist lets in only selected players, operators get all commands, and a ban blocks anyone who breaks the rules. You can do all of it from the console in the customer area or in the game.

You can also manage the whitelist, operators and bans without commands in the Players tab: while the server runs, the portal sends a console command; while it is stopped, it edits the files directly. A non-default operator level can only be set while the server is stopped.

What you'll need

  • A Minecraft server at StormHost
  • Access to the Console tab (and Server properties to make the whitelist setting permanent)
  • Operator rights in the game, see First start
  • About 10 minutes

Whitelist#

The whitelist is a list of players who are allowed to join. When it's on, the server turns everyone else away with the message You are not white-listed on this server! (Paper and Purpur always send You are not whitelisted on this server! in English). It's useful for private servers with friends, testing or closed events.

Turning on the whitelist#

  1. Add yourself first so you don't lock yourself out (operators can always join, though):

    Consoletext
    whitelist add <NICK>
    • whitelist add – adds a player to the whitelist. The player doesn't need to be online or to have ever joined before. The server looks up their account.
    • <NICK> – the player's in-game name, for example Steve.
    Outputtext
    [12:00:01 INFO]: Added Steve to the whitelist
  2. Add all other players with the same command.

  3. Turn on the whitelist:

    Consoletext
    whitelist on
    Outputtext
    [12:00:05 INFO]: Whitelist is now turned on

    The whitelist applies immediately, and the server also writes white-list=true to server.properties, so it survives a restart.

You get the same result with the setting in the customer area: the Server properties tab › the Players group › turn on Whitelist › Save and restart.

Enforce whitelist#

When you turn on the whitelist, players who are currently connected and aren't on the list stay on the server. The Enforce whitelist option (enforce-whitelist in server.properties) kicks them when the whitelist reloads. Turn it on in the Server properties tab in the Players group.

Whitelist commands#

CommandWhat it does
whitelist add <NICK>Adds a player
whitelist remove <NICK>Removes a player. Doesn't kick a connected player unless Enforce whitelist is on
whitelist listLists the whitelisted players
whitelist on / whitelist offTurns the whitelist on / off
whitelist reloadReloads whitelist.json from disk (after editing the file by hand)

The list is saved in whitelist.json in the server root. Each player has a UUID (a unique account identifier) and a name in the file. We don't recommend editing it by hand; the commands are safer.

Bedrock players (Geyser and Floodgate)#

Add Bedrock Edition players with the Floodgate add-on's command. Type the name without the prefix:

Consoletext
fwhitelist add <NICK>

Floodgate adds a prefix to Bedrock players' names in the game (a dot by default, for example .Steve) so their names don't clash with Java players. The fwhitelist command adds the prefix for you. More in Crossplay with Bedrock.

Operators#

An operator (op) can use server commands according to their permission level. The default level is 4, which means every single command.

Consoletext
op <NICK>
Outputtext
[12:01:10 INFO]: Made Steve a server operator
Consoletext
deop <NICK>
Outputtext
[12:01:30 INFO]: Made Steve no longer a server operator
  • op gives a player operator rights, deop takes them away. The change applies immediately.

Operator permission levels#

LevelNameWhat they can do
1ModeratorBuild in the protected area around spawn (spawn-protection)
2GamemasterMost game commands: gamemode, tp, give, time, weather, gamerule, command blocks
3AdminPlayer management: ban, kick, op, deop, whitelist
4OwnerAbsolutely everything, including server management: stop, save-all

You set the level for new operators in the Server properties tab › Players › Operator permission level (op-permission-level, a value of 1–⁠4, default 4). The level of a specific operator is in the ops.json file:

ops.jsonJSON
[
  {
    "uuid": "<PLAYER_UUID>",
    "name": "Steve",
    "level": 4,
    "bypassesPlayerLimit": false
  }
]
  • uuid – the unique account identifier. The server fills it in itself on op.
  • name – the in-game name (just for reference; the UUID is what counts).
  • level – level 1–⁠4 according to the table above.
  • bypassesPlayerLimit – true means the operator can join even a full server.

Only edit the file while the server is stopped, otherwise the server overwrites it when saving.

For a team, use LuckPerms instead

Op is all or nothing. A moderator with level 3 can even ban other operators. If you have a team, give op only to yourself and grant the others specific commands with the LuckPerms plugin, see LuckPerms. On Paper, operators also automatically get most plugin permissions.

Bans#

CommandWhat it does
ban <NICK> [reason]Permanently bans an account. The player doesn't need to be online.
ban-ip <IP_OR_NICK> [reason]Bans an IP address. Instead of an IP you can enter the name of a connected player.
pardon <NICK>Removes an account ban
pardon-ip <IP>Removes an IP ban
banlistLists all bans (banlist players only accounts, banlist ips only addresses)

Example:

Consoletext
ban Griefer123 Griefing builds at spawn
Outputtext
[12:02:00 INFO]: Banned Griefer123: Griefing builds at spawn

When a banned player tries to join, they see You are banned from this server and the reason. Bans are saved in the banned-players.json and banned-ips.json files.

Be careful with IP bans

Many people share one IP address (a household, a school, a mobile carrier), so an IP ban can also block innocent players. On the other hand, a player whose IP address changes can get around the ban just by reconnecting to the internet. IPv6 addresses can't be banned with ban-ip. Only use IP bans against repeated attacks from one address.

Temporary bans#

Vanilla Minecraft can't do temporary bans. With the EssentialsX plugin (Paper, Purpur), use:

Consoletext
tempban <NICK> <duration> [reason]
  • <duration> – for example 30m (minutes), 12h (hours), 3d (days), 1w (week), 1mo (month). Combinations like 1d12h also work.
  • Example: tempban Steve 3d Chat spam.

Installing EssentialsX is covered in Recommended plugins.

Kicking players (kick)#

Consoletext
kick <NICK> [reason]

Disconnects the player, but they can rejoin right away. Useful as a warning. Output: Kicked Steve: reason.

Online mode and security#

The Account authentication (online-mode) option in the Server properties tab decides whether the server checks with Mojang that a player owns a genuine account.

  • On (recommended): every name belongs to a real account. The whitelist, op and bans work reliably.
  • Off: anyone can join under any name, including operators' names. The customer area warns you about this: “With authentication off anyone can join under any name, including operators' names.” Turning it off only makes sense behind a proxy (Velocity) that does the authentication itself, see A server network with Velocity.

Authentication off and operators

On a server with online-mode off, anyone can join using your operator's name and get their rights. If you have to turn authentication off, use a whitelist and a login plugin, or better, a proxy that authenticates players.

Verify it works#

  • whitelist list lists the whitelisted players.
  • banlist lists the bans.
  • A player who isn't on the whitelist gets the whitelist message when trying to join.

Troubleshooting#

A player is on the whitelist but the server won't let them in#

  • The name has a typo, or the player changed their name. Check whitelist list and add them again.
  • A Bedrock player has to be added with fwhitelist add.
  • The server runs with online-mode off and the whitelist contains the UUID of the genuine account. With authentication off, the player has a different UUID. Add them again.

That player does not exist#

The server couldn't find an account with this name at Mojang. Check the exact spelling of the name.

Nothing changed. The player is already an operator#

The player is already an operator. If you want to change their level, edit level in ops.json while the server is stopped.

The whitelist turned off after a restart#

You probably turned it on in the Server properties tab but didn't save, or you were editing server.properties at the same time and the server overwrote it on startup. Turn it on again with whitelist on and check that Whitelist is on in Server properties.

An unbanned player still can't join#

They probably also have an IP ban. Check banlist ips and remove it with pardon-ip <IP>. Temporary bans from EssentialsX are removed with unban <NICK>.

Summary

  • Whitelist: first whitelist add <NICK> for everyone, then whitelist on. Operators can always join.
  • Enforce whitelist kicks players who aren't on the list.
  • Op grants commands by level 1–⁠4; the default 4 is absolutely everything. For a team, use LuckPerms.
  • ban blocks an account, ban-ip an address; pardon and pardon-ip remove bans. EssentialsX handles temporary bans (tempban).
  • Keep account authentication (online-mode) on.

Search the guides