Changeset 9 for scripts/etc


Ignore:
Timestamp:
May 15, 2014, 8:38:37 PM (11 years ago)
Author:
alloc
Message:

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

Location:
scripts/etc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • scripts/etc/7dtd.conf

    r1 r9  
    88# Root directory of the engine
    99export SDTD_ROOT=/home/sdtd/7dtd
    10 export SDTD_SERVERCONFIG=$SDTD_ROOT/../serverconfig.xml
     10
     11# Root of the 7dtd folders, containing e.g. the "instances" folder
     12export SDTD_BASE=/home/sdtd
    1113
    1214# Root directory for backups
     
    1618export SDTD_USER=sdtd
    1719export SDTD_GROUP=sdtd
    18 
    19 # World to load
    20 export SDTD_WORLD=Navezgane
    21 
    22 # Name of savegame to load
    23 export SDTD_SAVE=a7
    24 
    25 # Base port to use for networking
    26 # Note that baseport (UDP) and base+1 up to base+3 (each TCP) will be used
    27 export SDTD_PORT=25000
    28 
    29 # Set this to a reasonable value to get notified if the engine uses up too much RAM
    30 # Value in mebibytes (MiB)
    31 # For a server only used for 7dtd this should be ~500 MiB lower than the machines total RAM
    32 export MEM_NOTIFY_MAX_RAM=2500
    33 
    34 # If limit exceeded notify someone by email?
    35 export MEM_NOTIFY_MAIL=no
    36 
    37 # If limit exceeded notify someone by XMPP (aka Jabber)?
    38 export MEM_NOTIFY_XMPP=yes
    39 
    40 # XMPP user to use for sending
    41 export XMPP_USER=
    42 # XMPP server for sending
    43 export XMPP_SERVER=
    44 # XMPP account password
    45 export XMPP_PASSWORD=
    46 # Receiver of message
    47 export XMPP_TARGET=
    48 
    49 # Mail from field
    50 export MAIL_FROM=
    51 # Mail receiver
    52 export MAIL_TO=
    53 # Subject of mail
    54 export MAIL_SUBJECT=7dtd memory usage
    55 # SMTP server to use for sending
    56 export MAIL_SMTP=
    57 # SMTP user (not used if empty)
    58 export MAIL_USER=
    59 # SMTP password (not used if empty)
    60 export MAIL_PASS=
    6120
    6221# Paths to binaries. Use "which BINARYNAME" to find the path of a single binary
     
    6827export PIDOF=/bin/pidof
    6928export WINE=/usr/bin/wine
    70 
    71 if [ -e $SDTD_SERVERCONFIG ]; then
    72         export SDTD_TELNET_ENABLED=`xmllint --xpath "string(/ServerSettings/property[@name='TelnetEnabled']/@value)" $SDTD_SERVERCONFIG`
    73         export SDTD_TELNET_PORT=`xmllint --xpath "string(/ServerSettings/property[@name='TelnetPort']/@value)" $SDTD_SERVERCONFIG`
    74         export SDTD_TELNET_PASSWORD=`xmllint --xpath "string(/ServerSettings/property[@name='TelnetPassword']/@value)" $SDTD_SERVERCONFIG`
    75 fi
  • scripts/etc/init.d/7dtd.sh

    r7 r9  
    1313### END INIT INFO
    1414
    15 . /etc/7dtd.conf
    16 
    17 NAME="7DtD"
    18 BINARYPATH=$SDTD_ROOT
    19 USER=$SDTD_USER
    20 RUNTIME=$WINE
    21 BINARYNAME=7DaysToDie.exe
    22 PIDFILE="7dtd-server.pid"
    23 
    24 OPTS="-quit -batchmode -nographics -configfile=../serverconfig.xml -dedicated"
    25 
    26 cd "$BINARYPATH"
     15. /usr/local/bin/7dtd-common.sh
     16checkRootLoadConf
    2717
    2818case "$1" in
    2919    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
     20        echo "Starting all 7dtd instances:"
     21        for I in $SDTD_BASE/instances/*; do
     22            ins=`basename $I`
     23            echo "Starting: $ins"
     24            /usr/local/bin/7dtd-start.sh $ins
     25        done
     26        echo "All done"
    5327    ;;
    5428    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
     29        echo "Stopping all 7dtd instances:"
     30        for I in $SDTD_BASE/instances/*; do
     31            ins=`basename $I`
     32            echo "Stopping: $ins"
     33            /usr/local/bin/7dtd-kill.sh $ins
     34            echo
     35            echo
     36        done
     37        echo "All done"
    7038    ;;
    7139    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
     40        /usr/local/bin/7dtd-instances.sh
    7841    ;;
    7942    *)
Note: See TracChangeset for help on using the changeset viewer.