From b5614f5cbfd1c41aa5bb3282273a996ed16ca626 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 21 Feb 2024 21:40:54 +0000
Subject: [PATCH 01/28] build(deps): bump github/issue-labeler from 3.3 to 3.4
 (#4478)

Bumps [github/issue-labeler](https://github.com/github/issue-labeler) from 3.3 to 3.4.
- [Release notes](https://github.com/github/issue-labeler/releases)
- [Commits](https://github.com/github/issue-labeler/compare/v3.3...v3.4)

---
updated-dependencies:
- dependency-name: github/issue-labeler
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
 .github/workflows/labeler.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index b8bf63084..4a946a861 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -15,7 +15,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Issue Labeler
-        uses: github/issue-labeler@v3.3
+        uses: github/issue-labeler@v3.4
         with:
           repo-token: "${{ secrets.GITHUB_TOKEN }}"
           configuration-path: .github/labeler.yml

From 1f50055f5ac0e0bed0ea01f82f82ef4dca3deec2 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 28 Feb 2024 22:05:42 +0000
Subject: [PATCH 02/28] feat: ignore .swp files when doing permissions check

a .swp file is a temp file created by vim. If a file is being edited by a non linuxgsm user then this could cause a permissions issue. Adding this exception to prevent this issue
---
 lgsm/modules/check_permissions.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh
index 572b403cc..31c64cd17 100644
--- a/lgsm/modules/check_permissions.sh
+++ b/lgsm/modules/check_permissions.sh
@@ -14,12 +14,12 @@ fn_check_ownership() {
 		fi
 	fi
 	if [ -d "${modulesdir}" ]; then
-		if [ "$(find "${modulesdir}" -not -user "$(whoami)" | wc -l)" -ne "0" ]; then
+		if [ "$(find "${modulesdir}" -not -name '*.swp' -not -user "$(whoami)" | wc -l)" -ne "0" ]; then
 			funcownissue=1
 		fi
 	fi
 	if [ -d "${serverfiles}" ]; then
-		if [ "$(find "${serverfiles}" -not -user "$(whoami)" | wc -l)" -ne "0" ]; then
+		if [ "$(find "${serverfiles}" -not -name '*.swp' -not -user "$(whoami)" | wc -l)" -ne "0" ]; then
 			filesownissue=1
 		fi
 	fi

From a2406a510c97b639dc20782d352855fbdc86fb12 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Wed, 28 Feb 2024 23:15:12 +0000
Subject: [PATCH 03/28] fix(hw): correct start parameter for addadmin

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

diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
index ea18f00cf..a353064c8 100644
--- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
@@ -27,7 +27,7 @@ loadsave=""
 
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
 # http://hurtworld.wikia.com/wiki/Hosting_A_Server
-startparameters="-batchmode -nographics -logfile ${gamelog} -exec \"host ${port} ${defaultmap} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};${admins}\""
+startparameters="-batchmode -nographics -logfile ${gamelog} -exec \"host ${port} ${defaultmap} ${loadsave};queryport ${queryport};maxplayers ${maxplayers};servername ${servername};creativemode ${creativemode};addadmin ${admins}\""
 
 #### LinuxGSM Settings ####
 

From c5ca762655b0821adf3a19cacebb6390fabd4ff4 Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Sat, 2 Mar 2024 10:46:11 +0100
Subject: [PATCH 04/28] fix(pw): fix updated start parameters (#4516)

* fix(pw): fix updated  start parameters

* fix(pw): remove unneeded RCON parameters
---
 lgsm/config-default/config-lgsm/pwserver/_default.cfg | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/pwserver/_default.cfg b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
index eaf5d775c..03ad83d9e 100644
--- a/lgsm/config-default/config-lgsm/pwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
@@ -16,8 +16,8 @@ port="8211"
 steamport="27015"
 
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-## Game Server Docs | https://tech.palworldgame.com/dedicated-server-guide#linux
-startparameters="EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -servername='${servername}' -port='${port}' -queryport='${steamport}'"
+## Game Server Docs | https://tech.palworldgame.com/settings-and-operation/arguments
+startparameters="-publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -servername='${servername}' -port='${port}' -queryport='${steamport}'"
 
 #### LinuxGSM Settings ####
 

From cf5c6f9242c8ad882a1f173c04cc094f6c088df9 Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Sat, 2 Mar 2024 10:46:11 +0100
Subject: [PATCH 05/28] fix(pw): fix updated start parameters (#4516)

* fix(pw): fix updated  start parameters

* fix(pw): remove unneeded RCON parameters
---
 lgsm/config-default/config-lgsm/pwserver/_default.cfg | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/pwserver/_default.cfg b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
index cd318aacc..a463c4b4d 100644
--- a/lgsm/config-default/config-lgsm/pwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
@@ -16,8 +16,8 @@ port="8211"
 steamport="27015"
 
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-## Game Server Docs | https://tech.palworldgame.com/dedicated-server-guide#linux
-startparameters="EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -servername='${servername}' -port='${port}' -queryport='${steamport}'"
+## Game Server Docs | https://tech.palworldgame.com/settings-and-operation/arguments
+startparameters="-publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -servername='${servername}' -port='${port}' -queryport='${steamport}'"
 
 #### LinuxGSM Settings ####
 

From 77414e158225ec58e2fc34f5e8430f4e06e285ba Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Sat, 2 Mar 2024 09:51:01 +0000
Subject: [PATCH 06/28] Release v24.1.5

---
 lgsm/modules/core_modules.sh | 2 +-
 linuxgsm.sh                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh
index 70a452127..8f1516563 100644
--- a/lgsm/modules/core_modules.sh
+++ b/lgsm/modules/core_modules.sh
@@ -8,7 +8,7 @@
 
 moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-modulesversion="v24.1.4"
+modulesversion="v24.1.5"
 
 # Core
 
diff --git a/linuxgsm.sh b/linuxgsm.sh
index e3c663754..c68f19dc2 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -24,7 +24,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="v24.1.4"
+version="v24.1.5"
 shortname="core"
 gameservername="core"
 commandname="CORE"

From d7bb6d0f8fb783e5805e5c0835441da6378f87d0 Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Mon, 4 Mar 2024 15:59:22 +0100
Subject: [PATCH 07/28] fix(info_game): add ip query timeout and backup api
 (#4524)

---
 lgsm/modules/info_game.sh | 57 ++++++++++++++++++++++++++++-----------
 1 file changed, 42 insertions(+), 15 deletions(-)

diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh
index e943a9d91..97f8da87e 100644
--- a/lgsm/modules/info_game.sh
+++ b/lgsm/modules/info_game.sh
@@ -2467,25 +2467,52 @@ fi
 # Cache public IP address for 24 hours
 if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mmin +1440)" ]; then
 	apiurl="http://ip-api.com/json"
-	publicipresponse=$(curl -s "${apiurl}")
+	fn_script_log_info "Querying ${apiurl} for public IP address"
+
+	ipresponse=$(curl -s --max-time 3 "${apiurl}") # Attempt to query ip-api.com with a 3 second timeout
 	exitcode=$?
-	# if curl passes add publicip to publicip.json
-	if [ "${exitcode}" == "0" ]; then
-		fn_script_log_pass "Getting public IP address"
-		echo "${publicipresponse}" > "${tmpdir}/publicip.json"
-		publicip="$(jq -r '.query' "${tmpdir}/publicip.json")"
-		country="$(jq -r '.country' "${tmpdir}/publicip.json")"
-		countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
+
+	# Check if the first request was successfull
+	if [ "${exitcode}" -eq 0 ]; then
+		fn_script_log_pass "Queried ${apiurl} for public IP address"
+
+        # Parse and reformat the response
+        publicip="$(echo "${ipresponse}" | jq -r '.query')"
+        country="$(echo "${ipresponse}" | jq -r '.country')"
+        countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
+        # Construct a universal JSON format
+        echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
 	else
-		fn_script_log_warn "Unable to get public IP address"
-		publicip="NOT SET"
-		country="NOT SET"
-		countrycode="NOT SET"
+		# Fallback to myip.wtf if the initial request failed or timed out
+		apiurl="https://myip.wtf/json"
+		fn_script_log_pass "Querying ${apiurl} for public IP address"
+
+		ipresponse=$(curl -s --max-time 3 "${apiurl}") # Attempt to query myip.wtf with a 3 second timeout as a backup
+		exitcode=$?
+
+		# Check if the backup request was successfull
+		if [ "${exitcode}" -eq 0 ]; then
+			fn_script_log_pass "Queried ${apiurl} for public IP address"
+
+            # Parse and reformat the response from myip.wtf
+            publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
+            country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
+            countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
+            # Construct a universal JSON format
+            echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
+		else
+			fn_script_log_error "Unable to get public IP address"
+			publicip="NOT SET"
+			country="NOT SET"
+			countrycode="NOT SET"
+		fi
 	fi
 else
-	publicip="$(jq -r '.query' "${tmpdir}/publicip.json")"
-	country="$(jq -r '.country' "${tmpdir}/publicip.json")"
-	countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
+	# Cached IP is still valid
+    fn_script_log_pass "Using cached IP as public IP address"
+    publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
+    country="$(jq -r '.country' "${tmpdir}/publicip.json")"
+    countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
 fi
 
 # Alert IP address

From 181c84508df0d3d327d92aacd8e3cca3f1faee5f Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Fri, 8 Mar 2024 23:03:23 +0100
Subject: [PATCH 08/28] feat(alerts): add support for telegram thread/topic ids
 (#4526)

---
 lgsm/config-default/config-lgsm/acserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/ahl2server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/ahlserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/arkserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/arma3server/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/armarserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/atsserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/avserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/bb2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/bbserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/bdserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/bf1942server/_default.cfg   | 4 +++-
 lgsm/config-default/config-lgsm/bfvserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/bmdmserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/boserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/bsserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/btlserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/btserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/ccserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/ckserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/cmwserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/cod2server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/cod4server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/codserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/coduoserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/codwawserver/_default.cfg   | 4 +++-
 lgsm/config-default/config-lgsm/colserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/cs2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/csczserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/csgoserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/csserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/cssserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/ctserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/dabserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/dayzserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/dmcserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/dodrserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/dodserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/dodsserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/doiserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/dstserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/dysserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/ecoserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/emserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/etlserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/ets2server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/fctrserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/fofserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/gmodserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/hcuserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/hldmserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/hldmsserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/hwserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/insserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/inssserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/iosserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/jc2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/jc3server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/jk2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/kf2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/kfserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/l4d2server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/l4dserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/mcbserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/mcserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/mhserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/mohaaserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/momserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/mtaserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/ndserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/necserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/nmrihserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/ns2cserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/ns2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/nsserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/ohdserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/onsetserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/opforserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/pc2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/pcserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/pmcserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/psserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/pvrserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/pwserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/pzserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/q2server/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/q3server/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/q4server/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/qlserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/qwserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/ricochetserver/_default.cfg | 4 +++-
 lgsm/config-default/config-lgsm/roserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/rtcwserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/rustserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/rwserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/sampserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/sbotsserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/sbserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/scpslserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg  | 4 +++-
 lgsm/config-default/config-lgsm/sdtdserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/sfcserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/sfserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/sof2server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/solserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/squadserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/stnserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/stserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/svenserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/terrariaserver/_default.cfg | 4 +++-
 lgsm/config-default/config-lgsm/tf2server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/tfcserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/tfserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/tiserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/ts3server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/tsserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/tuserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/twserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/untserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/ut2k4server/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/ut3server/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/ut99server/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/utserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/vhserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/vintsserver/_default.cfg    | 4 +++-
 lgsm/config-default/config-lgsm/vpmcserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/vsserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/wetserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/wfserver/_default.cfg       | 4 +++-
 lgsm/config-default/config-lgsm/wmcserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/wurmserver/_default.cfg     | 4 +++-
 lgsm/config-default/config-lgsm/zmrserver/_default.cfg      | 4 +++-
 lgsm/config-default/config-lgsm/zpsserver/_default.cfg      | 4 +++-
 lgsm/modules/alert_telegram.sh                              | 4 ++++
 136 files changed, 409 insertions(+), 135 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/acserver/_default.cfg b/lgsm/config-default/config-lgsm/acserver/_default.cfg
index b3ad14caf..154f38c7b 100644
--- a/lgsm/config-default/config-lgsm/acserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/acserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index 086047093..a98c90701 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -82,11 +82,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index fb7725e1f..04cc2e6f9 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index 73b251731..8680c1bad 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -79,11 +79,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index f50bf8342..b0918ef3c 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -93,11 +93,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/armarserver/_default.cfg b/lgsm/config-default/config-lgsm/armarserver/_default.cfg
index 3637f469b..61103d332 100644
--- a/lgsm/config-default/config-lgsm/armarserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/armarserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/atsserver/_default.cfg b/lgsm/config-default/config-lgsm/atsserver/_default.cfg
index 9d8125a31..f6d165098 100644
--- a/lgsm/config-default/config-lgsm/atsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/atsserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/avserver/_default.cfg b/lgsm/config-default/config-lgsm/avserver/_default.cfg
index 5777198c8..7b225de1f 100644
--- a/lgsm/config-default/config-lgsm/avserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/avserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index c52c8c540..b9250cc5f 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index 2cfabab9c..99262d8e3 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index 674fabb10..3c1769fb3 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index 5bd576b22..30e2f957a 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
index 66c4ef8fc..53aa36054 100644
--- a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index dfe04bcd8..e353d57b0 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index d6e2b4f4f..ae7912ab6 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index b5f6017c0..d81cde16d 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -87,11 +87,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/btlserver/_default.cfg b/lgsm/config-default/config-lgsm/btlserver/_default.cfg
index dcc49c61c..28e8b95e3 100644
--- a/lgsm/config-default/config-lgsm/btlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btlserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index c02b8c6ca..71c02c3fc 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index a8cd9f6d2..66847b410 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ckserver/_default.cfg b/lgsm/config-default/config-lgsm/ckserver/_default.cfg
index c662f3b04..f54d7cc7f 100644
--- a/lgsm/config-default/config-lgsm/ckserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ckserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
index 29df71d95..776b06a1d 100644
--- a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index 98ea0afb7..9665a9ba8 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index cde7e0113..f9787c352 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index 1c0a0902c..8f1476ad3 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index b3f89889f..c405966d4 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index e906fcf07..ca0f002d3 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/colserver/_default.cfg b/lgsm/config-default/config-lgsm/colserver/_default.cfg
index 1c3b261e2..cd94e9b37 100644
--- a/lgsm/config-default/config-lgsm/colserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/colserver/_default.cfg
@@ -71,11 +71,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/cs2server/_default.cfg b/lgsm/config-default/config-lgsm/cs2server/_default.cfg
index 84679da01..a2df48244 100644
--- a/lgsm/config-default/config-lgsm/cs2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cs2server/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index 11d0da197..29001a098 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index 5efdd4942..29b3aea10 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -114,11 +114,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index 2e53616bd..266448e74 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index 1af41c5fe..103c30897 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ctserver/_default.cfg b/lgsm/config-default/config-lgsm/ctserver/_default.cfg
index ea1ae5229..ac87d7516 100644
--- a/lgsm/config-default/config-lgsm/ctserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ctserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index 62e3acf99..3d5015808 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dayzserver/_default.cfg b/lgsm/config-default/config-lgsm/dayzserver/_default.cfg
index 82901c2cd..f09d23c23 100644
--- a/lgsm/config-default/config-lgsm/dayzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dayzserver/_default.cfg
@@ -93,11 +93,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index 5f56a842c..3d74fca4d 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dodrserver/_default.cfg b/lgsm/config-default/config-lgsm/dodrserver/_default.cfg
index 555a1a007..0565b94e9 100644
--- a/lgsm/config-default/config-lgsm/dodrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodrserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index 61700d621..e2419289a 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index 390f87b70..b6973f0a7 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index 6aa10ee9b..9a06b7b02 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -79,11 +79,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index d757ea732..2c8de8bd4 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -80,11 +80,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index eb1861c7d..fcb37c41a 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index 794a6ed69..c08f37072 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index 1610d0816..1762e5175 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index 18d6d302f..11a408fb8 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/ets2server/_default.cfg b/lgsm/config-default/config-lgsm/ets2server/_default.cfg
index 24462bc45..6abe98fb3 100644
--- a/lgsm/config-default/config-lgsm/ets2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ets2server/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index d77284d5e..284fafaec 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index 1f7ef0168..7ce630310 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index 01ea819f2..2cc683d20 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -88,11 +88,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/hcuserver/_default.cfg b/lgsm/config-default/config-lgsm/hcuserver/_default.cfg
index 67deef669..0925fe384 100644
--- a/lgsm/config-default/config-lgsm/hcuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hcuserver/_default.cfg
@@ -85,11 +85,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index cdbbfb168..c429a6c8e 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index f69d56c34..3bddb128e 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index 0baf4f955..74321c1f4 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
index a353064c8..7fe1a4969 100644
--- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
@@ -88,11 +88,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index b41fb2491..cd1d13029 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -84,11 +84,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index d4d485d68..4049e5e11 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -87,11 +87,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index bcc35e483..ff6764d0b 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index da9b4f40a..5a82bbad9 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index 9c902f476..62d9cd4ab 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/jk2server/_default.cfg b/lgsm/config-default/config-lgsm/jk2server/_default.cfg
index d14b052c2..f238c45fe 100644
--- a/lgsm/config-default/config-lgsm/jk2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jk2server/_default.cfg
@@ -79,11 +79,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index 9ca4a096c..8f44458cd 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index 969c5c65c..d9df57d3e 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -82,11 +82,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index 676a72360..a37ef4eb4 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index cf1f641ec..dc22bc871 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
index db2bbf86d..d7171a3f6 100644
--- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
@@ -73,11 +73,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index b6f923ade..1288fab95 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -79,11 +79,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index 399d7c96b..197440ab2 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -79,11 +79,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index a53e55bfc..dfd87335c 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/momserver/_default.cfg b/lgsm/config-default/config-lgsm/momserver/_default.cfg
index e9b743c00..5834670c9 100644
--- a/lgsm/config-default/config-lgsm/momserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/momserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index ff40ffa67..d1880ef89 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -73,11 +73,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index fcf1caffb..249556af4 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/necserver/_default.cfg b/lgsm/config-default/config-lgsm/necserver/_default.cfg
index 993572b34..8062f8d5f 100644
--- a/lgsm/config-default/config-lgsm/necserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/necserver/_default.cfg
@@ -73,11 +73,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index f3b740a3b..8757caa6c 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index 5fa692c08..2f8f47af5 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -85,11 +85,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index 41970a2f4..9cec798da 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -86,11 +86,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index c207a0a10..367878519 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ohdserver/_default.cfg b/lgsm/config-default/config-lgsm/ohdserver/_default.cfg
index 9eaf0d4a5..26bc3a30c 100644
--- a/lgsm/config-default/config-lgsm/ohdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ohdserver/_default.cfg
@@ -80,11 +80,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
index 39fc4005c..0103ef069 100644
--- a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
@@ -71,11 +71,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index 8ba202b14..93d00fc5c 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pc2server/_default.cfg b/lgsm/config-default/config-lgsm/pc2server/_default.cfg
index b55447802..d4e6ce1d6 100644
--- a/lgsm/config-default/config-lgsm/pc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pc2server/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index 2c1514488..c36dfaac6 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pmcserver/_default.cfg b/lgsm/config-default/config-lgsm/pmcserver/_default.cfg
index 57838ad98..74e0e7e18 100644
--- a/lgsm/config-default/config-lgsm/pmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pmcserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/psserver/_default.cfg b/lgsm/config-default/config-lgsm/psserver/_default.cfg
index e41dee19c..80d991f94 100644
--- a/lgsm/config-default/config-lgsm/psserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/psserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index 0565f806a..1e2ca3660 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pvrserver/_default.cfg b/lgsm/config-default/config-lgsm/pvrserver/_default.cfg
index 2cffabe71..374da3dd1 100644
--- a/lgsm/config-default/config-lgsm/pvrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvrserver/_default.cfg
@@ -79,11 +79,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pwserver/_default.cfg b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
index 03ad83d9e..e069ec1b1 100644
--- a/lgsm/config-default/config-lgsm/pwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index 5a34c04bc..f830d7cc4 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index b92c36c38..79820d650 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index 0a54d2852..74b0d11f3 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/q4server/_default.cfg b/lgsm/config-default/config-lgsm/q4server/_default.cfg
index ffd311e3c..d07828e9f 100644
--- a/lgsm/config-default/config-lgsm/q4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q4server/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index 5d5614a02..84631b765 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index 63d554f27..620943c3e 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index 36845b0a2..bb1957de0 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index 1a95add2a..c000f6181 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index d62dcb048..9011bbced 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index 071d9d008..cf609a84c 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -90,11 +90,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index 9a798c66c..9523dd63b 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index 0888064ba..870603bb0 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index 3c6e3412e..82d651ec3 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index 6032abe06..3d06b4235 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/scpslserver/_default.cfg b/lgsm/config-default/config-lgsm/scpslserver/_default.cfg
index f00574bd8..237bbebe3 100644
--- a/lgsm/config-default/config-lgsm/scpslserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/scpslserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg b/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg
index bb26d6ca6..e54814df2 100644
--- a/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index 24cd2c0ac..0a091dae4 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -73,11 +73,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index 40c5a0c18..831f92353 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/sfserver/_default.cfg b/lgsm/config-default/config-lgsm/sfserver/_default.cfg
index f889b4866..65930bfc1 100644
--- a/lgsm/config-default/config-lgsm/sfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index 59fb8373b..e00afefa1 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index 601018529..8581104dd 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index 55bc2bf44..99b91b538 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/stnserver/_default.cfg b/lgsm/config-default/config-lgsm/stnserver/_default.cfg
index 7bf2d7234..70c7d290c 100644
--- a/lgsm/config-default/config-lgsm/stnserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stnserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index e245c57c0..2f2fe0ed4 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index 11822d1f1..4cd97c50e 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index 0fc6a06b2..fc0d291c9 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index 7d3164e0e..600249013 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index 3334509a1..17787eef5 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/tfserver/_default.cfg b/lgsm/config-default/config-lgsm/tfserver/_default.cfg
index 86994d8e0..c6d9842b3 100644
--- a/lgsm/config-default/config-lgsm/tfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfserver/_default.cfg
@@ -94,11 +94,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/tiserver/_default.cfg b/lgsm/config-default/config-lgsm/tiserver/_default.cfg
index 96a3726fd..4090d85c9 100644
--- a/lgsm/config-default/config-lgsm/tiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tiserver/_default.cfg
@@ -76,11 +76,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index 36c0d2bae..d132d5c57 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index 05189f90b..418727ae6 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index 89c6712bd..ba22c5aa6 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -80,11 +80,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index 6f9c2adb6..4d47cb2d1 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index e76aefba4..a556c1758 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -84,11 +84,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index 709b9855a..ef8fab731 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index 4f0b6a3a0..1088d1f0c 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -90,11 +90,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index f4a3d8ecf..3343afc81 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index 0ffdd821f..299d2571a 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg
index 4e3d23923..355c70824 100644
--- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg
@@ -114,11 +114,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/vintsserver/_default.cfg b/lgsm/config-default/config-lgsm/vintsserver/_default.cfg
index 1b64ae29d..a3bc472c4 100644
--- a/lgsm/config-default/config-lgsm/vintsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vintsserver/_default.cfg
@@ -74,11 +74,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg b/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
index 09d6bf93f..28bc1b2ea 100644
--- a/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index 0195393fd..c7976b384 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 4c3738909..b53a0674c 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -70,11 +70,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Backup | https://docs.linuxgsm.com/commands/backup
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index 80ff4ba96..fb7211c8c 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -75,11 +75,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/wmcserver/_default.cfg b/lgsm/config-default/config-lgsm/wmcserver/_default.cfg
index f38976d6e..c9a0a5d52 100644
--- a/lgsm/config-default/config-lgsm/wmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wmcserver/_default.cfg
@@ -77,11 +77,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index 901417aaf..0141e7d7e 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -114,11 +114,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index 1bcd5d4a7..391d83baf 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -78,11 +78,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index f4497786b..b5a7b3b93 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -83,11 +83,13 @@ slackwebhook="webhook"
 
 # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
 # You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
-# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all".
 telegramapi="api.telegram.org"
 telegramalert="off"
 telegramtoken="accesstoken"
 telegramchatid=""
+telegramthreadid=""
+telegramsilentnotification="false"
 curlcustomstring=""
 
 ## Updating | https://docs.linuxgsm.com/commands/update
diff --git a/lgsm/modules/alert_telegram.sh b/lgsm/modules/alert_telegram.sh
index 3b3ec9912..6f6426cb1 100644
--- a/lgsm/modules/alert_telegram.sh
+++ b/lgsm/modules/alert_telegram.sh
@@ -11,7 +11,9 @@ jsoninfo=$(
 	cat << EOF
 {
 	"chat_id": "${telegramchatid}",
+	"message_thread_id": "${telegramthreadid}",
 	"parse_mode": "HTML",
+	"disable_notification": "${telegramdisablenotification}",
 	"text": "<b>${alerttitle}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Information</b>\n${alertmessage}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n${alertip}:${port}\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>More info</b>\n<a href='${alerturl}'>${alerturl}</a>\n\n<b>Server Time</b>\n$(date)",
 	"disable_web_page_preview": "yes"
 }
@@ -22,7 +24,9 @@ jsonnoinfo=$(
 	cat << EOF
 {
 	"chat_id": "${telegramchatid}",
+	"message_thread_id": "${telegramthreadid}",
 	"parse_mode": "HTML",
+	"disable_notification": "${telegramdisablenotification}",
 	"text": "<b>${alerttitle}</b>\n\n<b>Server name</b>\n${servername}\n\n<b>Information</b>\n${alertmessage}\n\n<b>Game</b>\n${gamename}\n\n<b>Server IP</b>\n${alertip}:${port}\n\n<b>Hostname</b>\n${HOSTNAME}\n\n<b>Server Time</b>\n$(date)",
 	"disable_web_page_preview": "yes"
 }

From 9b62bdeb666766c4e0a6a061dd52cef9e0a2e1cd Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Sat, 9 Mar 2024 12:40:52 +0100
Subject: [PATCH 09/28] feat(dev): add new developer command for parsing distro
 details (#4523)

* feat(dev): add new developer command for parsing distro details

* Updated details-check action to match new command name
---
 .github/workflows/details-check.yml           |   2 +-
 lgsm/modules/command_dev_details.sh           |  98 -----------
 .../command_dev_parse_distro_details.sh       | 114 +++++++++++++
 .../modules/command_dev_parse_game_details.sh | 160 ++++++++++++++++++
 lgsm/modules/core_getopt.sh                   |   5 +-
 lgsm/modules/core_modules.sh                  |   7 +-
 6 files changed, 284 insertions(+), 102 deletions(-)
 delete mode 100644 lgsm/modules/command_dev_details.sh
 create mode 100644 lgsm/modules/command_dev_parse_distro_details.sh
 create mode 100644 lgsm/modules/command_dev_parse_game_details.sh

diff --git a/.github/workflows/details-check.yml b/.github/workflows/details-check.yml
index 2a04dc6ac..748a77991 100644
--- a/.github/workflows/details-check.yml
+++ b/.github/workflows/details-check.yml
@@ -83,7 +83,7 @@ jobs:
         run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details
 
       - name: Detect details
-        run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server detect-details
+        run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server parse-game-details
 
       - name: Query Raw
         run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server query-raw
diff --git a/lgsm/modules/command_dev_details.sh b/lgsm/modules/command_dev_details.sh
deleted file mode 100644
index 93dae77bc..000000000
--- a/lgsm/modules/command_dev_details.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/bash
-# LinuxGSM command_dev_debug.sh module
-# Author: Daniel Gibbs
-# Contributors: http://linuxgsm.com/contrib
-# Website: https://linuxgsm.com
-# Description: Dev only: Enables debugging log to be saved to dev-debug.log.
-
-if [ -f "config" ]; then
-	servercfgfullpath="config"
-fi
-if [ -f "clusterconfig" ]; then
-	clustercfgfullpath="clusterconfig"
-fi
-
-info_game.sh
-
-carriagereturn=$(file -b "${servercfgfullpath}" | grep -q CRLF && echo "${red}CRLF${default}" || echo "${lightgreen}LF${default}")
-
-echo -e ""
-echo -e "${bold}${lightgreen}Server Details${default}"
-fn_messages_separator
-
-echo -e ""
-echo -e "Game: ${gamename}"
-echo -e "Config type: ${configtype}"
-echo -e "Config file: ${servercfgfullpath}"
-if [ -f "${clustercfgfullpath}" ]; then
-	echo -e "Cluster config file: ${clustercfgfullpath}"
-fi
-echo -e "Carriage Return: ${carriagereturn}"
-
-# Create an associative array of the server details.
-declare -A server_details=(
-	['Admin Password']="${adminpassword}"
-	['API Port']="${apiport}"
-	['Cave']="${cave}"
-	['Cluster']="${cluster}"
-	['Config IP']="${configip}"
-	['Default Map']="${defaultmap}"
-	['Game Mode']="${gamemode}"
-	['Game Type']="${gametype}"
-	['HTTP Enabled']="${httpenabled}"
-	['HTTP IP']="${httpip}"
-	['HTTP Password']="${httppassword}"
-	['HTTP Port']="${httpport}"
-	['HTTP User']="${httpuser}"
-	['Internet IP']="${publicip}"
-	['LAN Port']="${lanport}"
-	['Master Port']="${masterport}"
-	['Master']="${master}"
-	['Maxplayers']="${maxplayers}"
-	['OldQueryPortNumber']="${oldqueryportnumber}"
-	['Port']="${port}"
-	['Query Port']="${queryport}"
-	['RCON Enabled']="${rconenabled}"
-	['RCON Password']="${rconpassword}"
-	['RCON Port']="${rconport}"
-	['Reserved Slots']="${reservedslots}"
-	['Server IP']="${ip}"
-	['Server Password']="${serverpassword}"
-	['Servername']="${servername}"
-	['Shard']="${shard}"
-	['Sharding']="${sharding}"
-	['Steam Auth Port']="${steamauthport}"
-	['Telnet Enabled']="${telnetenabled}"
-	['Telnet IP']="${telnetip}"
-	['Telnet Password']="${telnetpassword}"
-	['Telnet Port']="${telnetport}"
-	['Tickrate']="${tickrate}"
-	['World Name']="${worldname}"
-	['World Type']="${worldtype}"
-)
-
-# Initialize a variable to keep track of missing server details.
-missing_details=""
-
-# Loop through the server details and output them.
-echo -e ""
-echo -e "${bold}${lightgreen}Available Server Details${default}"
-fn_messages_separator
-for key in "${!server_details[@]}"; do
-	value=${server_details[$key]}
-	if [ -z "$value" ]; then
-		missing_details+="\n${key}"
-	else
-		echo -e "$key: $value "
-	fi
-done
-
-# Output the missing server details if there are any.
-if [ -n "$missing_details" ]; then
-	echo -e ""
-	echo -e "${lightgreen}Missing Server Details${default}"
-	fn_messages_separator
-	echo -e "${missing_details}"
-fi
-
-core_exit.sh
diff --git a/lgsm/modules/command_dev_parse_distro_details.sh b/lgsm/modules/command_dev_parse_distro_details.sh
new file mode 100644
index 000000000..ca2bfd9ed
--- /dev/null
+++ b/lgsm/modules/command_dev_parse_distro_details.sh
@@ -0,0 +1,114 @@
+#!/bin/bash
+# LinuxGSM command_dev_parse_distro_details.sh module
+# Author: Daniel Gibbs
+# Contributors: http://linuxgsm.com/contrib
+# Website: https://linuxgsm.com
+# Description: Display parsed distro details.
+
+check_ip.sh
+check_status.sh
+info_distro.sh
+
+# Create an associative array of the server details.
+declare -A server_details=(
+	['.NET Version']="${dotnetversion}"
+	['Arch']="${arch}"
+	['Backup Count']="${backupcount}"
+	['Backup Last Date']="${lastbackupdate}"
+	['Backup Last Days Ago']="${lastbackupdaysago}"
+	['Backup Last Size']="${lastbackupsize}"
+	['Backup Last']="${lastbackup}"
+	['CPU Average Load']="${load}"
+	['CPU Cores']="${cpucores}"
+	['CPU Frequency']="${cpufreqency}"
+	['CPU Model']="${cpumodel}"
+	['Distro Codename']="${distrocodename}"
+	['Distro ID Like']="${distroidlike}"
+	['Distro ID']="${distroid}"
+	['Distro Kernel']="${kernel}"
+	['Distro Name']="${distroname}"
+	['Distro Version CSV']="${distroversioncsv}"
+	['Distro Version RH']="${distroversionrh}"
+	['Distro Version']="${distroversion}"
+	['Distro-Info Support']="${distrosupport}"
+	['File System']="${filesystem}"
+	['Game Server PID']="${gameserverpid}"
+	['Gameserver CPU Used MHz']="${cpuusedmhz}"
+	['Gameserver CPU Used']="${cpuused}"
+	['Gameserver Mem Used MB']="${memusedmb}"
+	['Gameserver Mem Used Pct']="${memusedpct}"
+	['GLIBC Version']="${glibcversion}"
+	['GLIBC']="${glibc}"
+	['HLDS Linux PID']="${hldslinuxpid}"
+	['Java Version']="${javaversion}"
+	['Mono Version']="${monoversion}"
+	['Network Interface']="${netint}"
+	['Network Link Speed']="${netlink}"
+	['Old Free']="${oldfree}"
+	['Phys Mem Available']="${physmemavailable}"
+	['Phys Mem Buffers KB']="${physmembufferskb}"
+	['Phys Mem Cached']="${physmemcached}"
+	['Phys Mem Free']="${physmemfree}"
+	['Phys Mem Reclaimable KB']="${physmemreclaimablekb}"
+	['Phys Mem Total GB']="${physmemtotalgb}"
+	['Phys Mem Used']="${physmemused}"
+	['Size Backup Dir']="${backupdirdu}"
+	['Size Root Dir ']="${rootdirdu}"
+	['Size Root Dir Excl. Backup']="${rootdirduexbackup}"
+	['Size Serverfiles']="${serverfilesdu}"
+	['SRCDS Linux PID']="${srcdslinuxpid}"
+	['Storage Available']="${availspace}"
+	['Storage Total']="${totalspace}"
+	['Storage Used']="${usedspace}"
+	['Swap Free']="${swapfree}"
+	['Swap Total']="${swaptotal}"
+	['Swap Used']="${swapused}"
+	['Tmux Version']="${tmuxversion}"
+	['Uptime Days']="${days}"
+	['Uptime Hours']="${hours}"
+	['Uptime Minutes']="${minutes}"
+	['Uptime Total Seconds']="${uptime}"
+	['Virtual Environment']="${virtualenvironment}"
+	# ['Distro Info Array']="${distro_info_array}"
+	# ['Distros Unsupported Array']="${distrosunsupported_array}"
+	# ['Distros Unsupported']="${distrosunsupported}"
+	# ['Human Readable']="${humanreadable}"
+	# ['Phys Mem Actual Free KB']="${physmemactualfreekb}"
+	# ['Phys Mem Cached KB']="${physmemcachedkb}"
+	# ['Phys Mem Free KB']="${physmemfreekb}"
+	# ['Phys Mem Total KB']="${physmemtotalkb}"
+	# ['Phys Mem Total MB']="${physmemtotalmb}"
+	# ['SS Info']="${ssinfo}"
+)
+
+# Initialize variables to keep track of available and missing distro details.
+available_details=""
+missing_details=""
+
+# Loop through the distro details and store them.
+for key in "${!server_details[@]}"; do
+    value=${server_details[$key]}
+	if [ -n "$value" ]; then
+		available_details+="${lightblue}${key}: ${default}${value}\n"
+	else
+		missing_details+="${key}\n"
+	fi
+done
+
+# Sort and output the available distro details.
+if [ -n "$available_details" ]; then
+    echo -e ""
+    echo -e "${bold}${lightgreen}Available Distro Details${default}"
+    fn_messages_separator
+    echo -e "${available_details}" | sort
+fi
+
+# Sort and output the missing distro details.
+if [ -n "$missing_details" ]; then
+    echo -e ""
+    echo -e "${lightgreen}Missing or unsupported Distro Details${default}"
+    fn_messages_separator
+    echo -e "${missing_details}" | sort
+fi
+
+core_exit.sh
diff --git a/lgsm/modules/command_dev_parse_game_details.sh b/lgsm/modules/command_dev_parse_game_details.sh
new file mode 100644
index 000000000..f5d6d697d
--- /dev/null
+++ b/lgsm/modules/command_dev_parse_game_details.sh
@@ -0,0 +1,160 @@
+#!/bin/bash
+# LinuxGSM command_dev_parse_game_details.sh module
+# Author: Daniel Gibbs
+# Contributors: http://linuxgsm.com/contrib
+# Website: https://linuxgsm.com
+# Description: Display parsed gameserver details.
+
+if [ -f "config" ]; then
+	servercfgfullpath="config"
+fi
+if [ -f "clusterconfig" ]; then
+	clustercfgfullpath="clusterconfig"
+fi
+
+info_game.sh
+
+carriagereturn=$(file -b "${servercfgfullpath}" | grep -q CRLF && echo "${red}CRLF${default}" || echo "${lightgreen}LF${default}")
+
+echo -e ""
+echo -e "${bold}${lightgreen}Server Details${default}"
+fn_messages_separator
+
+echo -e ""
+echo -e "${lightblue}Game: ${default}${gamename}"
+echo -e "${lightblue}Config type: ${default}${configtype}"
+echo -e "${lightblue}Config file: ${default}${servercfgfullpath}"
+if [ -f "${clustercfgfullpath}" ]; then
+	echo -e "${lightblue}Cluster config file: ${default}${clustercfgfullpath}"
+fi
+echo -e "${lightblue}Carriage Return: ${default}${carriagereturn}"
+
+# Create an associative array of the server details.
+declare -A server_details=(
+	['Admin Password']="${adminpassword}"
+	['Alert IP']="${alertip}"
+	['API Port']="${apiport}"
+	['App Port']="${appport}"
+	['ASE']="${ase}"
+	['Auth Token']="${authtoken}"
+	['BattleEye Port']="${battleeyeport}"
+	['Beacon Port']="${beaconport}"
+	['Cave']="${cave}"
+	['Client Port']="${clientport}"
+	['Cluster']="${cluster}"
+	['Config IP']="${configip}"
+	['Creative Mode']="${creativemode}"
+	['Custom Level URL']="${customlevelurl}"
+	['DB Plugin']="${dbplugin}"
+	['Default Map']="${defaultmap}"
+	['Default Scenario']="${defaultscenario}"
+	['Display Master Server']="${displaymasterserver}"
+	['Epic Settings']="${epicsettings}"
+	['File Port']="${fileport}"
+	['Files Port']="${filesport}"
+	['Game Mode']="${gamemode}"
+	['Game Type']="${gametype}"
+	['Home Kingdom']="${homekingdom}"
+	['Home Server']="${homeserver}"
+	['HTTP Enabled']="${httpenabled}"
+	['HTTP IP']="${httpip}"
+	['HTTP Password']="${httppassword}"
+	['HTTP Port']="${httpport}"
+	['HTTP User']="${httpuser}"
+	['Internet IP']="${publicip}"
+	['LAN Port']="${lanport}"
+	['Login Server']="${loginserver}"
+	['Master Port']="${masterport}"
+	['Master Server']="${masterserver}"
+	['Master']="${master}"
+	['Max Players']="${maxplayers}"
+	['Mod Server Port']="${modserverport}"
+	['OldQueryPortNumber']="${oldqueryportnumber}"
+	['Password']="${password}"
+	['Port 401']="${port401}"
+	['Port IPv6']="${portipv6}"
+	['Port']="${port}"
+	['Query Enabled']="${queryenabled}"
+	['Query HTTP Port']="${queryhttpport}"
+	['Query HTTPS Port']="${queryhttpsport}"
+	['Query Mode']="${querymode}"
+	['Query Port GS']="${queryportgs}"
+	['Query Port']="${queryport}"
+	['Query SSH Port']="${querysshport}"
+	['Queue Enabled']="${queueenabled}"
+	['Queue Port']="${queueport}"
+	['Random Map']="${randommap}"
+	['Raw Port']="${rawport}"
+	['RC Password']="${rcpassword}"
+	['RCON Enabled']="${rconenabled}"
+	['RCON Password']="${rconpassword}"
+	['RCON Port']="${rconport}"
+	['RCON Web']="${rconweb}"
+	['Reserved Slots']="${reservedslots}"
+	['RMI Port']="${rmiport}"
+	['RMI Reg Port']="${rmiregport}"
+	['Salt']="${salt}"
+	['Save Game Interval']="${savegameinterval}"
+	['Save Interval']="${saveinterval}"
+	['Secondary Port']="${port3}"
+	['Seed']="${seed}"
+	['Server Description']="${serverdescription}"
+	['Server IP']="${ip}"
+	['Server Level']="${serverlevel}"
+	['Server Name']="${servername}"
+	['Server Password Enabled']="${serverpasswordenabled}"
+	['Server Password']="${serverpassword}"
+	['Server Version']="${serverversion}"
+	['Shard']="${shard}"
+	['Sharding']="${sharding}"
+	['Shutdown Port']="${shutdownport}"
+	['Stats Port']="${statsport}"
+	['Steam Auth Port']="${steamauthport}"
+	['Steam Port']="${steamport}"
+	['Steamworks Port']="${steamworksport}"
+	['Telnet Enabled']="${telnetenabled}"
+	['Telnet IP']="${telnetip}"
+	['Telnet Password']="${telnetpass}"
+	['Telnet Password']="${telnetpassword}"
+	['Telnet Port']="${telnetport}"
+	['Tickrate']="${tickrate}"
+	['Unknown Port']="${unknownport}"
+	['Version Count']="${versioncount}"
+	['Voice Port']="${voiceport}"
+	['Voice Unused Port']="${voiceunusedport}"
+	['World Name']="${worldname}"
+	['World Size']="${worldsize}"
+	['World Type']="${worldtype}"
+)
+
+# Initialize variables to keep track of available and missing server details.
+available_details=""
+missing_details=""
+
+# Loop through the server details and store them.
+for key in "${!server_details[@]}"; do
+    value=${server_details[$key]}
+	if [ -n "$value" ]; then
+		available_details+="${lightblue}${key}: ${default}${value}\n"
+	else
+		missing_details+="${key}\n"
+	fi
+done
+
+# Sort and output the available distro details.
+if [ -n "$available_details" ]; then
+	echo -e ""
+    echo -e "${bold}${lightgreen}Available Distro Details${default}"
+    fn_messages_separator
+    echo -e "${available_details}" | sort
+fi
+
+# Output the missing server details if there are any.
+if [ -n "$missing_details" ]; then
+	echo -e ""
+	echo -e "${lightgreen}Missing or unsupported Server Details${default}"
+	fn_messages_separator
+	echo -e "${missing_details}" | sort
+fi
+
+core_exit.sh
diff --git a/lgsm/modules/core_getopt.sh b/lgsm/modules/core_getopt.sh
index 685e1ce8b..cd3e57cb5 100644
--- a/lgsm/modules/core_getopt.sh
+++ b/lgsm/modules/core_getopt.sh
@@ -50,7 +50,8 @@ cmd_install_squad_license=("li;license" "install_squad_license.sh" "Add your Squ
 cmd_fastdl=("fd;fastdl" "command_fastdl.sh" "Build a FastDL directory.")
 # Dev commands.
 cmd_dev_debug=("dev;developer" "command_dev_debug.sh" "Enable developer Mode.")
-cmd_dev_details=("ddt;detect-details" "command_dev_details.sh" "Display parsed details.")
+cmd_dev_parse_game_details=("pgd;parse-game-details" "command_dev_parse_game_details.sh" "Display parsed gameserver details.")
+cmd_dev_parse_distro_details=("pdd;parse-distro-details" "command_dev_parse_distro_details.sh" "Display parsed distro details.")
 cmd_dev_detect_deps=("dd;detect-deps" "command_dev_detect_deps.sh" "Detect required dependencies.")
 cmd_dev_detect_glibc=("dg;detect-glibc" "command_dev_detect_glibc.sh" "Detect required glibc.")
 cmd_dev_detect_ldd=("dl;detect-ldd" "command_dev_detect_ldd.sh" "Detect required dynamic dependencies.")
@@ -146,7 +147,7 @@ currentopt+=("${cmd_install[@]}" "${cmd_auto_install[@]}")
 ## Developer commands.
 currentopt+=("${cmd_dev_debug[@]}")
 if [ -f ".dev-debug" ]; then
-	currentopt+=("${cmd_dev_details[@]}" "${cmd_dev_detect_deps[@]}" "${cmd_dev_detect_glibc[@]}" "${cmd_dev_detect_ldd[@]}" "${cmd_dev_query_raw[@]}" "${cmd_dev_clear_modules[@]}")
+	currentopt+=("${cmd_dev_parse_game_details[@]}" "${cmd_dev_parse_distro_details[@]}" "${cmd_dev_detect_deps[@]}" "${cmd_dev_detect_glibc[@]}" "${cmd_dev_detect_ldd[@]}" "${cmd_dev_query_raw[@]}" "${cmd_dev_clear_modules[@]}")
 fi
 
 ## Sponsor.
diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh
index e1621f014..7ea0402e3 100644
--- a/lgsm/modules/core_modules.sh
+++ b/lgsm/modules/core_modules.sh
@@ -299,7 +299,12 @@ command_dev_debug.sh() {
 	fn_fetch_module
 }
 
-command_dev_details.sh() {
+command_dev_parse_game_details.sh() {
+	modulefile="${FUNCNAME[0]}"
+	fn_fetch_module
+}
+
+command_dev_parse_distro_details.sh() {
 	modulefile="${FUNCNAME[0]}"
 	fn_fetch_module
 }

From 7cc5b6b520d527a09d1eb08359e4545dcdc0ef3c Mon Sep 17 00:00:00 2001
From: Cristopfer Luis <ocristopfer@gmail.com>
Date: Thu, 14 Mar 2024 12:38:01 -0300
Subject: [PATCH 10/28] feat(new server): humanitz (#4518)

* feat: add config for humanitz

* fix: pending changes required

* fix: install config

* bug

---------

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 .../config-lgsm/hzserver/_default.cfg         | 184 ++++++++++++++++++
 lgsm/data/almalinux-8.csv                     |   1 +
 lgsm/data/almalinux-9.csv                     |   1 +
 lgsm/data/centos-7.csv                        |   1 +
 lgsm/data/centos-8.csv                        |   1 +
 lgsm/data/centos-9.csv                        |   1 +
 lgsm/data/debian-10.csv                       |   1 +
 lgsm/data/debian-11.csv                       |   1 +
 lgsm/data/debian-12.csv                       |   1 +
 lgsm/data/debian-9.csv                        |   1 +
 lgsm/data/rhel-7.csv                          |   1 +
 lgsm/data/rhel-8.csv                          |   1 +
 lgsm/data/rhel-9.csv                          |   1 +
 lgsm/data/rocky-8.csv                         |   1 +
 lgsm/data/rocky-9.csv                         |   1 +
 lgsm/data/serverlist.csv                      |   1 +
 lgsm/data/ubuntu-16.04.csv                    |   1 +
 lgsm/data/ubuntu-18.04.csv                    |   1 +
 lgsm/data/ubuntu-20.04.csv                    |   1 +
 lgsm/data/ubuntu-22.04.csv                    |   1 +
 lgsm/data/ubuntu-23.04.csv                    |   1 +
 lgsm/data/ubuntu-23.10.csv                    |   1 +
 lgsm/modules/info_game.sh                     |  19 ++
 lgsm/modules/info_messages.sh                 |  11 ++
 lgsm/modules/install_config.sh                |   3 +
 25 files changed, 238 insertions(+)
 create mode 100644 lgsm/config-default/config-lgsm/hzserver/_default.cfg

diff --git a/lgsm/config-default/config-lgsm/hzserver/_default.cfg b/lgsm/config-default/config-lgsm/hzserver/_default.cfg
new file mode 100644
index 000000000..b610594e7
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/hzserver/_default.cfg
@@ -0,0 +1,184 @@
+##################################
+######## 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.
+
+#### Game Server Settings ####
+
+## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
+ip="0.0.0.0"
+port="7777"
+queryport="27015"
+servername="LinuxGSM"
+
+## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+startparameters="-log -port=${port} -queryport=${queryport} -steamservername=${servername}"
+
+#### 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"
+
+# Alert on Start/Stop/Restart
+statusalert="off"
+
+# 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=""
+
+# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify
+gotifyalert="off"
+gotifytoken="token"
+gotifywebhook="webhook"
+
+# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
+iftttalert="off"
+ifttttoken="accesstoken"
+iftttevent="linuxgsm_alert"
+
+# 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"
+pushoveruserkey="userkey"
+
+# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat
+rocketchatalert="off"
+rocketchatwebhook="webhook"
+
+# 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) in "curlcustomstring".
+# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
+telegramapi="api.telegram.org"
+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="5"
+
+## 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="2728330"
+steamcmdforcewindows="no"
+# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
+branch="linuxbranch"
+betapassword=""
+# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
+steammaster="true"
+
+## 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: GoldSrc
+# 10: Avorion
+# 11: end
+stopmode="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig (gsquery fallback)
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Console type
+consoleverbose="no"
+consoleinteract="no"
+
+## Game Server Details
+# Do not edit
+gamename="HumanitZ"
+engine="unreal4"
+glibc="2.17"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}/TSSGame"
+executabledir="${systemdir}/Binaries/Linux"
+executable="./TSSGameServer-Linux-Shipping"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
+servercfg="GameUserSettings.ini"
+servercfgdefault="GameUserSettings.ini"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
+gamelogdir="${systemdir}/Saved/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"
+
+## Log Parameters
+logtimestamp="off"
+logtimestampformat="%Y-%m-%d %H:%M:%S"
diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv
index c156eb053..e73fcfaa0 100644
--- a/lgsm/data/almalinux-8.csv
+++ b/lgsm/data/almalinux-8.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv
index faacfa915..f5b5b5fc5 100644
--- a/lgsm/data/almalinux-9.csv
+++ b/lgsm/data/almalinux-9.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv
index 84df6f5c6..a80043346 100644
--- a/lgsm/data/centos-7.csv
+++ b/lgsm/data/centos-7.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv
index c156eb053..e73fcfaa0 100644
--- a/lgsm/data/centos-8.csv
+++ b/lgsm/data/centos-8.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv
index faacfa915..f5b5b5fc5 100644
--- a/lgsm/data/centos-9.csv
+++ b/lgsm/data/centos-9.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv
index 5f7f5f261..f5d63b026 100644
--- a/lgsm/data/debian-10.csv
+++ b/lgsm/data/debian-10.csv
@@ -53,6 +53,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv
index 3ecedd538..97f5b978d 100644
--- a/lgsm/data/debian-11.csv
+++ b/lgsm/data/debian-11.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv
index 0ff8b391d..e54d9b12b 100644
--- a/lgsm/data/debian-12.csv
+++ b/lgsm/data/debian-12.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv
index cb5eea4a1..87b6dad91 100644
--- a/lgsm/data/debian-9.csv
+++ b/lgsm/data/debian-9.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv
index 2b3be410d..3ecff6183 100644
--- a/lgsm/data/rhel-7.csv
+++ b/lgsm/data/rhel-7.csv
@@ -55,6 +55,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv
index c156eb053..e73fcfaa0 100644
--- a/lgsm/data/rhel-8.csv
+++ b/lgsm/data/rhel-8.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv
index faacfa915..f5b5b5fc5 100644
--- a/lgsm/data/rhel-9.csv
+++ b/lgsm/data/rhel-9.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv
index c156eb053..e73fcfaa0 100644
--- a/lgsm/data/rocky-8.csv
+++ b/lgsm/data/rocky-8.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv
index faacfa915..f5b5b5fc5 100644
--- a/lgsm/data/rocky-9.csv
+++ b/lgsm/data/rocky-9.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,zlib-devel
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv
index 841dcbf42..ae270f965 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -53,6 +53,7 @@ hl2dm,hl2dmserver,Half-Life 2: Deathmatch,ubuntu-22.04
 hldm,hldmserver,Half-Life: Deathmatch,ubuntu-22.04
 hldms,hldmsserver,Half-Life Deathmatch: Source,ubuntu-22.04
 hw,hwserver,Hurtworld,ubuntu-22.04
+hz,hzserver,Humanitz,ubuntu-22.04
 ins,insserver,Insurgency,ubuntu-22.04
 inss,inssserver,Insurgency: Sandstorm,ubuntu-22.04
 ios,iosserver,IOSoccer,ubuntu-22.04
diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv
index 9d88fde5c..41dbd0bc5 100644
--- a/lgsm/data/ubuntu-16.04.csv
+++ b/lgsm/data/ubuntu-16.04.csv
@@ -55,6 +55,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv
index a0b809b05..469c66705 100644
--- a/lgsm/data/ubuntu-18.04.csv
+++ b/lgsm/data/ubuntu-18.04.csv
@@ -55,6 +55,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv
index 092792fa3..4a41435c2 100644
--- a/lgsm/data/ubuntu-20.04.csv
+++ b/lgsm/data/ubuntu-20.04.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv
index 21bab16cb..323b82a08 100644
--- a/lgsm/data/ubuntu-22.04.csv
+++ b/lgsm/data/ubuntu-22.04.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv
index a29f403d7..e249a2968 100644
--- a/lgsm/data/ubuntu-23.04.csv
+++ b/lgsm/data/ubuntu-23.04.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv
index a29f403d7..e249a2968 100644
--- a/lgsm/data/ubuntu-23.10.csv
+++ b/lgsm/data/ubuntu-23.10.csv
@@ -54,6 +54,7 @@ hl2dm
 hldm
 hldms
 hw,lib32z1
+hz
 ins
 inss
 ios
diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh
index 97f8da87e..0725845a0 100644
--- a/lgsm/modules/info_game.sh
+++ b/lgsm/modules/info_game.sh
@@ -1328,6 +1328,23 @@ fn_info_game_hw() {
 	creativemode="${creativemode:-"NOT SET"}"
 }
 
+# Config Type: ini
+# Parameters: true
+# Comment: ; or #
+# Example: ServerName=SERVERNAME
+# Filetype: ini
+fn_info_game_hz() {
+	if [ -f "${servercfgfullpath}" ]; then
+		fn_info_game_ini "adminpassword" "AdminPassword"
+		fn_info_game_ini "servername" "ServerName"
+	fi
+	adminpass="${adminpassword:-"NOT SET"}"
+	port="${port:-"0"}"
+	queryport="${queryport:-"0"}"
+	rconport="$((port + 2))"
+	servername="${servername:-"NOT SET"}"
+}
+
 # Config Type: parameters
 # Parameters: true
 # Comment:
@@ -2335,6 +2352,8 @@ elif [ "${shortname}" == "fctr" ]; then
 	fn_info_game_fctr
 elif [ "${shortname}" == "hw" ]; then
 	fn_info_game_hw
+elif [ "${shortname}" == "hz" ]; then
+	fn_info_game_hz
 elif [ "${shortname}" == "inss" ]; then
 	fn_info_game_inss
 elif [ "${shortname}" == "jc2" ]; then
diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh
index c5d03919c..a1e8f52ac 100644
--- a/lgsm/modules/info_messages.sh
+++ b/lgsm/modules/info_messages.sh
@@ -1064,6 +1064,15 @@ fn_info_messages_hw() {
 	} | column -s $'\t' -t
 }
 
+fn_info_messages_hz() {
+	{
+		fn_port "header"
+		fn_port "Game" port udp
+		fn_port "Query" queryport udp
+		fn_port "RCON" rconport tcp
+	} | column -s $'\t' -t
+}
+
 fn_info_messages_ins() {
 	{
 		fn_port "header"
@@ -1771,6 +1780,8 @@ fn_info_messages_select_engine() {
 		fn_info_messages_hcu
 	elif [ "${shortname}" == "hw" ]; then
 		fn_info_messages_hw
+	elif [ "${shortname}" == "hz" ]; then
+		fn_info_messages_hz
 	elif [ "${shortname}" == "ins" ]; then
 		fn_info_messages_ins
 	elif [ "${shortname}" == "inss" ]; then
diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh
index a5a049913..9b3146770 100644
--- a/lgsm/modules/install_config.sh
+++ b/lgsm/modules/install_config.sh
@@ -495,6 +495,9 @@ elif [ "${shortname}" == "hl2dm" ]; then
 	fn_default_config_remote
 	fn_set_config_vars
 	fn_list_config_locations
+elif [ "${shortname}" == "hz" ]; then
+	# Config is generated on first run
+	:
 elif [ "${shortname}" == "ins" ]; then
 	array_configs+=(server.cfg)
 	fn_fetch_default_config

From 9d489d56dc9028b54d6d09fa1a2a2d274be76a10 Mon Sep 17 00:00:00 2001
From: Josh Gelman <Gelmo@users.noreply.github.com>
Date: Sat, 23 Mar 2024 05:01:23 -0600
Subject: [PATCH 11/28] fear(wf): Update Warfork path (#4541)

As of the latest update on Steam, the installation directory for Linux has been moved out of `Warfork.app/Contents/Resources/`

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 lgsm/config-default/config-lgsm/wfserver/_default.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index fb7211c8c..d59790ca5 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -156,7 +156,7 @@ glibc="2.15"
 # Edit with care
 
 ## Game Server Directories
-systemdir="${serverfiles}/Warfork.app/Contents/Resources"
+systemdir="${serverfiles}"
 executabledir="${systemdir}"
 executable="./wf_server.x86_64"
 servercfgdir="${systemdir}/basewf"

From 4fdf1f1af81e8549693759a6229279210c107204 Mon Sep 17 00:00:00 2001
From: Cristopfer Luis <ocristopfer@gmail.com>
Date: Sat, 23 Mar 2024 08:01:57 -0300
Subject: [PATCH 12/28] fix: add humanitz icon (#4536)

---
 lgsm/data/gameicons/hz-icon.png | Bin 0 -> 2783 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 lgsm/data/gameicons/hz-icon.png

diff --git a/lgsm/data/gameicons/hz-icon.png b/lgsm/data/gameicons/hz-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d2428669491e34cccea37d2311a988dac7027aa
GIT binary patch
literal 2783
zcmV<53Ly1~P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T<mc!T}X1N`L?W3Uo<CK~z{rWmkEO
zRrMLYFw1-I?)!e<d$TgkMi~$T)M{HbO8G;pR&896HV_qylUUhos*P=vnrO9dRg%_(
z7?2QSDvB1Y8%6;I9d}LC*4PFkZHho8wWsI1GtZ87l9Ri<JHPMzzU6%1PqAGG0>^W|
zfa`m(r@`d!x@$wV%@UepmCrSPJHv6%?gnto2uUqO_Y4<(ii?3ZAH8aXSaV_7E^5Aw
zHs8cdM@O5bp=PQuEFH@K8*ae~{4b#-;=3gofyM82zMska4$p^S2k>+sam7L2?x0@v
zQ8xkv7B}H|Py+`Q&qAkTpkf=)Z2ijwrW^OTa0}Ca7ZP&c@>=PIBt$ifprsLvga`xJ
zVF)jZ5hU>!#0}4Z;n*;3tAu4u;wvGTPNW6j_YnjELM|*<dG;KBPxouwQPnfh;Tv?Z
zju`=WMYKgGDj|(U41tigZP=y-cM5WE8735ARWc(9!52i_NyKrCguBU-v_v6Sc@84v
zbbUcDq$J?cxE^Y#rY1Tv6P>9=?^tj`8!mGu&<zBdj!3r=8hl3rCf_M7!>zcs2zVZM
z?s|yBXwo2&hcW6wjKUY=Aqsk++cVK{RYYEuxl)0dXwXxQ;V@u@CZf<mLIR1VAyExv
zI-gA!zDbV=0W0tzXeFD(-Dez2m-|7v<9eK;5hkVax)+sb_%Ry%Ht{O(9R-dx3D<68
zc-rAv?eMjBbVnW<^l(mNId|S*vKDTLgjb(L6enT{5nd#T!x$4`%<|#R1+%(((BJIF
zK+%Q%tbtimn9b+WJjb_s>Nvd~;*8kGQs&5a>7{eR3}=Tq&h%3(WEG5>^ptL*&O9i+
z7bi%#0nhQ7FIiI7wipl71ToRp(T*E_dOcp=e*gzR{0Kk1WErgXDt15q1m4)YA0NK?
zE^b_V9nPLT7rz)h5gQwG@j$)+kLHW9EBQJe4HjW*w3zQt!cC*!#t-_&uqbVyC*r2K
zzQc;KxJi>X6_2GOArRw|0})F{uxZmK9R2hN4jud$E0!&XThlSI=S3X)%U^Ni;352M
z%?2zAa;$62#>Qe4+oCZ%TpPhoWe`udkKvEzLTn+4b<QBpb{ZIU0;D0UDhpw;Y;D@`
zl7wX_WkxnxqYj<*DIw_T>&1>8JAnTH$BrDu6)RT4VadET@fvXSGvMFA^=sB6s#P(T
zJ2<l*;1cG=RqZZr>Zs%X=mcyk7UNgx7|!YpFpr6svs%2Axt253iI9oV3`jt--(}L}
z%|@AoLO|TKdGlr*KYkqYxB99dl{Ne7D--zqGrl9SpR8Gj&JG2B!3qcz40I}3qH5Ss
z4B^h<Q*dL~30P*;u~>J}Pa6S^+sy!O!Q`VS>P*Cbj|3#+MVXQ;Et5~6>Kbmp^A3FS
z_d{X}<KyF{CQM9B;MlQaC8_mmNuV+ljUFFa*oHYy1sBkB8|E*<`jHcHanyyAswU<z
z!5cY~ycxpm4(S0_Ss>NmVZe)_q<Kb7W)il_j~=M1wUWR;KRt}2|2l@%<5!o&Cf;}*
zM~)rE=cKiE{W@rscJz8W=1>Qg(t}sdKM||vF2MJaCQhc?=TWG7Qm$FJ&>9}}CVNW8
zkdr`@6;Ki=vy#at2IMLPEY|H^_uhkphd#l_^uo$3uP76A-zx{o=cC6z!?h$3R4Q0F
zvx@Vz0ITXl7$2C2OOqaavua_C;TUC~$YP2d)v=n}B?$>ZNO{f~mM)5&B0CqO1(Q&E
zf=`L{{1CU_eJ|d4_dWdWlYii{6_=xfO7_IF&*FnWe~80}50@e6>eO%{GyIxl5NmqI
zu%Z~icdQ5tY9{&_#+)h{WNbnyjTh`WT?}y}rM!no*-LV^X+<7v>OjJhFboSm6JzPp
zbMe@&=kU~?3G93QJ>2p8`?31k>+tZSJMsQIAK={suj0n>AEQtdtn8bE%bP>EFzvyq
zPKc43hK5=}9x$)!taTF53%Z{>w+jj#%TENZ@Tsg0L*SC7kZ^4WX<Q)ibKG~|R=o7;
z``G>B+jwUGJ9vR4p5Ol#_U@g)#0xLuqlve0^VMrHPj#`ZcNiBWT{zVWO1Jm0G*hdF
zfKAAuVJ+v}z^jon#JRL+dVsQCco`)*B>|tiW?4w{sTbXdqXOHv{|S3udK<fTAHX9|
z?!nXhUc=t~Z{mqv&)}IIPvZ5bp2ynnFULtFdwzp%cM~k=sA2ZZHgv01_6d44=9(#6
zaZckTVAHspO%Y&kNvQ#u=s-ecQuP{&qCgm={Kq<$FJFZ%+jii=?N8yM$DYMC8-9-S
zF1QSL-?0%d?A(p5w{OH*a~GBbPNUv0R!s~lGto0cDG79WHcOKoFPah`R)QG!@`Q?;
zAtHe&qU_TXN|*)EIaEkFI?|z-1NHg<es|wCY<p-Yw(oonr!P4VilXASn|_0dr}tsa
z#Vau1%khn{j<0p-7;dXzR$B*pJ3G<TRMt4xV_pTWL1P|8XtK{p-wCp;Bq5&g*_0GB
zFp)O%vh;+Nt~u!M8^M+>f4~FV9>LZJAIDkeT!d=H!mYpjH6FZo6V4b}fZ?i(#f;-%
zMZ*vWjbVz}5HougE2)>V+u#^hu*YPqu!K1#<vvM*#tE0gCr}Iy3{jDkC72``4e1yi
znTOkM{Vi^}<u2TO>peL4+>4Ne1ui}BVqCK19E`Xb=G1(Qap)XoyPeH`GDHy@;?Oe4
z3?E=y?h7~}^V;CGU>8iK1&i9|X&DNa9=Ca~1oZ@+dbMmuGV9eUDo3y!D_5+-m8-_F
zZru$y`IOV3s}`DkpVlnQ<_JFDPBF}pdluEMiz3xzukYf7)Jw_k<rLg)aWdxE)ug60
zNJ?gaG-d2%=iIPUWH1X7&{!@yrBRxa433V)0n+3oYjBd~#A36yZMIUE*NE4Gzx8Q8
zhE(ocql*m#vFHfpyx^28M!Wcbf(F+T$t_4yX2^)1kj^U!DOF(>)B%-(p;8NEF#R6^
zk`WSgugOD)$=T3#eS{>C@m;s!m&W@IkA`go4rf2^KBbn3y4ATxX`BtGMIfaoB8EdG
zUuF=|1R<eRT<SCzkXb<HbQzZ&E-FOiL?gxp78j8rHQ}NSlcyfWznkI{(cK<r{(!&7
zB$?7+E}ohOc}_fjO9CSMGJVNZWOFc4I(S0q<OxMJ4Vb1mjQ~Buuox65IaJ8uLe2;w
zNo2N<CXLI083{4wPI-2iB9YN+0x>Lv<ehvcznA9<CalaLE~`W7Ff~*Rp4AK<l^9PM
zJX$0ydPa<EKJ`4HM_5*(n6jWOE(kcD`*g2B?gbHt4KY|6WoZh;djcWRA}mna4Yedt
zW%tr`y*w-k3Cl7{fzl||k|!FK&7fqLBOL!xTq<Z0@Oa;X<V)*dBc~_nGjft@LA=-k
zJ;1{vcP>*<Nq}TZn0k4D6aqCKu~f>c#@;R@WONHTUdNmReRmR*MmcaWCt8pk5`im|
zdy0s7Bjo##?*v~VU{Oj9ogfL7$7tET5U5TO(0S0XLy0AOJ4tvfPr-EK28{@G8WaL8
l5<<Wi64Z#8A&xB@{{`vz_C{S{Ly`ah002ovPDHLkV1j&$7AXJ#

literal 0
HcmV?d00001


From a6b8143be9adffd169828d63dec1e04acf1f7158 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sat, 23 Mar 2024 11:02:24 +0000
Subject: [PATCH 13/28] build(deps): bump actions/add-to-project from 0.5.0 to
 0.6.1 (#4538)

Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 0.5.0 to 0.6.1.
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/v0.5.0...v0.6.1)

---
updated-dependencies:
- dependency-name: actions/add-to-project
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
 .github/workflows/add-to-project.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml
index 0ddccb572..ac2514b1d 100644
--- a/.github/workflows/add-to-project.yml
+++ b/.github/workflows/add-to-project.yml
@@ -11,7 +11,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Add to Project
-        uses: actions/add-to-project@v0.5.0
+        uses: actions/add-to-project@v0.6.1
         with:
           project-url: https://github.com/orgs/GameServerManagers/projects/11
           github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}

From 57ebe2063572c1c160acef3ff86c3c921f45799e Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Sat, 23 Mar 2024 12:02:58 +0100
Subject: [PATCH 14/28] fix(parse-details): change heading of output & add hint
 for creating new variables (#4531)

* Added hint for new variables

* Fixed heading of output
---
 lgsm/modules/command_dev_parse_game_details.sh | 4 ++--
 lgsm/modules/info_distro.sh                    | 1 +
 lgsm/modules/info_game.sh                      | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lgsm/modules/command_dev_parse_game_details.sh b/lgsm/modules/command_dev_parse_game_details.sh
index f5d6d697d..4dcf33c2a 100644
--- a/lgsm/modules/command_dev_parse_game_details.sh
+++ b/lgsm/modules/command_dev_parse_game_details.sh
@@ -144,7 +144,7 @@ done
 # Sort and output the available distro details.
 if [ -n "$available_details" ]; then
 	echo -e ""
-    echo -e "${bold}${lightgreen}Available Distro Details${default}"
+    echo -e "${bold}${lightgreen}Available Gameserver Details${default}"
     fn_messages_separator
     echo -e "${available_details}" | sort
 fi
@@ -152,7 +152,7 @@ fi
 # Output the missing server details if there are any.
 if [ -n "$missing_details" ]; then
 	echo -e ""
-	echo -e "${lightgreen}Missing or unsupported Server Details${default}"
+	echo -e "${lightgreen}Missing or unsupported Gameserver Details${default}"
 	fn_messages_separator
 	echo -e "${missing_details}" | sort
 fi
diff --git a/lgsm/modules/info_distro.sh b/lgsm/modules/info_distro.sh
index 4465d6cdb..adcdb759b 100644
--- a/lgsm/modules/info_distro.sh
+++ b/lgsm/modules/info_distro.sh
@@ -5,6 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Variables providing useful info on the Operating System such as disk and performace info.
 # Used for command_details.sh, command_debug.sh and alert.sh.
+# !Note: When adding variables to this script, ensure that they are also added to the command_dev_parse_distro_details.sh script.
 
 moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh
index 0725845a0..497a65f22 100644
--- a/lgsm/modules/info_game.sh
+++ b/lgsm/modules/info_game.sh
@@ -4,6 +4,7 @@
 # Contributors: http://linuxgsm.com/contrib
 # Website: https://linuxgsm.com
 # Description: Gathers various game server information.
+# !Note: When adding variables to this script, ensure that they are also added to the command_dev_parse_game_details.sh script.
 
 # shellcheck disable=SC2317
 moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"

From 06d9eda27fba2c63d1139aa04c5afa634ed0892e Mon Sep 17 00:00:00 2001
From: Silje Ljosland Bakke <siljelb@users.noreply.github.com>
Date: Thu, 4 Apr 2024 11:37:28 +0200
Subject: [PATCH 15/28] fix(vh): update bepinexvh url to new url #4547 (#4548)

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

diff --git a/lgsm/modules/mods_list.sh b/lgsm/modules/mods_list.sh
index c9a316055..c13565004 100644
--- a/lgsm/modules/mods_list.sh
+++ b/lgsm/modules/mods_list.sh
@@ -105,7 +105,7 @@ oxidesdtdlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos
 # Valheim Plus
 valheimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
 # Valheim BepInEx
-bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://valheim.thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
+bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
 
 # Define mods information (required)
 

From a2df0c49e98e690bb0cbd60517cf714ccfa7e674 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 4 Apr 2024 10:39:31 +0100
Subject: [PATCH 16/28] build(deps): bump actions/add-to-project from 0.5.0 to
 1.0.0 (#4546)

Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 0.5.0 to 1.0.0.
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/v0.5.0...v1.0.0)

---
updated-dependencies:
- dependency-name: actions/add-to-project
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
 .github/workflows/add-to-project.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml
index ac2514b1d..e6f6ee9be 100644
--- a/.github/workflows/add-to-project.yml
+++ b/.github/workflows/add-to-project.yml
@@ -11,7 +11,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Add to Project
-        uses: actions/add-to-project@v0.6.1
+        uses: actions/add-to-project@v1.0.0
         with:
           project-url: https://github.com/orgs/GameServerManagers/projects/11
           github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}

From 95c34edaf2c28624eaf681cf31d275a4e71db379 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Thu, 4 Apr 2024 10:46:59 +0100
Subject: [PATCH 17/28] fix(pw): change query mode to check only

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

diff --git a/lgsm/config-default/config-lgsm/pwserver/_default.cfg b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
index e069ec1b1..62429fec8 100644
--- a/lgsm/config-default/config-lgsm/pwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
@@ -141,7 +141,7 @@ stopmode="2"
 # 3: gamedig
 # 4: gsquery
 # 5: tcp
-querymode="3"
+querymode="1"
 querytype="palworld"
 
 ## Console type

From 1387ee0dfdf837a677eedba898831fc576e15f28 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Thu, 4 Apr 2024 10:53:56 +0100
Subject: [PATCH 18/28] fix(vh): update binary name (#4551)

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

diff --git a/lgsm/config-default/config-lgsm/pwserver/_default.cfg b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
index 62429fec8..5e848264e 100644
--- a/lgsm/config-default/config-lgsm/pwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pwserver/_default.cfg
@@ -160,7 +160,7 @@ glibc="2.17"
 ## Game Server Directories
 systemdir="${serverfiles}/Pal"
 executabledir="${systemdir}/Binaries/Linux/"
-executable="./PalServer-Linux-Test"
+executable="./PalServer-Linux-Shipping"
 servercfgdir="${serverfiles}/Pal/Saved/Config/LinuxServer"
 servercfg="PalWorldSettings.ini"
 servercfgdefault="PalWorldSettings.ini"

From f439fa213e391d687a62384ae8c7e3995463e070 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Thu, 4 Apr 2024 11:02:01 +0100
Subject: [PATCH 19/28] Release v24.2.0

---
 lgsm/modules/core_modules.sh | 2 +-
 linuxgsm.sh                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh
index 7ea0402e3..6fda8c2ca 100644
--- a/lgsm/modules/core_modules.sh
+++ b/lgsm/modules/core_modules.sh
@@ -8,7 +8,7 @@
 
 moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-modulesversion="v24.1.5"
+modulesversion="v24.2.0"
 
 # Core
 
diff --git a/linuxgsm.sh b/linuxgsm.sh
index c68f19dc2..23ca9f88f 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -24,7 +24,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="v24.1.5"
+version="v24.2.0"
 shortname="core"
 gameservername="core"
 commandname="CORE"

From dc6cbcea5025ab8bd47a69fab1af76be7c26d68e Mon Sep 17 00:00:00 2001
From: MicLieg <38057464+MicLieg@users.noreply.github.com>
Date: Sun, 5 May 2024 22:55:52 +0200
Subject: [PATCH 20/28] fix(mcserver): change required jdk to 21 (#4562)

* fix(mcserver): change required jdk to 21

* update java on other distros

---------

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 lgsm/data/almalinux-8.csv  |  8 ++++----
 lgsm/data/almalinux-9.csv  | 12 ++++++------
 lgsm/data/centos-7.csv     |  2 +-
 lgsm/data/centos-8.csv     |  2 +-
 lgsm/data/centos-9.csv     |  4 ++--
 lgsm/data/rhel-8.csv       | 12 ++++++------
 lgsm/data/rhel-9.csv       | 12 ++++++------
 lgsm/data/rocky-8.csv      | 12 ++++++------
 lgsm/data/rocky-9.csv      | 12 ++++++------
 lgsm/data/ubuntu-20.04.csv | 10 +++++-----
 lgsm/data/ubuntu-22.04.csv | 12 ++++++------
 lgsm/data/ubuntu-23.04.csv |  2 +-
 lgsm/data/ubuntu-23.10.csv |  2 +-
 13 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv
index e73fcfaa0..4d6c05ca5 100644
--- a/lgsm/data/almalinux-8.csv
+++ b/lgsm/data/almalinux-8.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
@@ -82,7 +82,7 @@ onset,mariadb-connector-c
 opfor
 pc
 pc2
-pmc,java-17-openjdk
+pmc,java-21-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,glibc-devel
 vints,aspnetcore-runtime-7.0
-vpmc,java-17-openjdk
+vpmc,java-21-openjdk
 vs
 wet
 wf
-wmc,java-17-openjdk
+wmc,java-21-openjdk
 wurm,xorg-x11-server-Xvfb
 zmr,ncurses-libs.i686
 zps,ncurses-libs.i686
diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv
index f5b5b5fc5..2cdd36575 100644
--- a/lgsm/data/almalinux-9.csv
+++ b/lgsm/data/almalinux-9.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
@@ -82,12 +82,12 @@ onset,mariadb-connector-c
 opfor
 pc
 pc2
-pmc,java-17-openjdk
+pmc,java-21-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
 pw
-pz,java-11-openjdk rng-tools
+pz,java-21-openjdk rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,zlib-devel
-rw,java-11-openjdk
+rw,java-21-openjdk
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,glibc-devel
 vints,aspnetcore-runtime-7.0
-vpmc,java-17-openjdk
+vpmc,java-21-openjdk
 vs
 wet
 wf
-wmc,java-17-openjdk
+wmc,java-21-openjdk
 wurm,xorg-x11-server-Xvfb
 zmr,ncurses-libs.i686
 zps,ncurses-libs.i686
diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv
index a80043346..df7422526 100644
--- a/lgsm/data/centos-7.csv
+++ b/lgsm/data/centos-7.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-11-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv
index e73fcfaa0..831bc38e9 100644
--- a/lgsm/data/centos-8.csv
+++ b/lgsm/data/centos-8.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv
index f5b5b5fc5..4d49ee66e 100644
--- a/lgsm/data/centos-9.csv
+++ b/lgsm/data/centos-9.csv
@@ -87,7 +87,7 @@ ps,GConf2
 pvkii
 pvr,libcxx
 pw
-pz,java-11-openjdk rng-tools
+pz,java-21-openjdk rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,zlib-devel
-rw,java-11-openjdk
+rw,java-21-openjdk
 samp
 sb
 sbots
diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv
index e73fcfaa0..a378694b2 100644
--- a/lgsm/data/rhel-8.csv
+++ b/lgsm/data/rhel-8.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
@@ -82,12 +82,12 @@ onset,mariadb-connector-c
 opfor
 pc
 pc2
-pmc,java-17-openjdk
+pmc,java-21-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
 pw
-pz,java-11-openjdk rng-tools
+pz,java-21-openjdk rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,zlib-devel
-rw,java-11-openjdk
+rw,java-21-openjdk
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,glibc-devel
 vints,aspnetcore-runtime-7.0
-vpmc,java-17-openjdk
+vpmc,java-21-openjdk
 vs
 wet
 wf
-wmc,java-17-openjdk
+wmc,java-21-openjdk
 wurm,xorg-x11-server-Xvfb
 zmr,ncurses-libs.i686
 zps,ncurses-libs.i686
diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv
index f5b5b5fc5..2cdd36575 100644
--- a/lgsm/data/rhel-9.csv
+++ b/lgsm/data/rhel-9.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
@@ -82,12 +82,12 @@ onset,mariadb-connector-c
 opfor
 pc
 pc2
-pmc,java-17-openjdk
+pmc,java-21-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
 pw
-pz,java-11-openjdk rng-tools
+pz,java-21-openjdk rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,zlib-devel
-rw,java-11-openjdk
+rw,java-21-openjdk
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,glibc-devel
 vints,aspnetcore-runtime-7.0
-vpmc,java-17-openjdk
+vpmc,java-21-openjdk
 vs
 wet
 wf
-wmc,java-17-openjdk
+wmc,java-21-openjdk
 wurm,xorg-x11-server-Xvfb
 zmr,ncurses-libs.i686
 zps,ncurses-libs.i686
diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv
index e73fcfaa0..a378694b2 100644
--- a/lgsm/data/rocky-8.csv
+++ b/lgsm/data/rocky-8.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
@@ -82,12 +82,12 @@ onset,mariadb-connector-c
 opfor
 pc
 pc2
-pmc,java-17-openjdk
+pmc,java-21-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
 pw
-pz,java-11-openjdk rng-tools
+pz,java-21-openjdk rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,zlib-devel
-rw,java-11-openjdk
+rw,java-21-openjdk
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,glibc-devel
 vints,aspnetcore-runtime-7.0
-vpmc,java-17-openjdk
+vpmc,java-21-openjdk
 vs
 wet
 wf
-wmc,java-17-openjdk
+wmc,java-21-openjdk
 wurm,xorg-x11-server-Xvfb
 zmr,ncurses-libs.i686
 zps,ncurses-libs.i686
diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv
index f5b5b5fc5..2cdd36575 100644
--- a/lgsm/data/rocky-9.csv
+++ b/lgsm/data/rocky-9.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,java-17-openjdk
+mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
@@ -82,12 +82,12 @@ onset,mariadb-connector-c
 opfor
 pc
 pc2
-pmc,java-17-openjdk
+pmc,java-21-openjdk
 ps,GConf2
 pvkii
 pvr,libcxx
 pw
-pz,java-11-openjdk rng-tools
+pz,java-21-openjdk rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,zlib-devel
-rw,java-11-openjdk
+rw,java-21-openjdk
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,glibc-devel
 vints,aspnetcore-runtime-7.0
-vpmc,java-17-openjdk
+vpmc,java-21-openjdk
 vs
 wet
 wf
-wmc,java-17-openjdk
+wmc,java-21-openjdk
 wurm,xorg-x11-server-Xvfb
 zmr,ncurses-libs.i686
 zps,ncurses-libs.i686
diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv
index 4a41435c2..8d4cc6e52 100644
--- a/lgsm/data/ubuntu-20.04.csv
+++ b/lgsm/data/ubuntu-20.04.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,openjdk-17-jre
+mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
@@ -82,12 +82,12 @@ onset,libmariadb-dev
 opfor
 pc
 pc2
-pmc,openjdk-17-jre
+pmc,openjdk-21-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
 pw
-pz,openjdk-17-jre,rng-tools
+pz,openjdk-21-jre,rng-tools
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,lib32z1
-rw,openjdk-17-jre
+rw,openjdk-21-jre
 samp
 sb
 sbots
@@ -132,7 +132,7 @@ vpmc,openjdk-11-jre
 vs
 wet
 wf
-wmc,openjdk-17-jre
+wmc,openjdk-21-jre
 wurm,xvfb
 zmr,libtinfo5:i386
 zps,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv
index 323b82a08..67d28b5e9 100644
--- a/lgsm/data/ubuntu-22.04.csv
+++ b/lgsm/data/ubuntu-22.04.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,openjdk-17-jre
+mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
@@ -82,12 +82,12 @@ onset,libmariadb-dev
 opfor
 pc
 pc2
-pmc,openjdk-17-jre
+pmc,openjdk-21-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
 pw
-pz,openjdk-17-jre,rng-tools5
+pz,openjdk-21-jre,rng-tools5
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,lib32z1
-rw,openjdk-17-jre
+rw,openjdk-21-jre
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,libc6-dev
 vints,aspnetcore-runtime-7.0
-vpmc,openjdk-17-jre
+vpmc,openjdk-21-jre
 vs
 wet
 wf
-wmc,openjdk-17-jre
+wmc,openjdk-21-jre
 wurm,xvfb
 zmr,libtinfo5:i386
 zps,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv
index e249a2968..8b2246402 100644
--- a/lgsm/data/ubuntu-23.04.csv
+++ b/lgsm/data/ubuntu-23.04.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,openjdk-17-jre
+mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv
index e249a2968..8b2246402 100644
--- a/lgsm/data/ubuntu-23.10.csv
+++ b/lgsm/data/ubuntu-23.10.csv
@@ -65,7 +65,7 @@ kf
 kf2
 l4d
 l4d2
-mc,openjdk-17-jre
+mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386

From 1c596972ff77d5de40e0a60f6f8459547ebcbf6a Mon Sep 17 00:00:00 2001
From: BertBrenner <42405825+BertBrenner@users.noreply.github.com>
Date: Sun, 5 May 2024 22:56:07 +0200
Subject: [PATCH 21/28] Update update_mc.sh (#4563)

If the executable variable is modified, fn_update_dl does not update minecraft_server.jar and which is used in fn_update_localbuild.

In addition this creates a problem if a alternative executable is used to launch minecraft by overwriting it.

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 lgsm/modules/update_mc.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lgsm/modules/update_mc.sh b/lgsm/modules/update_mc.sh
index 4a0bdde37..40038ddeb 100644
--- a/lgsm/modules/update_mc.sh
+++ b/lgsm/modules/update_mc.sh
@@ -10,7 +10,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 fn_update_dl() {
 	# Download and extract files to serverfiles.
 	fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "chmodx" "norun" "noforce" "nohash"
-	cp -f "${tmpdir}/${remotebuildfilename}" "${serverfiles}/${executable#./}"
+	cp -f "${tmpdir}/${remotebuildfilename}" "${serverfiles}/minecraft_server.jar"
 	fn_clear_tmp
 }
 

From c89cc62bb65b4b041919df8fdfc571df6b5c330f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 5 May 2024 21:56:23 +0100
Subject: [PATCH 22/28] build(deps): bump actions/add-to-project from 1.0.0 to
 1.0.1 (#4558)

Bumps [actions/add-to-project](https://github.com/actions/add-to-project) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/actions/add-to-project/releases)
- [Commits](https://github.com/actions/add-to-project/compare/v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: actions/add-to-project
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
 .github/workflows/add-to-project.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml
index e6f6ee9be..fb092b649 100644
--- a/.github/workflows/add-to-project.yml
+++ b/.github/workflows/add-to-project.yml
@@ -11,7 +11,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Add to Project
-        uses: actions/add-to-project@v1.0.0
+        uses: actions/add-to-project@v1.0.1
         with:
           project-url: https://github.com/orgs/GameServerManagers/projects/11
           github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}

From 3da072cae4a8e6a96b69c39ca6fbe6e992b48663 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Sun, 5 May 2024 21:57:16 +0100
Subject: [PATCH 23/28] Release v24.2.1

---
 lgsm/modules/core_modules.sh | 2 +-
 linuxgsm.sh                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh
index 6fda8c2ca..f083a4893 100644
--- a/lgsm/modules/core_modules.sh
+++ b/lgsm/modules/core_modules.sh
@@ -8,7 +8,7 @@
 
 moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
-modulesversion="v24.2.0"
+modulesversion="v24.2.1"
 
 # Core
 
diff --git a/linuxgsm.sh b/linuxgsm.sh
index 23ca9f88f..8db9a57c9 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -24,7 +24,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="v24.2.0"
+version="v24.2.1"
 shortname="core"
 gameservername="core"
 commandname="CORE"

From 0b8a2237232d1948ebb49216bd17fadf687247e9 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Sun, 5 May 2024 23:32:04 +0100
Subject: [PATCH 24/28] feat(deps): add Ubuntu 24.04

---
 lgsm/data/ubuntu-23.04.csv |  10 +--
 lgsm/data/ubuntu-23.10.csv |  10 +--
 lgsm/data/ubuntu-24.04.csv | 138 +++++++++++++++++++++++++++++++++++++
 3 files changed, 148 insertions(+), 10 deletions(-)
 create mode 100644 lgsm/data/ubuntu-24.04.csv

diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv
index 8b2246402..1b50ed7ef 100644
--- a/lgsm/data/ubuntu-23.04.csv
+++ b/lgsm/data/ubuntu-23.04.csv
@@ -82,12 +82,12 @@ onset,libmariadb-dev
 opfor
 pc
 pc2
-pmc,openjdk-17-jre
+pmc,openjdk-21-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
 pw
-pz,openjdk-17-jre,rng-tools5
+pz,openjdk-21-jre,rng-tools5
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,lib32z1
-rw,openjdk-17-jre
+rw,openjdk-21-jre
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,libc6-dev
 vints,aspnetcore-runtime-7.0
-vpmc,openjdk-17-jre
+vpmc,openjdk-21-jre
 vs
 wet
 wf
-wmc,openjdk-17-jre
+wmc,openjdk-21-jre
 wurm,xvfb
 zmr,libtinfo5:i386
 zps,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv
index 8b2246402..1b50ed7ef 100644
--- a/lgsm/data/ubuntu-23.10.csv
+++ b/lgsm/data/ubuntu-23.10.csv
@@ -82,12 +82,12 @@ onset,libmariadb-dev
 opfor
 pc
 pc2
-pmc,openjdk-17-jre
+pmc,openjdk-21-jre
 ps,libgconf-2-4
 pvkii
 pvr,libc++1
 pw
-pz,openjdk-17-jre,rng-tools5
+pz,openjdk-21-jre,rng-tools5
 q2
 q3
 q4
@@ -97,7 +97,7 @@ ricochet
 ro
 rtcw
 rust,lib32z1
-rw,openjdk-17-jre
+rw,openjdk-21-jre
 samp
 sb
 sbots
@@ -128,11 +128,11 @@ ut3
 ut99
 vh,libc6-dev
 vints,aspnetcore-runtime-7.0
-vpmc,openjdk-17-jre
+vpmc,openjdk-21-jre
 vs
 wet
 wf
-wmc,openjdk-17-jre
+wmc,openjdk-21-jre
 wurm,xvfb
 zmr,libtinfo5:i386
 zps,libtinfo5:i386
diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv
new file mode 100644
index 000000000..1b50ed7ef
--- /dev/null
+++ b/lgsm/data/ubuntu-24.04.csv
@@ -0,0 +1,138 @@
+all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat-openbsd,pigz,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils
+steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd
+ac
+ahl
+ahl2
+ark
+arma3
+armar,libcurl4
+ats
+av
+bb
+bb2,libcurl4-gnutls-dev:i386
+bd
+bf1942,libncurses5:i386,libtinfo5:i386
+bfv,libncurses5:i386,libstdc++5:i386
+bmdm,libncurses5:i386
+bo
+bs
+bt,libicu-dev,dos2unix,libxml2-utils
+btl
+cc
+ck,xvfb,libxi6
+cmw
+cod,libstdc++5:i386
+cod2,libstdc++5:i386
+cod4
+coduo,libstdc++5:i386
+codwaw
+col
+cs
+cs2
+cscz
+csgo
+css,libtinfo5:i386
+ct
+dab
+dayz
+dmc
+dod
+dodr
+dods
+doi
+dst,libcurl4-gnutls-dev:i386
+dys
+eco,libgdiplus
+em
+etl
+ets2
+fctr
+fof
+gmod,libtinfo5:i386
+hcu
+hl2dm
+hldm
+hldms
+hw,lib32z1
+hz
+ins
+inss
+ios
+jc2
+jc3
+jk2
+kf
+kf2
+l4d
+l4d2
+mc,openjdk-21-jre
+mcb
+mh
+mohaa,libstdc++5:i386
+mom
+mta,libncursesw5,libxml2-utils
+nd
+nec
+nmrih,libtinfo5:i386
+ns
+ns2,speex,libtbb2
+ns2c,speex:i386,libtbb2
+ohd
+onset,libmariadb-dev
+opfor
+pc
+pc2
+pmc,openjdk-21-jre
+ps,libgconf-2-4
+pvkii
+pvr,libc++1
+pw
+pz,openjdk-21-jre,rng-tools5
+q2
+q3
+q4
+ql
+qw
+ricochet
+ro
+rtcw
+rust,lib32z1
+rw,openjdk-21-jre
+samp
+sb
+sbots
+scpsl,mono-complete
+scpslsm,mono-complete
+sdtd,telnet,expect,libxml2-utils
+sf
+sfc,libtinfo5:i386
+sof2
+sol
+squad
+st,libxml2-utils
+stn
+sven,libssl1.1:i386,zlib1g:i386
+terraria
+tf
+tf2,libcurl4-gnutls-dev:i386
+tfc
+ti
+ts
+ts3
+tu
+tw
+unt
+ut
+ut2k4
+ut3
+ut99
+vh,libc6-dev
+vints,aspnetcore-runtime-7.0
+vpmc,openjdk-21-jre
+vs
+wet
+wf
+wmc,openjdk-21-jre
+wurm,xvfb
+zmr,libtinfo5:i386
+zps,libtinfo5:i386

From a2bea8d7915de2a9fb88d35dce2a1d696471fb28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Maciej=20G=C5=82owacki?=
 <2972266+glowacki-dev@users.noreply.github.com>
Date: Wed, 22 May 2024 23:16:33 +0200
Subject: [PATCH 25/28] feat(vhserver): enable crossplay support (#4544)

* Install valheim dependencies for crossplay on Ubuntu

* Setup minimal required dependencies for valheim crossplay

* will set crossplay to default on and add instance id

* add ubuntu 24.04

---------

Co-authored-by: Daniel Gibbs <me@danielgibbs.co.uk>
---
 lgsm/config-default/config-lgsm/vhserver/_default.cfg | 6 ++----
 lgsm/data/almalinux-8.csv                             | 2 +-
 lgsm/data/almalinux-9.csv                             | 2 +-
 lgsm/data/centos-7.csv                                | 2 +-
 lgsm/data/centos-8.csv                                | 2 +-
 lgsm/data/centos-9.csv                                | 2 +-
 lgsm/data/debian-10.csv                               | 2 +-
 lgsm/data/debian-11.csv                               | 2 +-
 lgsm/data/debian-12.csv                               | 2 +-
 lgsm/data/debian-9.csv                                | 2 +-
 lgsm/data/rhel-7.csv                                  | 2 +-
 lgsm/data/rhel-8.csv                                  | 2 +-
 lgsm/data/rhel-9.csv                                  | 2 +-
 lgsm/data/rocky-8.csv                                 | 2 +-
 lgsm/data/rocky-9.csv                                 | 2 +-
 lgsm/data/ubuntu-16.04.csv                            | 2 +-
 lgsm/data/ubuntu-18.04.csv                            | 2 +-
 lgsm/data/ubuntu-20.04.csv                            | 2 +-
 lgsm/data/ubuntu-22.04.csv                            | 2 +-
 lgsm/data/ubuntu-23.04.csv                            | 2 +-
 lgsm/data/ubuntu-23.10.csv                            | 2 +-
 lgsm/data/ubuntu-24.04.csv                            | 2 +-
 22 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg
index 355c70824..8950435e8 100644
--- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg
@@ -21,9 +21,7 @@ saveinterval="1800"
 backups="4"
 backupshort="7200"
 backuplong="43200"
-# If crossplay is empty, it's off. Fill with any text to make true
-# Crossplay is currently not working on Linux dedicated servers, so for now the default is false (empty)
-crossplay=""
+instanceid="1"
 
 # INSTRUCTIONS FOR WORLD MODIFIERS (from Valheim Dedicated Server Manual.pdf located in serverfiles)
 # World modifiers can only be set in the start parameters and can be a combination of the following
@@ -53,7 +51,7 @@ crossplay=""
 worldmodifiers=""
 
 ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${worldname} -public ${public} -savedir '${savedir}' -saveinterval ${saveinterval} -backups ${backups} -backupshort ${backupshort} -backuplong ${backuplong}${logFile:+ -logFile '${logFile}'}${crossplay:+ -crossplay}${worldmodifiers:+ ${worldmodifiers}}"
+startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${worldname} -public ${public} -savedir '${savedir}' -saveinterval ${saveinterval} -backups ${backups} -backupshort ${backupshort} -backuplong ${backuplong} -crossplay -instanceid ${instanceid} ${logFile:+ -logFile '${logFile}'} ${worldmodifiers:+ ${worldmodifiers}}"
 
 #### LinuxGSM Settings ####
 
diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv
index 4d6c05ca5..e1b0426b6 100644
--- a/lgsm/data/almalinux-8.csv
+++ b/lgsm/data/almalinux-8.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-21-openjdk
 vs
diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv
index 2cdd36575..22846b263 100644
--- a/lgsm/data/almalinux-9.csv
+++ b/lgsm/data/almalinux-9.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-21-openjdk
 vs
diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv
index df7422526..f583249fa 100644
--- a/lgsm/data/centos-7.csv
+++ b/lgsm/data/centos-7.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-11-openjdk
 vs
diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv
index 831bc38e9..82fab1912 100644
--- a/lgsm/data/centos-8.csv
+++ b/lgsm/data/centos-8.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-17-openjdk
 vs
diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv
index 4d49ee66e..e9326e0d7 100644
--- a/lgsm/data/centos-9.csv
+++ b/lgsm/data/centos-9.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-17-openjdk
 vs
diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv
index f5d63b026..f43907e44 100644
--- a/lgsm/data/debian-10.csv
+++ b/lgsm/data/debian-10.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-11-jre
 vs
diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv
index 97f5b978d..e064d5b6c 100644
--- a/lgsm/data/debian-11.csv
+++ b/lgsm/data/debian-11.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-11-jre
 vs
diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv
index e54d9b12b..7964d24f9 100644
--- a/lgsm/data/debian-12.csv
+++ b/lgsm/data/debian-12.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-17-jre
 vs
diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv
index 87b6dad91..573b75b8c 100644
--- a/lgsm/data/debian-9.csv
+++ b/lgsm/data/debian-9.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-8-jre
 vs
diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv
index 3ecff6183..9ff890dc6 100644
--- a/lgsm/data/rhel-7.csv
+++ b/lgsm/data/rhel-7.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-11-openjdk
 vs
diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv
index a378694b2..a6e67c2b3 100644
--- a/lgsm/data/rhel-8.csv
+++ b/lgsm/data/rhel-8.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-21-openjdk
 vs
diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv
index 2cdd36575..22846b263 100644
--- a/lgsm/data/rhel-9.csv
+++ b/lgsm/data/rhel-9.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-21-openjdk
 vs
diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv
index a378694b2..a6e67c2b3 100644
--- a/lgsm/data/rocky-8.csv
+++ b/lgsm/data/rocky-8.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-21-openjdk
 vs
diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv
index 2cdd36575..22846b263 100644
--- a/lgsm/data/rocky-9.csv
+++ b/lgsm/data/rocky-9.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,glibc-devel
+vh,glibc-devel,libatomic,pulseaudio-libs-devel
 vints,aspnetcore-runtime-7.0
 vpmc,java-21-openjdk
 vs
diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv
index 41dbd0bc5..1f81cc6bd 100644
--- a/lgsm/data/ubuntu-16.04.csv
+++ b/lgsm/data/ubuntu-16.04.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-8-jre
 vs
diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv
index 469c66705..20e6bd819 100644
--- a/lgsm/data/ubuntu-18.04.csv
+++ b/lgsm/data/ubuntu-18.04.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-11-jre
 vs
diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv
index 8d4cc6e52..69469c810 100644
--- a/lgsm/data/ubuntu-20.04.csv
+++ b/lgsm/data/ubuntu-20.04.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-11-jre
 vs
diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv
index 67d28b5e9..ab0823f15 100644
--- a/lgsm/data/ubuntu-22.04.csv
+++ b/lgsm/data/ubuntu-22.04.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-21-jre
 vs
diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv
index 1b50ed7ef..63597d987 100644
--- a/lgsm/data/ubuntu-23.04.csv
+++ b/lgsm/data/ubuntu-23.04.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-21-jre
 vs
diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv
index 1b50ed7ef..63597d987 100644
--- a/lgsm/data/ubuntu-23.10.csv
+++ b/lgsm/data/ubuntu-23.10.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-21-jre
 vs
diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv
index 1b50ed7ef..63597d987 100644
--- a/lgsm/data/ubuntu-24.04.csv
+++ b/lgsm/data/ubuntu-24.04.csv
@@ -126,7 +126,7 @@ ut
 ut2k4
 ut3
 ut99
-vh,libc6-dev
+vh,libc6-dev,libatomic1,libpulse-dev
 vints,aspnetcore-runtime-7.0
 vpmc,openjdk-21-jre
 vs

From 685cca9c58cf207324d538728727c01fab33cb0c Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Tue, 11 Jun 2024 16:18:53 +0100
Subject: [PATCH 26/28] feat: change curl default timeout to 3 seconds (#4592)

adjusted to 3 seconds from 10 for a timeout
---
 lgsm/modules/alert_discord.sh           |  7 ++++-
 lgsm/modules/alert_gotify.sh            |  2 +-
 lgsm/modules/alert_ifttt.sh             |  2 +-
 lgsm/modules/alert_pushbullet.sh        |  2 +-
 lgsm/modules/alert_pushover.sh          |  4 +--
 lgsm/modules/alert_rocketchat.sh        |  2 +-
 lgsm/modules/alert_slack.sh             |  2 +-
 lgsm/modules/alert_telegram.sh          |  2 +-
 lgsm/modules/command_update_linuxgsm.sh | 36 ++++++++++++-------------
 lgsm/modules/core_dl.sh                 |  2 +-
 lgsm/modules/core_github.sh             |  2 +-
 lgsm/modules/info_game.sh               | 36 ++++++++++++-------------
 lgsm/modules/mods_list.sh               | 24 ++++++++---------
 linuxgsm.sh                             |  2 +-
 14 files changed, 65 insertions(+), 60 deletions(-)

diff --git a/lgsm/modules/alert_discord.sh b/lgsm/modules/alert_discord.sh
index 54cf8a348..2b2ecf21b 100644
--- a/lgsm/modules/alert_discord.sh
+++ b/lgsm/modules/alert_discord.sh
@@ -118,6 +118,11 @@ jsonnoinfo=$(
                     "value": "${HOSTNAME}",
                     "inline": true
                 },
+                {
+                    "name": "Is my Game Server Online?",
+                    "value": "https://ismygameserver.online/${querytype}/${alertip}:${queryport}",
+                    "inline": true
+                },
                 {
                     "name": "Server Time",
                     "value": "$(date)",
@@ -142,7 +147,7 @@ else
 	json="${jsoninfo}"
 fi
 
-discordsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${discordwebhook}")
+discordsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${discordwebhook}")
 
 if [ -n "${discordsend}" ]; then
 	fn_print_fail_nl "Sending Discord alert: ${discordsend}"
diff --git a/lgsm/modules/alert_gotify.sh b/lgsm/modules/alert_gotify.sh
index 2ab6e9eb7..8f1d31e91 100644
--- a/lgsm/modules/alert_gotify.sh
+++ b/lgsm/modules/alert_gotify.sh
@@ -34,7 +34,7 @@ else
 fi
 
 fn_print_dots "Sending Gotify alert"
-gotifysend=$(curl --connect-timeout 10 -sSL "${gotifywebhook}/message"?token="${gotifytoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)")
+gotifysend=$(curl --connect-timeout 3 -sSL "${gotifywebhook}/message"?token="${gotifytoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)")
 
 if [ -n "${gotifysend}" ]; then
 	fn_print_ok_nl "Sending Gotify alert"
diff --git a/lgsm/modules/alert_ifttt.sh b/lgsm/modules/alert_ifttt.sh
index 77932569b..cbd740ec5 100644
--- a/lgsm/modules/alert_ifttt.sh
+++ b/lgsm/modules/alert_ifttt.sh
@@ -34,7 +34,7 @@ else
 fi
 
 fn_print_dots "Sending IFTTT alert"
-iftttsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
+iftttsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://maker.ifttt.com/trigger/${iftttevent}/with/key/${ifttttoken}" | grep "Bad Request")
 
 if [ -n "${iftttsend}" ]; then
 	fn_print_fail_nl "Sending IFTTT alert: ${pushbulletsend}"
diff --git a/lgsm/modules/alert_pushbullet.sh b/lgsm/modules/alert_pushbullet.sh
index dedd43268..5ed3853f6 100644
--- a/lgsm/modules/alert_pushbullet.sh
+++ b/lgsm/modules/alert_pushbullet.sh
@@ -36,7 +36,7 @@ else
 fi
 
 fn_print_dots "Sending Pushbullet alert"
-pushbulletsend=$(curl --connect-timeout 10 -sSL -H "Access-Token: ${pushbullettoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
+pushbulletsend=$(curl --connect-timeout 3 -sSL -H "Access-Token: ${pushbullettoken}" -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "https://api.pushbullet.com/v2/pushes" | grep "error_code")
 
 if [ -n "${pushbulletsend}" ]; then
 	fn_print_fail_nl "Sending Pushbullet alert: ${pushbulletsend}"
diff --git a/lgsm/modules/alert_pushover.sh b/lgsm/modules/alert_pushover.sh
index c436a4a91..22180d503 100644
--- a/lgsm/modules/alert_pushover.sh
+++ b/lgsm/modules/alert_pushover.sh
@@ -23,9 +23,9 @@ else
 fi
 
 if [ -z "${alerturl}" ]; then
-	pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
+	pushoversend=$(curl --connect-timeout 3 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
 else
-	pushoversend=$(curl --connect-timeout 10 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a><br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
+	pushoversend=$(curl --connect-timeout 3 -sS -F token="${pushovertoken}" -F user="${pushoveruserkey}" -F html="1" -F sound="${alertsound}" -F priority="${alertpriority}" -F title="${alerttitle}" -F message=" <b>Server name</b><br>${servername}<br><br><b>Information</b><br>${alertmessage}<br><br><b>Game</b><br>${gamename}<br><br><b>Server IP</b><br>${alertip}:${port}<br><br><b>Hostname</b><br>${HOSTNAME}<br><br><b>More info</b><br><a href='${alerturl}'>${alerturl}</a><br><br>Server Time<br>$(date)" "https://api.pushover.net/1/messages.json" | grep errors)
 fi
 
 if [ -n "${pushoversend}" ]; then
diff --git a/lgsm/modules/alert_rocketchat.sh b/lgsm/modules/alert_rocketchat.sh
index 329111494..910722804 100644
--- a/lgsm/modules/alert_rocketchat.sh
+++ b/lgsm/modules/alert_rocketchat.sh
@@ -123,7 +123,7 @@ else
 fi
 
 fn_print_dots "Sending Rocketchat alert"
-rocketchatsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${rocketchatwebhook}")
+rocketchatsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${rocketchatwebhook}")
 
 if [ -n "${rocketchatsend}" ]; then
 	fn_print_ok_nl "Sending Rocketchat alert"
diff --git a/lgsm/modules/alert_slack.sh b/lgsm/modules/alert_slack.sh
index 728a564e0..b74f98dec 100644
--- a/lgsm/modules/alert_slack.sh
+++ b/lgsm/modules/alert_slack.sh
@@ -182,7 +182,7 @@ fi
 
 fn_print_dots "Sending Slack alert"
 
-slacksend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${slackwebhook}")
+slacksend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" "${slackwebhook}")
 
 if [ "${slacksend}" == "ok" ]; then
 	fn_print_ok_nl "Sending Slack alert"
diff --git a/lgsm/modules/alert_telegram.sh b/lgsm/modules/alert_telegram.sh
index 6f6426cb1..98e1a980b 100644
--- a/lgsm/modules/alert_telegram.sh
+++ b/lgsm/modules/alert_telegram.sh
@@ -40,7 +40,7 @@ else
 fi
 
 fn_print_dots "Sending Telegram alert"
-telegramsend=$(curl --connect-timeout 10 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
+telegramsend=$(curl --connect-timeout 3 -sSL -H "Content-Type: application/json" -X POST -d "$(echo -n "${json}" | jq -c .)" ${curlcustomstring} "https://${telegramapi}/bot${telegramtoken}/sendMessage" | grep "error_code")
 
 if [ -n "${telegramsend}" ]; then
 	fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"
diff --git a/lgsm/modules/command_update_linuxgsm.sh b/lgsm/modules/command_update_linuxgsm.sh
index d20204187..43827a672 100644
--- a/lgsm/modules/command_update_linuxgsm.sh
+++ b/lgsm/modules/command_update_linuxgsm.sh
@@ -20,9 +20,9 @@ fn_script_log_info "Updating LinuxGSM"
 fn_print_dots "Selecting repo"
 fn_script_log_info "Selecting repo"
 # Select remotereponame
-curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
+curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
 if [ $? != "0" ]; then
-	curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
+	curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
 	if [ $? != "0" ]; then
 		fn_print_fail_nl "Selecting repo: Unable to to access GitHub or Bitbucket repositories"
 		fn_script_log_fail "Selecting repo: Unable to to access GitHub or Bitbucket repositories"
@@ -39,9 +39,9 @@ fi
 # Check linuxsm.sh
 echo -en "checking ${remotereponame} linuxgsm.sh...\c"
 if [ "${remotereponame}" == "GitHub" ]; then
-	curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
+	curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh" 1> /dev/null
 else
-	curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
+	curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh" 1> /dev/null
 fi
 if [ $? != "0" ]; then
 	fn_print_fail_eol_nl
@@ -51,9 +51,9 @@ if [ $? != "0" ]; then
 fi
 
 if [ "${remotereponame}" == "GitHub" ]; then
-	tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
+	tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
 else
-	tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh"))
+	tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/linuxgsm.sh"))
 fi
 
 if [ "${tmp_script_diff}" != "" ]; then
@@ -119,9 +119,9 @@ fi
 echo -en "checking ${remotereponame} config _default.cfg...\c"
 fn_script_log_info "Checking ${remotereponame} config _default.cfg"
 if [ "${remotereponame}" == "GitHub" ]; then
-	curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
+	curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
 else
-	curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
+	curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg" 1> /dev/null
 fi
 if [ $? != "0" ]; then
 	fn_print_fail_eol_nl
@@ -131,9 +131,9 @@ if [ $? != "0" ]; then
 fi
 
 if [ "${remotereponame}" == "GitHub" ]; then
-	config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
+	config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
 else
-	config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
+	config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
 fi
 
 if [ "${config_file_diff}" != "" ]; then
@@ -153,9 +153,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
 	echo -en "checking ${remotereponame} config ${distroid}-${distroversioncsv}.csv...\c"
 	fn_script_log_info "Checking ${remotereponame} ${distroid}-${distroversioncsv}.csv"
 	if [ "${remotereponame}" == "GitHub" ]; then
-		curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
+		curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
 	else
-		curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
+		curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv" 1> /dev/null
 	fi
 	if [ $? != "0" ]; then
 		fn_print_fail_eol_nl
@@ -165,9 +165,9 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
 	fi
 
 	if [ "${remotereponame}" == "GitHub" ]; then
-		config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
+		config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
 	else
-		config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
+		config_file_diff=$(diff "${datadir}/${distroid}-${distroversioncsv}.csv" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/lgsm/data/${distroid}-${distroversioncsv}.csv"))
 	fi
 
 	if [ "${config_file_diff}" != "" ]; then
@@ -191,9 +191,9 @@ if [ -n "${modulesdir}" ]; then
 				echo -en "checking ${remotereponame} module ${modulefile}...\c"
 				github_file_url_dir="lgsm/modules"
 				if [ "${remotereponame}" == "GitHub" ]; then
-					curl --connect-timeout 10 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
+					curl --connect-timeout 3 -IsfL "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
 				else
-					curl --connect-timeout 10 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
+					curl --connect-timeout 3 -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}" 1> /dev/null
 				fi
 				if [ $? != 0 ]; then
 					fn_print_error_eol_nl
@@ -210,9 +210,9 @@ if [ -n "${modulesdir}" ]; then
 				else
 					# compare file
 					if [ "${remotereponame}" == "GitHub" ]; then
-						module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 10 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}"))
+						module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${modulefile}"))
 					else
-						module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 10 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}"))
+						module_file_diff=$(diff "${modulesdir}/${modulefile}" <(curl --connect-timeout 3 -s "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${modulefile}"))
 					fi
 
 					# results
diff --git a/lgsm/modules/core_dl.sh b/lgsm/modules/core_dl.sh
index caca0fc58..89a63eb8b 100644
--- a/lgsm/modules/core_dl.sh
+++ b/lgsm/modules/core_dl.sh
@@ -390,7 +390,7 @@ fn_fetch_file() {
 			fi
 			# Trap will remove part downloaded files if canceled.
 			trap fn_fetch_trap INT
-			curlcmd=(curl --connect-timeout 10 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
+			curlcmd=(curl --connect-timeout 3 --fail -L -o "${local_filedir}/${local_filename}" --retry 2)
 
 			# if is large file show progress, else be silent
 			local exitcode=""
diff --git a/lgsm/modules/core_github.sh b/lgsm/modules/core_github.sh
index 7290f9bdf..402ee078c 100644
--- a/lgsm/modules/core_github.sh
+++ b/lgsm/modules/core_github.sh
@@ -23,7 +23,7 @@ fn_github_get_latest_release_version() {
 	local githubreleaserepo="${2}"
 	local githublatestreleaseurl="${github_api}/repos/${githubreleaseuser}/${githubreleaserepo}/releases/latest"
 
-	githubreleaseversion=$(curl -s --connect-timeout 10 "${githublatestreleaseurl}" | jq '.tag_name')
+	githubreleaseversion=$(curl -s --connect-timeout 3 "${githublatestreleaseurl}" | jq '.tag_name')
 
 	# error if no version is there
 	if [ -z "${githubreleaseversion}" ]; then
diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh
index 497a65f22..56ae055e4 100644
--- a/lgsm/modules/info_game.sh
+++ b/lgsm/modules/info_game.sh
@@ -2496,12 +2496,12 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
 	if [ "${exitcode}" -eq 0 ]; then
 		fn_script_log_pass "Queried ${apiurl} for public IP address"
 
-        # Parse and reformat the response
-        publicip="$(echo "${ipresponse}" | jq -r '.query')"
-        country="$(echo "${ipresponse}" | jq -r '.country')"
-        countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
-        # Construct a universal JSON format
-        echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
+		# Parse and reformat the response
+		publicip="$(echo "${ipresponse}" | jq -r '.query')"
+		country="$(echo "${ipresponse}" | jq -r '.country')"
+		countrycode="$(echo "${ipresponse}" | jq -r '.countryCode')"
+		# Construct a universal JSON format
+		echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
 	else
 		# Fallback to myip.wtf if the initial request failed or timed out
 		apiurl="https://myip.wtf/json"
@@ -2514,12 +2514,12 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
 		if [ "${exitcode}" -eq 0 ]; then
 			fn_script_log_pass "Queried ${apiurl} for public IP address"
 
-            # Parse and reformat the response from myip.wtf
-            publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
-            country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
-            countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
-            # Construct a universal JSON format
-            echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
+			# Parse and reformat the response from myip.wtf
+			publicip="$(echo "${ipresponse}" | jq -r '.YourFuckingIPAddress')"
+			country="$(echo "${ipresponse}" | jq -r '.YourFuckingCountry')"
+			countrycode="$(echo "${ipresponse}" | jq -r '.YourFuckingCountryCode')"
+			# Construct a universal JSON format
+			echo "{\"ip\":\"${publicip}\",\"country\":\"${country}\",\"countryCode\":\"${countrycode}\",\"apiurl\":\"${apiurl}\"}" > "${tmpdir}/publicip.json"
 		else
 			fn_script_log_error "Unable to get public IP address"
 			publicip="NOT SET"
@@ -2529,10 +2529,10 @@ if [ ! -f "${tmpdir}/publicip.json" ] || [ "$(find "${tmpdir}/publicip.json" -mm
 	fi
 else
 	# Cached IP is still valid
-    fn_script_log_pass "Using cached IP as public IP address"
-    publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
-    country="$(jq -r '.country' "${tmpdir}/publicip.json")"
-    countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
+	fn_script_log_pass "Using cached IP as public IP address"
+	publicip="$(jq -r '.ip' "${tmpdir}/publicip.json")"
+	country="$(jq -r '.country' "${tmpdir}/publicip.json")"
+	countrycode="$(jq -r '.countryCode' "${tmpdir}/publicip.json")"
 fi
 
 # Alert IP address
@@ -2559,11 +2559,11 @@ if [ -z "${displaymasterserver}" ]; then
 		if [ -n "${ip}" ] && [ -n "${port}" ]; then
 			if [ "${steammaster}" == "true" ] || [ "${commandname}" == "DEV-QUERY-RAW" ]; then
 				# Query external IP first as most liky to succeed.
-				masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${publicip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
+				masterserver="$(curl --connect-timeout 3 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${publicip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
 				if [ "${masterserver}" == "0" ]; then
 					# Loop though server IP addresses if external IP fails.
 					for queryip in "${queryips[@]}"; do
-						masterserver="$(curl --connect-timeout 10 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
+						masterserver="$(curl --connect-timeout 3 -m 3 -s "https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr=${queryip}&format=json" | jq --arg port "${port}" --arg queryport "${queryport}" --arg port3 "${port3}" 'if .response.servers != null then .response.servers[] | select((.gameport == ($port|tonumber) or .gameport == ($queryport|tonumber) or .gameport == ($port3|tonumber))) | .addr else empty end' | wc -l 2> /dev/null)"
 					done
 				fi
 				if [ "${masterserver}" == "0" ]; then
diff --git a/lgsm/modules/mods_list.sh b/lgsm/modules/mods_list.sh
index c13565004..ca320e468 100644
--- a/lgsm/modules/mods_list.sh
+++ b/lgsm/modules/mods_list.sh
@@ -68,7 +68,7 @@ sourcemoddownloadurl="https://www.sourcemod.net/latest.php?os=linux&version=${so
 sourcemodurl="${sourcemoddownloadurl}"
 # Steamworks
 steamworksscrapeurl="https://users.alliedmods.net/~kyles/builds/SteamWorks"
-steamworkslatestfile=$(curl --connect-timeout 10 -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
+steamworkslatestfile=$(curl --connect-timeout 3 -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
 steamworksdownloadurl="${steamworksscrapeurl}/${steamworkslatestfile}"
 steamworksurl="${steamworksdownloadurl}"
 # Stripper:Source
@@ -78,34 +78,34 @@ stripperdownloadurl="http://www.bailopan.net/stripper/snapshots/1.2/${stripperla
 stripperurl="${stripperdownloadurl}"
 
 # CS:GO Mods
-get5lastbuild=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
+get5lastbuild=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/get5/releases/latest | jq '.assets[] |select(.browser_download_url | endswith(".tar.gz"))')
 get5latestfile=$(echo -e "${get5lastbuild}" | jq -r '.name')
 get5latestfilelink=$(echo -e "${get5lastbuild}" | jq -r '.browser_download_url')
-csgopracticelatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
+csgopracticelatest=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/csgo-practice-mode/releases/latest | jq '.assets[]')
 csgopracticelatestfile=$(echo -e "${csgopracticelatest}" | jq -r '.name')
 csgopracticelatestlink=$(echo -e "${csgopracticelatest}" | jq -r '.browser_download_url')
-csgopuglatest=$(curl --connect-timeout 10 -sL https://api.github.com/repos/splewis/csgo-pug-setup/releases/latest | jq '.assets[]')
+csgopuglatest=$(curl --connect-timeout 3 -sL https://api.github.com/repos/splewis/csgo-pug-setup/releases/latest | jq '.assets[]')
 csgopuglatestfile=$(echo -e "${csgopuglatest}" | jq -r '.name')
 csgopuglatestlink=$(echo -e "${csgopuglatest}" | jq -r '.browser_download_url')
-gokzlatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/KZGlobalTeam/gokz/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
+gokzlatestversion=$(curl --connect-timeout 3 -s https://api.github.com/repos/KZGlobalTeam/gokz/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
 gokzlatestfile="GOKZ-v${gokzlatestversion}.zip"
 gokzlatestlink="https://github.com/KZGlobalTeam/gokz/releases/download/${gokzlatestversion}/${gokzlatestfile}"
-movementapilatestversion=$(curl --connect-timeout 10 -s https://api.github.com/repos/danzayau/MovementAPI/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
+movementapilatestversion=$(curl --connect-timeout 3 -s https://api.github.com/repos/danzayau/MovementAPI/releases/latest | grep "tag_name" | cut -d : -f 2,3 | sed -E 's/.*"([^"]+)".*/\1/')
 movementapilatestfile="MovementAPI-v${movementapilatestversion}.zip"
 movementapilatestlink="https://github.com/danzayau/MovementAPI/releases/download/${movementapilatestversion}/${movementapilatestfile}"
 
 # Rust
 carbonrustapilatestfile="Carbon.Linux.Release.tar.gz"
-carbonrustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/CarbonCommunity/Carbon.Core/releases/tags/production_build | jq -r '.assets[]|select(.name == "Carbon.Linux.Release.tar.gz") | .browser_download_url')
+carbonrustlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/CarbonCommunity/Carbon.Core/releases/tags/production_build | jq -r '.assets[]|select(.name == "Carbon.Linux.Release.tar.gz") | .browser_download_url')
 
 # Oxide
-oxiderustlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
-oxidehurtworldlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
-oxidesdtdlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
+oxiderustlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.Rust/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
+oxidehurtworldlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | jq -r '.assets[].browser_download_url')
+oxidesdtdlatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url')
 # Valheim Plus
-valheimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
+valheimpluslatestlink=$(curl --connect-timeout 3 -sL https://api.github.com/repos/Grantapher/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url')
 # Valheim BepInEx
-bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
+bepinexvhlatestlink=$(curl --connect-timeout 3 -sL "https://thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url')
 
 # Define mods information (required)
 
diff --git a/linuxgsm.sh b/linuxgsm.sh
index 8db9a57c9..6639e341f 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -111,7 +111,7 @@ fn_bootstrap_fetch_file() {
 			# Larger files show a progress bar.
 
 			echo -en "fetching ${fileurl_name} ${local_filename}...\c"
-			curlcmd=$(curl --connect-timeout 10 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
+			curlcmd=$(curl --connect-timeout 3 -s --fail -L -o "${local_filedir}/${local_filename}" "${fileurl}" 2>&1)
 
 			local exitcode=$?
 

From 88f8890229d7243c2bf391503d0f3a5aba4f99d6 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Thu, 13 Jun 2024 11:45:06 +0100
Subject: [PATCH 27/28] feat: deprecate Memories of Mars (#4593)

---
 lgsm/data/almalinux-8.csv      |  1 -
 lgsm/data/almalinux-9.csv      |  1 -
 lgsm/data/centos-7.csv         |  1 -
 lgsm/data/centos-8.csv         |  1 -
 lgsm/data/centos-9.csv         |  1 -
 lgsm/data/debian-10.csv        |  1 -
 lgsm/data/debian-11.csv        |  1 -
 lgsm/data/debian-12.csv        |  1 -
 lgsm/data/debian-9.csv         |  1 -
 lgsm/data/rhel-7.csv           |  1 -
 lgsm/data/rhel-8.csv           |  1 -
 lgsm/data/rhel-9.csv           |  1 -
 lgsm/data/rocky-8.csv          |  1 -
 lgsm/data/rocky-9.csv          |  1 -
 lgsm/data/serverlist.csv       |  1 -
 lgsm/data/ubuntu-16.04.csv     |  1 -
 lgsm/data/ubuntu-18.04.csv     |  1 -
 lgsm/data/ubuntu-20.04.csv     |  1 -
 lgsm/data/ubuntu-22.04.csv     |  1 -
 lgsm/data/ubuntu-23.04.csv     |  1 -
 lgsm/data/ubuntu-23.10.csv     |  1 -
 lgsm/data/ubuntu-24.04.csv     |  1 -
 lgsm/modules/info_game.sh      | 20 --------------------
 lgsm/modules/info_messages.sh  | 10 ----------
 lgsm/modules/install_config.sh |  6 ------
 25 files changed, 58 deletions(-)

diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv
index e1b0426b6..ab8d75b6a 100644
--- a/lgsm/data/almalinux-8.csv
+++ b/lgsm/data/almalinux-8.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv
index 22846b263..e4fb83e3b 100644
--- a/lgsm/data/almalinux-9.csv
+++ b/lgsm/data/almalinux-9.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv
index f583249fa..0e04e3c74 100644
--- a/lgsm/data/centos-7.csv
+++ b/lgsm/data/centos-7.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv
index 82fab1912..c07bf66d0 100644
--- a/lgsm/data/centos-8.csv
+++ b/lgsm/data/centos-8.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv
index e9326e0d7..c919a160b 100644
--- a/lgsm/data/centos-9.csv
+++ b/lgsm/data/centos-9.csv
@@ -69,7 +69,6 @@ mc,java-17-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv
index f43907e44..1892d9f9f 100644
--- a/lgsm/data/debian-10.csv
+++ b/lgsm/data/debian-10.csv
@@ -68,7 +68,6 @@ mc,openjdk-11-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv
index e064d5b6c..9a37307c0 100644
--- a/lgsm/data/debian-11.csv
+++ b/lgsm/data/debian-11.csv
@@ -69,7 +69,6 @@ mc,openjdk-17-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv
index 7964d24f9..8835871ee 100644
--- a/lgsm/data/debian-12.csv
+++ b/lgsm/data/debian-12.csv
@@ -69,7 +69,6 @@ mc,openjdk-17-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv
index 573b75b8c..c202924de 100644
--- a/lgsm/data/debian-9.csv
+++ b/lgsm/data/debian-9.csv
@@ -69,7 +69,6 @@ mc,openjdk-8-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv
index 9ff890dc6..0546d8eb1 100644
--- a/lgsm/data/rhel-7.csv
+++ b/lgsm/data/rhel-7.csv
@@ -70,7 +70,6 @@ mc,java-11-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv
index a6e67c2b3..bbfb982f0 100644
--- a/lgsm/data/rhel-8.csv
+++ b/lgsm/data/rhel-8.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv
index 22846b263..e4fb83e3b 100644
--- a/lgsm/data/rhel-9.csv
+++ b/lgsm/data/rhel-9.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv
index a6e67c2b3..bbfb982f0 100644
--- a/lgsm/data/rocky-8.csv
+++ b/lgsm/data/rocky-8.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv
index 22846b263..e4fb83e3b 100644
--- a/lgsm/data/rocky-9.csv
+++ b/lgsm/data/rocky-9.csv
@@ -69,7 +69,6 @@ mc,java-21-openjdk
 mcb,libnsl
 mh
 mohaa,compat-libstdc++-33.i686
-mom
 mta,ncurses-compat-libs,libxml2
 nd
 nec
diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv
index ae270f965..23e126627 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -68,7 +68,6 @@ mc,mcserver,Minecraft,ubuntu-22.04
 mcb,mcbserver,Minecraft Bedrock,ubuntu-22.04
 mh,mhserver,MORDHAU,ubuntu-22.04
 mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-22.04
-mom,momserver,Memories of Mars,ubuntu-22.04
 mta,mtaserver,Multi Theft Auto,ubuntu-22.04
 nd,ndserver,Nuclear Dawn,ubuntu-22.04
 nec,necserver,Necesse,ubuntu-22.04
diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv
index 1f81cc6bd..cf6a20220 100644
--- a/lgsm/data/ubuntu-16.04.csv
+++ b/lgsm/data/ubuntu-16.04.csv
@@ -70,7 +70,6 @@ mc,openjdk-8-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta
 nd
 nec
diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv
index 20e6bd819..6f7dcbe18 100644
--- a/lgsm/data/ubuntu-18.04.csv
+++ b/lgsm/data/ubuntu-18.04.csv
@@ -70,7 +70,6 @@ mc,openjdk-11-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv
index 69469c810..98ba275f9 100644
--- a/lgsm/data/ubuntu-20.04.csv
+++ b/lgsm/data/ubuntu-20.04.csv
@@ -69,7 +69,6 @@ mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv
index ab0823f15..9bc8f7ad1 100644
--- a/lgsm/data/ubuntu-22.04.csv
+++ b/lgsm/data/ubuntu-22.04.csv
@@ -69,7 +69,6 @@ mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv
index 63597d987..e6d0c2962 100644
--- a/lgsm/data/ubuntu-23.04.csv
+++ b/lgsm/data/ubuntu-23.04.csv
@@ -69,7 +69,6 @@ mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv
index 63597d987..e6d0c2962 100644
--- a/lgsm/data/ubuntu-23.10.csv
+++ b/lgsm/data/ubuntu-23.10.csv
@@ -69,7 +69,6 @@ mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv
index 63597d987..e6d0c2962 100644
--- a/lgsm/data/ubuntu-24.04.csv
+++ b/lgsm/data/ubuntu-24.04.csv
@@ -69,7 +69,6 @@ mc,openjdk-21-jre
 mcb
 mh
 mohaa,libstdc++5:i386
-mom
 mta,libncursesw5,libxml2-utils
 nd
 nec
diff --git a/lgsm/modules/info_game.sh b/lgsm/modules/info_game.sh
index 56ae055e4..007187ab8 100644
--- a/lgsm/modules/info_game.sh
+++ b/lgsm/modules/info_game.sh
@@ -1510,24 +1510,6 @@ fn_info_game_mohaa() {
 	serverpassword="${serverpassword:-"NOT SET"}"
 }
 
-# Config Type: json
-# Parameters: true
-# Comment: // or /* */
-fn_info_game_mom() {
-	if [ -f "${servercfgfullpath}" ]; then
-		fn_info_game_json "defaultmap" ".MapName"
-		fn_info_game_json "maxplayers" ".MaxPlayers"
-		fn_info_game_json "servername" ".ServerName"
-		fn_info_game_json "serverpassword" ".ServerPassword"
-	fi
-	beaconport="${beaconport:-"0"}"
-	defaultmap="${defaultmap:-"NOT SET"}"
-	maxplayers="${maxplayers:-"0"}"
-	port="${port:-"0"}"
-	servername="${servername:-"NOT SET"}"
-	serverpassword="${serverpassword:-"NOT SET"}"
-}
-
 # Config Type: xml
 # Comment: <!-- -->
 # Example: <servername>Default MTA Server</servername>
@@ -2375,8 +2357,6 @@ elif [ "${shortname}" == "mh" ]; then
 	fn_info_game_mh
 elif [ "${shortname}" == "mohaa" ]; then
 	fn_info_game_mohaa
-elif [ "${shortname}" == "mom" ]; then
-	fn_info_game_mom
 elif [ "${shortname}" == "mta" ]; then
 	fn_info_game_mta
 elif [ "${shortname}" == "nec" ]; then
diff --git a/lgsm/modules/info_messages.sh b/lgsm/modules/info_messages.sh
index a1e8f52ac..a5f25bc74 100644
--- a/lgsm/modules/info_messages.sh
+++ b/lgsm/modules/info_messages.sh
@@ -1192,14 +1192,6 @@ fn_info_messages_mohaa() {
 	} | column -s $'\t' -t
 }
 
-fn_info_messages_mom() {
-	{
-		fn_port "header"
-		fn_port "Game" port udp
-		fn_port "Beacon" beaconport udp
-	} | column -s $'\t' -t
-}
-
 fn_info_messages_mta() {
 	{
 		fn_port "header"
@@ -1804,8 +1796,6 @@ fn_info_messages_select_engine() {
 		fn_info_messages_mh
 	elif [ "${shortname}" == "mohaa" ]; then
 		fn_info_messages_mohaa
-	elif [ "${shortname}" == "mom" ]; then
-		fn_info_messages_mom
 	elif [ "${shortname}" == "mta" ]; then
 		fn_info_messages_mta
 	elif [ "${shortname}" == "nec" ]; then
diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh
index 9b3146770..eea590f9e 100644
--- a/lgsm/modules/install_config.sh
+++ b/lgsm/modules/install_config.sh
@@ -589,12 +589,6 @@ elif [ "${shortname}" == "mta" ]; then
 	fn_fetch_default_config
 	fn_default_config_remote
 	fn_list_config_locations
-elif [ "${shotname}" == "mom" ]; then
-	array_configs+=(DedicatedServerConfig.cfg)
-	fn_fetch_default_config
-	fn_default_config_remote
-	fn_set_config_vars
-	fn_list_config_locations
 elif [ "${shortname}" == "pvr" ]; then
 	fn_check_cfgdir
 	array_configs+=(Game.ini)

From 164f9507f84e9856408bef75411ef893f7d36cc0 Mon Sep 17 00:00:00 2001
From: Daniel Gibbs <me@danielgibbs.co.uk>
Date: Thu, 13 Jun 2024 14:13:29 +0100
Subject: [PATCH 28/28] feat: add debian 13

---
 lgsm/data/debian-13.csv | 137 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)
 create mode 100644 lgsm/data/debian-13.csv

diff --git a/lgsm/data/debian-13.csv b/lgsm/data/debian-13.csv
new file mode 100644
index 000000000..6d16deb9f
--- /dev/null
+++ b/lgsm/data/debian-13.csv
@@ -0,0 +1,137 @@
+all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat-openbsd,pigz,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils
+steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd
+ac
+ahl
+ahl2
+ark
+arma3
+armar,libcurl4
+ats
+av
+bb
+bb2,libcurl4-gnutls-dev:i386
+bd
+bf1942,libncurses5:i386,libtinfo5:i386
+bfv,libncurses5:i386,libstdc++5:i386
+bmdm,libncurses5:i386
+bo
+bs
+bt,libicu-dev,dos2unix,libxml2-utils
+btl
+cc
+ck,xvfb,libxi6
+cmw
+cod,libstdc++5:i386
+cod2,libstdc++5:i386
+cod4
+coduo,libstdc++5:i386
+codwaw
+col
+cs
+cs2
+cscz
+csgo
+css,libtinfo5:i386
+ct
+dab
+dayz
+dmc
+dod
+dodr
+dods
+doi
+dst,libcurl4-gnutls-dev:i386
+dys
+eco,libgdiplus
+em
+etl
+ets2
+fctr
+fof
+gmod,libtinfo5:i386
+hcu
+hl2dm
+hldm
+hldms
+hw,lib32z1
+hz
+ins
+inss
+ios
+jc2
+jc3
+jk2
+kf
+kf2
+l4d
+l4d2
+mc,openjdk-22-jre
+mcb
+mh
+mohaa,libstdc++5:i386
+mta,libncursesw5,libxml2-utils
+nd
+nec
+nmrih,libtinfo5:i386
+ns
+ns2,speex,libtbb12
+ns2c,speex:i386,libtbb12
+ohd
+onset,libmariadb-dev
+opfor
+pc
+pc2
+pmc,openjdk-22-jre
+ps,libgconf-2-4
+pvkii
+pvr,libc++1
+pw
+pz,openjdk-22-jre,rng-tools5
+q2
+q3
+q4
+ql
+qw
+ricochet
+ro
+rtcw
+rust,lib32z1
+rw,openjdk-22-jre
+samp
+sb
+sbots
+scpsl,mono-complete
+scpslsm,mono-complete
+sdtd,telnet,expect,libxml2-utils
+sf
+sfc,libtinfo5:i386
+sof2
+sol
+squad
+st,libxml2-utils
+stn
+sven,libssl3:i386,zlib1g:i386
+terraria
+tf
+tf2,libcurl4-gnutls-dev:i386
+tfc
+ti
+ts
+ts3
+tu
+tw
+unt
+ut
+ut2k4
+ut3
+ut99
+vh,libc6-dev,libatomic1,libpulse-dev
+vints,aspnetcore-runtime-7.0
+vpmc,openjdk-21-jre
+vs
+wet
+wf
+wmc,openjdk21-jre
+wurm,xvfb
+zmr,libtinfo5:i386
+zps,libtinfo5:i386