# configuration file for PennMUSH # # The directives in this file control the behavior of your MUSH # If you change any of them while your MUSH is running, you can # cause the MUSH to re-read this file by sending it a SIGHUP # signal. Typically, one does this by using 'ps' to determine the # MUSH's process id#, and then issuing a: kill -1 pid# # command. #### #### ESSENTIALS #### # name of your MUSH. #_Please_ change this. # You _MUST_ if you're using RWHO. mud_name TinyMUSH # the port it's running on. port 4201 # Should we listen only on a specific IP address? If your host has # multiple IP addresses, put the ip address to listen on here # Example: ip_addr 128.32.243.78 # Otherwise, just leave it blank. ip_addr # Should the MUSH attempt to resolve IP numbers to hostnames? # If yes, you'll see hostnames on the wizard WHO. If no, IP numbers. # No makes sense if you're running PennMUSH at home and don't have # a DNS server you can access. use_dns yes # Databases # These are, respectively, where to read a database, where to # write a database, where to put a panic dump (performed if # the MUSH determines it's going to crash, where to put MUSH mail, # and where to keep information about the chat system. # Filenames are relative to the game/ directory. # # Do NOT put compression suffixes at the end of the files. # That's handled below # input_database data/indb output_database data/outdb crash_database data/PANIC.db mail_database data/maildb chat_database data/chatdb # Database compression # When your databases are dumped, they can be dumped in a compressed # format to save disk space, or uncompressed for speed. # To use a compression program, you must know the name of the # program that compresses, the name of the program that uncompresses, # and the suffix that the compression program adds. # # Most people can just use one of the following: # # Use these 3 lines for no compression. Required on win32. #compress_program #uncompress_program #compress_suffix # # Use these 3 lines for gzip compression #compress_program gzip #uncompress_program gunzip #compress_suffix .gz # # Use these 3 lines for Unix compress compression #compress_program compress #uncompress_program uncompress #compress_suffix .Z # compress_program compress uncompress_program uncompress compress_suffix .Z # Room where new players are created. player_start 0 # The master room. Exits here are global, as are commands on # objects here. This only is used if globals is set to "yes". master_room 2 # The base room. Any room that can be reached from this room # through exits is considered a 'connected room'. # See also: exits_connect_rooms base_room 0 ### ### Limits, costs, and other constants ### # name of the monetary units money_singular Penny money_plural Pennies # Should there be a limit on how long players can be idle? # If you want one, set idle_timeout to the # number of minutes a player may idle before getting disconnected. # If you don't, set it to 0. idle_timeout 0 # Should there be a limit on the number of logins the MUSH # can accept? If your operating system has a limited number of # file descriptors per process, you should set this to # that number - 8. If not, or if you like to live dangerously, # set this to 0. max_logins 120 # How much MUSH money do players get when they're created? starting_money 150 # How much MUSH money do players get each day they log in? paycheck 50 # If quotas are enforced, how much players get by default starting_quota 20 # number of commands a player can have queued. Prevents runaway machines # from getting out of hand. player_queue_limit 100 # the number of commands run from the queue when there is no net activity queue_chunk 3 # the number of commands run from the queue when there is net activity active_queue_chunk 1 # the maximum level of recursion allowed in functions function_recursion_limit 50 # the maximum number of functions that can be invoked function_invocation_limit 2500 # How many channels total can be created? # This doesn't allocate memory, it just sets a maximum. max_channels 200 # How many channels can each non-admin create? Set this to some number # higher than zero to allow mortals to create channels. max_player_chans 0 # What's the maximum number of levels of parenting allowed max_parents 10 # How much does it cost a mortal to create a channel? chan_cost 1000 # How likely should it be that noisy whispers are noticed by other # players in the room? (Others see: John whispers to Mary.) # Use a number from 0 to 100 whisper_loudness 100 # the highest allowable dbref -- you can't build more than this # many objects. if you don't want such a limit, leave this set # to 0. max_dbref 0 # If you kill someone, you can spend up to 100 coins; the chance # of killing them is the number of coins you spend. What's the # minimum number of coins that must be spent, and the default # number if no number is given? kill_min_cost 10 kill_default_cost 10 # How much to various commands cost: find_cost 100 page_cost 0 # How many objects are equal to 1 quota, if quotas are used quota_cost 1 # How much deposit is required to queue a command? queue_cost 10 # One out of how many commands that are queued will cost the # player a coin? queue_loss 63 # What does it cost to build various things? room_cost 10 object_cost 10 link_cost 1 exit_cost 1 # If you've got USE_WARNINGS defined, set this to the number # of seconds between MUSH-wide topology # warning checks. Default is 3600 (1 hour). If you set this to 0, # timed MUSH-wide checks will be disabled. warn_interval 3600 # The password that must be given to do an @log/wipe. You must also # be God, of course. CHANGE THIS. log_wipe_passwd zap! ### ### Dump stuff ### # How often should the database be dumped, in seconds? # 3600 is once an hour, and probably the most frequent you'd ever want. # On a large MUSH, consider at most once every 3-6 hours. # This cannot be a multiple of any of the timer.c parameters # (so keep it an even number of hours). dump_interval 3600 # should I fork a concurrent process to do database dumps? # If I do, your memory requirements will double during the dump. # If I don't, the MUSH will pause while it dumps. # If you're low on memory, don't do this. # If you're on Win32, don't do this; fork() is not defined. forking_dump yes # If you're not forking, you get a bunch of messages that you # can set to warn players when the dump is 5 minutes away, # 1 minute away, in progress, and finished. You can # comment out whatever messages you don't want. dump_warning_5min GAME: Database dump in 5 minutes. dump_warning_1min GAME: Database dump in 1 minute. dump_message GAME: Dumping database. Game may freeze for a few minutes. dump_complete GAME: Dump complete. Time in. ### ### Filenames ### # Text files shown on connection, as message of the day, # as wizard message of the day, on quit, to newly created players, # when logins are disabled, when player creation is disabled, # and when a guest logs in. connect_file txt/connect.txt motd_file txt/motd.txt wizmotd_file txt/wizmotd.txt quit_file txt/quit.txt newuser_file txt/newuser.txt down_file txt/down.txt register_create_file txt/register.txt guest_file txt/guest.txt # The equivalent files in html, shown to Pueblo clients. connect_html_file txt/connect.html motd_html_file txt/motd.html wizmotd_html_file txt/wizmotd.html quit_html_file txt/quit.html newuser_html_file txt/newuser.html down_html_file txt/down.html register_create_html_file txt/register.html guest_html_file txt/guest.html # the big text files and corresponding index files # comment out any that you don't want (except help and news) #events_file txt/events.txt #events_index txt/events.idx #index_file txt/index.txt #index_index txt/index.idx #rules_file txt/rules.txt #rules_index txt/rules.idx help_file txt/help.txt help_index txt/help.idx news_file txt/news.txt news_index txt/news.idx ### Config directives for RWHO. ### If you want to send connection/disconnection information to a ### mudwho server, you must set rwho to "yes" and fill in the information ### about the server. You'll have to ask the server's administrator ### for an rwho password. rwho no rwho_dump_interval 241 rwho_host littlewood.math.okstate.edu rwho_info_port 6889 rwho_password getyours ### Config directive for IDENT. ### If you want to do ident (RFC1143) looksup, set use_ident to "yes" ### and select an ident_timeout to determine how long the MUSH ### should wait for a response, in seconds. If you're using ### INFO_SLAVE (in options.h), this is how long the info_slave waits. use_ident yes ident_timeout 5 ### ### Logging ### # log all commands. Makes big, big command.log files. Use only for # debugging, generally. log_commands no # log commands which produce "Huh?" log_huhs no # log forces done by wizards log_forces yes # log wizwalls log_walls no ### ### Logins ### # Support the pueblo MUSH client and allow html to be sent to it pueblo no # allow non-wizard/royalty logins logins yes # allow guest logins guests yes # allow players to create/register characters at the login screen # If you turn this off, neither "create" nor "register" will work. # Use access.cnf if you want to disable creation for specific sites # or disable creation but enable registration for everyone. player_creation yes ### ### Master Room and @aconnect/disconnect ### # enable global exits and commands? globals yes # check zones and the master room for aconnect/adisconnect? global_connects yes # trigger @aconnect/@adisconnect in the room? room_connects no ### ### Options affecting commands and functions ### (See also restrict_command to restrict command use) ### # prevent computationally expensive commands daytime no # restrict haspower() to see_all players? haspower_restricted no # prevent objects from evaluating ufuns on more privileged objects. [++] safer_ufun yes # use @recycle instead of @destroy, because @dest is easy to confuse # with @desc. [+] hate_dest no # default whisper to whisper/noisy instead of whisper/silent noisy_whisper no # is possessive get (get players's object) allowed? possessive_get yes # what if the player is disconnected? possessive_get_d no # SAFE absolutely prevents destruction, even with @nuke really_safe yes # When a player is nuked, his SAFE objects are @chowned to God. # If this is set to "yes", his non-safe objects are destroyed # If this is set to "no", they are chowned to God destroy_possessions yes # Can we @link to an object? link_to_object yes # Keep queue limits on a per-owner rather than pwer-object basis? # That is, is an object runaway when its owner's total queue is too # high, rather than when the object's queue is too high? owner_queues no # Should DARK wizards not trigger AENTER/ALEAVE when they move? wiz_noaenter no # require builder bits in order to build? restricted_building no # if builder bits are required, allow people to @create objects # without them anyway? free_objects no # should say/pose by a DARK wizard be anonymous ('Someone says...')? full_invis no # allow players to located each other with @whereis and loc()? player_locate yes ### ### TinyMUSH compatibility ### # Should we treat a missing number as 0 in things like add(3,)? # For TinyMUSH compatibility, the answer is 'no'. null_eq_zero no # In PennMUSH, strings and db#s larger than #0 have traditionally # been considered true (1) in boolean functions like and(), or(), etc. # In TinyMUSH, strings and db#s evaluate as false (0) # Should we emulate TinyMUSH? tiny_booleans no # TinyMUSH's trim function is: # trim(<string> [,<trim style> [,<trim character>]]) # PennMUSH's trim function has been: # trim(<string>[,<character to trim>[,<trim style>]]) # Should we emulate TinyMUSH? [+ for new MUSHes] tiny_trim_fun no # show attributes in TinyMUSH format (FOO(#4v): test) rather than # PennMUSH format (FOO [#4v]: test)? tiny_attrs no # In Tiny, strings used in math expressions evaluate to 0, # so eq(asdfa,0) = 1, gt(asdf,0) = 0, etc. # In Penn, using strings where numbers should be is traditionally an # error (returning #-1 ARGUMENT MUST BE NUMBER or similar) # Do you want the TinyMUSH behavior? tiny_math no # should @pemit default to @pemit/silent, like TinyMUSH? silent_pemit no ### ### Attributes ### # enable the adestroy attribute, triggered when an object is nuked? adestroy no # enable the amail attribute for admin, triggered when they receive # @mail? This does no mail loop checking. [-] amail no # does @listen work on players? player_listen yes # does @ahear work on players? If player_listen is yes, and # player_ahear is no, sound outside the player can be heard by her # inventory, but her @ahear isn't executed. player_ahear yes ### ### Cosmetic stuff ### # show room/object/player names in bold for ansi players? ansi_names yes # should ljust(), rjust(), center(), and table() ignore ansi when # figuring out how to justify a string? ansi_justify yes # show exit lists with commas (a, b, and c)? comma_exit_list no # count hidden players when WHO reports total connected? count_all no # are rooms with any exits considered connected, and thus not required # to have the FLOATING flag set on them? exits_connect_rooms no # Prefixes for various broadcast messages wizwall_prefix Broadcast: rwall_prefix Admin: wall_prefix Announcement: # can players have names with spaces in them? player_name_spaces no # report time in 24-hour format? military_time yes # show expanded flag name list when you examine an object? flags_on_examine yes # show visual attributes when you examine an object you don't own? # (like examine/full in TinyMUSH) ex_public_attribs yes # What should page a b c = message do? # If blind_page is yes, page defaults to page/blind (a,b,c each get separate # pages with no evidence that it was a multipage). If blind_page is no, # page defaults to page/list (a single page goes to a,b,c and they can # see that they all received it. blind_page yes # should NOSPOOF notification include the dbref of the spoofer # as well as the name? paranoid_nospoof no ### ### Default flags for newly created stuff ### # -- Default flags for exits # Uncommenting this will cause the exit default to be DARK (like in TinyMUD): # no exits show up on the "Obvious exits" list. # exit_flags dark # Uncommenting this will cause all exits to be TRANSPARENT by default # (if you look through them, you will see the description of the next room) # exit_flags transparent # -- Default flags for rooms # Uncommenting this will cause all rooms to be TRANSPARENT by default. # Each obvious exit in a transparent room is displayed on a line by # itself, in the format: # <Exit name> leads to <Destination name> # instead of having all exits strung out in one row. # room_flags transparent # Objects which are NO_COMMAND will not be checked for $commands. # Making this a default may speed up your server somewhat. This is # definitely a good idea for rooms and players, and, depending on # the compostion of your database, probably a good idea for things. room_flags no_command # -- Default flags for players # Players who are ENTER_OK can be given stuff. player_flags enter_ok # Players who are INHERIT allow all their objects to control them. # player_flags inherit # Players who are ANSI see attribute names hilighted. player_flags ansi # See the explanation for rooms and no_command. player_flags no_command # -- Default flags for things # For example, you can't see through OPAQUE things. # thing_flags opaque # See the explanation for rooms and no_command. thing_flags no_command ### ### Restrictions on usage ### # # Commands to restrict # Syntax: restrict_command <command> <restriction> # <restriction> is *one* of: # nobody Totally disable the command # nogagged Gagged players can't use it # noguest Guests can't use it # admin Must be roy or wiz to use it # wizard Must be wiz to use it # god Must be god to use it # You can use multiple restrictions on the same command to restrict # to, for example, nongagged nonguests, by using more than one # restrict_command line for that command. # Don't let guests mess with the database # (This replaces the HARSH_GUEST compile-time define) # The "ATTRIB_SET" command controls the setting of attributes with # @attr obj=value or &attr obj=value restrict_command @set noguest restrict_command ATTRIB_SET noguest restrict_command @chown noguest restrict_command @chzone noguest restrict_command @cpattr noguest restrict_command @mvattr noguest restrict_command @edit noguest restrict_command @gedit noguest restrict_command @parent noguest restrict_command @wipe noguest restrict_command @unlink noguest restrict_command @link noguest restrict_command @lock noguest restrict_command @unlock noguest # Read is a synonym for look unless you disable it restrict_command read nobody # Don't let players rob each other restrict_command rob nobody # Don't use @toad. Better to @boot and @nuke restrict_command @toad nobody # Don't allow kill (slay still works) #restrict_command kill nobody