Server commands

From Minetest Wiki
Revision as of 22:16, 14 December 2019 by Wuzzy (talk | contribs) (→‎World manipulation: spawnentity no longer spawns unknown object)
Jump to navigation Jump to search
Languages Language: English • Deutsch • français • 中文(简体)‎

Server commands (also called “chat commands”) are special commands to the server that can be entered by any player via the chat to cause the server to do something. There are a few commands which can be issued by everyone, but some commands only work if you have certain privileges granted on the server. Use “/privs” to see your own privileges. If not noted otherwise, the commands in this article are assumed to require no privileges. This article will only cover the commands which are built-in into Minetest 0.4.10 and in Minetest Game. Other mods and games may add additional commands; refer to the mod’s documentation or use “/help all” in this case.

Issuing a command

To issue a command, simply type it like a chat message or use the console. Alternatively, you can just press the “/” key (only in default controls) which simply opens a chat window where the “/” has already been typed for you and then type the command right away. The command itself will not appear in the chat. Since every command starts with “/”, this means that ordinary chat messages can’t start with “/”; they will be interpreted as a command instead, even if such a command does not exist. You can tell whether or not a command was successful by the server’s response. If you see something “-!- Invalid command: /blargh” in the chat, you probably misspelled something. The most commands will cause the server to write you something else on the chat log for you, if successful.

Issuing a command from the system terminal

To issue commands on a Minetest server instance started from the terminal, Minetest has to be built with the ncurses library enabled. When minetestserver is started with the --terminal argument, commands can be executed as they are in-game; i.e. /<command>

General syntax

All commands start with “/”. After that, one word follows which is itself followed by some or none arguments. You’ll find the exact syntax in the command reference. In the following command reference, text enclosed in <> is a placeholder for an actual value. Anything written in [] can be omitted.

Command reference of built-in commands

The commands listed here are always available, regardless of the mods and games you have installed.

Quick documentation

Show short documentation of server commands and privileges; it will appear in the chat log, too. In case the help is too long, you can open the console with F10 to view everything again.

  • /help—Shows a list of the available commands—depending on your privileges—on the server
  • /help <command>—Shows short description about the given command. You can view the help of a command even if you do not have the privilege to issue it
  • /help all—Lists the available commands—depending on your privileges—on the server and a short description and syntax reference to each one
  • /help privs—Lists all privileges on the server that could possibly be granted to players and shows a short description about each of them

Player-related

Informational

  • /privs [<player>]—List of privileges granted to <player>, if not specified, your own privileges
  • /haspriv <privilege>—List all online players that have the specified privilege
  • /last-login [<player>]—Show the date and time when <player> has logged in the last time into this server (UTC time zone, ISO 8601 format). If not specified, shows your own last login time

Chat

These commands require the “shout” privilege to work.

  • /msg <player> <message>—Send a direct message <message> to <player>; but not to the other players. Note: The message is not really secret. Anyone intercepting the network traffic and the server operator could still, in principle, read it
  • /me <action>—Makes a text in the format “* <your name> <action>” appear in the chat log. E.g. “/me eats pizza.” leads to “* Alfred eats pizza.” (if your name is “Alfred”)

See Chat for details

Items

  • /give <player> <itemstring> [<count> [<wear>]]—Give the specified item (see Itemstrings) <count> times (default: 1) to the player. <wear> specifies the damage for tools (0-65535) and is meaningless for other items, higher means more damage (default: 0). Requires the “give” privilege
  • /giveme <itemstring> [<count> [<wear>]]—Give item to yourself. <count> and <wear> have the same meaning as for /give. Requires the “give” privilege.
  • /pulverize—Destroys the wielded item. Can be used by any player
  • /clearinv [<name>]—Destroys all items in your inventory (no argument provided) or in someone else's inventory (name provided). To clear someone else's inventory, you need the “server” privilege

Hint: Negative numbers for <count> and <wear> will count down from 65536, so you can use -1 as shorthand for 65535, the maximum possible value.

Examples
  • /giveme default:torch—Gives you a torch
  • /give Peter default:cobble 50—Gives Peter 50 cobblestone
  • /giveme default:pick_steel 1 16383—Gives you a steel pickaxe which is about 25% worn-off

Teleportation

Teleportation is the immediate displacement of any player to a given position. All of the following commands require the “teleport” privilege

  • /teleport <x>,<y>,<z>—Teleports yourself to given coordinates
  • /teleport <target_player>—Teleports yourself to the player with the name <target_player>
  • /teleport <player> <x>,<y>,<z>—Teleports <player> to given coordinates. Also requires the “bring” privilege
  • /teleport <player1> <player2>—Teleports <player1> to <player2>. Also requires the “bring” privilege

Minetest Game also provides the command “/home”. See #Command reference for Minetest Game commands

Kill

  • /kill [<name>]: Kill player or yourself. Requires “server” privilege

Moderation

Password manipulation

These commands allow to set and reset the passwords of any player and require the “password” privilege to work.

  • /setpassword <player> <password>—Sets password of <player> to <password>
  • /clearpassword <player>—Makes password of <player> empty

