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

Last change on this file since 8 was 7, checked in by alloc, 11 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.