Jump to content
Sign in to follow this  
davidlasher

Arma 3 Dedicated Linux Directory Layout ??

Recommended Posts

I have followed everything, I've worked on this for days now after migrating to a new server. I'm on CentOS 7 which I am rather comfortable with.

I can install Arma and get it running, I can install mods and generally get it running (I'll add this issue at the bottom) and no matter what I do, or what information I go by Arma refuses to read the server.cfg file. I've checked caps, spelling, tried to find directory schematics, I've made copies and put them in damn near every folder there is. I've used a .sh startup, I've gone without it - I've followed the official guide. I'm stuck on this. I want to limit the server to 20 people, specify the required mods, and so forth.

Here's what I really want, and this will be here forever for everyone else that needs it too since there is a limited amount of documentation out there for Linux hosts (there are only a handful of sources, if there were more it would be easier to find obscure topics) - a complete directory layout of where everything you need to add and edit goes for linux (I know it's out there for Windows!). If you put it down in the replies here I'll gladly make it into a flow chart style image as a map - but I need something man, I'm getting frustrated. I don't want to go live with a max 64, that's too much for the missions I run on the hardware available for a persistent server.

Secondly, another issue I'm facing with mods is the "Join Black Screen" that doesn't actually get to the lobby, it sits at the screen in between. FSF_Enemies_EUP (or similar) has the exact same bikey name as the Nziwasogo map, both by Makhno. I'm not sure if that's the issue, but without mods I have zero problems (other than customized configs actually working).

Any help would be appreciated, thanks everyone!

**Edit**

The permissions on the configs are set to 777: the permissions on the folders it should be reading are 777. The config has been ripped from examples and tailored to the desired settings and checked numerous times for mistakes. I've re-installed, specified all ports (it wouldn't show otherwise anyways), rebooted, restarted, and everything else I can think of as well as everything recommended on various forums and articles.

Edited by DavidLasher

Share this post


Link to post
Share on other sites

im with you man, over a year now on Linux server (arma3)... and month by month Ill de side to try mods , and over and over I run into problems. either Linux is having issues with loading more than a few mods, or you have to lower case everything, and then that opens a new can or worms,(I think to do with Bi files) .. realy don't know..

Share this post


Link to post
Share on other sites

I think the commands are also different, ie. you have to specify mods for every mod. I'm not sure anymore what's good information out there and what isn't. If I find a solution I'll let you know here so sub the thread. I'm not giving up on Linux, I moved from windows for many good reasons; I'll be a pain in the arse until I find solutions for everyone if I have to.

Share this post


Link to post
Share on other sites

I was using that! Thank you for linking! I figured out the problem, it was a bad game cache.

Dr. Death JM - hope you're subbed - solution to the Linux mod issue is "" QUOTATION MARKS! Of all things!

./arma3server -name=server -config=server.cfg -mod="@a3mp;@nziwasogo"

And if that gives you troubles:

./arma3server -name=server -config=server.cfg "-mod=@a3mp;@nziwasogo"

It all depends on the distro!

I'll keep my word and make the diagram soon :)

Edit: Though I'm still having a F*** of a time with N'Ziwasogo.

Share this post


Link to post
Share on other sites

yeah I fix the mod=, ill post all what I have for server stuff in db and send you a link in pm (just to help) I don't think all Linux are set up to good or the same ,most that do have it working awesome, maybe don't even know others are having issues.

Share this post


Link to post
Share on other sites

here is a nice start script for linux which my son wrote for our server.

when steam is installed, you can install, update, start and stop your arms Server with it (more parameters at the bottom of the script).

create a file called a3start.sh and put the script inside.

Edit it to fit your system parameters (red marked areas).

you don't´need to put mods inside the script. only create 2 folders in the arma 3 server directory "mods" and "mods_off".

All modfolders in the folder "mods" are activated when server starts. The modfolder´s don´t need a @ in front of name.

To have a mod loading order, you can use a number in front of mod name like

01_cba

02_asrai

20_wonderfull_island1

21_wonderfull_island2 …

30_weaponmod

