瀏覽代碼

Merge branch 'release/v26.1.0'

unknown 1 月之前
父節點
當前提交
d05992d7d2
共有 100 個文件被更改,包括 981 次插入181 次删除
  1. 28 28
      .devcontainer/devcontainer.json
  2. 16 1
      .editorconfig
  3. 11 0
      .github/linters/.codespellrc
  4. 2 0
      .github/linters/.flake8
  5. 9 0
      .github/linters/.gitleaks.toml
  6. 20 0
      .github/linters/.markdown-lint.yml
  7. 1 0
      .github/linters/.shellcheckrc
  8. 25 0
      .github/linters/.yaml-lint.yml
  9. 15 15
      .github/pull_request_template.md
  10. 1 1
      .github/workflows/action-prettier.yml
  11. 8 4
      .github/workflows/action-super-linter.yml
  12. 1 1
      .github/workflows/action-update-copyright-years-in-license-file.yml
  13. 2 0
      .github/workflows/add-to-project.yml
  14. 6 4
      .github/workflows/details-check-generate-matrix.sh
  15. 5 2
      .github/workflows/details-check.yml
  16. 2 0
      .github/workflows/git-sync.yml
  17. 4 0
      .github/workflows/potential-duplicates.yml
  18. 8 4
      .github/workflows/serverlist-validate-game-icons.sh
  19. 6 3
      .github/workflows/serverlist-validate.sh
  20. 3 0
      .github/workflows/serverlist-validate.yml
  21. 2 0
      .github/workflows/trigger-docker-build.yml
  22. 3 1
      .github/workflows/update-check.yml
  23. 4 0
      .github/workflows/update-copyright-years-in-license-file.yml
  24. 3 0
      .github/workflows/version-check.sh
  25. 1 1
      .prettierrc
  26. 1 1
      .prettierrc.json
  27. 1 1
      .shellcheckrc
  28. 10 10
      .vscode/extensions.json
  29. 15 15
      CODE_OF_CONDUCT.md
  30. 66 67
      CONTRIBUTING.md
  31. 1 1
      LICENSE.md
  32. 16 16
      README.md
  33. 10 0
      lgsm/config-default/config-lgsm/acserver/_default.cfg
  34. 10 0
      lgsm/config-default/config-lgsm/ahl2server/_default.cfg
  35. 10 0
      lgsm/config-default/config-lgsm/ahlserver/_default.cfg
  36. 10 0
      lgsm/config-default/config-lgsm/arkserver/_default.cfg
  37. 10 0
      lgsm/config-default/config-lgsm/arma3server/_default.cfg
  38. 11 1
      lgsm/config-default/config-lgsm/armarserver/_default.cfg
  39. 10 0
      lgsm/config-default/config-lgsm/atsserver/_default.cfg
  40. 10 0
      lgsm/config-default/config-lgsm/avserver/_default.cfg
  41. 10 0
      lgsm/config-default/config-lgsm/bb2server/_default.cfg
  42. 10 0
      lgsm/config-default/config-lgsm/bbserver/_default.cfg
  43. 10 0
      lgsm/config-default/config-lgsm/bdserver/_default.cfg
  44. 10 0
      lgsm/config-default/config-lgsm/bf1942server/_default.cfg
  45. 10 0
      lgsm/config-default/config-lgsm/bfvserver/_default.cfg
  46. 10 0
      lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
  47. 10 0
      lgsm/config-default/config-lgsm/boserver/_default.cfg
  48. 10 0
      lgsm/config-default/config-lgsm/bsserver/_default.cfg
  49. 10 0
      lgsm/config-default/config-lgsm/btlserver/_default.cfg
  50. 10 0
      lgsm/config-default/config-lgsm/btserver/_default.cfg
  51. 10 0
      lgsm/config-default/config-lgsm/ccserver/_default.cfg
  52. 10 0
      lgsm/config-default/config-lgsm/ckserver/_default.cfg
  53. 10 0
      lgsm/config-default/config-lgsm/cmwserver/_default.cfg
  54. 10 0
      lgsm/config-default/config-lgsm/cod2server/_default.cfg
  55. 10 0
      lgsm/config-default/config-lgsm/cod4server/_default.cfg
  56. 10 0
      lgsm/config-default/config-lgsm/codserver/_default.cfg
  57. 10 0
      lgsm/config-default/config-lgsm/coduoserver/_default.cfg
  58. 10 0
      lgsm/config-default/config-lgsm/codwawserver/_default.cfg
  59. 10 0
      lgsm/config-default/config-lgsm/colserver/_default.cfg
  60. 10 0
      lgsm/config-default/config-lgsm/cs2server/_default.cfg
  61. 10 0
      lgsm/config-default/config-lgsm/csczserver/_default.cfg
  62. 10 0
      lgsm/config-default/config-lgsm/csgoserver/_default.cfg
  63. 10 0
      lgsm/config-default/config-lgsm/csserver/_default.cfg
  64. 10 0
      lgsm/config-default/config-lgsm/cssserver/_default.cfg
  65. 10 0
      lgsm/config-default/config-lgsm/ctserver/_default.cfg
  66. 10 0
      lgsm/config-default/config-lgsm/dabserver/_default.cfg
  67. 10 0
      lgsm/config-default/config-lgsm/dayzserver/_default.cfg
  68. 10 0
      lgsm/config-default/config-lgsm/dmcserver/_default.cfg
  69. 10 0
      lgsm/config-default/config-lgsm/dodrserver/_default.cfg
  70. 10 0
      lgsm/config-default/config-lgsm/dodserver/_default.cfg
  71. 10 0
      lgsm/config-default/config-lgsm/dodsserver/_default.cfg
  72. 10 0
      lgsm/config-default/config-lgsm/doiserver/_default.cfg
  73. 10 0
      lgsm/config-default/config-lgsm/dstserver/_default.cfg
  74. 10 0
      lgsm/config-default/config-lgsm/dysserver/_default.cfg
  75. 10 0
      lgsm/config-default/config-lgsm/ecoserver/_default.cfg
  76. 10 0
      lgsm/config-default/config-lgsm/emserver/_default.cfg
  77. 12 2
      lgsm/config-default/config-lgsm/etlserver/_default.cfg
  78. 10 0
      lgsm/config-default/config-lgsm/ets2server/_default.cfg
  79. 10 0
      lgsm/config-default/config-lgsm/fctrserver/_default.cfg
  80. 10 0
      lgsm/config-default/config-lgsm/fofserver/_default.cfg
  81. 10 0
      lgsm/config-default/config-lgsm/gmodserver/_default.cfg
  82. 10 0
      lgsm/config-default/config-lgsm/hcuserver/_default.cfg
  83. 10 0
      lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
  84. 10 0
      lgsm/config-default/config-lgsm/hldmserver/_default.cfg
  85. 10 0
      lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
  86. 10 0
      lgsm/config-default/config-lgsm/hwserver/_default.cfg
  87. 12 2
      lgsm/config-default/config-lgsm/hzserver/_default.cfg
  88. 10 0
      lgsm/config-default/config-lgsm/insserver/_default.cfg
  89. 10 0
      lgsm/config-default/config-lgsm/inssserver/_default.cfg
  90. 10 0
      lgsm/config-default/config-lgsm/iosserver/_default.cfg
  91. 10 0
      lgsm/config-default/config-lgsm/jc2server/_default.cfg
  92. 10 0
      lgsm/config-default/config-lgsm/jc3server/_default.cfg
  93. 10 0
      lgsm/config-default/config-lgsm/jk2server/_default.cfg
  94. 10 0
      lgsm/config-default/config-lgsm/kf2server/_default.cfg
  95. 10 0
      lgsm/config-default/config-lgsm/kfserver/_default.cfg
  96. 10 0
      lgsm/config-default/config-lgsm/l4d2server/_default.cfg
  97. 10 0
      lgsm/config-default/config-lgsm/l4dserver/_default.cfg
  98. 10 0
      lgsm/config-default/config-lgsm/mcbserver/_default.cfg
  99. 10 0
      lgsm/config-default/config-lgsm/mcserver/_default.cfg
  100. 10 0
      lgsm/config-default/config-lgsm/mhserver/_default.cfg

