source: scripts/usr/local/bin/7dtd-start.sh @ 9

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

Fix #1, #2, #3, #5; Refs #4, #6: WD works for save path, not for some logs

  • Property svn:executable set to *
File size: 1.1 KB
Line 
1#!/bin/bash
2# Tries to start the 7dtd instance given as first parameter.
3# Returns:
4#  0 : Done
5#  1 : Was already running
6#  2 : No instance name given
7#  3 : No such instance
8#  5 : Unknown error when starting engine
9
10. /usr/local/bin/7dtd-common.sh
11checkRootLoadConf
12
13checkInstance $1
14
15res=$(isRunning $1)
16if [ $res -eq 0 ]; then
17        if [ ! `pgrep Xvfb` ]; then
18                echo "Xvfb not yet running. Starting..."
19                su -c "/usr/bin/Xvfb :1 -screen 0 640x480x16" $SDTD_USER &> /dev/null &
20                sleep 3
21        fi
22        export DISPLAY=localhost:1.0
23       
24        SSD_PID="--pidfile $(getInstancePath $1)/7dtd.pid --make-pidfile"
25        SSD_DAEMON="--background --no-close"
26        SSD_USER="--chuid $SDTD_USER:$SDTD_GROUP --user $SDTD_USER"
27        OPTS="-quit -batchmode -nographics -configfile=$(getInstancePath $1)/serverconfig.xml -dedicated"
28       
29        start-stop-daemon --start $SSD_PID $SSD_DAEMON $SSD_USER --chdir $SDTD_ROOT --exec $WINE -- $SDTD_ROOT/7DaysToDie.exe $OPTS > $(getInstancePath $1)/stdout.log 2>&1
30        sleep 1
31        res=$(isRunning $1)
32        if [ $res -eq 1 ]; then
33                echo "Done!"
34                exit 0
35        else
36                echo "Failed!"
37                rm -f $(getInstancePath $1)/7dtd.pid
38                exit 5
39        fi
40else
41        echo "7dtd instance $1 is already running"
42        exit 1
43fi
Note: See TracBrowser for help on using the repository browser.