| 1 |
# configuration file for PennMUSH |
|---|
| 2 |
# |
|---|
| 3 |
# The directives in this file control the behavior of your MUSH |
|---|
| 4 |
# If you change any of them while your MUSH is running, you can |
|---|
| 5 |
# cause the MUSH to re-read this file by sending it a SIGHUP |
|---|
| 6 |
# signal. Typically, one does this by using 'ps' to determine the |
|---|
| 7 |
# MUSH's process id#, and then issuing a: kill -1 pid# |
|---|
| 8 |
# command. |
|---|
| 9 |
|
|---|
| 10 |
#### |
|---|
| 11 |
#### ESSENTIALS |
|---|
| 12 |
#### |
|---|
| 13 |
|
|---|
| 14 |
# Name of your MUSH. Please change this. |
|---|
| 15 |
mud_name TinyMUSH |
|---|
| 16 |
|
|---|
| 17 |
# The port it's running on. See also ssl_port, later. |
|---|
| 18 |
port 4201 |
|---|
| 19 |
|
|---|
| 20 |
# Should we listen only on a specific IP address? If your host has |
|---|
| 21 |
# multiple IP addresses, put the ip address to listen on here |
|---|
| 22 |
# Example: ip_addr 128.32.243.78 |
|---|
| 23 |
# Otherwise, just leave it blank. |
|---|
| 24 |
ip_addr |
|---|
| 25 |
|
|---|
| 26 |
# Should the MUSH attempt to resolve IP numbers to hostnames? |
|---|
| 27 |
# If yes, you'll see hostnames on the wizard WHO. If no, IP numbers. |
|---|
| 28 |
# No makes sense if you're running PennMUSH at home and don't have |
|---|
| 29 |
# a DNS server you can access. MacOS 7/8/9 should use 'no' |
|---|
| 30 |
# Changing this while using info_slave requires a @shutdown/reboot |
|---|
| 31 |
# to make it take effect. |
|---|
| 32 |
use_dns yes |
|---|
| 33 |
|
|---|
| 34 |
# Databases |
|---|
| 35 |
# These are, respectively, where to read a database, where to |
|---|
| 36 |
# write a database, where to put a panic dump (performed if |
|---|
| 37 |
# the MUSH determines it's going to crash, where to put MUSH mail, |
|---|
| 38 |
# and where to keep information about the chat system. |
|---|
| 39 |
# Filenames are relative to the game/ directory. |
|---|
| 40 |
# |
|---|
| 41 |
# Do NOT put compression suffixes at the end of the files. |
|---|
| 42 |
# That's handled below |
|---|
| 43 |
# |
|---|
| 44 |
input_database data/indb |
|---|
| 45 |
output_database data/outdb |
|---|
| 46 |
crash_database data/PANIC.db |
|---|
| 47 |
mail_database data/maildb |
|---|
| 48 |
chat_database data/chatdb |
|---|
| 49 |
|
|---|
| 50 |
# Database compression |
|---|
| 51 |
# When your databases are dumped, they can be dumped in a compressed |
|---|
| 52 |
# format to save disk space, or uncompressed for speed. |
|---|
| 53 |
# To use a compression program, you must know the name of the |
|---|
| 54 |
# program that compresses, the name of the program that uncompresses, |
|---|
| 55 |
# and the suffix that the compression program adds. |
|---|
| 56 |
# |
|---|
| 57 |
# Most people can just use one of the following: |
|---|
| 58 |
# |
|---|
| 59 |
# Use these 3 lines for no compression. Required on win32 and MacOS 7/8/9. |
|---|
| 60 |
#compress_program |
|---|
| 61 |
#uncompress_program |
|---|
| 62 |
#compress_suffix |
|---|
| 63 |
# |
|---|
| 64 |
# Use these 3 lines for gzip compression |
|---|
| 65 |
#compress_program gzip |
|---|
| 66 |
#uncompress_program gunzip |
|---|
| 67 |
#compress_suffix .gz |
|---|
| 68 |
# |
|---|
| 69 |
# Use these 3 lines for Unix compress compression |
|---|
| 70 |
#compress_program compress |
|---|
| 71 |
#uncompress_program uncompress |
|---|
| 72 |
#compress_suffix .Z |
|---|
| 73 |
# |
|---|
| 74 |
# Use these 3 lines for bzip2 compression |
|---|
| 75 |
#compress_program bzip2 |
|---|
| 76 |
#uncompress_program bunzip2 |
|---|
| 77 |
#compress_suffix .bz2 |
|---|
| 78 |
# |
|---|
| 79 |
compress_program gzip |
|---|
| 80 |
uncompress_program gunzip |
|---|
| 81 |
compress_suffix .gz |
|---|
| 82 |
|
|---|
| 83 |
# Room where new players are created. |
|---|
| 84 |
player_start 0 |
|---|
| 85 |
|
|---|
| 86 |
# The master room. Exits here are global, as are commands on |
|---|
| 87 |
# objects here. |
|---|
| 88 |
master_room 2 |
|---|
| 89 |
|
|---|
| 90 |
# The base room. Any room that can be reached from this room |
|---|
| 91 |
# through exits is considered a 'connected room'. |
|---|
| 92 |
# See also: exits_connect_rooms |
|---|
| 93 |
base_room 0 |
|---|
| 94 |
|
|---|
| 95 |
# The ancestor room. This dbref serves as an 'ultimate parent' to |
|---|
| 96 |
# all rooms that aren't set ORPHAN. Set to -1 to disable. |
|---|
| 97 |
ancestor_room -1 |
|---|
| 98 |
|
|---|
| 99 |
# The ancestor exit. This dbref serves as an 'ultimate parent' to |
|---|
| 100 |
# all exits that aren't set ORPHAN. Set to -1 to disable. |
|---|
| 101 |
ancestor_exit -1 |
|---|
| 102 |
|
|---|
| 103 |
# The ancestor thing. This dbref serves as an 'ultimate parent' to |
|---|
| 104 |
# all things that aren't set ORPHAN. Set to -1 to disable. |
|---|
| 105 |
ancestor_thing -1 |
|---|
| 106 |
|
|---|
| 107 |
# The ancestor player. This dbref serves as an 'ultimate parent' to |
|---|
| 108 |
# all players that aren't set ORPHAN. Set to -1 to disable. |
|---|
| 109 |
ancestor_player -1 |
|---|
| 110 |
|
|---|
| 111 |
# The default home. This is the room used when an object becomes |
|---|
| 112 |
# homeless (usually due to its home getting destroyed). It's also |
|---|
| 113 |
# the place where things get moved to if their location gets |
|---|
| 114 |
# unsalvageably corrupted. |
|---|
| 115 |
default_home 0 |
|---|
| 116 |
|
|---|
| 117 |
# What's the filename of the @sitelock file, that controls |
|---|
| 118 |
# who can connect and who can't |
|---|
| 119 |
access_file access.cnf |
|---|
| 120 |
|
|---|
| 121 |
# Where are the names you want to ban players from |
|---|
| 122 |
# creation/rename? A good idea to start with are swear words, |
|---|
| 123 |
# and features names like 'Luke', 'Merlin', 'Gandalf', 'Picard', |
|---|
| 124 |
# 'Lessa', 'Dracula', 'Hercules', 'Scooby', 'Nancy Drew', etc, |
|---|
| 125 |
# depending on what type of MUSH you are running |
|---|
| 126 |
names_file names.cnf |
|---|
| 127 |
|
|---|
| 128 |
### |
|---|
| 129 |
### Attribute (chunk) cache |
|---|
| 130 |
### |
|---|
| 131 |
### PennMUSH can swap rarely-referenced attribute text out to a disk |
|---|
| 132 |
### file, and cache often-used attribute text in memory. This |
|---|
| 133 |
### can result in substantial (typically 30-50%) savings |
|---|
| 134 |
### in process memory use, at the cost of a very small performance hit. |
|---|
| 135 |
### You can control the size of memory cache (or set it so large |
|---|
| 136 |
### that nothing is ever swapped to disk), as well as several less |
|---|
| 137 |
### important parameters here. |
|---|
| 138 |
### |
|---|
| 139 |
|
|---|
| 140 |
# The file to store the attribute data in, when not in memory. |
|---|
| 141 |
# This is relative to the game/ directory. |
|---|
| 142 |
chunk_swap_file data/chunkswap |
|---|
| 143 |
|
|---|
| 144 |
# The amount of memory allowed for the attribute cache, in bytes. |
|---|
| 145 |
# The actual amount used will be a multiple of 64K slightly less |
|---|
| 146 |
# the specified amount. You must give it at least 132000 bytes. |
|---|
| 147 |
# If you want to use an 'infinite' cache, try setting this |
|---|
| 148 |
# to 2000000000; you'll lose the memory benefits, but you'll still |
|---|
| 149 |
# gain some locality benefits and overhead savings. |
|---|
| 150 |
chunk_cache_memory 1000000 |
|---|
| 151 |
|
|---|
| 152 |
# The number of attributes that may be moved at one time, once per |
|---|
| 153 |
# second. The higher the value, the faster memory gets defragmented, |
|---|
| 154 |
# but at a greater CPU cost. |
|---|
| 155 |
chunk_migrate 50 |
|---|
| 156 |
|
|---|
| 157 |
### |
|---|
| 158 |
### SSL support |
|---|
| 159 |
### |
|---|
| 160 |
|
|---|
| 161 |
# The port to listen on for SSL connections. This must be an unused |
|---|
| 162 |
# port other than the standard connection port. To disable SSL |
|---|
| 163 |
# connections, leave this set to 0. |
|---|
| 164 |
ssl_port 0 |
|---|
| 165 |
|
|---|
| 166 |
# The ip address to bind to for the SSL port, if one is specified. |
|---|
| 167 |
# If your host has multiple IP addresses, put the ip address to |
|---|
| 168 |
# listen on here. Otherwise, leave it blank to listen on all |
|---|
| 169 |
# addresses if SSL is in use. |
|---|
| 170 |
ssl_ip_addr |
|---|
| 171 |
|
|---|
| 172 |
# The file containing the MUSH server's certificate and private key, |
|---|
| 173 |
# concatenated together, and with no password on the private key. |
|---|
| 174 |
# Obviously, this file should only be readable by the MUSH account |
|---|
| 175 |
# owner. If this is commented out, the server will not present a |
|---|
| 176 |
# certificate, so clients that attempt to authenticate the server |
|---|
| 177 |
# will fail. |
|---|
| 178 |
ssl_private_key_file server-key.crt |
|---|
| 179 |
|
|---|
| 180 |
# The file containing one or more certificates of certifying authorities |
|---|
| 181 |
# that the server should trust to certify clients who connect and |
|---|
| 182 |
# present certificates. A standard bundle of these is distributed |
|---|
| 183 |
# with openssl as 'ca-bundle.crt'. If commented out, the server will |
|---|
| 184 |
# not attempt client authentication. |
|---|
| 185 |
ssl_ca_file /usr/share/ssl/certs/ca-bundle.crt |
|---|
| 186 |
|
|---|
| 187 |
# Are clients *required* to present a valid certificate in order to |
|---|
| 188 |
# make an SSL connection? |
|---|
| 189 |
ssl_require_client_cert no |
|---|
| 190 |
|
|---|
| 191 |
### |
|---|
| 192 |
### Limits, costs, and other constants |
|---|
| 193 |
### |
|---|
| 194 |
|
|---|
| 195 |
# name of the monetary units |
|---|
| 196 |
money_singular Penny |
|---|
| 197 |
money_plural Pennies |
|---|
| 198 |
|
|---|
| 199 |
# Should there be a limit on how long players can be idle? |
|---|
| 200 |
# If you want one, set idle_timeout to the # number of MINUTES |
|---|
| 201 |
# a player may idle before getting disconnected. |
|---|
| 202 |
# If you don't want a timeout, set it to 0. |
|---|
| 203 |
idle_timeout 0m |
|---|
| 204 |
|
|---|
| 205 |
# Should there be a limit on how long connections at the connect screen |
|---|
| 206 |
# (without an associated player) can be idle? |
|---|
| 207 |
# If you want one, set unconnected_idle_timeout to the # number of MINUTES |
|---|
| 208 |
# a connection may idle before getting disconnected. |
|---|
| 209 |
# If you don't want a timeout, set it to 0. |
|---|
| 210 |
unconnected_idle_timeout 5m |
|---|
| 211 |
|
|---|
| 212 |
# Many common home network routers will drop a connection if there's |
|---|
| 213 |
# been no activity for a few minutes; they tend to assume the web is |
|---|
| 214 |
# the internet, and don't deal well with persistant connections like |
|---|
| 215 |
# mushes use. This option will make the server automatically send a |
|---|
| 216 |
# TCP-level 'Are you still there?' query every few minutes to keep the |
|---|
| 217 |
# connection active. |
|---|
| 218 |
# NOTE: This doesn't work on all OSes, but does on the most popular |
|---|
| 219 |
# ones for mush hosting such as linux. Other options include the KEEPALIVE |
|---|
| 220 |
# flag and the IDLE command. |
|---|
| 221 |
keepalive_timeout 5m |
|---|
| 222 |
|
|---|
| 223 |
# Should there be a limit on the number of logins the MUSH |
|---|
| 224 |
# can accept? If your operating system has a limited number of |
|---|
| 225 |
# file descriptors per process, you should set this to |
|---|
| 226 |
# that number - 8. If not, or if you like to live dangerously, |
|---|
| 227 |
# set this to 0. |
|---|
| 228 |
max_logins 120 |
|---|
| 229 |
|
|---|
| 230 |
# Should there be a limit on the number of concurrent guest logins the MUSH |
|---|
| 231 |
# will allow? This option can take 3 values: |
|---|
| 232 |
# 0 = no limit, any number of guests. Logins beyond the number of established |
|---|
| 233 |
# guest characters will result in multiple players being logged into the |
|---|
| 234 |
# same guest character. |
|---|
| 235 |
# -1 = limited to the number of guests in the database. To allow more guests |
|---|
| 236 |
# to log in, create more guest characters. |
|---|
| 237 |
# Any other number = the number of guest connections allowed at once. |
|---|
| 238 |
max_guests 0 |
|---|
| 239 |
|
|---|
| 240 |
# How much MUSH money do players get when they're created? |
|---|
| 241 |
starting_money 150 |
|---|
| 242 |
|
|---|
| 243 |
# How much MUSH money do non-guest players get each day they log in? |
|---|
| 244 |
paycheck 50 |
|---|
| 245 |
|
|---|
| 246 |
# How much MUSH money do guests get each day they log in? |
|---|
| 247 |
guest_paycheck 0 |
|---|
| 248 |
|
|---|
| 249 |
# What's the most money anyone but guests can have? |
|---|
| 250 |
max_pennies 100000 |
|---|
| 251 |
|
|---|
| 252 |
# What's the most money guests can have? |
|---|
| 253 |
max_guest_pennies 1000 |
|---|
| 254 |
|
|---|
| 255 |
# If quotas are enforced, how much players get by default |
|---|
| 256 |
starting_quota 20 |
|---|
| 257 |
|
|---|
| 258 |
# number of commands a player can have queued. Prevents runaway machines |
|---|
| 259 |
# from getting out of hand. |
|---|
| 260 |
player_queue_limit 100 |
|---|
| 261 |
|
|---|
| 262 |
# the number of commands run from the queue when there is no net activity |
|---|
| 263 |
queue_chunk 3 |
|---|
| 264 |
|
|---|
| 265 |
# the number of commands run from the queue when there is net activity |
|---|
| 266 |
active_queue_chunk 1 |
|---|
| 267 |
|
|---|
| 268 |
# the maximum level of recursion allowed in functions |
|---|
| 269 |
function_recursion_limit 50 |
|---|
| 270 |
|
|---|
| 271 |
# the maximum number of functions that can be invoked |
|---|
| 272 |
function_invocation_limit 2500 |
|---|
| 273 |
|
|---|
| 274 |
# the maximum depth we're allowed to recursively call the parser |
|---|
| 275 |
# for a single expression. This limits how much the stack size can increase, |
|---|
| 276 |
# which could be useful if your host limits your stack (it will prevent |
|---|
| 277 |
# a crash). The higher your allowed stack size limit, the larger the |
|---|
| 278 |
# mush process can grow, and the higher this can be set. Generally |
|---|
| 279 |
# speaking, you won't ever see more than 8192 recursions, so that's |
|---|
| 280 |
# probably an upper limit, but most sane code shouldn't need more |
|---|
| 281 |
# than a couple hundred. Setting it to '0' means unlimited. |
|---|
| 282 |
call_limit 100 |
|---|
| 283 |
|
|---|
| 284 |
# The maximum number of milliseconds of CPU time that a single queue entry |
|---|
| 285 |
# is allowed to use before aborting. Setting this to a low number will |
|---|
| 286 |
# help prevent many malicious attacks, as well as accidently bad code, |
|---|
| 287 |
# from lagging the game. Setting it to 0 means unlimited, and is a bad |
|---|
| 288 |
# idea. Remember there are 1000 milliseconds in a second. |
|---|
| 289 |
queue_entry_cpu_time 1500 |
|---|
| 290 |
|
|---|
| 291 |
# How many channels total can be created? |
|---|
| 292 |
# This doesn't allocate memory, it just sets a maximum. |
|---|
| 293 |
max_channels 200 |
|---|
| 294 |
|
|---|
| 295 |
# How many channels can each non-admin create? Set this to some number |
|---|
| 296 |
# higher than zero to allow mortals to create channels. |
|---|
| 297 |
max_player_chans 0 |
|---|
| 298 |
|
|---|
| 299 |
# What's the maximum number of levels of parenting allowed |
|---|
| 300 |
max_parents 10 |
|---|
| 301 |
|
|---|
| 302 |
# What's the max chain length of indirect locks allowed? |
|---|
| 303 |
max_depth 10 |
|---|
| 304 |
|
|---|
| 305 |
# How many @functions can we have? If you change this without # doing a |
|---|
| 306 |
# shutdown (or shutdown/reboot) immediately thereafter, you'll very likely |
|---|
| 307 |
# crash your MUSH, so don't do that. |
|---|
| 308 |
max_global_fns 50 |
|---|
| 309 |
|
|---|
| 310 |
# How much does it cost a mortal to create a channel? |
|---|
| 311 |
chan_cost 1000 |
|---|
| 312 |
|
|---|
| 313 |
# How likely should it be that noisy whispers are noticed by other |
|---|
| 314 |
# players in the room? (Others see: John whispers to Mary.) |
|---|
| 315 |
# Use a number from 0 to 100 |
|---|
| 316 |
whisper_loudness 100 |
|---|
| 317 |
|
|---|
| 318 |
# the highest allowable dbref -- you can't build more than this |
|---|
| 319 |
# many objects. if you don't want such a limit, leave this set |
|---|
| 320 |
# to 0. |
|---|
| 321 |
max_dbref 0 |
|---|
| 322 |
|
|---|
| 323 |
# The maximum number of attributes per object. This prevents |
|---|
| 324 |
# denial-of-service attacks involving creating an infinite number |
|---|
| 325 |
# of attributes on an object. This value is probably enough. |
|---|
| 326 |
max_attrs_per_obj 2048 |
|---|
| 327 |
|
|---|
| 328 |
# The maximum number of mail messages in each player's inbox. |
|---|
| 329 |
# Encourages people to clean up their inbox, discourages |
|---|
| 330 |
# mailspammers. |
|---|
| 331 |
mail_limit 300 |
|---|
| 332 |
|
|---|
| 333 |
# If you kill someone, you can spend up to 100 coins; the chance |
|---|
| 334 |
# of killing them is the number of coins you spend. What's the |
|---|
| 335 |
# minimum number of coins that must be spent, and the default |
|---|
| 336 |
# number if no number is given? |
|---|
| 337 |
kill_min_cost 10 |
|---|
| 338 |
kill_default_cost 10 |
|---|
| 339 |
|
|---|
| 340 |
# If you kill someone, they get paid off. The payoff is this |
|---|
| 341 |
# percentage of the amount you spent to kill them. The usual is 50%. |
|---|
| 342 |
kill_bonus 50 |
|---|
| 343 |
|
|---|
| 344 |
# How much to various commands cost: |
|---|
| 345 |
find_cost 100 |
|---|
| 346 |
page_cost 0 |
|---|
| 347 |
|
|---|
| 348 |
# How many objects are equal to 1 quota, if quotas are used |
|---|
| 349 |
quota_cost 1 |
|---|
| 350 |
|
|---|
| 351 |
# How much deposit is required to queue a command? |
|---|
| 352 |
queue_cost 10 |
|---|
| 353 |
|
|---|
| 354 |
# One out of how many commands that are queued will cost the |
|---|
| 355 |
# player a coin? Setting this to 1 causes a coin to be lost with |
|---|
| 356 |
# every command. Setting it to 0 disables coin loss for queued |
|---|
| 357 |
# commands (and is a very bad idea). |
|---|
| 358 |
queue_loss 63 |
|---|
| 359 |
|
|---|
| 360 |
# What does it cost to build various things? |
|---|
| 361 |
room_cost 10 |
|---|
| 362 |
object_cost 10 |
|---|
| 363 |
link_cost 1 |
|---|
| 364 |
exit_cost 1 |
|---|
| 365 |
|
|---|
| 366 |
# How often should we run a purge to remove destroyed objects? (seconds) |
|---|
| 367 |
purge_interval 10m1s |
|---|
| 368 |
|
|---|
| 369 |
# How often should we run a dbck to check db consistency? (seconds) |
|---|
| 370 |
dbck_interval 9m59s |
|---|
| 371 |
|
|---|
| 372 |
# How often should we perform topology warning checks? |
|---|
| 373 |
# Default is 1 hour. If you set this to 0, timed MUSH-wide checks |
|---|
| 374 |
# will be disabled, but players can still use @wcheck. |
|---|
| 375 |
warn_interval 1h |
|---|
| 376 |
|
|---|
| 377 |
# If compiled with FLOATING_POINTS support, this controls the |
|---|
| 378 |
# decimal precision of numbers. Default is 6 digits after the |
|---|
| 379 |
# decimal point. |
|---|
| 380 |
float_precision 6 |
|---|
| 381 |
|
|---|
| 382 |
# The password that must be given to do an @logwipe. You must also |
|---|
| 383 |
# be God, of course. CHANGE THIS. |
|---|
| 384 |
log_wipe_passwd zap! |
|---|
| 385 |
|
|---|
| 386 |
# The maximum length of player names. Lowering this won't change |
|---|
| 387 |
# current player names. This number should be one greater than the |
|---|
| 388 |
# actual maximum length you want. |
|---|
| 389 |
player_name_len 16 |
|---|
| 390 |
|
|---|
| 391 |
# The maximum number of aliases a player may have simultaneously. |
|---|
| 392 |
# Setting this to 0 disables aliases. To allow an unlimited number |
|---|
| 393 |
# of aliases, set this to 4000 or so. |
|---|
| 394 |
max_aliases 3 |
|---|
| 395 |
|
|---|
| 396 |
# Limit the number of objects players can own. |
|---|
| 397 |
use_quota yes |
|---|
| 398 |
|
|---|
| 399 |
### |
|---|
| 400 |
### Dump stuff |
|---|
| 401 |
### |
|---|
| 402 |
|
|---|
| 403 |
# How often should the database be dumped, in seconds? |
|---|
| 404 |
# 3600 is once an hour, and probably the most frequent you'd ever want. |
|---|
| 405 |
# On a large MUSH, consider at most once every 3-6 hours. |
|---|
| 406 |
# This cannot be a multiple of any of the timer.c parameters |
|---|
| 407 |
# (so keep it an even number of hours). |
|---|
| 408 |
dump_interval 1h |
|---|
| 409 |
|
|---|
| 410 |
# should I fork a concurrent process to do database dumps? |
|---|
| 411 |
# If I do, your memory requirements will double during the dump. |
|---|
| 412 |
# If I don't, the MUSH will pause while it dumps. |
|---|
| 413 |
# If you're low on memory, don't do this. |
|---|
| 414 |
# If you're on Win32, don't do this; fork() is not defined. |
|---|
| 415 |
forking_dump yes |
|---|
| 416 |
|
|---|
| 417 |
# If you're not forking, you get a bunch of messages that you |
|---|
| 418 |
# can set to warn players when the dump is 5 minutes away, |
|---|
| 419 |
# 1 minute away, in progress, and finished. You can |
|---|
| 420 |
# leave messages you don't want blank, but don't comment |
|---|
| 421 |
# them out or remove them from the file or you'll get the |
|---|
| 422 |
# default messages. |
|---|
| 423 |
dump_warning_5min GAME: Database save in 5 minutes. |
|---|
| 424 |
dump_warning_1min GAME: Database save in 1 minute. |
|---|
| 425 |
dump_message GAME: Saving database. Game may freeze for a few moments. |
|---|
| 426 |
dump_complete GAME: Save complete. |
|---|
| 427 |
|
|---|
| 428 |
|
|---|
| 429 |
### |
|---|
| 430 |
### Filenames |
|---|
| 431 |
### |
|---|
| 432 |
|
|---|
| 433 |
# Text files shown on connection, as message of the day, |
|---|
| 434 |
# as wizard message of the day, on quit, to newly created players, |
|---|
| 435 |
# when logins are disabled, when player creation is disabled, |
|---|
| 436 |
# and when a guest logs in. |
|---|
| 437 |
connect_file txt/connect.txt |
|---|
| 438 |
motd_file txt/motd.txt |
|---|
| 439 |
wizmotd_file txt/wizmotd.txt |
|---|
| 440 |
quit_file txt/quit.txt |
|---|
| 441 |
newuser_file txt/newuser.txt |
|---|
| 442 |
down_file txt/down.txt |
|---|
| 443 |
register_create_file txt/register.txt |
|---|
| 444 |
guest_file txt/guest.txt |
|---|
| 445 |
full_file txt/full.txt |
|---|
| 446 |
|
|---|
| 447 |
# The equivalent files in html, shown to Pueblo clients. |
|---|
| 448 |
connect_html_file txt/connect.html |
|---|
| 449 |
motd_html_file txt/motd.html |
|---|
| 450 |
wizmotd_html_file txt/wizmotd.html |
|---|
| 451 |
quit_html_file txt/quit.html |
|---|
| 452 |
newuser_html_file txt/newuser.html |
|---|
| 453 |
down_html_file txt/down.html |
|---|
| 454 |
register_create_html_file txt/register.html |
|---|
| 455 |
guest_html_file txt/guest.html |
|---|
| 456 |
full_html_file txt/full.html |
|---|
| 457 |
|
|---|
| 458 |
# The big text files. New ones can be added by setting up |
|---|
| 459 |
# a new subdirectory of game/txt as described in game/txt/README, |
|---|
| 460 |
# and adding a new help_command line below, or uncommenting one of |
|---|
| 461 |
# the normal file entries. |
|---|
| 462 |
|
|---|
| 463 |
#help_command events txt/events.txt |
|---|
| 464 |
#help_command index txt/index.txt |
|---|
| 465 |
#help_command rules txt/rules.txt |
|---|
| 466 |
#help_command +help txt/plushelp.txt |
|---|
| 467 |
|
|---|
| 468 |
help_command help txt/help.txt |
|---|
| 469 |
help_command news txt/news.txt |
|---|
| 470 |
ahelp_command ahelp txt/help.txt |
|---|
| 471 |
restrict_command ahelp admin |
|---|
| 472 |
ahelp_command anews txt/news.txt |
|---|
| 473 |
restrict_command anews admin |
|---|
| 474 |
|
|---|
| 475 |
### Config directive for IDENT. |
|---|
| 476 |
### If you want to do ident (RFC1143) lookups, set use_ident to "yes" |
|---|
| 477 |
### and select an ident_timeout to determine how long the MUSH |
|---|
| 478 |
### should wait for a response, in seconds. If you're using |
|---|
| 479 |
### INFO_SLAVE (in options.h), this is how long the info_slave waits. |
|---|
| 480 |
# Changing this while using info_slave requires a @shutdown/reboot |
|---|
| 481 |
# to make it take effect. |
|---|
| 482 |
use_ident yes |
|---|
| 483 |
ident_timeout 5s |
|---|
| 484 |
|
|---|
| 485 |
### |
|---|
| 486 |
### Logging |
|---|
| 487 |
### |
|---|
| 488 |
### When selecting log files, you may assign multiple logs to the |
|---|
| 489 |
### same filename. If you don't assign a filename to a log, |
|---|
| 490 |
### messages are written on stderr instead (usually redirected to |
|---|
| 491 |
### log/netmush.log). Probably unwise to change these in a running |
|---|
| 492 |
### MUSH. |
|---|
| 493 |
### |
|---|
| 494 |
|
|---|
| 495 |
# Filename to log important messages (startups, errors, shutdowns) |
|---|
| 496 |
error_log log/netmush.log |
|---|
| 497 |
|
|---|
| 498 |
# Filename to log connections to |
|---|
| 499 |
connect_log log/connect.log |
|---|
| 500 |
|
|---|
| 501 |
# Filename to log wizard commands to |
|---|
| 502 |
wizard_log log/wizard.log |
|---|
| 503 |
|
|---|
| 504 |
# Filename to log dump checkpoint messages to |
|---|
| 505 |
checkpt_log log/checkpt.log |
|---|
| 506 |
|
|---|
| 507 |
# Filename to log debugging trace messages to |
|---|
| 508 |
trace_log log/trace.log |
|---|
| 509 |
|
|---|
| 510 |
# Filename to log commands by SUSPECT players to |
|---|
| 511 |
command_log log/command.log |
|---|
| 512 |
|
|---|
| 513 |
# log all commands. Makes big, big command.log files. Use only for |
|---|
| 514 |
# debugging, generally. |
|---|
| 515 |
log_commands no |
|---|
| 516 |
|
|---|
| 517 |
# log forces done by wizards |
|---|
| 518 |
log_forces yes |
|---|
| 519 |
|
|---|
| 520 |
# perform memory allocation tracking (logged on @dump) to help find |
|---|
| 521 |
# memory leaks. This really shouldn't be changed while the server |
|---|
| 522 |
# is running - it's only useful if you do a full shutdown, turn |
|---|
| 523 |
# this on, and then start up. Generally, you want this off. |
|---|
| 524 |
mem_check no |
|---|
| 525 |
|
|---|
| 526 |
### |
|---|
| 527 |
### Logins |
|---|
| 528 |
### |
|---|
| 529 |
|
|---|
| 530 |
# Support the pueblo MUSH client and allow html to be sent to it |
|---|
| 531 |
pueblo no |
|---|
| 532 |
|
|---|
| 533 |
# allow non-wizard/royalty logins |
|---|
| 534 |
logins yes |
|---|
| 535 |
|
|---|
| 536 |
# allow guest logins |
|---|
| 537 |
guests yes |
|---|
| 538 |
|
|---|
| 539 |
# allow players to create/register characters at the login screen |
|---|
| 540 |
# If you turn this off, neither "create" nor "register" will work. |
|---|
| 541 |
# Use access.cnf if you want to disable creation for specific sites |
|---|
| 542 |
# or disable creation but enable registration for everyone. |
|---|
| 543 |
player_creation yes |
|---|
| 544 |
|
|---|
| 545 |
# If you use the shs password system, and your database was created |
|---|
| 546 |
# on a little-endian hardware architecture (such as an intel PC), |
|---|
| 547 |
# set this to 'yes'. If your database was created on a big-endian |
|---|
| 548 |
# hardware architecture (most non-intel systems), set this to 'no'. |
|---|
| 549 |
# If you port a db with shs passwords between systems, and the |
|---|
| 550 |
# passwords don't work, try changing this setting. |
|---|
| 551 |
reverse_shs yes |
|---|
| 552 |
|
|---|
| 553 |
# trigger @aconnect/@adisconnect in a connecting player's location |
|---|
| 554 |
# if the location is a room or thing? |
|---|
| 555 |
room_connects no |
|---|
| 556 |
|
|---|
| 557 |
### |
|---|
| 558 |
### SQL connectivity |
|---|
| 559 |
### |
|---|
| 560 |
|
|---|
| 561 |
# What SQL server platform should we use? Options include: |
|---|
| 562 |
# mysql, postgresql, sqlite3, disabled (the default) |
|---|
| 563 |
sql_platform disabled |
|---|
| 564 |
|
|---|
| 565 |
# What's the SQL hostname? Use '127.0.0.1' for a TCP connection |
|---|
| 566 |
# to the local host on port 3306, '<hostip>:<port#>' for a TCP |
|---|
| 567 |
# connection on another port (e.g. 127.0.0.1:3307), and |
|---|
| 568 |
# the word 'localhost' for a domain socket connection. |
|---|
| 569 |
sql_host 127.0.0.1 |
|---|
| 570 |
|
|---|
| 571 |
# What's the SQL database? You have to set this to a database that |
|---|
| 572 |
# you create, or the filename of a sqlite3 database. |
|---|
| 573 |
sql_database mush |
|---|
| 574 |
|
|---|
| 575 |
# What username to access the database? |
|---|
| 576 |
sql_username mush |
|---|
| 577 |
|
|---|
| 578 |
# What password for that user? Change this! |
|---|
| 579 |
sql_password mush |
|---|
| 580 |
|
|---|
| 581 |
### |
|---|
| 582 |
### Options affecting commands and functions |
|---|
| 583 |
### (See also restrict_command to restrict command use) |
|---|
| 584 |
### |
|---|
| 585 |
|
|---|
| 586 |
# The old daytime directive is better suited to restrict_command |
|---|
| 587 |
# or @command/disable. |
|---|
| 588 |
|
|---|
| 589 |
# prevent objects from evaluating ufuns on more privileged objects. [++] |
|---|
| 590 |
safer_ufun yes |
|---|
| 591 |
|
|---|
| 592 |
# allow functions that have side effects? (e.g. dig(), etc.) |
|---|
| 593 |
function_side_effects yes |
|---|
| 594 |
|
|---|
| 595 |
# default whisper to whisper/noisy instead of whisper/silent |
|---|
| 596 |
noisy_whisper no |
|---|
| 597 |
|
|---|
| 598 |
# default @cemit to @cemit/noisy instead of @cemit/silent |
|---|
| 599 |
noisy_cemit no |
|---|
| 600 |
|
|---|
| 601 |
# is possessive get (get players's object) allowed? |
|---|
| 602 |
possessive_get yes |
|---|
| 603 |
|
|---|
| 604 |
# what if the player is disconnected? |
|---|
| 605 |
possessive_get_d no |
|---|
| 606 |
|
|---|
| 607 |
# SAFE absolutely prevents destruction, even with @nuke |
|---|
| 608 |
really_safe yes |
|---|
| 609 |
|
|---|
| 610 |
# With this turned on, ZMRs and ZMOs are not included in control |
|---|
| 611 |
# checking. Only Zone Master Players are. The other zone types are |
|---|
| 612 |
# still used for command-matching, just not for control purposes. |
|---|
| 613 |
# Highly recomended. |
|---|
| 614 |
zone_control_zmp_only yes |
|---|
| 615 |
|
|---|
| 616 |
# When a player is nuked, his SAFE objects are @chowned to God. |
|---|
| 617 |
# If this is set to "yes", his non-safe objects are destroyed |
|---|
| 618 |
# If this is set to "no", they are chowned to God |
|---|
| 619 |
destroy_possessions yes |
|---|
| 620 |
|
|---|
| 621 |
# Can we @link to an object? |
|---|
| 622 |
link_to_object yes |
|---|
| 623 |
|
|---|
| 624 |
# Keep queue limits on a per-owner rather than per-object basis? |
|---|
| 625 |
# That is, is an object runaway when its owner's total queue is too |
|---|
| 626 |
# high, rather than when the object's queue is too high? |
|---|
| 627 |
owner_queues no |
|---|
| 628 |
|
|---|
| 629 |
# If this is yes, DARK wizards do not trigger AENTER/ALEAVE when they move. |
|---|
| 630 |
# If it's no, they are just like anybody else. |
|---|
| 631 |
wiz_noaenter no |
|---|
| 632 |
|
|---|
| 633 |
# should say/pose by a DARK wizard be anonymous ('Someone says...')? |
|---|
| 634 |
full_invis no |
|---|
| 635 |
|
|---|
| 636 |
# Are empty attributes preserved? If this is yes, you can do |
|---|
| 637 |
# &ATTR obj= and obj will have an attribute ATTR set, with an empty value. |
|---|
| 638 |
# If this is no, that same command would clear the attribute instead. |
|---|
| 639 |
empty_attrs yes |
|---|
| 640 |
|
|---|
| 641 |
### |
|---|
| 642 |
### TinyMUSH compatibility |
|---|
| 643 |
### |
|---|
| 644 |
|
|---|
| 645 |
# Should we treat a missing number as 0 in things like add(3,)? |
|---|
| 646 |
# For TinyMUSH compatibility, the answer is 'no'. |
|---|
| 647 |
null_eq_zero no |
|---|
| 648 |
|
|---|
| 649 |
# In PennMUSH, strings and db#s larger than #0 have traditionally |
|---|
| 650 |
# been considered true (1) in boolean functions like and(), or(), etc. |
|---|
| 651 |
# In TinyMUSH, strings and db#s evaluate as false (0) |
|---|
| 652 |
# Should we emulate TinyMUSH? |
|---|
| 653 |
tiny_booleans no |
|---|
| 654 |
|
|---|
| 655 |
# TinyMUSH's trim function is: |
|---|
| 656 |
# trim(<string> [,<trim style> [,<trim character>]]) |
|---|
| 657 |
# PennMUSH's trim function has been: |
|---|
| 658 |
# trim(<string>[,<character to trim>[,<trim style>]]) |
|---|
| 659 |
# Should we emulate TinyMUSH? [+ for new MUSHes] |
|---|
| 660 |
tiny_trim_fun yes |
|---|
| 661 |
|
|---|
| 662 |
# In Tiny, strings used in math expressions evaluate to 0, |
|---|
| 663 |
# so eq(asdfa,0) = 1, gt(asdf,0) = 0, etc. |
|---|
| 664 |
# In Penn, using strings where numbers should be is traditionally an |
|---|
| 665 |
# error (returning #-1 ARGUMENT MUST BE NUMBER or similar) |
|---|
| 666 |
# Do you want the TinyMUSH behavior? |
|---|
| 667 |
tiny_math no |
|---|
| 668 |
|
|---|
| 669 |
# should @pemit default to @pemit/silent, like TinyMUSH? |
|---|
| 670 |
silent_pemit no |
|---|
| 671 |
|
|---|
| 672 |
### |
|---|
| 673 |
### Attributes |
|---|
| 674 |
### |
|---|
| 675 |
|
|---|
| 676 |
# enable the adestroy attribute, triggered when an object is nuked? |
|---|
| 677 |
adestroy no |
|---|
| 678 |
|
|---|
| 679 |
# enable the amail attribute for admin, triggered when they receive |
|---|
| 680 |
# @mail? This does no mail loop checking. [-] |
|---|
| 681 |
amail no |
|---|
| 682 |
|
|---|
| 683 |
# does @listen work on players? |
|---|
| 684 |
player_listen yes |
|---|
| 685 |
|
|---|
| 686 |
# does @ahear work on players? If player_listen is yes, and |
|---|
| 687 |
# player_ahear is no, sound outside the player can be heard by her |
|---|
| 688 |
# inventory, but her @ahear isn't executed. |
|---|
| 689 |
player_ahear yes |
|---|
| 690 |
|
|---|
| 691 |
# Should we trigger the @startup attribute on startup? |
|---|
| 692 |
# You always want to, unless you need to disable some |
|---|
| 693 |
# malicious code on an @startup. This does not affect the |
|---|
| 694 |
# @restart command, which will work even if this is "no". |
|---|
| 695 |
startups yes |
|---|
| 696 |
|
|---|
| 697 |
# Can @desc attributes be accessed remotely by everyone? |
|---|
| 698 |
# Historically, this was allowed, but it makes it difficult to |
|---|
| 699 |
# have hidden objects with secrets in their @desc if players |
|---|
| 700 |
# can remotely get the @desc. If set to "no", you must be |
|---|
| 701 |
# able to look at something to retrieve its @desc. |
|---|
| 702 |
read_remote_desc no |
|---|
| 703 |
|
|---|
| 704 |
### |
|---|
| 705 |
### Cosmetic stuff |
|---|
| 706 |
### |
|---|
| 707 |
|
|---|
| 708 |
# show room/object/player names in bold for ansi players? |
|---|
| 709 |
ansi_names yes |
|---|
| 710 |
|
|---|
| 711 |
# show exit lists with commas (a, b, and c)? |
|---|
| 712 |
comma_exit_list no |
|---|
| 713 |
|
|---|
| 714 |
# count hidden players when WHO reports total connected? |
|---|
| 715 |
count_all no |
|---|
| 716 |
|
|---|
| 717 |
# are rooms with any exits considered connected, and thus not required |
|---|
| 718 |
# to have the FLOATING flag set on them? |
|---|
| 719 |
exits_connect_rooms no |
|---|
| 720 |
|
|---|
| 721 |
# Prefixes for various broadcast messages |
|---|
| 722 |
wizwall_prefix Broadcast: |
|---|
| 723 |
rwall_prefix Admin: |
|---|
| 724 |
wall_prefix Announcement: |
|---|
| 725 |
|
|---|
| 726 |
# Should we announce connections/disconnections to rooms and on channels? |
|---|
| 727 |
# If this is disabled, only MONITOR players will see connect/disconnect. |
|---|
| 728 |
# @aconnect/@adisconnect, however, are still triggered, so you can |
|---|
| 729 |
# softcode whatever connection monitor you like. Players will probably |
|---|
| 730 |
# object if you don't at least show them when someone connects in |
|---|
| 731 |
# the room with them. |
|---|
| 732 |
announce_connects yes |
|---|
| 733 |
|
|---|
| 734 |
# can players have names with spaces in them? |
|---|
| 735 |
player_name_spaces no |
|---|
| 736 |
|
|---|
| 737 |
# show expanded flag name list when you examine an object? |
|---|
| 738 |
flags_on_examine yes |
|---|
| 739 |
|
|---|
| 740 |
# show visual attributes when you examine an object you don't own? |
|---|
| 741 |
# (like examine/full in TinyMUSH) |
|---|
| 742 |
ex_public_attribs yes |
|---|
| 743 |
|
|---|
| 744 |
# What should page a b c = message do? |
|---|
| 745 |
# If blind_page is yes, page defaults to page/blind (a,b,c each get separate |
|---|
| 746 |
# pages with no evidence that it was a multipage). If blind_page is no, |
|---|
| 747 |
# page defaults to page/list (a single page goes to a,b,c and they can |
|---|
| 748 |
# see that they all received it. |
|---|
| 749 |
blind_page yes |
|---|
| 750 |
|
|---|
| 751 |
# Should we show the pager's alias, in parentheses, after their name? |
|---|
| 752 |
# That is, should recipients see: |
|---|
| 753 |
# Javelin (Jav) paged: ... |
|---|
| 754 |
page_aliases no |
|---|
| 755 |
|
|---|
| 756 |
# Should +whatever "hi! strip the initial quote and produce <whatever> X says, |
|---|
| 757 |
# "hi!", or not (producing <whatever> X says, ""hi!"). This also affects |
|---|
| 758 |
# the @*wall and say commands. |
|---|
| 759 |
chat_strip_quote yes |
|---|
| 760 |
|
|---|
| 761 |
|
|---|
| 762 |
# Should strlen(%r) be 1 or 2? Turning this option on will allow %r to be |
|---|
| 763 |
# used as a list delimiter, but might break formatting softcode that depends |
|---|
| 764 |
# on its length being 2. |
|---|
| 765 |
newline_one_char yes |
|---|
| 766 |
|
|---|
| 767 |
|
|---|
| 768 |
# Should object names be restricted to just ascii characters, or can |
|---|
| 769 |
# non-ascii (Accented letters, for example) be used as well if the |
|---|
| 770 |
# mush'es locale permits? Not reccomended except for |
|---|
| 771 |
# non-english-language games, as people with tend to have problems |
|---|
| 772 |
# typing in those extra characters. @nameaccent is the preferred way to |
|---|
| 773 |
# get fancy names. |
|---|
| 774 |
only_ascii_in_names yes |
|---|
| 775 |
|
|---|
| 776 |
### |
|---|
| 777 |
### Default flags for newly created stuff |
|---|
| 778 |
### To get multiple flags, you may repeat these directives: |
|---|
| 779 |
### player_flags flag1 |
|---|
| 780 |
### player_flags flag2 |
|---|
| 781 |
### As of 1.7.7p6, you may also stack them on one directive: |
|---|
| 782 |
### player_flags flag1 flag2 |
|---|
| 783 |
### |
|---|
| 784 |
|
|---|
| 785 |
# -- Default flags for exits |
|---|
| 786 |
|
|---|
| 787 |
# Uncommenting this will cause the exit default to be DARK (like in TinyMUD): |
|---|
| 788 |
# no exits show up on the "Obvious exits" list. |
|---|
| 789 |
# exit_flags dark |
|---|
| 790 |
|
|---|
| 791 |
# Uncommenting this will cause all exits to be TRANSPARENT by default |
|---|
| 792 |
# (if you look through them, you will see the description of the next room) |
|---|
| 793 |
# exit_flags transparent |
|---|
| 794 |
|
|---|
| 795 |
# -- Default flags for rooms |
|---|
| 796 |
|
|---|
| 797 |
# Uncommenting this will cause all rooms to be TRANSPARENT by default. |
|---|
| 798 |
# Each obvious exit in a transparent room is displayed on a line by |
|---|
| 799 |
# itself, in the format: |
|---|
| 800 |
# <Exit name> leads to <Destination name> |
|---|
| 801 |
# instead of having all exits strung out in one row. |
|---|
| 802 |
# room_flags transparent |
|---|
| 803 |
|
|---|
| 804 |
# Objects which are NO_COMMAND will not be checked for $commands. |
|---|
| 805 |
# Making this a default may speed up your server somewhat. This is |
|---|
| 806 |
# definitely a good idea for rooms and players, and, depending on |
|---|
| 807 |
# the compostion of your database, probably a good idea for things. |
|---|
| 808 |
room_flags no_command |
|---|
| 809 |
|
|---|
| 810 |
# -- Default flags for players |
|---|
| 811 |
|
|---|
| 812 |
# Players who are ENTER_OK can be given stuff. |
|---|
| 813 |
player_flags enter_ok |
|---|
| 814 |
|
|---|
| 815 |
# Players who are INHERIT allow all their objects to control them. |
|---|
| 816 |
# player_flags inherit |
|---|
| 817 |
|
|---|
| 818 |
# Players who are ANSI see attribute names hilighted. |
|---|
| 819 |
player_flags ansi |
|---|
| 820 |
|
|---|
| 821 |
# See the explanation for rooms and no_command. |
|---|
| 822 |
player_flags no_command |
|---|
| 823 |
|
|---|
| 824 |
# -- Default flags for things |
|---|
| 825 |
|
|---|
| 826 |
# For example, you can't see through OPAQUE things. |
|---|
| 827 |
# thing_flags opaque |
|---|
| 828 |
|
|---|
| 829 |
# See the explanation for rooms and no_command. |
|---|
| 830 |
thing_flags no_command |
|---|
| 831 |
|
|---|
| 832 |
# -- Default flags for newly created channels |
|---|
| 833 |
# |
|---|
| 834 |
# For example, you might want: |
|---|
| 835 |
# channel_flags player quiet open hide_ok |
|---|
| 836 |
channel_flags player |
|---|
| 837 |
|
|---|
| 838 |
### |
|---|
| 839 |
### Reserved command names, and command and function aliases are in |
|---|
| 840 |
### alias.cnf |
|---|
| 841 |
### |
|---|
| 842 |
include alias.cnf |
|---|
| 843 |
|
|---|
| 844 |
### |
|---|
| 845 |
### Restrictions on command usage are in restrict.cnf |
|---|
| 846 |
### |
|---|
| 847 |
include restrict.cnf |
|---|
| 848 |
|
|---|