& help This is the MUSH online help facility for wizard commands and topics. The information provided by this command is generally not useful for anyone other than wizards and game maintainers, as the features described here are only accessible to characters whose WIZARD bit is set, or to those who have access to the directory where the MUSH data files reside. Syntax of help command: wizhelp [<command/topic>] To get a list of MUSH wizard topics: wizhelp topics To get a list of MUSH wizard commands: wizhelp commands See also: help. & commands Help is available for the following MUSH commands: CD DOING slay WHO wizhelp @addcommand @admin @apply_marked @attribute @boot @chownall @cut @dbck @delcommand @destroy @disable @doing @dump @enable @fixdb @freelist @function @hashresize @hook @kick @list @listcommands @list_file @log @logrotate @mark @mark_all @motd @newpassword @pcreate @poor @purge @quota @readcache @restart @shutdown @sqlconnect @sqldisconnect @timecheck @startslave @timewarp @toad @wall @allowance @comment @timeout & topics Help available on the following Topics: CAUTIONS CONFIG PARAMETERS DEBUG FEATURES FILES FLAGS INHERITANCE LOGGING MASTER ROOM PERMISSIONS SEARCH CRITERIA SITE LISTS & FLAGS Topic: FLAGS The MUSH server contains several internal flags, which are used to make various processes more efficient. These flags are not visible to anyone other than God, and should not be directly set. They are: Has_Daily Has_Darklock Has_Forwardlist Has_Listen Has_Redirect Has_Startup Player_Mails You should ignore the presence of these flags; they are used solely for server-internal purposes. & slay Command: slay <player/object> Kills the indicated player or object without paying any insurance to the victim. It should be used in places where suicide should not be rewarded. See also: kill, IMMORTAL. & WHO Command: WHO <prefix> The WHO command returns miscellaneous information about connected players. It returns the player name, connect time, idle time, and player flags just like the player WHO command (which is available as the DOING command), but returns the following information in place of the player's Doing string: Status flags - Located between the Idle and Room fields. See 'wizhelp DOING' for a list of possibilities. Room - The room that the player is in. Commands - The number of commands that the player has entered during this session (not counting machine commands). Host flags - Located between the Commands and Host fields: F(forbidden), R(registration), +(suspect). Host - The Internet host name or address from where the player has connected. See also: SESSION, DOING. & DOING Command: DOING <prefix> This command is very similar to the mortal WHO command (the wizard WHO command returns different information). When run by a wizard, the DOING command reports additional information about the player in the form of flag letters between the idle time and the players' Doing string. The following letters may be present: D - Player is set DARK. d - Player is not shown on the WHO list because they have been idle for longer than the default inactivity timeout and the idle_wiz_dark configuration parameter has been turned on. (only if not D) U - Player is set UNFINDABLE. u - Player is in an UNFINDABLE location (only if not U). + - Player is set SUSPECT. See also: SESSION, WHO, DARK, UNFINDABLE, SUSPECT, idle_wiz_dark. & CD Command: cd <name> <password> This command is used in place of 'connect' at the connection screen, and allows wizards to connect DARK. & wizhelp Command: wizhelp <topic> Displays information from the wizard help file. The information is typically of use only to wizards and/or the game maintainer. See also: the source code. & @addcommand Command: @addcommand[/preserve] <command name>=<thing>/<attribute> This command adds a softcoded command to the MUSH's built-in command table. If <name> already exists as a built-in command, such as 'look' or 'WHO', it will actually replace the functionality of that command, and all aliases that currently point to it. Basically, this is exactly like setting an ordinary $-command on <thing>, except the command matching occurs at the same time that normal built-in commands are matched, and thus can override a standard built-in command. <thing> does the execution of any action, unless the /preserve switch is specified and the object who entered the command is not God, in which case the object executes the content's of <thing>'s <attribute>. The 'regexp' and 'case' attribute flags are respected, though note that the command itself gets automatically lower-cased, so the 'case' attribute flag is only useful against the command's arguments. Continued in 'help @addcommand2'. & @addcommand2 For example, if an @addcommand is done for 'look', the aliases 'l', 'lo', and 'loo', and the main command 'look' will all point to the specified softcoded command. The original command will be accessible via '__<command>', in this case '__look'. Example: > &LOOK global = $look: say I looked here! > &LOOK_WITH_ARG global = $look *: say I looked at %0! > &LOOK_OUTSIDE global = $look/outside *: say I looked outside at %0! > @addcommand/preserve look=global look > @addcommand/preserve look=global/look_with_arg > @addcommand/preserve look=global/look_outside Continued in 'help @addcommand3'. & @addcommand3 Yes, you can specify more than one attribute to go with <name>. When you type 'look' or 'look sofa', the game will execute all attributes that match what you have typed in. Aliases like 'l' are expanded to 'look' so you don't have to worry about those when you take command matching into consideration. If none of the attributes attached match (the attribute *must* begin with $<name> in order to match at all!), no output will be generated. Another use is to speed up use of a particular global command. Just use @addcommand to add it to the built-in list, and it will be looked up much faster. This command only takes one possible switch: /preserve - Execute as the invoker, not as the object containing the @addcommand'd attribute. See also: @delcommand, @listcommands. & @delcommand Command: @delcommand <name>[=<thing>/<attribute>] Deletes a command added by @addcommand. With only <name> specified, deletes all added commands under <name>. When you specify <thing> and <attribute>, it only deletes that specific entry. If the command or commands you are deleting had replaced a built-in command, the built-in command and all aliases are restored to their normal names and actions. See also: @addcommand, @listcommands. & @admin Command: @admin <param>=<value> Sets a TinyMUSH configuration parameter to the indicated value. Type 'wizhelp config parameters' for a list of the config parameters that may be set. & @apply_marked Command: @apply_marked <command> Performs <command> once for each object in the database that has been marked via @mark or @mark_all, substituting the characters ## for the object number of the marked object. The command is performed by the player invoking the @apply_marked command, not by the marked object. This command may only be used when database cleaning is disabled (via @disable cleaning), as cleaning uses marking to check connectivity. See also: @mark, @mark_all. & @attribute Command: @attribute[/<switch>] <attrib>[=<value>] Performs operations on user-named attributes depending on the switch used. The following switches are available: /access - Changes the access to the named attribute. <value> is a space-separated list of permissions to add or remove from the attribute's access permissions. For a list of possible permissions, see 'wizhelp attribute permissions'. /delete - Removes the named attribute from the attribute table. This switch does not remove instances of the attribute from objects, and any that remain will be renamed to the user-named attribute that re-uses the attribute number of the deleted attribute. /info - Prints flags globally associated with that attribute (similar to the output of '@list user_attributes'). /rename - Changes the name of the named attribute to <value>. Note that changes to user-named attributes performed by this command are permanent and do not need to be performed each time the MUSH is restarted. & attribute permissions See 'help attribute flags'. & attribute defaults Topic: ATTRIBUTE DEFAULTS "Attribute defaults" apply to attributes with the global attribute flag "default". This includes built-in attributes of the format attr/oattr (such as @desc, @odesc, @succ, and @osucc). The attribute, if set on the "attribute default object", is used as a "template" for formatting the attribute when it is used "normally" (i.e., from a 'look', movement, or other command that invokes it, not from a function call such as get() or other such uses). It also applies to @conformat, @exitformat, and @nameformat, when invoked on a "look". The attribute on the default object is evaluated, just as if it were set on the calling object, with %0 as the normally-evaluated attribute on the calling object (or as null, if the attribute does not exist on the calling object). This behavior can be used to enforce "standards" for attributes such as @desc and @conformat across an entire MUSH, without requiring universal parenting of objects and forcing builders to follow unusual attribute naming schemes. Objects with the FREE flag ignore attribute defaults. Continued in 'wizhelp attribute defaults2'. & attribute defaults2 Examples: > @desc here=Test > look Limbo(#0R) Test > @admin room_attr_defaults=2 > @desc #2 = --%r%0%r-- > look Limbo(#0R) -- Test -- See also: exit_attr_defaults, player_attr_defaults, room_attr_defaults, thing_attr_defaults & @boot Command: @boot[/<switches>] <player> Severs the named player's connection to the game. The player is given a notice that they have been booted. If the player is connected to the game more than once, then all connections to that player are severed. The following switches are available: /quiet - Don't give the booted player any special notice. /port - Disconnects only a specific port (port numbers may be obtained from the SESSION command). In this case <player> must be a number. See also: @destroy, @toad, SESSION. & @chown See 'help @chown'. & @chownall Command: @chownall[/nostrip] <victim>[=<recipient>] Changes the ownership of all of the victim's objects, rooms, and exits to the indicated recipient (or to the wizard performing the @chownall if no recipient is specified). All objects, rooms, and exits are set HALT, and have special flags and powers stripped from them. The /nostrip flag, when used by God, preserves all special flags and powers; if used by anyone else, it preserves everything except for the WIZARD flag, and powers. See also: @chown, stripped_flags. & @cut Command: @cut <object/exit> Cuts off the object or exit list for the current location at the indicated object or exit by setting [next(thing)] to NOTHING. Objects or exits that follow in the chain are not moved or otherwise changed, and are only accessible by object number. This command is intended for performing database repair, and should be used only with extreme caution. & @dbck Command: @dbck Performs a scan of the database looking for inconsistencies in the object chains, disconnected rooms, rooms waiting to be destroyed, and problems in the object free list. Problems that are found are reported to the log file, disconnected rooms are reported to their owners, and players are credited for rooms destroyed. Database checks are automatically run periodically, so there is usually no need to use this command. See also: @admin, @disable, @enable, @list, @purge. & @disable Command: @disable <option> Turns off the indicated MUSH runtime parameter. The following parameters may be turned off: building - Allows players to use the building commands. checkpointing - Enables periodic database checkpoint dumping. cleaning - Enables periodic scanning of the database for rooms to be destroyed. dequeueing - Allows commands to be removed from the queue and executed. idlechecking - Enables periodic checking for and booting of idle players. interpret - Enables execution of commands that place commands on the queue. local_rwho - Enables the RWHO command for querying a remote RWHO server. logins - Allows nonwizard players to connect to their characters. transmit_rwho - Enables transmission of player data to a remote RWHO server. These parameters are all enabled by default. See also: @enable, @list. & @dump Command: @dump[/<switches>] Writes a checkpoint dump of the database to disk. Checkpoint dumps are automatically performed periodically, so there is usually no need to use this command. Switches may be used to either dump just the structure portion of the database to a flat file, or to ensure that all changes to the text database are written out to disk. The default is to write out both files. The following options are available: flatfile - Dump a flat file. This is a "hot backup". structure - Dump the structure portion of the database to a flat file (the "numeric database"). text - Ensure that all changes to the text portion of the database are written out to disk (the "string database", or "GDBM database"). See also: @admin, @disable, @enable, @list, @shutdown. & @enable Command: @enable <option> Turns on the indicated MUSH runtime parameter. The following parameters may be turned on: building - Allows players to use the building commands. checkpointing - Enables periodic database checkpoint dumping. cleaning - Enables periodic scanning of the database for rooms to be destroyed. dequeueing - Allows commands to be removed from the queue and executed. idlechecking - Enables periodic checking for and booting of idle players. interpret - Enables execution of commands that place commands on the queue. local_rwho - Enables the RWHO command for querying a remote RWHO server. logins - Allows nonwizard players to connect to their characters. transmit_rwho - Enables transmission of player data to a remote RWHO server. These parameters are all enabled by default. See also: @disable, @list. & @fixdb Command: @fixdb[/<switch>] <object>=<value> This command directly edits the database structure according to the switch specified. As such, it is possible to produce database inconsistencies that can hang or crash the server. This command should be used with extreme caution. The following switches are available: contents - Sets the contents pointer of <object> to <value> exits - Sets the exits pointer of <object> to <value> location - Sets the location pointer of <object> to <value> next - Sets the next pointer of <object> to <value> owner - Sets the owner of <object> to <value> pennies - Sets the value or wealth of <object> to <value> rename - Renames <object> to <value> & @freelist Command: @freelist <dbref> This command puts a garbage object, specified by <dbref>, at the head of the object freelist; this means that the next object to be created will have that dbref. This is only good until the next database cleaning (automatic or by the @dbck command). & @function Command: @function[/<switches>] <function>=<object>/<attr> This command creates a global function named <function>. When invoked, the arguments to the function are loaded into %0-%9, the <attr> attribute from <object> is fetched, and substitution is performed on the resulting text. The result of that substitution is returned as the function result. If the /privileged switch is given, then the function is evaluated as if the evaluation were being performed by the object on which it is stored, instead of as if it were being performed by the invoker of the function. This may be used to allow access to information normally available only to wizards. If the /preserve switch is given, then a 'local' copy of the r-registers is kept for the global function -- making this the equivalent of ulocal() rather than u() -- allowing r-registers to be used in global functions without concerns about local use of r-registers by the calling function. Continued in 'wizhelp @function2'. & @function2 If the /noeval switch is given, the arguments to the function are not evaluated prior to being passed. For example: > &FOO #10 = Zero - %0, One - %1 > @function foo_eval = #10/foo > @function/noeval foo_noeval = #10/foo > say foo_eval(add(1,2),sub(5,4)) You say "Zero - 3, One - 1" > say foo_noeval(add(1,2),sub(5,4)) You say "Zero - add(1,2), One - sub(5,4)" > say foo_eval([add(1,2)],[sub(5,4)]) You say "Zero - 3, One - 1" > say foo_noeval([add(1,2)],[sub(5,4)]) You say "Zero - [add(1,2)], One - [sub(5,4)]" > &FOO #10 = Zero - [s(%0)], One - [s(%1)] > say foo_noeval([add(1,2)],[sub(5,4)]) You say "Zero - 3, One - 1" Continued in 'wizhelp @function3'. & @function3 The function definitions created by @function are not stored in the database so they need to be re-created each time the MUSH is started. It is recommended that the Startup attribute for player #1 include code to set up all global functions. Function definitions may not be removed (aside from shutting down and restarting the MUSH, but they may be redefined so that they point to an unused attribute. This command may normally only be invoked by God. & @hashresize Command: @hashresize This God-only command dynamically resizes a number of the MUSH's internal hash tables. Type '@list hash' before and after to see the changes. The size of the hash tables is determined automatically at startup time. However, if something changes substantially -- you have done a @dbclean, you have added a number of comsys channels, and so forth -- you may find that this command is useful. It's safe to make this a @daily thing; the resizing will only be done if it's useful. & @hook Command: @hook[/<switch>] [<command>[=<object>/<attribute>]] "Command hooks" are function evaluations that occur before or after a given built-in command is executed. This command allows the hooks to be specified in the form of an object/attribute pair; the contents of the specified attribute, at the time the hooked command is executed, will be evaluated. '@hook <command>' shows the hooks associated with <command>. For example, '@hook @create' shows the hooks associated with @create. '@hook/before <command>=<object>/<attribute>' specifies a hook to be executed before the given command. '@hook/after <command>=<object>/<attribute>' specifies a hook to be executed after the given command. Continued in 'wizhelp @hook2'. & @hook2 '@hook/permit <command>=<object><attribute>' specifies that this command has user-defined permissions. This means that this hook is evaluated prior to running the command. If it returns a boolean true result, the user (considered the enactor) has permission to run the command, and the command is executed (together with the 'before' and 'after' hooks, if appropriate). If it returns a boolean false result, the user receives a 'Permission denied.' message. Note that the command can still have additional regular permissions; for instance, a command may be defined as 'no_slave' (via the 'access' configuration parameter) and still have additional conditions placed upon it via a permission hook. The user must pass BOTH checks in order to run the command. '@hook/before <command>', '@hook/after <command>', and '@hook/permit <command>' delete those respective hooks. Continued in 'wizhelp @hook3'. & @hook3 '@hook/nopreserve <command>' makes it so that the global registers (r-registers) will not be preserved when 'before' and 'after' hooks for that command are executed. This is the default state. '@hook/preserve <command>' makes it so that the global registers will be preserved when 'before' and 'after' hooks for that command are executed. While this is more convenient for code, it is also less efficient. 'permit' hooks always preserve global registers. If you want hooks to be executed before and/or after players move through all exits (both local and master room exits), set the hooks for the 'goto' command. This command is normally restricted to God. Hooks should be the first things in the @startup on the God character, assuming you want them to take effect immediately when the server is started. Continued in 'wizhelp @hook4'. & @hook4 Example: > &BEFORE_HOOK #10=[pemit(%#,Before)] > &AFTER_HOOK #10=[pemit(%#,After)] > @hook/before @create=#10/BEFORE_HOOK > @hook/after @create=#10/AFTER_HOOK > @create foo Before foo created as object #51 After Continued in 'wizhelp @hook5'. & @hook5 Example: > &BEFORE_HOOK #10=[pemit(%#,Before - [setr(0,Set)])] > &AFTER_HOOK #10=[pemit(%#,After - %q0)] > @hook/before @pemit=#10/BEFORE_HOOK > @hook/after @pemit=#10/AFTER_HOOK > @pemit me=Test - %q0 - [setr(0,Reset)] Before - Set Test - Set - Reset After - Reset > @hook/preserve @pemit > @pemit me=Test - %q0 - [setr(0,Reset)] Before - Set Test - - Reset After - Reset Continued in 'wizhelp @hook6'. & @hook6 Example: > &PERMIT_HOOK #10=[eq(strlen(%N),6)] > @hook/permit @pemit=#10/PERMIT_HOOK > @name me=Zod > @pemit me=Test Permission denied. > @name me=Wizard > @pemit me=Test Test & @kick Command: @kick <count> Immediately executes the first <count> commands from the top of the queue. See also: @disable, @enable, @timewarp. & @list Command: @list [<option>] Lists information from internal databases. Information is available about the following options: allocations attr_permissions attributes attr_types bad_names buffers cache commands config_permissions config_read_perms costs db_stats default_flags flags func_permissions functions globals hashstats logging memory options params permissions powers process site_information switches textfiles user_attributes Type 'wizhelp @list <option>' for help with a particular option. & @list allocations Command: @list allocations This command lists the usage statistics for the internal buffer pools. For each buffer pool, the following information is listed: Size - The size of a buffer, in characters. InUse - The number of buffers presently allocated from the pool. Total - The total number of buffers currently in the pool. Allocs - The total number of buffers ever allocated from the pool. Lost - The number of buffers lost due to buffer header corruption. Information is reported for the following pools: Lbufs - Large buffers, used when handling data input by the user, object attributes, the results of interpreting commands, and many other places. Mbufs - Medium-sized buffers, for when an sbuf is too small but an lbuf is too large. Sbufs - Small buffers, for when you need only a little space. Bools - Boolean expressions, used when evaluating locks. Descs - Network descriptors, one is used for each connected player. Qentries - Queue entries, one is used for each command placed on the queue. (@wait, @trigger, @switch, @dolist, etc). See also: @list buffers. & @list attr_permissions Command: @list attr_permissions Lists the attributes and the access restrictions that have been placed on them. The attributes are listed one per line. Refer to the attr_access config parameter for the meanings of the restrictions. Note that being allowed to write to an attribute does not imply the right to use the @<attr-name> shorthand command to set it, just the @set command. See also: @list permissions, attr_access. & @list attr_types Command: @list attr_types Lists the wildcard patterns that have been defined via the 'attr_type' config directive, and the associated default attribute flags for user-defined attributes that match those particular wildcard patterns. Patterns at the top of the list take precedence over the patterns below them. In other words, if '@list attr_types' shows: _RPG_*: no_clone wizard _*: visual then attributes that match the wildcard pattern _RPG_* will get the no_clone and wizard flags; they will not get the visual flag. & @list attributes Command: @list attributes Lists the attributes that are visible or settable by you. See also: @list attr_access, @list permissions. & @list bad_names Command: @list bad_names This command lists the player names that are not allowed to be created. Any create request (whether via the login screen or @pcreate) that matches (after wildcard expansion) one of the names in the list will be rejected. & @list buffers Command: @list buffers For each buffer in a buffer pool that is currently allocated, lists where within TinyMUSH the buffer was allocated. & @list cache Command: @list cache This command lists the attributes in each of the cache chains, as well as the number of attributes in each chain. The two chains are the Active Cache and the Modified Cache. The modified chains are reserved for attributes that have recently been modified. & @list commands Command: @list commands Lists the internal commands that you may execute. This command does not list the attribute-setting commands that you may use (like @va or @ahear), and does not list exits in your current room or $-commands on objects. See also: @list attr_access, @list attributes, @list permissions. & @list config_permissions Command: @list config_permissions Lists all available config options, and the permissions necessary for modifying them. See also: config_access, @list config_read_perms & @list config_read_perms Command: @list config_read_perms Lists all available config options, and the permissions necessary to read them (with e.g. @list options or the config() function). See also: config_read_access, @list config_permissions & @list costs Command: @list costs Lists the costs that are associated with some commands, particularly those that expand the database. & @list db_stats Command: @list db_stats Lists statistics for the database cache. & @list default_flags Command: @list default_flags Lists the flags that are automatically given to players, things, rooms, exits, and robots when they are created. This also lists the flags that are stripped when an object is @chown'd, and on the copy of a @clone'd object. See also: player_flags, thing_flags, room_flags, exit_flags, robot_flags, stripped_flags. & @list flags Command: @list flags For each object type, lists the name and key letter for all flags that may be set on that object type that are visible to you. & @list func_permissions Command: @list func_permissions Lists all available functions, and the permissions necessary for calling them. Note that very few functions have permissions set; most check permissions after they're invoked. Side-effect functions check permissions of the command they're based on. See also: function_access, @list functions, @list permissions & @list functions Command: @list functions Lists the functions that may be used to obtain information when evaluating command lines. & @list globals Command: @list globals Lists the global parameters that may be set or cleared by the @enable and @disable commands. The following parameters are displayed. building - Indicates whether or not commands that alter the stricture of the database are allowed. checkpointing - Indicates whether or not the database is to be periodically written to disk. cleaning - Indicates whether or not the database is to be periodically checked for deleted or disconnected rooms, and other connectivity problems. dequeueing - Indicates whether or not commands on the queue may be automatically executed. god_monitoring - Indicates whether or not monitoring of commands is on (interactive debugging mode). idlechecking - Indicates whether or not the inactivity limits are enforced. { 'wizhelp @list globals2' for more } & @list globals2 interpret - Indicates whether or not new commands may be added to the queue. local_rwho - Indicates whether or not the RWHO command may be used to read data from the configured remote RWHO server. logins - Indicates whether or not nonwizard players are allowed to connect. transmit_rwho - Indicates whether or not user information is to be periodically sent to the configured remote RWHO server. See also: RWHO, @dbck, @disable, @enable, @kick, @list permissions, @purge, @timewarp, checkpoint, conn_timeout, dump_interval, dump_offset, idle_interval, idle_timeout, rwho_data_port, rwho_dump_interval, rwho_host, rwho_info_port, rwho_password, rwho_transmit. & @list hashstats Command: @list hashstats Lists the hashing statistics for each of the internal hash tables. For each hash table, the following information is displayed: Size - The number of hash buckets in the hash table. Entries - The number of entries currently in the hash table. Deleted - The number of entries that have been deleted from the hash table. Empty - The number of hash buckets with no entries. Lookups - The number of times the hash table has been searched. Hits - The number of times that an item that was searched for was found. Checks - The total number of comparisons made against hash table entries to see if they were the desired entry. Longest - The maximum number of entries in one hash bucket. { 'wizhelp @list hashstats2' for more } & @list hashstats2 Information is displayed for the following hash tables: Commands - Internal MUSH commands Logged-out commands - Commands valid whether or not you are connected (such as WHO and QUIT). Functions - MUSH functions, such as rand() and lexits(). User Functions - Functions that have been defined with @function. Flags - Names of flags. Attr names - Built-in attribute names ('@' attributes). Vattr names - User-defined attributes names ('&' attributes). Player Names - Player names and aliases. Net Descriptors - Mapping of player dbrefs to net descriptors. Forwardlists - Objects with @forwardlist attributes. Overlaid $-cmds - Temporary; parent objects checked for $-commands. Object Stacks - Object stacks for push(), pop(), etc. Variables - Temporary variables, for setx(), etc. { 'wizhelp @list hashstats3' for more } & @list hashstats3 Structure Defs - Defined structures. Component Defs - Components defined as part of structures. Instances - Instances of structures. Instance Data - Data for specific components of instances. Mail messages - Mail messages, if @mail is enabled. Channel names - Comsys channels, if the comsys is enabled. See also: @list textfiles, alias, attr_alias, flag_alias, power_alias. & @list logging Command: @list logging Lists the type of information that is written to the log file and how it is displayed. See 'wizhelp log' for a list of the kinds of information which can be logged. The following formatting information is listed: flags - Include flags for players/objects/rooms listed. location - Include location if player/object when requested. owner - Include owner of objects/rooms listed. timestamp - Prefix log entries by a timestamp. See also: log, log_options. & @list memory Command: @list memory Lists the amount of memory used by various internal MUSH constructs such as hashtables, the attribute cache, and object names. The total returned by this command will not equal the total size of the MUSH process. It does not take into account the following: * The text, data, and bss sections of a binary * The heap and stack * Shared library text, data, and bss sections * Kernel space * Some miscellaneous bits and pieces This command is meant to be used for debugging and optimization. & @list options Command: @list options Lists the value of the configuration parameters that can be set to 'yes' or 'no'. See also: CONFIG PARAMETERS, @admin, @list params & @list params Command: @list options Lists the value of many of configuration options that are non-boolean, such as limits and dbrefs. See also: CONFIG PARAMETERS, @admin, @list options & @list permissions Command: @list permissions For each command that you are allowed to use, lists the permissions that are needed to execute it. For commands with user-defined permissions set with @hook/permit, the object/attribute pair that is used to evaluate those permissions is also shown here, as 'user(dbref/attribute)'. Note that user-defined permissions are not taken into account when showing the commands that a player can use, in '@list commands' or in '@list permissions'. See also: access, attr_cmd_access, @list commands. & @list powers Command: @list powers Lists the various powers. & @list process Command: @list process Lists information about the running MUSH process and its resource usage. The following information is returned: Process number. Pagesize of the system running the mush, in bytes. CPU time used, both user and system. Maximum resident size, in both pages and bytes. Integral resident size of the shared, private, and stack segments. This number is not terribly useful. Page faults, counting separately those that cause I/O and those that do not. Number of times the process has been swapped out. Number of real disk reads and writes done (possibly via NFS). Number of network packets read and written. Context switches, counting separately voluntary switches (as the result of calling a blocking I/O routine) and involuntarily switches (as the result of a timeslice end or a higher-priority process becoming runnable). Signals received. & @list site_information Command: @list site_information Lists the contents of the site access and suspect lists. IP Prefix - The CIDR IP prefix (address and number of bits in mask) that specifies the address range. Status - Indicates what type of access or restriction is to be applied. The following statuses may occur in the site access list: Forbidden - Connections from this site are rejected. Registration - Connections from this site are accepted, new characters may not be created with the 'create' command, players wanting a character must get a wizard to create one for them. Unrestricted - Connections from this site are accepted, new characters may be created with the 'create' command. { 'wizhelp @list site_information2' for more } & @list site_information2 The following statuses may occur in the site suspect list: Suspected - Notify logged-in wizards of any connects or disconnects from this site. Trusted - Don't notify wizards of connects or disconnects from this site. See also: forbid_site, permit_site, register_site, guest_site, suspect_site, trust_site, SITE LISTS. & @list switches Command: @list switches Lists the commands that support switches as well as the switches that may be used. & @list textfiles Command: @list textfiles Lists the indexed text files, and hash statistics for the topics within those text files. & @list user_attributes Command: @list user_attributes Lists the defined user-named attributes, along with their internal attribute numbers and access restrictions. & @list_file Command: @list_file <file> Lists the contents of one of the message files that are shown during the connect/create/disconnect process as conditions warrant. The following files may be listed: badsite_connect - shown when a connection is opened from a forbidden site. connect - shown when a connection is opened from a site for which registration is not enforced. create_register - shown when the 'create' command is used from a site for which registration is enforced. down - shown when a non-wizard attempts to connect to or create a character when logins are disabled. full - shown when a non-wizard attempts to connect to or create a character when the maximum number of connected players are connected. Note that this is different from what happens when someone tries to connect but there are no free descriptors, which is machine-dependent (usually the connect attempt hangs or is rejected). guest_motd - shown to guest characters immediately after they connect. { 'wizhelp @list_file2' for more } & @list_file2 motd - shown to all players immediately after they connect. (except guests and players connecting for the first time) newuser - shown to players the first time they connect in place of the motd file. quit - shown to players when they disconnect from the game. register_connect - shown when a connection is opened from a site for which registration is enforced. wizard_motd - shown to wizards when they connect in addition to the motd file. See also: @readcache, badsite_file, connect_file, connect_reg_file, down_file, guest_file, motd_file, newuser_file, quit_file, register_create_file, wizard_motd_file. & @log Command: @log [<type>=]<message> This command, which can only be used by Wizards, writes a message to the logfile in the following format (standard for all log entries, including the internal MUSH-generated ones): YYMMDD.hhmmss MUSHName MSG/<type>: <object>: <message> <type> will be uppercased and truncated to five characters long; if it is not specified, it will be "LOCAL". <object> is the identifying information for the object doing the logging (name, dbref, etc.). <message> is the specified message to log. & @logrotate Command: @logrotate This command, which can only be used by God, rotates the log file. This means that no more output will be written to the current log file, and instead, a new log file is begun. The old log file is not deleted. A number is automatically prepended at the end of the log file name (netmush.log.0, netmush.log.1, etc., incrementing with each @logrotate). & @mark Command: @mark[/<switches>] [<player>] [<class>=<restriction>] Sets or clears the mark bit for objects that match the search criteria. This command may only be used when database cleaning is disabled (via @disable cleaning), as cleaning uses marking to check connectivity. The following switches are available: /set - (default) Set the marker on the selected objects. /clear - Clear the marker on the selected objects. See also: @apply_marked, @@mark_all, SEARCH CRITERIA. & @mark_all Command: @mark_all[/<switches>] Sets or clears the mark bit for objects that match the search criteria. This command may only be used when database cleaning is disabled (via @disable cleaning), as cleaning uses marking to check connectivity. The following switches are available: /set - (default) Set the marker on all objects. /clear - Clear the marker on all objects. See also: @apply_marked, @mark_all. & @motd Command: @motd[/<switches>] <message> This command sets or lists short messages that are displayed to players after they successfully log in to the game (or after they fail because logins are not allowed). These messages are displayed in addition to the contents of the motd.txt and wizmotd.txt files. The following switches are available: (No switches) - Sets the message that all players see when they connect. /wizard - Sets the message that wizards see when they connect. /down - Sets the message the players see when they try to connect, but fail because logins are disabled. /full - Sets the message that players see when they try to connect, but fail because there are too many players already connected. /list - Lists the current messages. See also: @listmotd. & @newpassword Command: @newpassword <player>[=<newpassword>] Gives <player> the new password <newpassword>. If <newpassword> is not specified, the player is given a null password. If logged in, the player is notified that his password has been changed. See also: @password. & @pcreate Command: @pcreate <player>=<password> Creates a new player with the indicated password. This command is equivalent to typing 'create <player> <password>' from the connection screen, and is normally only used when registration is enabled. See also: REGISTRATION. & @poor Command: @poor <amount> Sets the wealth of all players to <amount>. & @purge Command: @purge Immediately destroys any rooms that are waiting to be destroyed, crediting their owners for the cost of creating the room. The freelist is also repaired if it is damaged. These operations are performed periodically, so there is usually no need to use this command. See also: @dbck. & @quota Command: @quota[/<switches>] [<player>[=<quota>]] @quota/all[/<switches>] [<quota>]] Lists or sets the player's (or everyone's) remaining or total quota according to the switches used. The following switches are available: /all - Display or set the quota for all players. /fix - Repair the remaining or total quota, assuming that the other is correct. /remaining - Set or repair the remaining quota. /set - Set the remaining or total quota to the specified value. /total - Set or repair the total quota. /room - Set or repair the room quota. /exit - Set or repair the exit quota. /thing - Set or repair the thing quota. /player - Set or repair the player quota. See also: QUOTAS. & @readcache Command: @readcache Reads the commonly-used text files and helpfile indexes into an internal cache, destroying the prior contents of the cache. Use this command whenever you change one of the text files; remember that you need to externally re-index helpfiles when they are changed, before doing a @readcache. & @restart Command: @restart This command restarts the game, in a fashion which is largely transparent to the players. It maintains all connections and much of the information related to them (such as @doing text). It saves and loads the database, so it cannot be used to change databases. It does, however, reload the server binary (so it can be used to switch between versions of the server), as well as re-read the configuration file (so it can be used to switch between configurations); note that because configuration information is reset, so anything modified with @admin and the like will be lost across the restart. Note that overwriting the server binary while the game is running may be dangerous; it is possible, under some operating systems, for the game to crash. Generally, the safest thing to do is to delete the old binary, then copy the new one into place. & @rwho Command: @rwho[/<switches>] Sets up or breaks the connection to the remote RWHO server over which WHO data is transmitted. Note that changes to many of the RWHO configuration parameters only take effect when RWHO transmission is next started. The following switches are supported: /start - Opens the connection and transmits an 'I am alive' message. /stop - Transmits an 'I am going down' message and closes the connection. See also: rwho_data_port, rwho_dump_interval, rwho_host, rwho_password, rwho_transmit. & @shutdown Command: @shutdown[/abort] <text> Disconnects all connected players, saves the database to disk, and shuts down the game. The game is unavailable until it is restarted. If an argument is specified, it is written to the file named by the status_file config directive. If the /abort switch is specified, the game simply prints a message to the logfile, and coredumps (dying immediately, without saving the database or doing the usual "panic" things). See also: status_file & @startslave Command: @startslave Creates an external slave process that does DNS lookups. This only needs to be used if the process (which is created automatically when the game is first started) dies for some reason. The symptom of this is normally that all IP address lookups are failing (IP addresses rather than hostnames are appearing in the WHO), when hostname lookups are turned on. This command does not return any output. & @sqlconnect Command: @sqlconnect Establishes a connection to an external SQL database. If a connection already exists, this closes that connection and opens a new one. & @sqldisconnect Command: @sqldisconnect Disconnects from an external SQL database. This command does not return any output. & @timewarp Command: @timewarp[/<switches>] <secs> Subtracts (or adds if negative) <secs> to one or more internal timers, depending on the switches specified from the following list: /check - The time left until the next consistency check and database cleaning. /dump - The time left until the next automatic checkpoint dump. /idle - The time left until the next check for idle users. /queue - (default) Adjusts the time-to-execute for all entries in the wait and semaphore queues. Entries whose time-to-execute becomes less than the current time are then ready for execution. The contents of the object queue are also appended to the player queue. /rwho - The time left until the WHO list is transmitted to the connected RWHO server (if any) Note: these flags may be specified together if desired. See also: @list options. & @timecheck Command: @timecheck[/<switches>] If timechecking instrumentation is enabled, statistics are kept, for each object, on the total number of milliseconds it has used to execute commands. This is clock time, not CPU time, but it does provide a rough estimate of the amount of usage a given object is responsible for. The command takes the following switches: /screen Print information to the screen. /log Print information to the logfile. /clear Clear the counters. If no switches are provided, printing to the screen and clearing the counters are assumed. The counters are otherwise not cleared unless /clear is specified. This command is computationally expensive. & @toad Command: @toad[/<switches>] <victim>[=<recipient>] Turns the victim into an object (a slimy toad) and disconnects them from the game. The named recipient (or the @toading wizard) get ownership of all the victim's things, rooms, and exits, as well as of the toad object itself. The following switches are available: /no_chown - Don't change the ownership of the victim or his objects. See also: @boot, @chownall, @destroy. & @wall Command: @wall[/<switches>] <message> With no switches, shouts <message> to every connected player or to every connected wizard, prefixed by either 'Announcement:' (if for everyone) or 'Broadcast:' (if for wizards). The following switches can be used to get the described effects: /emit - Format the message as an emit (ie send just <message>). /pose - Format the message as a pose (ie <yourname> <message>). /wizard - Only send the message to connected wizards. /no_prefix - Don't prepend 'Announcement:' or 'Broadcast:' to the message. If neither /emit or /pose are used, you can format the message one of several ways by specifying ':', ';', or '"' as the first character of the message. ':' and ';' format the message as if /pose were specified, except that ';' does not insert a space between your name and the message. '"' formats the message in normal @wall format (this is the default). The message is also written to the log file. & @allowance Attribute: Allowance Command: @allowance <object>[=<amount>] Sets the amount of money that the player receives each day he/she connects to the MUSH. The Allowance attribute overrides the default allowance specified by the paycheck config parameter. This attribute is only visible and settable by wizards. It is only meaningful for players, and has no effect on other object types. & @comment Attribute: Comment Command: @comment <object>[=<text>] Sets a wizard-visible comment on the indicated object. This attribute is only visible and settable by wizards. & @timeout Attribute: Timeout Command: @timeout <object>[=<seconds>] Sets an idle timeout value on <object> that is different from the default value. If the value is non-numeric or less than or equal to zero, then the default value is used. This attribute is only visible and settable by wizards. It is only meaningful for players, and has no effect on other object types. See also: idle_timeout. & MASTER ROOM The master room contains the default exits and $-commands for the MUSH. The order in which commands are searched for is: local exits, master room exits, built-in commands, local $-commands and aliases, and finally master room $-commands. Caution: Do not allow players into the master room, as they can leave objects that will be searched for $-commands. Make sure that the room is not JUMP_OK or LINK_OK, and that any exits leading to the room are locked so that only wizards may use them. To make global commands, simply leave an object in the master room with the appropriate $-commands on it. You can make global exits by having an unlocked exit from the master room (or an exit locked to a desired key object) lead to the desired destination. When a player goes through one of these exits, any KEY objects are returned home, as is done with @teleport. Do not put too many objects in the room, because each object is searched for $-commands every time anyone (or anything) anywhere on the MUSH enters an unrecognized command. See also: @link, @lock, @open, master_room, use_global_aconn & CONFIG PARAMETERS Topic: CONFIG PARAMETERS A number of configuration parameters may be specified in the configuration file, or given to the @admin command. The parameters are listed by type. Type 'wizhelp param <category>' for a list of parameters relevant to that category. Type 'wizhelp <param>' for help on a particular parameter. Aliases Costs Database Files Limits Messages Miscellaneous Objects Options Permissions Sites Timers & PARAM ALIASES alias attr_alias flag_alias function_alias logout_cmd_alias power_alias & PARAM COSTS create_max_cost create_min_cost dig_cost exit_quota find_money_chance kill_guarantee_cost kill_max_cost kill_min_cost link_cost machine_command_cost open_cost page_cost paycheck player_quota robot_cost room_quota sacrifice_adjust sacrifice_factor search_cost starting_money starting_quota starting_room_quota starting_exit_quota starting_thing_quota starting_player_quota thing_quota wait_cost & PARAM DATABASE cache_size cache_width fork_dump fork_vfork garbage_chunk initial_size & PARAM FILES badsite_file connect_file comsys_database connect_reg_file crash_database database_home down_file full_file gdbm_database guest_file helpfile html_connect_file include mail_database module motd_file newuser_file quit_file raw_helpfile register_create_file wizard_motd_file & PARAM LIMITS building_limit command_invocation_limit command_recursion_limit conn_timeout earn_limit forwardlist_limit function_cpu_limit function_invocation_limit function_recursion_limit idle_timeout instance_limit lag_maximum lock_recursion_limit max_players notify_recursion_limit number_guests output_limit player_aliases_limit player_queue_limit register_limit retry_limit stack_limit structure_limit trace_output_limit variables_limit wildcard_match_limit zone_recursion_limit & PARAM MESSAGES down_motd_message dump_message fixed_home_message fixed_tel_message full_motd_message huh_message motd_message postdump_message pueblo_message wizard_motd_message & PARAM MISCELLANEOUS flag_name guest_basename guest_password guest_prefixes guest_suffixes guests_calias guests_channel log log_options money_name_plural money_name_singular mud_name port public_calias public_channel queue_active_chunk queue_idle_chunk site_chars sql_database sql_host sql_password sql_reconnect sql_username & PARAM OBJECTS default_home exit_attr_defaults exit_flags exit_parent exit_proto guest_char_num guest_nuker guest_starting_room player_attr_defaults player_flags player_parent player_proto player_starting_home player_starting_room robot_flags room_attr_defaults room_flags room_parent room_proto stripped_flags thing_attr_defaults thing_flags thing_parent thing_proto & PARAM PERMISSIONS access attr_access attr_cmd_access attr_type bad_name config_access config_read_access flag_access function_access good_name list_access logout_cmd_access power_access user_attr_access & PARAM SITES forbid_site guest_site permit_site register_site suspect_site trust_site & PARAM TIMERS check_interval check_offset command_quota_increment command_quota_max dump_interval dump_offset events_daily_hour idle_interval mail_expiration opt_frequency timeslice & PARAM OPTIONS addcommands_match_blindly addcommands_obey_stop addcommands_obey_uselocks ansi_colors autozone booleans_oldstyle c_is_command clone_copies_cost dark_actions dark_sleepers examine_flags examine_public_attrs exit_calls_move fascist_teleport global_aconn_uselocks have_zones hostnames idle_wiz_dark lattr_default_oldstyle local_master_rooms look_obey_terse match_own_commands move_match_more no_ambiguous_match page_requires_equals paranoid_allocate pemit_any_object pemit_far_players player_listen player_match_own_commands player_name_spaces public_flags quiet_look quiet_whisper quotas read_remote_desc read_remote_name recycling require_cmds_flag robot_speech rwho_transmit safer_passwords say_uses_comma say_uses_you see_owned_dark signal_action space_compress sweep_dark switch_default_all terse_shows_contents terse_shows_exits terse_shows_move_messages trace_topdown typed_quotas unowned_safe use_global_aconn visible_wizards wizard_obeys_linklock & access Config parameter: access <command> <permlist> Modifies the permissions needed to execute the indicated command. Specifying a permission adds it to the list of permissions required; to remove a permission prefix it with a ! character. See also: PERMISSIONS, @list. & addcommands_match_blindly Config parameter: addcommands_match_blindly <yes/no>. Default: Yes If a match on a command that has been @addcommand'd does not successfully match any defined $-command for that @addcommand, if this parameter is YES, then no 'Huh?' message wlil be produced. If this is NO, then the user will receive a 'Huh?'. & addcommands_obey_stop Config parameter: addcommands_obey_stop <yes/no>. Default: No If an @addcommand is matched on an object set STOP, then, if this parameter is YES, no further matching attempts will be made. Otherwise, the server will continue to try to match additional $-command patterns associated with that @addcommand. & addcommands_obey_uselocks Config parameter: addcommands_obey_uselocks <yes/no>. Default: No If an @addcommand is matched on an object, if this parameter is YES, then the object's uselock is checked, and the command is only considered matched and executed if the player passes the uselock on the object (just as if the player were matching a command residing on an object in the master room). If this parameter is NO, then uselocks are not checked with added commands are matched. & alias Config parameter: alias <new> <old>. Defines the command <new> to be an alias of the command <old>. See also: & ansi_colors Config parameter: ansi_colors <yes/no>. Default: Yes Specifies whether or not players are permitted to use ANSI colors in their text. & attr_access Config parameter: attr_access <attr> [!]<privilege> [[!]<privilege>]... Changes the default flags of the attribute <attr>, which must be a built-in attribute. In addition to the attribute flags described in 'help @set', the following additional flags may be set through this config directive: const - The attribute cannot be changed by anyone. dark - The attribute is not visible to anyone. god - The attribute can only be seen and changed by God. & attr_alias Config parameter: attr_alias <alias> <attr>. Makes <alias> an alias for the attribute <attr>. & attr_cmd_access Config parameter: attr_cmd_access [!]<privilege> [[!]<privilege>]... Changes the access rights on all attribute-setting commands in parallel. Use this parameter to allow or deny access to the attribute-setting commands as a group. This directive should normally be followed by access directives to properly set access to restricted attributes. See also: access, PERMISSIONS. & attr_type Config parameter: attr_type <pattern> [!]<privilege> [[!]<privilege>]... All user-named attributes whose names match the wildcard pattern <pattern> will receive the default attribute flags specified by the privilege list, rather than the default attribute flags specified for user attributes by the user_attr_access conf directive (defaults to none). Directives given later take precedence over earlier ones. For example, if you want all attributes on your game that start with '_' to be set only by Wizards, except for attributes that start with '_RPG', which should be set only by Wizards and also not copyable by @clone, you should do: attr_type _* wizard attr_type _RPG_* wizard no_clone See also: @list attr_types, attr_access, user_attr_access & autozone Config parameter: autozone <yes/no>. Default: Yes If this parameter is enabled, newly-created objects are automatically part of the same zone that their creator is. Otherwise, newly-created objects do not have a zone. & bad_name Config parameter: bad_name <wildcarded-name>. Specifies that any name that matches <wildcarded-name> may not be used as a player name. Attempts to create a player with a disallowed name (or to rename to a disallowed name) will be rejected. Normally, words that lead off messages from MUSH are disallowed, some sites may wish to disallow some obscene names as well. & badsite_file Config parameter: badsite_file <path>. Default: text/badsite.txt Specifies the name of the file that is sent to new net connections from sites that have been blocked from accessing the server. The connection is closed immediately after the file is sent. See also: forbid_site, permit_site. & booleans_oldstyle Config parameter: booleans_oldstyle <yes/no>. Default: No If this config parameter is turned on, boolean evaluation on dbrefs is done TinyMUSH 2.x/TinyMUX style; this is less useful but provides backwards-compatible behavior. See 'help Boolean Values' for details. & building_limit Config parameter: building_limit <number>. Default: 50000. Specifies the maximum number of objects that the database can contain. When this number is reached, no new objects can be created. This is useful for preventing people from programming runaway dustbunny monsters that create thousands of objects. & c_is_command Config parameter: c_is_command. Default: Yes If this config parameter is turned on, the %c substitution evaluates to the last command (equivalent to %m). If not, the %c substitution evaluates to an ANSI substitution (equivalent to %x). & cache_size Config parameter: cache_size <bytes>. Default: 1000000. Specifies the maximum size of the database cache, in bytes. This value should be set as low as possible while still maintaining a high read hit rate (as seen in '@list db_stats'). A reasonable hit rate is 90% or higher. The god character can safely change this value while the MUSH is running. See also: cache_width. & cache_width Config parameter: cache_width <width>. Default: 20 Specifies the number of buckets in the database cache. A hashing function is used to assign attributes to a particular bucket, where a linear search is performed. & check_interval Config parameter: check_interval <secs>. Default: 600. Specifies how often (in seconds) the database is to be automatically scanned for inconsistencies and purged of references to destroyed objects. Any inconsistencies found are either fixed or recorded in the log file. See also: check_offset, @dbck. & check_offset Config parameter: check_offset <secs>. Default: 300. Specifies how long after startup the first automatic database check is to be performed. Subsequent checks are performed every check_interval seconds. See also: check_interval, @dbck. & cache_steal_dirty Config parameter: cache_steal_dirty <yes/no>. Default: No Specifies whether or not the cache manager may take a modified attribute and write it out when trying to insert a new attribute into the cache. & clone_copies_cost Config parameter: clone_copies_cost <yes/no>. Default: No Indicates whether or not @cloned objects inherit the cost of the original. If disabled, @cloned objects cost the same as a @create that doesn't specify the object cost. The new owner is charged the correct amount in either case. See also: @clone. & command_invocation_limit Config parameter: command_invocation_limit <num>. Default: 2500 This directive sets the maximum number of commands that can be executed in a single queue entry, whether separated with semicolons, pipes, or nested with @trigger/now, etc. When the limit is reached, further commands will silently fail to run. This limit is intended to prevent long hangs from creative uses of semicolons, pipes, or commands with the /now switch. See also: command_recursion_limit. & command_quota_increment Config parameter: command_quota_increment <amount>. Default: 1 Specifies the number of commands by which the command quota for connected users each timeslice. Each command a user types in (commands executed by machines do not count) decreases the quota by 1, and the user's commands are only executed if the quota is greater than zero. See also: command_quota_max, timeslice. & command_quota_max Config parameter: command_quota_max <amount>. Default: 100 Specifies the maximum value for the command quota for connected users. A user's command quota is only increased if it is below this value. Each command a user types in (commands executed by machines do not count) decreases the quota by 1, and the user's commands are only executed if the quota is greater than zero. See also: command_quota_increment, timeslice. & command_recursion_limit Config parameter: command_recursion_limit <num>. Default: 50 This directive sets the maximum nesting of commands that can execute other commands in a single queue entry, such as @branch, @call, @iter, etc. When the limit is reached, more deeply nested commands will silently fail to run. This limit is intended to prevent infinite loops using @call, for example. See also: command_invocation_limit. & comsys_database Config parameter: comsys_database <filename>. Default: comsys.db Specifies the file that comsystem information is stored in. This database is loaded at startup if the comsys module is installed. & config_access Config parameter: config_access <param> [!]<privilege> [[!]<privilege>]... Changes the privileges needed to change the specified configuration parameter. The value 'disabled' indicates that the parameter may only be specified in the configuration file at startup. The value 'static' indicates that the parameter may only be specified in the configuration file at startup, and the permissions for setting that parameter may never be changed. Setting privileges to anything other than static, disabled, or god is meaningless unless the restriction on the @admin command is weakened. See also: @admin, @list config_permissions, config_read_access, PERMISSIONS. & config_read_access Config parameter: config_read_access <param> [!]<priv> [[!]<priv>]... Changes the privileges needed to read the specified configuration parameter. A value of 'disabled' or 'static' means that no one may read the parameter, usually because it is not feasible to return a value in config(). See also: @admin, @list config_permissions, config_access, PERMISSIONS. & conn_timeout Config parameter: conn_timeout <num>. Default: 60 Specifies how many seconds a new network connection may remain open before connecting to a character before being automatically disconnected. & connect_file Config parameter: connect_file <path>. Default: text/connect.txt Specifies the name of the file that a user sees immediately after connecting to the MUSH if registration is not enabled. This file normally contains help on how to connect to or create a character, as well as the WHO and QUIT commands. See also: connect_reg_file & connect_reg_file Config parameter: connect_reg_file <path>. Default: text/connect_reg.txt Specifies the name of the file that a user sees immediately after connecting to the MUSH if registration is enabled. This file normally contains help on how to get a character (usually by sending e-mail to one of the wizards), how to connect to an existing character, as well as the WHO and QUIT commands. See also: connect_file & html_connect_file Config parameter: html_connect_file <path>. Default: text/htmlconn.txt Specifies the name of the file that a user sees when a PUEBLOCLIENT command is issued. Typically this is a file similar to connect_file, with HTML formatting. See also: connect_file & crash_database Config parameter: crash_database <filename>. Default: None Specifies the name of the database file that should be written when mush detects an internal error and is about to crash. Note that the database may contain corrupted links of the error occurs in the middle of moving links about. Dumping a crash database is currently not implemented. & create_max_cost Config directive: create_max_cost <amount>. Default: 505 Specifies the maximum amount of money that is used in calculating the value of a created object. Specifying more than this amount of money in a @create command will cause the excess to be wasted. See also: create_min_cost, sacrifice_adjust, sacrifice_factor. & create_min_cost Config directive: create_min_cost <amount>. Default: 10 Specifies the minimum (and default) cost for creating an object. See also: create_max_cost, sacrifice_adjust, sacrifice_factor. & dark_actions Config directive: dark_actions <yes/no>. Default: No Indicates whether @a-actions are to be triggered when moving, regardless of whether or not the object moving is set Dark. Note that even if this parameter is set to 'yes', the /quiet switch still causes @a-actions to be ignored. & dark_sleepers Config directive: dark_sleepers <yes/no>. Default: Yes Indicates whether or not disconnected players are to be considered 'dark', so that they do not show up when a player looks in the room that they are in. Disconnected players can still be found by examining the room or by using [next()] to follow the contents chain for the room. & database_home Config parameter: database_home <path>. Default: . Specifies the directory in which database files will be stored. You do not need to follow this with a trailing slash (/). See also: gdbm_database, crash_database. & default_home Config directive: default_home <location>. Default (player_starting_home) Sets the home location for objects which have an invalid home (whether because the home location was deleted, or is owned by another player and is not set ABODE) and the home of their owner is also invalid. If this parameter is not set, the value of player_starting_home is used instead. See also: player_starting_home. & dig_cost Config parameter: dig_cost <amount>. Default: 1 Specifies how much the @dig command costs. & divert_log Config parameter: divert_log <logoption> <filename> Sends events of type <logoption> (see 'wizhelp log' for possibilities) to <filename> rather than to the main logfile. This parameter cannot be changed while the MUSH is running. & down_file Config parameter: down_file <pathname>. Default: text/down.txt Specifies the name of the file that is displayed when players attempt to connect to a non-wizard character when logins are disabled. See also: @disable, down_motd_message. & down_motd_message Config parameter: down_motd_message <message>. Default: blank Sets the message that is displayed when a player attempts to connect to a non-wizard character when logins are disabled. This message is displayed in addition to the contents of the down.txt file. See also: @disable, down_motd_file. & dump_interval Config parameter: dump_interval <amount>. Default: 3600 Specifies the time in seconds between automatic database dumps. See also: dump_offset, gdbm_database. & dump_message Config parameter: dump_message <message>. Default: blank Sets the message that is sent to everyone before the database is being dumped to disk, whether automatically or via the @dump command. See also: @dump, postdump_message. & dump_offset Config parameter: dump_offset <amount>. Default: 0 Specifies the time in seconds between startup and the first database dump. If zero, the value of the dump_interval parameter is used. See also: dump_interval. & earn_limit Config parameter: earn_limit <amount>. Default: 10000 Specifies the threshold at which earning additional money becomes difficult. Specifically, players with more than this much money no longer receive a paycheck for each day they connect, only receive one penny for sacrificing objects at temples, don't receive insurance payments for being killed, and don't find money lying in the streets. See also: find_money_chance, paycheck. & events_daily_hour Config parameter: events_daily_hour <hour>. Default: 7 Specifies the hour that @daily is executed. No guarantee is made as to what time during this hour this will be executed. This should be a number between 0 and 23. & examine_flags Config parameter: examine_flags <yes/no>. Default: Yes Indicates whether or not the examine command should include an expanded flags list in the description of the object. See also: examine. & examine_public_attrs Config parameter: examine_public_attrs <yes/no>. Default: Yes Indicate whether or not the examine command should display the public attributes of the object by default when used by a player who does not control the object. Regardless of the setting of this parameter, the short form is available with examine/brief and the long form with examine/long. See also: examine. & exit_calls_move Config parameter: exit_calls_move <yes/no>. Default: No Indicates whether or not typing the name of an exit is identical to typing 'move <name of exit>'. This parameter should only be set to Yes if you have @addcommand'd the goto command (automatically getting its aliases move, go, etc.), and you would like the added command called if the player tries to go through an exit. You will probably want the conf option 'move_match_more' set to Yes as well, if you use this, or you will not be able to use global and zone exits. & exit_attr_defaults Config parameter: exit_attr_defaults <dbref>. Default: Nothing If this parameter is set, every object of type EXIT will use the attributes on the specified object as "attribute defaults". See 'wizhelp attribute defaults' for additional information. & exit_flags Config parameter: exit_flags <flags>. Default: blank Modifies the set of flags that an exit receives when it is created via the @open command or via the optional exit creation parameters of the @dig or @link commands. Flags prefixed by a ! remove the indicated flag from the set. See also: @list, player_flags, robot_flags, room_flags, thing_flags. & exit_parent Config parameter: exit_parent <dbref>. Default: Nothing If this parameter is set, every object of type EXIT will have the specified object as a parent. See also: player_parent, room_parent, thing_parent. & exit_proto Config parameter: exit_proto <dbref>. Default: Nothing If this parameter is set, every object of type EXIT will be created with the same flags, parent, and zone (if the autozone param is not set to 'yes') as the specified object. That object's attributes will also be copied to the newly-created object. This supersedes the value of exit_parent or exit_flags, if set. See also: player_proto, room_proto, thing_proto. & exit_quota Config parameter: exit_quota <amount>. Default: 1 Sets how much quota it costs to create an exit (and also how much the remaining quota is increased when an exit is @destroyed. See also: @quota, player_quota, room_quota, thing_quota, QUOTAS. & fascist_teleport Config parameter: fascist_teleport <yes/no>. Default: No If this parameter is set to yes, then players (and objects) may not teleport out of locations that they do not control or which are not set JUMP_OK. If the teleporting player is inside an object, the room that ultimately contains the object is checked. Going home is unaffected. & find_money_chance Config parameter: find_money_chance <amount>. Default: 0 Indicates the chance that players have of finding money when entering a new room. The chance is 1 / find_money_chance, except that finding money is disabled if this parameter is set to zero. See also: earn_limit, paycheck. & fixed_home_message Config parameter: fixed_home_message <string>. Default: (none) Specifies the string that is sent to a player when they try to go home while they are set with the FIXED flag. See also: fixed_tel_message & fixed_tel_message Config parameter: fixed_tel_message <string>. Default: (none) Specifies the string that is sent to a player when they try to teleport while they are set with the FIXED flag. See also: fixed_home_message & flag_alias Config parameter: flag_alias <alias> <flagname>. Defines <alias> as a synonym for the flag <flagname>. & flag_name Config parameter: flag_name <0 - 9> <flagname> Renames a user-defined flag (MARKER0 through MARKER9) to '_<flagname>'. Note that the underscore is automatically prepended, thus uniquely distinguishing user-named flags from the built-in flags. MARKER0 through MARKER9 remain as flag aliases, regardless of what the user-defined names happen to be. You cannot have two user-defined flags with the same name. Flag names can have a maximum length of 30 characters, and can contain only letters, numbers, and underscores. & flag_access Config parameter: flag_access <flag name> <access> Changes who can set a flag. <access> can be: any - Anyone can set this flag. restrict_player - Only Wizards can set this flag on players, but mortals can set the flag on objects of other types. royalty - Only Royalty, Wizards, and God can set this flag. wizard - Only Wizards and God can set this flag. privileged - Only God can set this flag on players, but non-robot players can set it on objects of other types, if they themselves have the flag. god There are some flags whose access permissions cannot be changed, since they are handled in a special way. This includes the DARK, and AUDIBLE flags. The access permissions on user-defined flags default to "god". & forbid_site Config parameter: forbid_site <site notation> Indicates that connections are to be rejected from sites who match that site notation. The contents of the file specified by badsite_file is sent immediately before closing the connection. This directive may be used to restrict access to just the local network, or to prevent access from troublemaking sites. The default is for all sites to be allowed to connect, none forbidden. See also: badsite_file, permit_site, register_site, SITE LISTS. & fork_dump Config parameter: fork_dump <yes/no>. Default: No Indicates whether or not database dumps are to be done by fork()ing off a separate process to perform the dump. While enabling this parameter reduces the amount of time needed to perform the dump, it requires that the system have enough free swap space to hold a second copy of the running game. See also: fork_vfork. & fork_vfork Config parameter: fork_vfork <yes/no>. Default: No Indicates whether or not the vfork() system call should be used in place of fork() when a database dump is to be performed. This parameter is only checked if the fork_dump parameter is set to yes. See also: fork_dump. & forwardlist_limit Config directive: forwardlist_limit <num>. Default: 100 This directive sets the maximum number of objects that may be listed in one @forwardlist attribute. See also: notify_recursion_limit, PARAM LIMITS. & full_file Config parameter: down_file <pathname>. Default: text/full.txt Specifies the name of the file that is displayed when players attempt to connect to a non-wizard character when the number of connected players is not less than the number of players allowed by the max_players directive. See also: full_motd_message, max_players. & function_access Config parameter: function_access <function> [!]<priv> [[!]<priv>]... Changes the privileges needed to call the mush function <function>. If you do not have permission to call a function, the function returns the value "#-1 PERMISSION DENIED" instead of the value it would normally return. See also: @list functions, FUNCTION LIST, PERMISSIONS. & function_alias Config parameter: function_alias <alias> <function> Defines <alias> as an alias for <function>. & full_motd_message Config parameter: full_motd_message <message>. Default: blank Sets the message that is displayed when a player attempts to connect to a non-wizard character when the number of connected players is not less than the number of players allowed by the max_players directive. This message is displayed in addition to the contents of the full.txt file. See also: down_motd_file, max_players. & function_cpu_limit Config directive: function_cpu_limit <num>. Default: 60 This directive sets the maximum amount of CPU time, in seconds, that a command may take. This is checked as part of evaluating function calls, though there is also a small amount of other overhead that is part of this calculation (such as the time taken for the command to fetch attributes, check its permissions, and so forth). If the CPU limit is exceeded, the string '#-1 FUNCTION CPU LIMIT EXCEEDED' is returned. If this parameter is set to 0, no CPU limit will be enforced. Note that CPU time is measured in clock ticks of actual execution, rather than in "wall clock" time. Thus, if a MUSH's host server is running very slowly, a command could conceivably take 15 seconds to execute, while only consuming a second of actual CPU time. See also: lag_maximum, function_invocation_limit, function_recursion_limit & function_invocation_limit Config directive: function_invocation_limit <num>. Default: 2500 This directive sets the maximum number of times that a command may make function calls. If the invocation limit is exceeded, the string '#-1 FUNCTION INVOCATION LIMIT EXCEEDED' is returned. This limit is intended to prevent long hangs from creative uses of u() and iter(). Note: @search is treated specially, each object examined with the eval=<arg> parameter is treated as a separate command for the purposes of the function invocation limit. & function_recursion_limit Config directive: function_recursion_limit <num>. Default: 50 This directive sets the maximum number of nested function calls that may be made before the function call is aborted and the string '#-1 FUNCTION RECURSION LIMIT EXCEEDED' is returned. Normally this is not a problem, but the u() function can be used to cause infinite recursion (unless blocked by a recursion limit) & garbage_chunk Config parameter: garbage_chunk <number>. Default: 3 & gdbm_database Config parameter: gdbm_database <filename>. Default: None. Specifies the name of the file that stores the text portion of the database. The text strings are stored in a binary format optimized for fast retrieval and storage rather than access with programs such as more. & global_aconn_uselocks Config parameter: global_aconn_uselocks <yes/no>. Default: No If this is YES, then @aconnect/@adisconnect on Master Room objects check their uselocks; if the enactor does not pass the uselock, then the @aconnect/@adisconnect is not executed. & good_name Config parameter: good_name <name>. Removes <name> from the list of names that may not be used as a player name, reversing the effect of a bad_name directive. The name must match exactly (wildcard matching is not performed). & guest_char_num Config parameter: guest_char_num <number>. Default: (none) Indicates the dbref of the "template" guest character. If set, Guest characters are subject to additional restrictions (such as not being allowed to create or destroy objects). The actual restrictions can be changed with the access config parameter using the no_guest permission. All guests created will be clones of this template character, and will automatically join the Guests channel with a prefix of 'g'. See also: guest_basename, guest_nuker, number_guests, guests_channel, access. & guest_nuker Config parameter: guest_nuker <number>. Default: 1 Specifies who is to nuke guests when they log off. If it is not a good object or a wizard, it defaults to 1 (for #1, the typical God character). See also: guest_char_num, guest_nuker, guest_basename, number_guests. & guest_starting_room Config parameter: guest_starting_room <number. Default: -1 Specifies the room that Guests start out in. If this parameter has not been set, then the Guest starting room defaults to the value of the player_starting_room parameter. & guests_calias Config parameter: guests_calias <channel alias>. Default: g Specifies the name of the channel alias that is used to talk on the Guests channel. When Guests connect, if the guest channel has been created, Guests join that channel with this alias. See also: guests_channel, public_calias, public_channel. & guests_channel Config parameter: guests_channel <name>. Default: Guests Specifies the name of the channel that guests join when they connect. You must have created the channel already. To disable this feature, simply set this parameter to nothing. See also: guests_calias, public_calias, public_channel. & guest_prefixes & guest_suffixes & guest_basename Config parameter: guest_basename <basename>. Default: Guest Config parameter: guest_prefixes <list of name prefixes>. Default: (none) Config parameter: guest_suffixes <list of name suffixes>. Default: (none) If neither the guest_prefixes nor guest_suffixes conf parameters are specified, guests have numbered names, of the format <basename><number>; for example, if the guest_basename is 'Guest', then the guests will be named Guest1, Guest2, and so forth. If guest_prefixes and/or guest_suffixes are specified, they will be combined sequentially to form guest names; if there are more guests than there are combinations, guests will become numbered. For example, if guest_prefixes is 'Red Blue' and guest_suffixes is 'Guest Visitor Friend', then the guests will be named 'RedGuest', 'RedVisitor', 'RedFriend', 'BlueGuest', 'BlueVisitor', 'BlueFriend', 'Guest7', 'Guest8', etc. These guest characters will be aliased to <basename><number>; i.e., 'RedVisitor' will have an @alias of 'Guest2'. (If only one of these parameters is specified, it will be treated as a list of names to use). See also: guest_char_num, guest_password, guest_nuker, number_guests. & guest_password Config parameter: guest_password <password>. Default: guest This config parameter sets the default password for Guest characters. See also: guest_basename, guest_char_num, guest_nuker, number_guests. & guest_file Config parameter: guest_file <path>. Default: text/guest.txt. Specifies the file that is to be shown to people connecting to the guest character in place of the motd file. See also: guest_char_num. & guest_site Config parameter: guest_site <site notation> Indicates that connections to Guest are to be rejected from sites whose address matches the specified site notation. The default is for all sites to be allowed to connect, none forbidden. See also: SITE LISTS. & have_pueblo Config parameter: have_pueblo <yes/no>. Default: Yes Specifies whether or not the server uses Pueblo enhancements. This parameter is not modifiable, and will be set to No if the server was compiled without PUEBLO_SUPPORT. See also: html_connect_file, pueblo_message & have_zones Config parameter: have_zones <yes/no>. Default: Yes If this parameter is YES, then the multi-object control is supported via the ZONE flag and ControlLocks. & helpfile Config parameter: helpfile <command> <path>. Default: None Specifies the command to use to access an indexed helpfile, and the path to the file and its index (the .txt and .indx files). For example, the equivalent of 'helpfile help text/help', 'helpfile wizhelp text/wizhelp', and 'helpfile news text/news' is automatically performed when the game is restarted. This creates three commands, 'help', 'wizhelp', and 'news', which read the files 'text/help.txt', 'text/wizhelp.txt' and 'text/news.txt' respectively, and are indexed by 'text/help.indx', 'text/wizhelp.indx', and 'text/news.indx'. The 'wizhelp' command is further restricted to wizards, using the equivalent of 'access wizhelp wizard'. You may, using this command, configure however many help-like files you would like. Aside from help and wizhelp, all text within these files is evaluated (so ANSI substitutions and the like work). Continued in 'wizhelp helpfile2'. & helpfile2 This directive can only be used directly from the conf file, read with each restart; this prevents users of the game from potentially gaining access to arbitrary files on the system. More examples: To make your +help external to the game, use the following: helpfile +help text/plushelp To make a wizards-only news file, use the following: helpfile wiznews text/wiznews access wiznews wizard To change the path to your help file (to, say, the game directory): helpfile help game/help See also: raw_helpfile & hostnames Config parameter: hostnames <yes/no>. Default: Yes Indicates whether or not IP addresses should be replaced with host names where possible in the log file and wizard WHO report. & huh_message Config parameter: huh_message <message>. Default: Huh? (Type "help" for help.) This is the message that is displayed when user input does not match any valid command. & idle_interval Config parameter: idle_interval <secs>. Default: 60 Sets the interval between checks for idle users. See also: conn_timeout, idle_timeout. & idle_timeout Config parameter: idle_timeout <secs>. Default: 3600 (one hour) Sets the amount of time that a player may remain idle before being automatically disconnected. Players idle longer than this parameter are disconnected when the next check for idle players is done. See also: conn_timeout, idle_interval. & idle_wiz_dark Config parameter: idle_wiz_dark <yes/no>. Default: No Indicates whether or not wizards who are idle for longer than the default timeout value are to automatically be set DARK, and then unDARKed when they type in their next command. Wizards already set DARK are not automatically unDARKed. & include Config parameter: include <path>. Default: None Reads and processes configuration directives from the named file. This directive is only valid during startup. & initial_size Config parameter: initial_size <number>. Default: 1000 Defines the initial size of the database. You should set this to around the number of objects on your game (your database size plus 100, or something like that). This is a minor bit of memory tuning. Don't worry about it too much. & kill_guarantee_cost Config parameter: kill_guarantee_cost <amount>. Default: 100 Specifies the amount of money you have to spend (ie. kill target = <amount>) to have a 100% chance of killing them (assuming there are no other factors, such as the victim being immortal or in a HAVEN room, etc). The chance of a successful kill is <amount spent> / <kill_guarantee_cost>. See also: kill, kill_max_cost, kill_min_cost, HAVEN, IMMORTAL, KILLING. & kill_max_cost Config parameter: kill_max_cost <amount>. Default: 100 Specifies the maximum amount of money that may be usefully spent on a kill attempt. Spending more than this amount does not improve the chance of success. Setting this parameter to less than the kill_guarantee_cost parameter prevents 'automatic kills', as the kill will always have a chance of failing. See also: kill, kill_guarantee_cost, kill_min_cost, HAVEN, IMMORTAL, KILLING. & kill_min_cost Config parameter: kill_min_cost <amount>. Default: 10 Specifies the minimum (and default) cost for attempting to kill someone or something. See also: kill, kill_guarantee_cost, kill_max_cost, HAVEN, IMMORTAL, KILLING. & lag_check Config parameter: lag_check <yes/no>. Default: Yes Specifies whether the server measures the time used by each command and logs warnings. This parameter is not modifiable and will be set to No if the server was compiled with NO_LAG_CHECK. See also: lag_maximum & lag_maximum Config parameter: lag_maximum <number of seconds>. Default: 120 If the amount of real time used by a command exceeds the given number of seconds, a warning message will be printed to the log file. & lattr_default_oldstyle Config parameter: lattr_default_oldstyle <yes/no>. Default: No If this config parameter is turned on, if lattr() is performed on a non-existent object, an empty string is returned. If this config parameter is turned off, if lattr() is performed on a non-existent object, the string "#-1 NO MATCH" is returned. & list_access Config parameter: list_access <param> [!]<privilege> [[!]<privilege>]... Changes the access needed to the <param> option of the @list command. See also: @list, PERMISSIONS. & link_cost Config parameter: link_cost <amount>. Default: 1. Specifies the cost of using the @link command to establish or change the link of an exit to its destination, the home of a player or an object, or the drop-to of a room. See also: @link. & local_master_rooms Config parameter: local_master_rooms <yes/no>. Default: Yes. If this config parameter is turned on, parent objects set ZONE will be treated like local master rooms, for the purposes of $command checks. See "help ZONE" for details. & lock_recursion_limit Config directive: lock_recursion_limit <num>. Default: 20 Sets the maximum number of levels of indirection that may be used when using indirect locks. If more than this many levels are used, the lock fails and the user gets an error message. & log Config parameter: log [!]<logoption> [[!]<logoption>]... Specifies what types of events are to be logged to the logfile. accounting - Write an accounting record to the log for each player who disconnects. all_commands - Record all commands executed. bad_commands - Record commands entered that did not match anything. buffer_alloc - Record buffer allocates and frees. bugs - Record internal inconsistencies found. checkpoints - Record automatic database dumps. config_changes - Record uses of the @admin command. create - Record creation of new players. keyboard_commands - Record commands entered interactively by players. killing - Record uses of the kill and slay commands. logins - Record connects to characters. network - Record new and broken net connections. problems - Record problems found with the database. security - Record security-related events. shouts - Record uses of the @wall command. startup - Record information about game startup. suspect_commands - Record commands entered by Suspect players. wizard - Record uses of dangerous commands like @toad. See also: log_options. & log_options Config parameter: log_options [!]<option> [[!]<option>]... Specifies the type of information to be included in each log entry. The possible values are: flags - Include the flags set on a player or object. location - Include the location of referenced players and objects. owner - Include the owner of referenced players and objects. timestamp - Include a timestamp in each log entry. See also: log. & logout_cmd_access Config parameter: logout_cmd_access <access> Changes the access permissions on the logged-out commands. & logout_cmd_alias Config parameter: logout_cmd_alias <alias> <command> Defines <alias> as an alias for the logged-out command (DOING, QUIT, etc.) <command>. & look_obey_terse Config parameter: look_obey_terse <yes/no>. Default: Yes Indicates whether or not the 'look' command obeys the TERSE flag when deciding how much information to display. If set to yes, the terse_shows_contents, terse_shows_exits, and terse_shows_move_messages config options control the amount of information displayed for TERSE players. See also: terse_shows_contents, terse_shows_exits, terse_shows_move_messages. & machine_command_cost Config parameter: machine_command_cost <number>. Default: 64 Sets the cost for running a command from a machine, as opposed to running it interactively. Each command run has a one in <number> chance of being charged one coin for machine overhead. & mail_database Config parameter: mail_database <filename>. Default: mail.db Sets the file that @mail information is to be stored in, for the mail module. & mail_expiration Config parameter: mail_expiration <number of days>. Default: 14 Sets the number of days that a @mail message should be kept before it is automatically deleted by the system. If this parameter is set to a negative number, mail expiration will be disabled. & match_own_commands Config parameter: match_own_commands <yes/no>. Default: No Specifies whether or not objects search themselves for $-commands when a command does not match an exit or an internal command. In order for players to search themselves for commands, both match_own_commands and player_match_own_commands must be set to yes. See also: player_match_own_commands. & master_room Config parameter: master_room <roomnum>. Default: (none) Specifies the room that is searched for exits if a command does not match an exit in the current room, and for $-command if a command does not match any $-commands that are available to the player in his current location. & max_players Config directive: max_players <num>. Default: -1 (unlimited) Sets the maximum number of players that may be connected at any one time Note that wizards are allowed to login even if they would exceed the limit, and that this limit does not override any limits imposed by the system running the MUSH (such as the maximum number of net connections a process may have). Players connecting when there are max_players players connected receive the contents of the file named by the full_file directive, and the full_motd_message (also settable via @motd/full), and are disconnected. See also: @motd, full_file, full_motd_message. & module Config directive: module <name> Activates a specified module. If the module is dynamically loadable, <name>.la must be present in one of the directories specified by the LTDL_LIBRARY_PATH environment variable (see Startmush). This may only be used from the config file. You will need to @restart if you modify a module. Example: module comsys (causes comsys.la to be loaded) Refer to the MODULES file for more information. & money_name_plural Config parameter: money_name_plural <string>. Default: pennies Specifies the string to use to describe the coin of the realm when they are being referred to plurally (such as: 'You have <number> pennies.', where <number> is not 1). See also: money_name_singular. & money_name_singular Config parameter: money_name_singular <string>. Default: penny Specifies the string to use to describe the coin of the realm when they are being referred to singularly (such as: 'You found a penny!'). See also: money_name_plural. & move_match_more Config parameter: move_match_more <yes/no>. Default: No When this parameter is set to 'No', the move (goto) command only looks for local exits, and if multiple exit names are found, it returns a "I don't know which way you mean!" error. However, if you simply type the name of an exit (rather than typing 'move <exit>'), the command parser normally looks at local exits, then global exits (if no local exits were found), then zone exits (if no global exits were found). If, at any level, multiple exits with the same name are found, one will be chosen at random. When this parameter is set to 'Yes', the move command behaves in the same way the main command parser does. If you have @addcommand'd the 'move' command, you will probably want to have this parameter, and exit_calls_move, both set to Yes. & motd_file Config parameter: motd_file <pathname>. Default: text/motd.txt Specifies the name of the file to be shown to players immediately after they connect to their characters. See also: @readcache, newuser_file, motd_message. & motd_message Config parameter: motd_message <message>. Default: blank Sets the MOTD message that is displayed to all characters when they log in. This message is displayed in addition to the contents of the motd.txt file. It can be changed with the @motd command and examined by the @listmotd command. See also: @listmotd, @motd, motd_file. & mud_name Config parameter: mud_name <string>. Default: TinyMUSH Specifies the mud name that is transmitted to a remote RWHO server when reporting information. See also: rwho_dump_interval, rwho_host, rwho_info_port, rwho_password, rwho_transmit. & newuser_file Config parameter: newuser_file <filename>. Default: text/newuser.txt Specifies the file to be shown to new players immediately after they create their characters, in place of the MOTD file. This file should contain information about the basic commands and how to get help. See also: @readcache, motd_file. & no_ambiguous_match Config directive: no_ambiguous_match <yes/no>. Default: No Determines whether or not ambiguous object matches (i.e., use of names that match more than one object in the vicinity) automatically resolve to a selection of one of the objects at random. In other words, if this parameter is "Yes", you will never see a, "I don't know which one you mean!" message -- an object will always be selected. & notify_recursion_limit Config directive: notify_recursion_limit <num>. Default: 20 Sets the maximum number of times that the notify() routine may be called recursively. A recursive call is made whenever a message heard by an object is to be forwarded to its contents. See also: forwardlist_limit, PARAM LIMITS. & number_guests Config parameter: number_guests <number>. Default: 30 This is the maximum number of Guest characters that can connect at any given time. See also: guest_char_num, guest_nuker, guests_channel, guest_basename. & open_cost Config parameter: open_cost <amount>. Default: 1 Indicates the cost of using the @open command to open a new exit. If a destination for the new exit is specified and the link is successful, then the link_cost is also charged. See also: @open, link_cost. & opt_frequency Config parameter: opt_frequency <number>. Default: 0 Indicates the frequency of optimized database dumps. An optimized dump reorganizes the GDBM database, which speeds access times and minimizes the disk space it uses. However, optimized dumps take longer than standard dumps; the difference with large databases can be perceptible. Thus, you might want to optimize only once every N dumps, where N is the value of this parameter. This feature is disabled by default. & output_limit Config parameter: output_limit <amount>. Default: 16384 Indicates the maximum number of characters that a connected player may have queued for output. As queued output is normally transmitted once each second, this parameter limits the amount of output that can be generated by a single command or a set of commands executed in rapid succession. It also prevents the output queues from growing without limit when the network does not accept new output on a particular connection or connections. If new output would cause the amount of queued output to exceed this parameter, the oldest pending output is discarded until the amount of pending output is less than this parameter. & page_cost Config parameter: page_cost <amount>. Default: 10 Specifies the cost of using the page command. See also: page. & page_requires_equals Config parameter: page_requires_equals <yes/no>. Default: No If this parameter is enabled, the 'page' command must always contain an equals sign. In other words, while 'page <message>' is normally valid syntax to page the last person that you paged, when this parameter is enabled, 'page =<message>' is required. This is useful for preventing embarassing mispages caused by typing, for example, an '-' by accident instead of '='. & paranoid_allocate Config parameter: paranoid_allocate <yes/no>. Default: No Controls whether or not the game performs a consistency check on the entire set of xbuf buffers each time one is allocated or freed. This check involves making sure that nobody has written to the memory immediately before and after each buffer. Normally, only the buffer being allocated or freed is checked. & paycheck Config parameter: paycheck <amount>. Default: 0 Specifies the default amount of money that players receive each day they connect. This parameter may be overridden by setting the ALLOWANCE attribute on the player to a different value. See also: @allowance, earn_limit, starting_money. & pemit_any_object Config parameter: pemit_any_object <yes/no>. Default: No Indicates whether or not players may @pemit to faraway objects they do not control. It does not affect @pemits to faraway players, the pemit_far_players directive is used for that purpose. See also: pemit_far_players. & pemit_far_players Config parameter: pemit_far_players <yes/no>. Default: No Controls whether or not players may use the @pemit command to send messages to other connected players that are not in the same room. The rules and costs for this form of @pemit are the same as for page. See also: pemit_any_object. & permit_site Config parameter: permit_site <site notation> Indicates that connections are to be accepted and registration is not to be enforced from sites whose addresses match the specified notation. This directive is typically used to enable connections from a few selected hosts or subnets that would otherwise be disallowed by a forbid_site directive. The default is all sites permitted, none forbidden. See also: badsite_file, forbid_site, register_site, SITE LISTS. & player_aliases_limit Config parameter: player_aliases_limit <number>. Default: 10 This config parameter limits the maximum number of aliases that a player can set on himself, via the @alias command. & player_attr_defaults Config parameter: player_attr_defaults <dbref>. Default: Nothing If this parameter is set, every object of type PLAYER will use the attributes on the specified object as "attribute defaults". See 'wizhelp attribute defaults' for additional information. & player_flags Config parameter: player_flags <flags>. Default: blank Modifies the set of flags that a player receives when it is created via the @pcreate command or via the connection screen. Flags prefixed by a ! remove the indicated flag from the set. See also: @list, exit_flags, robot_flags, room_flags, thing_flags. & player_listen Config parameter: player_listen. Default: No Indicates whether the Listen, Aahear, Ahear, and Amhear attributes on player objects are to be obeyed. & player_match_own_commands Config parameter: player_match_own_commands <yes/no>. Default: No Specifies whether or not players should check themselves for $-commands. This parameter is only checked if the match_own_commands parameter is set to yes. See also: match_own_commands. & player_name_spaces Config parameter: player_name_spaces <yes/no>. Default: Yes Specifies whether or not player names are permitted to contain spaces. & player_queue_limit Config parameter: player_queue_limit. Default: 100 Sets the maximum number of commands that non-wizard players may have on the queue at one time. An attempt to queue more commands than allowed will halt the object performing the command. & player_parent Config parameter: player_parent <dbref>. Default: Nothing If this parameter is set, every object of type PLAYER will have the specified object as a parent. See also: room_parent, exit_parent, thing_parent. & player_proto Config parameter: player_proto <dbref>. Default: Nothing If this parameter is set, every object of type PLAYER will be created with the same flags, parent, and zone (if the autozone param is not set to 'yes') as the specified object. That object's attributes will also be copied to the newly-created object. This supersedes the value of player_parent, player_flags, or robot_flags, if set. See also: room_proto, exit_proto, thing_proto. & player_quota Config parameter: player_quota <amount>. Default: 1 Sets how much quota it costs to create a robot player (and also how much the remaining quota is increased when a robot is @destroyed. See also: @quota, exit_quota, room_quota, thing_quota, QUOTAS. & player_starting_home Config parameter: player_starting_home. Default: <player_starting_room> Specifies the room to which the home of new players is set. If this parameter has not been set, then the value of the player_starting_room parameter is used instead. See also: default_home, player_starting_room, @pcreate, player_flags. & player_starting_room Config parameter: player_starting_room. Default: 0 Specifies the room that new players start out in. If the player_starting_home parameter has not been set, then player_starting_room is used for both. See also: player_starting_home, @pcreate, player_flags. & port Config parameter: port <port>. Default: 6250 Specifies the IP port on which the game listens for new connections. & postdump_message Config parameter: postdump_message <message>. Default: blank Sets the message that is sent to everyone after a database dump whether automatically or via the @dump command. See also: @dump, dump_message. & power_access Config parameter: power_access <power name> <access> Changes who can set a power. See 'wizhelp flag_access' for a list of possible permission types. See also: flag_access, @list powers, PERMISSIONS. & power_alias Config parameter: power_alias <alias> <powername>. Defines <alias> as a synonym for the power <powername>. & public_calias Config parameter: public_calias <channel alias>. Default: pub Specifies the default alias for the public channel. When new players join that channel, this is the default command for talking on that channel. The channel must have been previously created. See also: guests_calias, guests_channel, public_channel. & public_channel Config parameter: public_channel <name>. Default: Public Specifies the name of the channel that new players join when they are created. You must have previously created the channel. To disable this feature, simply set this parameter to nothing. See also: guests_calias, guests_channel, public_calias. & public_flags Config parameter: public_flags <yes/no>. Default: Yes If enabled, indicates that players may get the flags of any object with the flags() function call. Otherwise, they may only get the flags for objects that are examinable by them. See also: flags(). & pueblo_message Config parameter: pueblo_message <string>. The default for this is: </xch_mudtext><img xch_mode=html><tt> This is the message which is sent to Pueblo client users when they first send a PUEBLOCLIENT command. & queue_active_chunk Config parameter: queue_idle_chunk <num>. Default: 0 Specifies the number of commands to be run from the player queue when the check for network traffic indicates that there is data needing to be read from or written to the network. See also: queue_idle_chunk. & queue_idle_chunk Config parameter: queue_idle_chunk <num>. Default: 3 Specifies the number of commands to be run from the player queue when the check for network traffic indicates that there is no data needing to be read from or written to the network. See also: queue_active_chunk. & quiet_look Config parameter: quiet_look <yes/no>. Default: No Indicates whether or not players are shown the attributes set on an object when they look at it. Not recommended. & quiet_whisper Config parameter: quiet_whisper <yes/no>. Default: Yes Indicates whether or not whispers are completely invisible except to the whispered-to player, or if a '<whisperer> whispers something to <recipient>.' message is displayed to everyone else in the same room. See also: whisper. & quit_file Config parameter: quit_file <filename>. Default: text/quit.txt Specifies the name of the file that is displayed to users after they QUIT but before the network connection is closed. See also: QUIT, @readcache. & quota_cost Config parameter: quota_cost <amount>. Default: 1 Indicates how much adding one object to the database charges against the player's quota. See also: @create, @destroy, @dig, @open, @quota, QUOTAS. & quotas Config parameter: quotas <yes/no>. Default: No Indicates whether or not building quotas are enforced and maintained. Quotas are stored as a relative number, ie. number of objects that the player may create, not the total number that the player may create. If quotas are turned off and turned back on later, any building or @destroying that occurs in the interim does not affect the quotas. Players have a total quota (the number of objects total they may own on the database), as well as quotas for each individual type, which restrict the number of objects of each type that a player may own. See also: @create, @destroy, @dig, @open, @quota, QUOTAS, quota_cost. & raw_helpfile Config parameter: raw_helpfile <command> <path>. Default: none This works identically to the 'helpfile' configuration directive, except helpfiles specified in this manner do not have their text evaluated (i.e., percent substitutions and the like are not parsed). See also: helpfile & read_remote_desc Config parameter: read_remote_desc <yes/no>. Default: No Indicates whether or not the descriptions of faraway objects are available to players that don't control them via the examine command and get() function. See also: examine, get(). & read_remote_name Config parameter: read_remote_name <yes/no>. Default: No Indicates whether or not the names of faraway objects are available to players that don't control them via the examine command and get() function. See also: examine, get(). & recycling Config parameter: recycling <yes/no>. Default: Yes Indicates whether or not object destruction, recycling, reuse is enabled. Don't change it. & register_create_file Config parameter: register_create_file <filename>. Default: text/create_reg.txt Specifies the name of the file that is shown to players who attempt to create a new character when registration is in force from their site. See also: @list_file, @readcache, register_site. & register_site Config parameter: register_site <site notation> Indicates that registration is to be enforced for sites whose address falls within the specified address range. See also: forbid_site, permit_site, REGISTRATION, SITE LISTS. & require_cmds_flag Config parameter: require_cmds_flag <yes/no>. Default: Yes Indicates whether or not the COMMANDS flag has to be set in order for $-commands to be checked on an object. Older versions of MUSH don't require it to be set. However, it can be considerably more efficient to require it. & retry_limit Config parameter: retry_limit <count>. Default: 3 Specifies the number of times that a user is allowed to try to connect to an existing player before being disconnected. See also: conn_timeout. & robot_cost Config parameter: robot_cost <amount>. Default: 1000 Specifies the cost of using the @robot command to create a robot. See also: @robot, ROBOT. & robot_flags Config parameter: robot_flags <flags>. Default: ROBOT Modifies the set of flags that a robot receives when it is created via the @robot command. Flags prefixed by a ! remove the indicated flag from the set. See also: @list, exit_flags, player_flags, room_flags, thing_flags. & robot_speech Config parameter: robot_speech: <yes/no>. Default: Yes Indicates whether or not robot characters are allowed to use the speech, pose, and emit commands in areas not controlled by their owner. See also: @robot, ROBOT. & room_attr_defaults Config parameter: room_attr_defaults <dbref>. Default: Nothing If this parameter is set, every object of type ROOM will use the attributes on the specified object as "attribute defaults". See 'wizhelp attribute defaults' for additional information. & room_flags Config parameter: room_flags <flags>. Default: blank Modifies the set of flags that a room receives when it is @dug. Flags prefixed by a ! remove the indicated flag from the set. See also: @list, exit_flags, player_flags, robot_flags, thing_flags. & room_parent Config parameter: room_parent <dbref>. Default: Nothing If this parameter is set, every object of type ROOM will have the specified object as a parent. See also: player_parent, exit_parent, thing_parent. & room_proto Config parameter: room_proto <dbref>. Default: Nothing If this parameter is set, every object of type ROOM will be created with the same flags, parent, and zone (if the autozone param is not set to 'yes') as the specified object. That object's attributes will also be copied to the newly-created object. This supersedes the value of room_parent or room_flags, if set. See also: player_proto, exit_proto, thing_proto. & room_quota Config parameter: room_quota <amount>. Default: 1 Sets how much quota it costs to dig a room (and also how much the remaining quota is increased when a room is @destroyed. See also: @quota, exit_quota, player_quota, thing_quota, QUOTAS. & rwho_data_port Config parameter: rwho_data_port <number>. Default: 0 Sets the port number that is used to retrieve RWHO information from the remote RWHO server in response to a user entering the RWHO command. If zero, the RWHO command is disabled. Use of this parameter is *STRONGLY* discouraged unless you are on the same local network as the RWHO server, as network problems and delays will hang the MUSH, affecting all connected users. Support for the RWHO command is a compile-time option. See also: RWHO, rwho_host. & rwho_dump_interval Config parameter: rwho_dump_interval <secs>. Default: 241 Sets the number of seconds between RWHO dumps, during which the MUSH sends an 'I am alive' message and a list of all connected users to the remote RWHO server. See also: mud_name, rwho_host, rwho_info_port, rwho_password, rwho_transmit. & rwho_host Config parameter: rwho_host <hostname/ip_address>. Default: 36.21.0.69 Sets the host name or IP address of the remote RWHO server. See also: mud_name, rwho_data_port, rwho_info_port, rwho_password, rwho_transmit. & rwho_info_port Config parameter: rwho_info_port <number>. Default: 6888 Sets the port number to be used when sending data to the remote RWHO server. See also: mud_name, rwho_host, rwho_password, rwho_transmit. & rwho_password Config parameter: rwho_password <string>. Default: something wrong. Sets the password that is used when sending data to a remote RWHO server. You must receive the value for this parameter from the administrator of the RWHO server that you are using. See also: mud_name, rwho_host, rwho_info_port, rwho_transmit. & rwho_transmit Config parameter: rwho_transmit <yes/no>. Default: No Indicates whether or not to transmit data to a remote RWHO server. See also: @list, mud_name, rwho_host, rwho_info_port, rwho_password. & sacrifice_adjust Config parameter: sacrifice_adjust <amount>. Default -1. This parameter is part of the formula that is used to determine an object's value given the amount spent on its creation. The formula is: value = (cost / sacrifice_factor) + sacrifice_adjust. The inverse formula is used to determine how much the owner receives when @destroying an object. See also: @create, @destroy, SACRIFICING, sacrifice_factor. & sacrifice_factor Config parameter: sacrifice_factor <amount>. Default 5. This parameter is part of the formula that is used to determine an object's value given the amount spent on its creation. The formula is: value = (cost / sacrifice_factor) + sacrifice_adjust. The inverse formula is used to determine how much the owner receives when @destroying an object. See also: @create, @destroy, SACRIFICING, sacrifice_adjust. & safer_passwords Config parameter: safer_passwords <yes/no>. Default: No If this configuration parameter is enabled, player passwords are required to have at least one uppercase letter, at least one lowercase letter, and at least one number or symbol that is not the apostrophe (') or dash (-). Passwords of this type are less easily compromised using a brute-force password-cracker. & say_uses_comma Config parameter: say_uses_comma <yes/no>. Default: No If this configuration parameter is enabled, the grammatically-correct comma is prepended for says. Historically, TinyMUD-based servers have used 'You say "<message>"' and '<name> says "<message>"' rather than 'You say, "<message>"' and '<name> says, "<message>"'. Set this parameter to 'no' to use the historical behavior. & say_uses_you Config parameter: say_uses_you <yes/no>. Default: Yes If this configuration parameter is enabled, everyone, including the originator of speech, sees '<name> says, "<message>"', rather than the originator seeing 'You say, "<message>". Historically, TinyMUD-based servers have used 'You say "<message>"'. This is, however, inconvenient when one wishes to pass along logs of MUSH activities to others, and users may prefer the consistency. & search_cost Config parameter: search_cost <amount>. Default: 100 Specifies how much commands that scan the entire database (such as @find, @search, and stats with a playername) cost. See also: stats, @find, @search. & see_owned_dark Config parameters: see_owned_dark <yes/no>. Default: Yes Specifies whether or not players see their own DARK objects when they look at a room. It does not affect the inventory or examine commands, both of which show all objects. & signal_action Config parameter: signal_action <default|exit>. Default: default Specifies what action to take when a fatal signal is received. The possibilities are: default - Log the error, produce a panic dump, dump a core file, and restart the game using the last reliably saved database. For a description of the restart process, see @restart. exit - Log the error, and exit, hopefully with a core file. & OLD_signal_action Config parameter: signal_action <default|resignal|retry>. Default: default Specifies what action to take when a fatal signal is received. The possibilities are: default - Don't catch fatal signals. Nothing will be cleaned up and a coredump will be produced. resignal - Log the error, produce a panic dump, close all files and network connections, and resignal the signal from the signal handler. The second instance of the signal will produce a coredump, although the portion of the stack before the signal may be unreadable. retry - Log the error, produce a panic dump, close all files and network connections, and return to the point where the signal originated. Retrying the failed operation should produce a coredump, although the stack may or may not be readable. & site_chars Config parameter: site_chars <number>. Default: 25 Specifies how many characters of a site name are displayed in WHO for Wizards and other privileged users. & space_compress Config parameter: space_compress <yes/no>. Default: Yes Specifies whether or not extra spaces are to be removed from user input as it is processed. If enabled, multiple spaces are compressed to a single space, and spaces at the ends of strings are removed. & sql_database Config parameter: sql_database <database name>. Default: <null> Specifies the name of the SQL database that contains the tables relevant to the MUSH. & sql_host Config parameter: sql_host <hostname>. Default: 127.0.0.1 Specifies the hostname of the machine that the external SQL database is located on. "localhost" is used as a keyword; if this is specified, a connection will be made to the SQL database on the local server (i.e., the same machine that the MUSH is running on), via a Unix domain socket. To connect to a database on the local host via a network socket, specify 127.0.0.1 (which is the IP address of localhost) instead. & sql_username Config parameter: sql_username <username>. Default: <null> Specifies the username if required to connect to the SQL database server. If not specified, the database server may assume you wish to connect as the user that owns the mush server process. & sql_password Config parameter: sql_password <password>. Default: <null> Specifies the password if required to connect to the SQL database server. & sql_reconnect Config parameter: sql_reconnect <yes/no>. Default: no Specifies whether or not the MUSH should automatically attempt to connect to the external SQL database (if one is being used), if a query is made against it. If this parameter is 'no', then no attempt will be made and the query attempt will return an error. If this parameter is 'yes', then a connection attempt will be made and the query will be executed if the connection is successful. Note that this is true even if a @sqldisconnect has been done (i.e., doing a query does the equivalent of a @sqlconnect if no connection is open). & starting_money Config parameter: starting_money <amount>. Default: 0 Sets the amount of money that new players start out with. See also: paycheck. & starting_quota Config parameter: starting_quota <amount>. Default: 20 Sets the building quota that players receive when they are created, whether by @pcreate or the connection screen. See also: @quota, quotas. & starting_room_quota Config parameter: starting_room_quota <amount>. Default: 20 Sets the room quota that players receive when they are created, whether by @pcreate or the connection screen. & starting_exit_quota Config parameter: starting_exit_quota <amount>. Default: 20 Sets the exit quota that players receive when they are created, whether by @pcreate or the connection screen. & starting_thing_quota Config parameter: starting_thing_quota <amount>. Default: 20 Sets the thing quota that players receive when they are created, whether by @pcreate or the connection screen. & starting_player_quota Config parameter: starting_player_quota <amount>. Default: 20 Sets the player quota that players receive when they are created, whether by @pcreate or the connection screen. & status_file Config parameter: status_file <filename>. Default: shutdown.status If you give an argument to the @shutdown command, that argument is written out to the file named by this directive. The file can be used by an auto-restart script to decide whether or not to bring the mush back up, for instance. & stripped_flags Config parameter: stripped_flags <flags>. Default: Blind, Connected, Gagged, Head, Immortal, Inherit, Royalty, Slave, Staff, Stop, Suspect, Uninspected, Wizard Modifies the set of flags that are stripped from an object when it is @chown'd, and that are stripped from the copy when an object is @clone'd. See also: exit_flags, player_flags, robot_flags, room_flags, thing_flags. & suspect_site Config parameter: suspect_site <site notation> Indicates that sites whose address falls within the specified address range are to be considered suspect, and any player creates, connects and disconnects are to be reported to all logged-in wizards. See also: trust_site, SITE LISTS. & sweep_dark Config parameter: sweep_dark <yes/no>. Default: No Indicates whether or not players are allowed to @sweep dark places they do not control. See also: @sweep. & switch_default_all Config parameter: switch_default_all <yes/no>. Default: Yes Indicates whether the @switch command should perform the commands for all targets that match or just the first one that matches if you don't specify either /all or /first as a command switch. & terse_shows_contents Config parameter: terse_shows_contents <yes/no>. Default yes Indicates whether or not to suppress the listing of a location's contents when producing TERSE output (whether from an automatic look or a 'real' look if look_obey_terse is turned on. See also: look_obey_terse, terse_shows_exits, terse_shows_move_messages. & terse_shows_exits Config parameter: terse_shows_exits <yes/no>. Default yes Indicates whether or not to suppress the listing of a location's obvious exits when producing TERSE output (whether from an automatic look or a 'real' look if look_obey_terse is turned on. See also: look_obey_terse, terse_shows_contents, terse_shows_move_messages. & terse_shows_move_messages Config parameter: terse_shows_move_messages <yes/no>. Default yes Indicates whether or not to suppress messages related to moving about produced by locations and exits. These messages are the ENTER and LEAVE messages on locations, and the SUCC and DROP messages on exits. The messages seen by others (Oxxx attributes) and the actions to be performed (Axxx attributes) are unaffected. See also: look_obey_terse, terse_shows_contents, terse_shows_exits. & thing_attr_defaults Config parameter: thing_attr_defaults <dbref>. Default: Nothing If this parameter is set, every object of type THING will use the attributes on the specified object as "attribute defaults". See 'wizhelp attribute defaults' for additional information. & thing_flags Config parameter: thing_flags <flags>. Default: blank Modifies the set of flags that a thing receives when it is @created. Flags prefixed by a ! remove the indicated flag from the set. See also: @list, exit_flags, player_flags, robot_flags, room_flags. & thing_parent Config parameter: thing_parent <dbref>. Default: Nothing If this parameter is set, every object of type THING will have the specified object as a parent. See also: player_parent, room_parent, exit_parent. & thing_proto Config parameter: thing_proto <dbref>. Default: Nothing If this parameter is set, every object of type THING will be created with the same flags, parent, and zone (if the autozone param is not set to 'yes') as the specified object. That object's attributes will also be copied to the newly-created object. This supersedes the value of thing_parent or thing_flags, if set. See also: player_proto, room_proto, exit_proto. & thing_quota Config parameter: thing_quota <amount>. Default: 1 Sets how much quota it costs to create a thing (and also how much the remaining quota is increased when a thing is @destroyed. See also: @quota, exit_quota, player_quota, room_quota, QUOTAS. & timeslice Config parameter: timeslice <amount>. Default: 1000 Specifies the interval at which connected users' command quotas are increased. Each command a user types in (commands executed by machines do not count) decreases that user's quota by 1, and the user's commands are only executed if the quota is greater than zero. See also: command_quota_incr, command_quota_max. & trace_output_limit Config parameter: trace_output_limit <amount>. Default: 200 Specifies the maximum number of lines of trace output that will be displayed when using top-down format. Bottom-up format output is not affected by this parameter. Note that this parameter is intended as a limit on the amount of memory used to store intermediate data and not on the quantity of trace output, top-down format needs to keep all intermediate results in memory before displaying them, while bottom-up format displays them immediately after generating them. When trace output lines are discarded, only the last (trace_output_limit) lines are kept. These lines contain information about the evaluations done earliest in the process of evaluating the expression (usually the innermost evaluations and earlier arguments of outer functions). & trace_topdown Config parameter: trace_topdown <yes/no>. Default: Yes Specifies whether TRACE output is displayed top-down (complete evaluation shown first, followed by sub-evaluations), or bottom-up (sub-evaluations shown first, followed by the larger evaluation of which they are a part). & trust_site Config parameter: trust_site <site notation> Indicates that sites whose addresses fall within the specified address range are not to be considered suspect. See also: suspect_site, SITE LISTS. & typed_quotas Config parameter: typed_quotas <yes/no>. Default: No Indicates whether or not quotas are managed by type. If this is not on, then only total quota will be checked; otherwise, players must have both enough total quota and quota for that specific object type, in order to build more of that object type. If this is 'yes', then the config parameter "quotas" should also be 'yes'. & unowned_safe Config parameter: unowned_safe <yes/no>. Default: No Indicates whether or not objects not owned by you are automatically considered SAFE. (This parameter only affects wizards) Note that players are always considered SAFE, and DESTROY_OK things are never considered SAFE. See also: @destroy, DESTROY_OK, SAFE. & use_global_aconn Config parameter: use_global_aconn <yes/no>. Default: Yes Indicates whether or not objects in the master room should be searched for @aconnect and @adisconnect attributes whenever a player logs in or out. If enabled, each object in the master room is searched for the appropriate attribute at login/logout time. Attributes found are triggered by the player, just as their local @aconnect/@disconnect attributes would be. & user_attr_access Config parameter: user_attr_access [!]<privilege> [[!]<privilege>]... Changes the flags that new user-named attributes receive when they are created. By default, user attributes get no flags; this means that they default to being private. See 'help @set' and 'wizhelp attr_access' for the available privileges. & visible_wizards Config parameter: visible_wizards <yes/no>. Default: No If this parameter is enabled, wizards who are set DARK only disappear from the WHO listing (and other ways of detecting who is connected, such as the lwho() function) -- they do not disappear from the contents of rooms, nor are they silent when they move. This is useful if one wants to prevent wizards from accidentally (or deliberately) spying on players who are unaware of their presence. & wait_cost Config parameter: wait_cost <amount>. Default: 10 Sets the amount of money that it costs to run the @wait command and other actions that add commands to the queue. The money is refunded when the command is removed from the queue (either when it is executed or by @halt). See also: @wait. & wildcard_match_limit Config parameter: wildcard_match_limit <number>. Default: 25000 This sets the maximum number of times that the wildcard and regular expression matching routines recurse, before returning a failure to match the string. Essentially, this prevents the server from hanging for long periods of time on unusually bad combinations of wildcard-heavy patterns and strings. This is a parameter that you are unlikely to need to change from the default. & wizard_obeys_linklock Config parameter: wizard_obeys_linklock <yes/no>. Default: No Controls whether or not wizards can link to anything, regardless of whether or not it has a linklock. & wizard_motd_file Config parameter: wizard_motd_file <path>. Default: text/wizmotd.txt Specifies the name of the file that contains the wizard MOTD message that is displayed to wizards when they log in. This message is displayed in addition to the wizard MOTD message that is set by the @motd/wiz command or the wizard_motd_message config parameter. The contents of the file are read in to a cache when the game is started and whenever a @readcache command is executed. See also: @readcache, wizard_motd_message. & wizard_motd_message Config parameter: wizard_motd_message <message>. Default: blank Sets the wizard MOTD message that is displayed to wizards when they log in. This message is displayed in addition to the contents of the wizmotd.txt file. It can be changed with the @motd/wiz command and examined by the @listmotd command. See also: @listmotd, @motd, motd_message, wizard_motd_file. & CAUTIONS Topic: CAUTIONS The @force command evaluates its argument before putting it on the queue. Therefore, any ';' characters resulting from the evaluation that are outside of any nested delimiters will cause what follows to be treated as a separate command. & CONTACT INFO Topic: CONTACT INFO Put information about how to contact the wizards and game maintainer in here so they can contact one another when the game is down. & DEBUG FEATURES & FILES Topic: FILES TinyMUSH uses these files (normally kept in the same directory as the database files and the netmush program) to display information under certain circumstances. The names of the files used can be changed with configuration directives (or on the netmush command line, in the case of netmush.conf). badsite.txt: Displayed when someone connects from a site that is not allowed to connect. The connection is then closed. connect.txt: Displayed when someone connects from a site for which registration is not enabled. create_reg.txt: Displayed when someone tries to 'create' a character from a site for which registration is enforced. down.txt: Displayed when someone tries to connect to a non-wizard character when logins are disabled. guest.txt: Displayed to whoever connects to the guest character(s) specified by the guests config parameter. { 'wizhelp files2' for more } & files2 motd.txt: Displayed after someone connects to an existing character. netmush.conf: Configuration directives read at startup. newuser.txt: Displayed after someone creates a new character or connects to their character for the first time. quit.txt: Displayed after someone QUITs but before the net connection is closed. register.txt: Displayed when someone connects from a site for which registration is enabled. wizmotd.txt: Displayed to wizards when they connect to their characters. See also: helpfile, badsite_file, connect_file, connect_reg_file, down_file, guest_file, motd_file, newuser_file, quit_file, register_create_file, wizard_help_file, wizard_motd_file. & INHERITANCE XXXX & LOGGING XXXX & PERMISSIONS Topic: PERMISSIONS Access to many MUSH features is controlled by a set of permissions, which can usually be changed via the configuration file or the @admin command. This is a list of the valid permissions and their meanings. god - Requires the GOD player (normally #1). +wizard - Requires the WIZARD flag. +admin - Requires the WIZARD or ROYALTY flags. +immortal - Requires the IMMORTAL flag. +staff - Requires the STAFF flag. +head - Requires the HEAD flag. +builder - Requires the Builder power. +sql_ok - Requires the SQL_Ok power. +marker0 - Requires the MARKER0 flag (whatever it is named locally). +marker1 - Like marker0. (Also for marker2 through marker9.) { 'wizhelp permissions2' for more } & permissions2 no_haven - Only players who are not set HAVEN may use this feature. no_robot - Robots may not use this feature. no_gagged - Gagged players (GAGGED bit) may not use this feature. no_slave - Slave players (SLAVE bit) may not use this feature. no_suspect - Suspect players (SUSPECT bit) may not use this feature. no_guest - Guest players (guest_character config directive) may not use this feature. global_build - This feature may only be used when the global building flag is turned on. global_interp - This feature may only be used when the global interpretation flag is turned on. disabled - Nobody may use this feature. need_location - Only players and things may use this feature. need_contents - Only players, things, and rooms may use this feature. need_player - Only players may use this feature. Restrictions are normally additive (meaning that you must be a member of all required groups and not be a member of any excluded group). The permissions marked with a + are different, in that if more than one is required, then being a member of any + group will grant access to the feature and skip the remaining checks. & SEARCH CRITERIA Topic: SEARCH CRITERIA The following criteria may be used when searching the database with the @search and @mark commands: Syntax: {@mark|@search} [<player>] [<class>=<restriction>] <player> - Restricts to objects owned by the named player. By default, the search is limited to objects owned by the invoking player, except when searching for players or if the invoking player is a wizard. { 'wizhelp search criteria2' for more } & search criteria2 The following classes may be used when searching: TYPE - Restricts to objects of the indicated type (OBJECTS, ROOMS, EXITS, PLAYERS). NAME - Restricts to objects whose names start with <restriction>. OBJECTS - A combination of TYPE=OBJECT and NAME=<restriction> ROOMS - A combination of TYPE=ROOM and NAME=<restriction> EXITS - A combination of TYPE=EXIT and NAME=<restriction> PLAYERS - A combination of TYPE=PLAYER and NAME=<restriction> FLAGS - Restricts to objects which have the flags listed in <restriction> set. See also: @mark, @search. & SITE LISTS Topic: SITE LISTS There are two site lists, one for controlling access and registration, and one for suspect warning. The first list is controlled by the forbid_site, permit_site, and register_site parameters, the second by the suspect_site and trust_site parameters. The syntax of these parameters is: <param-name> <address> <mask>, or <param-name> <IP prefix> where: Address - Four-part decimal Internet address, specified as a.b.c.d, of the host or network to which this parameter applies. Mask - Four-part decimal Internet address, specified as a.b.c.d The mask is used to determine which parts of the address are to be used for comparison, it is ANDed with both the address of the host and the address in the directive. OR IP Prefix - CIDR IP prefix notation ("slash notation"), specified as a.b.c.d/maskbits. See RFCs 1517-1520 for more information. Continued in 'wizhelp site lists2'. & site lists2 Conversion can be made between old-style classful addresses and modern CIDR IP prefix notation by looking at RFC 1878, Variable Length Subnet Table for IPv4. For easy reference, a single address is a /32, a Class C network is /24, a Class B network is /16, and a Class A network is /8. The parameters are applied in the order specified in the configuration file, and the first one that matches is used. Therefore, you should put the more-specific parameters before the more general ones. Additions made to the lists after startup with the @admin command are put at the front of the list, and are checked before entries from the config file and previous entries made by the @admin command. Continued in 'wizhelp site lists3'. & site lists3 Example: Restricting Access register_site 135.246.4.40 255.255.255.255 <- Allow this site w/reg forbid_site 135.246.4.0 255.255.255.0 <- Disallow a class C subnet permit_site 135.246.0.0 255.255.0.0 <- Permit a class B network register_site 195.3.17.1 255.255.255.255 <- Permit this site w/reg. forbid_site 0.0.0.0 0.0.0.0 <- DIsallow everyone else These directives only allow access from 135.346.*.* and 195.3.17.1, except that all hosts in the 135.246.4 subnet except for 135.246.4.40 are also not allowed access. People connecting from 135.246.4.40 and 195.3.17.1 are not allowed to create their own characters (registration is enabled for those sites), while people connecting from elsewhere on the 135.246 net are allowed to create their own characters. The addresses above may be written, in CIDR IP prefix notation, as 135.246.4.40/32, 135.246.4.0/24, 135.246.0.0/16, and 195.3.17.1/32, and 0.0.0.0/0, respectively. See also: @admin, @list site_information, forbid_site, permit_site, register_site, suspect_site, trust_site. & register_limit Config directive: register_limit <count>. Default: 50 Specifies the maximum number of named global registers that a single action list can define via setq() and related functions. & instance_limit Config directive: instance_limit <count>. Default: 100 Specifies the maximum number of structure instances that a single object can have created via construct() and load(). & structure_limit Config directive: structure_limit <count>. Default: 100 Specifies the maximum number of structure definitions that a single object can have declared via structure(). & stack_limit Config directive: stack_limit <count>. Default: 50 Specifies the maximum number of data items on an object stack. Attempts to push more items than this will fail silently. & variables_limit Config directive: variables_limit <count>. Default: 50 Specifies the maximum number of variables that may be associated with a given object. Attempts to set more than this will fail silently. & zone_recursion_limit Config directive: zone_recursion_limit <count>. Default: 20 Sets the maximum of ZMOs in a zone chain to check for zone functionality. & @listcommands Command: @listcommands [<name>] Lists commands added by @addcommand. With <name> specified, lists all commands added under that particular command name. Without it, lists all added commands. See also: @addcommand, @listcommands.