Skip to Content

Command reference

Implemented Chunkwake commands, permission levels and differences from vanilla.

Open on GitHubUpdated 2026-11-11

The command tree is declared once in crates/net/src/play/commands/registry.rs. The client commands packet, tab-complete suggestions and permission checks are generated from it, so the tree, permissions and execution cannot drift apart. Node shapes are checked against vanilla reports/commands.json 26.3.

found 73 of 73 commands
Section
Permission level

Search covers the name, arguments, description and differences from vanilla.

Player and chat

Chat, inventory, effects, entities and the camera.

37
/help [command]
L0 · everyone

List available commands or show usage for one command.

Differences: No hover or clickable links.

/list [uuids]
L0 · everyone

Online players.

Differences: uuids prints the UUID next to each name.

/me <action>
L0 · everyone

An action in chat under your name.

/say <message>
L2 · game master

A message from the server.

/msg <targets> <message>
L0 · everyone

Private message to a player.

Differences: No message history or /socialspy.

/teammsg <message>
L0 · everyone

Message to your team.

Differences: Only the sender's team; without a team it returns commands.teammsg.failed.

/team add|remove|list|modify ...
L2 · game master

Team members, colour, prefix and collisions.

Differences: Friendly fire does not affect damage: team combat is not implemented.

/tellraw <targets> <message>
L2 · game master

Send a text component to chat.

/title <targets> title|subtitle|actionbar|times|clear|reset ...
L2 · game master

Show a title, subtitle or action bar.

/playsound <sound> <source> <targets> [pos] [volume] [pitch] [minVolume]
L2 · game master

Play or stop a sound.

Differences: Categories (master…ui) work; beyond volume * 16 the sound plays with minVolume, 0 sends nothing. /stopsound <targets> [<source>] [<sound>], * means no category.

/give <targets> <item> [count]
L2 · game master

Give an item to a player.

Differences: Enchantments, name, lore, custom_data and damage; other components are stored for comparison but not sent to the client.

/clear <targets> [item] [maxCount]
L2 · game master

Clear an inventory.

Differences: Only matching components are cleared; #tag removes every item in the tag.

/effect give|clear <targets> <effect> [seconds] [amplifier] [hideParticles]
L2 · game master

Apply or remove an effect.

Differences: infinite and hideParticles are supported.

/xp add|set|query <targets> <amount> [points|levels]
L2 · game master

Add, set or query experience.

/gamemode <mode> [target]
L2 · game master

Change the game mode.

/kill [targets]
L2 · game master

Kill an entity.

Differences: Works on mobs and item entities too.

/tp <targets> <location> [<rotation>]
L2 · game master

Teleport an entity, including ^ and facing.

Differences: ^ is relative to the executor's view; without angles the rotation is kept.

/damage <target> <amount> [type] [at <location>|by <entity>]
L2 · game master

Deal damage.

Differences: fall, out_of_world, starve, magic, wither, arrow; unknown types become ordinary damage.

/rotate <target> <rotation>
L2 · game master

Rotate an entity.

/spawnpoint [targets] [pos] [angle]
L2 · game master

Set a respawn point.

Differences: Stored in the player save (SpawnX/Y/Z).

/tag <targets> add|remove|list <name>
L2 · game master

Add, remove or list entity tags.

Differences: Up to 1024 tags; the tag= selector sees them.

/swing <targets> mainhand|offhand
L2 · game master

Play an arm swing.

Differences: mainhand/offhand, animations none/whack/stab; items and projectiles return notliving.

/spectate <target> [player]
L2 · game master

Switch to a spectator camera.

Differences: Spectator mode only; sends set_camera.

/ride <target> mount|dismount <vehicle>
L2 · game master

Mount or dismount a passenger.

Differences: A passenger cannot mount a player or close a loop; sends set_passengers.

/trigger <objective> add|set <value>
L0 · everyone

Change your trigger score.

Differences: Works after scoreboard players enable; without it the result is unprimed.

/random value|roll <range> [sequence]
L0 · everyone

Random number.

Differences: roll prints to chat, value returns a number; the sequence keeps its seed until restart. The generator is not bit-identical to vanilla RandomSequence.

/bossbar add|set|remove|list ...
L2 · game master

Create and configure a boss bar.

Differences: Viewers are set with set players; the bar returns on join and respawn. Sky, music and fog are not implemented.

/enchant <targets> <enchantment> [level]
L2 · game master

Enchant the held item.

Differences: Level 0 removes enchantments; incompatible ones are not replaced; a book stores stored_enchantments.

/spreadplayers <center> <spreadDistance> <maxRange> <respectTeams> <targets>
L2 · game master

Spread entities across an area.

Differences: Height is the motion_blocking surface of a loaded chunk; under does not search caves below.

/stopwatch create|query ...
L2 · game master

Stopwatch.

Differences: Counts real time, not ticks; query for execute store returns floor(seconds × scale).