Privilege manipulation

All these commands require you to have the “privs” (to manipulate all privileges) or “basic_privs” (to manipulate “interact” and “shout” privileges) privilege.

  • /grant <player> <privilege>—Gives the <privilege> to <player>
  • /grant <player> all—Give all available privileges to <player>
  • /grantme <privilege>—Give <privilege> to yourself
  • /grantme all—Gives all privilege to yourself
  • /revoke <player> <privilege>—Takes away a <privilege> from <player>
  • /revoke <player> all—Takes away as many privileges as possible from <player>

Excluding players from server

These commands allow the user to kick, ban and unban players. Kicking a player means to remove a connected player from the server. This requires the “kick” privilege. Banning a player prevents him/her to connect to the server again. The player does not need to be connected at this time. Unbanning means to remove a ban from a player, allowing him/her to connect to the server again. The ban and unban commands require the “ban” privilege.

  • /kick <player name> [<reason>] – Kicks the player with the name <player name>. Optionally a <reason> can be provided in text-form. This text is also shown to the kicked player.
  • /ban - show list of banned players
  • /ban <player name>—Ban IP of player
  • /unban <player name>—Remove ban of player with the specified name
  • /unban <IP address>—Remove ban of player with the specified IP address

Server-related

Informational

Request some information from the server; the answer from the server will also be written into the chatlog.

  • /admin—Player name of the administrator / server operator of the server you're connected to.
  • /status—Server’s Minetest version, time the server is running in seconds (called “uptime”), list of connected players and the message of the day (if it exists).
  • /mods—List of mods installed on the server.
  • /days—Current game day (counting starts at 0)
  • /time—Current game time (24h clock)

World manipulation

  • /time <hours>:<minutes>—Sets the time of day in the 24-hour format (0:00-23:59). Requires the “settime” privilege
  • /time <time_of_day>—Sets the time of day as a number between 0 and 24000 (see time of day). Requires the “settime” privilege
  • /set -n time_speed <speed>—Sets the speed of day/night cycle where <speed> is the time speed (read as “<speed> times faster than in real life”). 72 is the default, which means a day-night cycle lasts 20 minutes by default. Requires the “server” privilege
  • /spawnentity <entity> [<X>,<Y>,<Z>]—Spawns an entity of type <entity> (see List of entity names) near your position or at the X,Y,Z coordinates, if specified. Requires “give” and “interact” privileges

Server maintenance

All of these commands require the “server” privilege.

  • /shutdown—Shuts down the server
  • /set <variable>—Shows the value of the given server <variable> (→minetest.conf)
  • /set <variable> <new value>—Sets the existing server <variable> to the given <new value>
  • /set -n <variable> <initial value>—Creates a new server variable named <variable> and sets it to <initial value>
  • /clearobjects [full|quick]—Clears all objects/entities (removes all dropped items, mobs and possibly more). Note this may crash the server or slow it down to a crawl for 10 to more than 60 seconds
  • /auth_reload—Reloads auth.txt, which is the authentication data, containing privileges and Base64-scrambled passwords
  • /emergeblocks here [<radius>]—Starts loading (or generating, if inexistent) map blocks around the player's current position with an optional radius (in nodes)
  • /emergeblocks <pos1> <pos2>—Starts loading (or generating, if inexistent) map blocks contained in the area within pos1 and pos2
  • /fixlight here [<radius>]—Resets lighting around the player's current position with an optional radius (in nodes)
  • /fixlight <pos1> <pos2>—Resets lighting contained in the area within pos1 and pos2
  • /deleteblocks here [<radius>]—Removes the MapBlock the player is in, from the database. As this triggers mapgen, this might start mechanisms like mud reflow or cavegen which very likely affect mapblocks outside the specified range. 113 blocks are a safe-distance for a server with no interfering mods. <radius> is an optional argument to specify the range (in nodes) in which MapBlocks are deleted
  • /deleteblocks <pos1> <pos2>—Removes the MapBlock containing blocks inside the area from pos1 to pos2 from the database. May crash for larger areas. Warnings from above apply
  • /remove_player <name>—Removes all data accociated to the given player. This only works if the player is currently not connected. If a player with this name connects again, he/she will be treated as a complete new player. Password, inventory, position, etc. are all gone

Rollback

Allows to use Rollback. Requires the “rollback” privilege.

  • /rollback_check [<range>] [<seconds>]—Checks who has last touched a node or near it, max. <seconds> ago (default <range>=0, default <seconds>=86400, which equals 24 hours in real time).
  • /rollback <player name> [<seconds>]—Reverts actions of a player; default for <seconds> is 60
  • /rollback :<actor name> [<seconds>]—Reverts actions of an actor (not a player); default for <seconds> is 60

Command reference for Minetest Game commands

If you use Minetest Game, a few additional commands are available. These commands may not be available if you use a different Games.

  • /sethome—Sets your current position as your “home point”. Requires the “home” privilege
  • /home—Teleports yourself to your “home point”. This command does not work if you haven’t set your “home point” yet, set it with /sethome first. Requires the “home” privilege
  • /killme—Kills yourself