/usr/share/pennmush/game/restart is in pennmush-common 1.8.2p8-1.1ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142  | #!/bin/sh
#
# usage: restart
#
# REQUIRED: You must set this to the path to your game directory.
# E.g.: /home/mush/game
GAMEDIR=
# 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"
LC_ALL=$LANG LANG=$LANG ./netmush $GAMEDIR/$CONF_FILE &
 |