25% off on first order withAPEX25
Minecraft
Posted on Apr 22, 2026

Vanilla Minecraft Server Commands

Running a Minecraft server means you will use vanilla commands regularly. Whether you need to change the time of day, manage player permissions, set a world border, or ban a rule-breaker, commands give you direct control over your server wi...

Running a Minecraft server means you will use vanilla commands regularly. Whether you need to change the time of day, manage player permissions, set a world border, or ban a rule-breaker, commands give you direct control over your server without any plugins. This guide covers the full list of vanilla commands in Minecraft Java Edition, explains how to run them, and walks through the most common errors you may encounter.

 

How to Use Commands in Minecraft

You can run commands two ways: in the game chat or through your server console.

In-game, open the chat window and type / followed by the command, then press Enter. You must be a server operator (op level 2 or higher) to use most commands. On a singleplayer world, cheats must be enabled. You can learn how to enable cheats in Minecraft if you need to turn that on.

In the server console, type the command without the / prefix and press Enter. Console commands always run with full permissions regardless of op level.

Commands use two types of arguments:

  • <required> — must be included for the command to work
  • [optional] — can be left out; the command will use a default value

 

Operator Permission Levels

Not all commands are available to every player. Vanilla Minecraft uses four operator levels:

  • Level 1 — Can bypass spawn protection
  • Level 2 — Can use most game commands (/give, /tp, /gamemode, /time, etc.)
  • Level 3 — Can use server management commands (/ban, /kick, /whitelist, /op)
  • Level 4 — Full access including /stop

 
Grant operator status with the /op command from your server console. Operators are stored in ops.json on the server. To remove operator status, use /deop.

 

Vanilla Minecraft Commands List

The table below covers the core vanilla commands available in Minecraft Java Edition. Some commands include version notes where the syntax has changed in recent updates.

Command Description Example
/help Shows a full list of commands on the server, or information about a specific command. /help weather
/give <player> <item> [count] Gives a player any item. Use the full namespaced item ID (e.g. minecraft:iron_pickaxe). Leave count blank to give one. /give Stuart minecraft:iron_pickaxe 1
/weather <clear|rain|thunder> [duration] Changes the weather. Valid types are clear, rain, and thunder. Snow falls automatically in cold biomes when weather is set to rain. /weather clear
/gamemode <mode> [player] Changes your gamemode or another player’s. Valid modes: survival, creative, spectator, adventure. /gamemode creative
/summon <entity> [pos] Spawns an entity at your location or at specified coordinates. /summon villager
/tp [player] <target|x y z> Teleports you or a player to coordinates or to another player. You can also teleport to specific coordinates using x y z values. /tp Stuart AnotherPlayer
/time set <value> Sets the time of day. Use day, night, noon, or midnight, or a specific tick value (0-24000). /time set day
/experience add <player> <amount> [points|levels] Adds experience to a player. Use levels to add full levels instead of raw XP points. Also works as /xp. /experience add Stuart 1000 points
/locate biome <biome> Finds the nearest biome of the specified type. This replaced /locatebiome in Java Edition 1.19. /locate biome plains
/msg <player> <message> Sends a private message to another player. Also works as /tell and /w. /msg Stuart hello!
/perf Runs a 10-second server performance debug. Outputs files to your server’s debug folder. Useful for diagnosing lag. /perf
/save-all Forces the server to write all unsaved chunks to disk. This is not a full backup — it prevents data loss before a planned shutdown. /save-all
/stop Initiates a clean server shutdown, saving all data first. /stop
/worldborder <add|center|damage|get|set|warning> Creates or modifies the world border. Set the border size, center point, warning distance, and damage rate. See our guide on how to set up a world border in Minecraft. /worldborder set 10000
/whitelist <add|remove|list|on|off|reload> Enables or disables the whitelist and manages the players on it. /whitelist add Stuart
/gamerule <rule> [value] Changes a game rule for the world. Use with caution — this affects core gameplay. Includes rules like doDaylightCycle, keepInventory, and mobGriefing. Learn how to keep inventory on in Minecraft with this command. /gamerule doDaylightCycle false
/ban <player> [reason] Adds a player to the server ban list by username. They cannot rejoin until pardoned. /ban Stuart Griefing
/ban-ip <player|ip> [reason] Bans a player by IP address. Useful when a banned player has multiple accounts. /ban-ip Stuart
/pardon <player> Removes a player from the ban list so they can rejoin. /pardon Stuart
/banlist [ips] Displays all banned players. Add ips to show IP bans instead. /banlist
/clear [player] [item] [count] Clears items from your inventory, or from a player’s inventory if specified. Add an item ID to remove only that item. /clear Stuart
/datapack <enable|disable|list> [<pack>] Controls the datapacks installed on your server. Enable, disable, or list installed packs. /datapack enable seasons
/op <player> Grants a player operator status. You cannot op yourself in-game — this must be run from the server console. /op Stuart
/deop <player> Removes operator status from a player. /deop Stuart
/kick <player> [reason] Disconnects a player from the server without banning them. /kick Stuart AFK
/kill [target] Kills the specified entity or player. Use @e[type=!player] to kill all non-player entities, or @a for all players. /kill @e[type=!player]
/difficulty <peaceful|easy|normal|hard> Changes the server difficulty. Hard difficulty does not enable hardcore mode — that must be set in server.properties. /difficulty peaceful
/effect <give|clear> <target> [effect] [duration] [amplifier] Applies or removes a status effect from a player or entity. Duration is in seconds. Amplifier sets the effect level (0 = level 1). /effect give Stuart minecraft:speed 60 2
/enchant <target> <enchantment> [level] Applies an enchantment to the item the target is holding. The item must be enchantable and the enchantment must be compatible. /enchant Stuart minecraft:sharpness 5
/fill <from> <to> <block> Fills a region with the specified block type. Supports replace, keep, destroy, and outline modes. /fill 0 64 0 10 74 10 minecraft:stone
/clone <begin> <end> <destination> Copies a region of blocks to another location. Useful for duplicating structures. /clone 0 64 0 10 74 10 20 64 20
/damage <target> <amount> [type] Deals damage to an entity. Added in Java Edition 1.19.4. Damage type is optional and defaults to generic damage. /damage Stuart 5 minecraft:generic
/tick <query|rate|freeze|step|sprint|unfreeze> Controls the server tick rate. Added in Java Edition 1.20.3. Useful for debugging, performance testing, and speeding up time-sensitive processes. /tick query
/seed Displays your world’s current seed. Click the seed in chat to copy it to your clipboard. /seed

 

Common Issues

You Do Not Have Permission to Use This Command

This error appears when you are not opped on the server, or your op level is too low for the command you tried. Follow our guide on how to op yourself to gain operator access, or ask the server owner to grant it. Remember that some commands (like /op and /stop) can only be run from the server console, not in-game.

 

Invalid Argument or Syntax Error

A syntax error usually means a typo or a wrong argument format. Check the command table above and confirm you have the right arguments in the right order. In Java Edition 1.13 and later, pressing Tab in the chat window autocompletes command arguments and cycles through valid options. On servers running EssentialsX or similar plugins, some commands may have slightly different syntax.

 

Command Not Found

If a command listed here does not work on your server, check your Minecraft version. Commands like /locate biome, /damage, and /tick were added in specific versions (1.19, 1.19.4, and 1.20.3 respectively). If your server is running an older version, those commands will not be available. Also check that you are running vanilla Minecraft and not a modpack that may have removed or replaced certain commands.