====== 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 * is the specified player name that must be logged in. * is one of [[:characters:Str]], [[:characters:Dex]], [[:characters:Con]], [[:characters:Int]], [[:characters:Wis]], [[:characters:Pow]], or [[:characters:Cha]]. * 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 text in the command. Usage: accountpasswd 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 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 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 [] [] [ ] [ ] ... [of ] 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 [] [] of [] [] [] 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 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 ==== The dumpallobjects prints out a list of all active objects to stderr. Usage: dumpallobjects See Also: [[#patch]]\\ See Also: [[#dumpabove]]\\ See Also: [[#dumpallarchtypes]]\\ See Also: [[#dumpallmaps]]\\ See Also: [[#dumpbelow]]\\ See Also: [[#dumpfriendlyobjects]] ==== dumpfriendlyobjects ==== The command dumpfriendlyobjects prints out a list of all active friendly objects to stderr. Usage: dumpfriendlyobjects See Also: [[#patch]]\\ See Also: [[#dumpabove]]\\ See Also: [[#dumpallarchtypes]]\\ See Also: [[#dumpallmaps]]\\ See Also: [[#dumpallobjects]]\\ See Also: [[#dumpbelow]]\\ ==== 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 To end following just type the command 'follow' again. See Also: [[#invisible]] ==== free ==== Usage: free The command free should ONLY be used after the remove command. 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] 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 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! ==== insert_into ==== Usage: insert_into This will insert the 2nd item in the first. 2nd can't be a player. ==== 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 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: [[player_commands#banish|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 Note: the 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: [[player_commands#learn_spell|learn_spell]]\\ See Also: [[player_commands#nodm|nodm]]\\ ==== learn_spell ==== Usage: learn_spell This will allow you to permanently learn a spell. may be a partial spell name. It is similar to learn_special_prayer except that you will retain the knowledge of this spell regardless of changing deities. See Also: learn_special_prayer ==== mon_aggr ==== Usage: mon_aggr This command requires the possess command to be active. But, possess command was disabled per the server ChangeLog in 801f6142b - (2004-06-06 17:15:12 +0000) Disable possess command - ryo_saeba Toggles the aggression of the monster you are currently possessing. Not recommended to be flipped on yourself as a player. See Also: possess ==== nodm ==== Usage: nodm This command will return the DM to normal player status. See Also: nowiz ==== nowiz ==== Usage: nowiz This command will return the DM to normal player status. See Also: nodm ==== overlay_save ==== syntax: overlay_save 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. ==== patch ==== Using the patch command, you can radically modify the properties of objects in the game. Simply specify the object number (obtained through the dump command) to modify and the new values of its variables (or completely new variables). Usage: patch Examples: patch 19875 nrof 10 This will change the quantity of items referenced by object number 19875 to 10 patch 49635 dam 200 This will change the damage of a weapon referenced by object number 49635 to 200 See Also: dump ==== plugin ==== Usage: plugin This will load a new plugin into memory. Using this with no arguments, or invalid arguments will cause a server crash. The plugin name should be as it appears in your plugin directory. Double-check the names before using plugins. See Also: pluglist\\ See Also: plugout ==== pluglist ==== syntax: pluglist notes: this shows currently loaded plugins. ==== plugout ==== Usage: plugout This will remove a loaded plugin from memory. See Also: plugin\\ See Also: pluglist ==== possess ==== Usage: possess This feature was disabled per the server ChangeLog in 801f6142b - (2004-06-06 17:15:12 +0000) Disable possess command - ryo_saeba Take over the body of a given monster and requires the object number of the monster which is found by using the dump command. Once the monster is possessed, it can now be controlled by the DM through their client interface and connection. It is not suggested you try to possess another player, as bad things will undoubtably happen. See Also: dump\\ See Also: mon_aggr ==== printlos ==== syntax: printlos notes: this is used for line of sight debugging. ==== purge_quest_state ==== Usage: purge_quest_state This command purges the quest state for the players from the server. It does not remove said state from the disk. It is useful to change, via .quest file editing, the status of a quest for a player. See Also: purge_quests\\ See Also: quest ==== purge_quests ==== Usage: purge_quests This command purges the quest definitions from the server memory. It does not remove anything from the disk. This is used to avoid restarting the server when a quest definition changes. See Also: purge_quest_state\\ See Also: quest === quest ==== Usage: quest (player name) list|info|set This command shows the quest status for a specified player or information on in-game quests or can change the status of a player's quest list. Examples: * (player name) list: displays quests the player is currently attempting, add 'all' to show completed quests also * (player name) info: displays information about the specified (by number) quest * (player name) set (quest number) (state): set the state of the specified quest Note: (player name) may be a partial name as long as it isn't ambiguous. The player must be online. See Also: purge_quest_state\\ See Also: purge_quests ==== recollect ==== syntax: recollect NOTE: Experimental command - use with caution FIXME: the command is currently not documented as a help file in the game The recollect command will cause the server to run the archetype collection process again. An example for using this command is for testing new faces by comparing old faces with new ones without rebooting the server. Check the server logs for output related to this command since there currently is no output to the DM or through the game client in regard to running this command. Example server log output: Starting to collect assets from /usr/games/crossfire/share/crossfire Finishing collecting assets from /usr/games/crossfire/share/crossfire ==== remove ==== syntax: remove Remove will, surprisingly enough, remove the object specified by the tag supplied. See Also: free ==== reset ==== syntax: ''reset '' or ''reset .'' or ''reset full-reset '' 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 '' 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 is 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 the game, but, at least on one trunk server, this reports "No such map" after the server's unique map file was deleted, and therefore, may not be needed. ==== server_speed ==== Usage: server_speed This command will set the tick rate of the server to in microseconds. The default setting is currently 120,000 microseconds (120ms). Use this command with extreme caution as you can easily “break” the default behavior of the server and cause all players to starve to death multiple times, or worse. ==== set_god ==== Usage: set_god This will change a player's deity to the deity specified. Example: set_god Carol Mostrai The player named Carol is now a follower of Mostrai. ==== shutdown ==== Usage: shutdown Shut down 'now', in 'time' minutes, when there are no active players ('idle'), or 'cancel' a pending shutdown. Active players do not include AFK players and bots. 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 Players logging in during the shutdown time window will also receive a notice of the pending shutdown. ==== 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. ==== stats ==== Usage: stats This displays the named player's statistics. (Str, Dex, Con, Int, Wis, Pow, Cha, current h.p., current s.p., AC, Damage, EXP, Grace, Food, Maximum health points, Maximum spell points, WC) Example: stats Darla The command would display all stats for the player Darla. ==== style_info ==== Usage: style_info This will print out information regarding current styles in use. The output includes Style maps load, Memory used not including objects, Style objects, and Memory for objects. ==== summon ==== Usage: summon Summoning a player will bring them immediately to your location. See 'teleport' for the reverse. Example: summon Gabriel This will cause the player named Gabriel to appear in front of your character - even if it is a private map, such as a personal apartment. There is no 'reverse' summoning, except to go to a map yourself and summon the player again. See Also: goto\\ See Also: teleport ==== swap ==== Usage: swap Mark an in-memory map at the given path for swapping. This is useful for testing things related to swapped maps without waiting for the swap timeout and for flushing unique maps. The map is only swapped if there are no players on the map and the swapper is ready (usually within a few ticks). ==== teleport ==== Usage: teleport Teleport will bring you immediately next to the player's location. See 'summon' for the reverse. Example: teleport Gabriel This will cause you to appear next to the player named Gabriel - even if it is a private map, such as their personal apartment. See Also: summon ==== time ==== Usage: time The time command will display in-game time along with the month, day, and year. For DMs, it also displays additional time statistics about server performance such as min, avg, and max on ticks in milliseconds for the server session. The output also displays ticks longer than 120ms, and time (avg, max, min) on the last 100 ticks. ==== toggle_shout ==== Usage: toggle_shout The toggle_shout command will toggle the no_shout bit for the named player. This will prevent or enable the player to use the shout channel for communication. Example: toggle_shout Jessica If the player named Jessica has access to the shout channel, the command will now disable her access. If Jessica had the shout channel disabled by this command, entering the command again will re-enable shout channel access. ==== who ==== Usage: who The who command will display all players who are currently logged in to the game and show which ones are AFK (if activated by the player), DMs, and bot accounts. The map path of all logged-in players is also shown. When used as a DM, all of the above information is displayed in addition to the object tag of players and their total level. ==== wizcast ==== This will enable/disable your ability to cast spells and prayers anywhere as DM. Without argument, it toggles between on and off. For instance, with the ability set to on - the DM can cast prayers on unholy ground and spells in no_magic areas (i.e., the middle of a shop.) ==== wizhelp ==== The following commands are available to you: dmhelp abil accountpasswd addexp banish create [] [] [ ] [ ] ... [of ] create [] [] of [] [] [] debug or debug <0 - 3> dumpabove dumpallarchtypes dumpallmaps dumpallobjects dumpbelow dumpfriendlyobjects follow free freeze [ticks] goto hide insert_into invisible kick learn_special_prayer learn_spell mon_aggr nodm nowiz overlay_save patch plugin pluglist plugout possess printlos purge_quest_state purge_quests quest (player name) list|info|set remove reset server_speed set_god shutdown spellreset ssdumptable stats style_info summon teleport time toggle_shout who wizcast [] wizpass General notes for DMs: Case sensitivity is important in player and map names. ==== wizpass ==== Usage: wizpass This will toggle on and off your ability to walk through walls as DM.