# Copyright (c) 2004-2011 Jeremy Stanley . Permission # to use, copy, modify, and distribute this software is granted under # terms provided in the LICENSE file distributed with this software. # Descriptive comment viewable from within mudpy... ! = "This is the top-level mudpy configuration file." # Set this file so it cannot be modified by mudpy. Do not change this # unless you *really* know what you're doing, since it could allow your # mudpy admins to seriously break things. !lock = True # Additional configuration resides in this directory. !load.mudpy = [ "dir:share" ] # The sample area data. !load.sample = [ "dir:sample" ] ######################################## # DEFAULT DATA STORAGE # This is the base directory from which the mudpy process will operate # and to which all dir: and file: references within this file will be # relative. mudpy.dir = "." # This file is a catch-all for unclassified, homeless elements. mudpy.data = "file:data/data.mpy" # Account information will be saved in this file, and have its read # permissions restricted within the filesystem to disallow other # applications seeing the one-way hashes for mudpy passwords. mudpy.data:mudpy.account = "file(p):data/account.mpy" # Files into which we save other categories of homeless elements... mudpy.data:mudpy.actor = "file:data/actor.mpy" mudpy.data:mudpy.arch = "file:data/arch.mpy" mudpy.data:mudpy.area = "file:data/area.mpy" mudpy.data:mudpy.comm = "file:data/comm.mpy" mudpy.data:mudpy.menu = "file:data/menu.mpy" mudpy.data:mudpy.prop = "file:data/prop.mpy" ######################################## # VARIOUS CONFIGURED LIMITS # Uncomment this and the first user to create an account named "admin" # will get full control of mudpy. #mudpy.lim.admin_account = "admin" # This is the number of backups (if any) to keep when overwriting data # files. #mudpy.lim.keep_backups = 10 # This is the maximum number of avatars allowed for each account. mudpy.lim.max_avatars = 7 # This is the maximum number of password failures before disconnecting. mudpy.lim.password_tries = 3 ######################################## # NETWORK SOCKET CONFIGURATION # IP address to listen on (default is all addresses)... #mudpy.net.host_address = "127.0.0.1" mudpy.net.host_address = "::1" # TCP port to listen on... mudpy.net.port_number = 6669 ######################################## # PROCESS SETTINGS # Detach and become a daemon process (Unix derivatives only). #mudpy.proc.fork_daemon = True # Number of log entries to keep in memory (the oldest are discarded)... mudpy.proc.log_buffer = 1000 # Uncommenting this would save log messages to a "mudpy.log" file. #mudpy.proc.log_file = "mudpy.log" # Whether or not to log to the standard output of the mudpy process... mudpy.proc.log_stdout = True # Whether to log to the system log, and if so, under what name (Unix # derivatives only)... #mudpy.proc.log_syslog = "mudpy" # Filename to store the child pid before detaching (Unix derivatives # only). #mudpy.proc.pid_file = "mudpy.pid" ######################################## # MAIN LOOP TIMING PARAMETERS # How many increments a user can idle in a state until warning or # disconnect... mudpy.time.idle_disconnect:active = 6048000 mudpy.time.idle_disconnect:default = 6000 mudpy.time.idle_disconnect:entering_account_name = 600 mudpy.time.idle_warn:active = 5040000 mudpy.time.idle_warn:default = 5000 mudpy.time.idle_warn:entering_account_name = 500 # Fraction of a second to wait between loop passes... mudpy.time.loop_increment = 0.1 # Whether to log "mark" messages, and how often in increments... mudpy.time.freq:log = 6000 # Number of increments between updates of changed persistent data # storage... mudpy.time.freq:save = 600 ######################################## # DATA TYPE VALIDATION # This is the list of data types against which all facets of elements will be # checked when loaded. mudpy.facet = "str" mudpy.facet:admin_account = "str" mudpy.facet:administrative = "bool" mudpy.facet:branch_to = "str" mudpy.facet:choice = "str" mudpy.facet:closeable = "bool" mudpy.facet:comment = "str" mudpy.facet:data = "str" mudpy.facet:default_choice = "str" mudpy.facet:default_punctuation = "str" mudpy.facet:description = "str" mudpy.facet:enter_term = "str" mudpy.facet:error = "str" mudpy.facet:exit_term = "str" mudpy.facet:freq = "int" mudpy.facet:fork_daemon = "bool" mudpy.facet:generate_choices = "str" mudpy.facet:gridlinks = "list" mudpy.facet:help = "str" mudpy.facet:hide_input = "bool" mudpy.facet:host_address = "str" mudpy.facet:idle_disconnect = "int" mudpy.facet:idle_warn = "int" mudpy.facet:impression = "str" mudpy.facet:inherit = "list" mudpy.facet:is = "bool" mudpy.facet:keep_backups = "int" mudpy.facet:keywords = "list" mudpy.facet:link = "str" mudpy.facet:load = "list" mudpy.facet:location = "str" mudpy.facet:lock = "bool" mudpy.facet:log_buffer = "int" mudpy.facet:log_file = "str" mudpy.facet:log_stdout = "bool" mudpy.facet:log_syslog = "bool" mudpy.facet:loop_increment = "float" mudpy.facet:max_avatars = "int" mudpy.facet:menu_action = "str" mudpy.facet:name = "str" mudpy.facet:only_if = "str" mudpy.facet:password_tries = "int" mudpy.facet:pickproof = "bool" mudpy.facet:pid_file = "str" mudpy.facet:port_number = "int" mudpy.facet:prompt = "str" mudpy.facet:see_also = "list" mudpy.facet:speak_actions = "dict" mudpy.facet:terrain = "str" mudpy.facet:typo_replacements = "dict" mudpy.facet:vector = "tuple" ######################################## # WRITTEN LANGUAGE SETTINGS # This is used to tailor the appearance of output generated by the "say" # command and its relatives, so as to add some readability and flavor. mudpy.lang.speak_actions = { "?": "ask", ",": "begin", "-": "begin", ":": "begin", ";": "begin", "!": "exclaim", "...": "muse", ".": "say" } # Unpunctuated statements made by actors should be assumed to have a period. mudpy.lang.default_punctuation = "." # Replacements for common typographical and capitalization errors... mudpy.lang.typo_replacements = { "i": "I", "i'd": "I'd", "i'll": "I'll", "i'm": "I'm", "teh": "the", "theyre": "they're", "youre": "you're" } ######################################## # MOVEMENT AND GRID LINKING # The term for the direction from where you enter the next area... mudpy.move.enter_term:down = "above" mudpy.move.enter_term:east = "the west" mudpy.move.enter_term:north = "the south" mudpy.move.enter_term:south = "the north" mudpy.move.enter_term:up = "below" mudpy.move.enter_term:west = "the east" # The term for how you leave the current area... mudpy.move.exit_term:down = "downward" mudpy.move.exit_term:east = "to the east" mudpy.move.exit_term:north = "to the north" mudpy.move.exit_term:south = "to the south" mudpy.move.exit_term:up = "upward" mudpy.move.exit_term:west = "to the west" # These vectors define each direction in an x,y,z coordinate space. mudpy.move.vector:down = ( 0, 0, -1 ) mudpy.move.vector:east = ( 1, 0, 0 ) mudpy.move.vector:north = ( 0, 1, 0 ) mudpy.move.vector:south = ( 0, -1, 0 ) mudpy.move.vector:up = ( 0, 0, 1 ) mudpy.move.vector:west = ( -1, 0, 0 )