From 7471a5975469f50158fcea7719a501be551d6a7e Mon Sep 17 00:00:00 2001 From: Phil Date: Mon, 21 Dec 2015 18:33:40 +0100 Subject: [PATCH 1/6] enhanced mod-support added parameters. descriptions taken from: https://community.bistudio.com/wiki/Arma_3_Startup_Parameters -servermod Loads the specified sub-folders for different server-side (not broadcasted to clients) mods. Separated by semi-colons. Absolute path and multiple stacked folders are possible. -autoinit: Automatically initialize mission just like first client does. Note: Server config file (server.cfg) must contain Persistent=1; , if it's 0 autoInit skips. -loadmissiontomemory: Server will load mission into memory on first client downloading it. Then it keeps it pre-processed pre-cached in memory for next clients, saving some server CPU cycles --- Arma3/arma3server | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Arma3/arma3server b/Arma3/arma3server index 93a4256c8..e39534122 100644 --- a/Arma3/arma3server +++ b/Arma3/arma3server @@ -28,7 +28,7 @@ ip="0.0.0.0" updateonstart="off" fn_parms(){ -parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods}" +parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -autoinit -loadmissiontomemory" } # ARMA 3 Modules @@ -38,6 +38,7 @@ parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} # mods/\@CBA_A3\;mods/\@task_force_radio # and chmod modules directories to 775 mods="" +servermods="" #### Advanced Variables #### From c9e56d4ee8a14f6477ef25650ef5bd9d8fceac80 Mon Sep 17 00:00:00 2001 From: Phil Date: Mon, 21 Dec 2015 18:53:08 +0100 Subject: [PATCH 2/6] added "-bepath"-parameter This is needed for @Epoch. It does not crash my @Exile server when left empty (@Exile does not need this to be specified, I think it uses the standard path) --- Arma3/arma3server | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Arma3/arma3server b/Arma3/arma3server index e39534122..bd56afd7e 100644 --- a/Arma3/arma3server +++ b/Arma3/arma3server @@ -28,7 +28,7 @@ ip="0.0.0.0" updateonstart="off" fn_parms(){ -parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -autoinit -loadmissiontomemory" +parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory" } # ARMA 3 Modules @@ -39,6 +39,7 @@ parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} # and chmod modules directories to 775 mods="" servermods="" +bepath="" #### Advanced Variables #### From 844ddca60d1cd8d887a797b314750ee4b3d3edf0 Mon Sep 17 00:00:00 2001 From: Phil Date: Mon, 21 Dec 2015 19:16:22 +0100 Subject: [PATCH 3/6] added "-port"-parameter If one wants to start multiple arma3servers on one ip. also added comments for my last commit. --- Arma3/arma3server | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Arma3/arma3server b/Arma3/arma3server index bd56afd7e..2a02b8da0 100644 --- a/Arma3/arma3server +++ b/Arma3/arma3server @@ -25,10 +25,11 @@ steampass="password" # Start Variables ip="0.0.0.0" +srvport="2302" updateonstart="off" fn_parms(){ -parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory" +parms="-netlog -ip=${ip} -port=${srvport} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory" } # ARMA 3 Modules @@ -38,7 +39,12 @@ parms="-netlog -ip=${ip} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} # mods/\@CBA_A3\;mods/\@task_force_radio # and chmod modules directories to 775 mods="" + +# Server-side Mods servermods="" + +# Path to BattlEye +# leave empty for default bepath="" #### Advanced Variables #### From 3c0c237955d5be68394a624ce8b8a78015a11868 Mon Sep 17 00:00:00 2001 From: Phil Date: Mon, 21 Dec 2015 19:29:23 +0100 Subject: [PATCH 4/6] added headless-client server-support Added server-support for headless clients. If this is not specified, no headless-client will be able to connect. --- Arma3/cfg/lgsm-default.server.cfg | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Arma3/cfg/lgsm-default.server.cfg b/Arma3/cfg/lgsm-default.server.cfg index df3f59911..8c64ac36b 100644 --- a/Arma3/cfg/lgsm-default.server.cfg +++ b/Arma3/cfg/lgsm-default.server.cfg @@ -119,4 +119,13 @@ doubleIdDetected = ""; // // ban = ban (_this select 0) onUnsignedData = "kick (_this select 0)"; onHackedData = "kick (_this select 0)"; -onDifferentData = ""; \ No newline at end of file +onDifferentData = ""; + +// HEADLESS CLIENT SUPPORT +// specify ip-adresses of allowed headless clients +// if more than one: +// headlessClients[]={"127.0.0.1", "192.168.0.1"}; +// localClient[]={"127.0.0.1", "192.168.0.1"}; +headlessClients[]={"127.0.0.1"}; +localClient[]={"127.0.0.1"}; +battleyeLicense=1; From c6e6d9705f61ea52404ba62fc90213cc3512bd67 Mon Sep 17 00:00:00 2001 From: Phil Date: Mon, 21 Dec 2015 20:41:26 +0100 Subject: [PATCH 5/6] ARMA 3 port-details Shows the right ports when passing port as parameter --- functions/fn_details_config | 46 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/functions/fn_details_config b/functions/fn_details_config index d24751f81..aa0e50608 100644 --- a/functions/fn_details_config +++ b/functions/fn_details_config @@ -209,29 +209,29 @@ elif [ "${engine}" == "realvirtuality" ]; then slots="\e[0;31mUNAVAILABLE\e[0m" fi - # port - if [ -f "${servercfgfullpath}" ]; then - port=$(grep "serverport=" "${servercfgfullpath}" | grep -v // | tr -d '\r' | tr -cd '[:digit:]') - fi - if [ ! -n "${port}" ]; then - port="0" - fi - - # query port - if [ -f "${servercfgfullpath}" ]; then - queryport=$(grep "steamqueryport=" "${servercfgfullpath}" | grep -v // | tr -d '\r' | tr -cd '[:digit:]') - fi - if [ ! -n "${queryport}" ]; then - queryport="0" - fi - - # master port - if [ -f "${servercfgfullpath}" ]; then - masterport=$(grep "steamport=" "${servercfgfullpath}" | grep -v // | tr -d '\r' | tr -cd '[:digit:]') - fi - if [ ! -n "${masterport}" ]; then - masterport="0" - fi + # port + if [ "${srvport}" != "" ]; then + port=${srvport} + fi + if [ ! -n "${port}" ]; then + port="0" + fi + + # query port + if [ "${srvport}" != "" ]; then + queryport=$((srvport+1)) + fi + if [ ! -n "${queryport}" ]; then + queryport="0" + fi + + # master port + if [ "${srvport}" != "" ]; then + masterport=$((srvport+2)) + fi + if [ ! -n "${masterport}" ]; then + masterport="0" + fi fn_servercfgfullpath From 5d3313a96b29f7f53828d25682d2719d9e1d84d0 Mon Sep 17 00:00:00 2001 From: Phil Date: Mon, 21 Dec 2015 21:11:39 +0100 Subject: [PATCH 6/6] commented the ports --- Arma3/cfg/lgsm-default.server.cfg | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Arma3/cfg/lgsm-default.server.cfg b/Arma3/cfg/lgsm-default.server.cfg index 8c64ac36b..51b2c26e6 100644 --- a/Arma3/cfg/lgsm-default.server.cfg +++ b/Arma3/cfg/lgsm-default.server.cfg @@ -5,18 +5,20 @@ // PORTS - +// please specify the serverport as a parameter in arma3server executable +// it will automatically use the serverport including the next 3 for steam query & steam master. +// the fourth port ist not documented in https://community.bistudio.com/wiki/Arma_3_Dedicated_Server#Port_Forwarding // Server Port // default: 2302. -serverport=2302; +// serverport=2302; // Steam Master Port // default: 2304. -steamport=2304; +// steamport=2304; // Steam Query Port // default: 2303. -steamqueryport=2303; +//steamqueryport=2303; // GENERAL SETTINGS