|
|
Line 6: |
Line 6: |
| </pre><pre>#make sql | | </pre><pre>#make sql |
| </pre> | | </pre> |
− | Make Luncher : Credit EA Bord User Jabber<br>
| + | <br>Finish Compile |
− | <pre>#nano Ealuncher
| |
− | </pre><pre>#!/bin/bash
| |
− | # eAthena generic server starter v1.0, by Kant
| |
− | #
| |
− | # author contact info:
| |
− | | |
− | | |
− | #
| |
− | # note: the original filename of this script is "srv"
| |
− | # Usage:
| |
− | # /.srv A B
| |
− | # A is the server you want to start (login, char or map)
| |
− | # B is the type (sql or txt). if none given, txt will be chosen.(see comments
| |
− | # below for details on this)
| |
− | | |
− | # Which server to start?
| |
− | case $1 in
| |
− | login ) srv=$1;;
| |
− | char ) srv=$1;;
| |
− | map ) srv=$1;;
| |
− | * ) echo wrong server
| |
− | exit;;
| |
− | esac
| |
− | | |
− | # SQL or TXT?
| |
− | # this check is done because the eA makefile spits the "_sql" at the end of
| |
− | # binaries when it compiles for sql usage.
| |
− | case $2 in
| |
− | sql ) type="_sql";;
| |
− | txt ) type="";;
| |
− | * ) type="";;
| |
− | esac
| |
− | | |
− | # Check if selected server exists. If not, exit with message
| |
− | test -e ${srv}-server${type}
| |
− | case $? in
| |
− | 1 ) echo server does not exist!
| |
− | exit;;
| |
− | esac
| |
− | | |
− | # Check if selected is executable. If not, exit with message
| |
− | test -x ${srv}-server${type}
| |
− | case $? in
| |
− | 1 ) echo server is not executable!
| |
− | exit;;
| |
− | esac
| |
− | | |
− | | |
− | # Test a control file. 1 means the server starts, 0 means the server doesnt
| |
− | # start. if there is no file, the scripts ignore the check.
| |
− | test -e start.txt
| |
− | case $? in
| |
− | 0 ) case $(cat start.txt) in
| |
− | 0 ) echo server deactivated, look in start.txt
| |
− | exit;;
| |
− | esac;;
| |
− | esac
| |
− | | |
− | # server restart loop
| |
− | while true
| |
− | do
| |
− | | |
− | # Notify server start
| |
− | echo \[`date +"%Y-%m-%d--%H:%M:%S"`\] starting ${1}-server... | tee -a logs/${1}-server.txt
| |
− | # start server acording to parameters
| |
− | ./${srv}-server${type}
| |
− | exit=$?
| |
− | | |
− | # depending on exit code, stop the loop or restart
| |
− | case $exit in
| |
− | # there is something wring in the configuration, do not restart
| |
− | 1 ) echo \[`date +"%Y-%m-%d--%H:%M:%S"`\] ${1}-server config is wrong | tee -a logs/${1}-server.txt
| |
− | exit;;
| |
− | # the server was killed by the user, restart
| |
− | 0 ) echo \[`date +"%Y-%m-%d--%H:%M:%S"`\] ${1}-server killed by user | tee -a logs/${1}-server.txt
| |
− | sleep 5;;
| |
− | # there was a crash because of a bug, restart
| |
− | # exit code 127 means server crash
| |
− | *) echo \[`date +"%Y-%m-%d--%H:%M:%S"`\] !!! ${1}-server down, exit code is $exit | tee -a logs/${1}-server.txt
| |
− | sleep 5;;
| |
− | esac
| |
− | | |
− | done
| |
− | | |
− | </pre><pre>#chmod +x Ealuncher
| |
− | </pre>
| |
− | | |
− | | |
− | Finish Compile | |