Minecraft ops and whitelist guide
Grant and remove Minecraft Java operator access, choose a permission level, manage the whitelist, handle Java and Floodgate names, and recover from common access errors.
Minecraft Java stores operator profiles in ops.json and approved players in
whitelist.json. Use Console commands for routine changes. Stop the process
before editing either JSON file by hand.
The canonical
/whitelist reference lists
each command and explains how Java operators interact with the whitelist.
Grant operator access
On berrybyte, open the server and select Console. Wait for the startup
Done line, then enter:
op PlayerNameThe dedicated server console accepts commands without a leading slash. In
game, an existing operator uses /op PlayerName.
Copy the exact Java username
Read the player's name from Console after a join attempt. Account names and display names can differ when a proxy or bridge is involved.
Run op from Console
Enter op PlayerName. Look for the confirmation message naming that profile.
Test one protected command
Ask the player to reconnect, then test a low-risk command such as /gamemode spectator.
Return to the intended game mode afterward.
An operator can change the world, player inventories, access controls, and server state. Grant op to accounts that need full Minecraft administration.
Remove operator access
Run this from Console:
deop PlayerNameMinecraft removes the profile from ops.json. Some permission plugins cache
their own grants, so remove those separately through the plugin's documented
command.
The native operator system and LuckPerms-style plugin permissions solve different jobs. Native op unlocks Mojang commands according to the operator level. A permissions plugin can grant selected plugin nodes without full op.
Choose an operator permission level
op-permission-level in server.properties sets the level written for a new
operator. The
server.properties reference
documents levels 0 through 4. The default is 4.
| Level | Typical access |
|---|---|
1 | Bypass spawn protection |
2 | Player and gameplay commands such as gamemode and teleport |
3 | Player management commands such as ban and op |
4 | Server control commands, including stop |
Open Settings → Game Settings for exposed properties, or edit
server.properties under Files. Restart after changing
op-permission-level; existing entries retain the level stored in ops.json.
Use a permissions plugin when a moderator needs a narrow command set. Native level 4
suits owners who also maintain the process.
Enable the whitelist
Run:
whitelist on
whitelist add PlayerName
whitelist listAdd each regular player before sharing the address. Java Edition resolves the
profile and stores its UUID with the name in whitelist.json.
Minecraft Java 26.3 changes white-list to true for newly generated
configurations. Mojang published that change in
26.3 Snapshot 2.
Existing server.properties files keep their saved value during an update.
On berrybyte, Settings → Game Settings exposes the whitelist setting. A saved property change takes effect on restart. Console commands apply to the running server immediately.
Maintain the approved players
These commands cover normal whitelist work:
whitelist add PlayerName
whitelist remove PlayerName
whitelist list
whitelist reload
whitelist offwhitelist reload reads whitelist.json after a manual file edit. With
enforce-whitelist=true, the reload also disconnects online players absent
from the list. With enforcement disabled, removed players lose access after
their current session ends.
Java operators can enter an allowlisted server without their profiles in
whitelist.json. Add the owner's profile anyway so the intended access list
stays visible.
Whitelist Geyser and Floodgate players
Geyser translates Bedrock traffic for a Java server. Floodgate supplies Java identities for Bedrock accounts that lack Java Edition.
The stored player name can include a prefix selected by the Floodgate config. Copy the identity shown by Console during the join attempt, then use it exactly:
whitelist add ExactFloodgateNameGeyser's Floodgate setup guide explains linked accounts, prefixes, and proxy installations. Run whitelist commands on the server or proxy layer that performs the access check.
If a Java username works while a Bedrock player receives a whitelist error, open the Minecraft connection guide and confirm the Geyser/Floodgate path.
Inspect the files safely
Create a backup, then stop the server. The main files are:
ops.json, containing operator UUIDs, names, levels, and player-limit bypass values.whitelist.json, containing approved UUIDs and names.server.properties, containingwhite-list,enforce-whitelist, andop-permission-level.
Treat JSON as machine-managed data. Console commands avoid malformed syntax
and resolve the current account UUID. Start the server after inspection and
run whitelist list to verify the result.
Fix common access errors
The console says that player does not exist
Check the spelling and online-mode. Let the player attempt one join so Console shows the
identity the server receives.
A whitelisted player still gets refused
Compare the stored UUID and current account name. Proxy, Floodgate, and offline-mode installations can present a different identity.
A deopped player still has commands
Check LuckPerms or another permissions plugin. Native deop leaves plugin grants intact.
A removed player remains online
Enable enforce-whitelist, then run whitelist reload, or wait for the current session to
end.
The setup guide covers first boot. The join guide gives players the address. Open a support ticket when the panel setting and the live command result disagree.
Frequently asked questions
How do I make myself an op on a Minecraft server?
Open the berrybyte Console and run op followed by the exact Java username. A self-host can enter the same command in the server console. Rejoin when a plugin caches permissions.
How do I remove op from a Minecraft player?
Run deop followed by the exact username from Console. Check ops.json after stopping the server when you need to confirm the stored profile.
How do I turn on the Minecraft whitelist?
Run whitelist on, then whitelist add followed by each approved username. Game Settings can manage the same white-list value. Java 26.3 generates new servers with the whitelist enabled by default.
Do operators need to be on the Java whitelist?
Java operators can join while the whitelist is active even when their profiles are absent from whitelist.json. Adding every regular player remains the clearest access policy.
What does enforce-whitelist do?
With white-list and enforce-whitelist enabled, a whitelist reload removes online players whose profiles are absent. Without enforcement, a removed player can remain until disconnecting.
How do I whitelist a Bedrock player through Geyser?
Use the exact Floodgate identity shown in Console when that player connects. Prefixes and spaces depend on the Floodgate configuration, so copy the displayed name before running whitelist add.