PennMUSH Community

Changeset 349

Show
Ignore:
Timestamp:
08/12/06 03:48:41 (2 years ago)
Author:
pennmush
Message:

PennMUSH 1.7.5p7 Archival

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 1.7.5/CHANGES

    r347 r349  
    1818 
    1919========================================================================== 
     20 
     21Version 1.7.5 patchlevel 7                     May 14, 2002 
     22 
     23Utilities: 
     24  * 'make globalinstall' will install executables, scripts, and 
     25    a game/ directory structure in a global location (/usr/libexec/pennmush 
     26    by default). Facilitates rpm builds. By Vadiv@M*U*S*H. 
     27  * The utils/ln-dir.sh script can be used to clone a globalinstall'd 
     28    pennmush for an individual MUSH/user. In combination, these two 
     29    are a replacement for 'make customize', especially for mud hosters. 
     30    By Vadiv@M*U*S*H. 
     31  * You can now configure options.h settings from the command line 
     32    using: make DEFINE="OPTION OPTION=value" UNDEFINE="OPTION" update 
     33    This will mostly be useful for autoinstallers and packaging scripts. 
     34    Suggested by Vadiv@M*U*S*H. 
     35Minor Changes: 
     36  * The default gcc compile flags now include some extra warnings. 
     37  * The prefix-table code now only aliases down to unique prefixes. 
     38    This prevents @w from calling @wipe (reported by Philip Mak), 
     39    and means that you'll need to use alias.cnf to get some of those 
     40    short aliases. [SW] 
     41  * Attribute lookups only do prefix-matching on attributes with the 
     42    AF_PREFIXMATCH flag. Most standard atr_tab.h attributes have this 
     43    flag, but newly added @attributes won't. Solves a problem with  
     44    inadvertant prefix-matching of @attribs reported by Sam Knowlton. 
     45Fixes: 
     46  * Fixes from 1.7.4p18 
     47  * @decomp/skipdefaults skips @lsets of default lock flags. 
     48    Suggested by Oriens@Alexandria. [SW] 
     49  * Typo in src/bsd.c corrected. Reported by Nymeria@M*U*S*H. 
     50  * Missing prototype in src/help.c. Reported by Nymeria@M*U*S*H. 
     51  * A bunch of linting. 
     52  * Win32 portability fixes. [EEH] 
     53  * Updated MSVC++ project files for win32. [EEH] 
     54  * @newpassword = foo would change the password of an arbitrary player. 
     55    This is now corrected. Report by Oriens@Alexandria. 
    2056 
    2157Version 1.7.5 patchlevel 6                     April 22, 2002 
  • 1.7.5/CHANGES.174

    r347 r349  
    1919========================================================================== 
    2020 
    21 Version 1.7.4 patchlevel 18            April 14, 2002 
    22  
    23 Fixes: 
     21Version 1.7.4 patchlevel 19            May 6, 2002 
     22 
     23Fixes: 
     24  * Win32 portability fixes. [EEH] 
     25 
     26 
     27Version 1.7.4 patchlevel 18            May 6, 2002 
     28 
     29Minor Changes: 
     30  * The Mersenne Twister RNG has been backported from 1.7.5 into 
     31    this patchlevel, as it is not susceptible to some bugs that could 
     32    cause the RNG to hang the server. Report by Bellemore@M*U*S*H. 
     33  * Improved detection of info_slave errors. Based on patch by CU5. 
     34  * Rooms and exits can now be @forced. Suggested by Philip Mak. 
     35  * Deleting files from the hlp/nws/etc. directories is now sufficient 
     36    to cause game/txt/Makefile to rebuild the txt files. Patch by 
     37    Philip Mak. 
     38  * A see_all player may now use @chan/decompile on any channel. 
     39    Previously, the ROYALTY flag was required. Suggested by Oriens@Alexandria. 
     40Fixes: 
     41  * The QUEUE and semaphore attributes aren't listed in @decompile 
     42    anymore. Suggested by Oriens@Alexandria. [SW] 
     43  * Several compiler warnings fixed. [SW] 
     44  * The LASTSITE and LASTIP attributes are now set locked and wizard by default, 
     45    to go along with the other connection-tracking attributes. [SW] 
     46  * Help on-vacation updated. Report by Nymeria@M*U*S*H. 
    2447  * Help for following() function added. Report by Ashen-Shugar@Rhost. 
     48  * The last line of the access.cnf file sometimes wouldn't get read  
     49    properly. [SW] 
     50  * lnum improperly cached its return values without consideration for 
     51    changes in separator, so subsequent lnums with different separators 
     52    broke. Reported by Rhysem and Ambrosia@M*U*S*H. [TAP] 
     53  * Failing to speak on a channel you can't see no longer reveals the 
     54    full channel name. Reported by Vadiv@M*U*S*H. 
     55  * Passing a negative argument to the space() function now returns 
     56    an error string instead of 8192 blanks. Patch by Myrddin. 
     57  * Improved messages for following/unfollowing an ambiguous object. 
     58    Reported by Philip Mak. 
     59 
    2560 
    2661Version 1.7.4 patchlevel 17            April 14, 2002 
  • 1.7.5/Configure

    r345 r349  
    399399i_varargs='' 
    400400i_varhdr='' 
     401install='' 
     402installdir='' 
    401403libc='' 
    402404glibpth='' 
     
    13191321awk 
    13201322cat 
     1323chmod 
    13211324comm 
     1325cp 
    13221326echo 
    13231327expr 
    13241328grep 
    13251329make 
     1330mkdir 
    13261331rm 
    13271332sed 
     
    27182723case "$gccversion" in 
    27192724    2*)  
    2720             pennmushgccflags="-W -Wreturn-type -Wswitch -Wshadow -Wwrite-strings -Wformat -Wparentheses -Wuninitialized
     2725            pennmushgccflags="-Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-cast -Wnested-externs -Wmissing-declarations -W -Wcast-align -Wbad-function-cast -Wno-comment -Wundef -Wpointer-arith
    27212726            case "$dflt" in 
    27222727        'none') dflt="$pennmushgccflags" ;; 
     
    27262731        ;; 
    27272732    egcs*)  
    2728             pennmushgccflags="-W -Wreturn-type -Wswitch -Wshadow -Wwrite-strings -Wformat -Wparentheses -Wuninitialized
     2733            pennmushgccflags="-Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-cast -Wnested-externs -Wmissing-declarations -W -Wcast-align -Wbad-function-cast -Wno-comment -Wundef -Wpointer-arith
    27292734            case "$dflt" in 
    27302735        'none') dflt="$pennmushgccflags" ;; 
     
    55655570echo "Your system uses $freetype free(), it would seem." >&4 
    55665571$rm -f malloc.[co] 
     5572: locate a BSD compatible install program 
     5573echo " " 
     5574echo "Looking for a BSD-compatible install program..." >&4 
     5575creatdir='' 
     5576case "$install" in 
     5577'') 
     5578    tryit='' 
     5579    for dir in $pth; do 
     5580        for file in ginstall installbsd scoinst install; do 
     5581            if $test -f $dir/$file; then 
     5582                tryit="$tryit $dir/$file" 
     5583            fi 
     5584        done 
     5585    done 
     5586    $cat >try.c <<EOC 
     5587main() 
     5588{ 
     5589    printf("OK\n"); 
     5590    exit(0); 
     5591} 
     5592EOC 
     5593    if $cc try.c -o try >/dev/null 2>&1; then 
     5594        cp try try.ns 
     5595        strip try >/dev/null 2>&1 
     5596    else 
     5597        echo "(I can't seem to compile a trivial C program -- bypassing.)" 
     5598        echo "try" >try 
     5599        cp try try.ns 
     5600    fi 
     5601    $cat >tryinst <<EOS 
     5602$startsh 
     5603$rm -rf foo d 
     5604\$1 -d foo/bar 
     5605$mkdir d 
     5606\$1 -c -m 764 try.ns d 
     5607\$1 -c -s -m 642 try.ns d/try 
     5608EOS 
     5609    chmod +x tryinst 
     5610    $eunicefix tryinst 
     5611    dflt='' 
     5612    either='' 
     5613    for prog in $tryit; do 
     5614        $echo $n "Checking $prog... $c" 
     5615        ./tryinst $prog >/dev/null 2>&1 
     5616        if $test -d foo/bar; then 
     5617            creatdir="$prog -d" 
     5618        fi 
     5619        (ls -l d/try >try.ls; ls -l d/try.ns >tryno.ls) 2>/dev/null 
     5620        if (cmp -s d/try try && cmp -s d/try.ns try.ns && \ 
     5621            $contains 'rwxrw-r--' tryno.ls && \ 
     5622            $contains 'rw-r---w-' try.ls) >/dev/null 2>&1 
     5623        then 
     5624            dflt="$prog" 
     5625            echo "ok, that will do." 
     5626            break 
     5627        fi 
     5628        echo "not good$either." 
     5629        either=' either' 
     5630        $rm -f try*.ls 
     5631    done 
     5632    $rm -rf foo d tryinst try try*.ls try.* 
     5633    case "$dflt" in 
     5634    '') 
     5635        dflt='install' 
     5636        ;; 
     5637    esac 
     5638    ;; 
     5639*) dflt="$install";; 
     5640esac 
     5641$cat <<EOM 
     5642 
     5643I will be requiring a BSD-compatible install program (one that allows 
     5644options like -s to strip executables or -m to specify a file mode) to 
     5645install $package. 
     5646 
     5647If the question below contains a fully qualified default path, then it 
     5648is probably ok. If it is an unqualified name such as 'install', then it 
     5649means I was unable to find out a good install program I could use. If 
     5650you know of one, please tell me about it. 
     5651 
     5652EOM 
     5653fn='/fe~(install)' 
     5654rp='Which install program shall I use?' 
     5655. ./getfile 
     5656install="$ans" 
     5657 
     5658: how can we create nested directories? 
     5659echo " " 
     5660echo "Ok, let's see how we can create nested directories..." >&4 
     5661case "$installdir" in 
     5662'') 
     5663    case "$creatdir" in 
     5664    '') 
     5665        $mkdir -p foo/bar >/dev/null 2>&1 
     5666        if $test -d foo/bar; then 
     5667            echo "Great, we can build them using 'mkdir -p'." 
     5668            creatdir='mkdir -p' 
     5669        elif eval "$install -d foo/bar"; $test -d foo/bar; then 
     5670            creatdir="install -d" 
     5671            echo "It looks like '$creatdir' will do it for us." 
     5672        fi 
     5673        ;; 
     5674    *) 
     5675        eval "$creatdir foo/bar" >/dev/null 2>&1 
     5676        if $test -d foo/bar; then 
     5677            echo "Ah! We can use '$creatdir' to do just that." 
     5678        fi 
     5679        ;; 
     5680    esac 
     5681    $rm -rf foo 
     5682    case "$creatdir" in 
     5683    '') 
     5684        echo "Heck! Another ancient system lacking the comfort of modern ones!" 
     5685        echo "We have no choice but to use plain old 'mkdir' -- wish me luck!" 
     5686        installdir=mkdir 
     5687        ;; 
     5688    *) installdir="$creatdir";; 
     5689    esac 
     5690    ;; 
     5691*) echo "As you already told me, '$installdir' should work.";; 
     5692esac 
     5693 
    55675694echo " " 
    55685695echo "Checking if your $make program sets \$(MAKE)..." >&4 
     
    67056832incpath='$incpath' 
    67066833inews='$inews' 
     6834install='$install' 
     6835installdir='$installdir' 
    67076836ksh='$ksh' 
    67086837ldflags='$ldflags' 
  • 1.7.5/MANIFEST

    r347 r349  
    147147utils/fixdepend.pl 
    148148utils/gentables.c 
     149utils/ln-dir.sh 
    149150utils/make_access_cnf.sh 
    150151utils/mkcmds.sh 
     
    152153utils/update-cnf.pl 
    153154utils/update.pl 
     155game/README 
    154156game/access.README 
    155157game/alias.cnf 
  • 1.7.5/Makefile.SH

    r339 r349  
    4242CLIBS=$libs $cryptlib 
    4343LNS=$lns 
     44INSTALL=$install 
     45INSTALLDIR=$installdir 
     46CP=$cp 
     47CHMOD=$chmod 
    4448!GROK!THIS! 
    4549 
     
    5054# stupid SYS V shell 
    5155SHELL=/bin/sh 
    52  
     56# Where to install with 'make globalinstall' 
     57GLOBAL_INSTALL=/usr/libexec/pennmush 
    5358 
    5459all: config.h options.h hdrs/cmds.h hdrs/funs.h game/mush.cnf 
     
    113118 
    114119safety: 
    115     cp src/*.c /var/pennmush-bak/src 
    116     cp hdrs/*.h /var/pennmush-bak/hdrs 
    117     cp * /var/pennmush-bak 
     120    $(CP) src/*.c /var/pennmush-bak/src 
     121    $(CP) hdrs/*.h /var/pennmush-bak/hdrs 
     122    $(CP) * /var/pennmush-bak 
    118123 
    119124distdepend: hdrs/funs.h hdrs/cmds.h 
     
    223228    compress /tmp/CSRImalloc.tar 
    224229 
     230globalinstall: install 
     231    (cd game/txt; make clean compose.sh) 
     232    $(INSTALLDIR) $(GLOBAL_INSTALL) 
     233    $(CP) -R game/* $(GLOBAL_INSTALL) 
     234    rm -f $(GLOBAL_INSTALL)/netmush $(GLOBAL_INSTALL)/info_slave 
     235    $(INSTALL) config.sh $(GLOBAL_INSTALL)/config.sh 
     236    $(INSTALL) src/netmud $(GLOBAL_INSTALL)/netmush 
     237    $(INSTALL) src/info_slave utils/ln-dir.sh $(GLOBAL_INSTALL) 
     238    $(CHMOD) a+rX -R $(GLOBAL_INSTALL) 
     239    @echo "** Files installed in $(GLOBAL_INSTALL). Feel free to move them." 
     240    @echo "** You can run $(GLOBAL_INSTALL)/ln-dir.sh to create a user directory," 
     241    @echo "** or symlink that to somewhere easier to run. You may wish to strip them." 
     242 
    225243!NO!SUBS! 
    226244chmod 755 Makefile 
  • 1.7.5/Patchlevel

    r347 r349  
    11Do not edit this file. It is maintained by the official PennMUSH patches. 
    2 This is PennMUSH 1.7.5p6 
     2This is PennMUSH 1.7.5p7 
  • 1.7.5/README

    r335 r349  
    1371374. make install 
    1381385. possibly make customize 
    139 6. edit game/mush.cnf and game/restart 
     1396. Read game/README and follow those instructions 
    140140 
    141141     Here's the process in detail: 
     
    227227so what follows may be slightly different. :) 
    228228 
    229 6. The next step is to create your configuration file. In the game 
    230 directory is a file called "mush.cnf". You may want to rename it <your 
    231 MUSH name>.cnf.  This is a list of all runtime configuration options 
    232 with their default settting. Change them as you see fit.  IMPORTANT: do 
    233 not _delete_ any parameters. They all need to be there. 
    234  
    235 Under win32 using the Microsoft compiler, DO NOT rename mush.cnf. 
    236 Also, ignore the restart script.  In the configuration file, turn 
    237 off disk database compression; it is not supported.  Remove the 
    238 .Z endings from all the database names.  If this is you first 
    239 time starting a MUSH (or you want to start a new MUSH), copy 
    240 game/data/minimal.db to game/data/outdb.  Then go to the game 
    241 directory and run PennMUSH.exe.  Poof, you're done. 
    242  
    243 For anyone using something other than win32 with the Microsoft 
    244 compiler, you must edit the restart script. You must change GAMEDIR 
    245 to whatever directory the restart script is in, and should change 
    246 CONF_FILE to the name of the configuration file if it's not mush.cnf. 
    247 The restart script is written for sh, and assumes a fairly standard 
    248 Berkeley UNIX setup. If you're on a HP-UX or SysV machine, for example, 
    249 you may need to change the restart script a bit (the ps options, for 
    250 example). 
    251  
    252  
    253 You should now be ready to start the game.  This distribution comes 
    254 packaged with a basic database - a God character, starting room, and 
    255 master room. This file is called game/data/minimal.db.  The restart 
    256 script will load this database if it doesn't find another database to 
    257 load.  The god character "One" has no password, so you can log in 
    258 without one. Of course, you should immediately set one (via @newpasswd). 
    259 options.h has the Master Room as #2 by default; in the provided 
    260 database, this room is created for you. 
    261  
    262 Now you should be set -- all you have to do now is customize the 
    263 .txt files in the game directory. 
    264  
    265 The logfiles in the "log" directory generally contain useful 
    266 information. You will probably want to read your main logfile (defined 
    267 in the restart script) every time, since errors and other important 
    268 messages get printed to that logfile. 
    269  
    270 If you have any problems, see the section on Getting Help below - it 
    271 has important information about how and where to get help! 
    272  
    273 ============================================================================ 
    274  
    275 III.   Conversion Guide (previous users) 
    276  
    277 This section explains how to upgrade to a new version of PennMUSH. 
    278 It assumes that you've got your older version of PennMUSH in  
    279 a directory called oldpenn/, and the new one unpacked into pennmush/ 
    280 All of the steps below can be taken before running Configure 
    281 for the new version, and definitely should be taken before running 
    282 'make' (or you'll have to do it again). 
    283  
    284 1. options.h and game/mush.cnf 
    285  
    286 You can copy the options.h file and game/mush.cnf file from your 
    287 old version to the new version. The 'make update' command 
    288 (run after Configure) will compare your files with the newly 
    289 distributed ones and tell you about options that have been 
    290 added or removed. If you have any options defined that the 
    291 new version doesn't recognize, you'll be asked if you want 
    292 to retain them (which is safe). 
    293  
    294 If your mush.cnf file is called something else, copy it to 
    295 mush.cnf in pennmush/game anyway, since that's the file that 
    296 gets updated. Then make a symbolic link to that file called 
    297 whatever.cnf if you want to use that. 
    298  
    299 If you've modified the restart script, you'll have to decide 
    300 if your modified script is still appropriate, or modify the 
    301 distributed game/restart script again as you like it. 
    302  
    303 You can also copy your old game/access.cnf, game/sitelock.cnf, 
    304 and game/txt/*.txt files into the appropriate locations. 
    305  
    306 2. src/*local.c 
    307  
    308 You should copy local.c, cmdlocal.c, and funlocal.c from oldpenn/src 
    309 to pennmush/src if you want to retain this local code. Of course, 
    310 it may not still work, but it's quite likely that it will. 
    311  
    312 3. Databases 
    313  
    314 This MUSH version will read databases along the main branch of MUSH 
    315 evolution -- TinyMUD, vanilla TinyMUSH, MicroMUSH, and all 
    316 Pern/PennMUSH versions. If you need to convert a TinyMUSH 2.0 database, 
    317 please contact Amberyl, and she'll mail you an extension to 2.0 that 
    318 will dump a 1.50-readable flatfile. 
    319  
    320 PennMUSH 1.7.x uses the version header in the database to automatically 
    321 read the db correctly, no matter what options you have set, and to 
    322 write a db which reflects those options.  If you plan to convert a 
    323 PennMUSH db to TinyMUSH 2.0, you'll have to unset all the options which 
    324 add to the db, start up like that, and then shutdown to dump a plain 
    325 PennMUSH 1.50pl10 db.  You will lose all special info (warnings, etc.) 
    326 in that db, so keep a copy of the original! 
    327  
    328 Be sure that your options.h settings correctly reflect the type 
    329 of password encryption that was used on your database. The default 
    330 has changed to SHS, so if your db used crypt(3) encryption, be 
    331 sure you set the appropriate definition in options.h. 
    332  
    333 4. Other local source code hacks 
    334  
    335 If you have made other hacks to the Penn source code that don't live 
    336 solely in the src/*local.c files, you'll need to apply these to your 
    337 new version. 
    338  
    339 The best way to do this is described in the Guide for Gods, and 
    340 involves creating a set of patches from the distributed old 
    341 version of pennmush (e.g. 1.7.2p32) to your hacked version of 
    342 pennmush (e.g. 1.7.2p32 with hacks), and then applying those 
    343 patches to the new version of PennMUSH (e.g. 1.7.3p0) to create 
    344 a hacked version thereof. If some patch hunks fail, you'll have 
    345 to apply them manually. 
    346  
    347 Even easier may be to keep all multiple versions of the code 
    348 (old distributed, old hacked, new distributed, new hacked) under 
    349 a source code control system like prcs that can merge changes 
    350 between versions. See the Guide for Gods. 
    351  
    352 ============================================================================ 
    353  
    354 IV.   Binary Guide (pre-built binary users) 
    355  
    356 A pre-built binary is frequently available for win32 users who don't 
    357 want to customize their MUSH server, and don't feel like compiling 
    358 it themselves.  This binary distribution does not contain the src, 
    359 hdrs, hints, or os2 directories and is missing several key files 
    360 (like Configure) from the top-level directory.  It does include the 
    361 dune.h and options.h that it was built with, as an aid to those who 
    362 decide late that they want to customize the server; they are useful 
    363 as a baseline to work from. 
    364  
    365 Using the pre-built binary is fairly simple; adjust your configuration 
    366 file as in II.6, then go to the game directory and run PennMUSH.exe. 
    367 Alternately, if you want the MUSH to automatically start each time 
    368 you turn on your machine, you can install it as a system service 
    369 by running 'PennMUSH /install'.  PennMUSH can be removed from service 
    370 status via 'PennMUSH /remove'. 
    371  
    372 ============================================================================ 
    373   
    374 V.    Additional Options, including Internationalization 
    375  
    376 PennMUSH 1.7.3 has extensive support for running in non-English 
    377 environments. There are two parts to this. First, what the mush 
    378 considers to be valid characters, what's upper-case, what's 
    379 lower-case, how they are sorted, and so on. The second is translating 
    380 the messages produced by the game into another language. Helpfiles 
    381 aren't translated. 
    382  
    383 There's only a few languages currently supported, as it takes someone 
    384 fluent in one to add support for it. If you'd like to help out with 
    385 this, see http://www.pennmush.org/translation.html. 
    386  
    387 Both of these parts is controlled by the LANG or LC_ALL environment 
    388 variables, which have the form "la_DI", where la is a language code 
    389 and DI is a dialect. For example, "en_US" stands for English, United 
    390 States dialect. The language codes are usually the same as a country's 
    391 top level domain in URLs. Spanish is 'es', Russian is 'ru', and so on. 
    392  
    393 The LANG environment variable that controls what language the mush 
    394 uses is normally set in the pennmush/game/restart script. There's an 
    395 example for using French in the script already that can be used as a 
    396 starting point. 
    397  
    398 Your server account might be set up with a non-english language as the 
    399 default. If so, and you don't set LANG in the restart script, that 
    400 default language will be used. 
    401  
    402 Note that Huffman attribute compression (Or none) is the only mode 
    403 that works properly with non-ASCII characters. 
    404  
    405 The files with the translations for game messages have to be compiled 
    406 to an effecient internal form before starting up the mush, so the LANG 
    407 setting in the restart script won't affect it. This means you have to 
    408 set the LANG variable before compiling the translation file. 
    409  
    410 To do this using the common bash shell, 'export LANG=en_US', or whatever 
    411 your setting is. If that gives an error, try the tcsh shell form 'setenv 
    412 LANG en_US'. If that still doesn't work, consult the documentation for 
    413 the shell you're using. 
    414  
    415 The files with the translation tables are located at 
    416 ftp://ftp.pennmush.org/pub/PennMUSH/Source/translations/. Get the one 
    417 for your patchlevel and language, put it in your pennmush/po/ directory, 
    418 and run make install with the LANG environment variable set to the 
    419 proper language. If there is no translation file for your language, 
    420 see the URL above for information on helping to create one. 
    421  
    422  
    423 A final thing you may want to think about is compiling announce.c or 
    424 portmsg.c. These are port announcers; if your MUSH ever goes down, you 
    425 can set one up, and a message will be given to a person attempting to 
    426 connect to that port.  Read that file for details. It is not an 
    427 official MUSH piece of code; rather, it is a freely distributable 
    428 program available via anonymous FTP that is included in this code 
    429 because it happens to be fairly useful.  Javelin suggests using portmsg 
    430 - it appears to be more stable. 
    431  
    432 ============================================================================ 
    433  
    434 VI.   Trouble-shooting 
    435  
    436 If you ever run into trouble, the your first reaction should ALWAYS be 
    437 to back up your database. indb.Z.old is the file that the MUSH saves 
    438 indb.Z to when the game, restarted, indb.Z is the file that the MUSH 
    439 loaded at startup, and outdb.Z is the file to which the MUSH is 
    440 currently dumping the database. 
    441  
    442 You can tell if a dump is (theoretically) complete by doing a 
    443 "zcat <database file name> | tail -10".  The last line should read 
    444 "***END OF DUMP***". If it doesn't, your database has been truncated 
    445 for some reason. Check the logfile. Possible causes include a full 
    446 process table, a full disk partition, or running out of disk quota. 
    447  
    448 Occasionally the dump process may dump core. This is caused by some 
    449 sort of corruption in an attribute, normally. You can tell if the dump 
    450 process has died by looking in your data directory; you will see 
    451 something like "outdb.Z.#5#". Wait a few moments and check on the file 
    452 again. If it has grown, then the game is in the process of a normal 
    453 dump. If it hasn't, and there's a core file, then something has gone 
    454 wrong. You should definitely shout a warning that building is not being 
    455 saved. 
    456  
    457 To attempt to fix the problem, do a @dbck to take care of any possible 
    458 minor weirdness in the database, then try doing a "@dump/paranoid", and 
    459 reading the checkpoint logfile (default is log/checkpt.log). This is 
    460 slow, but it will write out an uncorrupted database, and tell you what 
    461 it fixed. Back up that database and indb.Z, then figure out what you're 
    462 going to do next: you can take the game down with a kill -9, or attempt 
    463 to manually fix the problem by either @destroying the offending object, 
    464 or attempting to reset the attributes on the object that are causing a 
    465 problem.  If "@dump/paranoid" dies, you are more or less out of luck. 
    466  
    467 The game may crash from time to time. It will generate a core file, 
    468 usually; if you don't limit the coredumpsize or strip the executable, 
    469 you should be able to get some useful information out of it, using a 
    470 debugger. Javelin is interested in stack traces. You can do a stack 
    471 trace in the following manner: Go into the directory where you keep 
    472 your source code, and type 
    473     <name of debugger> netmud ../game/core 
    474 If you don't call your executable "netmud", substitute in whatever  
    475 you do call it. 
    476  
    477 You are looking for variables set to bizarre values - attempts to 
    478 access objects that aren't there, attempts to use pointers which point 
    479 to nothing, and the like. 
    480  
    481 If you are using the "adb" debugger (don't do this unless you really 
    482 have absolutely nothing else available), you will see nothing. It's 
    483 loaded and ready, though. Type "$c". This will print out a list of the 
    484 functions it called. Type "$q" to quit. You can't really get much more 
    485 useful information out of adb. 
    486  
    487 If you are using the "dbx" debugger, type "where" to see the stack 
    488 trace. You can move through it using "up" and "down", and see exactly 
    489 what the sequence of calls was. You can also use "print <variable 
    490 name>" to see the value of a variable at the time the game crashed. 
    491 The "gdb" debugger is similar to "dbx"; with that, you can abbreviate 
    492 "print" as "p". 
    493  
    494 Javelin appreciates news of any bugs found, and any patches that have 
    495 been written to deal with them. He is also interested in any extensions 
    496 that people make to the code, and requests that ones that are of more 
    497 than just local interest be sent to him for inclusion in the next 
    498 release of this code. 
    499  
    500 One important thing to remember is, if the MUSH refuses to start, there 
    501 is probably a good reason. Check the MUSH log, and the core file, if 
    502 there is one. Make sure to back up your database before attempting to 
    503 restart -- remember that every time it restarts, it overwrites 
    504 indb.Z.old. If you restart three times and somehow manage to trash your 
    505 database each time (for example, a full process table zero'ing out your 
    506 files), you won't have a backup to restart from, unless you've backed 
    507 up your database before trying! 
    508  
    509 You can also find helpful tips in Javelin's Guide for Gods, 
    510 which is available on the WWW as 
    511     http://pennmush.org/~alansz/guide.html 
    512 and by ftp from pennmush.org as  
    513     /pub/DuneMUSH/Guide/guide-single.txt 
     2296. Read game/README and follow those instructions. 
     230 
    514231 
    515232PennMUSH has been tested on a fairly wide variety of machines and 
     
    544261============================================================================ 
    545262 
    546 VII.  Getting Help, Reporting Bugs 
     263III.   Conversion Guide (previous users) 
     264 
     265This section explains how to upgrade to a new version of PennMUSH. 
     266It assumes that you've got your older version of PennMUSH in  
     267a directory called oldpenn/, and the new one unpacked into pennmush/ 
     268All of the steps below can be taken before running Configure 
     269for the new version, and definitely should be taken before running 
     270'make' (or you'll have to do it again). 
     271 
     2721. options.h and game/mush.cnf 
     273 
     274You can copy the options.h file and game/mush.cnf file from your 
     275old version to the new version. The 'make update' command 
     276(run after Configure) will compare your files with the newly 
     277distributed ones and tell you about options that have been 
     278added or removed. If you have any options defined that the 
     279new version doesn't recognize, you'll be asked if you want 
     280to retain them (which is safe). 
     281 
     282If your mush.cnf file is called something else, copy it to 
     283mush.cnf in pennmush/game anyway, since that's the file that 
     284gets updated. Then make a symbolic link to that file called 
     285whatever.cnf if you want to use that. 
     286 
     287If you've modified the restart script, you'll have to decide 
     288if your modified script is still appropriate, or modify the 
     289distributed game/restart script again as you like it. 
     290 
     291You can also copy your old game/access.cnf, game/sitelock.cnf, 
     292and game/txt/*.txt files into the appropriate locations. 
     293 
     2942. src/*local.c 
     295 
     296You should copy local.c, cmdlocal.c, and funlocal.c from oldpenn/src 
     297to pennmush/src if you want to retain this local code. Of course, 
     298it may not still work, but it's quite likely that it will. 
     299 
     3003. Databases 
     301 
     302This MUSH version will read databases along the main branch of MUSH 
     303evolution -- TinyMUD, vanilla TinyMUSH, MicroMUSH, and all 
     304Pern/PennMUSH versions. If you need to convert a TinyMUSH 2.0 database, 
     305please contact Amberyl, and she'll mail you an extension to 2.0 that 
     306will dump a 1.50-readable flatfile. 
     307 
     308PennMUSH 1.7.x uses the version header in the database to automatically 
     309read the db correctly, no matter what options you have set, and to 
     310write a db which reflects those options.  If you plan to convert a 
     311PennMUSH db to TinyMUSH 2.0, you'll have to unset all the options which 
     312add to the db, start up like that, and then shutdown to dump a plain 
     313PennMUSH 1.50pl10 db.  You will lose all special info (warnings, etc.) 
     314in that db, so keep a copy of the original! 
     315 
     316Be sure that your options.h settings correctly reflect the type 
     317of password encryption that was used on your database. The default 
     318has changed to SHS, so if your db used crypt(3) encryption, be 
     319sure you set the appropriate definition in options.h. 
     320 
     3214. Other local source code hacks 
     322 
     323If you have made other hacks to the Penn source code that don't live 
     324solely in the src/*local.c files, you'll need to apply these to your 
     325new version. 
     326 
     327The best way to do this is described in the Guide for Gods, and 
     328involves creating a set of patches from the distributed old 
     329version of pennmush (e.g. 1.7.2p32) to your hacked version of 
     330pennmush (e.g. 1.7.2p32 with hacks), and then applying those 
     331patches to the new version of PennMUSH (e.g. 1.7.3p0) to create 
     332a hacked version thereof. If some patch hunks fail, you'll have 
     333to apply them manually. 
     334 
     335Even easier may be to keep all multiple versions of the code 
     336(old distributed, old hacked, new distributed, new hacked) under 
     337a source code control system like prcs that can merge changes 
     338between versions. See the Guide for Gods. 
     339 
     340============================================================================ 
     341 
     342IV.   Binary Guide (pre-built binary users) 
     343 
     344A pre-built binary is frequently available for win32 users who don't 
     345want to customize their MUSH server, and don't feel like compiling 
     346it themselves.  This binary distribution does not contain the src, 
     347hdrs, hints, or os2 directories and is missing several key files 
     348(like Configure) from the top-level directory.  It does include the 
     349dune.h and options.h that it was built with, as an aid to those who 
     350decide late that they want to customize the server; they are useful 
     351as a baseline to work from. 
     352 
     353Using the pre-built binary is fairly simple; adjust your configuration 
     354file as in II.6, then go to the game directory and run PennMUSH.exe. 
     355Alternately, if you want the MUSH to automatically start each time 
     356you turn on your machine, you can install it as a system service 
     357by running 'PennMUSH /install'.  PennMUSH can be removed from service 
     358status via 'PennMUSH /remove'. 
     359 
     360============================================================================ 
     361  
     362V.    Additional Options, including Internationalization 
     363 
     364PennMUSH 1.7.3 and later have extensive support for running in non-English 
     365environments. There are two parts to this. First, what the mush considers 
     366to be valid characters, what's upper-case, what's lower-case, how they 
     367are sorted, and so on. The second is translating the messages produced 
     368by the game into another language. Helpfiles aren't translated. 
     369 
     370There's a few languages currently supported, as it takes someone fluent 
     371in one to add support for it. If you'd like to help out with this, 
     372see http://www.pennmush.org/translation.html. 
     373 
     374Both of these parts is controlled by the LANG or LC_ALL environment 
     375variables, which have the form "la_DI", where la is a language code 
     376and DI is a dialect. For example, "en_US" stands for English, United 
     377States dialect. The language codes are usually the same as a country's 
     378top level domain in URLs. Spanish is 'es', Russian is 'ru', and so on. 
     379 
     380The LANG environment variable that controls what language the mush 
     381uses is normally set in the pennmush/game/restart script. There's an 
     382example for using French in the script already that can be used as a 
     383starting point. 
     384 
     385Your server account might be set up with a non-english language as the 
     386default. If so, and you don't set LANG in the restart script, that 
     387default language will be used. 
     388 
     389Note that Huffman attribute compression (Or none) is the only mode 
     390that works properly with non-ASCII characters. 
     391 
     392The files with the translations for game messages have to be compiled 
     393to an effecient internal form before starting up the mush, so the LANG 
     394setting in the restart script won't affect it. This means you have to 
     395set the LANG variable before compiling the translation file. 
     396 
     397To do this using the common bash shell, 'export LANG=en_US', or whatever 
     398your setting is. If that gives an error, try the tcsh shell form 'setenv 
     399LANG en_US'. If that still doesn't work, consult the documentation for 
     400the shell you're using. 
     401 
     402The files with the translation tables are located at 
     403ftp://ftp.pennmush.org/pub/PennMUSH/Source/translations/. Get the one 
     404for your patchlevel and language, put it in your pennmush/po/ directory, 
     405and run make install with the LANG environment variable set to the 
     406proper language. If there is no translation file for your language, 
     407see the URL above for information on helping to create one. 
     408 
     409 
     410A final thing you may want to think about is compiling announce.c or 
     411portmsg.c. These are port announcers; if your MUSH ever goes down, you 
     412can set one up, and a message will be given to a person attempting to 
     413connect to that port.  Read that file for details. It is not an 
     414official MUSH piece of code; rather, it is a freely distributable 
     415program available via anonymous FTP that is included in this code 
     416because it happens to be fairly useful.  Javelin suggests using portmsg 
     417- it appears to be more stable. 
     418 
     419============================================================================ 
     420 
     421VI.  Getting Help, Reporting Bugs 
    547422 
    548423Here are some guidelines about where and how to report bugs or problems 
     
    600475============================================================================ 
    601476 
    602 VIII. Getting a .pennmush.org hostname and mailing lists 
     477VII. Getting a .pennmush.org hostname and mailing lists 
    603478 
    604479Thanks to donations from the PennMUSH community, Javelin was able to 
     
    621496============================================================================ 
    622497  
    623 IX. Amberyl's Comments 
     498VIII. Amberyl's Comments 
    624499 
    625500These are in the first person.  :) 
     
    656531============================================================================ 
    657532 
    658 IX, cont'd. Paul/Javelin's Comments 
    659  
    660 And let me recognize T. Alexander Popiel, Ralph Melton, and Thorvald 
    661 Natvig, other past and present members of the PennMUSH development team.  
     533VIII, cont'd. Paul/Javelin's Comments 
     534 
     535And let me recognize T. Alexander Popiel, Shawn Wagner, Nick Gammon, 
     536Dan Williams, Ervin Hearn III, Ralph Melton, and Thorvald Natvig, other 
     537past and present members of the PennMUSH development or porting team. 
    662538Working with them is a real pleasure. 
    663539 
     
    673549============================================================================ 
    674550 
    675 IX, cont'd again. Alex/Talek's Comments 
     551VIII, cont'd again. Alex/Talek's Comments 
    676552 
    677553Since Javelin last worked on this document, there has been a changing 
  • 1.7.5/game/alias.cnf

    r347 r349  
    11# Command aliases that you'd like reserved. 
    22# Normally, commands are autoaliased to their unique prefixes, 
    3 # so e -> examine 
    4 # However, you might prefer to have e not treated as a command alias 
    5 # because you think of it as short for 'east' and want to use a  
     3# so n -> news 
     4# However, you might prefer to have n not treated as a command alias 
     5# because you think of it as short for 'north' and want to use a  
    66# master room exit to catch it. In that case, you'd uncomment 
    77# lines like this: 
     
    2929command_alias inventory i 
    3030command_alias @switch @sw 
    31 command_alias @trigger @tr 
     31command_alias page p 
     32command_alias whisper w 
    3233 
    3334# As well as commands, functions can be aliased. Same syntax, 
  • 1.7.5/game/txt/Makefile

    r277 r349  
    1111all: $(TXT) 
    1212 
    13 help.txt: hlp/*.hlp compose.sh 
     13help.txt: hlp/*.hlp hlp compose.sh 
    1414    ./compose.sh hlp 
    1515    mv hlp.txt help.txt 
    1616 
    17 news.txt: nws/*.nws compose.sh 
     17news.txt: nws/*.nws nws compose.sh 
    1818    ./compose.sh nws 
    1919    mv nws.txt news.txt 
    2020 
    21 events.txt: evt/*.evt compose.sh 
     21events.txt: evt/*.evt evt compose.sh 
    2222    ./compose.sh evt 
    2323    mv evt.txt events.txt 
    2424 
    25 rules.txt: rules/*.rules compose.sh 
     25rules.txt: rules/*.rules rules compose.sh 
    2626    ./compose.sh rules 
    2727 
    28 index.txt: index/*.index compose.sh 
     28index.txt: index/*.index index compose.sh 
    2929    ./compose.sh index 
    3030 
  • 1.7.5/game/txt/evt/index.evt

    r258 r349  
    22& Entries 
    33-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
    4  help 
     4 
     5& &Entries 
    56-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
    67-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
  • 1.7.5/game/txt/hlp/index.hlp

    r285 r349  
    22& Entries 
    33-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
    4  "                         $-commands                $-commands2 
    5  +                         1.50p6                    1.50p7 
    6  1.50p8                    1.50p9                    1.50p10 
    7  1.50p11                   1.50p12                   1.50p13 
    8  1.50p14                   1.50pdune1                1.50pdune2 
    9  1.6.0p0                   1.6.0p3                   1.6.0p4 
    10  1.6.0p5                   1.6.1p0                   1.6.1p1 
    11  1.6.10p0                  1.6.10p1                  1.6.10p2 
    12  1.6.10p3                  1.6.10p4                  1.6.10p5 
    13  1.6.10p6                  1.6.10p6                  1.6.2p0 
    14  1.6.2p1                   1.6.3p0                   1.6.3p1 
    15  1.6.3p2                   1.6.3p3                   1.6.3p4 
    16  1.6.3p5                   1.6.3p6                   1.6.3p7 
    17  1.6.4p0                   1.6.4p1                   1.6.4p2 
    18  1.6.5p0                   1.6.5p1                   1.6.5p2 
    19  1.6.5p3                   1.6.5p4                   1.6.6p0 
     4 "                         $-commands                $-commands2               
     5 +                         1.50p6                    1.50p7                    
     6 1.50p8                    1.50p9                    1.50p10                   
     7 1.50p11                   1.50p12                   1.50p13                   
     8 1.50p14                   1.50pdune1                1.50pdune2                
     9 1.6.0p0                   1.6.0p3                   1.6.0p4                   
     10 1.6.0p5                   1.6.1p0                   1.6.1p1                   
     11 1.6.10p0                  1.6.10p1                  1.6.10p2                  
     12 1.6.10p3                  1.6.10p4                  1.6.10p5                  
     13 1.6.10p6                  1.6.10p6                  1.6.2p0                   
     14 1.6.2p1                   1.6.3p0                   1.6.3p1                   
     15 1.6.3p2                   1.6.3p3                   1.6.3p4                   
     16 1.6.3p5                   1.6.3p6                   1.6.3p7                   
     17 1.6.4p0                   1.6.4p1                   1.6.4p2                   
     18 1.6.5p0                   1.6.5p1                   1.6.5p2                   
     19 1.6.5p3                   1.6.5p4                   1.6.6p0                   
    2020 
    2121