User Tools

Site Tools


dm_commands

This is an old revision of the document!


DM Commands

* See also: player_commands

General notes for DM's: Case sensitivity is important in player and map names. Most commands using a player name will work if given a partial name that is non ambiguous.

abil

syntax: abil <player> <attribute> <value>

notes: abil will permanently change the ability scores of players. Attribute is one of str, dex, con, int, wis, pow, cha. Value may not exceed 30.

addexp

syntax: addexp <name> <amount> <skill>

notes: the player must have a skill readied. All experience added in this manner will go directly to the skill readied.

banish

syntax: banish <player>

notes: 'Kicks' the named player and adds their current IP address to the banish file. This will prevent the named player from logging into the server (from their current IP). This is an in-game version of the ban function meant for short term relief of persistent goons and for DMs who do not have shell access. It is probably a good idea to clear out the banish file (var/crossfire/banish_file) on a regular basis and delete or move any entries to the ban_file if desired.

create

syntax: create <number> <bonus> <archtype> <variable1> <value1> <variable2> <value2> …

notes: creating items is rather dangerous and tends to crash the server when creating some items. The number and bonus attributes may be left off, or the bonus itself may be left off any time. If a bonus is desired, number must be specified as well. Archtype must be specified in all cases. Variable and values may be left off at any time, but specifiying a variable requires a value also be specified. Multipart values such as for an item name must be quoted.

Example: create 5 +1 sword name “Spiffy Sword” face chicken.171

This would create 5 +1 longswords named 'Spiffy Sword' that look like chickens.

See Also: patch, dump

debug

syntax: debug <level>

notes: Without arguments, debug will simply print the current level of debugging. Valid debugging levels are 0-3 where: llevError = 0, llevInfo = 1, llevDebug = 2, llevMonster = 3

dump

syntax: dump <tag>

notes: Using dump, you can see the attributes of any item in the game. To find the object number of an item you wish to view, click on it. If this item is in your inventory, or you are standing over, click on yourself and the item tags will be displayed. See Also: patch

dumpallarchtypes

syntax: dumpallarchtypes

notes: This prints out a list of all archtypes to stderr.

dumpbelow

syntax: dumpbelow

notes: dumpbelow will dump the attributes of the top item you are standing over. See Also: dump

dumpallmaps

syntax: dumpallmaps

notes: This prints out map information for all active maps to stderr.

dumpallobjects

syntax: dumpallobjects

notes: This prints out a list of all active objects to stderr.

dumpfriendlyobjects

syntax: dumpfriendlyobjects

notes: This prints out a list of all active friendly objects to stderr.

forget_spell

syntax: forget_spell <spell name>

notes: this will cause you to permanently lose knowledge of a spell.

free

syntax: free <tag>

notes: free should ONLY be used after remove. Freeing an object that has not been removed will cause the game to crash. For most objects, simply removing them is sufficient and they will eventually be freed. See Also: remove

freeze

syntax: freeze [ticks] <player>

notes: freezes a player from doing anything for some amount of time, the default time is 100 ticks.

goto

syntax: goto <mapname>

notes: using this command will instantly move you to the start point of the map specified. The mapname must include the full directory tree for example: /scorn/port/ticket_office and is case sensitive.

hide

syntax: hide

notes: This hides the DM from being seen by other players. This is done by making the player perpetually invisible. It also results in the player not showing up in the who command, maps command, or being reported as a player on the metaserver. Note that the DM can still do things that makes his presence known, eg, shout, other DM actions, etc.

invisible

syntax: invisible

notes: makes you invisible for a short time.

kick

syntax: kick <player>

notes: this command will kick a player off the server. If used without an argument, it will kick all players off the server with the exception of you.

learn_special_prayer

syntax: learn_special_prayer <prayer name>

notes: this will allow you to permanently learn a spell as a special prayer of your god. See Also: learn_spell

learn_spell

syntax: learn_spell <spell name>

notes: this will allow you to permanently learn a spell. It is similiar to learn_special_prayer except that you will retain knowledge of this spell regardless of changing deities. See Also: learn_special_prayer

overlay_save

syntax: overlay_save

notes: this will save everything on the current map that was not originally part of it as an overlay. The overlay will then be loaded anytime the map itself is loaded. Be careful with this as EVERYTHING on the map will be saved in an overlay, such as spawned monsters and dropped objects.