…

to deactivate, copy the modfolder to folder mods_off.

(i do it with filezilla ftp client, cause we have a ftp server running with a link to the arma server directory)

start parameter

./a3start.sh -update to install or update arma 3 server

./a3start.sh -start for server start

./a3start.sh -stop for server stop

For fast start, stop, update … you can create aliase like a3start, a3stop, a3upd.

Then you don´t need to go into script directory to start.

#!/bin/bash
#
# armaserver: ArmA 3 Linux Dedicated Server Control Script by EviLSeeD

#=======================================================================
#========               CONFIGURATION PARAMETERS                ========
#======== MUST BE EDITED MANUALLY TO FIT YOUR SYSTEM PARAMETERS ========
#=======================================================================
ARMA_DIR=[color="#FF0000"]/home/server/steam/arma3[/color]
IP=[color="#FF0000"]123.123.123.123[/color]
PORT=[color="#FF0000"]2302[/color]
CONFIG=[color="#FF0000"]server.cfg[/color]
CFG=[color="#FF0000"]arma3.cfg[/color]
NAME=[color="#FF0000"]yourProfilename[/color]
PIDFILE=${ARMA_DIR}/${PORT}.pid
RUNFILE=${ARMA_DIR}/${PORT}.run 
LOGFILE=${ARMA_DIR}/${PORT}.log
SERVER=${ARMA_DIR}/arma3server 
MODDIR="mods"				           #dirs where to look for mods, seperated by space
OTHERPARAMS=[color="#FF0000"]-nologs -nosound -world=empty[/color]
#=======================================================================
cd ${ARMA_DIR}
SCAN=`find $MODDIR -mindepth 1 -maxdepth 1 -type d -exec echo {} \; | sort | tr -d "." | tr "\n" "\;"`
MODS=${SCAN/%;/}
#=======================================================================

ulimit -c 1000000

case "$1" in

start)
if [ -f ${RUNFILE} ]; then
$0 stop
fi
echo "Starting ArmA 3 server with following mods:"
echo "${SCAN}"

echo "go" >${RUNFILE}
# launch the background watchdog process to run the server
nohup </dev/null >/dev/null $0 watchdog &
;;

stop)
echo "Stopping ArmA 3 server..."
if [ -f ${RUNFILE} ]; then
# ask watcher process to exit by deleting its runfile...
rm -f ${RUNFILE}
fi
# and terminate ArmA 3 server process
if [ -f ${PIDFILE} ]; then
kill -TERM $(< ${PIDFILE})
if [ -f ${PIDFILE} ]; then
rm -f ${PIDFILE}
fi
fi
;;

status)
if [ -f ${RUNFILE} ]; then
echo "ArmA 3 Server should be running..."
else
echo "ArmA 3 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 3 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
;;

update)
$0 stop
cd [color="#FF0000"]/home/server/steam[/color]
./steamcmd.sh +login [color="#FF0000"]YOURSTEAMNAME YOURSTEAMPASS[/color] +force_install_dir ${ARMA_DIR} +app_update 233780 +quit
;;

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 -ip=${IP} -port=${PORT} -config=${CONFIG} -cfg=${CFG} -name=${NAME} -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|update|status|check)"
;;
esac

We use debian 7 on our root server with a Arma Server Linux installation and a Arma Windows installation under Wine.

Edited by Logo

Share this post


Link to post
Share on other sites

ours look a bit diffrent

#!/bin/bash
# Wrapper file to start the A3 server

# Network settings used in -cfg param
networkConfig="network.cfg"

# Server configuration settings used in -config param
serverConfig="server.cfg"

# Server profile and difficulty settings used in -name param
profileName="server.arma3profile"

# Server-side mods
mods="@cba_a3"

# Stop old server
./stop

# Start server
echo "Starting server..."
nohup ./arma3server -cfg="/$networkConfig" -config="$serverConfig" -name="$profileName" -mod="$mods" -maxmem=2047 -enableHT -enableSteamLogs -noSound > arma3.log 2>&1& echo $! > .pid

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×