Jump to content

Ajbboy

Member
  • Content Count

    7
  • Joined

  • Last visited

  • Medals

Posts posted by Ajbboy


  1. Hi, I've just finally launched a ArmA 2 OA Dedicated Server on my Linux Debian 7.5 Server Box, and the server is running perfectly. But I would like to find out if there is a Restart Script I could use. I know that there is one inside of the arma2oaserver file, but I'm not sure if it actually works, or how to make it function properly.

     

    This is the code of the arma2oaserver startup script that starts the server, along with a few other scripts, and what appears to be a Restart script in there maybe:

    ulimit -c 1000000
    
    case "$1" in
    
    
    start)
        if [ -f ${RUNFILE} ]; then
         $0 stop
        fi
        echo "Starting ArmA 2 server..."
        # file to mark we want server running...    
        echo "go" >${RUNFILE}
        # launch the background watchdog process to run the server
        nohup </dev/null >/dev/null $0 watchdog &
        ;;
        
    stop)
        echo "Stopping ArmA 2 server..."
        if [ -f ${RUNFILE} ]; then
        # ask watcher process to exit by deleting its runfile...
         rm -f ${RUNFILE}
        fi
        # and terminate ArmA 2 server process
        if [ -f ${PIDFILE} ]; then
         kill -TERM $(< ${PIDFILE})
         if [ -f ${PIDFILE} ]; then
            rm -f ${PIDFILE}
         fi
        fi
        ;;
        
        
    status)
        if [ -f ${RUNFILE} ]; then
         echo "Server should be running..."
        else
         echo "Server should not be running..."
        fi
        if [ -f ${PIDFILE} ]; then
         PID=$(< ${PIDFILE})
         echo "PID file exists (PID=${PID})..."
         if [ -f /proc/${PID}/cmdline ]; then
            echo "Server process seems to be running..."
         fi
        fi
        ;;
        
        
    check)
        echo -n "ArmA 2 directory: ${ARMA_DIR} "
        if [ -d ${ARMA_DIR} ]; then
         echo "OK"
        else
         echo "MISSING!"
        fi
        
        echo -n "Server executable: ${SERVER} "
        if [ -x ${SERVER} ]; then
         echo "OK"
        else
         echo "ERROR!"
        fi
        
        echo "Port number: ${PORT}"
        
        echo -n "Config file: ${CONFIG} "
        if [ -f ${CONFIG} ]; then
         echo "OK"
        else
         echo "MISSING!"
        fi
        
        echo "PID file: ${PIDFILE}"
        echo "RUN file: ${RUNFILE}"
        
        ;;
    
    restart)
        $0 stop
        $0 start
    ;;
    
    watchdog)
        # this is a background watchdog process. Do not start directly
        while [ -f ${RUNFILE} ]; do
        # launch the server...
         cd ${ARMA_DIR}
         echo >>${LOGFILE} "WATCHDOG ($): [$(date)] Starting server (port ${PORT})..."
         ${SERVER} >>${LOGFILE} 2>&1 -server -config=${CONFIG} -port=${PORT} -pid=${PIDFILE} ${OTHERPARAMS}
         if [ -f ${RUNFILE} ]; then
            echo >>${LOGFILE} "WATCHDOG ($): [$(date)] Server died, waiting to restart..."
            sleep 5s
         else
            echo >>${LOGFILE} "WATCHDOG ($): [$(date)] Server shutdown intentional, watchdog terminating"
         fi
        done
        ;;
    *)
        echo "$0 (start|stop|restart|status|check)"
        ;;
    esac
    

    Thanks in Advance!

     

    - Ajb

×