1stMud4.5.3/
1stMud4.5.3/backup/
1stMud4.5.3/bin/
1stMud4.5.3/bin/extras/
1stMud4.5.3/data/i3/
1stMud4.5.3/doc/1stMud/
1stMud4.5.3/doc/Diku/
1stMud4.5.3/doc/MPDocs/
1stMud4.5.3/doc/Rom/
1stMud4.5.3/notes/
#!/bin/sh
#
# firstmud  Start 1stMud MUD Services
#
# description:  Starts/stops 1stMud MUD Services
#

binary=1stMud
pidfile=../bin/$binary.pid
logfile=../log/$binary.log

# Function declarations
#
start_firstmud() {
  while [ 1 ]; do
    ../bin/$binary --startup-script $2 $3 $4 $5 $6 $7 $8 $9 >> $logfile 2>&1 &
    pid="$!"
    echo $pid > $pidfile

    wait $pid
    run="$?"
    if [ "$run" = 1 ]; then
      exit 0
    fi
  done
}

# Run the code
#
status=""
if [ -r $pidfile ]; then
  pid=`cat $pidfile`

  if [ -n "$pid" ]; then 
    status=`ps -a | grep $pid`
  fi
fi

case "$1" in
status)
  if [ -n "$status" ]; then
    echo "$binary is running."
  else
    echo "$binary is NOT running."
  fi
  ;;

start)
  if [ -n "$status" ]; then
    echo "$binary is ALREADY running."
    exit
  fi

  echo "Starting $binary MUD Services..."
  start_firstmud &
  ;;

stop)
  if [ -z "$status" ]; then
    echo "$binary is NOT running ALREADY."
    exit
  fi

  echo "Stopping $binary MUD Services..."
  kill $pid
  sleep 1

  rm -f $pidfile

  status=`ps -a | grep $pid`
  if [ -n "$status" ]; then sleep 1; fi

  status=`ps -a | grep $pid`
  if [ -n "$status" ]; then sleep 1; fi

  status=`ps -a | grep $pid`
  if [ -n "$status" ]; then kill -9 $pid; fi
  ;;

restart)
  $0 stop
  $0 start
  ;;

*)
  echo "Usage:"
  echo "       $0 {start|stop|restart|status}"
  ;;
esac