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

The abil command will permanently change the specified ability score of a specified player.

Usage: abil <player> <attribute> <value>

  • <player> is the specified player name that must be logged in.
  • <attribute> is one of Str, Dex, Con, Int, Wis, Pow, or Cha.
  • <value> is a number that ranges between 1 and 30 and may not exceed 30.

accountpasswd

The accountpasswd command allows a DM to reset the password of an account name (which may be different than the player character name!), to the specified <password> text in the command.

Usage: accountpasswd <account> <password>

Example:

accountpasswd oliver secret123

The account name of oliver now has the password of secret123 for logging in to the game.

addexp

The command addexp can either add or subtract a specified amount of experience to a player in the game, to any skill they have access to (i.e., praying because they have a holy symbol) or have learned (i.e., skill scroll of punching) or started with as part of their race (i.e., wraith feed for a wraith) or class (i.e., flame touch for a fireborn.)

Usage: addexp <name> <amount> <skill>

Example:

addexp Betty 500 literacy

Betty now has an additional 500 experience in her literacy skill.

Example:

addexp Judy -600 punching

Judy has now lost 600 experience in her punching skill.

banish

Usage: banish <player>

The banish command will forcefully drop the specified player's connection to the server and the named player will also have their current IP address added to the server's banish file.

Example:

banish Fred

This will prevent the named player from logging into the server from their current IP address.

This is an in-game version of the ban function meant for short-term relief of persistent problematic players 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) regularly and delete or move any entries to the etc/crossfire/ban_file if desired.

See Also : kick

create

NOTE: Creating items is rather dangerous and tends to crash the server when creating some items. It is generally safer to modify existing items with the patch command instead of the create command.

The create command allows a DM to make in-game items or items with numerous special properties (i.e., magical enchantment, graphic or face, quantity, etc.)

Usage: create [<number>] [<bonus>] <archetype> [<variable1> <value1>] [<variable2> <value2>] … [of <artifact>]

Example:

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

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

Usage: create [<number>] [<archetype>] of [<archetype>] [<attribute>] [<attribute value>]

Example:

create 1 rod_heavy of spell_word_of_recall level 3 hp 100 maxhp 100

This would generate one 'heavy rod of word of recall (lvl 3)' into the inventory of the DM.

The number and bonus attributes may be left off, or the bonus itself may be left off at any time.

If a bonus is desired, the number must be specified as well.

Archetype must be specified in all cases.

Variables and values may be left off at any time, but specifying a variable requires a value also be specified.

Multipart values such as for an item name must be quoted.

Creating artifacts requires placing the artifact definition at the end of the line, as any characters after the “of” are treated as part of the artifact name, regardless of quotes.

When creating artifacts, the actual arch name must be used.

Example:

create 10 balm_generic of first aid

Creating wands/staves/scrolls/etc with specific spells is done in the same manner as an artifact.

See Also: dump See Also: patch

debug

The debug command will either print the current level of server log debugging. Or, allow the DM to adjust the level (verbosity) of details written to the server log file.

Usage:

debug
debug <0 - 3>

Example:

debug 1

Summary:

  • debug: will simply print the current level of debugging.
  • debug 0: llevError = 0 includes server and metaserver interaction, server online status, buffer overflow alerts, character creation issues, object animation errors, and more.
  • debug 1: llevInfo = 1 includes failed connection attempts to the server, failed logins, blocked accounts trying to log in, player disconnections, errors and problems with books and scrolls, syntax errors with game objects, errors with map files, and more.
  • debug 2: llevDebug = 2 includes more logging related to player actions such as apply command and target item, lock and mark item actions, dropped items, inscribe command and actions, and more.
  • debug 3: llevMonster = 3 includes many, many details such as monster movements, pet information, object state & status, spell status, and more.

The default value is debug 1

dump

The dump command will let you see the attributes for any item in the game.

Usage: dump <object number>

To find the object number of an item you wish to view, left-click on it.

If this item is in your inventory, or you are standing over it, click on yourself and the object numbers will be displayed.

Example:

Left-click on a fountain in Scorn town square
There you see:  
  fountain (20267).
  cobbestones (20266)
  no_spells (20265).

To see all the attributes of the fountain, enter:

dump 20267

Will produce this output:

Item stacked as 1.
arch fountain
name fountain
name_pl fountain
face fountain.111
animation fountain
x 5
y 35
type 67
move_on walk
no_pick 1
client_anim_random 1
is_animated 1
end
Object is marked original

