source: scripts/etc/init.d/7dtd.sh @ 7

Last change on this file since 7 was 7, checked in by alloc, 5 years ago

Renamed ssd

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1#!/bin/sh
2
3### BEGIN INIT INFO
4# Provides:          7dtd-server
5# Required-Start:    $remote_fs
6# Required-Stop:     $remote_fs
7# Should-Start:      $named
8# Should-Stop:       $named
9# Default-Start:     2 3 4 5
10# Default-Stop:      0 1 6
11# Short-Description: 7 Days to Die server
12# Description:       Starts a 7 Days to Die server
13### END INIT INFO
14
15. /etc/7dtd.conf
16
17NAME="7DtD"
18BINARYPATH=$SDTD_ROOT
19USER=$SDTD_USER
20RUNTIME=$WINE
21BINARYNAME=7DaysToDie.exe
22PIDFILE="7dtd-server.pid"
23
24OPTS="-quit -batchmode -nographics -configfile=../serverconfig.xml -dedicated"
25
26cd "$BINARYPATH"
27
28case "$1" in
29    start)
30        echo -n "Starting the $NAME server... "
31        if [ ! `pgrep Xvfb` ]; then
32                su -c "/usr/bin/Xvfb :1 -screen 0 640x480x16" sdtd &
33                sleep 3
34        fi
35        if [ -e "$BINARYNAME" ]; then
36            if [ `pgrep $BINARYNAME` ]; then
37                echo "Already running!"
38            else
39                export DISPLAY=localhost:1.0
40                start-stop-daemon --start --pidfile $SDTD_ROOT/$PIDFILE --background --no-close --make-pidfile --chuid $USER --user $USER --chdir $BINARYPATH --exec  -- -D -m -S $SCREENREF $RUNTIME $BINARYPATH/$BINARYNAME $OPTS
41                sleep 1
42            fi
43        else
44            echo "Could not find binary, aborting!"
45            exit 5
46        fi
47        if [ `pgrep -F $SDTD_ROOT/$PIDFILE` ]; then
48            echo "Done!"
49        else
50            echo "Failed!"
51            rm -f $SDTD_ROOT/$PIDFILE
52        fi
53    ;;
54    stop)
55        start-stop-daemon --status --pidfile $SDTD_ROOT/$PIDFILE
56        if [ $? -eq 0 ]; then
57            echo -n "Stopping the $NAME server... "
58            if [ "$SDTD_TELNET_ENABLED" = "true" ] && [ -n "$SDTD_TELNET_PASSWORD" ]; then
59                echo "$SDTD_TELNET_PASSWORD\nshutdown" | nc -q 2 127.0.0.1 $SDTD_TELNET_PORT
60                sleep 5
61            else
62                echo "Telnet not enabled or no password set. No graceful shutdown!"
63            fi
64            start-stop-daemon --stop --pidfile $SDTD_ROOT/$PIDFILE
65            rm $SDTD_ROOT/$PIDFILE
66            echo "Done!"
67        else
68            echo "$NAME not running"
69        fi
70    ;;
71    status)
72        start-stop-daemon --status --pidfile $SDTD_ROOT/$PIDFILE
73        if [ $? -eq 0 ]; then
74            echo "$NAME server is running"
75        else
76            echo "$NAME server not running"
77        fi
78    ;;
79    *)
80        echo "Usage: ${0} {start|stop|status}"
81        exit 2
82esac
83exit 0
Note: See TracBrowser for help on using the repository browser.