+ 28 - 28
.devcontainer/devcontainer.json

@@ -1,30 +1,30 @@
 {
-  "name": "BASH Dev Container",
-  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
-  "features": {
-    "ghcr.io/devcontainers-community/npm-features/prettier:1": {
-      "plugins": "prettier-plugin-sh"
-    },
-    "ghcr.io/devcontainers-extra/features/actionlint:1": {},
-    "ghcr.io/devcontainers-extra/features/checkov:1": {},
-    "ghcr.io/devcontainers-extra/features/markdownlint-cli:1": {},
-    "ghcr.io/devcontainers-extra/features/shellcheck:1": {},
-    "ghcr.io/devcontainers-extra/features/yamllint:2": {},
-    "ghcr.io/devcontainers/features/github-cli:1": {}
-  },
-  "customizations": {
-    "vscode": {
-      "extensions": [
-        "DavidAnson.vscode-markdownlint",
-        "editorconfig.editorconfig",
-        "esbenp.prettier-vscode",
-        "github.vscode-github-actions",
-        "GitHub.vscode-pull-request-github",
-        "redhat.vscode-yaml",
-        "timonwong.shellcheck",
-        "yzhang.markdown-all-in-one"
-      ]
-    }
-  },
-  "postCreateCommand": "npm init -y >/dev/null 2>&1 || true && npm install --no-save prettier prettier-plugin-sh prettier-plugin-jinja-template"
+	"name": "BASH Dev Container",
+	"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
+	"features": {
+		"ghcr.io/devcontainers-community/npm-features/prettier:1": {
+			"plugins": "prettier-plugin-sh"
+		},
+		"ghcr.io/devcontainers-extra/features/actionlint:1": {},
+		"ghcr.io/devcontainers-extra/features/checkov:1": {},
+		"ghcr.io/devcontainers-extra/features/markdownlint-cli:1": {},
+		"ghcr.io/devcontainers-extra/features/shellcheck:1": {},
+		"ghcr.io/devcontainers-extra/features/yamllint:2": {},
+		"ghcr.io/devcontainers/features/github-cli:1": {}
+	},
+	"customizations": {
+		"vscode": {
+			"extensions": [
+				"DavidAnson.vscode-markdownlint",
+				"editorconfig.editorconfig",
+				"esbenp.prettier-vscode",
+				"github.vscode-github-actions",
+				"GitHub.vscode-pull-request-github",
+				"redhat.vscode-yaml",
+				"timonwong.shellcheck",
+				"yzhang.markdown-all-in-one"
+			]
+		}
+	},
+	"postCreateCommand": "npm init -y >/dev/null 2>&1 || true && npm install --no-save prettier prettier-plugin-sh prettier-plugin-jinja-template"
 }

+ 16 - 1
.editorconfig

@@ -12,6 +12,21 @@ insert_final_newline = true
 trim_trailing_whitespace = true
 
 # BASH Files
-[*.{.sh}]
+[*.sh]
 indent_size = 4
 indent_style = tab
+
+# JSON Files (Biome formatting)
+[*.json]
+indent_style = tab
+indent_size = 2
+
+# Steam appmanifest files (Valve ACF format)
+[*.acf]
+indent_style = tab
+indent_size = 4
+
+# Python
+[*.py]
+indent_style = space
+indent_size = 4

+ 11 - 0
.github/linters/.codespellrc