See Also: patch

dumpabove

The command dumpabove will dump the attributes of the item above the dm.

Usage: dumpabove

See Also: patch See Also: dumpallarchtypes See Also: dumpallmaps See Also: dumpallobjects See Also: dumpbelow See Also: dumpfriendlyobjects

dumpallarchtypes

The dumpallarchtypes prints out a list of all archetypes to stderr.

Usage: dumpallarchtypes

See Also: patch See Also: dumpabove See Also: dumpallmaps See Also: dumpallobjects See Also: dumpbelow See Also: dumpfriendlyobjects

dumpbelow

The command dumpbelow will dump the attributes of the top item you are standing over.

Usage: dumpbelow

See Also: patch See Also: dumpabove See Also: dumpallarchtypes See Also: dumpallmaps See Also: dumpallobjects See Also: dumpfriendlyobjects

dumpallmaps

The dumpallmaps prints out map information for all active maps to stderr.

Usage: dumpallmaps

See Also: patch See Also: dumpabove See Also: dumpallarchtypes See Also: dumpallobjects See Also: dumpbelow See Also: dumpfriendlyobjects

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.

follow

The follow command allows a DM to follow a specified player and keeps the DM at four (4) or fewer squares away from a player (works better when hidden).

Usage:

follow <playername>

To end following just type the command 'follow' again.

See Also: invisible

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

The freeze command will prevent a player from taking any action for some amount of time, the default time is 100 ticks.

Usage:

freeze [ticks] <player>

Example:

freeze 50 George

George will be unable to move, use any communication channels, cast any spells, use any items, or interact with any nearby objects of his character for 50 game ticks.

goto

The goto command will instantly teleport you to the specified map and use that map's entrance coordinate to place you on the map.

Usage:

goto <map_path>

Example:

goto /HallOfDMs

The map path must include the full directory tree (i.e., /scorn/port/ticket_office) and is case sensitive.

hide

The hide command will prevent the DM from being seen by players.

Usage:

hide

This is done by making the DM perpetually invisible players on the server. It also results in the DM not showing up in the who command, maps command, or being reported as a player on the metaserver.

Example:

hide

All players and the DM will see: The Dungeon Master is gone… Jane leaves the game. Jane left the game.

Note that the DM can still do things that can make their presence known, eg, shout, other DM actions, etc.

To leave hidden mode, just enter 'hide' again to become visible to players.

Example:

hide

The DM will see:

You are no longer hidden from players
Jane has entered the game.
The Dungeon Master has arrived!
Your invisibility spell runs out.

All logged-in players will see:

Jane has entered the game.
The Dungeon Master has arrived!

invisible

The invisible command will make the DM temporarily invisible for approximately 2 ticks (or 16 seconds assuming default server configuration settings.

Usage:

invisible

Once the timer on the command expires, the DM will return to visible mode again.

kick

The kick command will cause the specified player (or all players) to be disconnected from the server. They can reconnect to the server again if desired.

This is useful for forcing a player to disconnect if they encounter a dropped link and are unable to log back in because the server still shows them as logged in.

Usage:

kick <player>

Example:

kick Leroy

If used without an argument, it will kick all players off the server except for you, the DM.

Usage:

kick

See Also: banish

learn_special_prayer

The learn_special_prayer command will permanently give the DM any specified spell that is normally granted to cult followers.

Usage:

learn_special_prayer <prayer name>

Note: the <prayer name> is the actual spell name, not the object or archetype name. So, for instance, insect plague would be used instead of spell_insect_plague.

Examples:

learn_special_prayer wave
learn_special_prayer insect plague

The DM character still has access to the granted spell even when they are not in DM mode - but still must meet the minimum casting requirements for the spell (i.e., proper level in praying, enough grace to cast the prayer, etc.)

See Also: learn_spell See Also: nodm

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 <now|time|cancel>

notes: Shut down 'now', in 'time' minutes, or 'cancel' a pending shutdown.

When using the time option in-game players will receive a notice or warning about the pending shutdown at the following time intervals (in minutes): 120, 90, 60, 45, 30, 15, 10, 5, 4, 3, 2, 1

New players logging in during the shutdown time window will also receive a notice of the pending shutdown.

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.1658297463.txt.gz · Last modified: 2022/07/20 01:11 by leaf