== Console Commands ==
In order to do some bits of administration or even for informational purposes 7 Days to Die integrates a console system. This can be accessed in three ways:
* In game by a client. The key to open the console is layout dependend, e.g. for a german layout it is the "รถ"
* Telnet. This has to be enabled server side and can then be accessed with a simple Telnet client
* Web control panel. Has to be enabled server side too and can then be accessed with any web browser
== admins.xml and in game console ==
=== Unmodified server code ===
Each command has to have a permission level set in ''admins.xml'' and the player who wants to use the command must have the appropriate level, i.e. the permission level of the player must be lower or equal to the permission level of the command to be executed. All commands that are not defined in the ''admins.xml'' can not be executed at all.
'''Example:'''
''admins.xml'':
{{{
}}}
* Player with ID 123456 (permission level 0):
* ''dm'' -> ok
* ''mem'' -> ok
* ''admin'' -> ok
* ''sg'' (which is the short version of ''setgameprefs'') -> denied (not in list exactly like this)
* ''shutdown'' -> denied (not in list at all)
* Player with ID 987654 (permission level 4):
* ''dm'' -> denied (dm requires permission level of 3 or less)
* ''mem'' -> ok
* ''kick'' -> ok
* ''le'' -> ok
* Any other player with no defined permission level:
* ''le'' -> denied (permission level 1000 is just an arbitrary number)
* any other command -> denied
=== Running a server with the [[Server fixes]] installed ===
Mostly the same applies as without the fixes. Changes are:
* A command with permission level of >=1000 can be executed by '''any''' player, even those not listed in the ''admins.xml'' at all
* Any command not having an permission level set in ''admins.xml'' will automatically have a permission level of 0
* Commands defined in the ''admins.xml'' affect both short and long versions
'''Example:'''
Considering the same ''admins.xml'' as before:
* Player with ID 123456 (permission level 0):
* ''dm'' -> ok
* ''mem'' -> ok
* ''admin'' -> ok
* ''sg'' (which is the short version of ''setgameprefs'') -> '''ok''' (''setgameprefs'' is defined so it also affects ''sg'')
* ''shutdown'' -> '''ok''' (implicitly defined as permission level 0)
* Player with ID 987654 (permission level 4):
* ''dm'' -> denied (dm requires permission level of 3 or less)
* ''mem'' -> ok
* ''kick'' -> ok
* ''le'' -> ok
* Any other player with no defined permission level:
* ''le'' -> '''ok''' (permission level 1000 -> any player can execute this command)
* any other command -> denied
== Implemented commands ==
||= Command =||= Parameters =||= Description =||
|| admin add || || Add a player as admin with the given permissionlevel ||
|| admin remove || || Remove the admin rights of a player ||
|| admin update || || Set a new permissionlevel for a player who is already an admin ||
|| aiddebug || || Toggles AIDirector debug output ||
|| ban || || Bans user for period specified by ''duration'' and ''unit''. ''Unit'' can be anything of: ''minutes'', ''hours'', ''days'', ''weeks'', ''months'', ''years'' ||
|| chunkcache, cc || || Shows all loaded chunks in cache ||
|| cp add || || Add the definition of a permission level for a given command ||
|| cp remove || || Remove the command permission level definition ||
|| cp update || || Set a new permissionlevel for an already defined command ||
|| debugmenu, dm || || Enables/disables debug menu for a client ||
|| enablescope, es || || Toggle debug scope ||
|| gameover, go || || Sets the game state to GameOver ||
|| getgamepref, gg || [] || Get all preferences that contain the given string or all preferences if no string is given (Added by the [[Server fixes]]) ||
|| gettime, gt || || Retrieves current ingame time (Added by the [[Server fixes]]) ||
|| kick || [] || Kicks user with optional reason ||
|| listents, le || || List all entities ||
|| listplayersextended, lpe || || Lists all players with extended attributes (Added by the [[Server fixes]]) ||
|| listplayers, lp || || List all players ||
|| listthreads, lt || || Lists all game threads ||
|| mem || || Print information about current memory consumption of the server and call garbage collector ||
|| mod add || || Add a player as moderator with the given permissionlevel ||
|| mod remove || || Remove the moderator rights of a player ||
|| mod update || || Set a new permissionlevel for a player who is already a moderator ||
|| saveworld, sa || || Saves the world manually ||
|| say || || Sends a message to all connected clients ||
|| sayplayer, pm || || Send a message to a single player (Added by the [[Server fixes]]) ||
|| setgamepref, sg || [ []] || Retrieves (if no value given) or sets a game preference. If both parameters are left out all preferences are shown. Does not work with most settings! ||
|| settimereal, str || || Set current ingame time (Added by the [[Server fixes]]) ||
|| settime, st || [