#!/bin/sh

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

### Base setting ###
. /root/relay5/relay.cfg
NCLIENTS=3000
DEBUG_PORT=`expr $RELAY_PORT + 1`

### With mysql setting ###
DB_HOST=localhost
DB_USER=relay
DB_PW=relay_pw
DB_NAME=relay_db
DB_TABLE=relay_table
RELAY_USER=username
RELAY_PW=password

### CPU threaded and Port range setting ###
NCPU=`grep "^processor" /proc/cpuinfo | wc -l`
procs=`ps -e`
if echo "$procs" | grep -q avs
then
	PORT_RANGE="-r 5000-10000"
else
	PORT_RANGE="-r 5000-60000"
fi
[ -z "$NCPU" ] && NCPU=2

ulimit -n 10000

[ -n "$INTERFACE" ] && INTERFACE="-i $INTERFACE"
start_relay() 
{
	/root/relay5/relaysrv5 -n $NCPU -p $RELAY_PORT -c $NCLIENTS -L $DEBUG_PORT -u $UDP_PORT -t $TCP_PORT $PORT_RANGE $INTERFACE
}


start_relay_listen() 
{
	/root/relay5/relaysrv5 -n $NCPU -p $RELAY_PORT -c $NCLIENTS -L $DEBUG_PORT -u $UDP_PORT -t $TCP_PORT $PORT_RANGE $INTERFACE --listen
}

start_mysql() 
{
	/root/relay5/relaysrv5 -n $NCPU -p $RELAY_PORT -c $NCLIENTS -L $DEBUG_PORT -u $UDP_PORT -t $TCP_PORT $PORT_RANGE $INTERFACE --listen -a "/root/relay5/relayauth_mysql.so:$DB_HOST,$DB_USER,$DB_PW,$DB_NAME,$DB_TABLE,$RELAY_USER,$RELAY_PW"

}

start_sqlite()
{
	/root/relay5/relaysrv5 -n $NCPU -p $RELAY_PORT -c $NCLIENTS -L $DEBUG_PORT -u $UDP_PORT -t $TCP_PORT $PORT_RANGE $INTERFACE --listen -a "/root/relay5/relayauth_sqlite.so:/root/relay/srv.sql,srvdb,Username,Password"
}


case "$PATA" in
	stop)
	     killall  relaysrv5 >/dev/null 2>/dev/null
	     sleep 1
	     echo "Relay Server stop ..."
	;;

	--listen)
	     killall  relaysrv5 >/dev/null 2>/dev/null
	     sleep 1
	     start_relay_listen
	     echo "Relay Server Listen ... "
        ;;

	--mysql)
	     killall  relaysrv5 >/dev/null 2>/dev/null
	     start_mysql
	     echo "Relay server start with mysql database ..."

	;;

	--sqlite)
	     killall  relaysrv5 >/dev/null 2>/dev/null
	     sleep 1
	     start_sqlite
	     echo "Relay server start with sqlite database..."
	;;

	--help)
	    echo "Usage: run_relaysrv {--start|--stop|--listen|--mysql|--sqlite|--help}" 
	;;

	*)
	    killall  relaysrv5 >/dev/null 2>/dev/null
	     sleep 1
	    start_relay
	    echo "Relay Server start by default ..."
	;;
esac

exit 0
	     