nodm and nowiz

syntax: nodm

notes: both of these commands will return you to normal player status.

patch

syntax: patch <tag> <variable> <value>

notes: using the patch command, you can radically modify the properties of objects in the game. Simply specify the object to modify and the new values of its variables (or completely new variables). See Also: dump

plugin

syntax: plugin <plugin name>

notes: this will load a new plugin into memory. Using this with no arguments, or invalid arguments will cause a server crash. Plugin name should be as it appears in your plugin directory. Double check the names before using plugins.

pluglist

syntax: pluglist

notes: this shows currently loaded plugins.

plugout

syntax: plugout <plugin name>

notes: this will remove a loaded plugin from memory.

possess

syntax: possess <monster name>

notes: this allows a DM to inhabit a monster's body, and run around the game with it.

printlos

syntax: printlos

notes: this is used for line of sight debugging.

remove

syntax: remove <tag>

notes: remove will, surprisingly enough, remove the object specified by the tag supplied. See Also: free

reset

syntax: reset <mapname> or reset . or reset full-reset <mapname> or reset full-reset .

Notes: All other characters must be off of the map at the time of reset (a message will appear showing any players on the map during the failed reset.) This will NOT reset any unique items, such as players apartments, in the case of unique items being on a map, it will cause them to be saved before the map is reset. You can also use the command in this syntax to reset the map you are currently standing on: 'reset .

How to reset a unique map

Since revision 13938 (trunk) and 13939 (branch), reset full-reset <mapname> enables to remove unique items from a map.

For a player unique map, you need to be outside the map to reset it, and give the full path (using reset full-reset . while in that map will give you that full path).

How to reset a unique map (before those revisions)

To reset a unique map, access to the server file system is needed. Make sure all items of value are retrieved from the map before implementing the reset, or they will be lost. When the map owner says all is clear, consider the example of trying to reset a python guild map (/pup_land/guilds/purple_butterfly/hallofjoining).

  • Use the reset command to reset the map path the same way you would a normal map.
    • dm
    • reset /pup_land/guilds/purple_butterfly/hallofjoining
  • Find the unique map. In this example, the server is installed in /usr/games/crossfire. The unique map is a file named similarly to the in-game map path: In this example, the server is installed in /usr/games/crossfire.v00
    • Presumably there are cases where there might be multiple files with different numbered .vXX extension. If there are more than one, make sure to identify the one to reset.
    • For safety, make a backup of the unique map.
  • Delete the unique map.
    • rm -f /usr/games/crossfire/var/crossfire/unique-items/pup_land\@guilds\@purple_butterfly\@hallofjoining.v00
  • One server admin suggests an additional reset of the map from within game, but, at least on one trunk server, this reports “No such map” after the server unique map file was deleted, and therefore, may not be needed.

server_speed

syntax: server_speed <newspeed>

notes: this command will set the tickrate of the server to <newspeed> in microseconds. The default setting is currently 120,000 microseconds (120ms). Use this command with extreme caution as you can easily “break” the default behaviour of the server and cause all players to starve to death multiple times, or worse.

spellreset

syntax: spellreset

notes: this causes the spell table to be reinitialized.

ssdumptable

syntax: ssdumptable

notes: this will print out the current hash table to stderr.

set_god

syntax: set_god <player> <diety>

notes: this will change a players diety to the diety specified.

shutdown

syntax: shutdown

notes: This will cause the server to shut down entirely.

style_info

syntax: style_info

notes: this will print out information regarding current styles in use.

summon

syntax: summon <player>

notes: summoning a player will bring them immediately to your location. See 'teleport' for the reverse. See Also: teleport

teleport

syntax: teleport <player>

notes: the 'reverse' summoning of a player. See Also: summon

time

syntax: time

notes: this will give additional information about server performance when used as dm.

toggle_shout

syntax: toggle_shout <player>

Will toggle the no_shout bit for the named player. This will prevent or enable the player to use the shout command.

wizpass

syntax: wizpass

notes: this will toggle on and off your ability to walk thru walls as dm.

who

syntax: who

notes: when used as dm, this will also print out the object tag of players.

dm_commands.1410309605.txt.gz · Last modified: 2018/04/08 09:48 (external edit)