Jump to content

Serjevski

Member
  • Content Count

    4
  • Joined

  • Last visited

  • Medals

Posts posted by Serjevski


  1. Ok, thank you all :) it works now. My main mistake was forgotten = between -mod switch and list of mods.

    Here is my final, working script:

    #!/bin/bash
    #
    # armaserver: ArmA 2 Linux Dedicated Server Control Script
    #  (c) 2010 BIStudio
    #  ArmA 2 binary version must be 1.04 or later
    #
    
    #=======================================================================
    #========               CONFIGURATION PARAMETERS                ========
    #======== MUST BE EDITED MANUALLY TO FIT YOUR SYSTEM PARAMETERS ========
    #=======================================================================
    ARMA_DIR=/opt/arma2server
    CONFIG=server.cfg
    PORT=2302
    PIDFILE=${ARMA_DIR}/${PORT}.pid
    RUNFILE=${ARMA_DIR}/${PORT}.run
    LOGFILE=${ARMA_DIR}/log.${PORT}.log
    SERVER=${ARMA_DIR}/server
    OTHERPARAMS=-cpucount=2
    CBA="@cba_a2;@cba_oa;@cba"
    ACE="@ace;@acex;@acex_ru;@acex_sm;@acex_usnavy"
    EXP="arma2;expansion;expansion\beta"
    MODS="${EXP};${CBA};${ACE};@fallujah;@jsrs;@brg_africa;@chn_crocodile;@ibr_dtowns;@ibr_lcivilians;@ibr_plants;@mbg_buildings2;@lingor;@csj_snake;@namalsk"
    #;${CBA};@asr_ai;${ACE};;;@isla_duala;;;"
    
    
    #=======================================================================
    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})..."
        sudo -u arma ${SERVER} >>${LOGFILE} 2>&1 -server -config=${CONFIG} -port=${PORT} -pid=${PIDFILE} -mod=${MODS} ${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
    


  2. Change this:

    MODS=-"mod ${ARMA_DIR}/@cba;${ARMA_DIR}/@cba_a2;@cba_oa;@ace;@acex;@acex_ru;@acex_sm;@acex_usnavy;@i44;@lingor;@namalsk;@thirsk;@wintercamos;"

    into

    MODS="-mod=@cba;@cba_a2;@cba_oa;@ace;@acex;@acex_ru;@acex_sm;@acex_usnavy;@i44;@lingor;@namalsk;@thirsk;@wintercamos"

    and

    ${SERVER} >>${LOGFILE} 2>>${LOGFILE} -server -config=${CONFIG} -port=${PORT} -pid=${PIDFILE} ${OTHERPARAMS} \"${MODS}\"

    into

    ${SERVER} >>${LOGFILE} 2>>${LOGFILE} -server -config=${CONFIG} -port=${PORT} -pid=${PIDFILE} ${OTHERPARAMS} ${MODS}

    Thanks, I alredy found error, missed = (equal sign) between =-mod and modlist :)


  3. I've installed Linux dedicated serve saccessfully? it runs missions that doesn't requre any mods, but when I try to run server with mods it doesn't see them.

    Here is my server startup script:

    #!/bin/bash
    #
    # armaserver: ArmA 2 Linux Dedicated Server Control Script
    #  (c) 2010 BIStudio
    #  ArmA 2 binary version must be 1.04 or later
    #
    
    #=======================================================================
    #========               CONFIGURATION PARAMETERS                ========
    #======== MUST BE EDITED MANUALLY TO FIT YOUR SYSTEM PARAMETERS ========
    #=======================================================================
    ARMA_DIR=/home/arma/aoa2server
    CONFIG=server.cfg
    PORT=2302
    PIDFILE=${ARMA_DIR}/${PORT}.pid
    RUNFILE=${ARMA_DIR}/${PORT}.run
    LOGFILE=${ARMA_DIR}/log.${PORT}.log
    ERRRORLOG=${ARMA_DIR}/error.${PORT}.log
    SERVER=${ARMA_DIR}/server
    OTHERPARAMS=
    MODS=-"mod ${ARMA_DIR}/@cba;${ARMA_DIR}/@cba_a2;@cba_oa;@ace;@acex;@acex_ru;@acex_sm;@acex_usnavy;@i44;@lingor;@namalsk;@thirsk;@wintercamos;"
    
    #=======================================================================
    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>>${LOGFILE} -server -config=${CONFIG} -port=${PORT} -pid=${PIDFILE} ${OTHERPARAMS} \"${MODS}\"
        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
    

    Here is ps output:

    ps aux | grep server
    root     23656  0.1  0.1   5428  1448 pts/0    S    11:13   0:00 /bin/bash /etc/init.d/arma2oaserver watchdog
    root     23658  101 21.2 235992 217452 pts/0   Rl   11:13   0:07 /home/arma/aoa2server/server -server -config=server.cfg -port=2302 -pid=/home/arma/aoa2server/2302.pid "-mod /home/arma/aoa2server/@cba;/home/arma/aoa2server/@cba_a2;@cba_oa;@ace;@acex;@acex_ru;@acex_sm;@acex_usnavy;@i44;@lingor;@namalsk;@thirsk;@wintercamos;"
    

    All mod files and folders are lowecase and located in /home/arma/aoa2server directory

×