#!/bin/sh
# athena starting script by rowla

PATH=./:$PATH

L_SRV=login-server
C_SRV=char-server
M_SRV=map-server
L_SRV_C=./conf/login_athena.conf
C_SRV_C=./conf/char_athena.conf
C_SRV_C2=./conf/inter_athena.conf
M_SRV_C=./conf/map_athena.conf
M_SRV_C2=./conf/battle_athena.conf
M_SRV_C3=./conf/atcommand_athena.conf
M_SRV_C4=./conf/script_athena.conf
M_SRV_C5=./conf/msg_athena.conf
M_SRV_C6=./conf/grf-files.txt

print_start() {
#	more << EOF
echo "Athena Starting..."
echo "			(c) 2003 Athena Project."
echo "			URL:http://project-yare.de/"
echo ""
echo "Debug informations will appear,"
echo "since this is a test release."
echo ""
echo "checking..."
#EOF
}

check_account() {
	if [ ! -f ./save/account.txt ]; then
		echo "0	s1	p1	-	S	0" > save/account.txt
		echo "1	s2	p2	-	S	0" >>save/account.txt
		echo "2	s3	p3	-	S	0" >>save/account.txt
		echo "3	s4	p4	-	S	0" >>save/account.txt
		echo "4	s5	p5	-	S	0" >>save/account.txt
	fi
}

check_files() {

	for i in ${L_SRV} ${C_SRV} ${M_SRV} ${L_SRV_C} ${C_SRV_C} ${C_SRV_C2} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6}
	do
		if [ ! -f ./$i ]; then
    		echo "$i does not exist, or can't run."
    		echo "Stoped, Check your compile or configuration file."
    		exit 1;
		fi
	done

#	more << EOF
echo "Check done."
echo "Looks good, have a nice athena!"
#EOF
}
	

case $1 in
	'start')
		print_start
		check_account
		check_files

		exec ./${L_SRV} ${L_SRV_C}&
#		exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2} > /dev/null&
#		exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} > /dev/null&
		exec ./${C_SRV} ${C_SRV_C} ${C_SRV_C2}&
		exec ./${M_SRV} ${M_SRV_C} ${M_SRV_C2} ${M_SRV_C3} ${M_SRV_C4} ${M_SRV_C5} ${M_SRV_C6}&

		echo "Now Started Athena."
;;
	'stop')
		ps ax | grep -E "${L_SRV}|${C_SRV}|${M_SRV}" | awk '{print $1}' | xargs kill -9
	;;
	'restart')
		$0 stop
		$0 start
	;;
	*)
		echo "Usage: athena-start { start | stop | restart }"
	;;
esac