diff --git a/README.md b/README.md index dde2f6e..1af93be 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,6 @@ https://developer.valvesoftware.com/wiki/SteamCMD#Linux We assume you have created the `steam` user to store steamcmd and your ARK server. ## Requirements -Use this command to install soft requirement on your system -``` -# Debian based/ Ubuntu -apt-get install screen - -# RHEL / CentOS / Fedora -yum install screen -``` Edit /etc/sysctl.conf and set: ``` diff --git a/tools/arkdaemon b/tools/arkdaemon index caf8df1..a4fae1f 100755 --- a/tools/arkdaemon +++ b/tools/arkdaemon @@ -29,6 +29,7 @@ case "$1" in start) log_daemon_msg "Starting" "$NAME" su -s /bin/sh -c "$DAEMON start" $steamcmd_user + sleep 5 PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'` if [ -n "$PID" ]; then log_end_msg 0 @@ -40,6 +41,7 @@ case "$1" in stop) log_daemon_msg "Stopping" "$NAME" su -s /bin/sh -c "$DAEMON stop" $steamcmd_user + sleep 5 PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'` if [ -n "$PID" ]; then log_end_msg 1 diff --git a/tools/arkmanager b/tools/arkmanager index 0f113a5..8d6727b 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -124,9 +124,9 @@ doStart() { else arkserveropts="TheIsland?SessionName=$sessioname?QueryPort=$arkqueryport?ServerPassword=$arkserverpass?ServerAdminPassword=$arkserverapass?listen" thejob="$arkserverroot/$arkserverexec $arkserveropts" - screen -dmS "$servicename" $thejob + # run the server in background + $thejob >/dev/null 2>&1 & echo "$timestamp: start" >> "$logdir/arkserver.log" - tail -n 1 "$logdir/arkserver.log" fi } @@ -136,10 +136,10 @@ doStart() { doStop() { if isTheServerRunning; then echo "Stopping server..." - screen -X -S "$servicename" -X stuff "^C" - sleep 10 - echo "$timestamp: stop" >> "$logdir/arkserver.log" - tail -n 1 "$logdir/arkserver.log" + # kill the server with the PID + PID=`ps -ef | grep "$arkserverroot/$arkserverexec" | grep -v grep | awk '{print $2}'` + kill -9 $PID + echo "$timestamp: stop" >> "$logdir/arkserver.log" else echo "The server is already stopped" fi @@ -150,10 +150,10 @@ doStop() { # doInstall() { mkdir -p $arkserverroot - + # Check if steamcmd is installed, and if not, install it if [ ! -e $steamcmdroot/$steamcmdexec ]; then - mkdir -p $steamcmdroot + mkdir -p $steamcmdroot cd /tmp wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz -C $steamcmdroot @@ -161,7 +161,7 @@ doInstall() { ./steamcmd.sh +quit echo "SteamCMD was installed in $steamcmdroot" fi - + cd $steamcmdroot # install the server ./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid validate +quit