@@ -0,0 +1,11 @@
+[codespell]
+# Skip data tables that contain many short server identifiers (e.g. "fof", "nd")
+skip =
+    lgsm/data/*.csv,
+    package-lock.json,
+    */package-lock.json,
+    node_modules,
+    */node_modules/*
+
+# Ignore common identifiers/acronyms and extensions used throughout LinuxGSM
+ignore-words-list = distroname,fof,nd,sav,parms,ThirdParty

+ 2 - 0
.github/linters/.flake8

@@ -0,0 +1,2 @@
+[flake8]
+max-line-length = 120

+ 9 - 0
.github/linters/.gitleaks.toml

@@ -0,0 +1,9 @@
+title = "LinuxGSM Gitleaks Config"
+
+[allowlist]
+  description = "Known false positives"
+  regexes = [
+    # Google Analytics 4 Measurement Protocol API secret - not a sensitive credential,
+    # it is intentionally embedded in client-side code and is safe to be public.
+    '''apisecret="[A-Za-z0-9_\-]+"''',
+  ]

+ 20 - 0
.github/linters/.markdown-lint.yml

@@ -0,0 +1,20 @@
+# Configuration for markdownlint (used by Super Linter)
+
+# MD041: README starts with HTML badges in this repo.
+MD041: false
+
+# MD051: GitHub heading anchor generation can differ (emoji, punctuation).
+MD051: false
+
+# MD013: The project documentation frequently contains long URLs/commands.
+MD013: false
+
+# MD033: The main README uses inline HTML for badges.
+MD033: false
+
+# MD007: Repo uses 2-space indentation for nested lists.
+MD007:
+  indent: 2
+
+# MD030: Repo mixes 1-space unordered and 2-space ordered list markers.
+MD030: false

+ 1 - 0
.github/linters/.shellcheckrc

@@ -0,0 +1 @@
+disable=SC2154,SC2034

+ 25 - 0
.github/linters/.yaml-lint.yml

@@ -0,0 +1,25 @@
+extends: default
+
+rules:
+  document-start: disable
+  truthy: disable
+
+  line-length:
+    max: 200
+    level: warning
+    allow-non-breakable-words: true
+    allow-non-breakable-inline-mappings: true
+
+  braces:
+    min-spaces-inside: 0
+    max-spaces-inside: 1
+    min-spaces-inside-empty: 0
+    max-spaces-inside-empty: 0
+
+  empty-lines:
+    max: 2
+    max-start: 0
+    max-end: 0
+
+  comments:
+    min-spaces-from-content: 1

+ 15 - 15
.github/pull_request_template.md

@@ -6,30 +6,30 @@ Fixes #[issue]
 
 ## Type of change
 
--   [ ] Bug fix (a change which fixes an issue).
--   [ ] New feature (a change which adds functionality).
--   [ ] New Server (new server added).
--   [ ] Refactor (restructures existing code).
--   [ ] Comment update (typo, spelling, explanation, examples, etc).
+- [ ] Bug fix (a change which fixes an issue).
+- [ ] New feature (a change which adds functionality).
+- [ ] New Server (new server added).
+- [ ] Refactor (restructures existing code).
+- [ ] Comment update (typo, spelling, explanation, examples, etc).
 
 ## Checklist
 
 PR will not be merged until all steps are complete.
 
--   [ ] This pull request links to an issue.
--   [ ] This pull request uses the `develop` branch as its base.
--   [ ] This pull request subject follows the Conventional Commits standard.
--   [ ] This code follows the style guidelines of this project.
--   [ ] I have performed a self-review of my code.
--   [ ] I have checked that this code is commented where required.
--   [ ] I have provided a detailed enough description of this PR.
--   [ ] I have checked if documentation needs updating.
+- [ ] This pull request links to an issue.
+- [ ] This pull request uses the `develop` branch as its base.
+- [ ] This pull request subject follows the Conventional Commits standard.
+- [ ] This code follows the style guidelines of this project.
+- [ ] I have performed a self-review of my code.
+- [ ] I have checked that this code is commented where required.
+- [ ] I have provided a detailed enough description of this PR.
+- [ ] I have checked if documentation needs updating.
 
 ## Documentation
 
 If documentation does need updating either update it by creating a PR (preferred) or request a documentation update.
 
--   User docs: https://github.com/GameServerManagers/LinuxGSM-Docs
--   Dev docs: https://github.com/GameServerManagers/LinuxGSM-Dev-Docs
+- User docs: <https://github.com/GameServerManagers/LinuxGSM-Docs>
+- Dev docs: <https://github.com/GameServerManagers/LinuxGSM-Dev-Docs>
 
 **Thank you for your Pull Request!**

+ 1 - 1
.github/workflows/action-prettier.yml

@@ -19,7 +19,7 @@ jobs:
 
     steps:
       - name: Checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v6
         with:
           persist-credentials: false
 

+ 8 - 4
.github/workflows/action-super-linter.yml

@@ -25,11 +25,11 @@ jobs:
 
     steps:
       - name: Checkout code
-        uses: actions/checkout@v5
+        uses: actions/checkout@v6
         with:
-          # super-linter needs the full git history to get the
-          # list of files that changed across commits
+          # Full clone required so super-linter can resolve GITHUB_BEFORE_SHA.
           fetch-depth: 0
+          fetch-tags: false
           persist-credentials: false
 
       - name: Install Prettier plugins (for summary formatting)
@@ -41,11 +41,15 @@ jobs:
         env:
           # To report GitHub Actions status checks
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          DEFAULT_BRANCH: ${{ github.ref_name }}
+          VALIDATE_BIOME_FORMAT: false
+          VALIDATE_BIOME_LINT: false
           VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
           VALIDATE_JSCPD: false
           VALIDATE_JSON_PRETTIER: false
           VALIDATE_MARKDOWN_PRETTIER: false
           VALIDATE_NATURAL_LANGUAGE: false
+          VALIDATE_PYTHON_RUFF_FORMAT: false
           VALIDATE_SHELL_SHFMT: false
-          VALIDATE_TERRAFORM_TERRASCAN: false
+          VALIDATE_TRIVY: false
           VALIDATE_YAML_PRETTIER: false

+ 1 - 1
.github/workflows/action-update-copyright-years-in-license-file.yml

@@ -13,7 +13,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
-        uses: actions/checkout@v5
+        uses: actions/checkout@v6
         with:
           fetch-depth: 0
           persist-credentials: false

+ 2 - 0
.github/workflows/add-to-project.yml

@@ -5,6 +5,8 @@ on:
       - opened
       - labeled
 
+permissions: {}
+
 jobs:
   add-to-project:
     if: github.repository_owner == 'GameServerManagers'

+ 6 - 4
.github/workflows/details-check-generate-matrix.sh

@@ -14,10 +14,12 @@ while read -r line; do
 	export gamename
 	distro=$(echo "$line" | awk -F, '{ print $4 }')
 	export distro
-	echo -n "{" >> "shortnamearray.json"
-	echo -n "\"shortname\":" >> "shortnamearray.json"
-	echo -n "\"${shortname}\"" >> "shortnamearray.json"
-	echo -n "}," >> "shortnamearray.json"
+	{
+		echo -n "{";
+		echo -n "\"shortname\":";
+		echo -n "\"${shortname}\"";
+		echo -n "},";
+	} >> "shortnamearray.json"
 done < <(tail -n +2 serverlist.csv)
 sed -i '$ s/.$//' "shortnamearray.json"
 echo -n "]" >> "shortnamearray.json"

+ 5 - 2
.github/workflows/details-check.yml

@@ -6,6 +6,9 @@ on:
     branches:
       - develop
 
+permissions:
+  contents: read
+
 concurrency:
   group: details-check-${{ github.ref_name }}
   cancel-in-progress: true
@@ -28,7 +31,7 @@ jobs:
         run: |
           shortnamearray=$(cat shortnamearray.json)
           echo "${shortnamearray}"
-          echo -n "matrix=${shortnamearray}" >> $GITHUB_OUTPUT
+          echo -n "matrix=${shortnamearray}" >> "$GITHUB_OUTPUT"
 
   details-check:
     if: github.repository_owner == 'GameServerManagers'
@@ -41,7 +44,7 @@ jobs:
 
     steps:
       - name: Download linuxgsm.sh
-        run: wget https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh; chmod +x linuxgsm.sh
+        run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh"; chmod +x linuxgsm.sh
 
       - name: Install dependencies
         run: sudo apt-get install libxml2-utils jq

+ 2 - 0
.github/workflows/git-sync.yml

@@ -7,6 +7,8 @@ on:
       - master
       - develop
 
+permissions: {}
+
 jobs:
   gitHub-to-bitbucket:
     if: github.repository_owner == 'GameServerManagers'

+ 4 - 0
.github/workflows/potential-duplicates.yml

@@ -3,6 +3,10 @@ on:
   issues:
     types:
       - opened
+
+permissions:
+  issues: write
+
 jobs:
   potential-duplicates:
     if: github.repository_owner == 'GameServerManagers'

+ 8 - 4
.github/workflows/serverlist-validate-game-icons.sh

@@ -2,6 +2,8 @@
 
 cd "${datadir}" || exit
 
+exitcode=0
+
 echo ""
 echo "Checking that all the game servers listed in serverlist.csv have a shortname-icon.png file"
 for shortname in $(tail -n +2 serverlist.csv | cut -d ',' -f1); do
@@ -16,9 +18,11 @@ done
 
 echo ""
 echo "Checking if an unexpected gameicon exists"
-for gameicon in $(ls -1 gameicons); do
+shopt -s nullglob
+for gameiconpath in gameicons/*; do
+	gameicon="$(basename "${gameiconpath}")"
 	# check if $gameicon is in serverlist.csv
-	if ! grep -q "${gameicon%-icon.png}" serverlist.csv; then
+	if ! grep -q -E "^${gameicon%-icon.png}," serverlist.csv; then
 		echo "ERROR: gameicon ${gameicon} is not in serverlist.csv"
 		exitcode=1
 	else
@@ -28,7 +32,7 @@ done
 
 echo ""
 echo "Checking that the number of gameicons matches the number of servers in serverlist.csv"
-gameiconcount="$(ls -1 gameicons | wc -l)"
+gameiconcount="$(find gameicons -mindepth 1 -maxdepth 1 -type f | wc -l)"
 serverlistcount="$(tail -n +2 serverlist.csv | wc -l)"
 if [ "${gameiconcount}" -ne "${serverlistcount}" ]; then
 	echo "ERROR: game icons (${gameiconcount}) does not match serverlist.csv ($serverlistcount)"
@@ -37,4 +41,4 @@ else
 	echo "OK: gameiconcount ($gameiconcount) matches serverlistcount ($serverlistcount)"
 fi
 
-exit ${exitcode}
+exit "${exitcode}"

+ 6 - 3
.github/workflows/serverlist-validate.sh

@@ -3,12 +3,15 @@ echo "Checking that all the game servers are listed in all csv files"
 echo "this check will ensure serverlist.csv has the same number of lines (-2 lines) as the other csv files"
 # count the number of lines in the serverlist.csv
 cd "${datadir}" || exit
+
+exitcode=0
 serverlistcount="$(tail -n +2 serverlist.csv | wc -l)"
 echo "serverlistcount: $serverlistcount"
 # get list of all csv files starting with ubunutu debian centos
-csvlist="$(ls -1 | grep -E '^(ubuntu|debian|centos|rhel|almalinux|rocky).*\.csv$')"
+shopt -s nullglob
+csvlist=(ubuntu*.csv debian*.csv centos*.csv rhel*.csv almalinux*.csv rocky*.csv)
 # loop though each csv file and make sure the number of lines is the same as the serverlistcount
-for csv in $csvlist; do
+for csv in "${csvlist[@]}"; do
 	csvcount="$(wc -l < "${csv}")"
 	csvcount=$((csvcount - 2))
 	if [ "$csvcount" -ne "$serverlistcount" ]; then
@@ -35,4 +38,4 @@ for shortname in $(tail -n +2 serverlist.csv | cut -d ',' -f1); do
 	fi
 done
 
-exit ${exitcode}
+exit "${exitcode}"

+ 3 - 0
.github/workflows/serverlist-validate.yml

@@ -3,6 +3,9 @@ on:
   workflow_dispatch:
   push:
 
+permissions:
+  contents: read
+
 jobs:
   serverlist-validate:
     if: github.repository_owner == 'GameServerManagers'

+ 2 - 0
.github/workflows/trigger-docker-build.yml

@@ -6,6 +6,8 @@ on:
     types:
       - published
 
+permissions: {}
+
 jobs:
   trigger_build_docker-linuxgsm:
     if: github.repository_owner == 'GameServerManagers'

+ 3 - 1
.github/workflows/update-check.yml

@@ -6,6 +6,8 @@ on:
     branches:
       - develop
 
+permissions: {}
+
 concurrency:
   group: update-check-${{ github.ref_name }}
   cancel-in-progress: true
@@ -22,7 +24,7 @@ jobs:
 
     steps:
       - name: Download linuxgsm.sh
-        run: wget https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh; chmod +x linuxgsm.sh
+        run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh"; chmod +x linuxgsm.sh
 
       - name: Install dependencies
         run: sudo dpkg --add-architecture i386; sudo apt-get update;

+ 4 - 0
.github/workflows/update-copyright-years-in-license-file.yml

@@ -4,6 +4,10 @@ on:
   schedule:
     - cron: "0 3 1 1 *" # 03:00 AM on January 1
 
+permissions:
+  contents: write
+  pull-requests: write
+
 jobs:
   update-license-year:
     if: github.repository_owner == 'GameServerManagers'

+ 3 - 0
.github/workflows/version-check.sh

@@ -0,0 +1,3 @@
+# Prettier auto-commit runs with GITHUB_TOKEN (GitHub App).
+# GitHub blocks that token from creating/updating anything under .github/workflows.
+.github/workflows/**

+ 1 - 1
.prettierrc

@@ -1,3 +1,3 @@
 {
-	"plugins": ["prettier-plugin-sh"]
+  "plugins": ["prettier-plugin-sh"]
 }

+ 1 - 1
.prettierrc.json

@@ -1,3 +1,3 @@
 {
-  "plugins": ["prettier-plugin-sh"]
+	"plugins": ["prettier-plugin-sh"]
 }

+ 1 - 1
.shellcheckrc

@@ -1 +1 @@
-disable=SC2154
+disable=SC2154,SC2034

+ 10 - 10
.vscode/extensions.json

@@ -1,12 +1,12 @@
 {
-  "recommendations": [
-    "DavidAnson.vscode-markdownlint",
-    "editorconfig.editorconfig",
-    "esbenp.prettier-vscode",
-    "github.vscode-github-actions",
-    "GitHub.vscode-pull-request-github",
-    "redhat.vscode-yaml",
-    "timonwong.shellcheck",
-    "yzhang.markdown-all-in-one"
-  ]
+	"recommendations": [
+		"DavidAnson.vscode-markdownlint",
+		"editorconfig.editorconfig",
+		"esbenp.prettier-vscode",
+		"github.vscode-github-actions",
+		"GitHub.vscode-pull-request-github",
+		"redhat.vscode-yaml",
+		"timonwong.shellcheck",
+		"yzhang.markdown-all-in-one"
+	]
 }

+ 15 - 15
CODE_OF_CONDUCT.md

@@ -17,24 +17,24 @@ diverse, inclusive, and healthy community.
 Examples of behavior that contributes to a positive environment for our
 community include:
 
--   Demonstrating empathy and kindness toward other people
--   Being respectful of differing opinions, viewpoints, and experiences
--   Giving and gracefully accepting constructive feedback
--   Accepting responsibility and apologizing to those affected by our mistakes,
-    and learning from the experience
--   Focusing on what is best not just for us as individuals, but for the
-    overall community
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
+  and learning from the experience
+- Focusing on what is best not just for us as individuals, but for the
+  overall community
 
 Examples of unacceptable behavior include:
 
--   The use of sexualized language or imagery, and sexual attention or
-    advances of any kind
--   Trolling, insulting or derogatory comments, and personal or political attacks
--   Public or private harassment
--   Publishing others' private information, such as a physical or email
-    address, without their explicit permission
--   Other conduct which could reasonably be considered inappropriate in a
-    professional setting
+- The use of sexualized language or imagery, and sexual attention or
+  advances of any kind
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email
+  address, without their explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+  professional setting
 
 ## Enforcement Responsibilities
 

+ 66 - 67
CONTRIBUTING.md

@@ -8,31 +8,31 @@ The following is a set of guidelines for contributing to LinuxGSM, which are hos
 
 [Contributing to LinuxGSM](#contributing-to-linuxgsm)
 
--   [Table of Contents](#table-of-contents)
--   [Code of Conduct](#code-of-conduct)
--   [🎉 Bug/Enhancement Contributions 🐛](#bug-enhancement-contributions)
-    -   [🐛Reporting Bugs](#reporting-bugs)
-        -   [Before Submitting A Bug Report](#before-submitting-a-bug-report)
-        -   [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a--good--bug-report-)
-    -   [🎉Suggesting Features](#suggesting-features)
-        -   [Before Submitting An Feature Suggestion](#before-submitting-an-feature-suggestion)
-        -   [How Do I Submit A (Good) Feature Suggestion?](#how-do-i-submit-a--good--feature-suggestion-)
-    -   [🎮 Game Server Requests](#game-server-requests)
-        -   [Before Submitting a Game Server Request](#before-submitting-a-game-server-request)
-        -   [How Do I Submit A (Good) Game Server Request?](#how-do-i-submit-a--good--game-server-request-)
-    -   [🎮 Game Server Specific Issues](#game-server-specific-issues)
--   [💻 Code Contributions](#code-contributions)
-    -   [Pull Requests](#pull-requests)
-        -   [Pull Request naming convention](#pull-request-naming-convention)
-    -   [Testing](#testing)
-        -   [Pull Request Status Checks](#pull-request-status-checks)
-        -   [Test Environment](#test-environment)
-    -   [:wine_glass: Styleguides](#-wine-glass--styleguides)
-        -   [Git Commit Messages](#git-commit-messages)
-        -   [BASH Styleguide](#bash-styleguide)
--   [:blue_book: Document Contributions](#-blue-book--document-contributions)
-    -   [Documentation Styleguide](#documentation-styleguide)
--   [Issue and Pull Request Labels](#issue-and-pull-request-labels)
+- [Table of Contents](#table-of-contents)
+- [Code of Conduct](#code-of-conduct)
+- [🎉 Bug/Enhancement Contributions 🐛](#bug-enhancement-contributions)
+  - [🐛Reporting Bugs](#reporting-bugs)
+    - [Before Submitting A Bug Report](#before-submitting-a-bug-report)
+    - [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a--good--bug-report-)
+  - [🎉Suggesting Features](#suggesting-features)
+    - [Before Submitting An Feature Suggestion](#before-submitting-an-feature-suggestion)
+    - [How Do I Submit A (Good) Feature Suggestion?](#how-do-i-submit-a--good--feature-suggestion-)
+  - [🎮 Game Server Requests](#game-server-requests)
+    - [Before Submitting a Game Server Request](#before-submitting-a-game-server-request)
+    - [How Do I Submit A (Good) Game Server Request?](#how-do-i-submit-a--good--game-server-request-)
+  - [🎮 Game Server Specific Issues](#game-server-specific-issues)
+- [💻 Code Contributions](#code-contributions)
+  - [Pull Requests](#pull-requests)
+    - [Pull Request naming convention](#pull-request-naming-convention)
+  - [Testing](#testing)
+    - [Pull Request Status Checks](#pull-request-status-checks)
+    - [Test Environment](#test-environment)
+  - [:wine_glass: Styleguides](#-wine-glass--styleguides)
+    - [Git Commit Messages](#git-commit-messages)
+    - [BASH Styleguide](#bash-styleguide)
+- [:blue_book: Document Contributions](#-blue-book--document-contributions)
+  - [Documentation Styleguide](#documentation-styleguide)
+- [Issue and Pull Request Labels](#issue-and-pull-request-labels)
 
 ## Code of Conduct
 
@@ -48,20 +48,20 @@ Before creating bug reports, please check [this list](https://github.com/GameSer
 
 #### Before Submitting A Bug Report
 
--   **Check the [documentation](https://docs.linuxgsm.com).** You might be able to find the cause of the problem and fix things yourself.
--   **Check the** [**support page**](https://linuxgsm.com/support) for links to other support options.
--   **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
+- **Check the [documentation](https://docs.linuxgsm.com).** You might be able to find the cause of the problem and fix things yourself.
+- **Check the** [**support page**](https://linuxgsm.com/support) for links to other support options.
+- **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
 
 #### How Do I Submit A (Good) Bug Report?
 
 Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose).
 
--   **Use a clear and descriptive title** for the issue to identify the problem.
--   **Complete the user story** to give a summary of the issue.
--   **Provide basic info** to help us understand the context of the issue.
--   **Provide further info** to give specifics and more detail.
--   **Give steps to reproduce** the issue, allowing developers to follow steps that lead to the issue.
--   **Explain what you expect** to happen, so we know what you think should occur.
+- **Use a clear and descriptive title** for the issue to identify the problem.
+- **Complete the user story** to give a summary of the issue.
+- **Provide basic info** to help us understand the context of the issue.
+- **Provide further info** to give specifics and more detail.
+- **Give steps to reproduce** the issue, allowing developers to follow steps that lead to the issue.
+- **Explain what you expect** to happen, so we know what you think should occur.
 
 ### 🎉Suggesting Features
 
@@ -69,19 +69,19 @@ This section guides you through submitting a feature suggestion for LinuxGSM, in
 
 #### Before Submitting An Feature Suggestion
 
--   **Check the** [**documentation**](<https://docs.linuxgsm.com/%5D(https://docs.linuxgsm.com/)>) to confirm that the enhancement doesn’t already exist.
--   **Check your** [**LinuxGSM version**](https://docs.linuxgsm.com/commands/update-lgsm)**.** A newer version of LinuxGSM may already have your enhancement.
--   **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the enhancement has already been suggested. If it has **and the enhancement is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
+- **Check the** [**documentation**](<https://docs.linuxgsm.com/%5D(https://docs.linuxgsm.com/)>) to confirm that the enhancement doesn’t already exist.
+- **Check your** [**LinuxGSM version**](https://docs.linuxgsm.com/commands/update-lgsm)**.** A newer version of LinuxGSM may already have your enhancement.
+- **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the enhancement has already been suggested. If it has **and the enhancement is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
 
 #### How Do I Submit A (Good) Feature Suggestion?
 
 Features are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose).
 
--   **Use a clear and descriptive title** for the issue to identify the problem.
--   **Complete the user story** to give a summary of the issue.
--   **Provide basic info** to help us understand the context of the enhancement.
--   **Provide further info** to give specifics and more detail.
--   **Provide any further reading** materials that might assist in developing the enhancement.
+- **Use a clear and descriptive title** for the issue to identify the problem.
+- **Complete the user story** to give a summary of the issue.
+- **Provide basic info** to help us understand the context of the enhancement.
+- **Provide further info** to give specifics and more detail.
+- **Provide any further reading** materials that might assist in developing the enhancement.
 
 ### 🎮 Game Server Requests
 
@@ -89,14 +89,14 @@ This section guides you through submitting a game server request for LinuxGSM, F
 
 #### Before Submitting a Game Server Request
 
--   **Check for existing** [**game server requests**](https://github.com/GameServerManagers/LinuxGSM/labels/type%3A%20game%20server%20request) to see if the new game server has already been suggested. If it has **and if the new game server is still open**, give it a thumbs up.
--   **Check the game server is supported on Linux**, this does not include Wine servers which we do not support.
+- **Check for existing** [**game server requests**](https://github.com/GameServerManagers/LinuxGSM/labels/type%3A%20game%20server%20request) to see if the new game server has already been suggested. If it has **and if the new game server is still open**, give it a thumbs up.
+- **Check the game server is supported on Linux**, this does not include Wine servers which we do not support.
 
 #### How Do I Submit A (Good) Game Server Request?
 
--   The title should be as follows: **[Server Request] Game Name**
--   **Provide Steam App ID** if applicable
--   **Supply any documentation/how-to guides** for the game server.
+- The title should be as follows: **[Server Request] Game Name**
+- **Provide Steam App ID** if applicable
+- **Supply any documentation/how-to guides** for the game server.
 
 ### 🎮 Game Server Specific Issues
 
@@ -114,10 +114,10 @@ A [list](https://docs.linuxgsm.com/support/game-server) of known game developer
 
 The process described here has several goals:
 
--   Maintain LinuxGSM quality.
--   Fix problems that are important to users.
--   Engage the community in working toward the best possible LinuxGSM.
--   Enable a sustainable system for LinuxGSM maintainers to review contributions.
+- Maintain LinuxGSM quality.
+- Fix problems that are important to users.
+- Engage the community in working toward the best possible LinuxGSM.
+- Enable a sustainable system for LinuxGSM maintainers to review contributions.
 
 Please follow these steps to have your contribution considered by the maintainers:
 
@@ -139,24 +139,23 @@ If applied, this commit will _your subject line here_
 
 For example:
 
--   If applied, this commit will **refactor subsystem X for readability**
--   If applied, this commit will **update getting started documentation**
--   If applied, this commit will **remove deprecated methods**
--   If applied, this commit will **release version 1.0.0**
--   If applied, this commit will **merge pull request #123 from user/branch**
+- If applied, this commit will **refactor subsystem X for readability**
+- If applied, this commit will **update getting started documentation**
+- If applied, this commit will **remove deprecated methods**
+- If applied, this commit will **release version 1.0.0**
+- If applied, this commit will **merge pull request #123 from user/branch**
 
 Notice how this doesn’t work for the other non-imperative forms:
 
--   If applied, this commit will **fixed bug with Y**
--   If applied, this commit will **change the behaviour of X**
--   If applied, this commit will **more fixes for broken stuff**
--   If applied, this commit will **sweet new API methods**
+- If applied, this commit will **fixed bug with Y**
+- If applied, this commit will **change the behaviour of X**
+- If applied, this commit will **more fixes for broken stuff**
+- If applied, this commit will **sweet new API methods**
 
 Below is an example of the subject line for a pull request:
 
-**feat(alerts): add slack support to alerts**
-
-**fix(csgoserver): remove SteamCMD auth requirement 32-bit workaround**
+- feat(alerts): add slack support to alerts
+- fix(csgoserver): remove SteamCMD auth requirement 32-bit workaround
 
 ### Testing
 
@@ -211,10 +210,10 @@ Labels to help pinpoint what the issue or PR relates to.
 
 variants:
 
--   _distro_
--   _engine_
--   _game_
--   _info_
+- _distro_
+- _engine_
+- _game_
+- _info_
 
 **outcome** Labels
 Labels that identify why an issue was closed.

+ 1 - 1
LICENSE.md

@@ -1,6 +1,6 @@
 # The MIT License (MIT)
 
-Copyright (c) 2012-2025 Daniel Gibbs
+Copyright (c) 2012-2026 Daniel Gibbs
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 16 - 16
README.md

@@ -1,10 +1,10 @@
 <p align="center">
-	<a href="https://linuxgsm.com"><img src="https://i.imgur.com/Eoh1jsi.jpg" alt="LinuxGSM">
-	<a href="https://www.codacy.com/gh/GameServerManagers/LinuxGSM/dashboard"><img src="https://img.shields.io/codacy/grade/d19c5234dc3743d8a8a14093711ca52d?style=flat-square&logo=codacy&logoColor=white" alt="Codacy grade"></a>
-	<a href="https://bitbucket.org/GameServerManagers/linuxgsm"><img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/GameServerManagers/LinuxGSM/git-sync.yml?color=0052CC&logo=bitbucket&style=flat-square"></a>
-	<a href="https://linuxgsm.com/discord"><img alt="Discord" src="https://img.shields.io/discord/127498813903601664?color=5865F2&label=%20&logo=discord&logoColor=ffffff&style=flat-square"></a>
-	<a href="https://developer.valvesoftware.com/wiki/SteamCMD"><img src="https://img.shields.io/badge/SteamCMD-000000?style=flat-square&amp;logo=Steam&amp;logoColor=white" alt="SteamCMD"></a>
-	<a href="https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE.md"><img src="https://img.shields.io/github/license/gameservermanagers/LinuxGSM?style=flat-square" alt="MIT License"></a>
+  <a href="https://linuxgsm.com"><img src="https://i.imgur.com/Eoh1jsi.jpg" alt="LinuxGSM">
+  <a href="https://www.codacy.com/gh/GameServerManagers/LinuxGSM/dashboard"><img src="https://img.shields.io/codacy/grade/d19c5234dc3743d8a8a14093711ca52d?style=flat-square&logo=codacy&logoColor=white" alt="Codacy grade"></a>
+  <a href="https://bitbucket.org/GameServerManagers/linuxgsm"><img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/GameServerManagers/LinuxGSM/git-sync.yml?color=0052CC&logo=bitbucket&style=flat-square"></a>
+  <a href="https://linuxgsm.com/discord"><img alt="Discord" src="https://img.shields.io/discord/127498813903601664?color=5865F2&label=%20&logo=discord&logoColor=ffffff&style=flat-square"></a>
+  <a href="https://developer.valvesoftware.com/wiki/SteamCMD"><img src="https://img.shields.io/badge/SteamCMD-000000?style=flat-square&amp;logo=Steam&amp;logoColor=white" alt="SteamCMD"></a>
+  <a href="https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE.md"><img src="https://img.shields.io/github/license/gameservermanagers/LinuxGSM?style=flat-square" alt="MIT License"></a>
 </p>
 
 [LinuxGSM](https://linuxgsm.com) is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.
@@ -17,21 +17,21 @@ Traditionally game servers are not easy to manage yourself. Admins often have to
 
 100+ game servers supported
 
--   :truck: Installer
--   :mag: Monitor
--   :phone: Alerts
--   :cloud: Updater
--   :blue_book: Server Details
--   :floppy_disk: Backup
--   :computer: Console
+- :truck: Installer
+- :mag: Monitor
+- :phone: Alerts
+- :cloud: Updater
+- :blue_book: Server Details
+- :floppy_disk: Backup
+- :computer: Console
 
 ## :penguin: Compatibility
 
 LinuxGSM will run on popular distros as long as the minimum requirements are met.
 
--   Ubuntu
--   Debian
--   CentOS
+- Ubuntu
+- Debian
+- CentOS
 
 Other distros are likely to work but are not fully tested.
 

+ 10 - 0
lgsm/config-default/config-lgsm/acserver/_default.cfg

@@ -54,6 +54,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/ahl2server/_default.cfg

@@ -62,6 +62,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/ahlserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/arkserver/_default.cfg

@@ -59,6 +59,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/arma3server/_default.cfg

@@ -73,6 +73,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 11 - 1
lgsm/config-default/config-lgsm/armarserver/_default.cfg

@@ -9,7 +9,7 @@
 #### Game Server Settings ####
 
 # https://community.bistudio.com/wiki/Arma_Reforger:Server_Hosting
-# MaxFPS to limit the used Server resouces
+# MaxFPS to limit the used Server resources
 maxfps="60"
 
 # Profile Name
@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/atsserver/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/avserver/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bb2server/_default.cfg

@@ -63,6 +63,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bbserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bdserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bf1942server/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bfvserver/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bmdmserver/_default.cfg

@@ -63,6 +63,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/boserver/_default.cfg

@@ -55,6 +55,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/bsserver/_default.cfg

@@ -67,6 +67,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/btlserver/_default.cfg

@@ -55,6 +55,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/btserver/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/ccserver/_default.cfg

@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/ckserver/_default.cfg

@@ -54,6 +54,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/cmwserver/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/cod2server/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/cod4server/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/codserver/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/coduoserver/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/codwawserver/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/colserver/_default.cfg

@@ -51,6 +51,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/cs2server/_default.cfg

@@ -62,6 +62,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/csczserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/csgoserver/_default.cfg

@@ -94,6 +94,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/csserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/cssserver/_default.cfg

@@ -63,6 +63,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/ctserver/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dabserver/_default.cfg

@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dayzserver/_default.cfg

@@ -73,6 +73,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dmcserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dodrserver/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dodserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dodsserver/_default.cfg

@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/doiserver/_default.cfg

@@ -59,6 +59,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dstserver/_default.cfg

@@ -60,6 +60,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/dysserver/_default.cfg

@@ -63,6 +63,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/ecoserver/_default.cfg

@@ -53,6 +53,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/emserver/_default.cfg

@@ -63,6 +63,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 12 - 2
lgsm/config-default/config-lgsm/etlserver/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"
@@ -131,7 +141,7 @@ consoleinteract="yes"
 # Do not edit
 gamename="ET: Legacy"
 engine="idtech3"
-glibc="2.7"
+glibc="2.17"
 
 #### Directories ####
 # Edit with care
@@ -150,7 +160,7 @@ backupdir="${lgsmdir}/backup"
 
 ## Logging Directories
 [ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
-gamelogdir="${serverfiles}/Logs"
+gamelogdir="${serverfiles}/legacy"
 lgsmlogdir="${logdir}/script"
 consolelogdir="${logdir}/console"
 lgsmlog="${lgsmlogdir}/${selfname}-script.log"

+ 10 - 0
lgsm/config-default/config-lgsm/ets2server/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/fctrserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/fofserver/_default.cfg

@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/gmodserver/_default.cfg

@@ -68,6 +68,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/hcuserver/_default.cfg

@@ -65,6 +65,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg

@@ -60,6 +60,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/hldmserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/hldmsserver/_default.cfg

@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/hwserver/_default.cfg

@@ -68,6 +68,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 12 - 2
lgsm/config-default/config-lgsm/hzserver/_default.cfg

@@ -55,6 +55,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"
@@ -153,9 +163,9 @@ glibc="2.17"
 # Edit with care
 
 ## Game Server Directories
-systemdir="${serverfiles}/TSSGame"
+systemdir="${serverfiles}/HumanitZServer"
 executabledir="${systemdir}/Binaries/Linux"
-executable="./TSSGameServer-Linux-Shipping"
+executable="./HumanitZServer-Linux-Shipping"
 servercfgdir="${systemdir}"
 servercfg="GameServerSettings.ini"
 servercfgdefault="GameUserSettings.ini"

+ 10 - 0
lgsm/config-default/config-lgsm/insserver/_default.cfg

@@ -64,6 +64,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/inssserver/_default.cfg

@@ -67,6 +67,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/iosserver/_default.cfg

@@ -58,6 +58,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/jc2server/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/jc3server/_default.cfg

@@ -50,6 +50,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/jk2server/_default.cfg

@@ -59,6 +59,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/kf2server/_default.cfg

@@ -56,6 +56,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/kfserver/_default.cfg

@@ -62,6 +62,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/l4d2server/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/l4dserver/_default.cfg

@@ -57,6 +57,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/mcbserver/_default.cfg

@@ -53,6 +53,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/mcserver/_default.cfg

@@ -59,6 +59,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

+ 10 - 0
lgsm/config-default/config-lgsm/mhserver/_default.cfg

@@ -59,6 +59,16 @@ iftttalert="off"
 ifttttoken="accesstoken"
 iftttevent="linuxgsm_alert"
 
+# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy
+ntfyalert="off"
+ntfytopic="LinuxGSM"
+ntfyserver="https://ntfy.sh"
+ntfytoken=""
+ntfyusername=""
+ntfypassword=""
+ntfypriority=""
+ntfytags=""
+
 # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
 pushbulletalert="off"
 pushbullettoken="accesstoken"

部分文件因文件數量過多而無法顯示