#!/bin/sh -e

### BEGIN INIT INFO
# Provides:          game-server
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start/stop blastbay game-server
# Description:       blastbay game-server
### END INIT INFO

DESC="blastbay"
NAME="game-server"
USER="blastbay"
EXE="/home/blastbay/game-server/game-server"

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
export PATH

. /lib/lsb/init-functions

test -f /etc/default/rcS && . /etc/default/rcS
test -f /etc/default/avfs && . /etc/default/avfs

PIDFILE=/var/run/game-server.pid

start() {
	su "$USER" -c "$EXE" &
	echo $! >"$PIDFILE"
}

stop() {
	kill `<$PIDFILE` 2>/dev/null
}

case $1 in
	start)
		log_daemon_msg "Starting $DESC" "$NAME"
		start
		log_end_msg 0
	;;
	stop)
		log_daemon_msg "Stopping $DESC" "$NAME"
		stop
		log_end_msg 0
	;;
	restart)
		log_daemon_msg "Restarting $DESC" "$NAME"
		stop
		start
		log_end_msg 0
	;;
	status)
		PID=$(pidof $NAME || true)
		P=$(ls /avfs/bin 2>/dev/null || true)
		if [ -n "$P" ]; then
			log_success_msg "$NAME is running (pid $PID)"
			exit 0
		else
			log_failure_msg "$NAME is not running"
			exit 1
		fi
	;;
	*)
		log_success_msg "Usage: $0 {start|stop|restart|status}"
		exit 1
	;;
esac