/posteffect <targets> <effect>
L2 · game master

Screen effect.

Differences: Sends the full post_effects list.

/attribute <target> <attribute> get|base|modifier ...
L2 · game master

Attribute base and modifiers.

Differences: Players use the player set, mobs the mob set; sends update_attributes. Session sprint is not included in get.

/waypoint modify <targets> color|style ...
L2 · game master

Waypoint colour and style.

Differences: Only players have a waypoint; mobs and items return argument.waypoint.invalid. The command does not create one; sends waypoint.

/dialog clear|show <targets>
L2 · game master

Close a dialog.

Differences: clear sends an empty clear_dialog. show returns not found: there is no dialog registry.

/particle <name> [pos] [delta] [speed] [count] [force|normal] [viewers]
L2 · game master

Particles for nearby players.

Differences: Simple types (flame, heart, …) use level_particles. dust takes <r> <g> <b> <scale>. block, item, vibration and similar return particle.invalidOptions. Beyond 32 blocks force is required (up to 512).

/item replace entity <targets> <slots> with <item> [count]
L2 · game master

Put an item into a slot.

Differences: Only replace entity. Slots: weapon, weapon.mainhand, weapon.offhand, weapon.*, armor.head…armor.feet, armor.*, hotbar.N, inventory.N, container.N. Mobs have no slots. block, from, modify, fill and override are not declared.

/loot give|spawn|insert|replace ...
L2 · game master

Give or drop loot from a table.

Differences: give players … loot, spawn <pos> loot, insert <pos> loot, replace block <pos> <slot> [count] loot. The key is a path under loot_table. kill, fish and mine need a damage source or a fishing rod. replace entity is not declared.

World and blocks

Blocks, time, weather, borders and structure search.

15
/setblock <pos> <block> [destroy|keep|replace|strict]
L2 · game master

Place a block.

Differences: keep leaves non-air blocks alone, destroy drops the old block, strict fails without changing anything.

/fill <from> <to> <block> [destroy|hollow|keep|outline|replace|strict]
L2 · game master

Fill an area with blocks.

Differences: Limit is 32,768 blocks; destroy drops blocks; the replace filter accepts a block name or #tag.

/clone <begin> <end> <destination> [replace|masked|filtered] [normal|force|move]
L2 · game master

Copy a block region.

Differences: replace/masked/filtered, normal/force/move; strict does not wake neighbours; the chunk must be loaded; current dimension only.

/summon <entity> [pos] [nbt]
L2 · game master

Summon a mob.

Differences: Four mobs exist in the world: cow, pig, sheep and chicken.

/weather clear|rain|thunder [duration]
L2 · game master

Set the weather.

Differences: Rain is visible, but precipitation is not ticked.

/gamerule <rule> [value]
L2 · game master

Show or change a world rule.

Differences: 59 rules from 26.3; the tick reads a subset.

/time set|add|query <value>
L2 · game master

Set, add or query time.

Differences: query returns time and gametime as in 26.3 (daytime is still accepted).

/difficulty [peaceful|easy|normal|hard]
L2 · game master

Set the difficulty.

/seed
L2 · game master

Show the world seed.

/setworldspawn [pos] [angle]
L2 · game master

Set the world spawn.

/worldborder add|center|damage|get|set|warning ...
L2 · game master

Configure the world border.

Differences: Centre, diameter, warning and damage are stored and sent to the client; edge damage is not applied yet.

/forceload add|remove|query ...
L2 · game master

Keep a chunk in the simulation.

Differences: The disk load queue is not maintained separately.

/locate biome|poi|structure <id>
L2 · game master

Find a biome, point of interest or structure.

Differences: Biome: radius 4096, step 32, height is the column surface. Structures: villages, outposts, abandoned camps, desert pyramids, jungle temples, witch huts, igloos, shipwrecks, mineshafts, ocean monuments, strongholds, woodland mansions, ruined portals, ocean ruins and trial chambers; other ids return not found. poi does not create chunks and uses radius 256.

/fillbiome <from> <to> <biome>
L2 · game master

Replace the biome in an area.

Differences: Chunks must be loaded; sends chunks_biomes; volume is limited by max_block_modifications.

/place template <id> <pos> [rotation] [mirror]
L2 · game master

Place a structure template.

Differences: Only template. Templates come from data/minecraft/structure. Blocks are placed as setblock replace; block entities are not filled. integrity and seed report that processors are unavailable. feature, jigsaw and structure are not declared.

Data and scoreboard

Scores, NBT and `execute` chains.

4
/scoreboard objectives add|remove|list|modify ...
L2 · game master

Manage score objectives.

Differences: modify supports displayname, rendertype and numberformat (blank, fixed, styled; a bare word resets the format). The objective format is sent in set_objective.

/scoreboard players get|set|add|remove|reset|enable|display ...
L2 · game master

Manage score values.

Differences: display numberformat is stored on the score and is not written to set_score; enable opens a trigger objective.

