mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-11 18:48:26 +00:00
commit
1170042f28
40
tools/arkdaemon
Normal file → Executable file
40
tools/arkdaemon
Normal file → Executable 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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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!
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user