#!/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