#! /bin/sh
#
# skeleton	example file to build /etc/init.d/ scripts.
#		This file should be used to construct scripts for /etc/init.d.
#
#		Written by Miquel van Smoorenburg <miquels@cistron.nl>.
#		Modified for Debian 
#		by Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
# Version:	@(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
#

twistd=/usr/bin/twistd2.3
reactor=poll

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
poker3d=/usr/bin/underware
name=poker3d-server
desc='poker3d server'

poker3d_home=/var/lib/poker3d
rundir=/usr/share/underware/poker

lockfile=/etc/poker3d/server/lock

serverpidfile=/var/run/poker3d-server.pid
serverlogfile=/var/log/poker3d-server.log
serverscript=/usr/share/underware/poker/pokerserver.py

botpidfile=/var/run/poker3d-bot.pid
botlogfile=/var/log/poker3d-bot.log
botscript=/usr/share/underware/poker/pokerbot.py

more_args=--no_save

test -x ${daemon} || exit 0
test -x ${twistd} || exit 0
test -r ${file} || exit 0

set -e

export PYTHONPATH=/usr/share/underware

case "$1" in
  start)
	echo -n "Starting ${desc}: "
	if [ -f $lockfile ]; then
	    echo "$lockfile present, not starting poker3d server"
	    exit 0;
	fi
	${poker3d} ${twistd} \
	    --pidfile=${serverpidfile} --python ${serverscript} \
	    --logfile=${serverlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	${poker3d} ${twistd} \
	    --pidfile=${botpidfile} --python ${botscript} \
	    --logfile=${botlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	sleep 1
	> /var/run/tour.pids
	for i in 2 3 4 5 6 ; do nohup ${poker3d} ${rundir}/pokertournament.py file:/etc/poker3d/tournament/poker.tournament-$i.xml > /var/log/tour.$i.out 2>&1 & echo $! >> /var/run/tour.pids ; done
	echo ${name}
	;;
  stop)
	echo ${poker3d}
	for i in /var/run/tour.pids; do
	    if [ -f $i ]; then
		kill -2 `cat $i` || true
		rm -f $i
	    fi
	done
	echo -n "Stopping poker3d bots ..."
	start-stop-daemon --stop --quiet --retry forever/-2/3 --pidfile=${botpidfile} || true
	echo "done"
	echo -n "Stopping poker3d server ..."
	start-stop-daemon --stop --quiet --retry forever/-2/3 --pidfile=${serverpidfile} || true
	echo " done."
	;;
  #reload)
	#
	#	If the daemon can reload its config files on the fly
	#	for example by sending it SIGHUP, do it here.
	#
	#	If the daemon responds to changes in its config file
	#	directly anyway, make this a do-nothing entry.
	#
	# echo "Reloading $DESC configuration files."
	# start-stop-daemon --stop --signal 1 --quiet --pidfile \
	#	/var/run/$NAME.pid --exec $DAEMON
  #;;
  restart|force-reload)
	#
	#	If the "reload" option is implemented, move the "force-reload"
	#	option to the "reload" entry above. If not, "force-reload" is
	#	just the same as "restart".
	#
	$0 stop
	$0 start
	;;
  *)
	N=/etc/init.d/$NAME
	# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0