/data get|merge|modify ...
L2 · game master

Read and change block or entity NBT.

Differences: Path Foo.Bar[0], merge, modify set|merge|append|prepend|insert.

/execute ... run <command>
L2 · game master

Chain execution contexts and run a command.

Differences: align, anchored, on, store into scores and block or entity NBT; summon continues from the new entity; if/unless support biome, blocks, data, loaded, items, slots and score matches; positioned over sets Y from the heightmap.

Administration

Permissions, bans, ticking, saving and shutdown.

15
/op <targets>
L3 · admin

Grant or revoke operator rights.

Differences: Uses vanilla ops.json.

/kick <targets> [reason]
L3 · admin

Kick a player.

Differences: The reason is included in the response.

/whitelist add|remove|list|on|off|reload
L3 · admin

Manage the whitelist.

Differences: When enabled, the list is checked on login; operators pass.

/ban <targets> [reason]
L3 · admin

Bans by name and IP.

Differences: Name and IP are checked on login.

/reload
L2 · game master

Reload ops.json.

Differences: There are no data packs.

/tick query|rate|freeze|step|sprint ...
L3 · admin

Control the server tick.

Differences: sprint accelerates the loop.

/debug start|stop
L3 · admin

Tick profile.

Differences: Writes per-tick MSPT to debug/profile-*.txt, not spark.

/perf start|stop
L4 · server owner

Load snapshot and profile.

/stop
L4 · server owner

Save the world and shut down.

/version
L2 · game master

Server version.

/save-all [flush]
L4 · server owner

Control autosaving.

Differences: save-all requests an autosave outside the schedule.

/publish [allowCommands] [gamemode] [port]
L4 · server owner

Publish to LAN.

Differences: Only the flag is set; UPnP is not touched.

/transfer <hostname> [port] [players]
L3 · admin

Transfer a player to another server.

Differences: The client receives transfer, then the session closes.

/setidletimeout <minutes>
L3 · admin

Idle timeout.

Differences: No game packets for N minutes closes the session; 0 disables the timeout.

/return <value>
L2 · game master

Return from a function.

Differences: There are no functions: every form reports that the command works only inside a function.

Chunkwake extensions

Commands that do not exist in vanilla.

2
/tps
extensionL0 · everyone

TPS and MSPT line.

Differences: Chunkwake extension; the format is consumed by chunkwake-lab.

/top [cpu|tick|mem|world|net]
extensionL2 · game master

Load snapshot.

Differences: Chunkwake extension.

Command index

A short list of names for search and navigation; descriptions and differences are in the cards above.

  • Player and chat: help, list, me, say, msg / tell / w, teammsg / tm, team, tellraw, title, playsound / stopsound, give, clear, effect, xp, gamemode / defaultgamemode, kill, tp / teleport, damage, rotate, spawnpoint, tag, swing, spectate, ride, trigger, random, bossbar, enchant, spreadplayers, stopwatch, posteffect, attribute, waypoint, dialog, particle, item, loot.
  • World and blocks: setblock, fill, clone, summon, weather, gamerule, time, difficulty, seed, setworldspawn, worldborder, forceload, locate, fillbiome, place.
  • Data and scoreboard: scoreboard objectives, scoreboard players, data, execute.
  • Administration: op / deop, kick, whitelist, ban / ban-ip / banlist / pardon / pardon-ip, reload, tick, debug, perf, stop, version, save-all / save-off / save-on, publish / unpublish, transfer, setidletimeout, return.
  • Chunkwake extensions: tps, top.

Permission levels

Levels match vanilla. An operator receives level 3; the server owner receives level 4.

LevelWhoVanilla group
0everyone—
2game mastergamemasters
3adminadmins
4server ownerowners

Selectors

@s, @p, @r, @a, @e and player names with arguments are supported:

@a[distance=..20,gamemode=creative]
@e[type=minecraft:cow,limit=5,sort=nearest,tag=farm]
@p[x=0,y=64,z=0,dx=10,dy=10,dz=10]
@a[name=Ali*,level=1..]

Supported arguments: sort, limit, distance, dx/dy/dz, gamemode, name, tag, scores and rot. type= distinguishes a mob from a player.

Not implemented yet

advancement, compute, datapack, fetchprofile, function, jfr, recipe, schedule, test.

Some of them need subsystems that do not exist yet: scoreboard in the tick, a data pack loader, a structure generator, player recipes. The commands_parity.rs test compares the tree with vanilla 26.3 and fails if this list drifts from the code.

Plugin commands

The tree above is the core only. Plugins add commands dynamically: the client suggests literals and arguments from the commands packet, and the server answers command_suggestion with plugin command names and the TabComplete result. The list is extended, not replaced: an empty response does not wipe the tree.

Console

The console accepts the same commands as chat, without /. chunkwake reads stdin line by line. stop shuts the server down, top writes a load snapshot to the log.

On this page