| 
            Last change
 on this file since 9 was             9, checked in by alloc, 11 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
           | 
        
      
      
| Rev | Line |   | 
|---|
| [1] | 1 | #!/bin/bash
 | 
|---|
| [9] | 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
 | 
|---|
 | 11 | checkRootLoadConf
 | 
|---|
 | 12 | 
 | 
|---|
 | 13 | checkInstance $1
 | 
|---|
 | 14 | 
 | 
|---|
 | 15 | res=$(isRunning $1)
 | 
|---|
 | 16 | if [ $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
 | 
|---|
 | 40 | else
 | 
|---|
 | 41 |         echo "7dtd instance $1 is already running"
 | 
|---|
 | 42 |         exit 1
 | 
|---|
 | 43 | fi
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.