Merge pull request #33 from Sispheor/master

Branch master fixed
This commit is contained in:
Fez Vrasta 2015-06-21 20:05:44 +02:00
commit 1170042f28
3 changed files with 21 additions and 28 deletions

40
tools/arkdaemon Normal file → Executable file
View File

@ -9,21 +9,15 @@
#
### END INIT INFO
# NOTICE: this daemon can work only if your system supports start-stop-daemon
# Using the lsb functions to perform the operations.
. /lib/lsb/init-functions
# Global variables
source /etc/arkdaemon.cfg
source /home/${steamuser}/.arkmanager.cfg
source /etc/arkmanager/arkmanager.cfg
NAME=arkmanager_daemon
DESC="ARK manager daemon used to start the server and keep it updated"
PIDFILE="/var/run/${NAME}.pid"
NAME="ShooterGameServer"
LOGFILE="${logdir}/${NAME}.log"
DAEMON="arkmanager"
START_OPTS="--pidfile ${PIDFILE} --user=${steamuser} ${DAEMON}"
DAEMON="/usr/bin/arkmanager"
set -e
@ -33,7 +27,9 @@ test -x $DAEMON || exit 5
case "$1" in
start)
log_daemon_msg "Starting" "$NAME"
if start-stop-daemon -b --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON ; then
sudo -u $steamcmd_user $DAEMON start
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ]; then
log_end_msg 0
else
log_end_msg 1
@ -42,28 +38,26 @@ case "$1" in
stop)
log_daemon_msg "Stopping" "$NAME"
kill ${cat $PIDFILE}
echo "$NAME."
rm -f $PIDFILE
sudo -u $steamcmd_user $DAEMON stop
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ]; then
log_end_msg 1
else
log_end_msg 0
fi
;;
restart|force-reload)
$0 stop && sleep 2 && $0 start
restart)
sudo -u $steamcmd_user $DAEMON restart
;;
status)
# Check the status of the process.
PID=`ps -ef | grep $DAEMON | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ]; then
echo "$NAME is running on PID $PID"
else
echo "$NAME is not running"
fi
sudo -u $steamcmd_user $DAEMON status
;;
*)
# For invalid arguments, print the usage message.
echo "Usage: $0 {start|stop|restart|status|force-reload}"
echo "Usage: $0 {start|stop|restart|status}"
exit 2
;;
esac

View File

@ -109,8 +109,7 @@ function isTheServerRunning(){
# If the server is listenning on his port return 0, else return 1
#
function isTheServerUp(){
PORT="7779"
lsof -i |grep $PORT > /dev/null
lsof -i |grep $arkserverport > /dev/null
result=$?
return $result
}
@ -123,7 +122,7 @@ doStart() {
if isTheServerRunning; then
echo "The server is already running"
else
arkserveropts="TheIsland?SessionName=$sessioname?QueryPort=$arkqueryport?Port=$arkserverport?ServerPassword=$arkserverpass?ServerAdminPassword=$arkserverapass?listen"
arkserveropts="TheIsland?SessionName=$sessioname?QueryPort=$arkqueryport?ServerPassword=$arkserverpass?ServerAdminPassword=$arkserverapass?listen"
thejob="$arkserverroot/$arkserverexec $arkserveropts"
screen -dmS "$servicename" $thejob
echo "$timestamp: start" >> "$logdir/arkserver.log"
@ -138,7 +137,7 @@ doStop() {
if isTheServerRunning; then
echo "Stopping server..."
screen -X -S "$servicename" -X stuff "^C"
sleep 30
sleep 10
echo "$timestamp: stop" >> "$logdir/arkserver.log"
tail -n 1 "$logdir/arkserver.log"
else

View File

@ -8,7 +8,7 @@ sessioname=YourLinuxSessionName
arkserverroot="/home/steam/ARK" # path of your ARK server files (default ~/ARK)
arkserverexec="ShooterGame/Binaries/Linux/ShooterGameServer" # name of ARK server executable
arkqueryport="27016" # ARK query port (default 27016)
arkserverport="7779" # ARK server port (default 7779)
arkserverport="7778" # ARK server port (default 7778)
arkserverpass="SERVERPASSWORD" # ARK server password, empty: no password required to login
arkserverapass="ADMINPASSWORD" # ARK server admin password, KEEP IT SAFE!