NapNodes

← Minecraft guides

Minecraft · updated 24 October 2026

How to Op Someone on Your Minecraft Server (and Deop Them): Levels and Errors

Being op (operator) means being the server's admin: being able to use commands, change game mode, kick someone or stop the server. The first one has to be given from the console, because inside the game nobody has permission yet. Here's how, which level to give each person and the usual errors.

Op yourself from the console

With the server running, type op YourName in the console, without a slash in front and with your Minecraft Java name exactly as it is (capital letters don't matter). If you see “Made YourName a server operator”, you're done: join the game and commands work in chat, there with a slash (/gamemode creative).

You don't need to be connected to receive it, but the name has to belong to a Java account that exists: the server looks it up with Mojang to get its UUID.

Rather not set it up yourself? Minecraft servers from €6 a month, no contract and a full refund within 72 hours. Or create a free Minecraft server, no card needed.

Giving it to a friend, and taking it away

Same thing with their name: op Name, from the console or from chat if you're already op (with a slash: /op Name). To remove it, deop Name; the change applies straight away, no restart needed.

Think about who you give it to. An op with the default level (4) can stop the server, deop everyone else, kick whoever they want and give themselves any item. For a friend who only needs to be able to make it daytime or fly in creative, that's too much: see the levels below, or use LuckPerms to give them only the commands they need.

Watch out for the whitelist too: ops get in even if they aren't on it (how the whitelist works).

What each level can do (0 to 4)

Each op has a level, which is what it lets them do. The commands each one requires:

  1. Level 1

    Only bypassing spawn protection (spawn-protection): they can break and place blocks near spawn. No other commands.

  2. Level 2

    The cheats: gamemode, give, tp, time, weather, gamerule, effect, summon, fill… and using command blocks. It's the right one for builders or people running events.

  3. Level 3

    On top of that, managing players: kick, ban, pardon, whitelist, op and deop. For moderators.

  4. Level 4

    Everything, including the server itself: stop, save-all, save-off. It's the one the server gives by default.

Giving op with a lower level

The level each op gets is set by op-permission-level in server.properties (4 if you don't touch it), and **it's recorded at the moment the op is given**: changing the setting afterwards doesn't affect people who were already op. So the order is: change op-permission-level (for example to 2), restart, and then give the op. For someone who was already op, deop them and op them again.

If you want level 4 for yourself and 2 for your friends, op yourself first with 4, change the setting to 2, restart and op the others. Or set each one by hand in ops.json (below).

Another setting that sounds similar, function-permission-level, has nothing to do with people: it's the level datapack functions run with (datapacks on your server).

Editing ops.json by hand

The op list is saved in ops.json, in the server's main folder. Each op is a block like this:

ops.json
[
  {
    "uuid": "069a79f4-44e9-4726-a5be-fca90e38aaf5",
    "name": "Notch",
    "level": 4,
    "bypassesPlayerLimit": false
  }
]
  1. Stop the server first

    The server rewrites the file when ops are given or removed and when it shuts down: if you edit it while it's running, you'll most likely lose the change.

  2. Change the level

    In level, from 1 to 4. The UUID has to be their account's: you get it with the UUID lookup, which also writes the line for ops.json.

  3. If you like, let them in when it's full

    With bypassesPlayerLimit set to true, that op gets in even if the server already has the maximum number of players.

  4. Mind the commas

    There's a comma between one block and the next; after the last one, there isn't. With a badly closed JSON the server can't read the list and starts with no ops.

The usual errors

  1. “That player does not exist”

    The name is misspelled or isn't a Java account (Bedrock players have a different name: see below). Check it with the UUID lookup: if it doesn't show up there, Mojang doesn't know it.

  2. “Nothing changed. The player already is an operator”

    They were already op. If what you want is to change their level, deop Name and then op Name again (with the right op-permission-level), or in ops.json.

  3. “Unknown or incomplete command” in chat

    You aren't op, or your level isn't high enough for that command. Check your level in ops.json.

  4. I typed /op in the console and nothing happened

    In the console it goes without the slash: op Name. And the server has to be running: when it's off, the console doesn't take commands.

  5. A friend on Bedrock (phone, console)

    With Geyser and Floodgate, their name has a dot in front (and spaces become underscores): op .Name. The easiest way is to have them join once and copy their name from the console (Java and Bedrock together).

  6. On a cracked server

    With online-mode set to false, anyone can join with an op's name and get their powers. If you run it that way, install AuthMe before giving op to anyone (cracked server).

On NapNodes

No commands needed: “Settings” → “Players” → “Operators”, type the name and add it (and remove it the same way). It also works with the server off: then the panel writes it into ops.json with level 4. While it's running, it sends op Name to the console, with whatever level you have set.

That level is in “Settings” → “Joining and players” → “Admin permission level” (op-permission-level, from 0 to 4). It saves by itself and applies on restart; remember it only counts for the ops you give afterwards.

If you created the server with “Create your free SMP”, it already made you op with the name you entered (if Mojang couldn't find it, the panel tells you: op YourName in the console). And the console is in the panel's “Console”, with the server running. All of this works the same on the free server.

Frequently asked questions

How do I op myself on my Minecraft server?

With the server running, type op YourName in the console, without a slash and with your Minecraft Java name. From then on you can use commands in chat.

How do I deop someone?

With deop Name in the console, or /deop Name in chat if you're op. It applies straight away, no restart needed.

What op level should I give a friend?

Level 2 if they only need cheats (game mode, time, teleporting); level 3 if they need to be able to kick or ban. Level 4 lets them stop the server: better keep that for yourself.

Why doesn't the op level change when I change op-permission-level?

Because the level is recorded when the op is given. Deop them and op them again with the setting already changed, or change it in ops.json with the server stopped.

What does “That player does not exist” mean when giving op?

That there's no Minecraft Java account with that name: check the spelling. If it's a Bedrock player with Floodgate, their name has a dot in front: op .Name.

Shall we set it up for you?

Minecraft servers from €6 a month, never oversold: your RAM is yours alone. And if you'd rather start without paying, there's a free Minecraft server, no card needed.

Your server doesn't show up in the game? Check it in a second with “Is my Minecraft server online?”: players, version and MOTD, free. Need a player's UUID for the whitelist or permissions? Look it up here. Handing out enchanted items? Build the command with the /give generator.

Free tool: Minecraft UUID lookup. Type a Minecraft Java username and get its UUID, the offline one and the lines for whitelist.json and ops.json.

Free tool: Minecraft item IDs. Search any block or item by its in-game name and copy its ID or the /give. Every one from the latest version.

Keep reading

All Minecraft guides, sorted →