#! /bin/sh
#
# chkconfig: 2345 99 05
# description: poker-network server
### BEGIN INIT INFO
# Provides: poker-network
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Short-Description: poker-network server
# Description:p oker-network server
### END INIT INFO

# Source function library.
. /etc/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

[ ${NETWORKING} = "yes" ] || exit 0

twistd=/usr/bin/twistd
reactor=poll

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
name=poker-network-server
desc='poker server '

python=/usr/bin/python

lockfile=/etc/poker-network/lockfile

serverpidfile=/var/run/poker-network-server.pid
serverlogfile=/var/log/poker-network-server.log
serverscript=/usr/lib64/python2.6/site-packages/pokernetwork/pokerserver.py

botpidfile=/var/run/poker-network-bot.pid
botlogfile=/var/log/poker-network-bot.log
botscript=/usr/lib64/python2.6/site-packages/pokernetwork/pokerbot.py

more_args=--no_save

test -x ${twistd} || exit 0
test -r ${serverscript} || exit 0
test -r ${botscript} || exit 0

#
# Do NOT set -e because some functions of /etc/rc.d/init.d have
# an unexpected false exit status
#
#set -e

case "$1" in
  start)
	gprintf "Starting %s" "${desc}"
	${python} ${twistd} \
	    --pidfile=${serverpidfile} --python ${serverscript} \
	    --logfile=${serverlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	${python} ${twistd} \
	    --pidfile=${botpidfile} --python ${botscript} \
	    --logfile=${botlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/${name}
	;;
  stop)
	gprintf "Stopping %s" "${desc}"
	killproc poker-network-server -2
	killproc poker-network-bot -2
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/${name}
	;;
  status)
	status ${name}
	RETVAL=$?
	;;
  restart|reload|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
	;;
  *)
	gprintf "Usage: %s {start|stop|status|restart|reload|force-reload}\n" "${name}"
	exit 1
	;;
esac

exit 0
