DocsMinecraft OP Levels and Admin Permissions
Ask on Discord
Minecraft OP Levels and Admin Permissions illustrated for the CraftLands Minecraft docs
MINECRAFT · COMMANDS
lborg
Docs Writer
Published August 8, 2026
UPDATED TODAY

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.

Fact
ops.json stores each operator by UUID, not username, so a player who changes their Minecraft name keeps their op status without needing to be re-opped.
Fact
Op level 4 is required to run /stop and /save-all, meaning a level 3 op can manage players and use most commands but cannot shut down or force-save the server.

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 /op or /deop to run from the Console; they make updates immediately. A restart is required if you want to edit ops.json manually instead of using the command.

Steps

Op a player

  1. 1Open the panel and go to Console.
  2. 2Run:
    op PlayerName
  3. 3The console logs Opped PlayerName. No restart needed.
op-command.webp

Deop a player

  1. 1In Console, run:
    deop PlayerName
  2. 2This removes them from ops.json immediately.

Check or edit ops.json directly

  1. 1Go to Files > ops.json.
  2. 2Each entry looks like:
    { "uuid": "1234abcd-...", "name": "PlayerName", "level": 4, "bypassesPlayerLimit": false}
ops.webp
  • 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 (/gamemode, /give, /tp, /clear)

3

Level 2, plus player-management commands (/ban, /kick, /op, /deop, /whitelist)

4

Level 3, plus /stop and /save-all

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:

  1. 1Install LuckPerms from the plugin/mod manager or upload the jar to Files > plugins, then restart.
  2. 2Create groups (e.g. moderator) and assign specific permission nodes rather than full operator status.
  3. 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 creative for 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.json won'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 /op from Console instead.
  • Name misspelled or wrong case: /op matches 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 1 before opping someone, they won't get command access even though they're technically opped. Check server.properties, raise it, restart, then re-op.

Does opping someone give them access to the server console or panel?

No. Op only affects in-game command permissions. Panel and Console access is controlled separately through CraftLands sub-user permissions, not through ops.json.

Can I op a player who's currently offline?

Yes, as long as they've joined at least once before (so their UUID exists). Run op PlayerName from Console regardless of whether they're online; it takes effect the next time they connect.

Start Your Minecraft Server Today

Pick a plan and your Minecraft server is online in about 30 seconds, with Paper plugins and Forge modpacks one click away in the panel. Full file access and SFTP are there when you go deeper, and automatic backups turn a broken config into a restore, not a rebuild.
VIEW MINECRAFT PLANS
Logo
Game server hosting made simple for everyone.
CraftLands Hosting S.R.L.Calea Moșilor 88, Sc. F, Ap. F1, Sector 3, 030152, București, RomaniaCUI 50929471 · VAT RO51171749Reg. Com. J2024043623000+40 755 361 220business@craftlands.host
© 2024 - 2026 CraftLands Host. All rights reserved.
Soluționarea Alternativă a Litigiilor (ANPC SAL): Romanian alternative consumer dispute resolution, opens in a new tab, page in Romanian