Minecraft server commands go in one of two places: the server console, typed without a slash, or the game chat, typed with a / in front. To op yourself, type op and your player name in the console. The tables below give the syntax for Minecraft Java 26.3, the current release as of October 2026. Every game rule was renamed in Java 1.21.11 and four settings have left server.properties, so older tutorials may not match.
How to run Minecraft server commands
From the console. On a hosted server the console is in your host’s control panel. On a home PC it is the window the server runs in. Type the command with no slash and press Enter:
list
The console runs at the highest permission level, so no command is off limits there.
In the game. Press the T key to open chat and start the line with /, or press the / key to open chat with the slash already typed. Press Tab to cycle through the possible commands and arguments.
/list
On a multiplayer server, most commands only work in the game if you are an operator.
These are the game’s own commands, so they do not depend on your host. They are part of every server software a free Severoo server can run: Vanilla, Paper, Purpur, Fabric, Forge and NeoForge.
How to op yourself
-
Open the server console.
-
Type
opfollowed by your exact player name:op Alex -
The server answers
Made Alex a server operator. -
Join the server and try
/gamemode creative. If your game mode changes, it worked.
To take operator status away, use deop Alex. Operators are saved in ops.json in the server folder.
Do this first on a new server. Since 26.3 the whitelist is on by default, and operators can join without being on it. The whitelist guide explains how to let your friends in.
What operator levels mean
Java has four operator levels. Each level includes the ones below it.
| Level | Name | What it adds |
|---|---|---|
| 1 | Moderator | Building inside the protected spawn area |
| 2 | Gamemaster | Game commands such as gamemode, give, tp, time, weather, difficulty and gamerule, and using command blocks |
| 3 | Admin | Player management: kick, ban, pardon, whitelist, op and deop |
| 4 | Owner | Everything, including stop and the save commands |
A player who is not an operator still has a few commands, such as list.
The level that op hands out is set by op-permission-level in server.properties. The default is 4. Change it to 2 if you want new operators to run game commands but not ban people or stop the server. To change one person, the Minecraft Wiki says to edit their level in ops.json. Do that while the server is stopped. On Paper, a permissions plugin such as LuckPerms gives finer control: see how to install plugins.
Player commands
| Command | What it does |
|---|---|
list |
Shows who is online. Any player can use it. list uuids adds each player’s UUID. |
op <targets> |
Makes a player an operator. |
deop <targets> |
Removes operator status. |
gamemode <mode> [<target>] |
Sets a game mode. The mode is survival, creative, adventure or spectator. In the console you must name the player. |
tp <targets> <destination> |
Teleports one player to another. tp Alex Steve moves Alex to Steve. |
tp <targets> <x> <y> <z> |
Teleports a player to coordinates. |
give <targets> <item> [<count>] |
Gives an item, for example give Alex bread 16. |
<targets> is a player name. gamemode 1 and gamemode c have not worked on Java since 1.13: write the mode out in full.
World commands
| Command | What it does |
|---|---|
time set <value> |
Sets the time. The value is day, noon, night, midnight or a number of ticks. |
time add <time> |
Moves the clock forward. |
weather clear [<duration>] |
Clears the weather. weather rain and weather thunder work the same way. |
difficulty <level> |
Sets peaceful, easy, normal or hard. With no level, it shows the current one. |
gamerule <rule> [<value>] |
Changes a game rule. With no value, it shows the current one. |
seed |
Shows the world seed. |
A duration can end in t for ticks, s for seconds or d for in-game days, as in weather clear 1d.
Game rules have new names
Java 1.21.11 renamed every game rule from camelCase to lowercase with underscores. A command copied from an older tutorial, such as gamerule keepInventory true, no longer works. The current form is:
gamerule keep_inventory true
| Old Java name | Current Java name | Bedrock name |
|---|---|---|
keepInventory |
keep_inventory |
keepinventory |
mobGriefing |
mob_griefing |
mobgriefing |
doDaylightCycle |
advance_time |
dodaylightcycle |
doWeatherCycle |
advance_weather |
doweathercycle |
playersSleepingPercentage |
players_sleeping_percentage |
playerssleepingpercentage |
doMobSpawning |
spawn_mobs |
domobspawning |
doInsomnia |
spawn_phantoms |
doinsomnia |
naturalRegeneration |
natural_health_regeneration |
naturalregeneration |
doFireTick (removed) |
fire_spread_radius_around_player (0 turns fire spread off) |
dofiretick |
Four settings moved out of server.properties in Java 1.21.9 and are game rules now:
pvp=becamegamerule pvp falseorgamerule pvp true.enable-command-block=becamegamerule command_blocks_work true.allow-nether=becamegamerule allow_entering_nether_using_portals false.spawn-monsters=becamegamerule spawn_monsters false.
The full list is on the Minecraft Wiki’s game rule page. Our server.properties guide covers what is left in that file.
Moderation commands
All of these need operator level 3 or higher.
| Command | What it does |
|---|---|
kick <targets> [<reason>] |
Disconnects a player. They can join again. |
ban <targets> [<reason>] |
Bans a player’s account. |
ban-ip <target> [<reason>] |
Bans an IP address. |
banlist |
Lists bans. banlist players or banlist ips shows one kind. |
pardon <targets> |
Lifts an account ban. |
pardon-ip <target> |
Lifts an IP ban. |
whitelist add <targets> |
Lets a player join while the whitelist is on. The other subcommands are in the whitelist guide. |
Commands for the server itself
| Command | What it does |
|---|---|
stop |
Saves the world, then shuts the server down. |
save-all |
Saves the world now. save-all flush writes everything to disk at once and can freeze the game briefly. |
save-off |
Stops the server writing to the world files. |
save-on |
Turns saving back on. |
say <message> |
Sends a message to every player. |
tick query |
Reports how the server is keeping up. The target is 20 ticks per second. |
stop and the save commands need level 4. Always shut down with stop, so the world is saved first.
To copy the world while the server runs, type save-off, then save-all flush, copy the world folder, then save-on. Stopping the server first is the safest way to take a copy.
Paper adds a few commands of its own: tps shows the tick rate averaged over 1, 5 and 15 minutes, mspt shows how long ticks take, and plugins lists your plugins in green if they loaded and red if they failed. For what to do with those numbers, see how to reduce lag.
What differs on Bedrock
On a Bedrock Dedicated Server the same idea applies, but several commands are different.
| Task | Java | Bedrock Dedicated Server |
|---|---|---|
| Operator | op <targets>, saved in ops.json |
op <player>, saved in permissions.json |
| Whitelist | whitelist add <targets> |
allowlist add <name> |
| Game mode | Full names only | Also s, c, a and 0, 1, 2 |
| Game rules | keep_inventory |
keepinventory |
| Bans | ban, pardon, banlist |
Not available |
| Saving | save-all, save-off, save-on |
save hold, save query, save resume |
seed, tick |
Available | Not available |
Three more things to know:
- The Minecraft Wiki says
opon Bedrock only works on a player who is online. - Cheat commands need
allow-cheats=truein the Bedrockserver.properties. - The Wiki lists
stop,saveandallowlistat a level above an in-game operator on a dedicated server. Run them from the console.
If Bedrock players join a Java server through Geyser and Floodgate, the server is still Java, so the Java commands apply. Floodgate puts a prefix in front of Bedrock names, a . by default. Include it, as in tp .Tim203 Alex. If a command does not accept the name, Geyser’s FAQ says to put double quotes around it: tp ".Tim203" Alex. See the crossplay guide.