zim/area/
zim/bin/
zim/clans/plists/
zim/corefiles/
zim/doc/muddy/
zim/gods/
zim/log/
zim/player/
zim/skill_tree/
zim/tmp/
#!/bin/sh
umask 002

ulimit -c 999999

#
# locale settings for FreeBSD
#LANG=ru_RU.KOI8-R; export LANG
LANG=koi8-r; export LANG
LC_TIME=en_US.ISO_8859-1; export LC_TIME

#
# mud home -- all other paths and filenames are relative from $home
#home=/usr/local/sog
home=~zsuzsu/zim
#
# logging control
lastlog=tmp/lastlog
index=0

#
# mud binary executable
mudbin=zim

#
# shutdown flag file
shutdown=tmp/shutdown

#
# corefile name
core=core

##############################################################################
# let's go
#
cd $home

if [ -r $shutdown ]; then
	rm $shutdown
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

	echo $(($index+1))
	echo $(($index+1)) > $lastlog
	bin/$mudbin >$logfile 2>&1
	exitcode=$?

	avail=`df -k $home | tail -1 | awk '{ print $4 }'`
	if [ -r $core ]
	then
		chmod g+rw $core
		if [ $avail -gt 65535 ]
		then
			mv $core corefiles/core.$index
			ln bin/$mudbin corefiles/$mudbin.$index
		else
			echo `date` "Low space (${avail}k) on disk: corefile not renamed" >> $logfile
		fi
		sleep 60
		continue
	fi

	if [ -r $shutdown ]
	then
		break
	fi

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