From fb69bafcd6b9cb4a7686402c6f9a13c99bb0fffa Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Mon, 2 Dec 2019 18:26:19 +0000
Subject: [PATCH 01/41] fix(legacy): add service name to core_legacy.sh

---
 lgsm/functions/core_legacy.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lgsm/functions/core_legacy.sh b/lgsm/functions/core_legacy.sh
index 1b525b669..c3efe7b63 100644
--- a/lgsm/functions/core_legacy.sh
+++ b/lgsm/functions/core_legacy.sh
@@ -41,6 +41,10 @@ if [ -z "${alertlog}" ]; then
 	alertlog="${emaillog}"
 fi
 
+if [ -z "${servicename}" ]; then
+	servicename="${selfname}"
+fi
+
 # Alternations to workshop variables.
 if [ -z "${wsapikey}" ]; then
 	if [ "${workshopauth}" ]; then

From 04ea539bcbd6b77ea200df053fe6e86be40347f9 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Thu, 5 Dec 2019 09:02:39 +0000
Subject: [PATCH 02/41] release v19.12.5

---
 linuxgsm.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linuxgsm.sh b/linuxgsm.sh
index e7a7bc67e..1a000656c 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="v19.12.4"
+version="v19.12.5"
 shortname="core"
 gameservername="core"
 rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")

From d09b2ed1055cd0cea81fc9a1ba717590ba91339a Mon Sep 17 00:00:00 2001
From: Frisasky <digimoncn@gmail.com>
Date: Thu, 5 Dec 2019 18:14:09 +0800
Subject: [PATCH 03/41] fix(rustserver): fix typo for rust wipe code (#2634)

---
 lgsm/functions/command_wipe.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh
index 0598699fb..97b268e57 100644
--- a/lgsm/functions/command_wipe.sh
+++ b/lgsm/functions/command_wipe.sh
@@ -124,7 +124,7 @@ fn_wipe_server_remove_files(){
 			echo -en "Removing server misc srv.files*.db file(s)..."
 			fn_sleep_time
 			fn_script_log "${currentaction}"
-			find "${serveridentitydir:?}" -type f -name "sv.files.*.d" -delete
+			find "${serveridentitydir:?}" -type f -name "sv.files.*.db" -delete
 			fn_wipe_exit_code
 			fn_sleep_time
 		# No further information if not found because it should I could not get this file showing up.

From 18c6788536ab282cee6b46891fe1fee1ce127240 Mon Sep 17 00:00:00 2001
From: Frisasky <digimoncn@gmail.com>
Date: Tue, 10 Dec 2019 17:52:12 +0800
Subject: [PATCH 04/41] fix(doiserver): resolve server failing to restart
 without -norestart (#2651)

---
 lgsm/config-default/config-lgsm/doiserver/_default.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index 6dce5a140..958e088f2 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -19,7 +19,7 @@ tickrate="64"
 
 ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
 fn_parms(){
-parms="-game doi -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} -workshop"
+parms="-game doi -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} -workshop -norestart"
 }
 
 #### LinuxGSM Settings ####

From ce2005ab6a5dbe42c79602e6c2174d8b9db5286b Mon Sep 17 00:00:00 2001
From: Frisasky <digimoncn@gmail.com>
Date: Tue, 7 Jan 2020 16:59:58 +0800
Subject: [PATCH 05/41] feat(post-details): change default post target from
 hastebin to termbin (#2645)

---
 lgsm/config-default/config-lgsm/ahl2server/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/ahlserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/arkserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/arma3server/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/bb2server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/bbserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/bdserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/bf1942server/_default.cfg   | 2 +-
 lgsm/config-default/config-lgsm/bmdmserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/boserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/bsserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/bt1944server/_default.cfg   | 2 +-
 lgsm/config-default/config-lgsm/btserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/ccserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/cod2server/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/cod4server/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/codserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/coduoserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/codwawserver/_default.cfg   | 2 +-
 lgsm/config-default/config-lgsm/csczserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/csgoserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/csserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/cssserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/dabserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/dmcserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/dodserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/dodsserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/doiserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/dstserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/dysserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/ecoserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/emserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/etlserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/fctrserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/fofserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/gesserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/gmodserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/hldmserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/hldmsserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/hwserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/insserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/inssserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/iosserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/jc2server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/jc3server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/kf2server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/kfserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/l4d2server/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/l4dserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/mcbserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/mcserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/mhserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/mohaaserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/mtaserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/mumbleserver/_default.cfg   | 2 +-
 lgsm/config-default/config-lgsm/ndserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/nmrihserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/ns2cserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/ns2server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/nsserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/opforserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/pcserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/pstbsserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/pzserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/q2server/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/q3server/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/qlserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/qwserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/ricochetserver/_default.cfg | 2 +-
 lgsm/config-default/config-lgsm/roserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/rtcwserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/rustserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/rwserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/sampserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/sbotsserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/sbserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/sdtdserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/sfcserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/sof2server/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/solserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/squadserver/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/ss3server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/stserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/svenserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/terrariaserver/_default.cfg | 2 +-
 lgsm/config-default/config-lgsm/tf2server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/tfcserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/ts3server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/tsserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/tuserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/twserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/untserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/ut2k4server/_default.cfg    | 2 +-
 lgsm/config-default/config-lgsm/ut3server/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/ut99server/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/utserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/vsserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/wetserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/wfserver/_default.cfg       | 2 +-
 lgsm/config-default/config-lgsm/wurmserver/_default.cfg     | 2 +-
 lgsm/config-default/config-lgsm/zmrserver/_default.cfg      | 2 +-
 lgsm/config-default/config-lgsm/zpsserver/_default.cfg      | 2 +-
 lgsm/functions/command_postdetails.sh                       | 2 +-
 105 files changed, 105 insertions(+), 105 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index 9db6afe4a..e9bac4a9c 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -42,7 +42,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index b9d5e36b5..35f4d6d01 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index 8aace7519..61c2d456d 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -39,7 +39,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index b8e8b3db7..0a4f1fbf4 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -53,7 +53,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index 044dd18a3..976423a1e 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index a263486d4..64dc10d11 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index a57e41c12..daaba9f6b 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index cd77130db..69974740e 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index 5b947486b..45dce5225 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index da2b4163a..3a3f3e5d5 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index 6685734d9..9ff4abdb8 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -47,7 +47,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
index 3565e3670..22e0f1c3d 100644
--- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index 7825610a9..97b4db1c2 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index e6feab660..2f1b11818 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index 61e2962c3..18e0b8678 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index ebf573ac3..b2efc329c 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index bd783d62c..e50e6184b 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index a187cfc99..7397f8504 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index ba9163205..a77fd2dd3 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index 918d78841..4c56cb6e1 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index 15f45808b..f4e242e99 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -63,7 +63,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index 1c58f0256..bc27a535c 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index d50676ced..5388b6123 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index 03d518e06..c9347d8d4 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index d2dcee9fa..7a11d77a8 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index f23ab09b8..50ea789b1 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index 4e1aa6c94..b967ef72d 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index 958e088f2..eebbdf699 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -39,7 +39,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index 3073f2d79..a7025a966 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -41,7 +41,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index f368fc310..501fe475e 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index c68e15df2..fe53ee5f8 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index 65fe4d0dc..75445659c 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index ed4759cd2..7813caa17 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index 15c5bf0cf..c071e01f3 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index b2da0ed5b..5c1e44af6 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/gesserver/_default.cfg b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
index 00ba0497f..a88fe3cff 100644
--- a/lgsm/config-default/config-lgsm/gesserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index d1501dc71..b12b1e551 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -54,7 +54,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index add451f92..4ff3998a1 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index 279f13b73..de4ab821d 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index 787e3c32b..c73331705 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
index facdaea0e..c934622fb 100644
--- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
@@ -49,7 +49,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index a9daf4e86..d595be7ff 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -44,7 +44,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index 014333b6a..cd66169d6 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -45,7 +45,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index 27f93c29c..7e63ed0f2 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index 2942b0b6c..deccd031d 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index 1c88c7de2..44d668dda 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index 016c28f69..6e31023be 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index ee5817909..ec86c5369 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -42,7 +42,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index 90c597f9e..ca29ca183 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index c72d16e14..2181c81f1 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
index 79a623d61..26d25edf3 100644
--- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index 904a2af88..efa103c67 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -33,7 +33,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index cc4de6276..dc80cc318 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index 97fe12dc8..ad386e280 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index bb1e47762..03f6f4321 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -34,7 +34,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
index b722193b2..fffde2f51 100644
--- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
@@ -31,7 +31,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index ab269aaf6..d37f44f1f 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index 4c56f8a8d..a2aac7eb3 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index f984d1908..9dbb28592 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -45,7 +45,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index fbf312222..9b042130f 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -49,7 +49,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index 6654d2e82..ad85b88c6 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index 5f50583fb..b5c9a30e5 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index a4f7a8942..d9c65db4d 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
index 09e357bef..c8ea594e7 100644
--- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
@@ -39,7 +39,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index 4d6244afd..a38ba25cd 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index 62862f21f..9373f9a0f 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -33,7 +33,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index 8601a5f8d..7d28a1cbe 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index 02d27c9d8..b9b9f6b81 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index 71f86ac98..2e3597261 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -32,7 +32,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index 693ffcbdf..ee1d88eef 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -34,7 +34,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index f62f4ceb1..0117dbd61 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index 1018f0028..ac2e2d845 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index 1abd2e20d..c54f98369 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index 6835d35d6..05d97a267 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -62,7 +62,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index 966c473fc..89aea7cb2 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -33,7 +33,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index 50b52ad56..fe7ac9111 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -34,7 +34,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index e5d21ae7e..34c05d609 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index cdff1963d..4cb4a00aa 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index 4355298bb..d6cc4a109 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -33,7 +33,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index 373678cb4..04743cab2 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index 48887e1ce..36ef2b89b 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index 89fe8c4e1..1cf1f3491 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -36,7 +36,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index ab8551bcb..633025284 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
index 606fdb21c..349cd6673 100644
--- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
@@ -34,7 +34,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index 73883f785..4f1656375 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -40,7 +40,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index 208adad83..bf35e6a20 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index 495eaf159..54956236c 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index bcc4585b4..741f30a75 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index 0223c28c4..3a0d22ea5 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index 2d53a0725..7a721ec01 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -33,7 +33,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index be66db897..c454e1f15 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index 2c0b3b445..acc711d2c 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -40,7 +40,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index f9ca0f996..e10305a94 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index e50f032c4..1b91ba923 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -40,7 +40,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index 2658f60ca..74f026ea5 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -34,7 +34,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index 6c1db9e1e..16998ea6c 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -45,7 +45,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index d8d80345d..dad542598 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -34,7 +34,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index 5227e99bf..b12457c44 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index f1f8f7c4d..6da0d9fb1 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -37,7 +37,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 3df5c91dc..6cce7a75a 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -30,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index dacb39aaf..b40fcda6d 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -35,7 +35,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index 08a17c81b..a532aa93a 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -32,7 +32,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index 7de855e46..7e1c621b0 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -38,7 +38,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index 5f8d76c23..8d55e4d44 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -43,7 +43,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
index 0657a2622..083bc7213 100644
--- a/lgsm/functions/command_postdetails.sh
+++ b/lgsm/functions/command_postdetails.sh
@@ -27,7 +27,7 @@ local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 # to post to pastebin, or
 #  rustserver@gamerig:~$ posttarget= ./rustserver pd
 # to leave the output on the filesystem.
-posttarget=${posttarget="https://hastebin.com"}
+posttarget=${posttarget="https://termbin.com"}
 
 # For pastebin, you can set the expiration period.
 # use 1 week as the default, other options are '24h' for a day, etc.

From 736e55717f9a789aae783ddf5c74bba5d19ab9bc Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Sun, 16 Feb 2020 01:01:23 +0000
Subject: [PATCH 06/41] standardise command if

---
 lgsm/functions/check_deps.sh               | 36 +++++++++++-----------
 lgsm/functions/command_dev_detect_deps.sh  |  4 +--
 lgsm/functions/command_dev_detect_glibc.sh |  2 +-
 lgsm/functions/command_fastdl.sh           |  2 +-
 lgsm/functions/command_monitor.sh          |  2 +-
 lgsm/functions/command_stop.sh             |  2 +-
 lgsm/functions/command_validate.sh         |  2 +-
 lgsm/functions/core_dl.sh                  |  2 +-
 lgsm/functions/info_distro.sh              | 10 +++---
 lgsm/functions/info_stats.sh               |  2 +-
 lgsm/functions/install_server_files.sh     |  2 +-
 lgsm/functions/query_gamedig.sh            |  2 +-
 lgsm/functions/update_steamcmd.sh          |  2 +-
 linuxgsm.sh                                |  4 +--
 tests/tests_fctrserver.sh                  |  4 +--
 tests/tests_jc2server.sh                   |  2 +-
 tests/tests_mcserver.sh                    |  4 +--
 tests/tests_ts3server.sh                   |  4 +--
 18 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index 5362e73b5..c88f2870c 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -160,7 +160,7 @@ fn_deps_detector(){
 		depstatus=1
 		jquniversemissing=1
 	elif [ "${deptocheck}" == "mono-complete" ]; then
-		if [ -n "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
+		if [ "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
 			# Mono >= 5.0.0 already installed.
 			depstatus=0
 		else
@@ -168,10 +168,10 @@ fn_deps_detector(){
 			depstatus=1
 			monostatus=1
 		fi
-	elif [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+	elif [ "$(command -v dpkg-query 2>/dev/null)" ]; then
 		dpkg-query -W -f='${Status}' "${deptocheck}" 2>/dev/null | grep -q -P '^install ok installed'
 		depstatus=$?
-	elif [ -n "$(command -v rpm 2>/dev/null)" ]; then
+	elif [ "$(command -v rpm 2>/dev/null)" ]; then
 		rpm -q "${deptocheck}" > /dev/null 2>&1
 		depstatus=$?
 	fi
@@ -212,15 +212,15 @@ fn_deps_email(){
 				array_deps_required+=( exim4 )
 			elif [ -d /etc/sendmail ]; then
 				array_deps_required+=( sendmail )
-			elif [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+			elif [ "$(command -v dpkg-query 2>/dev/null)" ]; then
 				array_deps_required+=( mailutils postfix )
-			elif [ -n "$(command -v rpm 2>/dev/null)" ]; then
+			elif [ "$(command -v rpm 2>/dev/null)" ]; then
 				array_deps_required+=( mailx postfix )
 			fi
 		else
-			if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
 				array_deps_required+=( mailutils postfix )
-			elif [ -n "$(command -v rpm 2>/dev/null)" ]; then
+			elif [ "$(command -v rpm 2>/dev/null)" ]; then
 				array_deps_required+=( mailx postfix )
 			fi
 		fi
@@ -255,13 +255,13 @@ fn_found_missing_deps(){
 			echo -en "...\r"
 			sleep 1
 			echo -en "   \r"
-			if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
 				cmd="sudo dpkg --add-architecture i386; sudo apt update; sudo apt -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
-			elif [ -n "$(command -v dnf 2>/dev/null)" ]; then
+			elif [ "$(command -v dnf 2>/dev/null)" ]; then
 				cmd="sudo dnf -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
-			elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+			elif [ "$(command -v yum 2>/dev/null)" ]; then
 				cmd="sudo yum -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
 			fi
@@ -271,11 +271,11 @@ fn_found_missing_deps(){
 				echo -e ""
 				fn_print_warning_nl "Manually install dependencies."
 				fn_script_log_warn "Manually install dependencies."
-				if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+				if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
 					echo -e "	sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}"
-				elif [ -n "$(command -v dnf 2>/dev/null)" ]; then
+				elif [ "$(command -v dnf 2>/dev/null)" ]; then
 					echo -e "	sudo dnf install ${array_deps_missing[@]}"
-				elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+				elif [ "$(command -v yum 2>/dev/null)" ]; then
 					echo -e "	sudo yum install ${array_deps_missing[@]}"
 				fi
 				if [ "${steamcmdfail}" ]; then
@@ -292,11 +292,11 @@ fn_found_missing_deps(){
 			echo -e ""
 			fn_print_warning_nl "$(whoami) does not have sudo access. Manually install dependencies."
 			fn_script_log_warn "$(whoami) does not have sudo access. Manually install dependencies."
-			if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
 				echo -e "	sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}"
-			elif [ -n "$(command -v dnf 2>/dev/null)" ]; then
+			elif [ "$(command -v dnf 2>/dev/null)" ]; then
 				echo -e "	sudo dnf install ${array_deps_missing[@]}"
-			elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+			elif [ "$(command -v yum 2>/dev/null)" ]; then
 				echo -e "	sudo yum install ${array_deps_missing[@]}"
 			fi
 			if [ "${steamcmdfail}" ]; then
@@ -337,7 +337,7 @@ fn_deps_build_debian(){
 	# LinuxGSM requirements.
 	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq )
 
-	if [ -n "$(command -v tmux 2>/dev/null)" ]; then
+	if [ "$(command -v tmux 2>/dev/null)" ]; then
 		tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
 	else
 		array_deps_required+=( tmux )
@@ -461,7 +461,7 @@ fn_deps_build_redhat(){
 	fi
 
 	# All servers except ts3 require tmux.
-	if [ -n "$(command -v tmux 2>/dev/null)" ]; then
+	if [ "$(command -v tmux 2>/dev/null)" ]; then
 		# Added for users compiling tmux from source to bypass check.
 		tmuxcheck=1
 	else
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index 252b37022..50b9078c8 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/lgsm/functions/command_dev_detect_deps.sh
@@ -13,9 +13,9 @@ echo -e "Dependencies Checker"
 echo -e "================================="
 echo -e "Checking directory: "
 echo -e "${serverfiles}"
-if [ -n "$(command -v eu-readelf 2>/dev/null)" ]; then
+if [ "$(command -v eu-readelf 2>/dev/null)" ]; then
 	readelf=eu-readelf
-elif [ -n "$(command -v readelf 2>/dev/null)" ]; then
+elif [ "$(command -v readelf 2>/dev/null)" ]; then
 	readelf=readelf
 else
 	echo -e "readelf/eu-readelf not installed"
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index e86fb05db..c5c624ed2 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -13,7 +13,7 @@ echo -e "================================="
 echo -e "glibc Requirements Checker"
 echo -e "================================="
 
-if [ -z "$(command -v objdump)" ]; then
+if [ ! "$(command -v objdump)" ]; then
 	fn_print_failure_nl "objdump is missing"
 	fn_script_log_fatal "objdump is missing"
 	core_exit.sh
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index d862c7ed8..de74f62f8 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -23,7 +23,7 @@ luafastdlfile="lgsm_cl_force_fastdl.lua"
 luafastdlfullpath="${luasvautorundir}/${luafastdlfile}"
 
 # Check if bzip2 is installed.
-if [ -z "$(command -v bzip2 2>/dev/null)" ]; then
+if [ ! "$(command -v bzip2 2>/dev/null)" ]; then
 	fn_print_fail "bzip2 is not installed"
 	fn_script_log_fatal "bzip2 is not installed"
 	core_exit.sh
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 363189098..0dada9464 100644
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -211,7 +211,7 @@ fn_monitor_loop(){
 	do
 		# Will check if gamedig is installed and bypass if not.
 		if [ "${querymethod}" == "gamedig" ]; then
-			if [ -n "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
+			if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
 				if [ -z "${monitorpass}" ]; then
 					fn_monitor_query
 				fi
diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh
index f166fa552..03a3bff18 100644
--- a/lgsm/functions/command_stop.sh
+++ b/lgsm/functions/command_stop.sh
@@ -126,7 +126,7 @@ fn_stop_graceful_sdtd(){
 	fn_script_log_info "Graceful: telnet"
 	if [ "${telnetenabled}" == "false" ]; then
 		fn_print_info_nl "Graceful: telnet: DISABLED: Enable in ${servercfg}"
-	elif [ -n "$(command -v expect 2>/dev/null)" ]; then
+	elif [ "$(command -v expect 2>/dev/null)" ]; then
 		# Tries to shutdown with both localhost and server IP.
 		for telnetip in 127.0.0.1 ${ip}; do
 			fn_print_dots "Graceful: telnet: ${telnetip}:${telnetport}"
diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh
index 83d9f119b..8ce12b206 100644
--- a/lgsm/functions/command_validate.sh
+++ b/lgsm/functions/command_validate.sh
@@ -18,7 +18,7 @@ fn_validation(){
 	cd "${steamcmddir}" || exit
 	# Detects if unbuffer command is available for 32 bit distributions only.
 	info_distro.sh
-	if [ -n "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
+	if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
 		unbuffer="stdbuf -i0 -o0 -e0"
 	fi
 
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index 24cff68bf..e4114209f 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -256,7 +256,7 @@ fn_update_function(){
 }
 
 # Check that curl is installed
-if [ -z "$(command -v curl 2>/dev/null)" ]; then
+if [ ! "$(command -v curl 2>/dev/null)" ]; then
 	echo -e "[ FAIL ] Curl is not installed"
 	exit 1
 fi
diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index 38305c6e3..9abb31b97 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -32,7 +32,7 @@ do
 		distroversion=$(grep VERSION_ID /etc/os-release | sed 's/VERSION_ID=//g' | sed 's/\"//g')
 		distroid=$(grep ID /etc/os-release | grep -v _ID | grep -v ID_ | sed 's/ID=//g' | sed 's/\"//g')
 		distrocodename=$(grep VERSION_CODENAME /etc/os-release | sed 's/VERSION_CODENAME=//g' | sed 's/\"//g')
-	elif [ -n "$(command -v lsb_release 2>/dev/null)" ]&&[ "${distro_info}" == "lsb_release" ]; then
+	elif [ "$(command -v lsb_release 2>/dev/null)" ]&&[ "${distro_info}" == "lsb_release" ]; then
 		if [ -z "${distroname}" ];then
 			distroname=$(lsb_release -sd)
 		elif [ -z "${distroversion}" ];then
@@ -42,7 +42,7 @@ do
 		elif [ -z "${distrocodename}" ];then
 			distrocodename=$(lsb_release -sc)
 		fi
-	elif [ -n "$(command -v hostnamectl 2>/dev/null)" ]&&[ "${distro_info}" == "hostnamectl" ]; then
+	elif [ "$(command -v hostnamectl 2>/dev/null)" ]&&[ "${distro_info}" == "hostnamectl" ]; then
 		if [ -z "${distroname}" ];then
 			distroname=$(hostnamectl | grep "Operating System" | sed 's/Operating System: //g')
 		fi
@@ -71,7 +71,7 @@ glibcversion=$(ldd --version | sed -n '1s/.* //p')
 
 ## tmux version
 # e.g: tmux 1.6
-if [ -z "$(command -V tmux 2>/dev/null)" ]; then
+if [ ! "$(command -V tmux 2>/dev/null)" ]; then
 	tmuxv="${red}NOT INSTALLED!${default}"
 else
 	if [ "$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')" -lt "16" ]; then
@@ -107,7 +107,7 @@ fi
 # Available RAM and swap.
 
 # Newer distros can use numfmt to give more accurate results.
-if [ -n "$(command -v numfmt 2>/dev/null)" ]; then
+if [ "$(command -v numfmt 2>/dev/null)" ]; then
 	# Issue #2005 - Kernel 3.14+ contains MemAvailable which should be used. All others will be calculated.
 
 	# get the raw KB values of these fields.
@@ -252,7 +252,7 @@ else
 fi
 
 # Steam Master Server - checks if detected by master server.
-if [ -n "$(command -v jq 2>/dev/null)" ]; then
+if [ "$(command -v jq 2>/dev/null)" ]; then
 	if [ "${ip}" ]&&[ "${port}" ]; then
 		if [ "${steammaster}" == "true" ]; then
 			masterserver=$(curl -m 3 -s 'https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr='${ip}':'${port}'&format=json' | jq '.response.servers[]|.addr' | wc -l)
diff --git a/lgsm/functions/info_stats.sh b/lgsm/functions/info_stats.sh
index f31db13d7..ef0788fad 100644
--- a/lgsm/functions/info_stats.sh
+++ b/lgsm/functions/info_stats.sh
@@ -10,7 +10,7 @@ info_distro.sh
 if [ ! -f "${datadir}/uuid.txt" ];then
 	mkdir -p "${datadir}"
 	touch "${datadir}/uuid.txt"
-	if [ -n "$(command -v uuidgen 2>/dev/null)" ]; then
+	if [ "$(command -v uuidgen 2>/dev/null)" ]; then
 		uuidgen > "${datadir}/uuid.txt"
 	else
 		cat /proc/sys/kernel/random/uuid > "${datadir}/uuid.txt"
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index b2158b3e7..bb49d0900 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -98,7 +98,7 @@ fn_install_server_files_steamcmd(){
 
 			# Detects if unbuffer command is available for 32 bit distributions only.
 			info_distro.sh
-			if [ -n "$(command -v stdbuf 2>/dev/null)" ]&&[ "${arch}" != "x86_64" ]; then
+			if [ "$(command -v stdbuf 2>/dev/null)" ]&&[ "${arch}" != "x86_64" ]; then
 				unbuffer="stdbuf -i0 -o0 -e0"
 			fi
 
diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh
index 88e01af5f..4f1bc5638 100644
--- a/lgsm/functions/query_gamedig.sh
+++ b/lgsm/functions/query_gamedig.sh
@@ -6,7 +6,7 @@
 # https://github.com/sonicsnes/node-gamedig
 
 # Check if gamedig and jq are installed.
-if [ -n "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
+if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
 
 	# will bypass query if server offline.
 	check_status.sh
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index 38b7445de..07dbdf9e3 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -13,7 +13,7 @@ fn_update_steamcmd_dl(){
 
 	# Detects if unbuffer command is available for 32 bit distributions only.
 	info_distro.sh
-	if [ -n "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
+	if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
 		unbuffer="stdbuf -i0 -o0 -e0"
 	fi
 
diff --git a/linuxgsm.sh b/linuxgsm.sh
index 1a000656c..e7afc14b4 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -72,7 +72,7 @@ fn_bootstrap_fetch_file(){
 		fi
 
 		# If curl exists download file.
-		if [ -n "$(command -v curl 2>/dev/null)" ]; then
+		if [ "$(command -v curl 2>/dev/null)" ]; then
 			# Trap to remove part downloaded files.
 			echo -en "    fetching ${local_filename}...\c"
 			curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
@@ -192,7 +192,7 @@ fn_install_menu() {
 	options=$4
 	# Get menu command.
 	for menucmd in whiptail dialog bash; do
-		if [ -x "$(command -v "${menucmd}")" ]; then
+		if [ "$(command -v "${menucmd}")" ]; then
 			menucmd=$(command -v "${menucmd}")
 			break
 		fi
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index 97aea9caa..6561c7ff4 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -81,7 +81,7 @@ fn_bootstrap_fetch_file(){
 		fi
 
 		# If curl exists download file.
-		if [ -n "$(command -v curl 2>/dev/null)" ]; then
+		if [ "$(command -v curl 2>/dev/null)" ]; then
 			# Trap to remove part downloaded files.
 			echo -en "    fetching ${local_filename}...\c"
 			curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
@@ -201,7 +201,7 @@ fn_install_menu() {
 	options=$4
 	# Get menu command.
 	for menucmd in whiptail dialog bash; do
-		if [ -x "$(command -v "${menucmd}")" ]; then
+		if [ "$(command -v "${menucmd}")" ]; then
 			menucmd=$(command -v "${menucmd}")
 			break
 		fi
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index b80af6554..9478fa638 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -201,7 +201,7 @@ fn_install_menu() {
 	options=$4
 	# Get menu command.
 	for menucmd in whiptail dialog bash; do
-		if [ -x "$(command -v "${menucmd}")" ]; then
+		if [ "$(command -v "${menucmd}")" ]; then
 			menucmd=$(command -v "${menucmd}")
 			break
 		fi
diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh
index 304e125eb..8224c5e8c 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -81,7 +81,7 @@ fn_bootstrap_fetch_file(){
 		fi
 
 		# If curl exists download file.
-		if [ -n "$(command -v curl 2>/dev/null)" ]; then
+		if [ "$(command -v curl 2>/dev/null)" ]; then
 			# Trap to remove part downloaded files.
 			echo -en "    fetching ${local_filename}...\c"
 			curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
@@ -201,7 +201,7 @@ fn_install_menu() {
 	options=$4
 	# Get menu command.
 	for menucmd in whiptail dialog bash; do
-		if [ -x "$(command -v "${menucmd}")" ]; then
+		if [ "$(command -v "${menucmd}")" ]; then
 			menucmd=$(command -v "${menucmd}")
 			break
 		fi
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index f1544c472..831b1f207 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -81,7 +81,7 @@ fn_bootstrap_fetch_file(){
 		fi
 
 		# If curl exists download file.
-		if [ -n "$(command -v curl 2>/dev/null)" ]; then
+		if [ "$(command -v curl 2>/dev/null)" ]; then
 			# Trap to remove part downloaded files.
 			echo -en "    fetching ${local_filename}...\c"
 			curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
@@ -201,7 +201,7 @@ fn_install_menu() {
 	options=$4
 	# Get menu command.
 	for menucmd in whiptail dialog bash; do
-		if [ -x "$(command -v "${menucmd}")" ]; then
+		if [ "$(command -v "${menucmd}")" ]; then
 			menucmd=$(command -v "${menucmd}")
 			break
 		fi

From ef7cdb0d9efe3f692666252524dda041e6092b50 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Sun, 16 Feb 2020 23:21:19 +0000
Subject: [PATCH 07/41] feat: debian based distros will now use the steamcmd
 package

---
 lgsm/functions/check_deps.sh           |  2 +-
 lgsm/functions/check_steamcmd.sh       | 37 ++++++++++++++++++--------
 lgsm/functions/command_validate.sh     |  8 +++---
 lgsm/functions/install_server_files.sh | 14 +++++-----
 lgsm/functions/update_steamcmd.sh      | 15 ++++++-----
 5 files changed, 49 insertions(+), 27 deletions(-)

diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index c88f2870c..d4ddc8eed 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -335,7 +335,7 @@ fn_deps_build_debian(){
 	array_deps_missing=()
 
 	# LinuxGSM requirements.
-	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq )
+	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq steamcmd )
 
 	if [ "$(command -v tmux 2>/dev/null)" ]; then
 		tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 3f6cd90de..69760f62f 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -7,12 +7,13 @@
 local commandname="CHECK"
 
 fn_install_steamcmd(){
-	if [ ! -d "${steamcmddir}" ]; then
-		mkdir -pv "${steamcmddir}"
+		if [ ! -d "${steamcmddir}" ]; then
+			mkdir -pv "${steamcmddir}"
+		fi
+		fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
+		fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
+		chmod +x "${steamcmddir}/steamcmd.sh"
 	fi
-	fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
-	fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
-	chmod +x "${steamcmddir}/steamcmd.sh"
 }
 
 fn_check_steamcmd_user(){
@@ -46,13 +47,19 @@ fn_check_steamcmd_user(){
 fn_check_steamcmd_sh(){
 	# Checks if SteamCMD exists when starting or updating a server.
 	# Installs if missing.
-	if [ ! -f "${steamcmddir}/steamcmd.sh" ]; then
-		if [ "${function_selfname}" == "command_install.sh" ]; then
-			fn_install_steamcmd
+	if [ ! -f "${steamcmddir}/steamcmd.sh" ]||[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
+		# Debian and Ubuntu uses steamcmd package
+		if [ -f "/etc/debian_version" ]&&[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
+			# Install steamcmd with apt
+			:
 		else
-			fn_print_error_nl "SteamCMD is missing"
-			fn_script_log_error "SteamCMD is missing"
-			fn_install_steamcmd
+			if [ "${function_selfname}" == "command_install.sh" ]; then
+				fn_install_steamcmd
+			else
+				fn_print_error_nl "SteamCMD is missing"
+				fn_script_log_error "SteamCMD is missing"
+				fn_install_steamcmd
+			fi
 		fi
 	elif [ "${function_selfname}" == "command_install.sh" ]; then
 		fn_print_information "SteamCMD is already installed..."
@@ -60,5 +67,13 @@ fn_check_steamcmd_sh(){
 	fi
 }
 
+fn_check_steamcmd_check(){
+	if [ "$(command -v steamcmd 2>/dev/null)" ]; then
+		steamcmdcommand="steamcmd"
+	else
+		steamcmdcommand="${steamcmdcommand}"
+}
+
 fn_check_steamcmd_user
 fn_check_steamcmd_sh
+fn_check_steamcmd_check
diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh
index 8ce12b206..93688892e 100644
--- a/lgsm/functions/command_validate.sh
+++ b/lgsm/functions/command_validate.sh
@@ -15,7 +15,9 @@ fn_validation(){
 	echo -e "* https://docs.linuxgsm.com/commands/validate"
 	fn_script_log_info "Validating files: SteamCMD"
 	sleep 3
-	cd "${steamcmddir}" || exit
+	if [ "${steamcmddir}" ]; then
+		cd "${steamcmddir}" || exit
+	fi
 	# Detects if unbuffer command is available for 32 bit distributions only.
 	info_distro.sh
 	if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
@@ -23,9 +25,9 @@ fn_validation(){
 	fi
 
 	if [ "${appid}" == "90" ]; then
-		${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
+		${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
 	else
-		${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
+		${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
 	fi
 	if [ $? != 0 ]; then
 		fn_print_fail_nl "Validating files: SteamCMD"
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index bb49d0900..553467961 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -74,7 +74,9 @@ fn_install_server_files_steamcmd(){
 	counter="0"
 	while [ "${counter}" == "0" ]||[ "${exitcode}" != "0" ]; do
 		counter=$((counter+1))
-		cd "${steamcmddir}" || exit
+    if [ "${steamcmddir}" ]; then
+  		cd "${steamcmddir}" || exit
+  	fi
 		if [ "${counter}" -le "10" ]; then
 			# Attempt 1-4: Standard attempt.
 			# Attempt 5-6: Validate attempt.
@@ -104,18 +106,18 @@ fn_install_server_files_steamcmd(){
 
 			if [ "${counter}" -le "4" ]; then
 				if [ "${appid}" == "90" ]; then
-					${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit
+					${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit
 					local exitcode=$?
 				else
-					${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit
+					${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit
 					local exitcode=$?
 				fi
 			elif [ "${counter}" -ge "5" ]; then
 				if [ "${engine}" == "goldsource" ]; then
-					${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" validate +quit
+					${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" validate +quit
 					local exitcode=$?
 				else
-					${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit
+					${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit
 					local exitcode=$?
 				fi
 			fi
@@ -133,7 +135,7 @@ fn_install_server_files_steamcmd(){
 		counter="0"
 		while [ "${counter}" -le "4" ]; do
 			counter=$((counter+1))
-			${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" validate +quit
+			${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" validate +quit
 			local exitcode=$?
 		done
 	fi
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index 07dbdf9e3..4b6b60bc3 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -16,12 +16,13 @@ fn_update_steamcmd_dl(){
 	if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
 		unbuffer="stdbuf -i0 -o0 -e0"
 	fi
-
-	cd "${steamcmddir}" || exit
+	if [ "${steamcmddir}" ]; then
+		cd "${steamcmddir}" || exit
+	fi
 	if [ "${appid}" == "90" ]; then
-		${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
+		${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
 	else
-		${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
+		${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
 	fi
 	fix.sh
 }
@@ -50,8 +51,10 @@ fn_update_steamcmd_localbuild(){
 
 fn_update_steamcmd_remotebuild(){
 	# Gets remote build info.
-	cd "${steamcmddir}" || exit
-	remotebuild=$(./steamcmd.sh +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed '1,/branches/d' | sed "1,/${branchname}/d" | grep -m 1 buildid | tr -cd '[:digit:]')
+	if [ "${steamcmddir}" ]; then
+		cd "${steamcmddir}" || exit
+	fi
+	remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed '1,/branches/d' | sed "1,/${branchname}/d" | grep -m 1 buildid | tr -cd '[:digit:]')
 	if [ "${installer}" != "1" ]; then
 		fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
 		# Checks if remotebuild variable has been set.

From 83e2cbf9be17a5ca01420ed91f1554a42a2d7e18 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Sun, 16 Feb 2020 23:48:12 +0000
Subject: [PATCH 08/41] bugs

---
 lgsm/functions/check_steamcmd.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 69760f62f..3c7177519 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -13,7 +13,6 @@ fn_install_steamcmd(){
 		fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
 		fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
 		chmod +x "${steamcmddir}/steamcmd.sh"
-	fi
 }
 
 fn_check_steamcmd_user(){
@@ -71,7 +70,8 @@ fn_check_steamcmd_check(){
 	if [ "$(command -v steamcmd 2>/dev/null)" ]; then
 		steamcmdcommand="steamcmd"
 	else
-		steamcmdcommand="${steamcmdcommand}"
+		steamcmdcommand="./steamcmd.sh"
+	fi
 }
 
 fn_check_steamcmd_user

From 3d43e187420ba4ab23aba19730ed440687b7b3bf Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Mon, 17 Feb 2020 00:15:45 +0000
Subject: [PATCH 09/41] code

---
 lgsm/functions/check_steamcmd.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 3c7177519..800d737ae 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -48,7 +48,7 @@ fn_check_steamcmd_sh(){
 	# Installs if missing.
 	if [ ! -f "${steamcmddir}/steamcmd.sh" ]||[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
 		# Debian and Ubuntu uses steamcmd package
-		if [ -f "/etc/debian_version" ]&&[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
+		if [ -f "/etc/debian_version" ]&&[ "$(command -v steamcmd 2>/dev/null)" ]; then
 			# Install steamcmd with apt
 			:
 		else

From 9e811a7ba0ea9cf80d7cda17bf01cd6b02b45b33 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Mon, 17 Feb 2020 00:18:04 +0000
Subject: [PATCH 10/41] code

---
 lgsm/functions/command_validate.sh     | 2 +-
 lgsm/functions/install_server_files.sh | 2 +-
 lgsm/functions/update_steamcmd.sh      | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh
index 93688892e..55a58d266 100644
--- a/lgsm/functions/command_validate.sh
+++ b/lgsm/functions/command_validate.sh
@@ -15,7 +15,7 @@ fn_validation(){
 	echo -e "* https://docs.linuxgsm.com/commands/validate"
 	fn_script_log_info "Validating files: SteamCMD"
 	sleep 3
-	if [ "${steamcmddir}" ]; then
+	if [ -d "${steamcmddir}" ]; then
 		cd "${steamcmddir}" || exit
 	fi
 	# Detects if unbuffer command is available for 32 bit distributions only.
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 553467961..2dc224831 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -74,7 +74,7 @@ fn_install_server_files_steamcmd(){
 	counter="0"
 	while [ "${counter}" == "0" ]||[ "${exitcode}" != "0" ]; do
 		counter=$((counter+1))
-    if [ "${steamcmddir}" ]; then
+    if [ -d "${steamcmddir}" ]; then
   		cd "${steamcmddir}" || exit
   	fi
 		if [ "${counter}" -le "10" ]; then
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index 4b6b60bc3..fcb289485 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -16,7 +16,7 @@ fn_update_steamcmd_dl(){
 	if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
 		unbuffer="stdbuf -i0 -o0 -e0"
 	fi
-	if [ "${steamcmddir}" ]; then
+	if [ -d "${steamcmddir}" ]; then
 		cd "${steamcmddir}" || exit
 	fi
 	if [ "${appid}" == "90" ]; then
@@ -51,7 +51,7 @@ fn_update_steamcmd_localbuild(){
 
 fn_update_steamcmd_remotebuild(){
 	# Gets remote build info.
-	if [ "${steamcmddir}" ]; then
+	if [ -d "${steamcmddir}" ]; then
 		cd "${steamcmddir}" || exit
 	fi
 	remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed '1,/branches/d' | sed "1,/${branchname}/d" | grep -m 1 buildid | tr -cd '[:digit:]')

From 6a594b4cf8ab2e8c563a344ad72ff893961e6520 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 19 Feb 2020 22:08:43 +0000
Subject: [PATCH 11/41] code

---
 lgsm/functions/check_steamcmd.sh | 56 ++++++++++++++++++--------------
 1 file changed, 32 insertions(+), 24 deletions(-)

diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 800d737ae..67fe77642 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -7,12 +7,12 @@
 local commandname="CHECK"
 
 fn_install_steamcmd(){
-		if [ ! -d "${steamcmddir}" ]; then
-			mkdir -pv "${steamcmddir}"
-		fi
-		fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
-		fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
-		chmod +x "${steamcmddir}/steamcmd.sh"
+	if [ ! -d "${steamcmddir}" ]; then
+		mkdir -pv "${steamcmddir}"
+	fi
+	fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
+	fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
+	chmod +x "${steamcmddir}/steamcmd.sh"
 }
 
 fn_check_steamcmd_user(){
@@ -43,30 +43,37 @@ fn_check_steamcmd_user(){
 	fi
 }
 
-fn_check_steamcmd_sh(){
+fn_check_steamcmd(){
 	# Checks if SteamCMD exists when starting or updating a server.
-	# Installs if missing.
-	if [ ! -f "${steamcmddir}/steamcmd.sh" ]||[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
-		# Debian and Ubuntu uses steamcmd package
-		if [ -f "/etc/debian_version" ]&&[ "$(command -v steamcmd 2>/dev/null)" ]; then
-			# Install steamcmd with apt
-			:
+	# Only install if steamcmd package is missing or steamcmd dir is missing.
+	if [ ! -f "${steamcmddir}/steamcmd.sh" ]&&[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
+		if [ "${function_selfname}" == "command_install.sh" ]; then
+			fn_install_steamcmd
 		else
-			if [ "${function_selfname}" == "command_install.sh" ]; then
-				fn_install_steamcmd
-			else
-				fn_print_error_nl "SteamCMD is missing"
-				fn_script_log_error "SteamCMD is missing"
-				fn_install_steamcmd
-			fi
+			fn_print_error_nl "SteamCMD is missing"
+			fn_script_log_error "SteamCMD is missing"
+			fn_install_steamcmd
 		fi
 	elif [ "${function_selfname}" == "command_install.sh" ]; then
-		fn_print_information "SteamCMD is already installed..."
+		fn_print_information "SteamCMD is already installed"
 		fn_print_ok_eol_nl
 	fi
 }
 
-fn_check_steamcmd_check(){
+fn_check_steamcmd_clear(){
+# Will remove steamcmd dir if steamcmd package is installed.
+if [ "$(command -v steamcmd 2>/dev/null)" ]&&[ -d "${steamcmddir}" ]; then
+	rm -rf "${steamcmddir:?}"
+	exitcode=$?
+	if [ ${exitcode} -ne 0 ]; then
+		fn_script_log_fatal "Removing ${steamcmddir}"
+	else
+		fn_script_log_pass "Removing ${steamcmddir}"
+	fi
+fi
+}
+
+fn_check_steamcmd_exec(){
 	if [ "$(command -v steamcmd 2>/dev/null)" ]; then
 		steamcmdcommand="steamcmd"
 	else
@@ -74,6 +81,7 @@ fn_check_steamcmd_check(){
 	fi
 }
 
+fn_check_steamcmd
+fn_check_steamcmd_clear
 fn_check_steamcmd_user
-fn_check_steamcmd_sh
-fn_check_steamcmd_check
+fn_check_steamcmd_exec

From 4a0c59d2ff7109586efd99fc5f79d5a0a56b5804 Mon Sep 17 00:00:00 2001
From: Stijn <denperidge@gmail.com>
Date: Fri, 6 Mar 2020 18:47:02 +0100
Subject: [PATCH 12/41] fix(nmrihserver): add symbolic links to fix the crashes
 related to missing files (#2668)

* Create symlinks after nmrih install

* Fixed missing space in nmrih elif statement

* Fixed variable assignment in nmrih_symlinks

* nmrih_symlinks now use pre-existing location var

* Double quotes added in install_nmrih_symlinks

* Changed nmrih symlinks from install to fix
---
 lgsm/functions/core_functions.sh |  5 +++++
 lgsm/functions/fix.sh            |  2 ++
 lgsm/functions/fix_nmrih.sh      | 13 +++++++++++++
 3 files changed, 20 insertions(+)
 create mode 100644 lgsm/functions/fix_nmrih.sh

diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh
index f1632b48a..ef8d21a0c 100644
--- a/lgsm/functions/core_functions.sh
+++ b/lgsm/functions/core_functions.sh
@@ -341,6 +341,11 @@ functionfile="${FUNCNAME[0]}"
 fn_fetch_function
 }
 
+fix_nmrih.sh(){
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
 fix_ro.sh(){
 functionfile="${FUNCNAME[0]}"
 fn_fetch_function
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 4b830f62d..7c1567eda 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -49,6 +49,8 @@ if [ "${function_selfname}" != "command_install.sh" ]&&[ -z "${fixbypass}" ]; th
 		fix_ges.sh
 	elif [ "${shortname}" == "ins" ]; then
 		fix_ins.sh
+	elif [ "${shortname}" == "nmrih" ]; then
+		fix_nmrih.sh
 	elif [ "${shortname}" == "rust" ]; then
 		fix_rust.sh
 	elif [ "${shortname}" == "rw" ]; then
diff --git a/lgsm/functions/fix_nmrih.sh b/lgsm/functions/fix_nmrih.sh
new file mode 100644
index 000000000..8dd5f592c
--- /dev/null
+++ b/lgsm/functions/fix_nmrih.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+# LinuxGSM fix_nmrih.sh function
+# Author: Denperidge
+# Description: Create symlinks for renamed No More Room In Hell serverfiles
+# Solution from Steam Community post: https://steamcommunity.com/app/224260/discussions/2/1732089092441769414/
+
+ln -s "${serverfiles}/bin/vphysics_srv.so" "${serverfiles}/bin/vphysics.so"
+ln -s "${serverfiles}/bin/studiorender_srv.so" "${serverfiles}/bin/studiorender.so"
+ln -s "${serverfiles}/bin/soundemittersystem_srv.so" "${serverfiles}/bin/soundemittersystem.so"
+ln -s "${serverfiles}/bin/shaderapiempty_srv.so" "${serverfiles}/bin/shaderapiempty.so"
+ln -s "${serverfiles}/bin/scenefilecache_srv.so" "${serverfiles}/bin/scenefilecache.so"
+ln -s "${serverfiles}/bin/replay_srv.so" "${serverfiles}/bin/replay.so"
+ln -s "${serverfiles}/bin/materialsystem_srv.so" "${serverfiles}/bin/materialsystem.so" 
\ No newline at end of file

From df9218df9afe3c6a886526f53ef6322f6fb26e41 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 6 Mar 2020 22:12:56 +0000
Subject: [PATCH 13/41] changed some ! back to -z

---
 lgsm/functions/check_steamcmd.sh           | 2 +-
 lgsm/functions/command_dev_detect_glibc.sh | 2 +-
 lgsm/functions/command_fastdl.sh           | 2 +-
 lgsm/functions/core_dl.sh                  | 2 +-
 lgsm/functions/info_distro.sh              | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 67fe77642..77f46033d 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -46,7 +46,7 @@ fn_check_steamcmd_user(){
 fn_check_steamcmd(){
 	# Checks if SteamCMD exists when starting or updating a server.
 	# Only install if steamcmd package is missing or steamcmd dir is missing.
-	if [ ! -f "${steamcmddir}/steamcmd.sh" ]&&[ ! "$(command -v steamcmd 2>/dev/null)" ]; then
+	if [ ! -f "${steamcmddir}/steamcmd.sh" ]&&[ -z "$(command -v steamcmd 2>/dev/null)" ]; then
 		if [ "${function_selfname}" == "command_install.sh" ]; then
 			fn_install_steamcmd
 		else
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index c5c624ed2..e86fb05db 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -13,7 +13,7 @@ echo -e "================================="
 echo -e "glibc Requirements Checker"
 echo -e "================================="
 
-if [ ! "$(command -v objdump)" ]; then
+if [ -z "$(command -v objdump)" ]; then
 	fn_print_failure_nl "objdump is missing"
 	fn_script_log_fatal "objdump is missing"
 	core_exit.sh
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index de74f62f8..d862c7ed8 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -23,7 +23,7 @@ luafastdlfile="lgsm_cl_force_fastdl.lua"
 luafastdlfullpath="${luasvautorundir}/${luafastdlfile}"
 
 # Check if bzip2 is installed.
-if [ ! "$(command -v bzip2 2>/dev/null)" ]; then
+if [ -z "$(command -v bzip2 2>/dev/null)" ]; then
 	fn_print_fail "bzip2 is not installed"
 	fn_script_log_fatal "bzip2 is not installed"
 	core_exit.sh
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index e4114209f..24cff68bf 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -256,7 +256,7 @@ fn_update_function(){
 }
 
 # Check that curl is installed
-if [ ! "$(command -v curl 2>/dev/null)" ]; then
+if [ -z "$(command -v curl 2>/dev/null)" ]; then
 	echo -e "[ FAIL ] Curl is not installed"
 	exit 1
 fi
diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index 9abb31b97..f40d5b048 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -71,7 +71,7 @@ glibcversion=$(ldd --version | sed -n '1s/.* //p')
 
 ## tmux version
 # e.g: tmux 1.6
-if [ ! "$(command -V tmux 2>/dev/null)" ]; then
+if [ -z "$(command -V tmux 2>/dev/null)" ]; then
 	tmuxv="${red}NOT INSTALLED!${default}"
 else
 	if [ "$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')" -lt "16" ]; then

From e13990694da24ac0c2f773314976383f7e37af87 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 6 Mar 2020 22:18:13 +0000
Subject: [PATCH 14/41] tabs

---
 lgsm/functions/install_server_files.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 2dc224831..5c1cfd7fb 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -9,7 +9,7 @@ local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
 fn_install_server_files(){
-    if [ "${shortname}" == "ahl" ]; then
+		if [ "${shortname}" == "ahl" ]; then
 		remote_fileurl="http://files.linuxgsm.com/ActionHalfLife/action_halflife-1.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="31430e670692b2eeaa0d1217db4dcb73"
 	elif [ "${shortname}" == "bf1942" ]; then
 		remote_fileurl="http://files.linuxgsm.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="a86a5d3cd64ca59abcc9bb9f777c2e5d"
@@ -74,9 +74,9 @@ fn_install_server_files_steamcmd(){
 	counter="0"
 	while [ "${counter}" == "0" ]||[ "${exitcode}" != "0" ]; do
 		counter=$((counter+1))
-    if [ -d "${steamcmddir}" ]; then
-  		cd "${steamcmddir}" || exit
-  	fi
+		if [ -d "${steamcmddir}" ]; then
+			cd "${steamcmddir}" || exit
+		fi
 		if [ "${counter}" -le "10" ]; then
 			# Attempt 1-4: Standard attempt.
 			# Attempt 5-6: Validate attempt.

From 0ea6a6e6a8b7668cdac56f3641e6928731723994 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 6 Mar 2020 22:56:34 +0000
Subject: [PATCH 15/41] feat(install): use a new linuxgsm domain
 linuxgsm.download for files (#2698)

This will separate out linuxgsm files from the main domain to reduce the change of an ssl change breaking downloads
---
 lgsm/functions/install_server_files.sh | 52 +++++++++++++-------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 5c1cfd7fb..b217f0680 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -9,62 +9,62 @@ local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
 fn_install_server_files(){
-		if [ "${shortname}" == "ahl" ]; then
-		remote_fileurl="http://files.linuxgsm.com/ActionHalfLife/action_halflife-1.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="31430e670692b2eeaa0d1217db4dcb73"
+	if [ "${shortname}" == "ahl" ]; then
+		remote_fileurl="http://linuxgsm.download/ActionHalfLife/action_halflife-1.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="31430e670692b2eeaa0d1217db4dcb73"
 	elif [ "${shortname}" == "bf1942" ]; then
-		remote_fileurl="http://files.linuxgsm.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="a86a5d3cd64ca59abcc9bb9f777c2e5d"
+		remote_fileurl="http://linuxgsm.download/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="a86a5d3cd64ca59abcc9bb9f777c2e5d"
 	elif [ "${shortname}" == "bb" ]; then
-		remote_fileurl="http://files.linuxgsm.com/BrainBread/brainbread-v1.2-linuxserver.tar.bz2"; local_filedir="${tmpdir}"; local_filename="brainbread-v1.2-linuxserver.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="5c729a7e9eecfa81b71a6a1f7267f0fd"
+		remote_fileurl="http://linuxgsm.download/BrainBread/brainbread-v1.2-linuxserver.tar.bz2"; local_filedir="${tmpdir}"; local_filename="brainbread-v1.2-linuxserver.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="5c729a7e9eecfa81b71a6a1f7267f0fd"
 	elif [ "${shortname}" == "cod" ]; then
-		remote_fileurl="http://files.linuxgsm.com/CallOfDuty/cod-lnxded-1.5b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod-lnxded-1.5-large.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="19629895a4cf6fd8f6d1ee198b5304cd"
+		remote_fileurl="http://linuxgsm.download/CallOfDuty/cod-lnxded-1.5b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod-lnxded-1.5-large.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="19629895a4cf6fd8f6d1ee198b5304cd"
 	elif [ "${shortname}" == "coduo" ]; then
-		remote_fileurl="http://files.linuxgsm.com/CallOfDutyUnitedOffensive/coduo-lnxded-1.51b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="coduo-lnxded-1.51b-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f1804ef13036e2b4ab535db000b19e97"
+		remote_fileurl="http://linuxgsm.download/CallOfDutyUnitedOffensive/coduo-lnxded-1.51b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="coduo-lnxded-1.51b-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f1804ef13036e2b4ab535db000b19e97"
 	elif [ "${shortname}" == "cod2" ]; then
-		remote_fileurl="http://files.linuxgsm.com/CallOfDuty2/cod2-lnxded-1.3-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod2-lnxded-1.3-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="078128f83d06dc3d7699428dc2870214"
+		remote_fileurl="http://linuxgsm.download/CallOfDuty2/cod2-lnxded-1.3-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod2-lnxded-1.3-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="078128f83d06dc3d7699428dc2870214"
 	elif [ "${shortname}" == "cod4" ]; then
-		remote_fileurl="http://files.linuxgsm.com/CallOfDuty4/cod4x18_1772_dedrun.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod4x18_1772_dedrun.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="de29f29d79f9cc24574b838daa501e46"
+		remote_fileurl="http://linuxgsm.download/CallOfDuty4/cod4x18_1772_dedrun.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod4x18_1772_dedrun.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="de29f29d79f9cc24574b838daa501e46"
 	elif [ "${shortname}" == "codwaw" ]; then
-		remote_fileurl="http://files.linuxgsm.com/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="codwaw-lnxded-1.7-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0489697ff3bf678c109bfb377d1b7895"
+		remote_fileurl="http://linuxgsm.download/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="codwaw-lnxded-1.7-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0489697ff3bf678c109bfb377d1b7895"
 	elif [ "${shortname}" == "etl" ]; then
-		remote_fileurl="http://files.linuxgsm.com/WolfensteinEnemyTerritory/etlegacy-v2.75-i386-et-260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.75-i386-et-260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="92d7d4c26e0a295daed78cef623eeabb"
+		remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/etlegacy-v2.75-i386-et-260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.75-i386-et-260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="92d7d4c26e0a295daed78cef623eeabb"
 	elif [ "${shortname}" == "ges" ]; then
-		remote_fileurl="http://files.linuxgsm.com/GoldenEyeSource/GoldenEye_Source_v5.0.6_full_server.tar.bz2"; local_filedir="${tmpdir}"; local_filename="GoldenEye_Source_v5.0.6_full_server.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="c45c16293096706e8b5e2cd64a6f2931"
+		remote_fileurl="http://linuxgsm.download/GoldenEyeSource/GoldenEye_Source_v5.0.6_full_server.tar.bz2"; local_filedir="${tmpdir}"; local_filename="GoldenEye_Source_v5.0.6_full_server.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="c45c16293096706e8b5e2cd64a6f2931"
 	elif [ "${shortname}" == "mohaa" ]; then
-		remote_fileurl="http://files.linuxgsm.com/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9d5924486a0cf5e46dd063216aad05c1"
+		remote_fileurl="http://linuxgsm.download/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9d5924486a0cf5e46dd063216aad05c1"
 	elif [ "${shortname}" == "ns" ]; then
-		remote_fileurl="http://files.linuxgsm.com/NaturalSelection/ns_dedicated_server_v32.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ns_dedicated_server_v32.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="499cf63324b76925ada6baf5f2eacd67"
+		remote_fileurl="http://linuxgsm.download/NaturalSelection/ns_dedicated_server_v32.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ns_dedicated_server_v32.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="499cf63324b76925ada6baf5f2eacd67"
 	elif [ "${shortname}" == "q2" ]; then
-		remote_fileurl="http://files.linuxgsm.com/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f"
+		remote_fileurl="http://linuxgsm.download/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f"
 	elif [ "${shortname}" == "q3" ]; then
-		remote_fileurl="http://files.linuxgsm.com/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake3-1.32c-x86-full-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306"
+		remote_fileurl="http://linuxgsm.download/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake3-1.32c-x86-full-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306"
 	elif [ "${shortname}" == "qw" ]; then
-		remote_fileurl="http://files.linuxgsm.com/QuakeWorld/nquake.server.linux.190506.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="nquake.server.linux.190506.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="74405ec030463c5e1175e776ab572d32"
+		remote_fileurl="http://linuxgsm.download/QuakeWorld/nquake.server.linux.190506.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="nquake.server.linux.190506.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="74405ec030463c5e1175e776ab572d32"
 	elif [ "${shortname}" == "rtcw" ]; then
-		remote_fileurl="http://files.linuxgsm.com/ReturnToCastleWolfenstein/iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; local_filedir="${tmpdir}"; local_filename="iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="6a3be9700372b228d1187422464e4212"
+		remote_fileurl="http://linuxgsm.download/ReturnToCastleWolfenstein/iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; local_filedir="${tmpdir}"; local_filename="iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="6a3be9700372b228d1187422464e4212"
 	elif [ "${shortname}" == "sfc" ]; then
-		remote_fileurl="http://files.linuxgsm.com/SourceFortsClassic/SFClassic-1.0-RC7-fix.tar.bz2"; local_filedir="${tmpdir}"; local_filename="SFClassic-1.0-RC7-fix.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="e0d4cfd298a8a356053f92b1fa7d1002"
+		remote_fileurl="http://linuxgsm.download/SourceFortsClassic/SFClassic-1.0-RC7-fix.tar.bz2"; local_filedir="${tmpdir}"; local_filename="SFClassic-1.0-RC7-fix.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="e0d4cfd298a8a356053f92b1fa7d1002"
 	elif [ "${shortname}" == "sof2" ]; then
-		remote_fileurl="http://files.linuxgsm.com/SoldierOfFortune2/sof2gold-1.03.tar.bz2"; local_filedir="${tmpdir}"; local_filename="sof2gold-1.03.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="871b1dc0dafeeace65b198119e8fa200"
+		remote_fileurl="http://linuxgsm.download/SoldierOfFortune2/sof2gold-1.03.tar.bz2"; local_filedir="${tmpdir}"; local_filename="sof2gold-1.03.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="871b1dc0dafeeace65b198119e8fa200"
 	elif [ "${shortname}" == "ts" ]; then
-		remote_fileurl="http://files.linuxgsm.com/TheSpecialists/ts-3-linux-final.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ts-3-linux-final.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38e8a8325339f85a7745117802f940b7"
+		remote_fileurl="http://linuxgsm.download/TheSpecialists/ts-3-linux-final.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ts-3-linux-final.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38e8a8325339f85a7745117802f940b7"
 	elif [ "${shortname}" == "ut2k4" ]; then
-		remote_fileurl="http://files.linuxgsm.com/UnrealTournament2004/ut2004-server-3369-2-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-2-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
+		remote_fileurl="http://linuxgsm.download/UnrealTournament2004/ut2004-server-3369-2-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-2-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
 	elif [ "${shortname}" == "ut99" ]; then
-		remote_fileurl="http://files.linuxgsm.com/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
+		remote_fileurl="http://linuxgsm.download/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
 	elif [ "${shortname}" == "ut" ]; then
 		remote_fileurl="https://s3.amazonaws.com/unrealtournament/UnrealTournament-Client-XAN-3395761-Linux.zip"; local_filedir="${tmpdir}"; local_filename="UnrealTournament-Server-XAN-3395761-Linux.zip";  chmodx="noexecute" run="norun"; force="noforce"; md5="f04ad5b96865b19613303331ff4075eb"
 	elif [ "${shortname}" == "ut3" ]; then
-		remote_fileurl="http://files.linuxgsm.com/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="UT3-linux-server-2.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2527437b46f1b47f20228d27d72395a6"
+		remote_fileurl="http://linuxgsm.download/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="UT3-linux-server-2.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2527437b46f1b47f20228d27d72395a6"
 	elif [ "${shortname}" == "vs" ]; then
-		remote_fileurl="http://files.linuxgsm.com/VampireSlayer/vs_l-6.0_full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="vs_l-6.0_full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38a79e44b98578bbdc5b15818493a066"
+		remote_fileurl="http://linuxgsm.download/VampireSlayer/vs_l-6.0_full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="vs_l-6.0_full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38a79e44b98578bbdc5b15818493a066"
 	elif [ "${shortname}" == "wet" ]; then
-		remote_fileurl="http://files.linuxgsm.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="enemy-territory.260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f833f514bfcdd46b42c111f83350c5a7"
+		remote_fileurl="http://linuxgsm.download/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="enemy-territory.260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f833f514bfcdd46b42c111f83350c5a7"
 	elif [ "${shortname}" == "samp" ]; then
 		remote_fileurl="https://files.sa-mp.com/samp037svr_R2-1.tar.gz"; local_filedir="${tmpdir}"; local_filename="samp037svr_R2-1.tar.gz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="93705e165550c97484678236749198a4"
 	elif [ "${shortname}" == "sol" ]; then
 		remote_fileurl="https://static.soldat.pl/downloads/soldatserver2.8.1_1.7.1.zip"; local_filedir="${tmpdir}"; local_filename="soldatserver2.8.1_1.7.1.zip"; chmodx="nochmodx" run="norun"; force="noforce"; md5="994409c28520425965dec5c71ccb55e1"
 	elif [ "${shortname}" == "zmr" ]; then
-		remote_fileurl="http://files.linuxgsm.com/ZombieMasterReborn/zombie_master_reborn_b5_2.tar.bz2"; local_filedir="${tmpdir}"; local_filename="zombie_master_reborn_b5_2.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="d52ef2db376f5d21e3a4ceca85ec8761"
+		remote_fileurl="http://linuxgsm.download/ZombieMasterReborn/zombie_master_reborn_b5_2.tar.bz2"; local_filedir="${tmpdir}"; local_filename="zombie_master_reborn_b5_2.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="d52ef2db376f5d21e3a4ceca85ec8761"
 	fi
 	fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
 	fn_dl_extract "${local_filedir}" "${local_filename}" "${serverfiles}"

From 5d5040b3d6b89e79e20d381fb8a64c2b23dbe646 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 6 Mar 2020 23:04:44 +0000
Subject: [PATCH 16/41] add steamcmd to packages

---
 .travis.yml | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index d3ad78ad8..48676a0fe 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,6 +24,7 @@ addons:
     - libcurl4-openssl-dev
     - libdw-dev
     - cmake
+    - steamcmd
 
 jobs:
   include:
@@ -31,13 +32,13 @@ jobs:
       name: "code coverage"
       script: bash tests/tests_kcov.sh; kcov --bash-method=DEBUG coverage tests/tests_mcserver.sh
     - script: bash tests/tests_mcserver.sh
-      name: "Minecraft"      
-    - script: bash tests/tests_jc2server.sh      
+      name: "Minecraft"
+    - script: bash tests/tests_jc2server.sh
       name: "Just Cause 2"
     - script: bash tests/tests_fctrserver.sh
-      name: "Factorio" 
+      name: "Factorio"
     - script: bash tests/tests_ts3server.sh
-      name: "Teamspeak 3"     
+      name: "Teamspeak 3"
     - script: bash tests/tests_defaultcfg/tests_defaultcfg.sh
       name: "_default.cfg checks"
 after_success:

From 9f91d4ee0100c7ce78352565fa8eec953914c71f Mon Sep 17 00:00:00 2001
From: Frisasky <digimoncn@gmail.com>
Date: Sat, 7 Mar 2020 07:05:36 +0800
Subject: [PATCH 17/41] feat(newserver): Unreal Tournament 4 (#2644)

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 lgsm/data/serverlist.csv               |  1 +
 lgsm/functions/info_config.sh          | 12 ++++++++++++
 lgsm/functions/info_messages.sh        | 11 ++++++++++-
 lgsm/functions/info_parms.sh           |  6 ++++++
 lgsm/functions/install_server_files.sh |  2 +-
 5 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv
index 5c2e6a6ae..5f4398d28 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -92,6 +92,7 @@ ts3,ts3server,Teamspeak 3
 tu,tuserver,Tower Unite
 tw,twserver,Teeworlds
 unt,untserver,Unturned
+ut,utserver,Unreal Tournament
 ut2k4,ut2k4server,Unreal Tournament 2004
 ut3,ut3server,Unreal Tournament 3
 ut99,ut99server,Unreal Tournament 99
diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh
index bd511cc69..2ad78197a 100644
--- a/lgsm/functions/info_config.sh
+++ b/lgsm/functions/info_config.sh
@@ -1022,6 +1022,16 @@ fn_info_config_unreal3(){
 	fi
 }
 
+fn_info_config_ut(){
+	if [ ! -f "${servercfgfullpath}" ]; then
+		servername="${unavailable}"
+	else
+		servername=$(grep "ServerName" "${servercfgfullpath}" | awk -F '=' '{print $2}')
+
+		# Not set
+		servername=${servername:-"NOT SET"}
+  fi
+}
 
 fn_info_config_warfork(){
 	if [ ! -f "${servercfgfullpath}" ]; then
@@ -1459,6 +1469,8 @@ elif [ "${engine}" == "unreal2" ]; then
 # Unreal 3 engine
 elif [ "${engine}" == "unreal3" ]; then
 	fn_info_config_unreal3
+elif [ "${shortname}" == "ut" ]; then
+	fn_info_config_ut
 # 7 Day To Die (unity3d)
 elif [ "${shortname}" == "sdtd" ]; then
 	fn_info_config_sdtd
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index 291def5a9..a8a1042df 100644
--- a/lgsm/functions/info_messages.sh
+++ b/lgsm/functions/info_messages.sh
@@ -1239,7 +1239,14 @@ fn_info_message_unturned(){
 	} | column -s $'\t' -t
 }
 
-
+fn_info_message_ut(){
+	echo -e "netstat -atunp | grep UE4Server"
+	echo -e ""
+	{
+		echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
+		echo -e "> Game\tINBOUND\t${port}\tudp"
+	} | column -s $'\t' -t
+}
 
 fn_info_message_kf2(){
 	fn_info_message_password_strip
@@ -1422,6 +1429,8 @@ fn_info_message_select_engine(){
 		fn_info_message_teeworlds
 	elif [ "${shortname}" == "unt" ]; then
 		fn_info_message_unturned
+	elif [ "${shortname}" == "ut" ]; then
+		fn_info_message_ut
 	elif [ "${shortname}" == "mc" ]; then
 		fn_info_message_minecraft
 	elif [ "${shortname}" == "mh" ]; then
diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh
index 6cafc86ad..37bd56416 100644
--- a/lgsm/functions/info_parms.sh
+++ b/lgsm/functions/info_parms.sh
@@ -232,6 +232,10 @@ fn_info_parms_unturned(){
 	queryport=$((port + 1))
 }
 
+fn_info_parms_ut(){
+	port=${port:-"0"}
+}
+
 fn_info_parms_wf(){
 	port=${port:-"0"}
 	queryport="${port:-"0"}"
@@ -311,6 +315,8 @@ elif [ "${engine}" == "unreal3" ]; then
 	fn_info_parms_unreal3
 elif [ "${shortname}" == "unt" ]; then
 	fn_info_parms_unturned
+elif [ "${shortname}" == "ut" ]; then
+	fn_info_parms_ut
 # Warfork
 elif [ "${shortname}" == "wf" ]; then
 	fn_info_parms_wf
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index b217f0680..b9069db53 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -52,7 +52,7 @@ fn_install_server_files(){
 	elif [ "${shortname}" == "ut99" ]; then
 		remote_fileurl="http://linuxgsm.download/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
 	elif [ "${shortname}" == "ut" ]; then
-		remote_fileurl="https://s3.amazonaws.com/unrealtournament/UnrealTournament-Client-XAN-3395761-Linux.zip"; local_filedir="${tmpdir}"; local_filename="UnrealTournament-Server-XAN-3395761-Linux.zip";  chmodx="noexecute" run="norun"; force="noforce"; md5="f04ad5b96865b19613303331ff4075eb"
+		remote_fileurl="http://linuxgsm.download/UnrealTournament/UnrealTournament-Server-XAN-3525360-Linux.zip"; local_filedir="${tmpdir}"; local_filename="UnrealTournament-Server-XAN-3525360-Linux.zip";  chmodx="noexecute" run="norun"; force="noforce"; md5="cad730ad6793ba6261f9a341ad7396eb"
 	elif [ "${shortname}" == "ut3" ]; then
 		remote_fileurl="http://linuxgsm.download/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="UT3-linux-server-2.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2527437b46f1b47f20228d27d72395a6"
 	elif [ "${shortname}" == "vs" ]; then

From 8bc25e1c836ef548176b8783d793807fff15fc8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20C?= <freddy.cho@hotmail.com>
Date: Fri, 6 Mar 2020 18:54:51 -0500
Subject: [PATCH 18/41] feat(newserver): Onset (#2682)

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 .../config-lgsm/onsetserver/_default.cfg      | 163 ++++++++++++++++++
 lgsm/data/serverlist.csv                      |   1 +
 lgsm/functions/check_deps.sh                  |   6 +
 lgsm/functions/core_functions.sh              |   5 +
 lgsm/functions/fix.sh                         |   4 +-
 lgsm/functions/fix_onset.sh                   |  20 +++
 lgsm/functions/info_config.sh                 |  26 +++
 lgsm/functions/info_messages.sh               |  13 ++
 8 files changed, 237 insertions(+), 1 deletion(-)
 create mode 100644 lgsm/config-default/config-lgsm/onsetserver/_default.cfg
 create mode 100644 lgsm/functions/fix_onset.sh

diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
new file mode 100644
index 000000000..8b4631616
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
@@ -0,0 +1,163 @@
+##################################
+######## Default Settings ########
+##################################
+# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN!
+# Copy settings from here and use them in either:
+# common.cfg - applies settings to every instance.
+# [instance].cfg - applies settings to a specific instance.
+
+## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+fn_parms(){
+parms="--config ${servercfgfullpath}"
+}
+
+#### LinuxGSM Settings ####
+
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
+## Notification Alerts
+# (on|off)
+
+# Display IP | https://docs.linuxgsm.com/alerts#display-ip
+displayip=""
+
+# More info | https://docs.linuxgsm.com/alerts#more-info
+postalert="off"
+postdays="7"
+posttarget="https://hastebin.com"
+
+# Discord Alerts | https://docs.linuxgsm.com/alerts/discord
+discordalert="off"
+discordwebhook="webhook"
+
+# Email Alerts | https://docs.linuxgsm.com/alerts/email
+emailalert="off"
+email="email@example.com"
+emailfrom=""
+
+# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
+iftttalert="off"
+ifttttoken="accesstoken"
+iftttevent="linuxgsm_alert"
+
+# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
+mailgunalert="off"
+mailguntoken="accesstoken"
+mailgundomain="example.com"
+mailgunemailfrom="alert@example.com"
+mailgunemail="email@myemail.com"
+
+# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+channeltag=""
+
+# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover
+pushoveralert="off"
+pushovertoken="accesstoken"
+
+# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
+slackalert="off"
+slackwebhook="webhook"
+
+# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
+# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring".
+# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need
+# any custom string in curl - simple ignore this parameter.
+telegramalert="off"
+telegramtoken="accesstoken"
+telegramchatid=""
+curlcustomstring=""
+
+## Updating | https://docs.linuxgsm.com/commands/update
+updateonstart="off"
+
+## Backup | https://docs.linuxgsm.com/commands/backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://docs.linuxgsm.com/features/logging
+consolelogging="on"
+logdays="7"
+
+## Monitor | https://docs.linuxgsm.com/commands/monitor
+# Query delay time
+querydelay="1"
+
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
+ansi="on"
+
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
+sleeptime="0.5"
+
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
+# Server appid
+appid="1204170"
+# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
+branch=""
+# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
+steammaster="false"
+
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
+# 1: tmux kill
+# 2: CTRL+c
+# 3: quit
+# 4: quit 120s
+# 5: stop
+# 6: q
+# 7: exit
+# 8: 7 Days to Die
+# 9: Gold Source
+# 10: Teamspeak 3
+stopmode="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
+# Do not edit
+gamename="Onset"
+engine="unreal4"
+glibc="2.24"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
+executable="./OnsetServer"
+servercfg="server_config.json"
+servercfgdefault="server_config.json"
+servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+logdir="${rootdir}/log"
+gamelogdir="${systemdir}/logs"
+lgsmlogdir="${logdir}/script"
+consolelogdir="${logdir}/console"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
+
+## Logs Naming
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv
index 5f4398d28..3cceb1f91 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -59,6 +59,7 @@ nmrih,nmrihserver,No More Room in Hell
 ns,nsserver,Natural Selection
 ns2,ns2server,Natural Selection 2
 ns2c,ns2cserver,NS2: Combat
+onset,onsetserver,Onset
 opfor,opforserver,Opposing Force
 pc,pcserver,Project Cars
 pstbs,pstbsserver,Post Scriptum: The Bloody Seventh
diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index d4ddc8eed..c41ada102 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -400,6 +400,9 @@ fn_deps_build_debian(){
 	# Medal of Honor: Allied Assault
 	elif [ "${shortname}" == "mohaa" ]; then
 		array_deps_required+=( libstdc++5:i386 )
+	# Onset
+	elif [ "${shortname}" == "onset" ]; then
+		array_deps_required+=( libmariadbclient-dev )
 	# Project Zomboid
 	elif [ "${shortname}" == "pz" ]; then
 		if java -version 2>&1 | grep "version"; then
@@ -518,6 +521,9 @@ fn_deps_build_redhat(){
 		else
 			array_deps_required+=( java-1.8.0-openjdk rng-tools )
 		fi
+		# Onset
+	elif [ "${shortname}" == "onset" ]; then
+		array_deps_required+=( mariadb-connector-c )
 	# GoldenEye: Source
 	elif [ "${shortname}" == "ges" ]; then
 		array_deps_required+=( zlib.i686 openldap.i686 )
diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh
index ef8d21a0c..54d7ec6a2 100644
--- a/lgsm/functions/core_functions.sh
+++ b/lgsm/functions/core_functions.sh
@@ -346,6 +346,11 @@ functionfile="${FUNCNAME[0]}"
 fn_fetch_function
 }
 
+fix_onset.sh(){
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
 fix_ro.sh(){
 functionfile="${FUNCNAME[0]}"
 fn_fetch_function
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 7c1567eda..864e69f49 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -51,6 +51,8 @@ if [ "${function_selfname}" != "command_install.sh" ]&&[ -z "${fixbypass}" ]; th
 		fix_ins.sh
 	elif [ "${shortname}" == "nmrih" ]; then
 		fix_nmrih.sh
+	elif [ "${shortname}" == "onset" ]; then
+		fix_onset.sh
 	elif [ "${shortname}" == "rust" ]; then
 		fix_rust.sh
 	elif [ "${shortname}" == "rw" ]; then
@@ -84,7 +86,7 @@ fi
 
 # Fixes that are run on install only.
 if [ "${function_selfname}" == "command_install.sh" ]; then
-		if [ "${shortname}" == "kf" ]||[ "${shortname}" == "kf2" ]||[ "${shortname}" == "ro" ]||[ "${shortname}" == "ut2k4" ]||[ "${shortname}" == "ut" ]||[ "${shortname}" == "ut3" ]; then
+		if [ "${shortname}" == "kf" ]||[ "${shortname}" == "kf2" ]||[ "${shortname}" == "ro" ]||[ "${shortname}" == "ut2k4" ]||[ "${shortname}" == "ut" ]||[ "${shortname}" == "ut3" ]||[ "${shortname}" == "onset" ]; then
 			echo -e ""
 			echo -e "Applying Post-Install Fixes"
 			echo -e "================================="
diff --git a/lgsm/functions/fix_onset.sh b/lgsm/functions/fix_onset.sh
new file mode 100644
index 000000000..9fbeddff3
--- /dev/null
+++ b/lgsm/functions/fix_onset.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# LinuxGSM fix_onset.sh function
+# Author: Frédéric C.
+# Website: https://linuxgsm.com
+# Description: Resolves various issues with Onset
+
+local commandname="FIX"
+local commandaction="Fix"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+
+export LD_LIBRARY_PATH="${serverfiles}:$LD_LIBRARY_PATH"
+
+# Fixes: Failed loading "mariadb": libmariadbclient.so.18: cannot open shared object file: No such file or directory
+# Issue only occures on CentOS as libmariadbclient.so.18 is called libmariadb.so.3 on CentOS.
+if [ -f "/etc/redhat-release" ]&&[ ! -f "${serverfiles}/libmariadbclient.so.18" ]&&[ -f "/usr/lib64/libmariadb.so.3" ]; then
+	fixname="libmariadbclient.so.18"
+	fn_fix_msg_start
+	ln -s "/usr/lib64/libmariadb.so.3" "${serverfiles}/libmariadbclient.so.18"
+	fn_fix_msg_end
+fi
diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh
index 2ad78197a..cc1fcb840 100644
--- a/lgsm/functions/info_config.sh
+++ b/lgsm/functions/info_config.sh
@@ -415,6 +415,29 @@ fn_info_config_minecraft_bedrock(){
 	fi
 }
 
+fn_info_config_onset(){
+	if [ ! -f "${servercfgfullpath}" ]; then
+		servername="${unavailable}"
+		maxplayers="${zero}"
+		port="${zero}"
+		httpport="${zero}"
+        queryport="${zero}"
+	else
+		servername=$(grep -v "servername_short" "${servercfgfullpath}" | grep "servername" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/servername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' )
+		maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+		port=$(grep "port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+		httpport=$((port-2))
+    	queryport=$((port-1))
+		
+		# Not Set
+		servername=${servername:-"NOT SET"}
+		maxplayers=${maxplayers:-"NOT SET"}
+		port=${port:-"NOT SET"}
+		httpport=${httpport:-"NOT SET"}
+    	queryport=${queryport:-"NOT SET"}
+	fi
+}
+
 fn_info_config_mohaa(){
 	if [ ! -f "${servercfgfullpath}" ]; then
 		rconpassword="${unavailable}"
@@ -1406,6 +1429,9 @@ elif [ "${shortname}" == "mc" ]; then
 # Minecraft Bedrock
 elif [ "${shortname}" == "mcb" ]; then
 	fn_info_config_minecraft_bedrock
+# Onset
+elif [ "${shortname}" == "onset" ]; then
+	fn_info_config_onset
 # Post Scriptum: The Bloody Seventh
 elif [ "${shortname}" == "pstbs" ]; then
 	fn_info_config_pstbs
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index a8a1042df..9d22e44d3 100644
--- a/lgsm/functions/info_messages.sh
+++ b/lgsm/functions/info_messages.sh
@@ -821,6 +821,17 @@ fn_info_message_minecraft_bedrock(){
 	} | column -s $'\t' -t
 }
 
+fn_info_message_onset(){
+	echo -e "netstat -atunp | grep OnsetServer"
+	echo -e ""
+	{
+		echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
+		echo -e "> Game\tINBOUND\t${port}\tudp"
+		echo -e "> Query\tINBOUND\t${queryport}\tudp"
+		echo -e "> HTTP\tINBOUND\t${httpport}\ttcp"
+	} | column -s $'\t' -t
+}
+
 fn_info_message_mohaa(){
 	echo -e "netstat -atunp | grep mohaa_lnxded"
 	echo -e ""
@@ -1387,6 +1398,8 @@ fn_info_message_select_engine(){
 		fn_info_message_kf2
 	elif [ "${shortname}" == "mcb" ]; then
 		fn_info_message_minecraft_bedrock
+	elif [ "${shortname}" == "onset" ]; then
+		fn_info_message_onset
 	elif [ "${shortname}" == "pz" ]; then
 		fn_info_message_projectzomboid
 	elif [ "${shortname}" == "pstbs" ]; then

From f2c8501e24e5b60d05aa1eca7bc8541ee00d27b3 Mon Sep 17 00:00:00 2001
From: Daniel Hultgren <daniel.cf.hultgren@gmail.com>
Date: Mon, 9 Mar 2020 00:20:04 +0100
Subject: [PATCH 19/41] feat(mcserver): update minecraft server to support
 release branches (#2696)

* Updated regex to support grepping pre-release versions and snapshot versions

* Minecraft update now downloads the latest release including snapshot versions

* Added config for picking release vs snapshot

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 .../config-lgsm/mcserver/_default.cfg         |  3 ++
 lgsm/functions/update_minecraft.sh            | 31 ++++++++++++++-----
 2 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index efa103c67..3af034613 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -16,6 +16,9 @@ fn_parms(){
 parms="nogui"
 }
 
+## Branch, "snapshot" include snapshot and pre-release versions. | (release|snapshot)
+branch="release"
+
 #### LinuxGSM Settings ####
 
 ## LinuxGSM Stats
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index 1676443a1..89cb7e024 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/lgsm/functions/update_minecraft.sh
@@ -9,7 +9,12 @@ local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
 fn_update_minecraft_dl(){
-	latestmcreleaselink=$(curl -s "https://launchermeta.mojang.com/mc/game/version_manifest.json" | jq -r '.latest.release as $latest | .versions[] | select(.id == $latest) | .url')
+	if [ "${branch}" == "release" ]; then
+		latestmcreleaselink=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.release as $latest | .versions[] | select(.id == $latest) | .url')
+	else
+		latestmcreleaselink=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.versions[0].url')
+	fi
+
 	latestmcbuildurl=$(curl -s "${latestmcreleaselink}" | jq -r '.downloads.server.url')
 	fn_fetch_file "${latestmcbuildurl}" "${tmpdir}" "minecraft_server.${remotebuild}.jar"
 	echo -e "copying to ${serverfiles}...\c"
@@ -64,7 +69,7 @@ fn_update_minecraft_localbuild(){
 	fi
 
 	if [ -z "${localbuild}" ]; then
-		localbuild=$(grep version "${serverfiles}/logs/latest.log" | grep -Eo '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
+		localbuild=$(grep version "${serverfiles}/logs/latest.log" | grep -Eo '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}(-pre[0-9]+)?|([0-9]+w[0-9]+[a-z])')
 	fi
 
 	if [ -z "${localbuild}" ]; then
@@ -76,7 +81,7 @@ fn_update_minecraft_localbuild(){
 				loopignore=1
 				fn_script_log_info "Waiting for local build to generate"
 			fi
-			localbuild=$(cat "${serverfiles}/logs/latest.log" 2> /dev/null | grep version | grep -Eo '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
+			localbuild=$(cat "${serverfiles}/logs/latest.log" 2> /dev/null | grep version | grep -Eo '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}(-pre[0-9]+)?|([0-9]+w[0-9]+[a-z])')
 			if [ "${localbuild}" ]||[ "${seconds}" == "120" ]; then
 				break
 			fi
@@ -98,7 +103,12 @@ fn_update_minecraft_localbuild(){
 
 fn_update_minecraft_remotebuild(){
 	# Gets remote build info.
-	remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.release')
+	if [ "${branch}" == "release" ]; then
+		remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.release')
+	else
+		remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.versions[0].id')
+	fi
+
 	if [ "${installer}" != "1" ]; then
 		fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
 		# Checks if remotebuild variable has been set.
@@ -123,14 +133,15 @@ fn_update_minecraft_remotebuild(){
 fn_update_minecraft_compare(){
 	# Removes dots so if statement can compare version numbers.
 	fn_print_dots "Checking for update: ${remotelocation}"
-	localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
-	remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
-	if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then
+	if [ "${localbuild}" != "${remotebuild}" ]||[ "${forceupdate}" == "1" ]; then
 		fn_print_ok_nl "Checking for update: ${remotelocation}"
 		echo -en "\n"
 		echo -e "Update available"
 		echo -e "* Local build: ${red}${localbuild}${default}"
 		echo -e "* Remote build: ${green}${remotebuild}${default}"
+		if [ -n "${branch}" ]; then
+			echo -e "* Branch: ${branch}"
+		fi
 		fn_script_log_info "Update available"
 		fn_script_log_info "Local build: ${localbuild}"
 		fn_script_log_info "Remote build: ${remotebuild}"
@@ -173,9 +184,15 @@ fn_update_minecraft_compare(){
 		echo -e "No update available"
 		echo -e "* Local build: ${green}${localbuild}${default}"
 		echo -e "* Remote build: ${green}${remotebuild}${default}"
+		if [ -n "${branch}" ]; then
+			echo -e "* Branch: ${branch}"
+		fi
 		fn_script_log_info "No update available"
 		fn_script_log_info "Local build: ${localbuild}"
 		fn_script_log_info "Remote build: ${remotebuild}"
+		if [ -n "${branch}" ]; then
+			fn_script_log_info "Branch: ${branch}"
+		fi
 	fi
 }
 

From 45b3a4df9e626336fb26ed454dc0f3a9a684aa48 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Mon, 9 Mar 2020 22:06:30 +0000
Subject: [PATCH 20/41] fix(install): add code to auto accept steamcmd deb
 license  (#2705)

---
 .travis.yml                  |  1 -
 lgsm/functions/check_deps.sh | 18 +++++++++---------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 48676a0fe..cf0bfb9ea 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,7 +24,6 @@ addons:
     - libcurl4-openssl-dev
     - libdw-dev
     - cmake
-    - steamcmd
 
 jobs:
   include:
diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index c41ada102..30cde7af1 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -26,13 +26,13 @@ fn_install_mono_repo(){
 			echo -en "   \r"
 			if [ "${distroid}" == "ubuntu" ]; then
 				if [ "${distroversion}" == "18.04" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "16.04" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-xenial main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt-get install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-xenial main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "14.04" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-trusty main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt-get install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-trusty main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
 					eval "${cmd}"
 				else
 					fn_print_warn_nl "Installing Mono repository"
@@ -43,13 +43,13 @@ fn_install_mono_repo(){
 				fi
 			elif [ "${distroid}" == "debian" ]; then
 				if [ "${distroversion}" == "10" ]; then
-					cmd="sudo apt install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-buster main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					cmd="sudo apt-get install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-buster main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "9" ]; then
-					cmd="sudo apt install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					cmd="sudo apt-get install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "8" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/debian stable-jessie main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt-get install apt-transport-https;echo 'deb https://download.mono-project.com/repo/debian stable-jessie main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
 					eval "${cmd}"
 				else
 					echo -e "Mono auto install not available for ${distroname}"
@@ -256,7 +256,7 @@ fn_found_missing_deps(){
 			sleep 1
 			echo -en "   \r"
 			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
-				cmd="sudo dpkg --add-architecture i386; sudo apt update; sudo apt -y install ${array_deps_missing[@]}"
+				cmd="echo steamcmd steam/question select \"I AGREE\" | sudo debconf-set-selections; echo steamcmd steam/license note '' | sudo debconf-set-selections; sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
 			elif [ "$(command -v dnf 2>/dev/null)" ]; then
 				cmd="sudo dnf -y install ${array_deps_missing[@]}"
@@ -272,7 +272,7 @@ fn_found_missing_deps(){
 				fn_print_warning_nl "Manually install dependencies."
 				fn_script_log_warn "Manually install dependencies."
 				if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
-					echo -e "	sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}"
+					echo -e "	sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get install ${array_deps_missing[@]}"
 				elif [ "$(command -v dnf 2>/dev/null)" ]; then
 					echo -e "	sudo dnf install ${array_deps_missing[@]}"
 				elif [ "$(command -v yum 2>/dev/null)" ]; then
@@ -293,7 +293,7 @@ fn_found_missing_deps(){
 			fn_print_warning_nl "$(whoami) does not have sudo access. Manually install dependencies."
 			fn_script_log_warn "$(whoami) does not have sudo access. Manually install dependencies."
 			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
-				echo -e "	sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}"
+				echo -e "	sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get install ${array_deps_missing[@]}"
 			elif [ "$(command -v dnf 2>/dev/null)" ]; then
 				echo -e "	sudo dnf install ${array_deps_missing[@]}"
 			elif [ "$(command -v yum 2>/dev/null)" ]; then

From 8f442559fe6aa55acc1ddf3f008904e32f3e4026 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Mon, 9 Mar 2020 23:59:26 +0000
Subject: [PATCH 21/41] feat(install): deprecate centos6 support and tmux
 source install detect (#2709)

---
 lgsm/functions/check_deps.sh | 49 +++++++++---------------------------
 1 file changed, 12 insertions(+), 37 deletions(-)

diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index 30cde7af1..0cb0c566d 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -64,9 +64,6 @@ fn_install_mono_repo(){
 				elif [ "${distroversion}" == "7" ]; then
 					cmd="rpm --import 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF';su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'"
 					eval "${cmd}"
-				elif [ "${distroversion}" == "6" ]; then
-					cmd="rpm --import 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF';su -c 'curl https://download.mono-project.com/repo/centos6-stable.repo | tee /etc/yum.repos.d/mono-centos6-stable.repo'"
-					eval "${cmd}"
 				else
 					echo -e "Mono auto install not available for ${distroname}"
 					echo -e "	Follow instructions on mono site to install the latest version of Mono."
@@ -142,18 +139,12 @@ fn_install_universe_repo(){
 
 fn_deps_detector(){
 	# Checks if dependency is missing.
-	if [ "${tmuxcheck}" == "1" ]; then
-		# Added for users compiling tmux from source to bypass check.
-		depstatus=0
-		deptocheck="tmux"
-		unset tmuxcheck
-	elif [ "${javacheck}" == "1" ]; then
+if [ "${javacheck}" == "1" ]; then
 		# Added for users using Oracle JRE to bypass check.
 		depstatus=0
 		deptocheck="${javaversion}"
 		unset javacheck
-	elif [ "${deptocheck}" == "jq" ]&&[ "${distroversion}" == "6" ]; then
-		jqstatus=1
+
 	elif [ "${deptocheck}" == "jq" ]&&[ "${distroid}" == "ubuntu" ]&&[ "${distroversion}" == "18.04" ]&& ! grep -qE "^deb .*universe" /etc/apt/sources.list; then
 		# #1985 ubuntu 18.04.1 bug does not set sources.list correctly which means universe is not active by default
 		# If the universe repo does not exist, mark as dependency missing and universe missing.
@@ -192,7 +183,7 @@ fn_deps_detector(){
 		fi
 		# Define required dependencies for SteamCMD.
 		if [ -n "${appid}" ]; then
-			if [ "${deptocheck}" ==  "glibc.i686" ]||[ "${deptocheck}" ==  "libstdc++64.i686" ]||[ "${deptocheck}" ==  "lib32gcc1" ]||[ "${deptocheck}" ==  "libstdc++6:i386" ]; then
+			if [ "${deptocheck}" ==  "glibc.i686" ]||[ "${deptocheck}" ==  "libstdc++64.i686" ]||[ "${deptocheck}" ==  "lib32gcc1" ]||[ "${deptocheck}" ==  "lib32stdc++6" ]; then
 				steamcmdfail=1
 			fi
 		fi
@@ -335,20 +326,14 @@ fn_deps_build_debian(){
 	array_deps_missing=()
 
 	# LinuxGSM requirements.
-	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq steamcmd )
-
-	if [ "$(command -v tmux 2>/dev/null)" ]; then
-		tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
-	else
-		array_deps_required+=( tmux )
-	fi
+	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq tmux steamcmd )
 
 	# All servers except ts3, mumble, GTA and minecraft servers require libstdc++6 and lib32gcc1.
 	if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then
 		if [ "${arch}" == "x86_64" ]; then
-			array_deps_required+=( lib32gcc1 libstdc++6:i386 )
+			array_deps_required+=( lib32gcc1 lib32stdc++6 )
 		else
-			array_deps_required+=( libstdc++6:i386 )
+			array_deps_required+=( lib32stdc++6 )
 		fi
 	fi
 
@@ -449,26 +434,16 @@ fn_deps_build_redhat(){
 
 	# LinuxGSM requirements.
 	# CentOS
-	if [ "${distroversion}" == "6" ]; then
-		array_deps_required=( epel-release curl wget util-linux-ng python file tar gzip bzip2 unzip binutils bc jq )
-	elif [ "${distroversion}" == "7" ]; then
-		array_deps_required=( epel-release curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq )
+  if [ "${distroversion}" == "7" ]; then
+		array_deps_required=( epel-release curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux )
 	elif [ "${distroversion}" == "8" ]; then
-		array_deps_required=( epel-release curl wget util-linux python36 file tar gzip bzip2 unzip binutils bc jq )
+		array_deps_required=( epel-release curl wget util-linux python36 file tar gzip bzip2 unzip binutils bc jq tmux )
 	elif [ "${distroid}" == "fedora" ]; then
-			array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq )
+			array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux )
 	elif [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then
-			array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq )
-	else
-		array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq )
-	fi
-
-	# All servers except ts3 require tmux.
-	if [ "$(command -v tmux 2>/dev/null)" ]; then
-		# Added for users compiling tmux from source to bypass check.
-		tmuxcheck=1
+			array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux )
 	else
-		array_deps_required+=( tmux )
+		array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq tmux )
 	fi
 
 	# All servers except ts3, mumble, multi theft auto and minecraft servers require glibc.i686 and libstdc++.i686.

From 4ba7fc072dcc4e611309b616efbdf6d7fdfee4ab Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 00:07:25 +0000
Subject: [PATCH 22/41] feat(install): convert libstdc++6:i386 to lib32stdc++6
 (#2707)

* feat(install): convert libstdc++6:i386 to lib32stdc++6
* update the package in travis to lib32stdc++6
---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index cf0bfb9ea..0ea421b0e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,7 +19,7 @@ addons:
     - postfix
     - jq
     - lib32gcc1
-    - libstdc++6:i386
+    - lib32stdc++6
     - shellcheck
     - libcurl4-openssl-dev
     - libdw-dev

From 0af1f5ed4756b75d977e6b0cee071569db69d67a Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 00:08:37 +0000
Subject: [PATCH 23/41] fix(details): catch error should ifconfig.co fail
 (#2704)

---
 lgsm/functions/info_distro.sh | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index f40d5b048..226aa2093 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -232,7 +232,15 @@ if [ -z "${extip}" ]; then
 	exitcode=$?
 	# Should ifconfig.co return an error will use last known IP.
 	if [ ${exitcode} -eq 0 ]; then
-		echo -e "${extip}" > "${tmpdir}/extip.txt"
+		if [[ "${extip}" != *"DOCTYPE"* ]]; then
+			echo -e "${extip}" > "${tmpdir}/extip.txt"
+		else
+			if [ -f "${tmpdir}/extip.txt" ]; then
+				extip=$(cat "${tmpdir}/extip.txt")
+			else
+				echo -e "x.x.x.x"
+			fi
+		fi
 	else
 		if [ -f "${tmpdir}/extip.txt" ]; then
 			extip=$(cat "${tmpdir}/extip.txt")

From 4b063636043feb0350da52d65f16b11ab5b2404f Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 00:13:05 +0000
Subject: [PATCH 24/41] feat(install): refactor check dependencies (#2708)

* feat: replace lib32tinfo5 with libtinfo5:i386

* dependency refactor and check

refactored check_deps and corrected some incorrect dependencies

* dependency refactor and check

* apt-get back to apt

* further code refactor

* improve messages for check_deps
---
 lgsm/functions/check_deps.sh              | 106 +++++++++++++---------
 lgsm/functions/command_dev_detect_deps.sh |  29 ++++++
 lgsm/functions/command_dev_detect_ldd.sh  |   2 +
 3 files changed, 92 insertions(+), 45 deletions(-)

diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index 0cb0c566d..e29a35a64 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -26,16 +26,16 @@ fn_install_mono_repo(){
 			echo -en "   \r"
 			if [ "${distroid}" == "ubuntu" ]; then
 				if [ "${distroversion}" == "18.04" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "16.04" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt-get install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-xenial main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-xenial main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "14.04" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt-get install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-trusty main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-trusty main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
 					eval "${cmd}"
 				else
-					fn_print_warn_nl "Installing Mono repository"
+					fn_print_warn_nl "Installing Mono repository."
 					echo -e "Mono auto install not available for ${distroname}"
 					echo -e "	Follow instructions on mono site to install the latest version of Mono."
 					echo -e "	https://www.mono-project.com/download/stable/#download-lin"
@@ -43,13 +43,13 @@ fn_install_mono_repo(){
 				fi
 			elif [ "${distroid}" == "debian" ]; then
 				if [ "${distroversion}" == "10" ]; then
-					cmd="sudo apt-get install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-buster main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
+					cmd="sudo apt install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-buster main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "9" ]; then
-					cmd="sudo apt-get install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
+					cmd="sudo apt install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
 					eval "${cmd}"
 				elif [ "${distroversion}" == "8" ]; then
-					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt-get install apt-transport-https;echo 'deb https://download.mono-project.com/repo/debian stable-jessie main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt-get update"
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/debian stable-jessie main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
 					eval "${cmd}"
 				else
 					echo -e "Mono auto install not available for ${distroname}"
@@ -91,11 +91,11 @@ fn_install_mono_repo(){
 				fi
 			fi
 		else
-			fn_print_information_nl "Installing Mono repository"
+			fn_print_information_nl "Installing Mono repository."
 			echo -e ""
 			fn_print_warning_nl "$(whoami) does not have sudo access. Manually install Mono repository."
 			fn_script_log_warn "$(whoami) does not have sudo access. Manually install Mono repository."
-			echo -e "	Follow instructions on mono site to install the latest version of Mono."
+			echo -e "* Follow instructions on mono site to install the latest version of Mono."
 			echo -e "	https://www.mono-project.com/download/stable/#download-lin"
 		fi
 	fi
@@ -105,7 +105,7 @@ fn_install_universe_repo(){
 	# Defensive coding - As this is an ubuntu only issue then check to make sure this fix is needed, and we are using ubuntu.
    if [ "${jquniversemissing}" != "0" ]&&[ "${distroid}" == "ubuntu" ]; then
 		fn_print_warning_nl "Ubuntu 18.04.1 contains a bug which means the sources.list file does not populate with the Ubuntu universe repository."
-		fn_print_information_nl "Attempting to add Universe Repo"
+		fn_print_information_nl "Attempting to add universe repository."
 		if [ "${autoinstall}" == "1" ]; then
 			sudo -n true > /dev/null 2>&1
 		else
@@ -131,7 +131,8 @@ fn_install_universe_repo(){
 		else
 			fn_print_warning_nl "$(whoami) does not have sudo access. Manually add Universe repository."
 			fn_script_log_warn "$(whoami) does not have sudo access. Manually add Universe repository."
-			echo -e "	Please run the following command as a user with sudo access, and re-run the installation"
+			echo -e "* Please run the following command as a user with sudo access, and re-run the installation"
+			echo -e ""
 			echo -e "	sudo apt-add-repository universe"
 		fi
 	fi
@@ -228,7 +229,7 @@ fn_found_missing_deps(){
 			fn_install_mono_repo
 		fi
 		if [ -n "${jqstatus}" ]; then
-			fn_print_warning_nl "jq is not available in the ${distroname} repository"
+			fn_print_warning_nl "jq is not available in the ${distroname} repository."
 			echo -e "	* https://docs.linuxgsm.com/requirements/jq"
 		fi
 		if [ "${autoinstall}" == "1" ]; then
@@ -247,7 +248,7 @@ fn_found_missing_deps(){
 			sleep 1
 			echo -en "   \r"
 			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
-				cmd="echo steamcmd steam/question select \"I AGREE\" | sudo debconf-set-selections; echo steamcmd steam/license note '' | sudo debconf-set-selections; sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get -y install ${array_deps_missing[@]}"
+				cmd="echo steamcmd steam/question select \"I AGREE\" | sudo debconf-set-selections; echo steamcmd steam/license note '' | sudo debconf-set-selections; sudo dpkg --add-architecture i386; sudo apt update; sudo apt -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
 			elif [ "$(command -v dnf 2>/dev/null)" ]; then
 				cmd="sudo dnf -y install ${array_deps_missing[@]}"
@@ -257,13 +258,13 @@ fn_found_missing_deps(){
 				eval "${cmd}"
 			fi
 			if [ $? != 0 ]; then
-				fn_print_failure_nl "Unable to install dependencies"
-				fn_script_log_fatal "Unable to install dependencies"
+				fn_print_failure_nl "Unable to install dependencies."
+				fn_script_log_fatal "Unable to install dependencies."
 				echo -e ""
 				fn_print_warning_nl "Manually install dependencies."
 				fn_script_log_warn "Manually install dependencies."
 				if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
-					echo -e "	sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get install ${array_deps_missing[@]}"
+					echo -e "	sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}"
 				elif [ "$(command -v dnf 2>/dev/null)" ]; then
 					echo -e "	sudo dnf install ${array_deps_missing[@]}"
 				elif [ "$(command -v yum 2>/dev/null)" ]; then
@@ -276,19 +277,19 @@ fn_found_missing_deps(){
 					core_exit.sh
 				fi
 			else
-				fn_print_complete_nl "Install dependencies completed"
-				fn_script_log_pass "Install dependencies completed"
+				fn_print_complete_nl "Install dependencies completed."
+				fn_script_log_pass "Install dependencies completed."
 			fi
 		else
-			echo -e ""
 			fn_print_warning_nl "$(whoami) does not have sudo access. Manually install dependencies."
 			fn_script_log_warn "$(whoami) does not have sudo access. Manually install dependencies."
+			echo -e ""
 			if [ "$(command -v dpkg-query 2>/dev/null)" ]; then
-				echo -e "	sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get install ${array_deps_missing[@]}"
+				echo -e "sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}"
 			elif [ "$(command -v dnf 2>/dev/null)" ]; then
-				echo -e "	sudo dnf install ${array_deps_missing[@]}"
+				echo -e "sudo dnf install ${array_deps_missing[@]}"
 			elif [ "$(command -v yum 2>/dev/null)" ]; then
-				echo -e "	sudo yum install ${array_deps_missing[@]}"
+				echo -e "sudo yum install ${array_deps_missing[@]}"
 			fi
 			if [ "${steamcmdfail}" ]; then
 				echo -e ""
@@ -303,8 +304,8 @@ fn_found_missing_deps(){
 		fi
 	else
 		if [ "${function_selfname}" == "command_install.sh" ]; then
-			fn_print_information_nl "Required dependencies already installed"
-			fn_script_log_info "Required dependencies already installed"
+			fn_print_information_nl "Required dependencies already installed."
+			fn_script_log_info "Required dependencies already installed."
 		fi
 	fi
 }
@@ -339,7 +340,7 @@ fn_deps_build_debian(){
 
 	# Game Specific requirements.
 
-	# Natural Selection 2 - x64 only.
+	# Natural Selection 2 (x64 only)
 	if [ "${shortname}" == "ns2" ]; then
 		array_deps_required+=( speex libtbb2 )
 	# NS2: Combat
@@ -348,14 +349,14 @@ fn_deps_build_debian(){
 	# 7 Days to Die
 	elif [ "${shortname}" == "sdtd" ]; then
 		array_deps_required+=( telnet expect )
-	# No More Room in Hell, Counter-Strike: Source and Garry's Mod
+	# No More Room in Hell, Counter-Strike: Source, Garry's Mod and Zombie Panic: Source
 	elif [ "${shortname}" == "nmrih" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "zps" ]; then
 		if [ "${arch}" == "x86_64" ]; then
 			array_deps_required+=( lib32tinfo5 )
 		else
 			array_deps_required+=( libtinfo5 )
 		fi
-	# Brainbread 2 ,Don't Starve Together & Team Fortress 2
+	# Brainbread 2, Don't Starve Together & Team Fortress 2
 	elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
 		array_deps_required+=( libcurl4-gnutls-dev:i386 )
 		if [ "${shortname}" == "tf2" ]; then
@@ -364,8 +365,8 @@ fn_deps_build_debian(){
 	# Battlefield: 1942
 	elif [ "${shortname}" == "bf1942" ]; then
 		array_deps_required+=( libncurses5:i386 )
-	# Call of Duty
-	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]; then
+	# Call of Duty & Medal of Honor: Allied Assault
+	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
 		array_deps_required+=( libstdc++5:i386 )
 	# Factorio
 	elif [ "${shortname}" == "fctr" ]; then
@@ -373,18 +374,15 @@ fn_deps_build_debian(){
 	# Hurtword/Rust
 	elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
 		array_deps_required+=( lib32z1 )
-	# Minecraft
-  elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "rw" ]||[ "${shortname}" == "pz" ]; then
+	# Minecraft, Rising World, Wurm
+	elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "rw" ]||[ "${shortname}" == "wurm" ]; then
 		javaversion=$(java -version 2>&1 | grep "version")
 		if [ "${javaversion}" ]; then
 			# Added for users using Oracle JRE to bypass the check.
 			javacheck=1
 		else
-			array_deps_required+=( openjdk-8-jre-headless )
+			array_deps_required+=( default-jre )
 		fi
-	# Medal of Honor: Allied Assault
-	elif [ "${shortname}" == "mohaa" ]; then
-		array_deps_required+=( libstdc++5:i386 )
 	# Onset
 	elif [ "${shortname}" == "onset" ]; then
 		array_deps_required+=( libmariadbclient-dev )
@@ -418,6 +416,9 @@ fn_deps_build_debian(){
 	# Unreal Tournament
 	elif [ "${shortname}" == "ut" ]; then
 		array_deps_required+=( unzip )
+	# Unturned
+	elif [ "${shortname}" == "unt" ]; then
+		array_deps_required+=( mono-complete )
 	# Wurm: Unlimited
 	elif [ "${shortname}" == "wurm" ]; then
 		array_deps_required+=( xvfb )
@@ -478,36 +479,50 @@ fn_deps_build_redhat(){
 	# Battlefield: 1942
 	elif [ "${shortname}" == "bf1942" ]; then
 		array_deps_required+=( ncurses-libs.i686 )
-	# Call of Duty
-	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]; then
+	# Call of Duty & Medal of Honor: Allied Assault
+	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
 		array_deps_required+=( compat-libstdc++-33.i686 )
 	# Factorio
 	elif [ "${shortname}" == "fctr" ]; then
 		array_deps_required+=( xz )
+	# Hurtword/Rust
 	elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
 		array_deps_required+=( zlib-devel )
-	# Minecraft, Project Zomboid, Rising World
-  elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "rw" ]||[ "${shortname}" == "pz" ]; then
+	# Minecraft, Rising World, Wurm
+	elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "rw" ]||[ "${shortname}" == "wurm" ]; then
 		javaversion=$(java -version 2>&1 | grep "version")
 		if [ "${javaversion}" ]; then
 			# Added for users using Oracle JRE to bypass the check.
 			javacheck=1
-			array_deps_required+=( rng-tools )
 		else
-			array_deps_required+=( java-1.8.0-openjdk rng-tools )
+			array_deps_required+=( java-11-openjdk )
 		fi
-		# Onset
+	# Onset
 	elif [ "${shortname}" == "onset" ]; then
 		array_deps_required+=( mariadb-connector-c )
+	# Project Zomboid
+	elif [ "${shortname}" == "pz" ]; then
+		if java -version 2>&1 | grep "version"; then
+			# Added for users using Oracle JRE to bypass the check.
+			javacheck=1
+			array_deps_required+=( rng-tools )
+		else
+			array_deps_required+=( java-11-openjdk rng-tools )
+		fi
 	# GoldenEye: Source
 	elif [ "${shortname}" == "ges" ]; then
 		array_deps_required+=( zlib.i686 openldap.i686 )
+	# Serious Sam 3: BFE
+	elif [ "${shortname}" == "ss3" ]; then
+		: # not compatible
+	elif [ "${shortname}" == "sven" ]; then
+		: # not compatible
 	# Unreal Engine
 	elif [ "${executable}" == "./ucc-bin" ]; then
-		#UT2K4
+		# UT2K4
 		if [ -f "${executabledir}/ut2004-bin" ]; then
 			array_deps_required+=( compat-libstdc++-33.i686 SDL.i686 bzip2 )
-		#UT99
+		# UT99
 		else
 			array_deps_required+=( SDL.i686 bzip2 )
 		fi
@@ -517,6 +532,7 @@ fn_deps_build_redhat(){
 	# Unturned
 	elif [ "${shortname}" == "unt" ]; then
 		array_deps_required+=( mono-complete )
+	# Wurm: Unlimited
 	elif [ "${shortname}" == "wurm" ]; then
 		array_deps_required+=( xorg-x11-server-Xvfb )
 	elif [ "${shortname}" == "pstbs" ]; then
@@ -548,5 +564,5 @@ if [ -f "/etc/debian_version" ]; then
 elif [ -f "/etc/redhat-release" ]; then
 	fn_deps_build_redhat
 else
-	fn_print_warning_nl "${distroname} dependency checking unavailable"
+	fn_print_warning_nl "${distroname} dependency checking unavailable."
 fi
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index 50b9078c8..ff1e797cd 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/lgsm/functions/command_dev_detect_deps.sh
@@ -34,6 +34,10 @@ done
 
 sort "${tmpdir}/.depdetect_readelf" |uniq >"${tmpdir}/.depdetect_readelf_uniq"
 
+touch "${tmpdir}/.depdetect_centos_list"
+touch "${tmpdir}/.depdetect_ubuntu_list"
+touch "${tmpdir}/.depdetect_debian_list"
+
 while read -r lib; do
 	echo -e "${lib}"
 	local libs_array=( libm.so.6 libc.so.6 libtcmalloc_minimal.so.4 libpthread.so.0 libdl.so.2 libnsl.so.1 libgcc_s.so.1 librt.so.1 ld-linux.so.2 libdbus-glib-1.so.2 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libnm-glib.so.4 libnm-util.so.2 )
@@ -128,6 +132,31 @@ while read -r lib; do
 		echo -e "libgconf2-4" >> "${tmpdir}/.depdetect_ubuntu_list"
 		echo -e "libgconf2-4" >> "${tmpdir}/.depdetect_debian_list"
 		libdetected=1
+	elif [ "${lib}" == "libz.so.1" ]; then
+		echo -e "zlib" >> "${tmpdir}/.depdetect_centos_list"
+		echo -e "zlib1g" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo -e "zlib1g" >> "${tmpdir}/.depdetect_debian_list"
+		libdetected=1
+	elif [ "${lib}" == "libatk-1.0.so.0" ]; then
+		echo -e "atk" >> "${tmpdir}/.depdetect_centos_list"
+		echo -e "libatk1.0-0" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo -e "libatk1.0-0" >> "${tmpdir}/.depdetect_debian_list"
+		libdetected=1
+	elif [ "${lib}" == "libcairo.so.2" ]; then
+		echo -e "cairo" >> "${tmpdir}/.depdetect_centos_list"
+		echo -e "libcairo2" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo -e "libcairo2" >> "${tmpdir}/.depdetect_debian_list"
+		libdetected=1
+	elif [ "${lib}" == "libfontconfig.so.1" ]; then
+		echo -e "fontconfig" >> "${tmpdir}/.depdetect_centos_list"
+		echo -e "libfontconfig1" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo -e "libfontconfig1" >> "${tmpdir}/.depdetect_debian_list"
+		libdetected=1
+	elif [ "${lib}" == "libfreetype.so.6" ]; then
+		echo -e "freetype" >> "${tmpdir}/.depdetect_centos_list"
+		echo -e "libfreetype6" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo -e "libfreetype6" >> "${tmpdir}/.depdetect_debian_list"
+		libdetected=1
 	fi
 
 	if [ "${libdetected}" != "1" ]; then
diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh
index 3df4b0a58..848489ddf 100644
--- a/lgsm/functions/command_dev_detect_ldd.sh
+++ b/lgsm/functions/command_dev_detect_ldd.sh
@@ -25,6 +25,8 @@ elif [ -f "${serverfiles}" ]; then
 	echo -e "${serverfiles}"
 fi
 echo -e ""
+touch "${tmpdir}/detect_ldd.tmp"
+touch "${tmpdir}/detect_ldd_not_found.tmp"
 
 files=$(find "${serverfiles}" | wc -l)
 find "${serverfiles}" -type f -print0 |

From 8b9038892bb0edf195b77e060fb51fcf7f4dd8b2 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 20:10:16 +0000
Subject: [PATCH 26/41] Update Licence Date (#2726)

---
 LICENSE | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/LICENSE b/LICENSE
index 950cea23a..6fa6c795f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
-The MIT License (MIT)
+MIT License
 
-Copyright (c) 2018 Daniel Gibbs
+Copyright (c) 2012-2020 Daniel Gibbs
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

From 466bc15e7b0de1359c28fbc492e583b1b5eb6665 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 20:55:50 +0000
Subject: [PATCH 27/41] fix(stats): fix stats bugs with language and sending
 stats (#2727)

* Update info_stats.sh
* added CPU frequency
* feat: swapped event label and event action
* fix: prevent df from displaying non-english text with disk space vars

* fix force English language on df to ensure a point is used
---
 lgsm/functions/info_distro.sh |  8 +++---
 lgsm/functions/info_stats.sh  | 52 +++++++++++++++++++----------------
 2 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index 226aa2093..bb2501969 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -172,10 +172,10 @@ fi
 ### Disk information
 
 ## Available disk space on the partition.
-filesystem=$(df -hP "${rootdir}" | grep -v "Filesystem" | awk '{print $1}')
-totalspace=$(df -hP "${rootdir}" | grep -v "Filesystem" | awk '{print $2}')
-usedspace=$(df -hP "${rootdir}" | grep -v "Filesystem" | awk '{print $3}')
-availspace=$(df -hP "${rootdir}" | grep -v "Filesystem" | awk '{print $4}')
+filesystem=$(LC_ALL=C df -hP "${rootdir}" | tail -n 1 | awk '{print $1}')
+totalspace=$(LC_ALL=C df -hP "${rootdir}" | tail -n 1 | awk '{print $2}')
+usedspace=$(LC_ALL=C df -hP "${rootdir}" | tail -n 1 | awk '{print $3}')
+availspace=$(LC_ALL=C df -hP "${rootdir}" | tail -n 1 | awk '{print $4}')
 
 ## LinuxGSM used space total.
 rootdirdu=$(du -sh "${rootdir}" 2> /dev/null | awk '{print $1}')
diff --git a/lgsm/functions/info_stats.sh b/lgsm/functions/info_stats.sh
index ef0788fad..c99bdcf27 100644
--- a/lgsm/functions/info_stats.sh
+++ b/lgsm/functions/info_stats.sh
@@ -14,54 +14,59 @@ if [ ! -f "${datadir}/uuid.txt" ];then
 		uuidgen > "${datadir}/uuid.txt"
 	else
 		cat /proc/sys/kernel/random/uuid > "${datadir}/uuid.txt"
-  fi
+	fi
 fi
 
 uuid=$(cat "${datadir}/uuid.txt")
-# results are rounded up to reduce number of different results in analytics
-# nearest 100Mhz
+# results are rounded up to reduce number of different results in analytics.
+# nearest 100Mhz.
 cpuusedmhzroundup=$(((cpuusedmhz + 99) / 100 * 100))
 # nearest 100MB
 memusedroundup=$(((memused + 99) / 100 * 100))
 
-# Level 1 Stats
-## Distro
-curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=distro" -d "ea=${gamename}" -d "el=${distroname}" -d "v=1" > /dev/null 2>&1
-## Game Server Name
+## Distro.
+curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=distro" -d "ea=${distroname}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
+## Game Server Name.
 curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=game" -d "ea=${gamename}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
-## Game Server Name
-curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=version" -d "ea=${version}" -d "el=${version}" -d "v=1" > /dev/null 2>&1
+## LinuxGSM Version.
+curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=version" -d "ea=${version}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 
-# Level 2 Stats
-## CPU usage of a game server
+## CPU usage of a game server.
 if [ "${cpuusedmhzroundup}" ]; then
-  curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=cpuused" -d "ea=${gamename}" -d "el=${cpuusedmhzroundup}MHz" -d "v=1" > /dev/null 2>&1
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=cpuused" -d "ea=${cpuusedmhzroundup}MHz" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 fi
-## Ram usage of a game server
+## Ram usage of a game server.
 if [ "${memusedroundup}" ]; then
-  curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=ramused" -d "ea=${gamename}" -d "el=${memusedroundup}MB" -d "v=1" > /dev/null 2>&1
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=ramused" -d "ea=${memusedroundup}MB" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 fi
-## Disk usage of a game server
+## Disk usage of a game server.
 if [ "${serverfilesdu}" ]; then
-  curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=diskused" -d "ea=${gamename}" -d "el=${serverfilesdu}" -d "v=1" > /dev/null 2>&1
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=diskused" -d "ea=${serverfilesdu}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 fi
 
-# Level 3 Stats
-## CPU Model
+## CPU Model.
 if [ "${cpumodel}" ]; then
-  curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=servercpu" -d "ea=${gamename}" -d "el=${cpumodel} cores:${cpucores}" -d "v=1" > /dev/null 2>&1
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=servercpu" -d "ea=${cpumodel} ${cpucores} cores" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 fi
 
-## Server RAM
+## CPU Frequency.
+if [ "${cpufreqency}" ]; then
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=servercpufreq" -d "ea=${cpufreqency} x${cpucores}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
+fi
+
+## Server RAM.
 if [ "${physmemtotal}" ]; then
-  curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=serverram" -d "ea=${gamename}" -d "el=${physmemtotal}" -d "v=1" > /dev/null 2>&1
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=serverram" -d "ea=${physmemtotal}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 fi
 
-## Server Disk
+## Server Disk.
 if [ "${totalspace}" ]; then
-  curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=serverdisk" -d "ea=${gamename}" -d "el=${totalspace}" -d "v=1" > /dev/null 2>&1
+	curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=serverdisk" -d "ea=${totalspace}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
 fi
 
+## Summary Stats
+curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=summary" -d "ea=GAME: ${gamename} | DISTRO: ${distroname} | CPU MODEL: ${cpumodel} ${cpucores} cores | RAM: ${physmemtotal} | DISK: ${totalspace}" -d "v=1" > /dev/null 2>&1
+
 fn_script_log_info "Send LinuxGSM stats"
 fn_script_log_info "* UUID: ${uuid}"
 fn_script_log_info "* Game Name: ${gamename}"
@@ -70,5 +75,6 @@ fn_script_log_info "* Game Server CPU Used: ${cpuusedmhzroundup}MHz"
 fn_script_log_info "* Game Server RAM Used: ${memusedroundup}MB"
 fn_script_log_info "* Game Server Disk Used: ${serverfilesdu}"
 fn_script_log_info "* Server CPU Model: ${cpumodel}"
+fn_script_log_info "* Server CPU Frequency: ${cpufreqency}"
 fn_script_log_info "* Server RAM: ${physmemtotal}"
 fn_script_log_info "* Server Disk: ${totalspace}"

From 1f4fa0ce13f95d1c7abf0589405103aafbe234bf Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 21:16:27 +0000
Subject: [PATCH 28/41] added new servers

---
 lgsm/config-default/config-lgsm/common-template.cfg      | 2 +-
 lgsm/config-default/config-lgsm/instance-template.cfg    | 2 +-
 lgsm/config-default/config-lgsm/onsetserver/_default.cfg | 4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/common-template.cfg b/lgsm/config-default/config-lgsm/common-template.cfg
index ddb1ef233..e050a945e 100644
--- a/lgsm/config-default/config-lgsm/common-template.cfg
+++ b/lgsm/config-default/config-lgsm/common-template.cfg
@@ -2,4 +2,4 @@
 ######## Common Settings #########
 ##################################
 # PLACE GLOBAL SETTINGS HERE
-## These settings will apply to all instances
+## These settings will apply to all instances.
diff --git a/lgsm/config-default/config-lgsm/instance-template.cfg b/lgsm/config-default/config-lgsm/instance-template.cfg
index 1f8109ce6..162b176a6 100644
--- a/lgsm/config-default/config-lgsm/instance-template.cfg
+++ b/lgsm/config-default/config-lgsm/instance-template.cfg
@@ -2,4 +2,4 @@
 ####### Instance Settings ########
 ##################################
 # PLACE INSTANCE SETTINGS HERE
-## These settings will apply to a specific instance
+## These settings will apply to a specific instance.
diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
index 8b4631616..1d80cb85a 100644
--- a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
@@ -6,6 +6,8 @@
 # common.cfg - applies settings to every instance.
 # [instance].cfg - applies settings to a specific instance.
 
+#### Game Server Settings ####
+
 ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
 fn_parms(){
 parms="--config ${servercfgfullpath}"
@@ -28,7 +30,7 @@ displayip=""
 # More info | https://docs.linuxgsm.com/alerts#more-info
 postalert="off"
 postdays="7"
-posttarget="https://hastebin.com"
+posttarget="https://termbin.com"
 
 # Discord Alerts | https://docs.linuxgsm.com/alerts/discord
 discordalert="off"

From d106384e2839d579a1f2aad02e04a7fc457b78e6 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 21:57:43 +0000
Subject: [PATCH 29/41] feat: convert commandname to modulename (#2728)

---
 lgsm/functions/alert.sh                       |  2 +-
 lgsm/functions/alert_discord.sh               |  4 ++++
 lgsm/functions/alert_email.sh                 |  2 +-
 lgsm/functions/alert_ifttt.sh                 |  2 +-
 lgsm/functions/alert_mailgun.sh               |  2 +-
 lgsm/functions/alert_pushbullet.sh            |  2 +-
 lgsm/functions/alert_pushover.sh              |  2 +-
 lgsm/functions/alert_slack.sh                 |  4 ++++
 lgsm/functions/alert_telegram.sh              |  2 +-
 lgsm/functions/check.sh                       |  2 +-
 lgsm/functions/check_config.sh                |  4 ++--
 lgsm/functions/check_deps.sh                  |  2 +-
 lgsm/functions/check_executable.sh            |  4 ++--
 lgsm/functions/check_glibc.sh                 |  2 +-
 lgsm/functions/check_ip.sh                    |  2 +-
 lgsm/functions/check_logs.sh                  |  4 ++--
 lgsm/functions/check_permissions.sh           |  2 +-
 lgsm/functions/check_root.sh                  |  4 ++--
 lgsm/functions/check_status.sh                |  4 ++--
 lgsm/functions/check_steamcmd.sh              |  2 +-
 lgsm/functions/check_system_dir.sh            |  4 ++--
 lgsm/functions/check_system_requirements.sh   |  4 ++--
 lgsm/functions/check_tmuxception.sh           |  2 +-
 lgsm/functions/command_backup.sh              |  2 +-
 lgsm/functions/command_console.sh             |  2 +-
 lgsm/functions/command_debug.sh               |  2 +-
 lgsm/functions/command_details.sh             |  2 +-
 lgsm/functions/command_dev_debug.sh           |  2 +-
 lgsm/functions/command_dev_detect_deps.sh     |  2 +-
 lgsm/functions/command_dev_detect_glibc.sh    |  2 +-
 lgsm/functions/command_dev_detect_ldd.sh      |  2 +-
 lgsm/functions/command_dev_query_raw.sh       |  2 +-
 lgsm/functions/command_donate.sh              |  2 +-
 lgsm/functions/command_fastdl.sh              |  2 +-
 lgsm/functions/command_install.sh             |  2 +-
 .../command_install_resources_mta.sh          |  2 +-
 lgsm/functions/command_mods_install.sh        |  2 +-
 lgsm/functions/command_mods_remove.sh         |  2 +-
 lgsm/functions/command_mods_update.sh         |  2 +-
 lgsm/functions/command_monitor.sh             |  2 +-
 lgsm/functions/command_postdetails.sh         |  2 +-
 lgsm/functions/command_restart.sh             |  2 +-
 lgsm/functions/command_start.sh               |  2 +-
 lgsm/functions/command_stop.sh                |  2 +-
 lgsm/functions/command_test_alert.sh          |  2 +-
 lgsm/functions/command_ts3_server_pass.sh     |  2 +-
 lgsm/functions/command_update.sh              |  2 +-
 lgsm/functions/command_update_linuxgsm.sh     |  2 +-
 lgsm/functions/command_validate.sh            |  2 +-
 lgsm/functions/command_wipe.sh                |  2 +-
 lgsm/functions/core_dl.sh                     |  2 +-
 lgsm/functions/core_messages.sh               | 24 +++++++++----------
 lgsm/functions/fix.sh                         |  2 +-
 lgsm/functions/fix_arma3.sh                   |  2 +-
 lgsm/functions/fix_csgo.sh                    |  2 +-
 lgsm/functions/fix_dst.sh                     |  2 +-
 lgsm/functions/fix_ges.sh                     |  2 +-
 lgsm/functions/fix_ins.sh                     |  2 +-
 lgsm/functions/fix_kf.sh                      |  2 +-
 lgsm/functions/fix_kf2.sh                     |  2 +-
 lgsm/functions/fix_mcb.sh                     |  4 ++--
 lgsm/functions/fix_mta.sh                     |  2 +-
 lgsm/functions/fix_onset.sh                   |  2 +-
 lgsm/functions/fix_ro.sh                      |  2 +-
 lgsm/functions/fix_rust.sh                    |  2 +-
 lgsm/functions/fix_rw.sh                      |  2 +-
 lgsm/functions/fix_sdtd.sh                    |  2 +-
 lgsm/functions/fix_sfc.sh                     |  2 +-
 lgsm/functions/fix_sof2.sh                    |  2 +-
 lgsm/functions/fix_ss3.sh                     |  2 +-
 lgsm/functions/fix_steamcmd.sh                |  4 ++--
 lgsm/functions/fix_terraria.sh                |  2 +-
 lgsm/functions/fix_tf2.sh                     |  2 +-
 lgsm/functions/fix_ts3.sh                     |  2 +-
 lgsm/functions/fix_unt.sh                     |  2 +-
 lgsm/functions/fix_ut.sh                      |  2 +-
 lgsm/functions/fix_ut2k4.sh                   |  2 +-
 lgsm/functions/fix_ut3.sh                     |  2 +-
 lgsm/functions/fix_zmr.sh                     |  2 +-
 lgsm/functions/install_complete.sh            |  2 +-
 lgsm/functions/install_config.sh              |  2 +-
 lgsm/functions/install_dst_token.sh           |  2 +-
 lgsm/functions/install_factorio_save.sh       |  2 +-
 lgsm/functions/install_gslt.sh                |  2 +-
 lgsm/functions/install_header.sh              |  2 +-
 lgsm/functions/install_logs.sh                |  2 +-
 lgsm/functions/install_mta_resources.sh       |  2 +-
 lgsm/functions/install_retry.sh               |  2 +-
 lgsm/functions/install_server_dir.sh          |  2 +-
 lgsm/functions/install_server_files.sh        |  2 +-
 lgsm/functions/install_squad_license.sh       |  2 +-
 lgsm/functions/install_stats.sh               |  2 +-
 lgsm/functions/install_steamcmd.sh            |  2 +-
 lgsm/functions/install_ts3db.sh               |  2 +-
 lgsm/functions/install_ut2k4_key.sh           |  2 +-
 lgsm/functions/logs.sh                        |  2 +-
 lgsm/functions/mods_core.sh                   |  2 +-
 lgsm/functions/mods_list.sh                   |  2 +-
 lgsm/functions/update_factorio.sh             |  2 +-
 lgsm/functions/update_minecraft.sh            |  2 +-
 lgsm/functions/update_minecraft_bedrock.sh    |  2 +-
 lgsm/functions/update_mta.sh                  |  2 +-
 lgsm/functions/update_mumble.sh               |  2 +-
 lgsm/functions/update_steamcmd.sh             |  2 +-
 lgsm/functions/update_ts3.sh                  |  2 +-
 105 files changed, 131 insertions(+), 123 deletions(-)

diff --git a/lgsm/functions/alert.sh b/lgsm/functions/alert.sh
index 17f51140e..db5fdbc79 100644
--- a/lgsm/functions/alert.sh
+++ b/lgsm/functions/alert.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Overall function for managing alerts.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 
 fn_alert_log(){
diff --git a/lgsm/functions/alert_discord.sh b/lgsm/functions/alert_discord.sh
index b404b8e0f..6f5793de1 100644
--- a/lgsm/functions/alert_discord.sh
+++ b/lgsm/functions/alert_discord.sh
@@ -5,6 +5,10 @@
 # Website: https://linuxgsm.com
 # Description: Sends Discord alert.
 
+local modulename="ALERT"
+local commandaction="Alert"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
 if ! command -v jq > /dev/null; then
 	fn_print_fail_nl "Sending Discord alert: jq is missing."
 	fn_script_log_fatal "Sending Discord alert: jq is missing."
diff --git a/lgsm/functions/alert_email.sh b/lgsm/functions/alert_email.sh
index 8b9cef865..727275b35 100644
--- a/lgsm/functions/alert_email.sh
+++ b/lgsm/functions/alert_email.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Sends email alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/alert_ifttt.sh b/lgsm/functions/alert_ifttt.sh
index 99b564f08..b77fa7c50 100644
--- a/lgsm/functions/alert_ifttt.sh
+++ b/lgsm/functions/alert_ifttt.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Sends IFTTT alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/alert_mailgun.sh b/lgsm/functions/alert_mailgun.sh
index aa2594823..521a46fb9 100644
--- a/lgsm/functions/alert_mailgun.sh
+++ b/lgsm/functions/alert_mailgun.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Sends Mailgun Email alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/alert_pushbullet.sh b/lgsm/functions/alert_pushbullet.sh
index 797e987f0..a9b409f10 100644
--- a/lgsm/functions/alert_pushbullet.sh
+++ b/lgsm/functions/alert_pushbullet.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Sends Pushbullet Messenger alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/alert_pushover.sh b/lgsm/functions/alert_pushover.sh
index 701dca674..0db5d5a0c 100644
--- a/lgsm/functions/alert_pushover.sh
+++ b/lgsm/functions/alert_pushover.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Sends Pushover alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/alert_slack.sh b/lgsm/functions/alert_slack.sh
index b2345de43..582043f0c 100644
--- a/lgsm/functions/alert_slack.sh
+++ b/lgsm/functions/alert_slack.sh
@@ -4,6 +4,10 @@
 # Website: https://linuxgsm.com
 # Description: Sends Slack alert.
 
+local modulename="ALERT"
+local commandaction="Alert"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
 if ! command -v jq > /dev/null; then
 	fn_print_fail_nl "Sending Slack alert: jq is missing."
 	fn_script_log_fatal "Sending Slack alert: jq is missing."
diff --git a/lgsm/functions/alert_telegram.sh b/lgsm/functions/alert_telegram.sh
index 3581abf38..21436c340 100644
--- a/lgsm/functions/alert_telegram.sh
+++ b/lgsm/functions/alert_telegram.sh
@@ -4,7 +4,7 @@
 # Website: https://bytegaming.de
 # Description: Sends Telegram Messenger alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/check.sh b/lgsm/functions/check.sh
index 21e63aca4..838441517 100644
--- a/lgsm/functions/check.sh
+++ b/lgsm/functions/check.sh
@@ -5,7 +5,7 @@
 # Description: Overall function for managing checks.
 # Runs checks that will either halt on or fix an issue.
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 # Every command that requires checks just references check.sh.
 # check.sh selects which checks to run by using arrays.
diff --git a/lgsm/functions/check_config.sh b/lgsm/functions/check_config.sh
index 7a52ce294..01da2ab24 100644
--- a/lgsm/functions/check_config.sh
+++ b/lgsm/functions/check_config.sh
@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Checks if the server config is missing and warns the user if needed.
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 if [ ! -e "${servercfgfullpath}" ]; then
 	if [ "${shortname}" != "hw" ]&&[ "${shortname}" != "ut3" ]&&[ "${shortname}" != "kf2" ]; then
diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index e29a35a64..fff32f9ff 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Checks if required dependencies are installed for LinuxGSM.
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 fn_install_mono_repo(){
 	if [ "${monostatus}" != "0" ]; then
diff --git a/lgsm/functions/check_executable.sh b/lgsm/functions/check_executable.sh
index 88a93ffc5..3643d3e0d 100644
--- a/lgsm/functions/check_executable.sh
+++ b/lgsm/functions/check_executable.sh
@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Checks if server executable exists.
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 # Check if executable exists
 if [ ! -f "${executabledir}/${execname}" ]; then
diff --git a/lgsm/functions/check_glibc.sh b/lgsm/functions/check_glibc.sh
index 4ff80b84b..0c6e5a70d 100644
--- a/lgsm/functions/check_glibc.sh
+++ b/lgsm/functions/check_glibc.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Checks if the server has the correct Glibc version.
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 info_distro.sh
 
diff --git a/lgsm/functions/check_ip.sh b/lgsm/functions/check_ip.sh
index 646a6899f..727c6e125 100644
--- a/lgsm/functions/check_ip.sh
+++ b/lgsm/functions/check_ip.sh
@@ -5,7 +5,7 @@
 # Description: Automatically identifies the server interface IP.
 # If multiple interfaces are detected the user will need to manually set using ip="0.0.0.0".
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 if [ "${travistest}" != "1" ]; then
 	if [ ! -f "/bin/ip" ]; then
diff --git a/lgsm/functions/check_logs.sh b/lgsm/functions/check_logs.sh
index 4da3cd057..883337756 100644
--- a/lgsm/functions/check_logs.sh
+++ b/lgsm/functions/check_logs.sh
@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Checks if log files exist.
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 fn_check_logs(){
 	fn_print_dots "Checking for log files"
diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh
index 4d1e81413..1e81735b4 100644
--- a/lgsm/functions/check_permissions.sh
+++ b/lgsm/functions/check_permissions.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Checks ownership & permissions of scripts, files and directories.
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 fn_check_ownership(){
 	if [ -f "${rootdir}/${selfname}" ]; then
diff --git a/lgsm/functions/check_root.sh b/lgsm/functions/check_root.sh
index 4200c5dc0..8f62674f7 100644
--- a/lgsm/functions/check_root.sh
+++ b/lgsm/functions/check_root.sh
@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Checks if the user tried to run the script as root.
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 if [ "$(whoami)" = "root" ]; then
 	if [ "${function_selfname}" != "command_install.sh" ]; then
diff --git a/lgsm/functions/check_status.sh b/lgsm/functions/check_status.sh
index d814197be..67025a5e7 100644
--- a/lgsm/functions/check_status.sh
+++ b/lgsm/functions/check_status.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Checks the process status of the server. Either online or offline.
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 status=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | grep -Ecx "^${selfname}")
diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 77f46033d..e7cafa4a1 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Checks if SteamCMD is installed correctly.
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 fn_install_steamcmd(){
 	if [ ! -d "${steamcmddir}" ]; then
diff --git a/lgsm/functions/check_system_dir.sh b/lgsm/functions/check_system_dir.sh
index d11b30a20..9a4863a5a 100644
--- a/lgsm/functions/check_system_dir.sh
+++ b/lgsm/functions/check_system_dir.sh
@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Checks if systemdir/serverfiles is accessible.
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 if [ "${function_selfname}" != "command_validate.sh" ]; then
 	checkdir="${serverfiles}"
diff --git a/lgsm/functions/check_system_requirements.sh b/lgsm/functions/check_system_requirements.sh
index 3c0345219..8b0b5a92b 100644
--- a/lgsm/functions/check_system_requirements.sh
+++ b/lgsm/functions/check_system_requirements.sh
@@ -5,8 +5,8 @@
 # Website: https://linuxgsm.com
 # Description: Checks RAM requirements
 
-local commandname="CHECK"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+local modulename="CHECK"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 info_distro.sh
 
diff --git a/lgsm/functions/check_tmuxception.sh b/lgsm/functions/check_tmuxception.sh
index 7e83cf844..9abf3bb1d 100644
--- a/lgsm/functions/check_tmuxception.sh
+++ b/lgsm/functions/check_tmuxception.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Checks if run from tmux or screen
 
-local commandname="CHECK"
+local modulename="CHECK"
 
 fn_check_is_in_tmux(){
   if [ -n "${TMUX}" ]; then
diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh
index a7e3e337a..c1da544e2 100644
--- a/lgsm/functions/command_backup.sh
+++ b/lgsm/functions/command_backup.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Creates a .tar.gz file in the backup directory.
 
-local commandname="BACKUP"
+local modulename="BACKUP"
 local commandaction="Backup"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_console.sh b/lgsm/functions/command_console.sh
index 4dfa2a4a3..796f24454 100644
--- a/lgsm/functions/command_console.sh
+++ b/lgsm/functions/command_console.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Gives access to the server tmux console.
 
-local commandname="CONSOLE"
+local modulename="CONSOLE"
 local commandaction="Console"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh
index dda8b1170..e50965882 100644
--- a/lgsm/functions/command_debug.sh
+++ b/lgsm/functions/command_debug.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Runs the server without tmux and directly from the terminal.
 
-local commandname="DEBUG"
+local modulename="DEBUG"
 local commandaction="Debug"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh
index 889febbd4..461dc78f5 100644
--- a/lgsm/functions/command_details.sh
+++ b/lgsm/functions/command_details.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Displays server information.
 
-local commandname="DETAILS"
+local modulename="DETAILS"
 local commandaction="Details"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_dev_debug.sh b/lgsm/functions/command_dev_debug.sh
index 0cb3e48b5..61f40c808 100644
--- a/lgsm/functions/command_dev_debug.sh
+++ b/lgsm/functions/command_dev_debug.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Dev only: Enables debugging log to be saved to dev-debug.log.
 
-local commandname="DEV-DEBUG"
+local modulename="DEV-DEBUG"
 local commandaction="Dev-Debug"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index ff1e797cd..83476a7bb 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/lgsm/functions/command_dev_detect_deps.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Detects dependencies the server binary requires.
 
-local commandname="DETECT-DEPS"
+local modulename="DETECT-DEPS"
 local commandaction="Detect-Deps"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index e86fb05db..a8b463e2c 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -5,7 +5,7 @@
 # Description: Automatically detects the version of GLIBC that is required.
 # Can check a file or directory recursively.
 
-local commandname="DETECT-GLIBC"
+local modulename="DETECT-GLIBC"
 local commandaction="Detect-Glibc"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh
index 848489ddf..7f360fe84 100644
--- a/lgsm/functions/command_dev_detect_ldd.sh
+++ b/lgsm/functions/command_dev_detect_ldd.sh
@@ -5,7 +5,7 @@
 # Description: Automatically detects required deps using ldd.
 # Can check a file or directory recursively.
 
-local commandname="DETECT-LDD"
+local modulename="DETECT-LDD"
 local commandaction="Detect-LDD"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_dev_query_raw.sh b/lgsm/functions/command_dev_query_raw.sh
index a0efd2690..78ba80e77 100644
--- a/lgsm/functions/command_dev_query_raw.sh
+++ b/lgsm/functions/command_dev_query_raw.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Raw gamedig output of the server.
 
-local commandname="QUERY-RAW"
+local modulename="QUERY-RAW"
 local commandaction="Query Raw"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_donate.sh b/lgsm/functions/command_donate.sh
index 15c94fdf3..e979339f1 100644
--- a/lgsm/functions/command_donate.sh
+++ b/lgsm/functions/command_donate.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Shows ways to donate.
 
-local commandname="CONSOLE"
+local modulename="CONSOLE"
 local commandaction="Console"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index d862c7ed8..54ae7fe94 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Creates a FastDL directory.
 
-local commandname="FASTDL"
+local modulename="FASTDL"
 local commandaction="FastDL"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh
index 4955aab86..e8d6923de 100644
--- a/lgsm/functions/command_install.sh
+++ b/lgsm/functions/command_install.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Overall function for the installer.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_install_resources_mta.sh b/lgsm/functions/command_install_resources_mta.sh
index c4a555800..5874818a6 100644
--- a/lgsm/functions/command_install_resources_mta.sh
+++ b/lgsm/functions/command_install_resources_mta.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Installs the default resources for Multi Theft Auto.
 
-local commandname="DEFAULT_RESOURCES"
+local modulename="DEFAULT_RESOURCES"
 local commandaction="Default Resources"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_mods_install.sh b/lgsm/functions/command_mods_install.sh
index dd6b51de6..5cedab62d 100644
--- a/lgsm/functions/command_mods_install.sh
+++ b/lgsm/functions/command_mods_install.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: List and installs available mods along with mods_list.sh and mods_core.sh.
 
-local commandname="MODS"
+local modulename="MODS"
 local commandaction="addons/mods"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_mods_remove.sh b/lgsm/functions/command_mods_remove.sh
index 13516410d..0c869b88b 100644
--- a/lgsm/functions/command_mods_remove.sh
+++ b/lgsm/functions/command_mods_remove.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Uninstall mods along with mods_list.sh and mods_core.sh.
 
-local commandname="MODS"
+local modulename="MODS"
 local commandaction="Mods Remove"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_mods_update.sh b/lgsm/functions/command_mods_update.sh
index ba5708d96..04c482e5c 100644
--- a/lgsm/functions/command_mods_update.sh
+++ b/lgsm/functions/command_mods_update.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Updates installed mods along with mods_list.sh and mods_core.sh.
 
-local commandname="MODS"
+local modulename="MODS"
 local commandaction="Mods Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 0dada9464..9d9db0ad2 100644
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -6,7 +6,7 @@
 # Description: Monitors server by checking for running processes
 # then passes to gamedig and gsquery.
 
-local commandname="MONITOR"
+local modulename="MONITOR"
 local commandaction="Monitor"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
index 083bc7213..7e5d14355 100644
--- a/lgsm/functions/command_postdetails.sh
+++ b/lgsm/functions/command_postdetails.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Strips sensitive information out of Details output
 
-local commandname="POSTDETAILS"
+local modulename="POSTDETAILS"
 local commandaction="Postdetails"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_restart.sh b/lgsm/functions/command_restart.sh
index 76b65b8e5..56b6d7872 100644
--- a/lgsm/functions/command_restart.sh
+++ b/lgsm/functions/command_restart.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Restarts the server.
 
-local commandname="RESTART"
+local modulename="RESTART"
 local commandaction="Restarting"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh
index 4c9fd20c4..80ffdd19a 100644
--- a/lgsm/functions/command_start.sh
+++ b/lgsm/functions/command_start.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Starts the server.
 
-local commandname="START"
+local modulename="START"
 local commandaction="Starting"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh
index 03a3bff18..609425595 100644
--- a/lgsm/functions/command_stop.sh
+++ b/lgsm/functions/command_stop.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Stops the server.
 
-local commandname="STOP"
+local modulename="STOP"
 local commandaction="Stopping"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_test_alert.sh b/lgsm/functions/command_test_alert.sh
index 368a9ab21..77ff0d079 100644
--- a/lgsm/functions/command_test_alert.sh
+++ b/lgsm/functions/command_test_alert.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Sends a test alert.
 
-local commandname="ALERT"
+local modulename="ALERT"
 local commandaction="Alert"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_ts3_server_pass.sh b/lgsm/functions/command_ts3_server_pass.sh
index 4bb3421dc..dfe9c5824 100644
--- a/lgsm/functions/command_ts3_server_pass.sh
+++ b/lgsm/functions/command_ts3_server_pass.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Changes TS3 serveradmin password.
 
-local commandname="PASSWORD-CHANGE"
+local modulename="PASSWORD-CHANGE"
 local commandaction="Password Change"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_update.sh b/lgsm/functions/command_update.sh
index 1bc37e7bb..64cfcb2f5 100644
--- a/lgsm/functions/command_update.sh
+++ b/lgsm/functions/command_update.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_update_linuxgsm.sh b/lgsm/functions/command_update_linuxgsm.sh
index 05069b79c..c2529f43c 100644
--- a/lgsm/functions/command_update_linuxgsm.sh
+++ b/lgsm/functions/command_update_linuxgsm.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Deletes the functions dir to allow re-downloading of functions from GitHub.
 
-local commandname="UPDATE LINUXGSM"
+local modulename="UPDATE LINUXGSM"
 local commandaction="Update LinuxGSM"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh
index 55a58d266..abc59473c 100644
--- a/lgsm/functions/command_validate.sh
+++ b/lgsm/functions/command_validate.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Runs a server validation.
 
-local commandname="VALIDATE"
+local modulename="VALIDATE"
 local commandaction="Validate"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh
index 97b268e57..55d0d5d01 100644
--- a/lgsm/functions/command_wipe.sh
+++ b/lgsm/functions/command_wipe.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Wipes server data, useful after updates for some games like Rust
 
-local commandname="WIPE"
+local modulename="WIPE"
 local commandaction="Wipe"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index 24cff68bf..3874c8f24 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -17,7 +17,7 @@
 # fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
 # fn_fetch_file "http://example.com/file.tar.bz2" "/some/dir" "file.tar.bz2" "chmodx" "run" "forcedl" "10cd7353aa9d758a075c600a6dd193fd"
 
-local commandname="DOWNLOAD"
+local modulename="DOWNLOAD"
 local commandaction="Download"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh
index 166cca593..6dadb63c7 100644
--- a/lgsm/functions/core_messages.sh
+++ b/lgsm/functions/core_messages.sh
@@ -46,8 +46,8 @@ fn_sleep_time(){
 ## Feb 28 14:56:58 ut99-server: Monitor:
 fn_script_log(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${commandname}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: ${1}" >> "${lgsmlog}"
+		if [ -n "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${1}" >> "${lgsmlog}"
 		fi
@@ -57,8 +57,8 @@ fn_script_log(){
 ## Feb 28 14:56:58 ut99-server: Monitor: PASS:
 fn_script_log_pass(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${commandname}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: PASS: ${1}" >> "${lgsmlog}"
+		if [ -n "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: PASS: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: PASS: ${1}" >> "${lgsmlog}"
 		fi
@@ -69,8 +69,8 @@ fn_script_log_pass(){
 ## Feb 28 14:56:58 ut99-server: Monitor: FATAL:
 fn_script_log_fatal(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${commandname}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: FATAL: ${1}" >> "${lgsmlog}"
+		if [ -n "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: FATAL: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: FATAL: ${1}" >> "${lgsmlog}"
 		fi
@@ -81,8 +81,8 @@ fn_script_log_fatal(){
 ## Feb 28 14:56:58 ut99-server: Monitor: ERROR:
 fn_script_log_error(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${commandname}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: ERROR: ${1}" >> "${lgsmlog}"
+		if [ -n "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: ERROR: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ERROR: ${1}" >> "${lgsmlog}"
 		fi
@@ -93,8 +93,8 @@ fn_script_log_error(){
 ## Feb 28 14:56:58 ut99-server: Monitor: WARN:
 fn_script_log_warn(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${commandname}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: WARN: ${1}" >> "${lgsmlog}"
+		if [ -n "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: WARN: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: WARN: ${1}" >> "${lgsmlog}"
 		fi
@@ -105,8 +105,8 @@ fn_script_log_warn(){
 ## Feb 28 14:56:58 ut99-server: Monitor: INFO:
 fn_script_log_info(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${commandname}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: INFO: ${1}" >> "${lgsmlog}"
+		if [ -n "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: INFO: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: INFO: ${1}" >> "${lgsmlog}"
 		fi
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 864e69f49..7585b4348 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -5,7 +5,7 @@
 # Description: Overall function for managing fixes.
 # Runs functions that will fix an issue.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # Messages that are displayed for some fixes.
diff --git a/lgsm/functions/fix_arma3.sh b/lgsm/functions/fix_arma3.sh
index eda6dde69..de9785e51 100644
--- a/lgsm/functions/fix_arma3.sh
+++ b/lgsm/functions/fix_arma3.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves an issue with ARMA3.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_csgo.sh b/lgsm/functions/fix_csgo.sh
index 5e9981e38..0ea098eed 100644
--- a/lgsm/functions/fix_csgo.sh
+++ b/lgsm/functions/fix_csgo.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with CS:GO.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_dst.sh b/lgsm/functions/fix_dst.sh
index 3b62be24b..46c17756b 100644
--- a/lgsm/functions/fix_dst.sh
+++ b/lgsm/functions/fix_dst.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Don't Starve Together.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_ges.sh b/lgsm/functions/fix_ges.sh
index 35e1411e3..bbd08c645 100644
--- a/lgsm/functions/fix_ges.sh
+++ b/lgsm/functions/fix_ges.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with GoldenEye: Source.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # Fixes: MALLOC_CHECK_ needing to be set to 0.
diff --git a/lgsm/functions/fix_ins.sh b/lgsm/functions/fix_ins.sh
index 354401ea5..e26d501da 100644
--- a/lgsm/functions/fix_ins.sh
+++ b/lgsm/functions/fix_ins.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Insurgency.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # Fixes: ./srcds_linux: error while loading shared libraries: libtier0.so: cannot open shared object file: No such file or directory.
diff --git a/lgsm/functions/fix_kf.sh b/lgsm/functions/fix_kf.sh
index 0661775d4..0ce05184b 100644
--- a/lgsm/functions/fix_kf.sh
+++ b/lgsm/functions/fix_kf.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Killing Floor.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_kf2.sh b/lgsm/functions/fix_kf2.sh
index 2909a535f..7cc1be568 100644
--- a/lgsm/functions/fix_kf2.sh
+++ b/lgsm/functions/fix_kf2.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Killing Floor 2.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_mcb.sh b/lgsm/functions/fix_mcb.sh
index d9cb8073a..e5a919dbc 100644
--- a/lgsm/functions/fix_mcb.sh
+++ b/lgsm/functions/fix_mcb.sh
@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Resolves possible startup issue with Minecraft Bedrock
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # official docs state that the server should be started with: LD_LIBRARY_PATH=. ./bedrock_server
-export LD_LIBRARY_PATH="${serverfiles}:$LD_LIBRARY_PATH"
\ No newline at end of file
+export LD_LIBRARY_PATH="${serverfiles}:$LD_LIBRARY_PATH"
diff --git a/lgsm/functions/fix_mta.sh b/lgsm/functions/fix_mta.sh
index c8b2ff8b0..af4d5002f 100644
--- a/lgsm/functions/fix_mta.sh
+++ b/lgsm/functions/fix_mta.sh
@@ -4,7 +4,7 @@
 # Contributor: ChaosMTA
 # Website: https://linuxgsm.com
 # Description: Installs the libmysqlclient for database functions on the server
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_onset.sh b/lgsm/functions/fix_onset.sh
index 9fbeddff3..24ab62132 100644
--- a/lgsm/functions/fix_onset.sh
+++ b/lgsm/functions/fix_onset.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Onset
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_ro.sh b/lgsm/functions/fix_ro.sh
index 1e1da31bc..e7ced52ad 100644
--- a/lgsm/functions/fix_ro.sh
+++ b/lgsm/functions/fix_ro.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Red Orchestra.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_rust.sh b/lgsm/functions/fix_rust.sh
index 854020873..bb70724db 100644
--- a/lgsm/functions/fix_rust.sh
+++ b/lgsm/functions/fix_rust.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves startup issue with Rust
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # Fixes: [Raknet] Server Shutting Down (Shutting Down).
diff --git a/lgsm/functions/fix_rw.sh b/lgsm/functions/fix_rw.sh
index da5fd8286..7cf5a6b12 100644
--- a/lgsm/functions/fix_rw.sh
+++ b/lgsm/functions/fix_rw.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves startup issue with Rising World
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 export LD_LIBRARY_PATH="${serverfiles}/linux64:${serverfiles}:$LD_LIBRARY_PATH"
diff --git a/lgsm/functions/fix_sdtd.sh b/lgsm/functions/fix_sdtd.sh
index ca0dc09a1..b04b1fca7 100644
--- a/lgsm/functions/fix_sdtd.sh
+++ b/lgsm/functions/fix_sdtd.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves startup issue with 7 Days to Die
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 export LD_LIBRARY_PATH="${serverfiles}"
diff --git a/lgsm/functions/fix_sfc.sh b/lgsm/functions/fix_sfc.sh
index a40250083..ce42211fb 100644
--- a/lgsm/functions/fix_sfc.sh
+++ b/lgsm/functions/fix_sfc.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Source Forts Classic.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_sof2.sh b/lgsm/functions/fix_sof2.sh
index 2715f7f8c..3ad769767 100644
--- a/lgsm/functions/fix_sof2.sh
+++ b/lgsm/functions/fix_sof2.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves startup issue with Soldier of Fortune 2
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # Fixes: error while loading shared libraries: libcxa.so.1
diff --git a/lgsm/functions/fix_ss3.sh b/lgsm/functions/fix_ss3.sh
index c7277ea9d..3baf5d866 100644
--- a/lgsm/functions/fix_ss3.sh
+++ b/lgsm/functions/fix_ss3.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Serious Sam 3.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_steamcmd.sh b/lgsm/functions/fix_steamcmd.sh
index 37bd4f61f..62a3c9fed 100644
--- a/lgsm/functions/fix_steamcmd.sh
+++ b/lgsm/functions/fix_steamcmd.sh
@@ -4,9 +4,9 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues related to SteamCMD.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
-local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 # Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam,or a local steamclient.so.
 if [ ! -f "${HOME}/.steam/sdk32/steamclient.so" ]; then
diff --git a/lgsm/functions/fix_terraria.sh b/lgsm/functions/fix_terraria.sh
index e3a595029..8d9af0947 100644
--- a/lgsm/functions/fix_terraria.sh
+++ b/lgsm/functions/fix_terraria.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves an issue with Terraria.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_tf2.sh b/lgsm/functions/fix_tf2.sh
index 5c8cdf6c4..b0e9ce1ce 100644
--- a/lgsm/functions/fix_tf2.sh
+++ b/lgsm/functions/fix_tf2.sh
@@ -4,7 +4,7 @@
 # Website: https://github.com/vectorsigma
 # Description: Resolves various issues with Team Fortress 2.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_ts3.sh b/lgsm/functions/fix_ts3.sh
index 3e3599066..2a921d91d 100644
--- a/lgsm/functions/fix_ts3.sh
+++ b/lgsm/functions/fix_ts3.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Teamspeak 3.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_unt.sh b/lgsm/functions/fix_unt.sh
index 3c9c9335a..f040b77c6 100644
--- a/lgsm/functions/fix_unt.sh
+++ b/lgsm/functions/fix_unt.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves startup issue with Unturned
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 
 # steamclient.so: cannot open shared object file: No such file or directory
diff --git a/lgsm/functions/fix_ut.sh b/lgsm/functions/fix_ut.sh
index e479e9442..7c8c12458 100644
--- a/lgsm/functions/fix_ut.sh
+++ b/lgsm/functions/fix_ut.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Unreal Tournament.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_ut2k4.sh b/lgsm/functions/fix_ut2k4.sh
index 45ef3dc78..70ed0465d 100644
--- a/lgsm/functions/fix_ut2k4.sh
+++ b/lgsm/functions/fix_ut2k4.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Unreal Tournament 2004.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_ut3.sh b/lgsm/functions/fix_ut3.sh
index 31eb85281..3b5537d67 100644
--- a/lgsm/functions/fix_ut3.sh
+++ b/lgsm/functions/fix_ut3.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with configs in Unreal Tournament 3.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/fix_zmr.sh b/lgsm/functions/fix_zmr.sh
index 5ed1d8beb..25deec45f 100644
--- a/lgsm/functions/fix_zmr.sh
+++ b/lgsm/functions/fix_zmr.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Resolves various issues with Zombie Master: Reborn.
 
-local commandname="FIX"
+local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_complete.sh b/lgsm/functions/install_complete.sh
index a747438a2..70f4e5345 100644
--- a/lgsm/functions/install_complete.sh
+++ b/lgsm/functions/install_complete.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Prints installation completion message and hints.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh
index 92451b5d9..77e9433ea 100644
--- a/lgsm/functions/install_config.sh
+++ b/lgsm/functions/install_config.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Creates default server configs.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_dst_token.sh b/lgsm/functions/install_dst_token.sh
index 869adde71..247280a56 100644
--- a/lgsm/functions/install_dst_token.sh
+++ b/lgsm/functions/install_dst_token.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Configures Don't Starve Together cluster with given token.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_factorio_save.sh b/lgsm/functions/install_factorio_save.sh
index fd9e634a1..5abdc4069 100644
--- a/lgsm/functions/install_factorio_save.sh
+++ b/lgsm/functions/install_factorio_save.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Creates the initial save file for Factorio
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 
 echo -e ""
diff --git a/lgsm/functions/install_gslt.sh b/lgsm/functions/install_gslt.sh
index ddb0ca291..3162f669c 100644
--- a/lgsm/functions/install_gslt.sh
+++ b/lgsm/functions/install_gslt.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Configures GSLT.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_header.sh b/lgsm/functions/install_header.sh
index 1a0c9dc29..bd2e4524b 100644
--- a/lgsm/functions/install_header.sh
+++ b/lgsm/functions/install_header.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Prints installation header.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_logs.sh b/lgsm/functions/install_logs.sh
index 1a00bac39..e33b2a6af 100644
--- a/lgsm/functions/install_logs.sh
+++ b/lgsm/functions/install_logs.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Creates log directories.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_mta_resources.sh b/lgsm/functions/install_mta_resources.sh
index 6d7f14bd1..fb7bb012b 100644
--- a/lgsm/functions/install_mta_resources.sh
+++ b/lgsm/functions/install_mta_resources.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Installs the libmysqlclient for database functions on the server and optionally installs default resources required to run the server
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_retry.sh b/lgsm/functions/install_retry.sh
index 2698b150c..15cbf938e 100644
--- a/lgsm/functions/install_retry.sh
+++ b/lgsm/functions/install_retry.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Asks for installation retry after failure.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_server_dir.sh b/lgsm/functions/install_server_dir.sh
index 894ae060d..006264a06 100644
--- a/lgsm/functions/install_server_dir.sh
+++ b/lgsm/functions/install_server_dir.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Creates the server directory.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index b9069db53..f0ce44d7c 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Installs server files.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_squad_license.sh b/lgsm/functions/install_squad_license.sh
index 0f1528e07..cd8ba87b6 100644
--- a/lgsm/functions/install_squad_license.sh
+++ b/lgsm/functions/install_squad_license.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Configures the Squad server's license.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_stats.sh b/lgsm/functions/install_stats.sh
index 35a6f608f..4a00edd49 100644
--- a/lgsm/functions/install_stats.sh
+++ b/lgsm/functions/install_stats.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Enabled LinuxGSM Stats.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_steamcmd.sh b/lgsm/functions/install_steamcmd.sh
index e56c9b8aa..9a2415079 100644
--- a/lgsm/functions/install_steamcmd.sh
+++ b/lgsm/functions/install_steamcmd.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Downloads SteamCMD on install.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 
 echo -e ""
diff --git a/lgsm/functions/install_ts3db.sh b/lgsm/functions/install_ts3db.sh
index 09e16324e..cf8831dd3 100644
--- a/lgsm/functions/install_ts3db.sh
+++ b/lgsm/functions/install_ts3db.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Installs the database server MariaDB for TeamSpeak 3.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/install_ut2k4_key.sh b/lgsm/functions/install_ut2k4_key.sh
index c8d18692e..c5eff82e6 100644
--- a/lgsm/functions/install_ut2k4_key.sh
+++ b/lgsm/functions/install_ut2k4_key.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Activates ut2k4 server with given key.
 
-local commandname="INSTALL"
+local modulename="INSTALL"
 local commandaction="Install"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/logs.sh b/lgsm/functions/logs.sh
index 04f5010e9..199295d46 100644
--- a/lgsm/functions/logs.sh
+++ b/lgsm/functions/logs.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Acts as a log rotator, removing old logs.
 
-local commandname="LOGS"
+local modulename="LOGS"
 local commandaction="Log-Manager"
 
 # Check if logfile variable and file exist, create logfile if it doesn't exist.
diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh
index 942012e46..083b91818 100644
--- a/lgsm/functions/mods_core.sh
+++ b/lgsm/functions/mods_core.sh
@@ -5,7 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Core functions for mods list/install/update/remove
 
-local commandname="MODS"
+local modulename="MODS"
 local commandaction="Mods"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/mods_list.sh b/lgsm/functions/mods_list.sh
index 67a57463c..8037f1eed 100644
--- a/lgsm/functions/mods_list.sh
+++ b/lgsm/functions/mods_list.sh
@@ -8,7 +8,7 @@
 # Usage: Then add this array to the mods_global_array.
 # Usage: If needed, you can scrape the download URL first.
 
-local commandname="MODS"
+local modulename="MODS"
 local commandaction="List Mods"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/update_factorio.sh b/lgsm/functions/update_factorio.sh
index 584fec4ae..e5a3a4397 100644
--- a/lgsm/functions/update_factorio.sh
+++ b/lgsm/functions/update_factorio.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of Factorio servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index 89cb7e024..706aa7832 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/lgsm/functions/update_minecraft.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of Minecraft servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/update_minecraft_bedrock.sh b/lgsm/functions/update_minecraft_bedrock.sh
index bf4b6f5d1..00989d52c 100644
--- a/lgsm/functions/update_minecraft_bedrock.sh
+++ b/lgsm/functions/update_minecraft_bedrock.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of Minecraft Bedrock servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
diff --git a/lgsm/functions/update_mta.sh b/lgsm/functions/update_mta.sh
index 879ca1409..373b3e823 100644
--- a/lgsm/functions/update_mta.sh
+++ b/lgsm/functions/update_mta.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of Multi Theft Auto servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh
index 0f33c1900..c17bd8036 100644
--- a/lgsm/functions/update_mumble.sh
+++ b/lgsm/functions/update_mumble.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of Mumble servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index fcb289485..c55237c2b 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating using SteamCMD.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh
index 798137311..893d34205 100644
--- a/lgsm/functions/update_ts3.sh
+++ b/lgsm/functions/update_ts3.sh
@@ -4,7 +4,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of Teamspeak 3 servers.
 
-local commandname="UPDATE"
+local modulename="UPDATE"
 local commandaction="Update"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 

From 3a6f7f903485e843dff7a3210fb77f999fbcdea0 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 21:59:11 +0000
Subject: [PATCH 30/41] feat: rm command best practices (#2729)

---
 lgsm/functions/alert.sh                    |  2 +-
 lgsm/functions/command_backup.sh           |  6 ++--
 lgsm/functions/command_debug.sh            |  2 +-
 lgsm/functions/command_dev_debug.sh        |  2 +-
 lgsm/functions/command_dev_detect_deps.sh  | 32 +++++++++++-----------
 lgsm/functions/command_dev_detect_glibc.sh |  6 ++--
 lgsm/functions/command_dev_detect_ldd.sh   |  4 +--
 lgsm/functions/command_fastdl.sh           | 10 +++----
 lgsm/functions/command_mods_remove.sh      |  4 +--
 lgsm/functions/command_postdetails.sh      |  2 +-
 lgsm/functions/command_start.sh            |  2 +-
 lgsm/functions/command_stop.sh             |  2 +-
 lgsm/functions/command_update_linuxgsm.sh  |  6 ++--
 lgsm/functions/compress_unreal2_maps.sh    |  2 +-
 lgsm/functions/compress_ut99_maps.sh       |  2 +-
 lgsm/functions/core_dl.sh                  |  2 +-
 lgsm/functions/install_server_files.sh     |  2 +-
 lgsm/functions/mods_core.sh                |  4 +--
 lgsm/functions/update_steamcmd.sh          |  2 +-
 tests/tests_defaultcfg/tests_defaultcfg.sh |  6 ++--
 tests/tests_fctrserver.sh                  |  2 +-
 tests/tests_jc2server.sh                   |  4 +--
 tests/tests_mcserver.sh                    |  2 +-
 tests/tests_ts3server.sh                   |  2 +-
 24 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/lgsm/functions/alert.sh b/lgsm/functions/alert.sh
index db5fdbc79..d09f9eb93 100644
--- a/lgsm/functions/alert.sh
+++ b/lgsm/functions/alert.sh
@@ -12,7 +12,7 @@ fn_alert_log(){
 	info_config.sh
 	info_messages.sh
 	if [ -f "${alertlog}" ]; then
-		rm "${alertlog}"
+		rm -f "${alertlog:?}"
 	fi
 
 	{
diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh
index c1da544e2..46953e1b3 100644
--- a/lgsm/functions/command_backup.sh
+++ b/lgsm/functions/command_backup.sh
@@ -17,12 +17,12 @@ fn_backup_trap(){
 	echo -en "backup ${backupname}.tar.gz..."
 	fn_print_canceled_eol_nl
 	fn_script_log_info "Backup ${backupname}.tar.gz: CANCELED"
-	rm -f "${backupdir}/${backupname}.tar.gz" | tee -a "${lgsmlog}"
+	rm -f "${backupdir:?}/${backupname}.tar.gz" | tee -a "${lgsmlog}"
 	echo -en "backup ${backupname}.tar.gz..."
 	fn_print_removed_eol_nl
 	fn_script_log_info "Backup ${backupname}.tar.gz: REMOVED"
 	# Remove lock file.
-	rm -f "${tmpdir}/.backup.lock"
+	rm -f "${tmpdir:?}/.backup.lock"
 	core_exit.sh
 }
 
@@ -153,7 +153,7 @@ fn_backup_compression(){
 		fn_script_log_pass "Backup created: ${backupname}.tar.gz, total size $(du -sh "${backupdir}/${backupname}.tar.gz" | awk '{print $1}')"
 	fi
 	# Remove lock file
-	rm -f "${tmpdir}/.backup.lock"
+	rm -f "${tmpdir:?}/.backup.lock"
 }
 
 # Clear old backups according to maxbackups and maxbackupdays variables.
diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh
index e50965882..d80f5e766 100644
--- a/lgsm/functions/command_debug.sh
+++ b/lgsm/functions/command_debug.sh
@@ -11,7 +11,7 @@ local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 # Trap to remove lockfile on quit.
 fn_lockfile_trap(){
 	# Remove lockfile.
-	rm -f "${rootdir}/${lockselfname}"
+	rm -f "${rootdir:?}/${lockselfname}"
 	# resets terminal. Servers can sometimes mess up the terminal on exit.
 	reset
 	fn_print_ok_nl "Closing debug"
diff --git a/lgsm/functions/command_dev_debug.sh b/lgsm/functions/command_dev_debug.sh
index 61f40c808..ba80921c6 100644
--- a/lgsm/functions/command_dev_debug.sh
+++ b/lgsm/functions/command_dev_debug.sh
@@ -9,7 +9,7 @@ local commandaction="Dev-Debug"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
 if [ -f "${rootdir}/.dev-debug" ]; then
-	rm "${rootdir}/.dev-debug"
+	rm "${rootdir:?}/.dev-debug"
 	fn_print_ok_nl "Disabled dev-debug"
 	fn_script_log_info "Disabled dev-debug"
 else
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index 83476a7bb..b308c3579 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/lgsm/functions/command_dev_detect_deps.sh
@@ -207,21 +207,21 @@ echo -e "Required Librarys"
 echo -e "================================="
 sort "${tmpdir}/.depdetect_readelf" | uniq
 echo -en "\n"
-rm -f "${tmpdir}/.depdetect_centos_line"
-rm -f "${tmpdir}/.depdetect_centos_list"
-rm -f "${tmpdir}/.depdetect_centos_list_uniq"
-
-rm -f "${tmpdir}/.depdetect_debian_line"
-rm -f "${tmpdir}/.depdetect_debian_list"
-rm -f "${tmpdir}/.depdetect_debian_list_uniq"
-
-rm -f "${tmpdir}/.depdetect_ubuntu_line"
-rm -f "${tmpdir}/.depdetect_ubuntu_list"
-rm -f "${tmpdir}/.depdetect_ubuntu_list_uniq"
-
-rm -f "${tmpdir}/.depdetect_readelf"
-rm -f "${tmpdir}/.depdetect_readelf_uniq"
-rm -f "${tmpdir}/.depdetect_unknown"
-rm -f "${tmpdir}/.depdetect_unknown_uniq"
+rm -f "${tmpdir:?}/.depdetect_centos_line"
+rm -f "${tmpdir:?}/.depdetect_centos_list"
+rm -f "${tmpdir:?}/.depdetect_centos_list_uniq"
+
+rm -f "${tmpdir:?}/.depdetect_debian_line"
+rm -f "${tmpdir:?}/.depdetect_debian_list"
+rm -f "${tmpdir:?}/.depdetect_debian_list_uniq"
+
+rm -f "${tmpdir:?}/.depdetect_ubuntu_line"
+rm -f "${tmpdir:?}/.depdetect_ubuntu_list"
+rm -f "${tmpdir:?}/.depdetect_ubuntu_list_uniq"
+
+rm -f "${tmpdir:?}/.depdetect_readelf"
+rm -f "${tmpdir:?}/.depdetect_readelf_uniq"
+rm -f "${tmpdir:?}/.depdetect_unknown"
+rm -f "${tmpdir:?}/.depdetect_unknown_uniq"
 
 core_exit.sh
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index a8b463e2c..add6a05b6 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -70,8 +70,8 @@ do
 			echo -e ""
 			echo -e "All required GLIBC versions"
 			cat "${tmpdir}/detect_glibc_${glibc_check_var}.tmp" | sort | uniq | sort -r --version-sort
-			rm "${tmpdir}/detect_glibc_${glibc_check_var}.tmp"
-			rm "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp"
+			rm -f "${tmpdir:?}/detect_glibc_${glibc_check_var}.tmp"
+			rm -f "${tmpdir:?}/detect_glibc_files_${glibc_check_var}.tmp"
 		else
 			fn_print_information_nl "glibc is not required"
 		fi
@@ -84,7 +84,7 @@ echo -e "Final glibc Requirement"
 echo -e "================================="
 if [ -f "${tmpdir}/detect_glibc_highest.tmp" ]; then
 	cat "${tmpdir}/detect_glibc_highest.tmp" | sort | uniq | sort -r --version-sort | head -1
-	rm "${tmpdir}/detect_glibc_highest.tmp"
+	rm -f "${tmpdir:?}/detect_glibc_highest.tmp"
 else
 	fn_print_information_nl "glibc is not required"
 fi
diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh
index 7f360fe84..f612366bf 100644
--- a/lgsm/functions/command_dev_detect_ldd.sh
+++ b/lgsm/functions/command_dev_detect_ldd.sh
@@ -55,7 +55,7 @@ echo -e "Not Found"
 echo -e "================================="
 cat "${tmpdir}/detect_ldd_not_found.tmp"
 
-rm "${tmpdir}/detect_ldd.tmp"
-rm "${tmpdir}/detect_ldd_not_found.tmp"
+rm -f "${tmpdir:?}/detect_ldd.tmp"
+rm -f "${tmpdir:?}/detect_ldd_not_found.tmp"
 
 core_exit.sh
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index 54ae7fe94..d6600a7af 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -67,7 +67,7 @@ fn_clear_old_fastdl(){
 	# Clearing old FastDL.
 	if [ -d "${fastdldir}" ]; then
 		echo -en "clearing existing FastDL directory ${fastdldir}..."
-		rm -R "${fastdldir:?}"
+		rm -fR "${fastdldir:?}"
 		exitcode=$?
 		if [ ${exitcode} -ne 0 ]; then
 			fn_print_fail_eol_nl
@@ -147,7 +147,7 @@ fn_human_readable_file_size(){
 fn_fastdl_preview(){
 	# Remove any file list.
 	if [ -f "${tmpdir}/fastdl_files_to_compress.txt" ]; then
-		rm -f "${tmpdir}/fastdl_files_to_compress.txt"
+		rm -f "${tmpdir:?}/fastdl_files_to_compress.txt"
 	fi
 	echo -e "analysing required files"
 	fn_script_log_info "Analysing required files"
@@ -228,7 +228,7 @@ fn_fastdl_preview(){
 	fi
 	echo -e "about to compress ${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)"
 	fn_script_log_info "${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)"
-	rm "${tmpdir}/fastdl_files_to_compress.txt"
+	rm -f "${tmpdir:?}/fastdl_files_to_compress.txt"
 	if ! fn_prompt_yn "Continue?" Y; then
 		fn_script_log "User exited"
 		core_exit.sh
@@ -276,7 +276,7 @@ fn_fastdl_gmod(){
 		# Clear addons directory in fastdl.
 		echo -en "clearing addons dir from fastdl dir..."
 		fn_sleep_time
-		rm -R "${fastdldir:?}/addons"
+		rm -fR "${fastdldir:?}/addons"
 		exitcode=$?
 		if [ ${exitcode} -ne 0 ]; then
 			fn_print_fail_eol_nl
@@ -379,7 +379,7 @@ fn_fastdl_gmod_dl_enforcer(){
 	# Clear old lua file.
 	if [ -f "${luafastdlfullpath}" ]; then
 		echo -en "removing existing download enforcer: ${luafastdlfile}..."
-		rm "${luafastdlfullpath:?}"
+		rm -f "${luafastdlfullpath:?}"
 		exitcode=$?
 		if [ ${exitcode} -ne 0 ]; then
 			fn_print_fail_eol_nl
diff --git a/lgsm/functions/command_mods_remove.sh b/lgsm/functions/command_mods_remove.sh
index 0c869b88b..cec994fea 100644
--- a/lgsm/functions/command_mods_remove.sh
+++ b/lgsm/functions/command_mods_remove.sh
@@ -68,7 +68,7 @@ while [ "${modfileline}" -le "${modsfilelistsize}" ]; do
 	# If file or directory exists, then remove it.
 
 	if [ -f "${modinstalldir}/${currentfileremove}" ]||[ -d "${modinstalldir}/${currentfileremove}" ]; then
-		rm -rf "${modinstalldir:?}/${currentfileremove}"
+		rm -rf "${modinstalldir:?}/${currentfileremove:?}"
 		((exitcode=$?))
 		if [ ${exitcode} -ne 0 ]; then
 			fn_script_log_fatal "Removing ${modinstalldir}/${currentfileremove}"
@@ -91,7 +91,7 @@ fn_sleep_time
 # Remove file list.
 echo -en "removing ${modcommand}-files.txt..."
 fn_sleep_time
-rm -rf "${modsdir}/${modcommand}-files.txt"
+rm -rf "${modsdir:?}/${modcommand}-files.txt"
 local exitcode=$?
 if [ ${exitcode} -ne 0 ]; then
 	fn_script_log_fatal "Removing ${modsdir}/${modcommand}-files.txt"
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
index 7e5d14355..6bbca3d0a 100644
--- a/lgsm/functions/command_postdetails.sh
+++ b/lgsm/functions/command_postdetails.sh
@@ -44,7 +44,7 @@ fn_bad_postdetailslog() {
 
 # Remove any existing postdetails.log file.
 if [ -f "${postdetailslog}" ]; then
-	rm -f "${postdetailslog}"
+	rm -f "${postdetailslog:?}"
 fi
 
 # Rather than a one-pass sed parser, default to using a temporary directory.
diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh
index 80ffdd19a..5d440c60c 100644
--- a/lgsm/functions/command_start.sh
+++ b/lgsm/functions/command_start.sh
@@ -159,7 +159,7 @@ fn_sleep_time
 		fn_print_ok "${servername}"
 		fn_script_log_pass "Started ${servername}"
 	fi
-	rm "${lgsmlogdir}/.${selfname}-tmux-error.tmp"
+	rm "${lgsmlogdir:?}/.${selfname}-tmux-error.tmp"
 	echo -en "\n"
 }
 
diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh
index 609425595..471be97a5 100644
--- a/lgsm/functions/command_stop.sh
+++ b/lgsm/functions/command_stop.sh
@@ -242,7 +242,7 @@ info_config.sh
 fn_stop_pre_check
 # Remove lockfile.
 if [ -f "${rootdir}/${lockselfname}" ]; then
-	rm -f "${rootdir}/${lockselfname}"
+	rm -f "${rootdir:?}/${lockselfname}"
 fi
 
 if [ -z "${exitbypass}" ]; then
diff --git a/lgsm/functions/command_update_linuxgsm.sh b/lgsm/functions/command_update_linuxgsm.sh
index c2529f43c..f337ce342 100644
--- a/lgsm/functions/command_update_linuxgsm.sh
+++ b/lgsm/functions/command_update_linuxgsm.sh
@@ -20,7 +20,7 @@ if [ -z "${legacymode}" ]; then
 	if [ "${config_file_diff}" != "" ]; then
 		fn_print_update_eol_nl
 		fn_script_log_info "checking config _default.cfg: UPDATE"
-		rm -f "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg"
+		rm -f "${configdirdefault:?}/config-lgsm/${gameservername}/_default.cfg"
 		fn_fetch_config "lgsm/config-default/config-lgsm/${gameservername}" "_default.cfg" "${configdirdefault}/config-lgsm/${gameservername}" "_default.cfg" "nochmodx" "norun" "noforce" "nomd5"
 		alert="config"
 		alert.sh
@@ -34,7 +34,7 @@ if [ -z "${legacymode}" ]; then
 	if [ "${tmp_script_diff}" != "" ]; then
 		fn_print_update_eol_nl
 		fn_script_log_info "checking linuxgsm.sh: UPDATE"
-		rm -f "${tmpdir}/linuxgsm.sh"
+		rm -f "${tmpdir:?}/linuxgsm.sh"
 		fn_fetch_file_github "" "linuxgsm.sh" "${tmpdir}" "nochmodx" "norun" "noforcedl" "nomd5"
 		# Compare selfname against linuxgsm.sh in the tmp dir. Ignoring server specific vars.
 	else
@@ -87,7 +87,7 @@ if [ -n "${functionsdir}" ]; then
 				fn_print_fail_eol_nl
 				echo -en "    removing unknown function ${functionfile}...\c"
 				fn_script_log_fatal "removing unknown function ${functionfile}"
-				if ! rm -f "${functionfile}"; then
+				if ! rm -f "${functionfile:?}"; then
 					fn_print_fail_eol_nl
 					core_exit.sh
 				else
diff --git a/lgsm/functions/compress_unreal2_maps.sh b/lgsm/functions/compress_unreal2_maps.sh
index 3940e8066..bc7a9ffb8 100644
--- a/lgsm/functions/compress_unreal2_maps.sh
+++ b/lgsm/functions/compress_unreal2_maps.sh
@@ -21,7 +21,7 @@ if ! fn_prompt_yn "Start compression?" Y; then
 	return
 fi
 mkdir -pv "${compressedmapsdir}" > /dev/null 2>&1
-rm -rfv "${serverfiles}/Maps/"*.ut2.uz2
+rm -rfv "${serverfiles:?}/Maps/"*.ut2.uz2
 cd "${systemdir}" || exit
 for map in "${serverfiles}/Maps/"*; do
 	./ucc-bin compress "${map}" --nohomedir
diff --git a/lgsm/functions/compress_ut99_maps.sh b/lgsm/functions/compress_ut99_maps.sh
index 100740acb..9f24ff9a3 100644
--- a/lgsm/functions/compress_ut99_maps.sh
+++ b/lgsm/functions/compress_ut99_maps.sh
@@ -21,7 +21,7 @@ if ! fn_prompt_yn "Start compression?" Y; then
 	return
 fi
 mkdir -pv "${compressedmapsdir}" > /dev/null 2>&1
-rm -rfv "${serverfiles}/Maps/"*.unr.uz
+rm -rfv "${serverfiles:?}/Maps/"*.unr.uz
 cd "${systemdir}" || exit
 for map in "${serverfiles}/Maps/"*; do
 	./ucc-bin compress "${map}" --nohomedir
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index 3874c8f24..9a59d5ab8 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -105,7 +105,7 @@ fn_fetch_trap(){
 	fn_print_canceled_eol_nl
 	fn_script_log_info "Downloading ${local_filename}...CANCELED"
 	fn_sleep_time
-	rm -f "${local_filedir}/${local_filename}"
+	rm -f "${local_filedir:?}/${local_filename}"
 	echo -en "downloading ${local_filename}..."
 	fn_print_removed_eol_nl
 	fn_script_log_info "Downloading ${local_filename}...REMOVED"
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index f0ce44d7c..2b985569e 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -94,7 +94,7 @@ fn_install_server_files_steamcmd(){
 				find "${serverfiles}" -type d -print0 | grep -Ez '[^/]{30}$' | xargs -0 rm -rf
 			fi
 			if [ "${counter}" -ge "9" ]; then
-				rm -rf "${steamcmddir}"
+				rm -rf "${steamcmddir:?}"
 				check_steamcmd.sh
 			fi
 
diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh
index 083b91818..42c19d08d 100644
--- a/lgsm/functions/mods_core.sh
+++ b/lgsm/functions/mods_core.sh
@@ -440,7 +440,7 @@ fn_mods_create_tmp_dir(){
 fn_mods_clear_tmp_dir(){
 	if [ -d "${modstmpdir}" ]; then
 		echo -en "clearing mod download directory ${modstmpdir}..."
-		rm -r "${modstmpdir}"
+		rm -fr "${modstmpdir:?}"
 		exitcode=$?
 		if [ ${exitcode} -ne 0 ]; then
 			fn_print_fail_eol_nl
@@ -454,7 +454,7 @@ fn_mods_clear_tmp_dir(){
 	fi
 	# Clear temp file list as well.
 	if [ -f "${modsdir}/.removedfiles.tmp" ]; then
-		rm "${modsdir}/.removedfiles.tmp"
+		rm -f "${modsdir:?}/.removedfiles.tmp"
 	fi
 }
 
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index c55237c2b..b1f3b99b2 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -156,7 +156,7 @@ fn_appmanifest_check(){
 		fn_script_log_error "Multiple appmanifest_${appid}.acf files found"
 		fn_print_dots "Removing x${appmanifestfilewc} appmanifest_${appid}.acf files"
 		for appfile in ${appmanifestfile}; do
-			rm "${appfile}"
+			rm -f "${appfile:?}"
 		done
 		appmanifestfilewc1="${appmanifestfilewc}"
 		fn_appmanifest_info
diff --git a/tests/tests_defaultcfg/tests_defaultcfg.sh b/tests/tests_defaultcfg/tests_defaultcfg.sh
index 5e139fb4d..5b9b47f2a 100644
--- a/tests/tests_defaultcfg/tests_defaultcfg.sh
+++ b/tests/tests_defaultcfg/tests_defaultcfg.sh
@@ -16,7 +16,7 @@ while IFS= read -r -d $'\0' line; do
 		echo "${diffoutput}"
 		echo ""
 	fi
-	rm defaultcfgtemp.txt
+	rm -f defaultcfgtemp.txt
 done
 
 echo -e ""
@@ -36,7 +36,7 @@ while IFS= read -r -d $'\0' line; do
 		echo "${diffoutput}"
 		echo ""
 	fi
-	rm defaultcfgtemp.txt
+	rm -f defaultcfgtemp.txt
 done
 
 echo -e ""
@@ -56,5 +56,5 @@ while IFS= read -r -d $'\0' line; do
 		echo "${diffoutput}"
 		echo ""
 	fi
-	rm defaultcfgtemp.txt
+	rm -f defaultcfgtemp.txt
 done
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index 6561c7ff4..14c111d55 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -1013,6 +1013,6 @@ requiredstatus="OFFLINE"
 fn_setstatus
 if [ ! -v TRAVIS ]; then
 	fn_print_info "Tidying up directories."
-	rm -rfv "${serverfiles}"
+	rm -rfv "${serverfiles:?}"
 fi
 core_exit.sh
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index 9478fa638..6887b2d45 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -829,7 +829,7 @@ echo -e "Command: ./jc2server update"
 requiredstatus="OFFLINE"
 fn_setstatus
 fn_print_info_nl "removed appmanifest_${appid}.acf."
-rm --verbose "${serverfiles}/steamapps/appmanifest_${appid}.acf"
+rm --verbose "${serverfiles:?}/steamapps/appmanifest_${appid}.acf"
 (
 	exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log"
 	BASH_XTRACEFD="5"
@@ -1174,6 +1174,6 @@ requiredstatus="OFFLINE"
 fn_setstatus
 if [ ! -v TRAVIS ]; then
 	fn_print_info "Tidying up directories."
-	rm -rfv "${serverfiles}"
+	rm -rfv "${serverfiles:?}"
 fi
 core_exit.sh
diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh
index 8224c5e8c..4d6378d97 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -1060,6 +1060,6 @@ requiredstatus="OFFLINE"
 fn_setstatus
 if [ ! -v TRAVIS ]; then
 	fn_print_info "Tidying up directories."
-	rm -rfv "${serverfiles}"
+	rm -rfv "${serverfiles:?}"
 fi
 core_exit.sh
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index 831b1f207..cd56c456d 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -1013,6 +1013,6 @@ requiredstatus="OFFLINE"
 fn_setstatus
 if [ ! -v TRAVIS ]; then
 	fn_print_info "Tidying up directories."
-	rm -rfv "${serverfiles}"
+	rm -rfv "${serverfiles:?}"
 fi
 core_exit.sh

From abaa614cad3d1e57d6c80fb1ac3496d032b69802 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 10 Mar 2020 22:02:31 +0000
Subject: [PATCH 31/41] feat: general code standards improvements (#2730)

* add missing space in ; then

* standardise command if

* standardised True if the length of "STRING" is non-zero.

* changed -e to -f
---
 .../config-lgsm/rustserver/_default.cfg       |   4 +-
 lgsm/functions/alert_discord.sh               |   2 +-
 lgsm/functions/alert_email.sh                 |   2 +-
 lgsm/functions/alert_ifttt.sh                 |   2 +-
 lgsm/functions/alert_pushbullet.sh            |   2 +-
 lgsm/functions/alert_pushover.sh              |   2 +-
 lgsm/functions/alert_telegram.sh              |   2 +-
 lgsm/functions/check.sh                       |   2 +-
 lgsm/functions/check_config.sh                |   2 +-
 lgsm/functions/check_deps.sh                  |   8 +-
 lgsm/functions/check_ip.sh                    |   2 +-
 lgsm/functions/check_logs.sh                  |   2 +-
 lgsm/functions/check_permissions.sh           |   2 +-
 lgsm/functions/check_system_requirements.sh   |   2 +-
 lgsm/functions/check_tmuxception.sh           |   4 +-
 lgsm/functions/command_backup.sh              |   2 +-
 lgsm/functions/command_debug.sh               |  10 +-
 lgsm/functions/command_dev_detect_glibc.sh    |   2 +-
 lgsm/functions/command_fastdl.sh              |   2 +-
 lgsm/functions/command_install.sh             |   2 +-
 lgsm/functions/command_mods_install.sh        |   2 +-
 lgsm/functions/command_mods_update.sh         |   2 +-
 lgsm/functions/command_monitor.sh             |   8 +-
 lgsm/functions/command_postdetails.sh         |   2 +-
 lgsm/functions/command_start.sh               |   6 +-
 lgsm/functions/command_stop.sh                |  10 +-
 lgsm/functions/command_update_linuxgsm.sh     |   2 +-
 lgsm/functions/command_wipe.sh                |  18 +--
 lgsm/functions/core_dl.sh                     |   2 +-
 lgsm/functions/core_exit.sh                   |   4 +-
 lgsm/functions/core_getopt.sh                 |   4 +-
 lgsm/functions/core_messages.sh               |  49 ++++----
 lgsm/functions/fix.sh                         |   2 +-
 lgsm/functions/info_distro.sh                 |  24 ++--
 lgsm/functions/info_messages.sh               | 112 +++++++++---------
 lgsm/functions/info_stats.sh                  |   2 +-
 lgsm/functions/install_logs.sh                |   6 +-
 lgsm/functions/install_server_files.sh        |   2 +-
 lgsm/functions/logs.sh                        |   8 +-
 lgsm/functions/mods_core.sh                   |   4 +-
 linuxgsm.sh                                   |   4 +-
 tests/tests_fctrserver.sh                     |   4 +-
 tests/tests_jc2server.sh                      |   4 +-
 tests/tests_mcserver.sh                       |   4 +-
 tests/tests_ts3server.sh                      |   4 +-
 45 files changed, 174 insertions(+), 173 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index 05d97a267..cf622175c 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -28,14 +28,14 @@ tickrate="30" # default 30; range : 15 to 100
 ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
 fn_parms(){
 # Specific to Rust
-if [ -n "${seed}" ]; then
+if [ "${seed}" ]; then
 	# If set, then add to start parms
 	conditionalseed="+server.seed ${seed}"
 else
 	# Keep randomness of the number if not set
 	conditionalseed=""
 fi
-if [ -n "${salt}" ]; then
+if [ "${salt}" ]; then
 	# If set, then add to start parms
 	conditionalsalt="+server.salt ${salt}"
 else
diff --git a/lgsm/functions/alert_discord.sh b/lgsm/functions/alert_discord.sh
index 6f5793de1..c088df281 100644
--- a/lgsm/functions/alert_discord.sh
+++ b/lgsm/functions/alert_discord.sh
@@ -57,7 +57,7 @@ fn_print_dots "Sending Discord alert"
 
 discordsend=$(curl -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "$json" | jq -c .)" "${discordwebhook}")
 
-if [ -n "${discordsend}" ]; then
+if [ "${discordsend}" ]; then
 	fn_print_fail_nl "Sending Discord alert: ${discordsend}"
 	fn_script_log_fatal "Sending Discord alert: ${discordsend}"
 else
diff --git a/lgsm/functions/alert_email.sh b/lgsm/functions/alert_email.sh
index 727275b35..43eddfa58 100644
--- a/lgsm/functions/alert_email.sh
+++ b/lgsm/functions/alert_email.sh
@@ -11,7 +11,7 @@ local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 fn_print_dots "Sending Email alert: ${email}"
 fn_sleep_time
 
-if [ -n "${emailfrom}" ]; then
+if [ "${emailfrom}" ]; then
 	mail -s "${alertsubject}" -r "${emailfrom}" "${email}" < "${alertlog}"
 else
 	mail -s "${alertsubject}" "${email}" < "${alertlog}"
diff --git a/lgsm/functions/alert_ifttt.sh b/lgsm/functions/alert_ifttt.sh
index b77fa7c50..26a50114f 100644
--- a/lgsm/functions/alert_ifttt.sh
+++ b/lgsm/functions/alert_ifttt.sh
@@ -20,7 +20,7 @@ EOF
 fn_print_dots "Sending IFTTT alert"
 iftttsend=$(curl -sSL -H "Content-Type: application/json" -X POST -d """${json}""" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
 
-if [ -n "${iftttsend}" ]; then
+if [ "${iftttsend}" ]; then
 	fn_print_fail_nl "Sending IFTTT alert: ${pushbulletsend}"
 	fn_script_log_fatal "Sending IFTTT alert: ${pushbulletsend}"
 else
diff --git a/lgsm/functions/alert_pushbullet.sh b/lgsm/functions/alert_pushbullet.sh
index a9b409f10..2a0947564 100644
--- a/lgsm/functions/alert_pushbullet.sh
+++ b/lgsm/functions/alert_pushbullet.sh
@@ -21,7 +21,7 @@ EOF
 fn_print_dots "Sending Pushbullet alert"
 pushbulletsend=$(curl -sSL -u """${pushbullettoken}"":" -H "Content-Type: application/json" -X POST -d """${json}""" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
 
-if [ -n "${pushbulletsend}" ]; then
+if [ "${pushbulletsend}" ]; then
 	fn_print_fail_nl "Sending Pushbullet alert: ${pushbulletsend}"
 	fn_script_log_fatal "Sending Pushbullet alert: ${pushbulletsend}"
 else
diff --git a/lgsm/functions/alert_pushover.sh b/lgsm/functions/alert_pushover.sh
index 0db5d5a0c..a57a5f4b5 100644
--- a/lgsm/functions/alert_pushover.sh
+++ b/lgsm/functions/alert_pushover.sh
@@ -25,7 +25,7 @@ fi
 
 pushoversend=$(curl -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}"  -F priority="${alertpriority}" -F title="${alertemoji} ${alertsubject} ${alertemoji}" -F message=" <b>Message</b><br>${alertbody}<br><br><b>Game</b><br>${gamename}<br><br><b>Server name</b><br>${servername}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>Server IP</b><br><a href='https://www.gametracker.com/server_info/${alertip}:${port}'>${alertip}:${port}</a><br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a>" "https://api.pushover.net/1/messages.json" | grep errors)
 
-if [ -n "${pushoversend}" ]; then
+if [ "${pushoversend}" ]; then
 	fn_print_fail_nl "Sending Pushover alert: ${pushoversend}"
 	fn_script_log_fatal "Sending Pushover alert: ${pushoversend}"
 else
diff --git a/lgsm/functions/alert_telegram.sh b/lgsm/functions/alert_telegram.sh
index 21436c340..6d7403660 100644
--- a/lgsm/functions/alert_telegram.sh
+++ b/lgsm/functions/alert_telegram.sh
@@ -20,7 +20,7 @@ EOF
 fn_print_dots "Sending Telegram alert"
 telegramsend=$(curl -sSL -H "Content-Type: application/json" -X POST -d """${json}""" "https://api.telegram.org/bot${telegramtoken}/sendMessage" "${curlcustomstring}" | grep "error_code")
 
-if [ -n "${telegramsend}" ]; then
+if [ "${telegramsend}" ]; then
 	fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"
 	fn_script_log_fatal "Sending Telegram alert: ${telegramsend}"
 else
diff --git a/lgsm/functions/check.sh b/lgsm/functions/check.sh
index 838441517..18d0fa262 100644
--- a/lgsm/functions/check.sh
+++ b/lgsm/functions/check.sh
@@ -82,7 +82,7 @@ local allowed_commands_array=( update_steamcmd.sh command_debug.sh command_start
 for allowed_command in "${allowed_commands_array[@]}"
 do
 	if [ "${allowed_command}" == "${function_selfname}" ]; then
-		if [ -n "${appid}" ]; then
+		if [ "${appid}" ]; then
 			check_steamcmd.sh
 		fi
 	fi
diff --git a/lgsm/functions/check_config.sh b/lgsm/functions/check_config.sh
index 01da2ab24..a4aa11997 100644
--- a/lgsm/functions/check_config.sh
+++ b/lgsm/functions/check_config.sh
@@ -7,7 +7,7 @@
 local modulename="CHECK"
 local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-if [ ! -e "${servercfgfullpath}" ]; then
+if [ ! -f "${servercfgfullpath}" ]; then
 	if [ "${shortname}" != "hw" ]&&[ "${shortname}" != "ut3" ]&&[ "${shortname}" != "kf2" ]; then
 		fn_print_dots ""
 		fn_print_warn_nl "Configuration file missing!"
diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index fff32f9ff..79f6f76c4 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -79,7 +79,7 @@ fn_install_mono_repo(){
 				echo -e "	https://www.mono-project.com/download/stable/#download-lin"
 				monoautoinstall="1"
 			fi
-			if [ "${monoautoinstall}" != "1" ];then
+			if [ "${monoautoinstall}" != "1" ]; then
 				if [ $? != 0 ]; then
 					fn_print_failure_nl "Unable to install Mono repository."
 					fn_script_log_fatal "Unable to installMono repository."
@@ -183,7 +183,7 @@ if [ "${javacheck}" == "1" ]; then
 			fn_sleep_time
 		fi
 		# Define required dependencies for SteamCMD.
-		if [ -n "${appid}" ]; then
+		if [ "${appid}" ]; then
 			if [ "${deptocheck}" ==  "glibc.i686" ]||[ "${deptocheck}" ==  "libstdc++64.i686" ]||[ "${deptocheck}" ==  "lib32gcc1" ]||[ "${deptocheck}" ==  "lib32stdc++6" ]; then
 				steamcmdfail=1
 			fi
@@ -225,10 +225,10 @@ fn_found_missing_deps(){
 		fn_print_warning_nl "Missing dependencies: ${red}${array_deps_missing[@]}${default}"
 		fn_script_log_warn "Missing dependencies: ${array_deps_missing[@]}"
 		fn_sleep_time
-		if [ -n "${monostatus}" ]; then
+		if [ "${monostatus}" ]; then
 			fn_install_mono_repo
 		fi
-		if [ -n "${jqstatus}" ]; then
+		if [ "${jqstatus}" ]; then
 			fn_print_warning_nl "jq is not available in the ${distroname} repository."
 			echo -e "	* https://docs.linuxgsm.com/requirements/jq"
 		fi
diff --git a/lgsm/functions/check_ip.sh b/lgsm/functions/check_ip.sh
index 727c6e125..b421639d3 100644
--- a/lgsm/functions/check_ip.sh
+++ b/lgsm/functions/check_ip.sh
@@ -76,7 +76,7 @@ if [ "${travistest}" != "1" ]; then
 			fn_script_log_fatal "IP address not set in game config."
 			fn_script_log_fatal "Specify the IP you want to bind within: ${servercfgfullpath}."
 			fn_script_log_fatal "https://linuxgsm.com/network-interfaces\n"
-			if [ "${function_selfname}" != "command_details.sh" ];then
+			if [ "${function_selfname}" != "command_details.sh" ]; then
 			    core_exit.sh
 			fi
 		else
diff --git a/lgsm/functions/check_logs.sh b/lgsm/functions/check_logs.sh
index 883337756..9c4b31495 100644
--- a/lgsm/functions/check_logs.sh
+++ b/lgsm/functions/check_logs.sh
@@ -21,6 +21,6 @@ fi
 
 # Create gamelogdir.
 # If variable exists gamelogdir exists and log/server does not.
-if [ -n "${gamelogdir}" ]&&[ -d "${gamelogdir}" ]&&[ ! -d "${logdir}/server" ]; then
+if [ "${gamelogdir}" ]&&[ -d "${gamelogdir}" ]&&[ ! -d "${logdir}/server" ]; then
 	fn_check_logs
 fi
diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh
index 1e81735b4..67e586c45 100644
--- a/lgsm/functions/check_permissions.sh
+++ b/lgsm/functions/check_permissions.sh
@@ -72,7 +72,7 @@ fn_check_permissions(){
 	fi
 
 	# Check rootdir permissions.
-	if [ -n "${rootdir}" ]; then
+	if [ "${rootdir}" ]; then
 		# Get permission numbers on directory under the form 775.
 		rootdirperm=$(stat -c %a "${rootdir}")
 		# Grab the first and second digit for user and group permission.
diff --git a/lgsm/functions/check_system_requirements.sh b/lgsm/functions/check_system_requirements.sh
index 8b0b5a92b..139b2b6af 100644
--- a/lgsm/functions/check_system_requirements.sh
+++ b/lgsm/functions/check_system_requirements.sh
@@ -42,7 +42,7 @@ elif [ "${shortname}" == "st" ]; then
 fi
 
 # If the game or engine has a minimum RAM Requirement, compare it to system's available RAM.
-if [ -n "${ramrequirementmb}" ]; then
+if [ "${ramrequirementmb}" ]; then
 	if [ "${physmemtotalmb}" -lt "${ramrequirementmb}" ]; then
 		fn_print_dots "Check RAM"
 		# Warn the user.
diff --git a/lgsm/functions/check_tmuxception.sh b/lgsm/functions/check_tmuxception.sh
index 9abf3bb1d..06cb40de1 100644
--- a/lgsm/functions/check_tmuxception.sh
+++ b/lgsm/functions/check_tmuxception.sh
@@ -8,7 +8,7 @@
 local modulename="CHECK"
 
 fn_check_is_in_tmux(){
-  if [ -n "${TMUX}" ]; then
+  if [ "${TMUX}" ]; then
 		fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a tmux session."
 		fn_script_log_fatal "Tmuxception error: Attempted to start a tmux session inside of a tmux session."
 		fn_print_information_nl "LinuxGSM creates a tmux session when starting the server."
@@ -19,7 +19,7 @@ fn_check_is_in_tmux(){
 }
 
 fn_check_is_in_screen(){
-	if [ -n "${STY}" ]; then
+	if [ "${STY}" ]; then
 		fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session."
 		fn_script_log_fatal "Tmuxception error: Attempted to start a tmux session inside of a screen session."
 		fn_print_information_nl "LinuxGSM creates a tmux session when starting the server."
diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh
index 46953e1b3..d7871a38e 100644
--- a/lgsm/functions/command_backup.sh
+++ b/lgsm/functions/command_backup.sh
@@ -159,7 +159,7 @@ fn_backup_compression(){
 # Clear old backups according to maxbackups and maxbackupdays variables.
 fn_backup_prune(){
 	# Clear if backup variables are set.
-	if [ -n "${maxbackups}" ]&&[ -n "${maxbackupdays}" ]; then
+	if [ "${maxbackups}" ]&&[ -n "${maxbackupdays}" ]; then
 		# How many backups there are.
 		info_distro.sh
 		# How many backups exceed maxbackups.
diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh
index d80f5e766..f3e2a0cc1 100644
--- a/lgsm/functions/command_debug.sh
+++ b/lgsm/functions/command_debug.sh
@@ -37,7 +37,7 @@ fn_print_header
 	echo -e "${lightblue}Free Disk:\t\t${default}${availspace}"
 } | column -s $'\t' -t
 # glibc required.
-if [ -n "${glibc}" ]; then
+if [ "${glibc}" ]; then
 	if [ "${glibc}" == "null" ]; then
 		# Glibc is not required.
 		:
@@ -57,21 +57,21 @@ else
 	echo -e "${lightblue}Server IP:\t${default}${ip}:${port}"
 fi
 # External server IP.
-if [ -n "${extip}" ]; then
+if [ "${extip}" ]; then
 	if [ "${ip}" != "${extip}" ]; then
 		echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}"
 	fi
 fi
 # Listed on Master Server.
-if [ "${displaymasterserver}" ];then
-	if [ "${displaymasterserver}" == "true" ];then
+if [ "${displaymasterserver}" ]; then
+	if [ "${displaymasterserver}" == "true" ]; then
 		echo -e "${lightblue}Master Server:\t${green}${displaymasterserver}${default}"
 	else
 		echo -e "${lightblue}Master Server:\t${red}${displaymasterserver}${default}"
 	fi
 fi
 # Server password.
-if [ -n "${serverpassword}" ]; then
+if [ "${serverpassword}" ]; then
 	echo -e "${lightblue}Server password:\t${default}${serverpassword}"
 fi
 echo -e "${lightblue}Start parameters:${default}"
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index add6a05b6..0ffc7e0a7 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -13,7 +13,7 @@ echo -e "================================="
 echo -e "glibc Requirements Checker"
 echo -e "================================="
 
-if [ -z "$(command -v objdump)" ]; then
+if [ ! "$(command -v objdump)" ]; then
 	fn_print_failure_nl "objdump is missing"
 	fn_script_log_fatal "objdump is missing"
 	core_exit.sh
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index d6600a7af..12a33e8e1 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -23,7 +23,7 @@ luafastdlfile="lgsm_cl_force_fastdl.lua"
 luafastdlfullpath="${luasvautorundir}/${luafastdlfile}"
 
 # Check if bzip2 is installed.
-if [ -z "$(command -v bzip2 2>/dev/null)" ]; then
+if [ ! "$(command -v bzip2 2>/dev/null)" ]; then
 	fn_print_fail "bzip2 is not installed"
 	fn_script_log_fatal "bzip2 is not installed"
 	core_exit.sh
diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh
index e8d6923de..caab4ee89 100644
--- a/lgsm/functions/command_install.sh
+++ b/lgsm/functions/command_install.sh
@@ -25,7 +25,7 @@ else
 	elif [ -z "${appid}" ]; then
 		installer=1
 		install_server_files.sh
-	elif [ -n "${appid}" ]; then
+	elif [ "${appid}" ]; then
 		install_steamcmd.sh
 		install_server_files.sh
 	fi
diff --git a/lgsm/functions/command_mods_install.sh b/lgsm/functions/command_mods_install.sh
index 5cedab62d..1bef36c25 100644
--- a/lgsm/functions/command_mods_install.sh
+++ b/lgsm/functions/command_mods_install.sh
@@ -82,7 +82,7 @@ fn_script_log_info "${modprettyname} selected for install"
 
 # Check if the mod is already installed and warn the user.
 if [ -f "${modsinstalledlistfullpath}" ]; then
-	if [ -n "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then
+	if [ "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then
 		fn_print_warning_nl "${modprettyname} is already installed"
 		fn_script_log_warn "${modprettyname} is already installed"
 		echo -e " * Any configs may be overwritten."
diff --git a/lgsm/functions/command_mods_update.sh b/lgsm/functions/command_mods_update.sh
index 04c482e5c..8d0146f09 100644
--- a/lgsm/functions/command_mods_update.sh
+++ b/lgsm/functions/command_mods_update.sh
@@ -72,7 +72,7 @@ done
 installedmodsline="1"
 while [ "${installedmodsline}" -le "${installedmodscount}" ]; do
 	currentmod=$(sed "${installedmodsline}q;d" "${modsinstalledlistfullpath}")
-	if [ -n "${currentmod}" ]; then
+	if [ "${currentmod}" ]; then
 		fn_mod_get_info
 		# Don not update mod if the policy is set to "NOUPDATE".
 		if [ "${modkeepfiles}" == "NOUPDATE" ]; then
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 9d9db0ad2..142b5af2e 100644
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -141,16 +141,16 @@ for queryattempt in {1..5}; do
 		fi
     if [ "${querystatus}" == "0" ]; then
 			# Add query data to log.
-			if [ -n "${gdname}" ]; then
+			if [ "${gdname}" ]; then
 				fn_script_log_info "Server name: ${gdname}"
 			fi
-			if [ -n "${gdplayers}" ]; then
+			if [ "${gdplayers}" ]; then
 				fn_script_log_info "Players: ${gdplayers}/${gdmaxplayers}"
 			fi
-			if [ -n "${gdmap}" ]; then
+			if [ "${gdmap}" ]; then
 				fn_script_log_info "Map: ${gdmap}"
 			fi
-			if [ -n "${gdgamemode}" ]; then
+			if [ "${gdgamemode}" ]; then
 				fn_script_log_info "Game Mode: ${gdgamemode}"
 			fi
 		fi
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
index 6bbca3d0a..12554565f 100644
--- a/lgsm/functions/command_postdetails.sh
+++ b/lgsm/functions/command_postdetails.sh
@@ -48,7 +48,7 @@ if [ -f "${postdetailslog}" ]; then
 fi
 
 # Rather than a one-pass sed parser, default to using a temporary directory.
-if [ -n "${exitbypass}" ]; then
+if [ "${exitbypass}" ]; then
 	postdetailslog="${alertlog}"
 else
 	# Run checks and gathers details to display.
diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh
index 5d440c60c..bf5c65146 100644
--- a/lgsm/functions/command_start.sh
+++ b/lgsm/functions/command_start.sh
@@ -10,7 +10,7 @@ local commandaction="Starting"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
 fn_start_teamspeak3(){
-	if [ ! -e "${servercfgfullpath}" ]; then
+	if [ ! -f "${servercfgfullpath}" ]; then
 		fn_print_warn_nl "${servercfgfullpath} is missing"
 		fn_script_log_warn "${servercfgfullpath} is missing"
 		echo  "	* Creating blank ${servercfg}"
@@ -78,7 +78,7 @@ fn_start_tmux(){
 		if [ "${consolelogging}" == "on" ]||[ -z "${consolelogging}" ]; then
 			tmux pipe-pane -o -t "${selfname}" "exec cat >> '${consolelog}'"
 		fi
-	elif [ -n "${tmuxversion}" ]; then
+	elif [ "${tmuxversion}" ]; then
 		# Get the digit version of tmux.
 		tmuxversion=$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')
 		# tmux pipe-pane not supported in tmux versions < 1.6.
@@ -176,7 +176,7 @@ if [ "${status}" != "0" ]; then
 		core_exit.sh
 	fi
 fi
-if [ -z "${fixbypass}" ];then
+if [ -z "${fixbypass}" ]; then
 	fix.sh
 fi
 info_config.sh
diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh
index 471be97a5..40e3f92e3 100644
--- a/lgsm/functions/command_stop.sh
+++ b/lgsm/functions/command_stop.sh
@@ -134,22 +134,22 @@ fn_stop_graceful_sdtd(){
 			fn_stop_graceful_sdtd_telnet
 			completed=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Completed.")
 			refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF")
-			if [ -n "${refused}" ]; then
+			if [ "${refused}" ]; then
 				fn_print_error "Graceful: telnet: ${telnetip}:${telnetport} : "
 				fn_print_fail_eol_nl
 				fn_script_log_error "Graceful: telnet:  ${telnetip}:${telnetport} : FAIL"
-			elif [ -n "${completed}" ]; then
+			elif [ "${completed}" ]; then
 				break
 			fi
 		done
 
 		# If telnet shutdown was successful will use telnet again to check
 		# the connection has closed, confirming that the tmux session can now be killed.
-		if [ -n "${completed}" ]; then
+		if [ "${completed}" ]; then
 			for seconds in {1..30}; do
 				fn_stop_graceful_sdtd_telnet
 				refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF")
-				if [ -n "${refused}" ]; then
+				if [ "${refused}" ]; then
 					fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport} : "
 					fn_print_ok_eol_nl
 					fn_script_log_pass "Graceful: telnet: ${telnetip}:${telnetport} : ${seconds} seconds"
@@ -160,7 +160,7 @@ fn_stop_graceful_sdtd(){
 			done
 		# If telnet shutdown fails tmux shutdown will be used, this risks loss of world save.
 		else
-			if [ -n "${refused}" ]; then
+			if [ "${refused}" ]; then
 				fn_print_error "Graceful: telnet: "
 				fn_print_fail_eol_nl
 				fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport} : FAIL"
diff --git a/lgsm/functions/command_update_linuxgsm.sh b/lgsm/functions/command_update_linuxgsm.sh
index f337ce342..ce8864c80 100644
--- a/lgsm/functions/command_update_linuxgsm.sh
+++ b/lgsm/functions/command_update_linuxgsm.sh
@@ -73,7 +73,7 @@ if [ -z "${legacymode}" ]; then
 fi
 
 # Check and update functions.
-if [ -n "${functionsdir}" ]; then
+if [ "${functionsdir}" ]; then
 	if [ -d "${functionsdir}" ]; then
 		cd "${functionsdir}" || exit
 		for functionfile in *
diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh
index 55d0d5d01..dde48e23a 100644
--- a/lgsm/functions/command_wipe.sh
+++ b/lgsm/functions/command_wipe.sh
@@ -45,7 +45,7 @@ fn_wipe_server_remove_files(){
 	# Rust Wipe.
 	if [ "${shortname}" == "rust" ]; then
 		# Wipe pocedural map.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then
 			currentaction="Removing map file(s): ${serveridentitydir}/proceduralmap.*.map"
 			echo -en "Removing procedural map proceduralmap.*.map file(s)..."
 			fn_sleep_time
@@ -58,7 +58,7 @@ fn_wipe_server_remove_files(){
 			fn_script_log_info "No procedural map file to remove."
 		fi
 		# Wipe procedural map save.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.sav")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.sav")" ]; then
 			currentaction="Removing procedural map save(s): ${serveridentitydir}/proceduralmap.*.sav"
 			echo -en "Removing map saves proceduralmap.*.sav file(s)..."
 			fn_sleep_time
@@ -71,7 +71,7 @@ fn_wipe_server_remove_files(){
 			fn_script_log_info "No procedural map save to remove."
 		fi
 		# Wipe Barren map.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then
 			currentaction="Removing map file(s): ${serveridentitydir}/barren*.map"
 			echo -en "Removing barren map barren*.map file(s)..."
 			fn_sleep_time
@@ -84,7 +84,7 @@ fn_wipe_server_remove_files(){
 			fn_script_log_info "No barren map file to remove."
 		fi
 		# Wipe barren map save.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]; then
 			currentaction="Removing barren map save(s): ${serveridentitydir}/barren*.sav"
 			echo -en "Removing barren map saves barren*.sav file(s)..."
 			fn_sleep_time
@@ -119,7 +119,7 @@ fn_wipe_server_remove_files(){
 		# We do not print additional information if there is nothing to remove since this might be obsolete.
 		fi
 		# Wipe sv.files.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then
 			currentaction="Removing server misc files: ${serveridentitydir}/sv.files.*.db"
 			echo -en "Removing server misc srv.files*.db file(s)..."
 			fn_sleep_time
@@ -130,7 +130,7 @@ fn_wipe_server_remove_files(){
 		# No further information if not found because it should I could not get this file showing up.
 		fi
 		# Wipe player death files.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]; then
 			currentaction="Removing player death files: ${serveridentitydir}/player.deaths.*.db"
 			echo -en "Removing player deaths player.deaths.*.db file(s)..."
 			fn_sleep_time
@@ -144,7 +144,7 @@ fn_wipe_server_remove_files(){
 		fi
 		# Wipe blueprints only if wipeall command was used.
 		if [ "${wipeall}" == "1" ]; then
-			if [ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
+			if [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
 				currentaction="Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db"
 				echo -en "Removing blueprints player.blueprints.*.db file(s)..."
 				fn_sleep_time
@@ -156,7 +156,7 @@ fn_wipe_server_remove_files(){
 				fn_print_information_nl "No blueprint file to remove"
 				fn_script_log_info "No blueprint file to remove."
 			fi
-		elif [ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
+		elif [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
 				fn_print_information_nl "Keeping blueprints"
 				fn_script_log_info "Keeping blueprints."
 		else
@@ -165,7 +165,7 @@ fn_wipe_server_remove_files(){
 				fn_sleep_time
 		fi
 		# Wipe some logs that might be there.
-		if [ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then
+		if [ "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then
 			currentaction="Removing log files: ${serveridentitydir}/Log.*.txt"
 			echo -en "Removing Log files..."
 			fn_sleep_time
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index 9a59d5ab8..c3281505d 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -256,7 +256,7 @@ fn_update_function(){
 }
 
 # Check that curl is installed
-if [ -z "$(command -v curl 2>/dev/null)" ]; then
+if [ ! "$(command -v curl 2>/dev/null)" ]; then
 	echo -e "[ FAIL ] Curl is not installed"
 	exit 1
 fi
diff --git a/lgsm/functions/core_exit.sh b/lgsm/functions/core_exit.sh
index 8c10d77e0..ee7e9c6c8 100644
--- a/lgsm/functions/core_exit.sh
+++ b/lgsm/functions/core_exit.sh
@@ -20,9 +20,9 @@ if [ "$(whoami)" == "root" ]; then
 	find "${logdir}"/ -group root -prune -exec rm -rf {} + > /dev/null 2>&1
 fi
 
-if [ -n "${exitbypass}" ]; then
+if [ "${exitbypass}" ]; then
 	unset exitbypass
-elif [ -n "${exitcode}" ]&&[ "${exitcode}" != "0" ]; then
+elif [ "${exitcode}" ]&&[ "${exitcode}" != "0" ]; then
 	if [ "${exitcode}" == "1" ]; then
 		fn_script_log_fatal "${function_selfname} exiting with code: ${exitcode}"
 	elif [ "${exitcode}" == "2" ]; then
diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh
index 840ac9a1f..7216dc765 100644
--- a/lgsm/functions/core_getopt.sh
+++ b/lgsm/functions/core_getopt.sh
@@ -64,13 +64,13 @@ currentopt+=( "${cmd_update_linuxgsm[@]}" )
 if [ "${engine}" != "quake" ]&&[ "${engine}" != "idtech2" ]&&[ "${engine}" != "idtech3" ]&&[ "${engine}" != "iw2.0" ]&&[ "${engine}" != "iw3.0" ]&&[ "${shortname}" != "bf1942" ]&&[ "${shortname}" != "samp" ]; then
 	currentopt+=( "${cmd_update[@]}" )
 	# force update for SteamCMD only or MTA.
-	if [ -n "${appid}" ]||[ "${shortname}" == "mta" ]; then
+	if [ "${appid}" ]||[ "${shortname}" == "mta" ]; then
 		currentopt+=( "${cmd_force_update[@]}" )
 	fi
 fi
 
 # Validate command.
-if [ -n "${appid}" ]; then
+if [ "${appid}" ]; then
 	currentopt+=( "${cmd_validate[@]}" )
 fi
 
diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh
index 6dadb63c7..3ec0fd0ee 100644
--- a/lgsm/functions/core_messages.sh
+++ b/lgsm/functions/core_messages.sh
@@ -46,8 +46,8 @@ fn_sleep_time(){
 ## Feb 28 14:56:58 ut99-server: Monitor:
 fn_script_log(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${modulename}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: ${1}" >> "${lgsmlog}"
+		if [ "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${1}" >> "${lgsmlog}"
 		fi
@@ -57,8 +57,9 @@ fn_script_log(){
 ## Feb 28 14:56:58 ut99-server: Monitor: PASS:
 fn_script_log_pass(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${modulename}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: PASS: ${1}" >> "${lgsmlog}"
+
+		if [ "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: PASS: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: PASS: ${1}" >> "${lgsmlog}"
 		fi
@@ -69,8 +70,8 @@ fn_script_log_pass(){
 ## Feb 28 14:56:58 ut99-server: Monitor: FATAL:
 fn_script_log_fatal(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${modulename}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: FATAL: ${1}" >> "${lgsmlog}"
+		if [ "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: FATAL: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: FATAL: ${1}" >> "${lgsmlog}"
 		fi
@@ -81,8 +82,8 @@ fn_script_log_fatal(){
 ## Feb 28 14:56:58 ut99-server: Monitor: ERROR:
 fn_script_log_error(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${modulename}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: ERROR: ${1}" >> "${lgsmlog}"
+		if [ "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: ERROR: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ERROR: ${1}" >> "${lgsmlog}"
 		fi
@@ -93,8 +94,8 @@ fn_script_log_error(){
 ## Feb 28 14:56:58 ut99-server: Monitor: WARN:
 fn_script_log_warn(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${modulename}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: WARN: ${1}" >> "${lgsmlog}"
+		if [ "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: WARN: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: WARN: ${1}" >> "${lgsmlog}"
 		fi
@@ -105,8 +106,8 @@ fn_script_log_warn(){
 ## Feb 28 14:56:58 ut99-server: Monitor: INFO:
 fn_script_log_info(){
 	if [ -d "${lgsmlogdir}" ]; then
-		if [ -n "${modulename}" ]; then
-			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${modulename}: INFO: ${1}" >> "${lgsmlog}"
+		if [ "${modulename}" ]; then
+			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: INFO: ${1}" >> "${lgsmlog}"
 		else
 			echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: INFO: ${1}" >> "${lgsmlog}"
 		fi
@@ -118,7 +119,7 @@ fn_script_log_info(){
 
 # [ .... ]
 fn_print_dots(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[ .... ] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[ .... ] $*"
@@ -127,7 +128,7 @@ fn_print_dots(){
 }
 
 fn_print_dots_nl(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -e "${creeol}[ .... ] ${commandaction} ${selfname}: $*"
 	else
 		echo -e "${creeol}[ .... ] $*"
@@ -138,7 +139,7 @@ fn_print_dots_nl(){
 
 # [  OK  ]
 fn_print_ok(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${green}  OK  ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${green}  OK  ${default}] $*"
@@ -147,7 +148,7 @@ fn_print_ok(){
 }
 
 fn_print_ok_nl(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${green}  OK  ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${green}  OK  ${default}] $*"
@@ -158,7 +159,7 @@ fn_print_ok_nl(){
 
 # [ FAIL ]
 fn_print_fail(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${red} FAIL ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${red} FAIL ${default}] $*"
@@ -167,7 +168,7 @@ fn_print_fail(){
 }
 
 fn_print_fail_nl(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${red} FAIL ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${red} FAIL ${default}] $*"
@@ -178,7 +179,7 @@ fn_print_fail_nl(){
 
 # [ ERROR ]
 fn_print_error(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${red}ERROR ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${red}ERROR ${default}] $*"
@@ -187,7 +188,7 @@ fn_print_error(){
 }
 
 fn_print_error_nl(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${red}ERROR ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${red}ERROR ${default}] $*"
@@ -198,7 +199,7 @@ fn_print_error_nl(){
 
 # [ WARN ]
 fn_print_warn(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${lightyellow} WARN ${default}] $*"
@@ -207,7 +208,7 @@ fn_print_warn(){
 }
 
 fn_print_warn_nl(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${lightyellow} WARN ${default}] $*"
@@ -218,7 +219,7 @@ fn_print_warn_nl(){
 
 # [ INFO ]
 fn_print_info(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${cyan} INFO ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${cyan} INFO ${default}] $*"
@@ -227,7 +228,7 @@ fn_print_info(){
 }
 
 fn_print_info_nl(){
-	if [ -n "${commandaction}" ]; then
+	if [ "${commandaction}" ]; then
 		echo -en "${creeol}[${cyan} INFO ${default}] ${commandaction} ${selfname}: $*"
 	else
 		echo -en "${creeol}[${cyan} INFO ${default}] $*"
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 7585b4348..6d8a4515b 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -33,7 +33,7 @@ fn_fix_msg_end(){
 
 # Fixes that are run on start.
 if [ "${function_selfname}" != "command_install.sh" ]&&[ -z "${fixbypass}" ]; then
-	if [ -n "${appid}" ]; then
+	if [ "${appid}" ]; then
 		fix_steamcmd.sh
 	fi
 
diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index bb2501969..d6cfc95f9 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -35,11 +35,11 @@ do
 	elif [ "$(command -v lsb_release 2>/dev/null)" ]&&[ "${distro_info}" == "lsb_release" ]; then
 		if [ -z "${distroname}" ];then
 			distroname=$(lsb_release -sd)
-		elif [ -z "${distroversion}" ];then
+		elif [ -z "${distroversion}" ]; then
 			distroversion=$(lsb_release -sr)
-		elif [ -z "${distroid}" ];then
+		elif [ -z "${distroid}" ]; then
 			distroid=$(lsb_release -si)
-		elif [ -z "${distrocodename}" ];then
+		elif [ -z "${distrocodename}" ]; then
 			distrocodename=$(lsb_release -sc)
 		fi
 	elif [ "$(command -v hostnamectl 2>/dev/null)" ]&&[ "${distro_info}" == "hostnamectl" ]; then
@@ -47,19 +47,19 @@ do
 			distroname=$(hostnamectl | grep "Operating System" | sed 's/Operating System: //g')
 		fi
 	elif [ -f "/etc/debian_version" ]&&[ "${distro_info}" == "debian_version" ]; then
-		if [ -z "${distroname}" ];then
+		if [ -z "${distroname}" ]; then
 			distroname="Debian $(cat /etc/debian_version)"
-		elif [ -z "${distroversion}" ];then
+		elif [ -z "${distroversion}" ]; then
 			distroversion=$(cat /etc/debian_version)
-		elif [ -z "${distroid}" ];then
+		elif [ -z "${distroid}" ]; then
 			distroid="debian"
 		fi
 	elif [ -f "/etc/redhat-release" ]&&[ "${distro_info}" == "redhat-release" ]; then
-		if [ -z "${distroname}" ];then
+		if [ -z "${distroname}" ]; then
 			distroname=$(cat /etc/redhat-release)
-		elif [ -z "${distroversion}" ];then
+		elif [ -z "${distroversion}" ]; then
 			distroversion=$(rpm -qa \*-release | grep -Ei "oracle|redhat|centos|fedora" | cut -d"-" -f3)
-		elif [ -z "${distroid}" ];then
+		elif [ -z "${distroid}" ]; then
 			distroid=$(awk '{print $1}' /etc/redhat-release)
 		fi
 	fi
@@ -71,7 +71,7 @@ glibcversion=$(ldd --version | sed -n '1s/.* //p')
 
 ## tmux version
 # e.g: tmux 1.6
-if [ -z "$(command -V tmux 2>/dev/null)" ]; then
+if [ ! "$(command -V tmux 2>/dev/null)" ]; then
 	tmuxv="${red}NOT INSTALLED!${default}"
 else
 	if [ "$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')" -lt "16" ]; then
@@ -156,7 +156,7 @@ else
 	physmemused=$(free ${humanreadable} | awk '/Mem:/ {print $3}')
 
 	oldfree=$(free ${humanreadable} | awk '/cache:/')
-	if [ -n "${oldfree}" ]; then
+	if [ "${oldfree}" ]; then
 		physmemavailable="n/a"
 		physmemcached="n/a"
 	else
@@ -277,7 +277,7 @@ if [ "$(command -v jq 2>/dev/null)" ]; then
 fi
 
 # Sets the SteamCMD glibc requirement if the game server requirement is less or not required.
-if [ -n "${appid}" ]; then
+if [ "${appid}" ]; then
 	if [ "${glibc}" = "null" ]||[ -z "${glibc}" ]||[ "$(printf '%s\n'${glibc}'\n' "2.14" | sort -V | head -n 1)" != "2.14" ]; then
 		glibc="2.14"
 	fi
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index 9d22e44d3..b5471e01a 100644
--- a/lgsm/functions/info_messages.sh
+++ b/lgsm/functions/info_messages.sh
@@ -174,19 +174,19 @@ fn_info_message_gameserver(){
 	fn_messages_separator
 	{
 		# Server name
-		if [ -n "${gdname}" ]; then
+		if [ "${gdname}" ]; then
 			echo -e "${lightblue}Server name:\t${default}${gdname}"
-		elif [ -n "${servername}" ]; then
+		elif [ "${servername}" ]; then
 			echo -e "${lightblue}Server name:\t${default}${servername}"
 		fi
 
 		# Server description
-		if [ -n "${serverdescription}" ]; then
+		if [ "${serverdescription}" ]; then
 			echo -e "${lightblue}Server Description:\t${default}${serverdescription}"
 		fi
 
 		# Branch
-		if [ -n "${branch}" ]; then
+		if [ "${branch}" ]; then
 			echo -e "${lightblue}Branch:\t${default}${branch}"
 		fi
 
@@ -198,68 +198,68 @@ fn_info_message_gameserver(){
 		fi
 
 		# Internet ip
-		if [ -n "${extip}" ]; then
+		if [ "${extip}" ]; then
 			if [ "${ip}" != "${extip}" ]; then
 				echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}"
 			fi
 		fi
 
 		# Display ip
-		if [ -n "${displayip}" ]; then
+		if [ "${displayip}" ]; then
 			echo -e "${lightblue}Display IP:\t${default}${displayip}:${port}"
 		fi
 
 		# Server password
-		if [ -n "${serverpassword}" ]; then
+		if [ "${serverpassword}" ]; then
 			echo -e "${lightblue}Server password:\t${default}${serverpassword}"
 		fi
 
 		# Query enabled (Starbound)
-		if [ -n "${queryenabled}" ]; then
+		if [ "${queryenabled}" ]; then
 			echo -e "${lightblue}Query enabled:\t${default}${queryenabled}"
 		fi
 
 		# RCON enabled (Starbound)
-		if [ -n "${rconenabled}" ]; then
+		if [ "${rconenabled}" ]; then
 			echo -e "${lightblue}RCON enabled:\t${default}${rconpassword}"
 		fi
 
 		# RCON password
-		if [ -n "${rconpassword}" ]; then
+		if [ "${rconpassword}" ]; then
 			echo -e "${lightblue}RCON password:\t${default}${rconpassword}"
 		fi
 
 		# RCON web (Rust)
-		if [ -n "${rconweb}" ]; then
+		if [ "${rconweb}" ]; then
 			echo -e "${lightblue}RCON web:\t${default}${rconweb}"
 		fi
 
 		# Admin password
-		if [ -n "${adminpassword}" ]; then
+		if [ "${adminpassword}" ]; then
 			echo -e "${lightblue}Admin password:\t${default}${adminpassword}"
 		fi
 
 		# Stats password (Quake Live)
-		if [ -n "${statspassword}" ]; then
+		if [ "${statspassword}" ]; then
 			echo -e "${lightblue}Stats password:\t${default}${statspassword}"
 		fi
 
 		# Players
 		if [ "${querystatus}" != "0" ]; then
-			if [ -n "${maxplayers}" ]; then
+			if [ "${maxplayers}" ]; then
 				echo -e "${lightblue}Maxplayers:\t${default}${maxplayers}"
 			fi
 		else
-			if [ -n "${gdplayers}" ]&&[ -n "${gdmaxplayers}" ]; then
+			if [ "${gdplayers}" ]&&[ -n "${gdmaxplayers}" ]; then
 				echo -e "${lightblue}Players:\t${default}${gdplayers}/${gdmaxplayers}"
 
-			elif [ -n "${gdplayers}" ]&&[ -n "${maxplayers}" ]; then
+			elif [ "${gdplayers}" ]&&[ -n "${maxplayers}" ]; then
 				echo -e "${lightblue}Players:\t${default}${gdplayers}/${maxplayers}"
 
 			elif [ -z "${gdplayers}" ]&&[ -n "${gdmaxplayers}" ]; then
 				echo -e "${lightblue}Players:\t${default}0/${gdmaxplayers}"
 
-			elif [ -n "${gdplayers}" ]&&[ -z "${gdmaxplayers}" ]; then
+			elif [ "${gdplayers}" ]&&[ -z "${gdmaxplayers}" ]; then
 				echo -e "${lightblue}Players:\t${default}${gdplayers}|∞"
 
 			elif [ -z "${gdplayers}" ]&&[ -z "${gdmaxplayers}" ]&&[ -n "${maxplayers}" ]; then
@@ -268,110 +268,110 @@ fn_info_message_gameserver(){
 		fi
 
 		# Bots
-		if [ -n "${gdbots}" ]; then
+		if [ "${gdbots}" ]; then
 			echo -e "${lightblue}Bots:\t${default}${gdbots}"
 		fi
 
 		# Current map
-		if [ -n "${gdmap}" ]; then
+		if [ "${gdmap}" ]; then
 			echo -e "${lightblue}Current map:\t${default}${gdmap}"
 		fi
 
 		# Default map
-		if [ -n "${defaultmap}" ]; then
+		if [ "${defaultmap}" ]; then
 			echo -e "${lightblue}Default map:\t${default}${defaultmap}"
 		fi
 
-		if [ -n "${defaultscenario}" ]; then
+		if [ "${defaultscenario}" ]; then
 			# Current scenario
-			if [ -n "${gdgamemode}" ]; then
+			if [ "${gdgamemode}" ]; then
 				echo -e "${lightblue}Current scenario:\t${default}${gdgamemode}"
 			fi
 		else
 			# Current game mode
-			if [ -n "${gdgamemode}" ]; then
+			if [ "${gdgamemode}" ]; then
 				echo -e "${lightblue}Current game mode:\t${default}${gdgamemode}"
 			fi
 		fi
 
 		# Default scenario
-		if [ -n "${defaultscenario}" ]; then
+		if [ "${defaultscenario}" ]; then
 			echo -e "${lightblue}Default scenario:\t${default}${defaultscenario}"
 		fi
 
 		# Game type
-		if [ -n "${gametype}" ]; then
+		if [ "${gametype}" ]; then
 			echo -e "${lightblue}Game type:\t${default}${gametype}"
 		fi
 
 		# Game mode
-		if [ -n "${gamemode}" ]; then
+		if [ "${gamemode}" ]; then
 			echo -e "${lightblue}Game mode:\t${default}${gamemode}"
 		fi
 
 		# Game world
-		if [ -n "${gameworld}" ]; then
+		if [ "${gameworld}" ]; then
 			echo -e "${lightblue}Game world:\t${default}${gameworld}"
 		fi
 
 		# Tick rate
-		if [ -n "${tickrate}" ]; then
+		if [ "${tickrate}" ]; then
 			echo -e "${lightblue}Tick rate:\t${default}${tickrate}"
 		fi
 
 		# Sharding (Don't Starve Together)
-		if [ -n "${sharding}" ]; then
+		if [ "${sharding}" ]; then
 			echo -e "${lightblue}Sharding:\t${default}${sharding}"
 		fi
 
 		# Master (Don't Starve Together)
-		if [ -n "${master}" ]; then
+		if [ "${master}" ]; then
 			echo -e "${lightblue}Master:\t${default}${master}"
 		fi
 
 		# Shard (Don't Starve Together)
-		if [ -n "${shard}" ]; then
+		if [ "${shard}" ]; then
 			echo -e "${lightblue}Shard:\t${default}${shard}"
 		fi
 
 		# Cluster (Don't Starve Together)
-		if [ -n "${cluster}" ]; then
+		if [ "${cluster}" ]; then
 			echo -e "${lightblue}Cluster:\t${default}${cluster}"
 		fi
 
 		# Cave (Don't Starve Together)
-		if [ -n "${cave}" ]; then
+		if [ "${cave}" ]; then
 			echo -e "${lightblue}Cave:\t${default}${cave}"
 		fi
 
 		# Creativemode (Hurtworld)
-		if [ -n "${creativemode}" ]; then
+		if [ "${creativemode}" ]; then
 			echo -e "${lightblue}Creativemode:\t${default}${creativemode}"
 		fi
 
 		# TeamSpeak dbplugin
-		if [ -n "${dbplugin}" ]; then
+		if [ "${dbplugin}" ]; then
 			echo -e "${lightblue}dbplugin:\t${default}${dbplugin}"
 		fi
 
 		# ASE (Multi Theft Auto)
-		if [ -n "${ase}" ]; then
+		if [ "${ase}" ]; then
 			echo -e "${lightblue}ASE:\t${default}${ase}"
 		fi
 
 		# Save interval (Rust)
-		if [ -n "${saveinterval}" ]; then
+		if [ "${saveinterval}" ]; then
 			echo -e "${lightblue}ASE:\t${default}${saveinterval} s"
 		fi
 
 		# Random map rotation mode (Squad and Post Scriptum)
-		if [ -n "${randommap}" ]; then
+		if [ "${randommap}" ]; then
 			echo -e "${lightblue}Map rotation:\t${default}${randommap}"
 		fi
 
 		# Listed on Master server
-		if [ -n "${displaymasterserver}" ];then
-			if [ "${displaymasterserver}" == "true" ];then
+		if [ "${displaymasterserver}" ]; then
+			if [ "${displaymasterserver}" == "true" ]; then
 				echo -e "${lightblue}Master server:\t${green}${displaymasterserver}${default}"
 			else
 				echo -e "${lightblue}Master server:\t${red}${displaymasterserver}${default}"
@@ -416,12 +416,12 @@ fn_info_message_script(){
 		echo -e "${lightblue}Script name:\t${default}${selfname}"
 
 		# LinuxGSM version
-		if [ -n "${version}" ]; then
+		if [ "${version}" ]; then
 			echo -e "${lightblue}LinuxGSM version:\t${default}${version}"
 		fi
 
 		# glibc required
-		if [ -n "${glibc}" ]; then
+		if [ "${glibc}" ]; then
 			if [ "${glibc}" == "null" ]; then
 				# Glibc is not required.
 				:
@@ -451,7 +451,7 @@ fn_info_message_script(){
 		# Telegram alert
 		echo -e "${lightblue}Telegram alert:\t${default}${telegramalert}"
 		# Update on start
-		if [ -n "${updateonstart}" ]; then
+		if [ "${updateonstart}" ]; then
 			echo -e "${lightblue}Update on start:\t${default}${updateonstart}"
 		fi
 
@@ -462,7 +462,7 @@ fn_info_message_script(){
 		echo -e "${lightblue}Location:\t${default}${rootdir}"
 
 		# Config file location
-		if [ -n "${servercfgfullpath}" ]; then
+		if [ "${servercfgfullpath}" ]; then
 			if [ -f "${servercfgfullpath}" ]; then
 				echo -e "${lightblue}Config file:\t${default}${servercfgfullpath}"
 			elif [ -d "${servercfgfullpath}" ]; then
@@ -473,7 +473,7 @@ fn_info_message_script(){
 		fi
 
 		# Network config file location (ARMA 3)
-		if [ -n "${networkcfgfullpath}" ]; then
+		if [ "${networkcfgfullpath}" ]; then
 			echo -e "${lightblue}Network config file:\t${default}${networkcfgfullpath}"
 		fi
 	} | column -s $'\t' -t
@@ -580,7 +580,7 @@ fn_info_logs(){
 	echo -e "${selfname} Logs"
 	echo -e "================================="
 
-	if [ -n "${lgsmlog}" ]; then
+	if [ "${lgsmlog}" ]; then
 		echo -e "\nScript log\n==================="
 		if [ ! "$(ls -A "${lgsmlogdir}")" ]; then
 			echo -e "${lgsmlogdir} (NO LOG FILES)"
@@ -593,7 +593,7 @@ fn_info_logs(){
 		echo -e ""
 	fi
 
-	if [ -n "${consolelog}" ]; then
+	if [ "${consolelog}" ]; then
 		echo -e "\nConsole log\n===================="
 		if [ ! "$(ls -A "${consolelogdir}")" ]; then
 			echo -e "${consolelogdir} (NO LOG FILES)"
@@ -606,7 +606,7 @@ fn_info_logs(){
 		echo -e ""
 	fi
 
-	if [ -n "${gamelogdir}" ]; then
+	if [ "${gamelogdir}" ]; then
 		echo -e "\nServer log\n==================="
 		if [ ! "$(ls -A "${gamelogdir}")" ]; then
 			echo -e "${gamelogdir} (NO LOG FILES)"
@@ -1497,35 +1497,35 @@ fn_messages_separator(){
 # Removes the passwords form all but details
 fn_info_message_password_strip(){
 	if [ "${function_selfname}" != "command_details.sh" ]; then
-		if [ -n "${serverpassword}" ]; then
+		if [ "${serverpassword}" ]; then
 			serverpassword="********"
 		fi
 
-		if [ -n "${rconpassword}" ]; then
+		if [ "${rconpassword}" ]; then
 			rconpassword="********"
 		fi
 
-		if [ -n "${adminpassword}" ]; then
+		if [ "${adminpassword}" ]; then
 			adminpassword="********"
 		fi
 
-		if [ -n "${statspassword}" ]; then
+		if [ "${statspassword}" ]; then
 			statspassword="********"
 		fi
 
-		if [ -n "${webadminpass}" ]; then
+		if [ "${webadminpass}" ]; then
 			webadminpass="********"
 		fi
 
-		if [ -n "${telnetpass}" ]; then
+		if [ "${telnetpass}" ]; then
 			telnetpass="********"
 		fi
 
-		if [ -n "${wsapikey}" ]; then
+		if [ "${wsapikey}" ]; then
 			wsapikey="********"
 		fi
 
-		if [ -n "${gslt}" ]; then
+		if [ "${gslt}" ]; then
 			gslt="********"
 		fi
 
diff --git a/lgsm/functions/info_stats.sh b/lgsm/functions/info_stats.sh
index c99bdcf27..078639fe6 100644
--- a/lgsm/functions/info_stats.sh
+++ b/lgsm/functions/info_stats.sh
@@ -7,7 +7,7 @@
 
 info_distro.sh
 # generate uuid
-if [ ! -f "${datadir}/uuid.txt" ];then
+if [ ! -f "${datadir}/uuid.txt" ]; then
 	mkdir -p "${datadir}"
 	touch "${datadir}/uuid.txt"
 	if [ "$(command -v uuidgen 2>/dev/null)" ]; then
diff --git a/lgsm/functions/install_logs.sh b/lgsm/functions/install_logs.sh
index e33b2a6af..bb4fdd2b8 100644
--- a/lgsm/functions/install_logs.sh
+++ b/lgsm/functions/install_logs.sh
@@ -41,7 +41,7 @@ else
 	fn_print_ok_eol_nl
 fi
 # Create Console logs.
-if [ -n "${consolelogdir}" ]; then
+if [ "${consolelogdir}" ]; then
 	echo -en "installing console log dir: ${consolelogdir}..."
 	mkdir -p "${consolelogdir}"
 	if [ $? -ne 0 ]; then
@@ -60,7 +60,7 @@ if [ -n "${consolelogdir}" ]; then
 fi
 
 # Create Game logs.
-if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
+if [ "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
 	echo -en "installing game log dir: ${gamelogdir}..."
 	if ! mkdir -p "${gamelogdir}"; then
 		fn_print_fail_eol_nl
@@ -74,7 +74,7 @@ fi
 # unless gamelogdir is within logdir.
 # e.g serverfiles/log is not within log/: symlink created
 # log/server is in log/: symlink not created
-if [ -n "${gamelogdir}" ]; then
+if [ "${gamelogdir}" ]; then
 	if [ "${gamelogdir:0:${#logdir}}" != "${logdir}" ]; then
 		echo -en "creating symlink to game log dir: ${logdir}/server -> ${gamelogdir}..."
 		if ! ln -nfs "${gamelogdir}" "${logdir}/server"; then
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 2b985569e..859d69617 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -146,7 +146,7 @@ echo -e "${lightyellow}Installing ${gamename} Server${default}"
 echo -e "================================="
 fn_sleep_time
 
-if [ -n "${appid}" ]; then
+if [ "${appid}" ]; then
 	fn_install_server_files_steamcmd
 fi
 
diff --git a/lgsm/functions/logs.sh b/lgsm/functions/logs.sh
index 199295d46..dc55456ef 100644
--- a/lgsm/functions/logs.sh
+++ b/lgsm/functions/logs.sh
@@ -9,8 +9,8 @@ local modulename="LOGS"
 local commandaction="Log-Manager"
 
 # Check if logfile variable and file exist, create logfile if it doesn't exist.
-if [ -n "${consolelog}" ]; then
-	if [ ! -e "${consolelog}" ]; then
+if [ "${consolelog}" ]; then
+	if [ ! -f "${consolelog}" ]; then
 		touch "${consolelog}"
 	fi
 fi
@@ -18,7 +18,7 @@ fi
 # For games not displaying a console, and having logs into their game directory.
 check_status.sh
 if [ "${status}" != "0" ]&&[ "${function_selfname}" == "command_start.sh" ]&&[ -n "${gamelogfile}" ]; then
-	if [ -n "$(find "${systemdir}" -name "gamelog*.log")" ]; then
+	if [ "$(find "${systemdir}" -name "gamelog*.log")" ]; then
 		fn_print_info "Moving game logs to ${gamelogdir}"
 		fn_script_log_info "Moving game logs to ${gamelogdir}"
 		echo -en "\n"
@@ -56,7 +56,7 @@ if [ "$(find "${lgsmlogdir}"/ -type f -mtime +"${logdays}" | wc -l)" -ne "0" ];
 		find "${gamelogdir}"/ -mtime +"${logdays}" -type f -exec rm -f {} \;
 	fi
 	# Console logfiles.
-	if [ -n "${consolelog}" ]; then
+	if [ "${consolelog}" ]; then
 		find "${consolelogdir}"/ -type f -mtime +"${logdays}" | tee >> "${lgsmlog}"
 		consolecount=$(find "${consolelogdir}"/ -type f -mtime +"${logdays}" | wc -l)
 		find "${consolelogdir}"/ -mtime +"${logdays}" -type f -exec rm -f {} \;
diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh
index 42c19d08d..68f791dbd 100644
--- a/lgsm/functions/mods_core.sh
+++ b/lgsm/functions/mods_core.sh
@@ -104,7 +104,7 @@ fn_mod_copy_destination(){
 
 # Add the mod to the installed-mods.txt.
 fn_mod_add_list(){
-	if [ ! -n "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then
+	if [ -z "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then
 		echo -e "${modcommand}" >> "${modsinstalledlistfullpath}"
 		fn_script_log_info "${modcommand} added to ${modsinstalledlist}"
 	fi
@@ -267,7 +267,7 @@ fn_mods_installed_list(){
 		# Increment line check.
 		((installedmodsline++))
 	done
-	if [ -n "${installedmodscount}" ]; then
+	if [ "${installedmodscount}" ]; then
 		fn_script_log_info "${installedmodscount} addons/mods are currently installed"
 	fi
 }
diff --git a/linuxgsm.sh b/linuxgsm.sh
index e7afc14b4..6668b32be 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -151,7 +151,7 @@ fn_install_menu_bash() {
 	done < "${options}"
 	menu_options+=( "Cancel" )
 	select option in "${menu_options[@]}"; do
-		if [ -n "${option}" ]&&[ "${option}" != "Cancel" ]; then
+		if [ "${option}" ]&&[ "${option}" != "Cancel" ]; then
 			eval "$resultvar=\"${option/%\ */}\""
 		fi
 		break
@@ -297,7 +297,7 @@ if [ "${shortname}" == "core" ]; then
 			echo -e "result: ${result}"
 			echo -e "gameservername: ${gameservername}"
 		fi
-	elif [ -n "${userinput}" ]; then
+	elif [ "${userinput}" ]; then
 		fn_server_info
 		if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then
 			fn_install_file
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index 14c111d55..89fdf939a 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -160,7 +160,7 @@ fn_install_menu_bash() {
 	done < "${options}"
 	menu_options+=( "Cancel" )
 	select option in "${menu_options[@]}"; do
-		if [ -n "${option}" ]&&[ "${option}" != "Cancel" ]; then
+		if [ "${option}" ]&&[ "${option}" != "Cancel" ]; then
 			eval "$resultvar=\"${option/%\ */}\""
 		fi
 		break
@@ -306,7 +306,7 @@ if [ "${shortname}" == "core" ]; then
 			echo -e "result: ${result}"
 			echo -e "gameservername: ${gameservername}"
 		fi
-	elif [ -n "${userinput}" ]; then
+	elif [ "${userinput}" ]; then
 		fn_server_info
 		if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then
 			fn_install_file
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index 6887b2d45..9facae8cb 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -160,7 +160,7 @@ fn_install_menu_bash() {
 	done < "${options}"
 	menu_options+=( "Cancel" )
 	select option in "${menu_options[@]}"; do
-		if [ -n "${option}" ]&&[ "${option}" != "Cancel" ]; then
+		if [ "${option}" ]&&[ "${option}" != "Cancel" ]; then
 			eval "$resultvar=\"${option/%\ */}\""
 		fi
 		break
@@ -306,7 +306,7 @@ if [ "${shortname}" == "core" ]; then
 			echo -e "result: ${result}"
 			echo -e "gameservername: ${gameservername}"
 		fi
-	elif [ -n "${userinput}" ]; then
+	elif [ "${userinput}" ]; then
 		fn_server_info
 		if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then
 			fn_install_file
diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh
index 4d6378d97..cb8083d40 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -160,7 +160,7 @@ fn_install_menu_bash() {
 	done < "${options}"
 	menu_options+=( "Cancel" )
 	select option in "${menu_options[@]}"; do
-		if [ -n "${option}" ]&&[ "${option}" != "Cancel" ]; then
+		if [ "${option}" ]&&[ "${option}" != "Cancel" ]; then
 			eval "$resultvar=\"${option/%\ */}\""
 		fi
 		break
@@ -306,7 +306,7 @@ if [ "${shortname}" == "core" ]; then
 			echo -e "result: ${result}"
 			echo -e "gameservername: ${gameservername}"
 		fi
-	elif [ -n "${userinput}" ]; then
+	elif [ "${userinput}" ]; then
 		fn_server_info
 		if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then
 			fn_install_file
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index cd56c456d..192bb3524 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -160,7 +160,7 @@ fn_install_menu_bash() {
 	done < "${options}"
 	menu_options+=( "Cancel" )
 	select option in "${menu_options[@]}"; do
-		if [ -n "${option}" ]&&[ "${option}" != "Cancel" ]; then
+		if [ "${option}" ]&&[ "${option}" != "Cancel" ]; then
 			eval "$resultvar=\"${option/%\ */}\""
 		fi
 		break
@@ -306,7 +306,7 @@ if [ "${shortname}" == "core" ]; then
 			echo -e "result: ${result}"
 			echo -e "gameservername: ${gameservername}"
 		fi
-	elif [ -n "${userinput}" ]; then
+	elif [ "${userinput}" ]; then
 		fn_server_info
 		if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then
 			fn_install_file

From 8a29dcc7aa6ecf8477406d0d0c61f0d15aa18a90 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 11 Mar 2020 09:13:29 +0000
Subject: [PATCH 33/41] fix(fix): fix sof2 LD_LIBRARY_PATH and standardise
 usage (#2731)

---
 lgsm/functions/fix_ins.sh   | 2 +-
 lgsm/functions/fix_mcb.sh   | 2 +-
 lgsm/functions/fix_onset.sh | 2 +-
 lgsm/functions/fix_rw.sh    | 2 +-
 lgsm/functions/fix_sdtd.sh  | 2 +-
 lgsm/functions/fix_sof2.sh  | 2 +-
 lgsm/functions/fix_unt.sh   | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lgsm/functions/fix_ins.sh b/lgsm/functions/fix_ins.sh
index e26d501da..8bd3f310b 100644
--- a/lgsm/functions/fix_ins.sh
+++ b/lgsm/functions/fix_ins.sh
@@ -9,7 +9,7 @@ local commandaction="Fix"
 
 # Fixes: ./srcds_linux: error while loading shared libraries: libtier0.so: cannot open shared object file: No such file or directory.
 
-export LD_LIBRARY_PATH=${serverfiles}:${serverfiles}/bin:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/bin"
 
 # Fixes: issue #529 - gamemode not passed to debug or start.
 
diff --git a/lgsm/functions/fix_mcb.sh b/lgsm/functions/fix_mcb.sh
index e5a919dbc..5352fdee8 100644
--- a/lgsm/functions/fix_mcb.sh
+++ b/lgsm/functions/fix_mcb.sh
@@ -8,4 +8,4 @@ local modulename="FIX"
 local commandaction="Fix"
 
 # official docs state that the server should be started with: LD_LIBRARY_PATH=. ./bedrock_server
-export LD_LIBRARY_PATH="${serverfiles}:$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}"
diff --git a/lgsm/functions/fix_onset.sh b/lgsm/functions/fix_onset.sh
index 24ab62132..299e448fa 100644
--- a/lgsm/functions/fix_onset.sh
+++ b/lgsm/functions/fix_onset.sh
@@ -8,7 +8,7 @@ local modulename="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
-export LD_LIBRARY_PATH="${serverfiles}:$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}"
 
 # Fixes: Failed loading "mariadb": libmariadbclient.so.18: cannot open shared object file: No such file or directory
 # Issue only occures on CentOS as libmariadbclient.so.18 is called libmariadb.so.3 on CentOS.
diff --git a/lgsm/functions/fix_rw.sh b/lgsm/functions/fix_rw.sh
index 7cf5a6b12..73cafcf2e 100644
--- a/lgsm/functions/fix_rw.sh
+++ b/lgsm/functions/fix_rw.sh
@@ -7,4 +7,4 @@
 local modulename="FIX"
 local commandaction="Fix"
 
-export LD_LIBRARY_PATH="${serverfiles}/linux64:${serverfiles}:$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/linux64"
diff --git a/lgsm/functions/fix_sdtd.sh b/lgsm/functions/fix_sdtd.sh
index b04b1fca7..005fb8f6c 100644
--- a/lgsm/functions/fix_sdtd.sh
+++ b/lgsm/functions/fix_sdtd.sh
@@ -7,4 +7,4 @@
 local modulename="FIX"
 local commandaction="Fix"
 
-export LD_LIBRARY_PATH="${serverfiles}"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}"
diff --git a/lgsm/functions/fix_sof2.sh b/lgsm/functions/fix_sof2.sh
index 3ad769767..11af88522 100644
--- a/lgsm/functions/fix_sof2.sh
+++ b/lgsm/functions/fix_sof2.sh
@@ -8,4 +8,4 @@ local modulename="FIX"
 local commandaction="Fix"
 
 # Fixes: error while loading shared libraries: libcxa.so.1
-export LD_LIBRARY_PATH=":$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}"
diff --git a/lgsm/functions/fix_unt.sh b/lgsm/functions/fix_unt.sh
index f040b77c6..2c27e2f31 100644
--- a/lgsm/functions/fix_unt.sh
+++ b/lgsm/functions/fix_unt.sh
@@ -8,4 +8,4 @@ local modulename="FIX"
 local commandaction="Fix"
 
 # steamclient.so: cannot open shared object file: No such file or directory
-export LD_LIBRARY_PATH="${serverfiles}/linux64:${serverfiles}:$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/linux64"

From 260428fe7d107f5db677f615f282d331936cfb87 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 11 Mar 2020 09:14:47 +0000
Subject: [PATCH 34/41] feat: deprecate servercfgfullpath variable (#2724)

* migrating servercfgfullpath

* migrated servercfgpath

* removed servercfgfullpath from _default.cfg as always the same

* removed servercfgfullpathdefault as not needed

* re-ordered sdtd
---
 lgsm/config-default/config-lgsm/ahl2server/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/ahlserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/arkserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/arma3server/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/bb2server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/bbserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/bdserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/bf1942server/_default.cfg   | 1 -
 lgsm/config-default/config-lgsm/bmdmserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/boserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/bsserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/bt1944server/_default.cfg   | 1 -
 lgsm/config-default/config-lgsm/btserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/ccserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/cod2server/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/cod4server/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/codserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/coduoserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/codwawserver/_default.cfg   | 1 -
 lgsm/config-default/config-lgsm/csczserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/csgoserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/csserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/cssserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/dabserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/dmcserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/dodserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/dodsserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/doiserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/dstserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/dysserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/ecoserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/emserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/etlserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/fctrserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/fofserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/gesserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/gmodserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/hldmserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/hldmsserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/insserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/inssserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/iosserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/jc2server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/jc3server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/kf2server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/kfserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/l4d2server/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/l4dserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/mcserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/mhserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/mohaaserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/mtaserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/mumbleserver/_default.cfg   | 1 -
 lgsm/config-default/config-lgsm/ndserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/nmrihserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/ns2cserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/ns2server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/nsserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/opforserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/pcserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/pstbsserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/pzserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/q2server/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/q3server/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/qlserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/qwserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/ricochetserver/_default.cfg | 1 -
 lgsm/config-default/config-lgsm/roserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/rtcwserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/rustserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/rwserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/sampserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/sbotsserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/sbserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/sdtdserver/_default.cfg     | 5 ++---
 lgsm/config-default/config-lgsm/sfcserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/sof2server/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/solserver/_default.cfg      | 2 --
 lgsm/config-default/config-lgsm/squadserver/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/ss3server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/stserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/svenserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/terrariaserver/_default.cfg | 1 -
 lgsm/config-default/config-lgsm/tf2server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/tfcserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/ts3server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/tsserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/tuserver/_default.cfg       | 3 ++-
 lgsm/config-default/config-lgsm/twserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/untserver/_default.cfg      | 2 --
 lgsm/config-default/config-lgsm/ut2k4server/_default.cfg    | 1 -
 lgsm/config-default/config-lgsm/ut3server/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/ut99server/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/utserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/vsserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/wetserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/wfserver/_default.cfg       | 1 -
 lgsm/config-default/config-lgsm/wurmserver/_default.cfg     | 1 -
 lgsm/config-default/config-lgsm/zmrserver/_default.cfg      | 1 -
 lgsm/config-default/config-lgsm/zpsserver/_default.cfg      | 1 -
 lgsm/functions/check_config.sh                              | 2 ++
 lgsm/functions/install_config.sh                            | 2 +-
 104 files changed, 7 insertions(+), 107 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index e9bac4a9c..4536de702 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -157,7 +157,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index 35f4d6d01..89de05540 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index 61c2d456d..e0111e3c5 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -154,7 +154,6 @@ executable="./ShooterGameServer"
 servercfg="GameUserSettings.ini"
 servercfgdefault="GameUserSettings.ini"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index 0a4f1fbf4..f557eead3 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -170,7 +170,6 @@ networkcfg="${selfname}.network.cfg"
 servercfgdefault="server.cfg"
 networkcfgdefault="network.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 networkcfgfullpath="${servercfgdir}/${networkcfg}"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index 976423a1e..39a901c06 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index 64dc10d11..9327a352e 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index daaba9f6b..d880d0509 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -152,7 +152,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index 69974740e..f74433d8c 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -137,7 +137,6 @@ executable="./start.sh"
 servercfg="serversettings.con"
 servercfgdefault="serversettings.con"
 servercfgdir="${systemdir}/mods/bf1942/settings"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index 45dce5225..296c5ccf2 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index 3a3f3e5d5..8d8a1ec87 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -151,7 +151,6 @@ executable="./BODS.x86"
 servercfg="${selfname}.txt"
 servercfgdefault="config.txt"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index 9ff4abdb8..31c735009 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -162,7 +162,6 @@ executable="./srcds_run.sh"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
index 22e0f1c3d..4f59bb38c 100644
--- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
@@ -150,7 +150,6 @@ executable="./BattalionServer"
 servercfg="${selfname}.ini"
 servercfgdefault="DefaultGame.ini"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index 97b4db1c2..5e2115d74 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -145,7 +145,6 @@ executable="./DedicatedServer.exe"
 servercfg="serversettings.xml"
 servercfgdefault="serversettings.xml"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index 2f1b11818..757361eb5 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index 18e0b8678..8184bd7eb 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -140,7 +140,6 @@ executable="./cod2_lnxded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/main"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index b2efc329c..8d4ae0c60 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -140,7 +140,6 @@ executable="./cod4x18_dedrun"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/main"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index e50e6184b..90319da8e 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -140,7 +140,6 @@ executable="./cod_lnxded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/main"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index 7397f8504..154c3eaa7 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -140,7 +140,6 @@ executable="./coduo_lnxded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/uo"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index a77fd2dd3..805c7d77b 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -140,7 +140,6 @@ executable="./codwaw_lnxded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/main"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index 4c56cb6e1..d7b855f95 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index f4e242e99..a0d31cb74 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -178,7 +178,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index bc27a535c..cbc140c8a 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index 5388b6123..e5fc863c7 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index c9347d8d4..76d946aee 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./dabds.sh"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index 7a11d77a8..23d322095 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index 50ea789b1..f20658753 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index b967ef72d..351eb76ec 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index eebbdf699..ae0932f78 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -154,7 +154,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index a7025a966..6b96bc7ed 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -155,7 +155,6 @@ executabledir="${serverfiles}/bin"
 executable="./dontstarve_dedicated_server_nullrenderer"
 servercfg="server.ini"
 servercfgdir="${clustercfgdir}/${shard}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 servercfgdefault="server.ini"
 clustercfg="cluster.ini"
 clustercfgdir="${persistentstorageroot}/${confdir}/${cluster}"
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index 501fe475e..2ff9654f8 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run.sh"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index fe53ee5f8..5478d3733 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -145,7 +145,6 @@ executable="mono ./EcoServer.exe"
 servercfg="Network.eco"
 servercfgdefault="Network.eco"
 servercfgdir="${systemdir}/Configs"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index 75445659c..62d8b6eba 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index 7813caa17..4d98e2f87 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -134,7 +134,6 @@ executable="./etlded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/etmain"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index c071e01f3..42e8fb77a 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -145,7 +145,6 @@ executable="./factorio"
 servercfg="${selfname}.json"
 servercfgdefault="server-settings.json"
 servercfgdir="${serverfiles}/data"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index 5c1e44af6..c7db4f875 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/gesserver/_default.cfg b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
index a88fe3cff..aa318ba44 100644
--- a/lgsm/config-default/config-lgsm/gesserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index b12b1e551..25624c1f2 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -170,7 +170,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index 4ff3998a1..5d5f7dd5f 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index de4ab821d..7eb45b573 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -152,7 +152,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index c73331705..82bd1e113 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index d595be7ff..7b0d2d5bb 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -159,7 +159,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index cd66169d6..7c715c54d 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -160,7 +160,6 @@ executable="./InsurgencyServer-Linux-Shipping"
 servercfg="Game.ini"
 servercfgdefault="Game.ini"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index 7e63ed0f2..ee32b013c 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index deccd031d..5f0731f1e 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -145,7 +145,6 @@ executable="./Jcmp-Server"
 servercfg="config.lua"
 servercfgdefault="config.lua"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index 44d668dda..301453803 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -145,7 +145,6 @@ executable="./Server"
 servercfg="config.json"
 servercfgdefault="config.json"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index 6e31023be..5f69d4841 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -150,7 +150,6 @@ executable="./KFGameSteamServer.bin.x86_64"
 servercfgdir="${systemdir}/KFGame/Config/${selfname}"
 servercfg="LinuxServer-KFGame.ini"
 servercfgdefault="LinuxServer-KFGame.ini"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index ec86c5369..4511427fb 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./ucc-bin"
 servercfg="${selfname}.ini"
 servercfgdefault="Default.ini"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index ca29ca183..e02987024 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -152,7 +152,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index 2181c81f1..dbfd0fd47 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -152,7 +152,6 @@ executable="./srcds_run"
 servercfg="server.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index 3af034613..976d6e79b 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -143,7 +143,6 @@ executable="java -Xmx${javaram}M -jar ${serverfiles}/minecraft_server.jar"
 servercfg="server.properties"
 servercfgdefault="server.properties"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index dc80cc318..9131331fe 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./MordhauServer-Linux-Shipping"
 servercfg="Game.ini"
 servercfgdefault="Game.ini"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index ad386e280..4bad82116 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -139,7 +139,6 @@ executable="./mohaa_lnxded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${serverfiles}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index 03f6f4321..65c7f39fc 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -138,7 +138,6 @@ executabledir="${systemdir}"
 executable="./mta-server64"
 servercfg="mtaserver.conf"
 servercfgdir="${systemdir}/mods/deathmatch"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
index fffde2f51..56a146b1f 100644
--- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
@@ -138,7 +138,6 @@ executable="./murmur.x86"
 servercfg="${selfname}.ini"
 servercfgdefault="murmur.ini"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index d37f44f1f..ee31aeffc 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index a2aac7eb3..88b7f7f3b 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index 9dbb28592..45064800b 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -158,7 +158,6 @@ systemdir="${serverfiles}"
 executabledir="${serverfiles}/ia32"
 executable="./ns2combatserver_linux32"
 servercfgdir="${serverfiles}/${selfname}"
-servercfgfullpath="${servercfgdir}"
 modstoragedir="${servercfgdir}/Workshop"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index 9b042130f..7996fba74 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -162,7 +162,6 @@ systemdir="${serverfiles}"
 executabledir="${serverfiles}/x64"
 executable="./server_linux"
 servercfgdir="${serverfiles}/${selfname}"
-servercfgfullpath="${servercfgdir}"
 modstoragedir="${servercfgdir}/Workshop"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index ad85b88c6..e59b8f771 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index b5c9a30e5..048d09c8d 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index d9c65db4d..f1dc3d2f0 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -145,7 +145,6 @@ executable="./DedicatedServerCmd"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
index c8ea594e7..7b113335e 100644
--- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
@@ -154,7 +154,6 @@ executable="./PostScriptumServer.sh"
 servercfg="Server.cfg"
 servercfgdefault="Server.cfg"
 servercfgdir="${systemdir}/ServerConfig"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index a38ba25cd..17b88e13b 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index 9373f9a0f..c7abf6e2b 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -148,7 +148,6 @@ executable="./start-server.sh"
 servercfg="${selfname}.ini"
 servercfgdefault="server.ini"
 servercfgdir="${HOME}/Zomboid/Server"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index 7d28a1cbe..7d65a83ac 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -139,7 +139,6 @@ executable="./quake2"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index b9b9f6b81..a224a59d0 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -139,7 +139,6 @@ executable="./q3ded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index 2e3597261..c110cac07 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -147,7 +147,6 @@ executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./run_server_x64.sh" || e
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${serverfiles}/baseq3"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index ee1d88eef..31a8afb63 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -138,7 +138,6 @@ executable="./mvdsv"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index 0117dbd61..2b5a3522c 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index ac2e2d845..15f56c2e5 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -154,7 +154,6 @@ executable="./ucc-bin"
 servercfg="${selfname}.ini"
 servercfgdefault="default.ini"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index c54f98369..f16d5c89e 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -139,7 +139,6 @@ executable="./iowolfded.x86_64"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index cf622175c..7171bcc2d 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -178,7 +178,6 @@ serveridentitydir="${systemdir}/server/${selfname}"
 servercfg="server.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${serveridentitydir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index 89aea7cb2..17f06b7be 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -148,7 +148,6 @@ executable="java -Xmx${javaram}m -jar ${serverfiles}/server.jar"
 servercfg="server.properties"
 servercfgdefault="server.properties"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index fe7ac9111..4b2d7bf9b 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -138,7 +138,6 @@ executable="./samp03svr"
 servercfg="server.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/samp03"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index 34c05d609..507cb8db6 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./blank1Server-Linux-Shipping"
 servercfg="Game.ini"
 servercfgdefault="Game.ini"
 servercfgdir="${systemdir}/blank1/Saved/Config/LinuxServer"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index 4cb4a00aa..25e368531 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -151,7 +151,6 @@ executable="./starbound_server"
 servercfg="starbound_server.config"
 servercfgdefault="starbound_server.config"
 servercfgdir="${serverfiles}/storage"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index d6cc4a109..a82a1884b 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -145,11 +145,10 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./7DaysToDieServer.x86_64" || echo -e "./7DaysToDieServer.x86")
+servercfg="${selfname}.xml"
 servercfgdefault="serverconfig.xml"
-servercfgfullpathdefault="${serverfiles}/${servercfgdefault}"
 servercfgdir="${serverfiles}"
-servercfg="${selfname}.xml"
-servercfgfullpath="${servercfgdir}/${servercfg}"
+servercfgdirdefault="${serverfiles}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index 04743cab2..87ceb5ac8 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index 36ef2b89b..4ed79bd37 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -139,7 +139,6 @@ executable="./sof2ded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index 1cf1f3491..908165bb9 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -141,8 +141,6 @@ servercfgdir="${systemdir}"
 servercfg="soldat.ini"
 servercfgdefault="soldat.ini"
 
-servercfgfullpath="${servercfgdir}/${servercfg}"
-
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
 
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index 633025284..1ef3b6194 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -150,7 +150,6 @@ executable="./SquadGameServer.sh"
 servercfg="${selfname}.cfg"
 servercfgdefault="Server.cfg"
 servercfgdir="${systemdir}/ServerConfig"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
index 349cd6673..11d32ea60 100644
--- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
@@ -149,7 +149,6 @@ executable="./runSam3_DedicatedServer.sh"
 servercfg="${selfname}.ini"
 servercfgdefault="server.ini"
 servercfgdir="${serverfiles}/Content/SeriousSam3/Config"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index 4f1656375..35d399bcd 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -155,7 +155,6 @@ executable="./rocketstation_DedicatedServer.x86_64"
 servercfg="default.ini"
 servercfgdefault="default.ini"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index bf35e6a20..efff4bf99 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -152,7 +152,6 @@ executable="./svends_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index 54956236c..b7525e35e 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -152,7 +152,6 @@ executable="./TerrariaServer"
 servercfg="${selfname}.txt"
 servercfgdefault="serverconfig.txt"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index 741f30a75..4eecf94c5 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index 3a0d22ea5..f7d01e2e2 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index 7a721ec01..f1a682f66 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -141,7 +141,6 @@ executable="./ts3server"
 servercfg="${selfname}.ini"
 servercfgdefault="ts3server.ini"
 servercfgdir="${serverfiles}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index c454e1f15..b3a53d960 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index acc711d2c..904e483fa 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -155,7 +155,8 @@ executable="./TowerServer-Linux-Shipping"
 servercfg="${selfname}.ini"
 servercfgdefault="TowerServer.ini"
 servercfgdir="${systemdir}/Binaries/Linux"
-servercfgfullpath="${servercfgdir}/${servercfg}"
+servercfg="${servicename}.ini"
+servercfgdefault="TowerServer.ini"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index e10305a94..e0720b72d 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -152,7 +152,6 @@ executable="./teeworlds_srv"
 servercfg="${selfname}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir
 servercfgdefault="server.cfg"
 servercfgdir="${serverfiles}/tw"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index 1b91ba923..78b80f8e1 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -155,8 +155,6 @@ executable="./Unturned_Headless.x86_64"
 servercfgdir="${systemdir}/Servers/${selfname}"
 servercfg="Config.json"
 servercfgdefault="Config.json"
-servercfgdir="${systemdir}/Servers/${selfname}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index 74f026ea5..0402273b5 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -138,7 +138,6 @@ executable="./ucc-bin"
 servercfg="${selfname}.ini"
 servercfgdefault="UT2004.ini"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index 16998ea6c..eb1b49c52 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -149,7 +149,6 @@ executable="./ut3"
 servercfg="UTGame.ini"
 servercfgdefault="UTGame.ini"
 servercfgdir="${systemdir}/UTGame/Config/${selfname}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index dad542598..bc87f8532 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -138,7 +138,6 @@ executable="./ucc-bin"
 servercfg="${selfname}.ini"
 servercfgdefault="Default.ini"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index b12457c44..4784f0bcd 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -141,7 +141,6 @@ executabledir="${systemdir}/Engine/Binaries/Linux"
 executable="./UE4Server-Linux-Shipping"
 servercfg="Game.ini"
 servercfgdir="${systemdir}/UnrealTournament/Saved/Config/LinuxServer"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index 6da0d9fb1..5c64eb494 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./hlds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 6cce7a75a..4105e9290 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -134,7 +134,6 @@ executable="./etded"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/etmain"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index b40fcda6d..c9b88997e 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -148,7 +148,6 @@ executable="./wf_server.x86_64"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/basewf"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index a532aa93a..9240ba2c9 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -144,7 +144,6 @@ executable="xvfb-run ./WurmServerLauncher"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index 7e1c621b0..acc06176a 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -153,7 +153,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index 8d55e4d44..6068d091c 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -158,7 +158,6 @@ executable="./srcds_run"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/functions/check_config.sh b/lgsm/functions/check_config.sh
index a4aa11997..c66892a2d 100644
--- a/lgsm/functions/check_config.sh
+++ b/lgsm/functions/check_config.sh
@@ -7,6 +7,8 @@
 local modulename="CHECK"
 local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
 if [ ! -f "${servercfgfullpath}" ]; then
 	if [ "${shortname}" != "hw" ]&&[ "${shortname}" != "ut3" ]&&[ "${shortname}" != "kf2" ]; then
 		fn_print_dots ""
diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh
index 77e9433ea..e54f6215d 100644
--- a/lgsm/functions/install_config.sh
+++ b/lgsm/functions/install_config.sh
@@ -56,7 +56,7 @@ fn_default_config_remote(){
 # Copys local default config to server config location.
 fn_default_config_local(){
 	echo -e "copying ${servercfgdefault} config file."
-	cp -nv "${servercfgfullpathdefault}" "${servercfgfullpath}"
+	cp -nv "${servercfgdirdefault}/${servercfgdefault}" "${servercfgfullpath}"
 	fn_sleep_time
 }
 

From c27a0b3d3476df31fb5d82e6fbb56ee3206d3999 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 11 Mar 2020 09:15:41 +0000
Subject: [PATCH 35/41] feat: removed libdir as no longer required (#2732)

---
 lgsm/functions/fix_mta.sh | 4 +---
 linuxgsm.sh               | 1 -
 tests/tests_fctrserver.sh | 1 -
 tests/tests_jc2server.sh  | 1 -
 tests/tests_mcserver.sh   | 1 -
 tests/tests_ts3server.sh  | 1 -
 6 files changed, 1 insertion(+), 8 deletions(-)

diff --git a/lgsm/functions/fix_mta.sh b/lgsm/functions/fix_mta.sh
index af4d5002f..236a2336b 100644
--- a/lgsm/functions/fix_mta.sh
+++ b/lgsm/functions/fix_mta.sh
@@ -4,7 +4,7 @@
 # Contributor: ChaosMTA
 # Website: https://linuxgsm.com
 # Description: Installs the libmysqlclient for database functions on the server
-local modulename="FIX"
+local commandname="FIX"
 local commandaction="Fix"
 local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
 
@@ -15,5 +15,3 @@ if [ ! -f "${lgsmdir}/lib/libmysqlclient.so.16" ]; then
 	fn_fetch_file "https://nightly.mtasa.com/files/modules/64/libmysqlclient.so.16" "${lgsmdir}/lib" "libmysqlclient.so.16" "chmodx" "norun" "noforce" "6c188e0f8fb5d7a29f4bc413b9fed6c2"
 	fn_fix_msg_end
 fi
-
-export LD_LIBRARY_PATH=:"${libdir}"
diff --git a/linuxgsm.sh b/linuxgsm.sh
index 6668b32be..ccfccbce0 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -32,7 +32,6 @@ lgsmlogdir="${logdir}/lgsm"
 steamcmddir="${rootdir}/steamcmd"
 serverfiles="${rootdir}/serverfiles"
 functionsdir="${lgsmdir}/functions"
-libdir="${lgsmdir}/lib"
 tmpdir="${lgsmdir}/tmp"
 datadir="${lgsmdir}/data"
 serverlist="${datadir}/serverlist.csv"
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index 89fdf939a..67008f883 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -32,7 +32,6 @@ lgsmlogdir="${logdir}/lgsm"
 steamcmddir="${rootdir}/steamcmd"
 serverfiles="${rootdir}/serverfiles"
 functionsdir="${lgsmdir}/functions"
-libdir="${lgsmdir}/lib"
 tmpdir="${lgsmdir}/tmp"
 datadir="${lgsmdir}/data"
 serverlist="${datadir}/serverlist.csv"
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index 9facae8cb..949509814 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -32,7 +32,6 @@ lgsmlogdir="${logdir}/lgsm"
 steamcmddir="${rootdir}/steamcmd"
 serverfiles="${rootdir}/serverfiles"
 functionsdir="${lgsmdir}/functions"
-libdir="${lgsmdir}/lib"
 tmpdir="${lgsmdir}/tmp"
 datadir="${lgsmdir}/data"
 serverlist="${datadir}/serverlist.csv"
diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh
index cb8083d40..9e8bf266c 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -32,7 +32,6 @@ lgsmlogdir="${logdir}/lgsm"
 steamcmddir="${rootdir}/steamcmd"
 serverfiles="${rootdir}/serverfiles"
 functionsdir="${lgsmdir}/functions"
-libdir="${lgsmdir}/lib"
 tmpdir="${lgsmdir}/tmp"
 datadir="${lgsmdir}/data"
 serverlist="${datadir}/serverlist.csv"
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index 192bb3524..a9527b68b 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -32,7 +32,6 @@ lgsmlogdir="${logdir}/lgsm"
 steamcmddir="${rootdir}/steamcmd"
 serverfiles="${rootdir}/serverfiles"
 functionsdir="${lgsmdir}/functions"
-libdir="${lgsmdir}/lib"
 tmpdir="${lgsmdir}/tmp"
 datadir="${lgsmdir}/data"
 serverlist="${datadir}/serverlist.csv"

From 47cc808e4aba847f45f1a64efb9db0e9426a51b6 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 11 Mar 2020 09:27:10 +0000
Subject: [PATCH 36/41] remove unnecessary if

---
 lgsm/functions/fix.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 6d8a4515b..3b5a58965 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -86,7 +86,7 @@ fi
 
 # Fixes that are run on install only.
 if [ "${function_selfname}" == "command_install.sh" ]; then
-		if [ "${shortname}" == "kf" ]||[ "${shortname}" == "kf2" ]||[ "${shortname}" == "ro" ]||[ "${shortname}" == "ut2k4" ]||[ "${shortname}" == "ut" ]||[ "${shortname}" == "ut3" ]||[ "${shortname}" == "onset" ]; then
+		if [ "${shortname}" == "kf" ]||[ "${shortname}" == "kf2" ]||[ "${shortname}" == "ro" ]||[ "${shortname}" == "ut2k4" ]||[ "${shortname}" == "ut" ]||[ "${shortname}" == "ut3" ]; then
 			echo -e ""
 			echo -e "Applying Post-Install Fixes"
 			echo -e "================================="

From 171aace200fbef81ee3d84eb55113ff59b03e603 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 11 Mar 2020 16:42:13 +0000
Subject: [PATCH 37/41] Create pr_labels.yml

---
 .github/pr_labels.yml | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 .github/pr_labels.yml

diff --git a/.github/pr_labels.yml b/.github/pr_labels.yml
new file mode 100644
index 000000000..db1f63f6b
--- /dev/null
+++ b/.github/pr_labels.yml
@@ -0,0 +1,5 @@
+version: '1'
+invalidStatus: "pending"
+labelRule:
+  startsWith:
+    - "type:"

From 306faa9e0109cabed2d8c8ec670046efc1a320f4 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 13 Mar 2020 06:56:18 +0000
Subject: [PATCH 38/41] feat: standardise config vars and fix session only
 monitor (#2736)

* fix(monitor): bypass port query if session only mode selected

* removed factorio queryport

* remove queryport from servers that do not use them

* add check_config to details command

* updated eco servercfgdir

* update _default.cfg test

* update _default.cfg test

* update test master config

* reordered servercfg vars

* re-ordered and standardised config file vars

* tidy configs

* shellcheck

* standardised servercfgdir
---
 .../config-lgsm/ahl2server/_default.cfg          |  3 ++-
 .../config-lgsm/ahlserver/_default.cfg           |  3 ++-
 .../config-lgsm/arkserver/_default.cfg           |  5 +++--
 .../config-lgsm/arma3server/_default.cfg         |  8 +++++---
 .../config-lgsm/bb2server/_default.cfg           |  3 ++-
 .../config-lgsm/bbserver/_default.cfg            |  3 ++-
 .../config-lgsm/bdserver/_default.cfg            |  3 ++-
 .../config-lgsm/bf1942server/_default.cfg        |  3 ++-
 .../config-lgsm/bmdmserver/_default.cfg          |  3 ++-
 .../config-lgsm/boserver/_default.cfg            |  3 ++-
 .../config-lgsm/bsserver/_default.cfg            |  3 ++-
 .../config-lgsm/bt1944server/_default.cfg        |  4 ++--
 .../config-lgsm/btserver/_default.cfg            |  3 ++-
 .../config-lgsm/ccserver/_default.cfg            |  3 ++-
 .../config-lgsm/cod2server/_default.cfg          |  3 ++-
 .../config-lgsm/cod4server/_default.cfg          |  3 ++-
 .../config-lgsm/codserver/_default.cfg           |  3 ++-
 .../config-lgsm/coduoserver/_default.cfg         |  3 ++-
 .../config-lgsm/codwawserver/_default.cfg        |  3 ++-
 .../config-lgsm/csczserver/_default.cfg          |  3 ++-
 .../config-lgsm/csgoserver/_default.cfg          |  3 ++-
 .../config-lgsm/csserver/_default.cfg            |  3 ++-
 .../config-lgsm/cssserver/_default.cfg           |  3 ++-
 .../config-lgsm/dabserver/_default.cfg           |  3 ++-
 .../config-lgsm/dmcserver/_default.cfg           |  3 ++-
 .../config-lgsm/dodserver/_default.cfg           |  3 ++-
 .../config-lgsm/dodsserver/_default.cfg          |  3 ++-
 .../config-lgsm/doiserver/_default.cfg           |  3 ++-
 .../config-lgsm/dstserver/_default.cfg           |  7 ++++---
 .../config-lgsm/dysserver/_default.cfg           |  3 ++-
 .../config-lgsm/ecoserver/_default.cfg           |  3 ++-
 .../config-lgsm/emserver/_default.cfg            |  3 ++-
 .../config-lgsm/etlserver/_default.cfg           |  3 ++-
 .../config-lgsm/fctrserver/_default.cfg          |  3 ++-
 .../config-lgsm/fofserver/_default.cfg           |  3 ++-
 .../config-lgsm/gesserver/_default.cfg           |  3 ++-
 .../config-lgsm/gmodserver/_default.cfg          |  3 ++-
 .../config-lgsm/hl2dmserver/_default.cfg         |  3 ++-
 .../config-lgsm/hldmserver/_default.cfg          |  3 ++-
 .../config-lgsm/hldmsserver/_default.cfg         |  3 ++-
 .../config-lgsm/insserver/_default.cfg           |  3 ++-
 .../config-lgsm/inssserver/_default.cfg          |  3 ++-
 .../config-lgsm/iosserver/_default.cfg           |  3 ++-
 .../config-lgsm/jc2server/_default.cfg           |  3 ++-
 .../config-lgsm/jc3server/_default.cfg           |  3 ++-
 .../config-lgsm/kf2server/_default.cfg           |  1 +
 .../config-lgsm/kfserver/_default.cfg            |  3 ++-
 .../config-lgsm/l4d2server/_default.cfg          |  3 ++-
 .../config-lgsm/l4dserver/_default.cfg           |  3 ++-
 .../config-lgsm/mcbserver/_default.cfg           |  2 +-
 .../config-lgsm/mcserver/_default.cfg            |  3 ++-
 .../config-lgsm/mhserver/_default.cfg            |  3 ++-
 .../config-lgsm/mohaaserver/_default.cfg         |  3 ++-
 .../config-lgsm/mtaserver/_default.cfg           |  3 ++-
 .../config-lgsm/mumbleserver/_default.cfg        |  3 ++-
 .../config-lgsm/ndserver/_default.cfg            |  3 ++-
 .../config-lgsm/nmrihserver/_default.cfg         |  3 ++-
 .../config-lgsm/ns2cserver/_default.cfg          |  2 +-
 .../config-lgsm/ns2server/_default.cfg           |  2 +-
 .../config-lgsm/nsserver/_default.cfg            |  3 ++-
 .../config-lgsm/onsetserver/_default.cfg         |  2 +-
 .../config-lgsm/opforserver/_default.cfg         |  3 ++-
 .../config-lgsm/pcserver/_default.cfg            |  3 ++-
 .../config-lgsm/pstbsserver/_default.cfg         |  3 ++-
 .../config-lgsm/pvkiiserver/_default.cfg         |  3 ++-
 .../config-lgsm/pzserver/_default.cfg            |  4 +++-
 .../config-lgsm/q2server/_default.cfg            |  3 ++-
 .../config-lgsm/q3server/_default.cfg            |  3 ++-
 .../config-lgsm/qlserver/_default.cfg            |  3 ++-
 .../config-lgsm/qwserver/_default.cfg            |  3 ++-
 .../config-lgsm/ricochetserver/_default.cfg      |  3 ++-
 .../config-lgsm/roserver/_default.cfg            |  5 +++--
 .../config-lgsm/rtcwserver/_default.cfg          |  3 ++-
 .../config-lgsm/rustserver/_default.cfg          |  3 ++-
 .../config-lgsm/rwserver/_default.cfg            |  3 ++-
 .../config-lgsm/sampserver/_default.cfg          |  3 ++-
 .../config-lgsm/sbotsserver/_default.cfg         |  3 ++-
 .../config-lgsm/sbserver/_default.cfg            |  3 ++-
 .../config-lgsm/sdtdserver/_default.cfg          |  5 +++--
 .../config-lgsm/sfcserver/_default.cfg           |  3 ++-
 .../config-lgsm/sof2server/_default.cfg          |  3 ++-
 .../config-lgsm/solserver/_default.cfg           |  1 +
 .../config-lgsm/squadserver/_default.cfg         |  3 ++-
 .../config-lgsm/ss3server/_default.cfg           |  3 ++-
 .../config-lgsm/stserver/_default.cfg            |  3 ++-
 .../config-lgsm/svenserver/_default.cfg          |  3 ++-
 .../config-lgsm/terrariaserver/_default.cfg      |  3 ++-
 .../config-lgsm/tf2server/_default.cfg           |  3 ++-
 .../config-lgsm/tfcserver/_default.cfg           |  3 ++-
 .../config-lgsm/ts3server/_default.cfg           |  5 +++--
 .../config-lgsm/tsserver/_default.cfg            |  3 ++-
 .../config-lgsm/tuserver/_default.cfg            |  5 ++---
 .../config-lgsm/twserver/_default.cfg            |  3 ++-
 .../config-lgsm/untserver/_default.cfg           |  1 +
 .../config-lgsm/ut2k4server/_default.cfg         |  3 ++-
 .../config-lgsm/ut3server/_default.cfg           |  3 ++-
 .../config-lgsm/ut99server/_default.cfg          |  3 ++-
 .../config-lgsm/utserver/_default.cfg            |  3 ++-
 .../config-lgsm/vsserver/_default.cfg            |  3 ++-
 .../config-lgsm/wetserver/_default.cfg           |  3 ++-
 .../config-lgsm/wfserver/_default.cfg            |  3 ++-
 .../config-lgsm/wurmserver/_default.cfg          |  3 ++-
 .../config-lgsm/zmrserver/_default.cfg           |  3 ++-
 .../config-lgsm/zpsserver/_default.cfg           |  3 ++-
 lgsm/functions/check_config.sh                   |  2 --
 lgsm/functions/command_monitor.sh                | 16 +++++++++-------
 lgsm/functions/info_config.sh                    |  6 +++---
 lgsm/functions/info_messages.sh                  |  4 ++--
 lgsm/functions/info_parms.sh                     | 10 ----------
 lgsm/functions/install_config.sh                 |  2 +-
 tests/tests_defaultcfg/defaultcfg_0.txt          |  6 ++++++
 tests/tests_defaultcfg/tests_defaultcfg.sh       |  7 ++++++-
 112 files changed, 238 insertions(+), 138 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index 4536de702..02dd1657a 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -154,9 +154,10 @@ glibc="2.15"
 systemdir="${serverfiles}/ahl2"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index 89de05540..4e3039209 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/action"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index e0111e3c5..0fd7a0c52 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -151,9 +151,10 @@ glibc="2.15"
 systemdir="${serverfiles}/ShooterGame"
 executabledir="${systemdir}/Binaries/Linux"
 executable="./ShooterGameServer"
-servercfg="GameUserSettings.ini"
-servercfgdefault="GameUserSettings.ini"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"
+servercfg="GameUserSettngs.ini"
+servercfgdefault="GameUserSettings.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index f557eead3..f56fdac89 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -165,12 +165,14 @@ glibc="2.13"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./arma3server"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.server.cfg"
-networkcfg="${selfname}.network.cfg"
 servercfgdefault="server.cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+networkcfgdir="${systemdir}/cfg"
+networkcfg="${selfname}.network.cfg"
 networkcfgdefault="network.cfg"
-servercfgdir="${systemdir}/cfg"
-networkcfgfullpath="${servercfgdir}/${networkcfg}"
+networkcfgfullpath="${networkcfgdir}/${networkcfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index 39a901c06..a1a9ae350 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.17"
 systemdir="${serverfiles}/brainbread2"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index 9327a352e..75da97662 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/brainbread"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index d880d0509..77c169e6a 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.14"
 systemdir="${serverfiles}/bdef"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index f74433d8c..b6e508e01 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -134,9 +134,10 @@ glibc="2.0"
 systemdir="${serverfiles}"
 executabledir="${systemdir}"
 executable="./start.sh"
+servercfgdir="${systemdir}/mods/bf1942/settings"
 servercfg="serversettings.con"
 servercfgdefault="serversettings.con"
-servercfgdir="${systemdir}/mods/bf1942/settings"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index 296c5ccf2..b92257fff 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.15"
 systemdir="${serverfiles}/bms"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index 8d8a1ec87..73015c2d6 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -148,9 +148,10 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./BODS.x86"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.txt"
 servercfgdefault="config.txt"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index 31c735009..612e4cb2b 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -159,9 +159,10 @@ glibc="2.15"
 systemdir="${serverfiles}/berimbau"
 executabledir="${serverfiles}/bin"
 executable="./srcds_run.sh"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
index 4f59bb38c..2ca021b27 100644
--- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
@@ -147,10 +147,10 @@ glibc="2.17"
 systemdir="${serverfiles}/Linux/Battalion"
 executabledir="${systemdir}/Binaries/Linux"
 executable="./BattalionServer"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
 servercfg="${selfname}.ini"
 servercfgdefault="DefaultGame.ini"
-servercfgdir="${systemdir}/Saved/Config/LinuxServer"
-
+servercfgfullpath="${servercfgdir}/${servercfg}"
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
 
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index 5e2115d74..45d54833a 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -142,9 +142,10 @@ glibc="2.17"
 systemdir="${serverfiles}"
 executabledir="${systemdir}"
 executable="./DedicatedServer.exe"
+servercfgdir="${systemdir}"
 servercfg="serversettings.xml"
 servercfgdefault="serversettings.xml"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index 757361eb5..2913a289d 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/cure"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index 8184bd7eb..6c8a31c71 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -137,9 +137,10 @@ glibc="2.1.3"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./cod2_lnxded"
+servercfgdir="${systemdir}/main"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/main"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index 8d4ae0c60..f319c7ae9 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -137,9 +137,10 @@ glibc="2.12"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./cod4x18_dedrun"
+servercfgdir="${systemdir}/main"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/main"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index 90319da8e..14c2ea889 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -137,9 +137,10 @@ glibc="2.1"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./cod_lnxded"
+servercfgdir="${systemdir}/main"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/main"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index 154c3eaa7..9eb271d27 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -137,9 +137,10 @@ glibc="2.1"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./coduo_lnxded"
+servercfgdir="${systemdir}/uo"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/uo"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index 805c7d77b..14799814f 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -137,9 +137,10 @@ glibc="2.3.2"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./codwaw_lnxded"
+servercfgdir="${systemdir}/main"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/main"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index d7b855f95..0fd33cd68 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/czero"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index a0d31cb74..0cabcd249 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -175,9 +175,10 @@ glibc="2.15"
 systemdir="${serverfiles}/csgo"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index cbc140c8a..36f0d955a 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/cstrike"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index e5fc863c7..586b6dc18 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/cstrike"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index 76d946aee..f03645b95 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/dab"
 executabledir="${serverfiles}"
 executable="./dabds.sh"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index 23d322095..3af9ee7d7 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/dmc"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index f20658753..79df74acb 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/dod"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index 351eb76ec..7ec70a81d 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/dod"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index ae0932f78..c31bea09f 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -151,9 +151,10 @@ glibc="2.15"
 systemdir="${serverfiles}/doi"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index 6b96bc7ed..2e9439d06 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -153,13 +153,14 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}/bin"
 executable="./dontstarve_dedicated_server_nullrenderer"
-servercfg="server.ini"
 servercfgdir="${clustercfgdir}/${shard}"
+servercfg="server.ini"
 servercfgdefault="server.ini"
-clustercfg="cluster.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 clustercfgdir="${persistentstorageroot}/${confdir}/${cluster}"
-clustercfgfullpath="${clustercfgdir}/${clustercfg}"
+clustercfg="cluster.ini"
 clustercfgdefault="cluster.ini"
+clustercfgfullpath="${clustercfgdir}/${clustercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index 2ff9654f8..51c9db8cf 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.15"
 systemdir="${serverfiles}/dystopia"
 executabledir="${serverfiles}/bin"
 executable="./srcds_run.sh"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index 5478d3733..1286860fc 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -142,9 +142,10 @@ glibc="null"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="mono ./EcoServer.exe"
+servercfgdir="${systemdir}/Configs"
 servercfg="Network.eco"
 servercfgdefault="Network.eco"
-servercfgdir="${systemdir}/Configs"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index 62d8b6eba..4d6fc1824 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.15"
 systemdir="${serverfiles}/empires"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index 4d98e2f87..ffc85e4b9 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -131,9 +131,10 @@ glibc="2.7"
 systemdir="${serverfiles}"
 executabledir="${systemdir}"
 executable="./etlded"
+servercfgdir="${systemdir}/etmain"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/etmain"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index 42e8fb77a..711194a84 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -142,9 +142,10 @@ glibc="2.18"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}/bin/x64"
 executable="./factorio"
+servercfgdir="${systemdir}/data"
 servercfg="${selfname}.json"
 servercfgdefault="server-settings.json"
-servercfgdir="${serverfiles}/data"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index c7db4f875..0946a0eac 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/fof"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/gesserver/_default.cfg b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
index aa318ba44..d47983a79 100644
--- a/lgsm/config-default/config-lgsm/gesserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/gesource"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index 25624c1f2..66202641c 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -167,9 +167,10 @@ systemdir="${serverfiles}/garrysmod"
 addonsdir="${systemdir}/addons"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index 5d5f7dd5f..a67d26a96 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/hl2mp"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index 7eb45b573..2e15cea7e 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/valve"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index 82bd1e113..e6d3b0a2a 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/hl1mp"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index 7b0d2d5bb..9fea80b0d 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -156,9 +156,10 @@ glibc="2.15"
 systemdir="${serverfiles}/insurgency"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index 7c715c54d..04becc752 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -157,9 +157,10 @@ glibc="2.17"
 systemdir="${serverfiles}/Insurgency"
 executabledir="${systemdir}/Binaries/Linux"
 executable="./InsurgencyServer-Linux-Shipping"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
 servercfg="Game.ini"
 servercfgdefault="Game.ini"
-servercfgdir="${systemdir}/Saved/Config/LinuxServer"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index ee32b013c..bb53acf48 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/iosoccer"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index 5f0731f1e..822e860c5 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -142,9 +142,10 @@ glibc="2.13"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./Jcmp-Server"
+servercfgdir="${systemdir}"
 servercfg="config.lua"
 servercfgdefault="config.lua"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index 301453803..dbe9d4616 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -142,9 +142,10 @@ glibc="2.17"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./Server"
+servercfgdir="${systemdir}"
 servercfg="config.json"
 servercfgdefault="config.json"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index 5f69d4841..6e31023be 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -150,6 +150,7 @@ executable="./KFGameSteamServer.bin.x86_64"
 servercfgdir="${systemdir}/KFGame/Config/${selfname}"
 servercfg="LinuxServer-KFGame.ini"
 servercfgdefault="LinuxServer-KFGame.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index 4511427fb..df07967d7 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -155,9 +155,10 @@ serverfiles="${rootdir}/serverfiles"
 systemdir="${serverfiles}/System"
 executabledir="${systemdir}"
 executable="./ucc-bin"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.ini"
 servercfgdefault="Default.ini"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index e02987024..c2dd765c2 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/left4dead2"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index dbfd0fd47..c40a1199f 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/left4dead"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="server.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
index 26d25edf3..1a600d821 100644
--- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
@@ -134,9 +134,9 @@ glibc="2.27"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="${serverfiles}/bedrock_server"
+servercfgdir="${systemdir}"
 servercfg="server.properties"
 servercfgdefault="server.properties"
-servercfgdir="${serverfiles}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index 976d6e79b..2bfcb3d1d 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -140,9 +140,10 @@ glibc="null"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="java -Xmx${javaram}M -jar ${serverfiles}/minecraft_server.jar"
+servercfgdir="${systemdir}"
 servercfg="server.properties"
 servercfgdefault="server.properties"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index 9131331fe..6a9b9a82e 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.17"
 systemdir="${serverfiles}/Mordhau"
 executabledir="${systemdir}/Binaries/Linux"
 executable="./MordhauServer-Linux-Shipping"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
 servercfg="Game.ini"
 servercfgdefault="Game.ini"
-servercfgdir="${systemdir}/Saved/Config/LinuxServer"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index 4bad82116..22d05c752 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -136,9 +136,10 @@ glibc="2.3"
 systemdir="${serverfiles}/main"
 executabledir="${serverfiles}"
 executable="./mohaa_lnxded"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index 65c7f39fc..944f4ae57 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -136,8 +136,9 @@ systemdir="${serverfiles}"
 resourcesdir="${systemdir}/mods/deathmatch/resources"
 executabledir="${systemdir}"
 executable="./mta-server64"
-servercfg="mtaserver.conf"
 servercfgdir="${systemdir}/mods/deathmatch"
+servercfg="mtaserver.conf"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
index 56a146b1f..301318217 100644
--- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
@@ -135,9 +135,10 @@ glibc="null"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./murmur.x86"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.ini"
 servercfgdefault="murmur.ini"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index ee31aeffc..58092d361 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.6"
 systemdir="${serverfiles}/nucleardawn"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index 88b7f7f3b..621962349 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.15"
 systemdir="${serverfiles}/nmrih"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index 45064800b..01b6bc9b2 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -157,7 +157,7 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}/ia32"
 executable="./ns2combatserver_linux32"
-servercfgdir="${serverfiles}/${selfname}"
+servercfgdir="${systemdir}/${selfname}"
 modstoragedir="${servercfgdir}/Workshop"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index 7996fba74..acd89375f 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -161,7 +161,7 @@ glibc="2.17"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}/x64"
 executable="./server_linux"
-servercfgdir="${serverfiles}/${selfname}"
+servercfgdir="${systemdir}/${selfname}"
 modstoragedir="${servercfgdir}/Workshop"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index e59b8f771..1f0ebcb49 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/ns"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
index 1d80cb85a..bf4576a6d 100644
--- a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
@@ -142,9 +142,9 @@ glibc="2.24"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./OnsetServer"
+servercfgdir="${systemdir}"
 servercfg="server_config.json"
 servercfgdefault="server_config.json"
-servercfgdir="${serverfiles}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index 048d09c8d..87fb58d2f 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/gearbox"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index f1dc3d2f0..8cf6c09ca 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -142,9 +142,10 @@ glibc="2.4"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./DedicatedServerCmd"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
index 7b113335e..54cec9d8d 100644
--- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
@@ -151,9 +151,10 @@ glibc="2.17"
 systemdir="${serverfiles}/PostScriptum"
 executabledir="${serverfiles}"
 executable="./PostScriptumServer.sh"
+servercfgdir="${systemdir}/ServerConfig"
 servercfg="Server.cfg"
 servercfgdefault="Server.cfg"
-servercfgdir="${systemdir}/ServerConfig"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index 17b88e13b..84e1bd897 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/pvkii"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index c7abf6e2b..68300b0bc 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -12,6 +12,7 @@
 ip="0.0.0.0"
 adminpassword="CHANGE_ME"
 
+## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
 fn_parms(){
 parms="-ip ${ip} -adminpassword \"${adminpassword}\" -servername ${selfname}"
 }
@@ -145,9 +146,10 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./start-server.sh"
+servercfgdir="${HOME}/Zomboid/Server"
 servercfg="${selfname}.ini"
 servercfgdefault="server.ini"
-servercfgdir="${HOME}/Zomboid/Server"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index 7d65a83ac..1647eab1a 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -136,9 +136,10 @@ glibc="null"
 systemdir="${serverfiles}/baseq2"
 executabledir="${serverfiles}"
 executable="./quake2"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index a224a59d0..cd6634afb 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -136,9 +136,10 @@ glibc="2.1"
 systemdir="${serverfiles}/baseq3"
 executabledir="${serverfiles}"
 executable="./q3ded"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index c110cac07..89bcb26a3 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -144,9 +144,10 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./run_server_x64.sh" || echo -e "./run_server_x86.sh")
+servercfgdir="${systemdir}/baseq3"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${serverfiles}/baseq3"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index 31a8afb63..0bd55debf 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -135,9 +135,10 @@ glibc="2.17"
 systemdir="${serverfiles}/ktx"
 executabledir="${serverfiles}"
 executable="./mvdsv"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index 2b5a3522c..787571afd 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/ricochet"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index 15f56c2e5..ab9c1625b 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -150,10 +150,11 @@ glibc="2.4"
 serverfiles="${rootdir}/serverfiles"
 systemdir="${serverfiles}/system"
 executabledir="${systemdir}"
-executable="./ucc-bin"
+executable="./ucc-bin"servercfgdir="${systemdir}"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.ini"
 servercfgdefault="default.ini"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index f16d5c89e..792c1a7f8 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -136,9 +136,10 @@ glibc="2.1"
 systemdir="${serverfiles}/main"
 executabledir="${serverfiles}"
 executable="./iowolfded.x86_64"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index 7171bcc2d..abb9c79df 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -175,9 +175,10 @@ systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./RustDedicated"
 serveridentitydir="${systemdir}/server/${selfname}"
+servercfgdir="${serveridentitydir}/cfg"
 servercfg="server.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${serveridentitydir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index 17f06b7be..37e755c29 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -145,9 +145,10 @@ glibc="null"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="java -Xmx${javaram}m -jar ${serverfiles}/server.jar"
+servercfgdir="${systemdir}"
 servercfg="server.properties"
 servercfgdefault="server.properties"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index 4b2d7bf9b..a658daa0c 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -135,9 +135,10 @@ glibc="2.3"
 systemdir="${serverfiles}"
 executabledir="${systemdir}/samp03"
 executable="./samp03svr"
+servercfgdir="${systemdir}/samp03"
 servercfg="server.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/samp03"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index 507cb8db6..6fb2b3579 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.17"
 systemdir="${serverfiles}"
 executabledir="${systemdir}/blank1/Binaries/Linux"
 executable="./blank1Server-Linux-Shipping"
+servercfgdir="${systemdir}/blank1/Saved/Config/LinuxServer"
 servercfg="Game.ini"
 servercfgdefault="Game.ini"
-servercfgdir="${systemdir}/blank1/Saved/Config/LinuxServer"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index 25e368531..fa9560f6c 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -148,9 +148,10 @@ glibc="2.17"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}/linux"
 executable="./starbound_server"
+servercfgdir="${systemdir}/storage"
 servercfg="starbound_server.config"
 servercfgdefault="starbound_server.config"
-servercfgdir="${serverfiles}/storage"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index a82a1884b..a67e5795d 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -145,10 +145,11 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./7DaysToDieServer.x86_64" || echo -e "./7DaysToDieServer.x86")
+servercfgdir="${systemdir}"
 servercfg="${selfname}.xml"
-servercfgdefault="serverconfig.xml"
-servercfgdir="${serverfiles}"
 servercfgdirdefault="${serverfiles}"
+servercfgdefault="serverconfig.xml"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index 87ceb5ac8..f9d6ad595 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/sfclassic"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index 4ed79bd37..bd8110274 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -136,9 +136,10 @@ glibc="2.1"
 systemdir="${serverfiles}/main"
 executabledir="${serverfiles}"
 executable="./sof2ded"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index 908165bb9..2a923d554 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -140,6 +140,7 @@ executable="./soldatserver"
 servercfgdir="${systemdir}"
 servercfg="soldat.ini"
 servercfgdefault="soldat.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index 1ef3b6194..f75bd2667 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -147,9 +147,10 @@ glibc="2.17"
 systemdir="${serverfiles}/Squad"
 executabledir="${serverfiles}"
 executable="./SquadGameServer.sh"
+servercfgdir="${systemdir}/ServerConfig"
 servercfg="${selfname}.cfg"
 servercfgdefault="Server.cfg"
-servercfgdir="${systemdir}/ServerConfig"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
index 11d32ea60..f5ab99168 100644
--- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
@@ -146,9 +146,10 @@ glibc="2.13"
 systemdir="${serverfiles}/Bin"
 executabledir="${systemdir}"
 executable="./runSam3_DedicatedServer.sh"
+servercfgdir="${serverfiles}/Content/SeriousSam3/Config"
 servercfg="${selfname}.ini"
 servercfgdefault="server.ini"
-servercfgdir="${serverfiles}/Content/SeriousSam3/Config"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index 35d399bcd..60fb0ebfa 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -152,9 +152,10 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./rocketstation_DedicatedServer.x86_64"
+servercfgdir="${systemdir}"
 servercfg="default.ini"
 servercfgdefault="default.ini"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index efff4bf99..3036470b7 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.24"
 systemdir="${serverfiles}/svencoop"
 executabledir="${serverfiles}"
 executable="./svends_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index b7525e35e..574e18345 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.7"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./TerrariaServer"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.txt"
 servercfgdefault="serverconfig.txt"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index 4eecf94c5..5655d9c9e 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.15"
 systemdir="${serverfiles}/tf"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index f7d01e2e2..e9158641b 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/tfc"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index f1a682f66..54fd8ac0e 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -6,7 +6,7 @@
 # common.cfg - applies settings to every instance.
 # [instance].cfg - applies settings to a specific instance.
 
-#### Server Settings ####
+#### Game Server Settings ####
 
 ## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
 # Edit serverfiles/ts3server.ini after installation
@@ -138,9 +138,10 @@ glibc="2.17"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
 executable="./ts3server"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.ini"
 servercfgdefault="ts3server.ini"
-servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index b3a53d960..232087699 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/ts"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index 904e483fa..36521c885 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -152,11 +152,10 @@ glibc="2.17"
 systemdir="${serverfiles}/Tower"
 executabledir="${systemdir}/Binaries/Linux"
 executable="./TowerServer-Linux-Shipping"
-servercfg="${selfname}.ini"
-servercfgdefault="TowerServer.ini"
 servercfgdir="${systemdir}/Binaries/Linux"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
 servercfgdefault="TowerServer.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index e0720b72d..4762f3fdc 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -149,9 +149,10 @@ glibc="2.14"
 systemdir="${serverfiles}/tw"
 executabledir="${systemdir}"
 executable="./teeworlds_srv"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir
 servercfgdefault="server.cfg"
-servercfgdir="${serverfiles}/tw"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index 78b80f8e1..713ccb7d2 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -155,6 +155,7 @@ executable="./Unturned_Headless.x86_64"
 servercfgdir="${systemdir}/Servers/${selfname}"
 servercfg="Config.json"
 servercfgdefault="Config.json"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index 0402273b5..8e1d6fc55 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -135,9 +135,10 @@ glibc="2.4"
 systemdir="${serverfiles}/System"
 executabledir="${systemdir}"
 executable="./ucc-bin"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.ini"
 servercfgdefault="UT2004.ini"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index eb1b49c52..421ce42b3 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -146,9 +146,10 @@ glibc="2.3.2"
 systemdir="${serverfiles}"
 executabledir="${systemdir}/Binaries"
 executable="./ut3"
+servercfgdir="${systemdir}/UTGame/Config/${selfname}"
 servercfg="UTGame.ini"
 servercfgdefault="UTGame.ini"
-servercfgdir="${systemdir}/UTGame/Config/${selfname}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index bc87f8532..b74e0b14e 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -135,9 +135,10 @@ glibc="2.1"
 systemdir="${serverfiles}/System"
 executabledir="${systemdir}"
 executable="./ucc-bin"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.ini"
 servercfgdefault="Default.ini"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 
 ## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index 4784f0bcd..fe8da5aca 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -139,8 +139,9 @@ glibc="2.17"
 systemdir="${serverfiles}/LinuxServer"
 executabledir="${systemdir}/Engine/Binaries/Linux"
 executable="./UE4Server-Linux-Shipping"
-servercfg="Game.ini"
 servercfgdir="${systemdir}/UnrealTournament/Saved/Config/LinuxServer"
+servercfg="Game.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index 5c64eb494..484929179 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.3.4"
 systemdir="${serverfiles}/vs"
 executabledir="${serverfiles}"
 executable="./hlds_run"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 4105e9290..e52be9249 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -131,9 +131,10 @@ glibc="2.2.4"
 systemdir="${serverfiles}"
 executabledir="${systemdir}"
 executable="./etded"
+servercfgdir="${systemdir}/etmain"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/etmain"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index c9b88997e..f5da24af7 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -145,9 +145,10 @@ glibc="2.15"
 systemdir="${serverfiles}/Warfork.app/Contents/Resources"
 executabledir="${systemdir}"
 executable="./wf_server.x86_64"
+servercfgdir="${systemdir}/basewf"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/basewf"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index 9240ba2c9..47b0fbc0b 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -141,9 +141,10 @@ glibc="2.14"
 systemdir="${serverfiles}"
 executabledir="${systemdir}"
 executable="xvfb-run ./WurmServerLauncher"
+servercfgdir="${systemdir}"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index acc06176a..db1853930 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -150,9 +150,10 @@ glibc="2.15"
 systemdir="${serverfiles}/zombie_master_reborn"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index 6068d091c..bfeceda7e 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -155,9 +155,10 @@ glibc="2.15"
 systemdir="${serverfiles}/zps"
 executabledir="${serverfiles}"
 executable="./srcds_run"
+servercfgdir="${systemdir}/cfg"
 servercfg="${selfname}.cfg"
 servercfgdefault="server.cfg"
-servercfgdir="${systemdir}/cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/functions/check_config.sh b/lgsm/functions/check_config.sh
index c66892a2d..a4aa11997 100644
--- a/lgsm/functions/check_config.sh
+++ b/lgsm/functions/check_config.sh
@@ -7,8 +7,6 @@
 local modulename="CHECK"
 local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-servercfgfullpath="${servercfgdir}/${servercfg}"
-
 if [ ! -f "${servercfgfullpath}" ]; then
 	if [ "${shortname}" != "hw" ]&&[ "${shortname}" != "ut3" ]&&[ "${shortname}" != "kf2" ]; then
 		fn_print_dots ""
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 142b5af2e..1ec7b194d 100644
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -238,13 +238,15 @@ info_parms.sh
 fn_monitor_check_lockfile
 fn_monitor_check_update
 fn_monitor_check_session
-fn_monitor_check_queryport
+# Monitor will not continue if session only check.
+if [ "${querymode}" != "1" ]; then
+	fn_monitor_check_queryport
 
-# Add a querydelay of 1 min if var missing.
-if [ -z "${querydelay}" ]; then
-	querydelay="1"
-fi
-
-fn_monitor_loop
+	# Add a querydelay of 1 min if var missing.
+	if [ -z "${querydelay}" ]; then
+		querydelay="1"
+	fi
 
+	fn_monitor_loop
+fi
 core_exit.sh
diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh
index cc1fcb840..9618d60c6 100644
--- a/lgsm/functions/info_config.sh
+++ b/lgsm/functions/info_config.sh
@@ -421,14 +421,14 @@ fn_info_config_onset(){
 		maxplayers="${zero}"
 		port="${zero}"
 		httpport="${zero}"
-        queryport="${zero}"
+		queryport="${zero}"
 	else
 		servername=$(grep -v "servername_short" "${servercfgfullpath}" | grep "servername" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/servername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' )
 		maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
 		port=$(grep "port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
 		httpport=$((port-2))
-    	queryport=$((port-1))
-		
+		queryport=$((port-1))
+
 		# Not Set
 		servername=${servername:-"NOT SET"}
 		maxplayers=${maxplayers:-"NOT SET"}
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index b5471e01a..035cc6abe 100644
--- a/lgsm/functions/info_messages.sh
+++ b/lgsm/functions/info_messages.sh
@@ -540,7 +540,7 @@ fn_info_message_ports(){
 	echo -e "${lightblue}Change ports by editing the parameters in:${default}"
 
 	parmslocation="${red}UNKNOWN${default}"
-	# engines/games that require editing in the config file
+	# engines/games that require editing in the config file.
 	local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Minecraft Bedrock" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" "wurm")
 	for port_edit in "${ports_edit_array[@]}"
 	do
@@ -552,7 +552,7 @@ fn_info_message_ports(){
 			parmslocation="${servercfgfullpath}"
 		fi
 	done
-	# engines/games that require editing the parms
+	# engines/games that require editing the parms.
 	local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "ioquake3" "qfusion" "Rust" "Soldat" "spark" "source" "starbound" "unreal4" "realvirtuality" "Unturned" )
 	for port_edit in "${ports_edit_array[@]}"
 	do
diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh
index 37bd56416..a4d483bb3 100644
--- a/lgsm/functions/info_parms.sh
+++ b/lgsm/functions/info_parms.sh
@@ -42,13 +42,8 @@ fn_info_parms_dst(){
 	cave=${cave:-"NOT SET"}
 }
 
-fn_info_parms_eco(){
-	queryport=${webadminport:-"0"}
-}
-
 fn_info_parms_factorio(){
 	port=${port:-"0"}
-	queryport=${rconport:-"0"}
 	rconport=${rconport:-"0"}
 	rconpassword=${rconpassword:-"NOT SET"}
 }
@@ -118,7 +113,6 @@ fn_info_parms_realvirtuality(){
 fn_info_parms_risingworld(){
 	servername=${servername:-"NOT SET"}
 	port=${port:-"0"}
-	queryport=${port:-"0"}
 	httpqueryport=$((port - 1))
 }
 
@@ -229,7 +223,6 @@ fn_info_parms_unreal3(){
 fn_info_parms_unturned(){
 	servername=${selfname:-"NOT SET"}
 	port=${port:-"0"}
-	queryport=$((port + 1))
 }
 
 fn_info_parms_ut(){
@@ -254,9 +247,6 @@ elif [ "${shortname}" == "bt" ]; then
 # Call of Duty
 elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${engine}" == "iw2.0" ]||[ "${engine}" == "iw3.0" ]; then
 	fn_info_parms_cod
-# Eco
-elif [ "${shortname}" == "eco" ]; then
-	fn_info_parms_eco
 # Factorio
 elif [ "${shortname}" == "fctr" ]; then
 	fn_info_parms_factorio
diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh
index e54f6215d..f6d08a8d6 100644
--- a/lgsm/functions/install_config.sh
+++ b/lgsm/functions/install_config.sh
@@ -56,7 +56,7 @@ fn_default_config_remote(){
 # Copys local default config to server config location.
 fn_default_config_local(){
 	echo -e "copying ${servercfgdefault} config file."
-	cp -nv "${servercfgdirdefault}/${servercfgdefault}" "${servercfgfullpath}"
+	cp -nv "${servercfgdir}/${servercfgdefault}" "${servercfgfullpath}"
 	fn_sleep_time
 }
 
diff --git a/tests/tests_defaultcfg/defaultcfg_0.txt b/tests/tests_defaultcfg/defaultcfg_0.txt
index ac95a5715..50c1d0ee6 100644
--- a/tests/tests_defaultcfg/defaultcfg_0.txt
+++ b/tests/tests_defaultcfg/defaultcfg_0.txt
@@ -36,12 +36,18 @@ querydelay
 ansi
 sleeptime
 stopmode
+querymode
+querytype
 gamename
 engine
 glibc
 systemdir
 executabledir
 executable
+servercfgdir
+servercfg
+servercfgdefault
+servercfgfullpath
 backupdir
 logdir
 lgsmlogdir
diff --git a/tests/tests_defaultcfg/tests_defaultcfg.sh b/tests/tests_defaultcfg/tests_defaultcfg.sh
index 5b9b47f2a..4039d90e7 100644
--- a/tests/tests_defaultcfg/tests_defaultcfg.sh
+++ b/tests/tests_defaultcfg/tests_defaultcfg.sh
@@ -5,14 +5,16 @@ echo -e "=================================================================="
 echo -e "Description:"
 echo -e "test checks that vars present in ALL _default.cfg files are correct."
 echo -e ""
+echo -e "In master config < | > In game config"
 find "lgsm/config-default/config-lgsm/" ! -name '*template.cfg' -name "*.cfg" -type f -print0 |
 while IFS= read -r -d $'\0' line; do
-	grep = ${line}  | cut -f1 -d"=" > defaultcfgtemp.txt
+	grep "=" "${line}"  | cut -f1 -d"=" > defaultcfgtemp.txt
 	diffoutput=$(diff tests/tests_defaultcfg/defaultcfg_0.txt  defaultcfgtemp.txt)
 	if [ "${diffoutput}" ]; then
 		echo "File with errors:"
 		echo "${line}"
 		echo -e "================================="
+		echo -e "In master config < | > In game config"
 		echo "${diffoutput}"
 		echo ""
 	fi
@@ -25,6 +27,7 @@ echo -e "=================================================================="
 echo -e "Description:"
 echo -e "test checks that vars present in ALL _default.cfg files are correct."
 echo -e ""
+echo -e "In master config < | > In game config"
 find lgsm/config-default/config-lgsm/ ! -name '*template.cfg' -name "*.cfg" -type f -print0 |
 while IFS= read -r -d $'\0' line; do
 	grep "=" "${line}" | cut -f1 -d"=" > defaultcfgtemp.txt
@@ -33,6 +36,7 @@ while IFS= read -r -d $'\0' line; do
 		echo "File with errors:"
 		echo "${line}"
 		echo -e "================================="
+		echo -e "In master config < | > In game config"
 		echo "${diffoutput}"
 		echo ""
 	fi
@@ -45,6 +49,7 @@ echo -e "=================================================================="
 echo -e "Description:"
 echo -e "test checks that comments in ALL _default.cfg files are correct."
 echo -e ""
+echo -e "In master config < | > In game config"
 find lgsm/config-default/config-lgsm/ ! -name '*template.cfg' -name "*.cfg" -type f -print0 |
 while IFS= read -r -d $'\0' line; do
 	grep "#" "${line}"  > defaultcfgtemp.txt

From 877d4b7ebe75f0e034c67c2bce45d1aac3f339a3 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 13 Mar 2020 07:13:37 +0000
Subject: [PATCH 39/41] release v20.1.0

---
 linuxgsm.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linuxgsm.sh b/linuxgsm.sh
index ccfccbce0..0d9f6252c 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="v19.12.5"
+version="v20.1.0"
 shortname="core"
 gameservername="core"
 rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")

From f6c332bac01e1df74aed6f816344cfb02c22128d Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 13 Mar 2020 12:48:20 +0000
Subject: [PATCH 40/41] fix(dstserver): fix config installation (#2742)

* fix(dstserver): move cluster configvars
---
 lgsm/config-default/config-lgsm/dstserver/_default.cfg | 8 ++++----
 lgsm/functions/check_deps.sh                           | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index 2e9439d06..f93bca058 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -153,14 +153,14 @@ glibc="2.15"
 systemdir="${serverfiles}"
 executabledir="${serverfiles}/bin"
 executable="./dontstarve_dedicated_server_nullrenderer"
-servercfgdir="${clustercfgdir}/${shard}"
-servercfg="server.ini"
-servercfgdefault="server.ini"
-servercfgfullpath="${servercfgdir}/${servercfg}"
 clustercfgdir="${persistentstorageroot}/${confdir}/${cluster}"
 clustercfg="cluster.ini"
 clustercfgdefault="cluster.ini"
 clustercfgfullpath="${clustercfgdir}/${clustercfg}"
+servercfgdir="${clustercfgdir}/${shard}"
+servercfg="server.ini"
+servercfgdefault="server.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${lgsmdir}/backup"
diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index 79f6f76c4..28b2b593c 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -352,7 +352,7 @@ fn_deps_build_debian(){
 	# No More Room in Hell, Counter-Strike: Source, Garry's Mod and Zombie Panic: Source
 	elif [ "${shortname}" == "nmrih" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "zps" ]; then
 		if [ "${arch}" == "x86_64" ]; then
-			array_deps_required+=( lib32tinfo5 )
+			array_deps_required+=( libtinfo5:i386 )
 		else
 			array_deps_required+=( libtinfo5 )
 		fi

From 402e4a110fda727a409cae337deb8a2e7f3f37e9 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Fri, 13 Mar 2020 15:40:07 +0000
Subject: [PATCH 41/41] add missing dots

---
 lgsm/functions/check_steamcmd.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index e7cafa4a1..5673e9ee8 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -55,7 +55,7 @@ fn_check_steamcmd(){
 			fn_install_steamcmd
 		fi
 	elif [ "${function_selfname}" == "command_install.sh" ]; then
-		fn_print_information "SteamCMD is already installed"
+		fn_print_information "SteamCMD is already installed..."
 		fn_print_ok_eol_nl
 	fi
 }