
Minecraft OP Levels and Admin Permissions
Go to Console and run op <player>. Do this from the Console tab, never in chat, and you will need op yourself (or panel/owner access) to run it.
Before you start
- You need to open the panel of your minecraft server (owner access, or a sub-user with Console permission).
- The player who you want to give permission to is need to be logged in the server. In offline mode, their UUID is derived from their name the first time they connect, so opping a name that's never joined can write the wrong UUID to
ops.json. - No restart is needed for
/opor/deopto run from the Console; they make updates immediately. A restart is required if you want to editops.jsonmanually instead of using the command.
Steps
Op a player
- 1Open the panel and go to Console.
- 2Run:
op PlayerName - 3The console logs
Opped PlayerName. No restart needed.

Deop a player
- 1In Console, run:
deop PlayerName - 2This removes them from
ops.jsonimmediately.
Check or edit ops.json directly
- 1Go to Files > ops.json.
- 2Each entry looks like:
{ "uuid": "1234abcd-...", "name": "PlayerName", "level": 4, "bypassesPlayerLimit": false}

- If you edit this file directly (rather than using
/op), you must restart the server for the change to load. The file is only read on startup.
Set the operator permission level
op-permission-level lives in Files > server.properties. It sets the level assigned to anyone new you op with /op (existing entries in ops.json keep whatever level they already have unless you edit the file). Values:
Level | Unlocks |
|---|---|
1 | Bypass spawn protection only |
2 | Level 1, plus most single-player cheat commands ( |
3 | Level 2, plus player-management commands ( |
4 | Level 3, plus |
Default is 4. Set it in server.properties, then restart for the change to apply to future /op grants.
Bypass spawn protection without full op
Spawn protection (spawn-protection in server.properties) blocks non op players from building near spawn. Op level 1 bypasses it, so you don't need to go higher just to let a trusted builder work near spawn. Set their entry's level to 1 directly in ops.json, then restart.
Grant admin-like access without full op
Full op gives blanket access, including /stop, which most server admins don't want to hand out. For scoped admin roles (moderators, builders, event staff), install a permissions plugin instead of opping people. LuckPerms is the standard choice:
- 1Install LuckPerms from the plugin/mod manager or upload the jar to Files > plugins, then restart.
- 2Create groups (e.g.
moderator) and assign specific permission nodes rather than full operator status. - 3Assign players to groups with
/lp user <player> parent add <group>from the Console.
This keeps ops.json reserved for people you'd trust with /stop.
Verify
- Files > ops.json: the player's entry appears with the correct UUID and name.
- In-game, the player can run a level-appropriate command, e.g.
/gamemode creativefor level 2+.
If it doesn't work
- Offline-mode UUID mismatch: if the server runs in offline mode and the player was opped before ever joining, the UUID in
ops.jsonwon't match their real one. Deop, have them join once, then op again. - Edited ops.json without restarting: direct file edits only load on startup. Restart the server or use
/opfrom Console instead. - Name misspelled or wrong case:
/opmatches on the exact name at time of granting; a typo silently creates a dead entry. - op-permission-level too low: if you set it to
1before opping someone, they won't get command access even though they're technically opped. Checkserver.properties, raise it, restart, then re-op.
Related
- Minecraft Server Commands Reference: full command list once a player has op access.




