Privileges provide a means for server administrators to give certain players
access to special abilities in the engine, games or mods.
For example, game moderators may need to travel instantly to any place in the world,
this ability is implemented in
/teleport command which requires
A mod can register a custom privilege using
to give server administrators fine-grained access control over mod functionality.
For consistency and practical reasons, privileges should strictly increase the abilities of the user. Do not register custom privileges that e.g. restrict the player from certain in-game actions.
A mod can call
minetest.check_player_privs to test whether a player has privileges
to perform an operation.
Also, when registering a chat command with
minetest.register_chatcommand a mod can
declare privileges that the command requires using the
privs field of the command
Managing player privileges¶
A mod can update player privileges using
Players holding the
privs privilege can see and manage privileges for all
players on the server.
A mod can subscribe to changes in player privileges using
Minetest includes a set of built-in privileges that control capabilities provided by the Minetest engine and can be used by mods:
Basic privileges are normally granted to all players:
shout: can communicate using the in-game chat.
interact: can modify the world by digging, building and interacting with the nodes, entities and other players. Players without the
interactprivilege can only travel and observe the world.
Advanced privileges allow bypassing certain aspects of the gameplay:
fast: can use "fast mode" to move with maximum speed.
fly: can use "fly mode" to move freely above the ground without falling.
noclip: can use "noclip mode" to fly through solid nodes (e.g. walls).
teleport: can use
/teleportcommand to move to any point in the world.
creative: can access creative inventory.
bring: can teleport other players to oneself.
give: can use
/givemecommands to give any item in the game to oneself or others.
settime: can use
/timecommand to change current in-game time.
debug: can enable wireframe rendering mode.
privs: can modify privileges of the players using
basic_privs: can grant and revoke basic privileges as defined by the
kick: can kick other players from the server using
ban: can ban other players using
password: can use
/clearpasswordcommands to manage players' passwords.
protection_bypass: can bypass node protection. Note that the engine does not act upon this privilege, it is only an implementation suggestion for games.
server: can use
/deleteobjectscommands. Can clear inventory of other players using
rollback: can use
Minetest includes the following settings to control behavior of privileges:
default_privs: defines privileges granted to new players.
basic_privs: defines privileges that can be granted/revoked by players having the
basic_privsprivilege. This can be used, for example, to give limited moderation powers to selected users.