#!/bin/sh
umask 002
#
# 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=/home/mud
#
# logging control
lastlog=tmp/lastlog
index=0
#
# mud binary executable
mudbin=sog
#
# 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)) > $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 5
continue
fi
if [ -r $shutdown ]
then
break
fi
if [ $exitcode -ne 0 ]
then
break
fi
sleep 5
done