root/1.8.3/branches/experimental/game

Name Size Rev Age Last Change
../
data 557 2 years pennmush: PennMUSH 1.8.2p0 release candidate.
log 1021 18 months shawnw: Merged with devel
save 557 2 years pennmush: PennMUSH 1.8.2p0 release candidate.
txt 1021 18 months shawnw: Merged with devel
access.README 6.3 KB 457 2 years pennmush: PennMUSH 1.7.7p29 Archival
aliascnf.dst 2.2 KB 527 2 years pennmush: PennMUSH 1.8.1p8 Archival
getdate.README 0.6 KB 267 3 years pennmush: PennMUSH 1.7.3p4 Archival
getdate.template 135 bytes 267 3 years pennmush: PennMUSH 1.7.3p4 Archival
mushcnf.dst 27.4 KB 1021 18 months shawnw: Merged with devel
namescnf.dst 384 bytes 457 2 years pennmush: PennMUSH 1.7.7p29 Archival
README 7.0 KB 1021 18 months shawnw: Merged with devel
restart 4.5 KB 1021 18 months shawnw: Merged with devel
restrictcnf.dst 4.3 KB 525 2 years pennmush: PennMUSH 1.8.1p7 Archival
  • Property svn:ignore set to
    #!/bin/sh
    #
    # usage: restart
    #
    # REQUIRED: You must set this to the path to your game directory.
    # E.g.: /home/mush/game
    GAMEDIR=/Users/shawnw/src/penn/1.8.3/devel/game/

    # OPTIONAL things that you may want to tweak.

    # Uncomment the line below to attempt to allow crashes to produce
    # core dumps. If you're getting crashes, this is the best way
    # to debug them.
    #ulimit -c unlimited

    # Internationalization stuff
    # Set LANG here to get international character sets and, if someone's
    # done it, translation of messages.
    # Vaild locales are usually <lang_code>_<COUNTRY CODE>
    # Example (uncomment to use):
    #LANG=fr_FR

    # Time zone stuff
    # If you want your MUSH to run in a different timezone than the one
    # you're in, you need to identify the target time zone file in
    # /usr/share/zoneinfo or /usr/lib/zoneinfo. Then uncomment the next
    # two lines and set TZ to the desired timezone file, as shown, with
    # an initial colon:
    #TZ=:EST5EDT
    #export TZ


    # The config file. Best to keep this as is. If you must change
    # the name, make it a link to mush.cnf.
    CONF_FILE=mush.cnf

    #######################################################################

    if [ -z "$GAMEDIR" ]; then
    echo "You must set GAMEDIR in the restart script."
    exit 1
    fi

    if [ ! -d "$GAMEDIR" ]; then
    echo "GAMEDIR doesn't appear to be a directory. It's: $GAMEDIR"
    exit 1
    fi

    cd $GAMEDIR
    echo Running from `pwd`

    if [ ! -f "$CONF_FILE" ]; then
    echo "CONF_FILE doesn't exist. It's: $CONF_FILE"
    echo "Create $CONF_FILE from $GAMEDIR/mushcnf.dst and run 'make update'"
    exit 1
    fi

    # If netmush isn't here, they probably didn't make install
    # In any case, we'd better not proceed.
    if [ ! -e netmush ]; then
    echo "I don't see $GAMEDIR/netmush. Did you remember to make install?"
    exit 1
    fi

    #
    # Read the cnf file and set some variables.
    #
    INDB=`egrep "^input_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
    OUTDB=`egrep "^output_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
    PANICDB=`egrep "^crash_database" $CONF_FILE | sed "s/.*[ ][ ]*.*\/\(.*\)/\1/" | sed 's/\r$//'`
    PANICDIR=`egrep "^crash_database" $CONF_FILE | sed "s/.*[ ][ ]*\(.*\)\/.*/\1/" | sed 's/\r$//'`
    COMPRESSOR="cat"
    SUFFIX=""

    # Find out what the compression program is, if any
    egrep -s "^compress_program[ ]*[A-Za-z0-9]" $CONF_FILE
    nocompress=$?
    if [ "$nocompress" -eq 0 ]; then
    COMPRESSOR=`egrep "^compress_program" $CONF_FILE | sed "s/[^ ]*[ ]*\(.*\)/\1/" | sed 's/\r$//'`
    SUFFIX=`egrep "^compress_suffix" $CONF_FILE | sed "s/[^ ]*[ ]*\(.*\)/\1/" | sed 's/\r$//'`
    fi


    #-- start up everything

    # Prevent double-starting things. You may need to provide a pathname for
    # some of the commands. System V flavors need "ps -f" instead of "ps uwx".
    mush=`ps uwwx | grep " $GAMEDIR/$CONF_FILE" | grep -v grep | wc -l`


    if [ "$mush" -gt 0 ]; then
    echo Mush already active or some other process is using $GAMEDIR/$CONF_FILE.
    exit 0
    fi

    echo Building text file indexes.
    (cd txt; make)

    echo Restarting Mush.

    if [ -r "$PANICDIR/$PANICDB" ]; then
    end="`tail -1 $PANICDIR/$PANICDB`"
    if [ "$end" = "***END OF DUMP***" ]; then
    echo "Recovering PANIC dump."
    cat $PANICDIR/$PANICDB | $COMPRESSOR > data/$OUTDB$SUFFIX
    rm $PANICDIR/$PANICDB
    echo "PANIC dump successfully recovered."
    else
    mv $PANICDIR/$PANICDB save/$PANICDB.corrupt
    echo "Warning: PANIC dump corrupt. Using older db."
    fi
    fi

    # Copy the last set of log files to save/
    mv -f log/*.log save/

    if [ -r "data/$OUTDB$SUFFIX" ]; then
    rm -f save/$INDB$SUFFIX.old
    mv -f data/$INDB$SUFFIX save/$INDB$SUFFIX.old
    mv data/$OUTDB$SUFFIX data/$INDB$SUFFIX
    else
    echo "No $OUTDB$SUFFIX found."
    if [ -r "data/$INDB$SUFFIX" ]; then
    echo "Using $INDB$SUFFIX."
    else
    echo "No $INDB$SUFFIX found."
    if [ -r "save/$INDB$SUFFIX.old" ]; then
    echo "Using save/$INDB$SUFFIX.old."
    cp save/$INDB$SUFFIX.old data/$INDB$SUFFIX
    else
    echo "No database found. Mush will start with a minimal world."
    fi
    fi
    fi

    if [ -r reboot.db ]; then
    rm -f reboot.db
    fi

    DATEMSK="${GAMEDIR}/getdate.template"
    export DATEMSK

    LC_ALL=$LANG LANG=$LANG ./netmush $GAMEDIR/$CONF_FILE &
Note: See TracBrowser for help on using the browser.