& help This is the MUX 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 accessable to characters whose WIZARD bit is set, or to those who have access to the directory where the MUX data files reside. Syntax of help command: wizhelp [<command/topic>] To get a list of MUX wizard topics: wizhelp topics To get a list of MUX wizard commands: wizhelp commands If there are any errors in the help text, please notify a Wizard. See also: help. & commands Help is available for the following MUX commands: DOING examine give SESSION slay WHO wizhelp @addcommand @admin @apply_marked @attribute @boot @chown @chownall @clone @cut @dbck @dbclean @delcommand @destroy @disable @doing @dump @enable @fixdb @function @halt @kick @list @listcommands @list_file @listmotd @lock @log @mark @mark_all @motd @newpassword @pcreate @poor @ps @quota @readcache @restart @shutdown @startslave @timecheck @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 Information is available on the following flags: INHERIT(i) MARKED(m) STARTUP(z) SUSPECT(u) WIZARD(W) & examine Command: examine[/<switches>] [<object>] Wizards may use the /debug switch to see additional information about the object. The Owner, Exits, Next, and Contents fields of the object are shown in numeric form only, and an attribute list is included. & give Command: give[/<switches>] <who> = <what> Wizards may use the /quiet switch to suppress the 'You give X to P' and 'P gave you X' messages. Other messages related to giving objects (such as the xDROP and XSUCC attributes on the object being given, or error messages) are not suppressed. & SESSION Command: SESSION <prefix> The SESSION command displays character input and output information for all connected players, or just those who match <prefix>. This command can be used to help identify network problems as follows: - A nonzero Input Pending count can indicate indicate typeahead or a client program dumping commands faster than the command scheduling parameters let them be executed. Telnet sessions in character mode also show up with positive Input Pending counts when the player is in the middle of typing a command. - A nozero Input Lost count means that the player has typed a line longer than what the MUX can handle. This usually indicates a problem with the player's client or terminal (a stuck key). - A persistently large Output Pending count can indicate netlag between the host site and the player's site, or merely that the player has performed a command that generated a lot of output which hasn't been sent yet. - A nonzero Output Lost count usually means that the player performed a command that produced more output than the output buffer could hold. It may also indicate network problems or that the player is generating output faster than the network or his client can process it. & 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: 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 bwtween 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_dark_wiz 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_dark_wiz. & 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 <name>=<thing>/<attribute> This command has the capability of adding a softcoded command to the MUX'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. As in look's case, the aliases 'l', 'lo', and 'loo', and the main command 'look' will all point to these softcoded commands. The syntax of <thing>/<attribute> is like any normal $command. For example: > &LOOK me=$look:say I looked here! > &LOOK_WITH_ARG me=$look *:say I looked at %0! > &LOOK_OUTSIDE me=$look/outside *:say I looked outside at %0! > @addcommand look=me/look > @addcommand look=me/look_with_arg > @addcommand look=me/look_outside { 'help @addcommand2' for more } & @addcommand2 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. 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. & @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. & @admin Command: @admin <param>=<value> Sets a TinyMUX 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 its MARK flag set, 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 the MARKED flag to check connectivity. See also: @mark, @mark_all, MARKED. & @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. /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. /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 MUX is restarted. & @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 Command: @chown <object>=<player> Wizards may @chown objects, rooms, and exits to other players. @Chowned objects are set HALT. See also: @chownall. & @clone Command: @clone[/<switches>] <object> Wizards may also specify the /preserve switch, which preserves the original owner of the object in the new copy, instead of creating the copy as being owned by the wizard. & @chownall Command: @chownall <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 HALTED. See also: @chown. & @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 accessable 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. & @dbclean Command: @dbclean This command searches the entire database and removes any stale user-defined attributes. It should be used sparingly, as it may take many minutes to execute, depending upon database size and machine speed. Only God may execute this command. & @destroy Command: @destroy[/<switches>] <object> Players are always considered SAFE. Objects owned by other players are not otherwise treated specially. & @disable Command: @disable <option> Turns off the indicated MUX 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. logins - Allows nonwizard players to connect to their characters. eventchecking - Enables certain attribute events (@daily, etc) to occur. These parameters are all enabled by default. See also: @enable, @list. & @doing Command: @doing[/<switch>] <text> Wizards may use the /header switch to set the Doing header in the WHO report. If no header is specified, the header is reset to "Doing". & @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 or text portions of the database to disk. The default is to write out both the text and structure portions. All of the following switches may by used individually or together: flatfile - Dump an internally consistent flatfile which together with the mail and comsystem databases represent the entire database of game -- useful in a variety of ways including for a backup and for moving from one host to another. structure - Dump the structure portion of the database to a linear human-readable file. text - Ensure that all changes to the text portion of the database are written out to disk. Note that the above structure and text options will cause your database and certain caches to be out of sync. They should NOT be used in the course of normal operation. See also: @admin, @disable, @enable, @list, @shutdown. & @enable Command: @enable <option> Turns on the indicated MUX 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. logins - Allows nonwizard players to connect to their characters. eventchecking - Enables certain attribute events (@daily, etc) to occur. 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> & @function Command: @function[/<switches>] <function>=<object>/<attr> This command displays a list of currently-defined global functions or adds a new 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 no arguments are given, or if the /list switch is given, the command displays a list of the currently-defined global functions. /priviledged functions are indicated with a 'W' and /preserve functions are indicated with a 'p'. If the /privileged switch is given, then the new global 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. The /preserve switch causes r-registers to be preserved across the defined function, so you can feel free to use registers in the code without worrying about them overwriting previous definitions. The function definitions created by @function are not stored in the database so they need to be re-created each time the MUX 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 MUX, but they may be redefined so that they point to an unused attribute. This command may normally only be invoked by player #1. & @halt Command: @halt[/<switches>] [<object>] This command can be used to halt commands being run by a specific object, all commands being run by objects owned by a specific player, or all commands in the game. If <object> is not specified, the object running the command is halted. If the object being halted is a player, then all commands being run by objects owned by that player are halted. Halting an object does not affect commands waiting on it as a semaphore, use the @drain command to reset a semaphore. The /all switch may be used to halt all commands globally. See also: @drain, @notify, kill, HALTED, SEMAPHORES. & @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 bad_names buffers commands costs db_stats default_flags flags functions globals hashstats logging options permissions powers process site_info switches 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 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 TinyMUX the buffer was allocated. & @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 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. If compression is enabled, displays compression statistics as well. & @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. See also: player_flags, thing_flags, room_flags, exit_flags, robot_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 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. idlechecking - Indicates whether or not the inactivity limits are enforced. interpret - Indicates whether or not new commands may be added to the queue. { 'wizhelp @list globals2' for more } & @list globals2 logins - Indicates whether or not nonwizard players are allowed to connect. See also: @dbck, @disable, @enable, @kick, @list permissions, @timewarp, checkpoint, conn_timeout, dump_interval, dump_offset, idle_interval, idle_timeout. & @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 MUX commands Logged-out commands - Commands valid whether or not you are connected (such as WHO and QUIT). Functions - MUX functions, such as rand() and lexits(). Flags - Names of flags. Powers - Names of powers. Attribute names - Object attribute names. Attribute numbers - Object attribute numbers (only used internally). Player names - Names of all players. Net descriptors - Mapping of player DB numbers to net descriptors. News topics - Topics for the news command. Help topics - Topics for the help command. Wizhelp topics - Topics for the wizhelp command. See also: alias, attr_alias, flag_alias. & @list logging Command: @list logging Lists the type of information that is written to the log file and how it is displayed. The following types of information may be logged: accounting - Usage information on player disconnect. all_commands - All commands executed by anyone or anything. bad_commands - Commands that resulted in a 'Huh?' message. buffer_alloc - Allocates and frees of buffers in the buffer pools. bugs - Things that should never happen, but did. checkpoints - Writes of the database to disk. config_changes - Changes in the configuration parameters. create - The creation of new players. killing - Use of the kill command, successful and unsuccessful. logins - Players connecting and disconnecting. network - New and dropped network connections. problems - Database inconsistencies that are found. security - Connect attempts with the wrong password, etc. shouts - Messages sent to all players or all wizards. startup - Events while starting up. wizard - Use of powerful wizard commands, like @toad. { 'wizhelp @list logging2' for more } & @list logging2 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 options Command: @list options Lists the value of many of the configuration parameters. See also: @admin. & @list permissions Command: @list permissions For each command that you are allowed to use, lists the permissions that are needed to execute it. See also: access, attr_cmd_access. & @list powers Command: @list powers Lists the various powers. & @list process Command: @list process Lists information about the running MUX process and its resource usage. The following information is returned: Process number. Pagesize of the system running the MUX, 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. How many file descriptors are available to the MUX. & @list site_information Command: @list site_information Lists the contents of the site access and suspect lists. Address - The address to which this entry applies. Mask - The mask that is ANDed to both the input address and the address in the entry when checking to see if this entry is to be used. 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, suspect_site, trust_site. & @list switches Command: @list switches Lists the commands that support switches as well as the switches that may be used. & @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. & @listmotd Command: @listmotd Lists the current MOTD messages as set by the @motd command. See also: @motd. & @lock Command: @lock <object>=<key> Note that with attribute locking, a WIZARD object can read any attribute of any object, including attributes invisible to players. Player #1 may also make attribute locks of the form <attr-num>:<value> Note that if <attr-num> is not a valid attribute number, the lock will never succeed. & @log Command: @log <file>=<message> This logs the message (without timestamp) to the named file. Pathnames are stripped, and the file resides in mux2.0/game/logs/ The file must already exist for the @log request to succeed, and can only be created at the MUX account shell. & @mark Command: @mark[/<switches>] [<player>] [<class>=<restriction>] Sets or clears the MARKED flags for objects that match the search criteria. This command may only be used when database cleaning is disabled (via @disable cleaning), as cleaning uses the MARKED flag to check connectivity. The following switches are available: /set - (default) Set the MARKED flag on the selected objects. /clear - Clear the MARKED flag on the selected objects. See also: @apply_marked, @mark_all, MARKED, SEARCH CRITERIA. & @mark_all Command: @mark_all[/<switches>] Sets or clears the MARKED flag for all objects in the database. This command may only be used when database cleaning is disabled (via @disable cleaning), as cleaning uses the MARKED flag to check connectivity. The following switches are available: /set - (default) Set the MARKED flag on all objects. /clear - Clear the MARKED flag on all objects. See also: @apply_marked, @mark_all, MARKED. & @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>. & @ps Command: @ps[/<switches>] [<object>] Wizards may also use the /all switch to view the entire queue. See also: @ps (player version). & @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. See also: QUOTAS. & @readcache Command: @readcache Reads the commonly-used text files and help indexes on the game directory into an internal cache, destroying the prior contents of the cache. Use this command whenever you change one of the text of index files in the game directory. Be sure and run mkindx to produce new index files before you run this command. & @restart Command: @restart This command literally restarts the game. To the players, it appears as merely a short pause in the action. There are many reasons to @restart, including updating the source code, freeing built-up memory, etc. @restart dumps and reloads the database, so you cannot use it to change the database. You may recompile and use @restart to implement the changes without having to @shutdown. @restart maintains all connections, any relevant information about them across restarts. Nothing should be adversely affected by an @restart. However, it should be used sparingly due to the tedious nature of dumping and loading the database. NOTE: If you update the MUX binary with an outside binary, you should never overwrite the old one. Instead, you should delete or move it, and place the new binary in its place, for reasons beyond the scope of this document. This warning does not apply if you remake the binary in your game's source directory. Sending the MUX process a SIGUSR1 will duplicate an @restart. & @shutdown Command: @shutdown <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. See also: status_file & @startslave Command: @startslave This command restarts the slave process that does user and hostname lookups. It should only be used it the slave process has locked up or died for some reason. & @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. Note: these flags may be specified together if desired. See also: @list options. & @timecheck Command: @timecheck[/<switches>] An accounting of how much total CPU time has been used to execute commands on each object. Win9x caveat: Win9x does not provide a number of how much CPU time the MUX game server has consumed and so instead of CPU time, we use a high-resolution elapsed time instead. For some CPUs, the resolution of this clock can be as high as the processor itself, but as useful as this is, this accounting does not make a distinction between time spent in the server and time spent in another unrelated application. The command takes the following switches: /screen Print information to the screen. /log Print information to the logfile. /reset 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 /reset is specified. & @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 <youname> <message>). /wizard - Only send the message to connected wizards. /admin - Send the message to connected wizards and royalty. /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. & INHERIT Flag: INHERIT(I) (all types) When set on an object, gives the object access to the WIZARD and IMMORTAL powers that its owner has, and also allows that object to control the player and other INHERIT objects owned by that player. When set on a player, gives all of that player's objects access to the WIZARD and IMMORTAL powers of their owner, and allows them to control the player or any object owned by the player. & MARKED Flag: MARKED(m) (all types) This flag is used by the database cleaning routines to check the connectivity of the database, and also by the @mark commands to select objects for special attention. Since database cleaning is performed automatically from time to time, automatic cleaning must be disabled before using the @mark commands, and the command @mark_all/clear should be run immediately before turning automatic cleaning back on. See also: @apply_marked, @dbck, @disable, @enable, @list, @mark, @mark_all. & STARTUP Flag: STARTUP(z) (all types) This flag is managed internally by the server and it is not directly settable. It indicates whether or not the object has a STARTUP attribute that is to be run when the MUX is booted. This saves a considerable amount of time considering that very few objects have a STARTUP attribute. This flag is set automatically when the STARTUP attribute is set to a non-empty string, and cleared when the STARTUP attribute is removed or set to a null string. See also: @startup. & SUSPECT Flag: SUSPECT(u) (players) When set on a player, causes connects, disconnects, name changes, kills, and attempted kills to be reported to all connected wizards. This flag is only visible and settable by wizards. & WIZARD Flag: WIZARD(W) (all types) A player or object that is set WIZARD controls all of the objects in the database (except for player #1), regardless of their ownership or flags. In general, WIZARDs can do anything using #<number> or *<player>. Wizards can also use many additional commands that are useful for game administration and maintenance. Only player #1 can set or clear this flag. An object owned by a Wizard has wizard privileges only if its WIZARD or INHERIT flag is set, or if the owning Wizard has his INHERIT flag set. See also: CONTROL, INHERIT. & @allowance Attribute: Allowance Command: @allowance <object>[=<amount>] Sets the amount of money that the player receives each day he/she connects to the MUX. 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 MUX. The exits in the master room are checked if a command doesn't match an exit in the player's current room, and the $-commands on the room and its contents. 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, make an exit in the master room that is locked to #0 (or some other impossible lock) and has an appropriate Afail action (and possibly Fail and Ofail messages). 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 $-command every time anyone (or anything) anywhere on the MUX enters an unrecognized command. See also: @link, @lock, @open, master_room. & CONFIG PARAMETERS Topic: CONFIG PARAMETERS The following configuration parameters may be specified in the configuration file, or given to the @admin command. Type 'wizhelp <param>' for help on a particular parameter. access alias allow_guest_from_registered_site attr_access attr_alias attr_cmd_access bad_name badsite_file check_interval check_offset clone_copies_cost comsys_database command_quota_increment command_quota_max compress_program compression concentrator_port config_access conn_timeout connect_file connect_reg_file crash_database create_max_cost create_min_cost dark_sleepers default_home dig_cost down_file down_motd_message dump_interval dump_message dump_offset earn_limit examine_flags examine_public_attrs exit_flags exit_quota events_daily_hour fascist_teleport find_money_chance fixed_home_message fixed_tel_message flag_access flag_alias forbid_site fork_dump fork_vfork full_file full_motd_message function_access function_invocation_limit function_recursion_limit game_dir_file game_page_file good_name guest_char_num guest_file guest_nuker guest_prefix guests_channel have_comsys have_macros have_mailer have_zones help_file help_index hostnames idle_interval idle_timeout idle_wiz_dark include indent_desc initial_size input_database kill_guarantee_cost kill_max_cost kill_min_cost list_access link_cost lock_recursion_limit log log_options logout_cmd_access logout_cmd_alias { 'wizhelp config parameters2' for more } & CONFIG PARAMETERS2 look_obey_terse machine_command_cost mail_database mail_expiration master_room match_own_commands max_cache_size max_players money_name_plural money_name_singular motd_file motd_message mud_name news_file news_index newuser_file notify_recursion_limit open_cost output_database output_limit page_cost paranoid_allocate parent_recursion_limit paycheck pemit_any_object pemit_far_players permit_site player_flags player_listen player_match_own_commands player_queue_limit player_quota player_starting_home player_starting_room plushelp_file plushelp_index port postdump_message public_channel public_flags queue_active_chunk queue_idle_chunk quiet_look quiet_whisper quit_file quotas read_remote_desc read_remote_name register_create_file register_site retry_limit robot_cost robot_flags robot_speech room_flags room_quota sacrifice_adjust sacrifice_factor search_cost see_owned_dark signal_action site_chars space_compress stack_limit starting_money starting_quota suspect_site sweep_dark switch_default_all terse_shows_contents terse_shows_exits terse_shows_move_messages thing_flags thing_quota timeslice trace_output_limit trace_topdown trust_site uncompress_program unowned_safe use_http user_attr_flags wait_cost wizard_help_file wizard_help_index wizard_motd_file wizard_motd_message wiznews_file wiznews_index zone_recursion_limit & 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. & alias Config parameter: alias <new> <old>. Defines the command <new> to be an alias of the command <old>. & allow_guest_from_registered_site Config parameter: allow_guest_from_registered_site. Default: yes. With this option turned off, guests are not permitted to connect from sites which have been register_site'd. Game which use register_site as a more surgical version of forbid_site may be interested in turn this option off. However, game which are register_only will probably want to leave this option as defaulted. See also: register_site, SITE LISTS & attr_access Config parameter: attr_access <attr> [!]<privilege> [[!]<privilege>]... Changes the access rights to the named attribute. The following privileges may be used: private - The attribute is visible only to those who can examine the object. internal - The attribute is not visible to anyone. wizard - Only wizards may change the attribute. hidden - The attribute is visible only to wizards. & 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. & 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 MUX 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. & cache_depth Config parameter: cache_depth <depth>. Default: none. The cache in MUX 2.0 is handled differently and this option does not apply. See also: max_cache_size & cache_trim Config parameter: cache_trim <yes/no>. Default: none. The cache in MUX 2.0 is handled differently and this option does not apply. See also: max_cache_size & cache_width Config parameter: cache_width <depth>. Default: none. The cache in MUX 2.0 is handled differently and this option does not apply. See also: max_cache_size & 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. & 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. & comsys_database Config parameter: comsys_database <path>. Default: comsys.db Specifies the file that comsystem and macro information is stored in. This database is loaded at startup if either have_comsys or have_macros are on. See also: have_comsys, have_macros. & 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. & compress_program Config parameter: compress_program <path>. Default: gzip Specifies the program to be run to compress the database file when it is written. If database file compression is enabled, database dumps are piped through this program on their way out to disk. See also: compresion, uncompress_program. & compression Config parameter: compress <yes/no>. Default: no Indicates whether or not the database is to be compressed using the compress_program when it is written, and whether or not to check for a compressed database to uncompress at startup. See also: compress_program, uncompress_program. & concentrator_port Config parameter: concentrator_port <port number>. Default: 2861 Specifies the port number that the MUX will expect the concentrator to use when it is active. This parameter is meaningless if you do not have concentrator support compiled into the server. & 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. Setting privileges to anything other than disabled or god is meaningless unless the restriction on the @admin command is weakened. See also: @admin, @list config_permissions, 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 MUX 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/register.txt Specifies the name of the file that a user sees immediately after connecting to the MUX 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 & crash_database Config parameter: crash_database <path>. Default: <input db>.CRASH Specifies the name of the database file that should be written when MUX detects an internal error and is about to crash. The file is generated in flatfile format with attribute values included. & 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_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. & 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. & 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: text/down.txt 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, output_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, don't receive insurance payments for being killed, and don't find money lying in the streets. See also: find_money_chance, paycheck. & 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_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_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. & 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 it is executed. This should be a number between 0 and 23. & 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_access Config parameter: flag_access <flag name> <access> Changes who can set a flag. <access> can be: any - Anyone can set this flag. god - Only 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. 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. staff - Only Staff, Royalty, Wizards, and God can set this flag. wizard - Only Wizards and God can set this flag. 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. & forbid_site Config parameter: forbid_site <addr> <mask>. Indicates that connections are to be rejected from sites whose address matches the specified address when ANDed with the mask. 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: yes 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. & 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 MUX 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. & 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_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) & game_dir_file Config parameter: game_dir_file <path>. This configuration option specifies the file name of the 'directory' portion of the CHashFile attribute database. If this file is deleted, CHashFile will automatically re-created it. It is read into memory at startup and re-written during page splits in the 'pages' portion of the database. See also: game_pag_file & game_pag_file Config parameter: game_pag_file <path>. This configuration option specifies the file name of the 'pages' portion of the CHashFile attribute database. Unlike the 'directory' portion, this portion cannot be replaced. Attribute values themselves are stored in this file. See also: game_dir_file & gdbm_database Config parameter: gdbm_database <path>. MUX 2.0 maintains a database in a different way. This configuration option is obsolete. See also: game_dir_file and game_pag_file & 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 database number of the guest character. If set, the specified guest character is 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. See also: guest_prefix, guest_nuker, number_guests, access. & 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_nuker Config parameter: guest_nuker <num>. 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. See also: guest_char_num, guest_prefix, number_guests. & 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: public_channel. & have_comsys Config parameter: have_comsys <yes/no>. Default: yes Specifies whether or not the comsystem should be active. See also: comsys_database, have_macros. & have_macros Config parameter: have_macros <yes/no>. Default: yes Specifies whether or not the macro system should be active. See also: comsys_database, have_comsys. & have_mailer Config parameter: have_mailer <yes/no>. Default: yes Specifies whether @mail and mail aliases should be active. See also: mail_database & have_plushelp Config parameter: have_plushelp <yes/no>. Default: yes This specifies whether the indexed +help file should be used. It should be set to no if a softcoded +help command is present. See also: plushelp_file, plushelp_index. & have_zones Config parameter: have_zones <yes/no>. Default: yes Specifies whether zones should be active. If this is off, zone connects and disconnects, zone commands, and the control aspects will all be disabled. & help_file Config parameter: help_file <path>. Default: text/help.txt Specifies the name of the file containing the text used by the help command. See also: help, help_index & help_index Config parameter: help_index <path>. Default: text/help.indx Specifies the name of the index file used by the help command. This file must be generated by mkindx from the help file. The contents of this file are read in to a hash table when the game is started and whenever a @readcache command is executed. See also: help, @readcache, help_file & parent_recursion_limit Config directive: parent_recursion_limit <num>. Default: 10 This directive specifies how far back to check parents for commands and attributes. & plushelp_file Config parameter: plushelp_file <path>. Default: text/plushelp.txt Specifies the name of the file containing the text used by the +help command. See also: plushelp_index & plushelp_index Config parameter: plushelp_index <path>. Default: text/plushelp.indx Specifies the name of the index file used by the +help command. This file must be generated by mkindx from the plushelp file. The contents of this file are read in to a hash table when the game is started and whenever a @readcache command is executed. See also: @readcache, plushelp_file & wiznews_file Config parameter: wiznews_file <path>. Default: text/wiznews.txt Specifies the name of the file containing the text used by the wiznews command. See also: wiznews_index & wiznews_index Config parameter: wiznews_index <path>. Default: text/wiznews.indx Specifies the name of the index file used by the help command. This file must be generated by mkindex from the wizard help file. The contents of this file are read in to a hash table when the game is started and whenever a @readcache command is executed. See also: @readcache, wiznews_file & 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. & 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 or players with the idle power 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. Any player who is set dark by this action will have a 'd' instead of a 'D' by their idle time in the privileged WHO listing. & 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 This is the number of objects that can be created before the database structure has to be reallocated again. This is needed since MUX allocates space for the database in large chunks, the size of which depends on this parameter. & indent_desc Config parameter: indent_desc <yes/no>. Default: no Places a blank row before and after every room, object, and exit description when looked at. & input_database Config parameter: input_database. Default: tinymux.db Specifies the name of the database file that is read in at startup. This file is used only as an input file, the parameter output_database controls where updated copies of the database are written. See also: crash_database, gdbm_database, output_database. & 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. & 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. & 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. 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. 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 <command> <permlist> Specifies permission for logged-out commands, like WHO, DOING, SESSION, QUIT, OUTPUTPREFIX, and OUTPUTSUFFIX. See also: access. & logout_cmd_alias Config parameter: logout_cmd_alias <alias> <command> Makes <alias> an alias for <command>, where <command> is one of WHO, DOING, SESSION, QUIT, OUTPUTPREFIX, and OUTPUTSUFFIX. & 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 <path>. Default: mail.db Sets the file that @mail information is to be stored in. The database is only loaded or saved if have_mailer is set to yes. See also: have_mailer. & mail_expiration Config parameter: mail_expiration <number of days>. Default: 14 Sets the number of days that a @mail message should last before it is automatically deleted by the system. If this parameter is set to a negative number, this feature will be disabled. & 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. & 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. & max_cache_size Config parameter: max_cache_size <size>. Default: 1048576 Expressed in bytes, this is the maximum size the server will use for caching attribute values from the database. & 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 MUX (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. & 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. & 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: TinyMUX & news_file Config parameter: news_file <path>. Default: text/news.txt Specifies the name of the file containing the text used by the news command. You may use ANSI color sequences in news. See also: news, news_index & news_index Config parameter: news_index <path>. Default: text/news.indx Specifies the name of the index file used by the news command. This file must be generated by mkindex from the news file. The contents of this file are read in to a hash table when the game is started and whenever a @readcache command is executed. See also: news, @readcache, news_file & 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. & 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. & number_guests Config directive: number_guests <num>. Default: 30 How many guests should we allow at any one time? See also: guest_char_num, guest_nuker, guest_prefix. & 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. & output_database Config parameter: output_database <pathname>. Default: none Specifies the file to which the database is to be written when writing checkpoint dumps or writing the final dump after receiving a @shutdown command. See also: @dump, @shutdown, checkpoint_database, input_database. & output_limit Config parameter: output_limit <amount>. Default: 16200 Specifies how many bytes should be output before the output is flushed, and characters are lost. & page_cost Config parameter: page_cost <amount>. Default: 10 Specifies the cost of using the page command. See also: page. & 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 <addr> <mask>. Indicates that connections are to be accepted and registration is not to be enforced from sites whose address matches the specified address when ANDed with the mask. 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_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_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_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. & 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(). & 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_channel. & queue_active_chunk Config parameter: queue_active_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: yes 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. See also: @allquota, @create, @destroy, @dig, @open, @quota, QUOTAS, quota_cost. & 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(). & 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 <addr> <mask>. Indicates that registration is to be enforced for sites whose address matches the specified address when ANDed with the mask. See also: forbid_site, permit_site, REGISTRATION, SITE LISTS. & retry_limit Config paramater: 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 paramater: 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_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_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. & 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. & 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. & site_chars Config parameter: site_chars <number>: Default: 25. Specifies the length of the hostname that is shown in a wizard WHO listing. If <number> is 0, then the hostname will be shown in full. & 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. & stack_limit Config parameter: stack_limit <number>. Default: 50. The number of items that are allowed on an object's stack. You should be sparse with this parameter, as stack items are retained until they are removed. & 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. & 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 MUX back up, for instance. & suspect_site Config parameter: suspect_site <addr> <mask>. Indicates that sites whose address matches the specified address when ANDed with the mask 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_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_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_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 <addr> <mask>. Indicates that sites whose address matches the specified address when ANDed with the mask are not to be considered suspect. See also: suspect_site, SITE LISTS. & uncompress_program Config parameter: uncompress_program <path>. Default: gunzip Specifies the program to be run to uncompress compressed database files when reading them in at startup. See also: compress_program, compresion. & 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_http Config parameter: use_http <yes/no>. Default: no Indicates whether or not http access is allowed. & user_attr_access Config parameter: user_attr_access [!]<privilege> [[!]<privilege>]... Changes the access flags that new user-named attributes receive when they are created. By default, user attributes are invisible to others. & 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. & wizard_help_file Config parameter: wizard_help_file <path>. Default: text/wizhelp.txt Specifies the name of the file containing the text used by the wizhelp command. See also: wizhelp, wizard_help_index & wizard_help_index Config parameter: wizard_help_index <path>. Default: text/wizhelp.indx Specifies the name of the index file used by the wizhelp command. This file must be generated by mkindex from the wizard help file. The contents of this file are read in to a hash table when the game is started and whenever a @readcache command is executed. See also: wizhelp, @readcache, wizard_help_file & 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. & zone_recursion_limit Config directive: zone_recursion_limit <num>. Default: 20 This directive specifies how far back to check a zone tree for control and commands. & 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 TinyMUX uses these files (normally kept in the same directory as the database files and the netmux program) to display information under certain circumstances. The names of the files used can be changed with configuration directives (or on the netmux command line, in the case of netmux.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. help.indx: Index for the help.txt file, produced by the mkindx program. help.txt: File containing information displayed by the help command. { 'wizhelp files2' for more } & files2 guest.txt: Displayed to whoever connects to the guest character specifiedby the guest_character config parameter. motd.txt: Displayed after someone connects to an existing character. netmux.conf: Configuration directives read at startup. news.indx: Index for the news.txt file, produced by the mkindx program. news.txt: File containing information displayed by the news command. 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. wizhelp.indx: Index for the wizhelp.txt file, produced by the mkindx program. wizhelp.txt: File containing information displayed by the wizhelp command. wizmotd.txt: Displayed to wizards when they connect to their characters. See also: badsite_file, connect_file, connect_reg_file, down_file, guest_file, help_file, help_index, motd_file, news_file, news_index, newuser_file, quit_file, register_create_file, wizard_help_file, wizard_help_index, wizard_motd_file. & INHERITANCE & LOGGING & PERMISSIONS Topic: PERMISSIONS Access to many MUX features is controlled by a set of permissions, which can usually be changed via the configuration file or the @admin command. In the following, 'WIZARD' means the WIZARD flag, but 'Wizard' means Wizard-level authority. The latter can be achieved by being set WIZARD, or set INHERIT with an owner that is set WIZARD, and of course #1 is always set WIZARD. This is a list of the valid permissions and their meanings: builder - Must be Wizard, ROYALTY, or have the BUILDER power. dark - Feature is not shown but is still available. disabled - No one can use this feature. global_build - Requires the BUILDER power, Wizard/ROYALTY, or for building to be allowed game-wide. global_interp - Requires that global interpretation be turned on. god - Only #1 may use this feature. head - Must be set HEAD to use this feature. immortal - Must be set IMMORTAL or set INHERIT with IMMORTAL owner. { 'wizhelp permissions2' for the rest of the list } & permissions2 need_contents - Only players, things, and rooms may use this feature. need_location - Only players and things may use this feature. need_player - Only players may use this feature. no_haven - Non-Wizard players with owners set HAVEN may not use this feature. no_robot - Non-Wizard players set ROBOT may not use this feature. no_slave - Non-Wizard players with owners set SLAVE may not use this feature. no_suspect - Non-Wizard players with owners set SUSPECT may not use this feature. no_guest - Non-Wizards must not possess the GUEST power in order to use this feature. robot - Only players set ROBOT can use this feature. wizard - Only Wizards may use this feature. & 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. & REGISTRATION See: SITE LISTS & 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>, 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. 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. { 'wizhelp site lists2' for more } & site lists2 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. See also: @admin, @list site_information, forbid_site, permit_site, register_site, suspect_site, trust_site.