muddy/area/
muddy/bin/
muddy/bin/CVS/
muddy/clans/CVS/
muddy/classes/CVS/
muddy/corefiles/
muddy/corefiles/CVS/
muddy/doc/CVS/
muddy/doc/cvsup/
muddy/doc/cvsup/CVS/
muddy/doc/muddy/
muddy/doc/muddy/CVS/
muddy/doc/olc/CVS/
muddy/etc/
muddy/etc/CVS/
muddy/gods/
muddy/gods/CVS/
muddy/lang/CVS/
muddy/msgdb/
muddy/msgdb/CVS/
muddy/notes/
muddy/notes/CVS/
muddy/player/
muddy/races/CVS/
muddy/src/CVS/
muddy/src/comm/CVS/
muddy/src/compat/
muddy/src/compat/CVS/
muddy/src/compat/mkdep/
muddy/src/compat/mkdep/CVS/
muddy/src/compat/regex-win32/CVS/
muddy/src/db/CVS/
muddy/src/mudprogs/CVS/
muddy/src/olc/CVS/
muddy/tmp/CVS/
#!/bin/sh

lastlog=tmp/lastlog
muddy=src/muddy
index=0

if [ "$1" = "" ]; then
	port=4000
else
	port=$1
fi

cd ~/muddy

if [ -r tmp/shutdown.txt ]; then
	rm tmp/shutdown.txt
fi

while [ 1 ]
do
	if [ -r $lastlog ]; then
		index=`cat $lastlog`
	fi

	while [ 1 ]
	do
		logfile=`printf "log/%05d.log" $index`
		if [ -r $logfile ]
		then
			index=$(($index + 1))
		else
			break
		fi
	done
while ( : ) do
	echo $(($index+1)) > $lastlog
	$muddy $port >$logfile 2>&1
	exitcode=$?
done
	avail=`df -k /usr | tail -1 | awk '{ print $4 }'`
	if [ -r muddy.core ]
	then
		chmod g+rw muddy.core
		if [ $avail -gt 65535 ]
		then
			mv muddy.core corefiles/core.$index
			cp -p $muddy corefiles/muddy.$index
		else
			echo `date` "Low space (${avail}k) on disk: corefile not renamed" >> $logfile
		fi
		sleep 5
		continue
	fi

	if [ -r tmp/shutdown.txt ]
	then
		rm -f tmp/shutdown.txt
		break
	fi

	if [ $exitcode -ne 0 ]
	then
		break
	fi
	sleep 5
done