remove screen because it doesn't allow to use the script at startup.

This commit is contained in:
Sispheor 2015-06-22 00:44:21 +02:00
parent 6dc4a46e17
commit 3af95eadf9
3 changed files with 11 additions and 17 deletions

View File

@ -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. We assume you have created the `steam` user to store steamcmd and your ARK server.
## Requirements ## 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: Edit /etc/sysctl.conf and set:
``` ```

View File

@ -29,6 +29,7 @@ case "$1" in
start) start)
log_daemon_msg "Starting" "$NAME" log_daemon_msg "Starting" "$NAME"
su -s /bin/sh -c "$DAEMON start" $steamcmd_user su -s /bin/sh -c "$DAEMON start" $steamcmd_user
sleep 5
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'` PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ]; then if [ -n "$PID" ]; then
log_end_msg 0 log_end_msg 0
@ -40,6 +41,7 @@ case "$1" in
stop) stop)
log_daemon_msg "Stopping" "$NAME" log_daemon_msg "Stopping" "$NAME"
su -s /bin/sh -c "$DAEMON stop" $steamcmd_user su -s /bin/sh -c "$DAEMON stop" $steamcmd_user
sleep 5
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'` PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
if [ -n "$PID" ]; then if [ -n "$PID" ]; then
log_end_msg 1 log_end_msg 1

View File

@ -124,9 +124,9 @@ doStart() {
else else
arkserveropts="TheIsland?SessionName=$sessioname?QueryPort=$arkqueryport?ServerPassword=$arkserverpass?ServerAdminPassword=$arkserverapass?listen" arkserveropts="TheIsland?SessionName=$sessioname?QueryPort=$arkqueryport?ServerPassword=$arkserverpass?ServerAdminPassword=$arkserverapass?listen"
thejob="$arkserverroot/$arkserverexec $arkserveropts" thejob="$arkserverroot/$arkserverexec $arkserveropts"
screen -dmS "$servicename" $thejob # run the server in background
$thejob >/dev/null 2>&1 &
echo "$timestamp: start" >> "$logdir/arkserver.log" echo "$timestamp: start" >> "$logdir/arkserver.log"
tail -n 1 "$logdir/arkserver.log"
fi fi
} }
@ -136,10 +136,10 @@ doStart() {
doStop() { doStop() {
if isTheServerRunning; then if isTheServerRunning; then
echo "Stopping server..." echo "Stopping server..."
screen -X -S "$servicename" -X stuff "^C" # kill the server with the PID
sleep 10 PID=`ps -ef | grep "$arkserverroot/$arkserverexec" | grep -v grep | awk '{print $2}'`
echo "$timestamp: stop" >> "$logdir/arkserver.log" kill -9 $PID
tail -n 1 "$logdir/arkserver.log" echo "$timestamp: stop" >> "$logdir/arkserver.log"
else else
echo "The server is already stopped" echo "The server is already stopped"
fi fi
@ -150,10 +150,10 @@ doStop() {
# #
doInstall() { doInstall() {
mkdir -p $arkserverroot mkdir -p $arkserverroot
# Check if steamcmd is installed, and if not, install it # Check if steamcmd is installed, and if not, install it
if [ ! -e $steamcmdroot/$steamcmdexec ]; then if [ ! -e $steamcmdroot/$steamcmdexec ]; then
mkdir -p $steamcmdroot mkdir -p $steamcmdroot
cd /tmp cd /tmp
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz -C $steamcmdroot tar -xvzf steamcmd_linux.tar.gz -C $steamcmdroot
@ -161,7 +161,7 @@ doInstall() {
./steamcmd.sh +quit ./steamcmd.sh +quit
echo "SteamCMD was installed in $steamcmdroot" echo "SteamCMD was installed in $steamcmdroot"
fi fi
cd $steamcmdroot cd $steamcmdroot
# install the server # install the server
./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid validate +quit ./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid validate +quit