daleken/
daleken/data/notes/
daleken/data/player/
daleken/data/system/poses/
daleken/doc/Homepage/images/
daleken/log/
#! /bin/sh -f
# Written by Furey.
# With additions from Tony.
# With changes from Kahn.
# Ported to 'sh' by Loki for those who don't have 'csh'.
# Thanks to Alan and Grodyn for their help on the redirecting stuff - Loki

# Set the port number.
if [ "$1" != "" ]
then
         port=$1 
else
         port=12345
fi

# Change to area directory.
cd `dirname $0`/../area

# Set limits. (cannot be used in a 'sh' script - Loki)
# nohup
# nice
# Prevent it from nuking quotas: core and file size
ulimit -c 1024
ulimit -f 2048
# Prevent a bloated stack: stack size.
ulimit -s 2048

if [ -r SHUTDOWN.TXT ]; then
         rm -f SHUTDOWN.TXT
fi

while [ 1 ]; do

    # If you want to have logs in a different directory,
    #   change the 'logfile=' line to reflect the directory name.
    # (It isn't used but I let it in anyway)
    index=1000
    while [ 1 ]
    do
        logfile=../log/$index.log
        if [ -r $logfile ]
        then
                # If you don't have GNU expr you have a problem... :(
                index=`expr $index + 1`
		# Alternatively if you have bc
		# index=`echo $index + 1|bc`
        else
                break
        fi
    done

    # Update to new code if possible.
    if [ -r ../bin/daleken.new ]; then
	if [ -r ../bin/daleken ]; then
	    \mv ../bin/daleken ../bin/daleken.old
	fi
	\mv ../bin/daleken.new ../bin/daleken
    fi

    # Run daleken.
    # Thanks to Alan and Grodyn for their help on the redirecting stuff - Loki
    echo Running DalekenMUD on port $port. > $logfile
    ../bin/daleken $port >>$logfile 2>&1

    if [ -r core ]; then
	\mv core ../log/.$index.`date +%d%b%y`
    fi

    # Restart, giving old connections a chance to die.
    if [ -r SHUTDOWN.TXT ]; then
        rm -f SHUTDOWN.TXT
        exit 0
    fi
    sleep 7
done