Browse Source

Release v26.2.0 (#4944)

* feat(tf2c): add Team Fortress 2 Classified server (#4898)

* Release v26.1.0

* fix(alert_slack): add missing closing brace on section object

The 'section' block containing 'fields' and 'accessory' was missing its
closing '}' before EOF, producing malformed JSON and breaking all Slack
alerts silently (jq -c . would fail on the payload).

Also add missing ntfy alert settings to tf2cserver _default.cfg for
consistency with other server configs.

* fix: address review feedback

- core_dl.sh: use array assignment for steamcmdcommand instead of
  read -r -a to avoid word-splitting on paths
- fix_st.sh: correct module header typo (fix_ts.sh -> fix_st.sh)
- command_skeleton.sh: fix grammar 'Creates an copy' -> 'Creates a copy'
- serverlist-validate-game-icons.sh: anchor grep to start-of-line and
  require trailing comma to prevent false positives (e.g. 'tf' matching
  'tf2' entries)
- cs2server/_default.cfg: remove duplicate ntfy alert settings block

* fix(vints): assign remotebuild instead of unused remotebuildversion

The API version lookup was setting remotebuildversion but all subsequent
jq queries used ${remotebuild}, which was never populated. This caused
'Unable to get remote build' on every install/update.

* fix(xnt): unset exitbypass after command_stop.sh in fn_update_localbuild

* fix(ci): resolve super-linter failures

- Set DEFAULT_BRANCH to current branch to fix 'master not found' error
- Use fetch-depth: 0 so GITHUB_BEFORE_SHA can be resolved
- Set update_etl.sh executable bit (BASH_EXEC)
- Fix .codespellrc tab indentation (EDITORCONFIG)
- Add .gitleaks.toml allowlist for GA4 Measurement Protocol API secret (GITLEAKS)
- Fix .markdown-lint.yml: disable MD030/MD013/MD033/MD041/MD051 to match
  existing repo style (MARKDOWN)

* chore(ci): upgrade webfactory/ssh-agent from v0.9.0 to v0.10.0

v0.10.0 upgrades from Node.js 20 to Node.js 24, resolving the
deprecation warning ahead of the June 2026 forced migration.

* fix(steamcmd): add libtinfo.so.5 symlink fix for readline warning (#4899)

* fix(steamcmd): add libtinfo.so.5 symlink fix for readline warning

On distros shipping libtinfo.so.6 but not libtinfo.so.5 (Ubuntu 22.04+,
Debian 12+), SteamCMD prints:

  WARNING: Failed to load 32-bit libtinfo.so.5 or libncurses.so.5.
  Please install (lib32tinfo5 / ncurses-libs.i686 / equivalent) to
  enable readline.

lib32tinfo5 does not exist on Ubuntu 24.04. Creating a user-space
symlink inside the steamcmd directory resolves the warning without
requiring root or a missing package.

* fix(steamcmd): address Copilot review feedback on libtinfo symlink fix

- Iterate over all candidate steamcmd dirs (HOME/.steam/steamcmd,
  steamcmddir, HOME/.local/share/Steam/steamcmd) matching the pattern
  used for steamclient.so fixes elsewhere in the module
- Replace '! -f && ! -L' guard with '! -e' so broken/dangling symlinks
  are also repaired rather than silently skipped
- Add mkdir -p before ln in case the directory does not exist yet
- Capture exitcode=$? after ln so fn_fix_msg_end reports failures

---------

Co-authored-by: LinuxGSM <[email protected]>

* feat(newserver): Military Conflict: Vietnam

Add support for the Military Conflict: Vietnam dedicated game server.

Supersedes #4594 (original WIP PR from @knoxed — completing the implementation).

Changes:
- Added mcvserver default configuration
- Added mcv to serverlist and all distro CSV files
- Added install_config handler for mcvserver
- Added dependency info for all distros
- Added game icons
- Fixed CI workflow issues

Co-authored-by: Knoxed <[email protected]>

* fix: support legacy game servers on older Ubuntu/Debian runners (#4903)

* fix(workflows): support legacy game servers on older Ubuntu/Debian runners

Multiple game servers have glibc compatibility requirements that prevent
them from running on Ubuntu 24.04:

- bfv, bf1942: Require Ubuntu <= 22.04 or Debian <= 12 (glibc 2.31)
- btl, onset: Require Ubuntu <= 20.04 or Debian <= 11 (glibc 2.31)

Changes:
- Add runner field to details-check matrix generation
- Map legacy servers to appropriate ubuntu-XX.04 LTS runners
- Modern servers continue on ubuntu-latest (24.04)
- Update details-check.yml to use dynamic runner from matrix

This ensures all server tests pass in CI without breaking modern server
testing on current GitHub Actions runners.

* fix(workflows): run details-check on PRs and normalize ref resolution

Details Check was not running for PR #4903 because the workflow only
triggered on push to develop/workflow_dispatch. Also, pull_request refs
(refs/pull/*) are not valid raw-content refs for GitHub downloads.

Changes:
- Trigger Details Check on pull_request to develop
- Add LGSM_REF env resolved to PR head SHA or branch ref name
- Use LGSM_REF for linuxgsm.sh download and LGSM_GITHUBBRANCH usage
- Use LGSM_REF in matrix generation when fetching serverlist.csv

This ensures legacy server jobs (bfv, bf1942, btl, onset) are included
and executed during PR validation.

* fix(workflows): run update-check on PRs and normalize ref resolution

Apply the same PR-safe workflow behavior used in details-check:
- Trigger update-check on pull_request to develop
- Resolve LGSM_REF to PR head SHA or branch ref name
- Use LGSM_REF for linuxgsm.sh download and LGSM_GITHUBBRANCH calls

This ensures update-check validates PR changes instead of only running on
develop pushes.

* fix(check_deps): avoid false Debian version check on Ubuntu

Ubuntu reports ID_LIKE=debian, which caused Debian upper-version checks to
run on Ubuntu and incorrectly fail legacy titles on Ubuntu 22.04.x.

Use distroid==debian for Debian limits in legacy compatibility guards so:
- bf1942/bfv pass on Ubuntu 22.04.x as intended
- btl/onset limits still apply correctly
- Debian limits still apply on Debian only

* fix(workflows): add PR trigger to version-check; replace archived action in docker trigger

version-check.yml:
- Add pull_request trigger targeting develop so version format is
  validated on PRs before merge

trigger-docker-build.yml:
- Replace archived convictional/[email protected] with
  native gh CLI approach (trigger + watch run ID)
- Uses GH_TOKEN env var with PERSONAL_ACCESS_TOKEN secret
- gh workflow run dispatches the workflow; gh run watch polls for
  completion and exits non-zero on failure, preserving job dependencies

* fix(workflows): use timestamp filter to reliably identify triggered run ID

Using --limit 1 to find the run ID is a race condition if another run
of the same workflow starts concurrently. Capture a timestamp before
dispatching and pass --created >=${before} to gh run list so we
always select the run we just triggered.

* remove pr check

* chore(deps): bump dessant/lock-threads from 5 to 6 (#4864)

Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 5 to 6.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v5...v6)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Gibbs <[email protected]>

* papermc: add OpenJDK-25 (headless) dependency

Dev builds of papermc will not work on older jre, albeit it's still in alpha/beta, some time in the future it will be the stable build. I have not noticed any issues running the stable build with jre-25.

* fix(pmc): use openjdk-25-jre instead of headless variant, update vpmc to java 25

* feat(deps): update Java deps to openjdk-25-jre and add Ubuntu 26.04 support (#4908)

- ubuntu-24.04: update pz, rw, wmc to openjdk-25-jre
- debian-13: update vpmc to openjdk-25-jre, fix wmc typo (openjdk21-jre -> openjdk-25-jre)
- add ubuntu-26.04.csv with all Java deps on openjdk-25-jre

* chore: synced file(s) with dgibbs64/repo-sync (#4904)

* chore: synced local '.github/' with remote 'general/.github/'

* chore: synced local './' with remote 'bash/'

---------

Co-authored-by: unknown <[email protected]>

* fix(jbep3): add distro deps entries and game icon

* feat(bb): add BrainBread server update functionality (#4912)

* feat(bb): add BrainBread server update functionality

* Implemented `update_bb.sh` to handle updates for BrainBread servers.
* Integrated new update checks in `command_check_update.sh` and `command_update.sh`.
* Updated `install_server_files.sh` to include BrainBread server installation logic.

Co-authored-by: Copilot <[email protected]>

* feat(bb): enhance BrainBread update process

* Updated `fn_update_dl` to use `remotebuildhash` for file integrity.
* Added handling for missing `remotebuildhash` to default to "nohash".
* Included `update_steamcmd.sh` call to ensure both Steam app and GitHub package updates are performed.

Co-authored-by: Copilot <[email protected]>

* fix(steamcmd): ensure core HL1 files are present after appid 90 update

* Added checks to verify the presence of core HL1 files after updating appid 90.
* If files are missing, an update is forced and errors are logged.
* Exits the script if files are still missing after the retry.

* fix(steamcmd): update error messages for GoldSrc engine

* Changed appid 90 references to GoldSrc for clarity.
* Updated error messages to reflect the correct engine context.
* Ensures users are informed about missing core HL1 files after GoldSrc updates.

Co-authored-by: Copilot <[email protected]>

* feat(serverlist): add Military Conflict: Vietnam server entry

* Introduced new server entry for `Military Conflict: Vietnam` in `serverlist.csv`.
* Enhances the variety of game servers available for users.

---------

Co-authored-by: Copilot <[email protected]>

* fix(deps): update .NET runtime version for Vintage Story (#4913)

* Changed `dotnet-runtime-8.0` to `dotnet-runtime-10.0` in dependency lists for Ubuntu and Debian.
* Enhanced the `check_deps.sh` script to dynamically check for the required .NET runtime version.
* Added a warning for users on older distributions regarding potential missing .NET runtimes.

* feat(newserver): Jabroni Brawl: Episode 3 (#4702)

* Added jbep3server

* fix(jbep3): add distro deps entries and game icon

* fix(jbep3): bootstrap config from server.sample.cfg

* chore(prettier): format code

---------

Co-authored-by: Daniel Gibbs <[email protected]>
Co-authored-by: dgibbs64 <[email protected]>

* chore: add AI issue triage workflow and structured-field label rules (#4915)

- Add AI triage workflow that flags low-quality issues and requests missing info
- Add sync-game-labels script and workflow to maintain game labels from serverlist
- Add structured label rules for severity, reproducibility, priority, and scope
- Update labeler workflow to support both issues and PRs with dedicated config
- Add PR review guidance instructions for maintainers

* chore: update issue templates, PR template, and CoC (#4914)

- bug_report: add expected/actual behavior fields, script name,
  pre-check checkbox, required steps to reproduce, and AI triage
  metadata (severity, reproducibility, regression, affects-latest)
- feature_request: add priority field, problem statement, scope/impact,
  alternatives considered; make command optional; remove irrelevant
  bug-specific triage fields
- server_request: add dedicated server checkbox, official docs and
  Linux binary proof fields; fix CoC placeholder URL; remove
  irrelevant bug/feature triage fields
- config.yml: add private security reporting contact link
- pull_request_template: add testing, risk/rollback, breaking changes,
  and documentation impact sections
- CODE_OF_CONDUCT: upgrade from Contributor Covenant v2.1 to v3.0;
  fill reporting placeholders with GitHub advisory and Discord links

* fix: use is-sponsor-label-action v2 (v3 does not exist)

The v3 release does not exist for JasonEtco/is-sponsor-label-action.
Use v2 which is the latest stable release. The Node.js 24 compatibility
is handled by the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 environment variable.

* fix: remove AI triage workflow

The GitHub Models API requires specialized authentication that is not available
through secrets.GITHUB_TOKEN. The workflow consistently fails with 401 Unauthorized.

The rule-based label automation (labeler.yml) continues to function correctly
and provides automated labeling based on structured template fields.

* Revert "fix: remove AI triage workflow"

This reverts commit a183369e55.

* docs: clarify GitHub Models availability in AI triage workflow

Add comments explaining that GitHub Models access may not be available in all
environments and that 401 (Unauthorized) errors are expected and handled
gracefully. The workflow will skip AI triage silently but continue processing
the issue through other automation.

* fix(ai-triage): grant models permission to GITHUB_TOKEN

* fix(ai-triage): use GitHub Models REST inference endpoint

* chore(actions): tidy workflows and script layout

* chore(actions): tidy workflows and script layout

* fix: Update Debian 13 dependencies and add to issue templates (#4916)

- Replace libncursesw5 with libncursesw6 (removed from Debian 13)
- Replace libxml2-utils with libxml2 (removed from Debian 13)
- Add Debian 13 to bug report and feature request distro options

Fixes #4847: libncursesw5 and libxml2-utils do not exist on Debian 13

* fix: Correct CSV file path in update-lgsm command (#4917)

The distro CSV file was being fetched with an absolute path
instead of a repository-relative path, causing malformed URLs
like /master//home/user/lgsm/data/debian-12.csv

Changed fn_fetch_file_github first parameter from "${datadir}"
to "lgsm/data" to match the correct repository path structure.

Fixes #4856: ERROR: Downloading debian-12.csv on update-lgsm

* chore(actions): Optimize details-check workflow for PRs

Enhances the `details-check` workflow to run more efficiently on pull requests.

This commit introduces logic to:
- Trigger the workflow on pull requests to the `develop` branch.
- Analyze changed files to determine the scope of the checks required:
  - Run a full matrix if core `details`-related scripts are modified.
  - Run a targeted matrix only for servers whose `config-lgsm` files are changed.
  - Skip the check entirely if no relevant files are touched.
- Provide a concise summary of the `details`, `parse-game-details`, and `query-raw` outcomes directly in the GitHub Actions job summary.

This optimization significantly reduces CI/CD run times and resource consumption for pull requests by avoiding unnecessary checks across all game servers, improving developer efficiency.

* fix(mods_list): update AMX Mod X version to latest release (#4932)

* feat(check_deps.sh): Add “nullmailer” als allowed MTA for email notifications (#4871)

Co-authored-by: Daniel Gibbs <[email protected]>

* fix(mods): BepInEx Valheim install fix (rebased from #4938) (#4939)

* fix: exclude Wine prefix from serverfiles ownership check

SteamCMD creates a Wine prefix at serverfiles/steamapps/compatdata/
containing a z: symlink pointing to /. Without excluding this path,
`find "${serverfiles}"` traverses the entire filesystem, causing
check_permissions.sh to hang indefinitely.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* fix(vh): correct BepInEx mod extraction and env vars

- mods_list: set modsubdirs="BepInExPack_Valheim" so only the pack
  contents (not loose Thunderstore metadata) are installed to serverfiles
- mods_core: implement modsubdirs subfolder isolation in fn_mod_install_files;
  when modsubdirs is not "0", the named subfolder becomes the extract root
- fix_vh: update BepInEx env vars to match current start_server_bepinex.sh
  (DOORSTOP_ENABLED/DOORSTOP_TARGET_ASSEMBLY replacing old names,
  remove defunct DOORSTOP_CORLIB_OVERRIDE_PATH)
- mods_list: update modsubdirs field comment to reflect its actual semantics

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

---------

Co-authored-by: yourfate <[email protected]>
Co-authored-by: Claude Sonnet 4.6 <[email protected]>

* fix(mods): BepInEx_Valheim prevents startup on systems with newer glibc (#4788)

* fix(mods): BepInEx_Valheim prevents startup on systems with newer glibc

Load the libdoorstop_x64.so solely for the dedicated server executable
and not for the whole startup routine, which causes errors in startup or
not loading the mods at all. (see #4149 and #4491)

* chore(prettier): format code

---------

Co-authored-by: Daniel Gibbs <[email protected]>
Co-authored-by: dgibbs64 <[email protected]>

* fix(ci): fetch full history in details-check so base ref diff works (#4940)

The create-matrix job runs 'git diff origin/${base_ref}...HEAD' to
detect which servers a PR touches, but actions/checkout defaults to a
shallow single-branch fetch, so origin/develop does not exist in the
runner and the diff fails with 'ambiguous argument' on every PR that
reaches this job. Set fetch-depth: 0 so the base ref is available.

* feat(alerts): add Matrix alert provider (#4901)

* feat(alerts): add Matrix alert provider

* fix(alerts): use PUT instead of POST for Matrix send-event endpoint

The Matrix Client-Server API requires PUT for
/_matrix/client/v3/rooms/{roomId}/send/{eventType}/{txnId}; sending
POST would be rejected by any spec-compliant homeserver (405), so
alerts would never actually send. Also documents that matrixroom
must be the internal room ID, not the human-readable room alias.

* fix: restore executable bit on alert_matrix.sh

* fix(alerts): register alert_matrix module and harden dispatch

Addresses review feedback on the Matrix alert provider:
- Register alert_matrix.sh in core_modules.sh so the module actually
  resolves when alert.sh calls it (without this the call fails as an
  unknown command and no alert is ever sent).
- Use curl -sSL to follow redirects, matching the other alert modules
  (some homeservers/reverse proxies redirect the client API).
- Require matrixhomeserver to be set in the dispatch condition,
  consistent with the TEST-ALERT checks, to avoid building a broken
  URL when it is empty.

* fix(ci): make Prettier workflow pass on develop (#4941)

* style(alerts): prettier-format alert_matrix.sh

Add the space in '2> /dev/null' that prettier-plugin-sh expects. This
was in the original #4901 code and tripped the Prettier workflow on
develop after merge (the workflow auto-formats and then can't push to
the protected branch, so the run fails).

* ci(prettier): ignore package-lock.json

package-lock.json is machine-generated by npm; Prettier reformatting it
conflicts with npm's own output and causes the Prettier auto-commit
workflow to try (and fail) to push lockfile churn to protected develop.
Ignoring it lets the workflow find nothing to change and pass.

* fix(jbep3): correct servercfgdefault to server.cfg (#4942)

The jbep3server details-check CI job fails because servercfgdefault was
set to "server.sample.cfg", but the Game-Server-Configs repo only ships
jbep3/server.cfg. The download step (curl -f) 404s and the job exits 22.

jbep3 was the only server using "server.sample.cfg"; all other
Source-engine servers (and 69 servers overall) use "server.cfg", which is
the file that actually exists in the configs repo.

* fix: Set TERM=screen for all non-interactive tmux calls (#4860)

When connected to a server via ssh, and the server doesn't have the
  proper terminfo, tmux will fail with 'unsupported terminal' errors.

  These errors are not surfaced by the scripts, e.g. details, start,
  stop, so they result in either silent failures or don't work at all.

      e.g. `./mcserver details` on my server showed 0% CPU, 0% Memory,
           and STOPPED for the server status when the server was
           actually running. This was because the tmux calls to get
           this info failed.

           The root cause of this was that I was connected to my server
           via kitty, a terminal emulator that my server did not have
           terminfo for.

  This can be resolved via running `infocmp -x xterm-kitty | ssh
  YOUR-SERVER -- tic -x -` and replacing `xterm-kitty` with whatever
  is appropriate, or by setting TERM=xterm-256color in the ssh config,
  but that is not obvious to do when presented with silent failures.

  This commit sets TERM=screen for all non-interactive tmux calls,
  which resolves the issue. Note that the `console` command does not
  set this, as that is an interactive shell, and the user's terminfo
  should be passed.

Co-authored-by: Daniel Gibbs <[email protected]>

* feat(stop): add option to only stop server if no players (#4595)

* add no stop if players online

* remove dev message

* monitor will now restart the server if requested earlier

* changed var name

* add npm check to install gamedig

* new line

* add var

* remove from non supported servers

* typo

* word

* move restart request

* change lock file name

* restart and monitor

* refactor(stop): share player-online check + add stoponlyifnoplayersallcommands

- Extract the duplicated gamedig player-count query (previously copy-pasted
  in command_stop, command_restart and command_monitor) into a new shared
  check_players_online.sh module that sets ${playersonline}; registered in
  core_modules.sh.
- Add stoponlyifnoplayersallcommands (default on) so the stoponlyifnoplayers
  protection applies to every command that stops the server (e.g. update).
  Set to off to limit it to explicit stop/restart, allowing update to stop
  the server even while players are online.
- Add the new setting to all game server _default.cfg files.
- Resolve merge with develop (check_gamedig now keeps develop's npm-update
  branch plus the 'install Node.js' hint).

* fix(stop): clear stale restart-request lock + warn on failed player query

Addresses Copilot review feedback on #4595:
- command_restart.sh: clear the *-restart-request.lock once a restart
  actually proceeds. Previously the lock was only written when postponing
  and never removed, so every subsequent monitor run would see the stale
  lock and trigger a repeat restart indefinitely. Fixed and verified against
  a live server: postponed restart -> monitor executes it and clears the
  lock -> a second monitor run no longer restarts.
- check_players_online.sh: if the gamedig query fails for every configured
  IP (e.g. gamedig/jq missing), playersonline now still fails open (so a
  broken query can't permanently block stop/restart) but prints a clear
  warning that the safety check could not run, instead of silently
  behaving as if the server were empty.

* Release v26.2.0

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: unknown <[email protected]>
Co-authored-by: LinuxGSM <[email protected]>
Co-authored-by: Knoxed <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: WildPenguin <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Jacob Gerega <[email protected]>
Co-authored-by: dgibbs64 <[email protected]>
Co-authored-by: Nikolay Asenov <[email protected]>
Co-authored-by: Fabian Raab <[email protected]>
Co-authored-by: yourfate <[email protected]>
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: fwillo <[email protected]>
Co-authored-by: Silas J. Matson <[email protected]>
master v26.2.0
Daniel Gibbs 21 hours ago
committed by GitHub
parent
commit
bded3376bc
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 7
      .github/ISSUE_TEMPLATE/bug_report.yml
  2. 7
      .github/ISSUE_TEMPLATE/feature_request.yml
  3. 2
      .github/labeler.yml
  4. 25
      .github/scripts/details-check-generate-matrix.sh
  5. 113
      .github/workflows/action-details-check.yml
  6. 5
      .github/workflows/action-serverlist-validate.yml
  7. 44
      .github/workflows/action-trigger-docker-build.yml
  8. 16
      .github/workflows/action-update-check.yml
  9. 29
      .github/workflows/action-update-copyright-years-in-license-file.yml
  10. 2
      .github/workflows/action-version-check.yml
  11. 243
      .github/workflows/ai-triage.yml
  12. 28
      .github/workflows/sync-game-labels.yml
  13. 7
      .prettierignore
  14. 6
      lgsm/config-default/config-lgsm/acserver/_default.cfg
  15. 10
      lgsm/config-default/config-lgsm/ahl2server/_default.cfg
  16. 10
      lgsm/config-default/config-lgsm/ahlserver/_default.cfg
  17. 10
      lgsm/config-default/config-lgsm/arkserver/_default.cfg
  18. 10
      lgsm/config-default/config-lgsm/arma3server/_default.cfg
  19. 10
      lgsm/config-default/config-lgsm/armarserver/_default.cfg
  20. 10
      lgsm/config-default/config-lgsm/atsserver/_default.cfg
  21. 10
      lgsm/config-default/config-lgsm/avserver/_default.cfg
  22. 10
      lgsm/config-default/config-lgsm/bb2server/_default.cfg
  23. 10
      lgsm/config-default/config-lgsm/bbserver/_default.cfg
  24. 10
      lgsm/config-default/config-lgsm/bdserver/_default.cfg
  25. 10
      lgsm/config-default/config-lgsm/bf1942server/_default.cfg
  26. 10
      lgsm/config-default/config-lgsm/bfvserver/_default.cfg
  27. 10
      lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
  28. 10
      lgsm/config-default/config-lgsm/boserver/_default.cfg
  29. 10
      lgsm/config-default/config-lgsm/bsserver/_default.cfg
  30. 10
      lgsm/config-default/config-lgsm/btlserver/_default.cfg
  31. 10
      lgsm/config-default/config-lgsm/btserver/_default.cfg
  32. 10
      lgsm/config-default/config-lgsm/ccserver/_default.cfg
  33. 10
      lgsm/config-default/config-lgsm/ckserver/_default.cfg
  34. 10
      lgsm/config-default/config-lgsm/cmwserver/_default.cfg
  35. 10
      lgsm/config-default/config-lgsm/cod2server/_default.cfg
  36. 10
      lgsm/config-default/config-lgsm/cod4server/_default.cfg
  37. 10
      lgsm/config-default/config-lgsm/codserver/_default.cfg
  38. 10
      lgsm/config-default/config-lgsm/coduoserver/_default.cfg
  39. 10
      lgsm/config-default/config-lgsm/codwawserver/_default.cfg
  40. 10
      lgsm/config-default/config-lgsm/colserver/_default.cfg
  41. 10
      lgsm/config-default/config-lgsm/cs2server/_default.cfg
  42. 10
      lgsm/config-default/config-lgsm/csczserver/_default.cfg
  43. 10
      lgsm/config-default/config-lgsm/csgoserver/_default.cfg
  44. 10
      lgsm/config-default/config-lgsm/csserver/_default.cfg
  45. 10
      lgsm/config-default/config-lgsm/cssserver/_default.cfg
  46. 10
      lgsm/config-default/config-lgsm/ctserver/_default.cfg
  47. 10
      lgsm/config-default/config-lgsm/dabserver/_default.cfg
  48. 10
      lgsm/config-default/config-lgsm/dayzserver/_default.cfg
  49. 10
      lgsm/config-default/config-lgsm/dmcserver/_default.cfg
  50. 10
      lgsm/config-default/config-lgsm/dodrserver/_default.cfg
  51. 10
      lgsm/config-default/config-lgsm/dodserver/_default.cfg
  52. 10
      lgsm/config-default/config-lgsm/dodsserver/_default.cfg
  53. 10
      lgsm/config-default/config-lgsm/doiserver/_default.cfg
  54. 10
      lgsm/config-default/config-lgsm/dstserver/_default.cfg
  55. 10
      lgsm/config-default/config-lgsm/dysserver/_default.cfg
  56. 10
      lgsm/config-default/config-lgsm/ecoserver/_default.cfg
  57. 10
      lgsm/config-default/config-lgsm/emserver/_default.cfg
  58. 10
      lgsm/config-default/config-lgsm/etlserver/_default.cfg
  59. 10
      lgsm/config-default/config-lgsm/ets2server/_default.cfg
  60. 10
      lgsm/config-default/config-lgsm/fctrserver/_default.cfg
  61. 10
      lgsm/config-default/config-lgsm/fofserver/_default.cfg
  62. 10
      lgsm/config-default/config-lgsm/gmodserver/_default.cfg
  63. 10
      lgsm/config-default/config-lgsm/hcuserver/_default.cfg
  64. 10
      lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
  65. 10
      lgsm/config-default/config-lgsm/hldmserver/_default.cfg
  66. 10
      lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
  67. 10
      lgsm/config-default/config-lgsm/hwserver/_default.cfg
  68. 10
      lgsm/config-default/config-lgsm/hzserver/_default.cfg
  69. 10
      lgsm/config-default/config-lgsm/insserver/_default.cfg
  70. 10
      lgsm/config-default/config-lgsm/inssserver/_default.cfg
  71. 10
      lgsm/config-default/config-lgsm/iosserver/_default.cfg
  72. 198
      lgsm/config-default/config-lgsm/jbep3server/_default.cfg
  73. 10
      lgsm/config-default/config-lgsm/jc2server/_default.cfg
  74. 10
      lgsm/config-default/config-lgsm/jc3server/_default.cfg
  75. 10
      lgsm/config-default/config-lgsm/jk2server/_default.cfg
  76. 10
      lgsm/config-default/config-lgsm/kf2server/_default.cfg
  77. 10
      lgsm/config-default/config-lgsm/kfserver/_default.cfg
  78. 10
      lgsm/config-default/config-lgsm/l4d2server/_default.cfg
  79. 10
      lgsm/config-default/config-lgsm/l4dserver/_default.cfg
  80. 10
      lgsm/config-default/config-lgsm/mcbserver/_default.cfg
  81. 10
      lgsm/config-default/config-lgsm/mcserver/_default.cfg
  82. 189
      lgsm/config-default/config-lgsm/mcvserver/_default.cfg
  83. 10
      lgsm/config-default/config-lgsm/mhserver/_default.cfg
  84. 10
      lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
  85. 10
      lgsm/config-default/config-lgsm/momserver/_default.cfg
  86. 10
      lgsm/config-default/config-lgsm/mtaserver/_default.cfg
  87. 10
      lgsm/config-default/config-lgsm/ndserver/_default.cfg
  88. 10
      lgsm/config-default/config-lgsm/necserver/_default.cfg
  89. 10
      lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
  90. 10
      lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
  91. 10
      lgsm/config-default/config-lgsm/ns2server/_default.cfg
  92. 10
      lgsm/config-default/config-lgsm/nsserver/_default.cfg
  93. 10
      lgsm/config-default/config-lgsm/ohdserver/_default.cfg
  94. 10
      lgsm/config-default/config-lgsm/onsetserver/_default.cfg
  95. 10
      lgsm/config-default/config-lgsm/opforserver/_default.cfg
  96. 10
      lgsm/config-default/config-lgsm/pc2server/_default.cfg
  97. 10
      lgsm/config-default/config-lgsm/pcserver/_default.cfg
  98. 10
      lgsm/config-default/config-lgsm/pmcserver/_default.cfg
  99. 10
      lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
  100. 6
      lgsm/config-default/config-lgsm/pvrserver/_default.cfg

7
.github/ISSUE_TEMPLATE/bug_report.yml

@ -83,11 +83,18 @@ body:
label: Linux distro
multiple: true
options:
- Ubuntu 26.04
- Ubuntu 24.04
- Ubuntu 22.04
- Ubuntu 20.04
- Debian 13
- Debian 12
- Debian 11
- AlmaLinux 9
- AlmaLinux 8
- Rocky 10
- Rocky 9
- Rocky 8
- RedHat 9
- RedHat 8
- Other

7
.github/ISSUE_TEMPLATE/feature_request.yml

@ -41,11 +41,18 @@ body:
label: Linux distro
multiple: true
options:
- Ubuntu 26.04
- Ubuntu 24.04
- Ubuntu 22.04
- Ubuntu 20.04
- Debian 13
- Debian 12
- Debian 11
- AlmaLinux 9
- AlmaLinux 8
- Rocky 10
- Rocky 9
- Rocky 8
- RedHat 9
- RedHat 8
- Other

2
.github/labeler.yml

@ -87,7 +87,7 @@
"type: feature":
- "/(feature request|new feature|^feat(\\(.+\\))?:|\\[x\\] New feature)/im"
"type: docs":
- "/(^docs(\\(.+\\))?:|\\[x\\] Comment update)/im"
- "/(^docs(\\(.+\\))?:|documentation|\\[x\\] Comment update)/im"
"type: refactor":
- "/(^refactor(\\(.+\\))?:|\\[x\\] Refactor)/im"
"type: chore":

25
.github/scripts/details-check-generate-matrix.sh

@ -1,12 +1,19 @@
#!/bin/bash
curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv
ref="${LGSM_REF:-${GITHUB_REF#refs/heads/}}"
curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${ref}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv
echo -n "{" > "shortnamearray.json"
echo -n "\"include\":[" >> "shortnamearray.json"
while read -r line; do
shortname=$(echo "$line" | awk -F, '{ print $1 }')
# If TARGETED_SHORTNAMES is set, skip servers not in the list
if [ -n "${TARGETED_SHORTNAMES:-}" ]; then
if ! echo "${TARGETED_SHORTNAMES}" | grep -qw "${shortname}"; then
continue
fi
fi
export shortname
servername=$(echo "$line" | awk -F, '{ print $2 }')
export servername
@ -14,10 +21,26 @@ while read -r line; do
export gamename
distro=$(echo "$line" | awk -F, '{ print $4 }')
export distro
# Legacy servers that require older Ubuntu/Debian versions due to glibc compatibility
case "${shortname}" in
bfv | bf1942)
# Requires Ubuntu <= 22.04 or Debian <= 12 (glibc 2.31 compatible)
runner="ubuntu-22.04"
;;
btl | onset)
# Requires Ubuntu <= 20.04 or Debian <= 11 (glibc 2.31 compatible)
runner="ubuntu-20.04"
;;
*)
runner="ubuntu-latest"
;;
esac
{
echo -n "{"
echo -n "\"shortname\":"
echo -n "\"${shortname}\""
echo -n ",\"runner\":"
echo -n "\"${runner}\""
echo -n "},"
} >> "shortnamearray.json"
done < <(tail -n +2 serverlist.csv)

113
.github/workflows/action-details-check.yml

@ -5,6 +5,9 @@ on:
push:
branches:
- develop
pull_request:
branches:
- develop
permissions:
contents: read
@ -17,46 +20,102 @@ jobs:
create-matrix:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
env:
LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }}
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
# Full history so the base branch ref is available for the
# `git diff origin/<base>...HEAD` comparison below (a shallow
# checkout has no origin/<base> and the diff fails).
fetch-depth: 0
- name: Detect targeted servers (PR only)
id: targeted
if: github.event_name == 'pull_request'
run: |
changed=$(git diff --name-only origin/${{ github.base_ref }}...HEAD)
echo "Changed files:"
echo "$changed"
# Only these modules directly affect what 'details', 'parse-game-details'
# and 'query-raw' output. Everything else (install, fix, update, check_*,
# data CSVs, game icons, etc.) is irrelevant to this check.
details_core='^(linuxgsm\.sh|lgsm/modules/(info_game|info_messages|command_details|command_dev_parse_game_details|command_dev_query_raw|core_modules)\.sh)$'
if echo "$changed" | grep -qE "${details_core}"; then
echo "Details-relevant core file changed — using full matrix."
echo "mode=full" >> "$GITHUB_OUTPUT"
else
# Extract shortnames from changed config-lgsm paths
shortnames=$(echo "$changed" \
| grep -oE 'lgsm/config-default/config-lgsm/[a-z0-9]+server' \
| sed 's|lgsm/config-default/config-lgsm/||;s|server$||' \
| sort -u)
if [ -z "$shortnames" ]; then
echo "No server configs or core files changed — skipping matrix."
echo "mode=skip" >> "$GITHUB_OUTPUT"
else
echo "Targeted servers: $shortnames"
echo "mode=targeted" >> "$GITHUB_OUTPUT"
printf '%s\n' $shortnames > targeted_shortnames.txt
fi
fi
- name: Generate matrix with generate-matrix.sh
run: .github/scripts/details-check-generate-matrix.sh
if: github.event_name != 'pull_request' || steps.targeted.outputs.mode != 'skip'
run: |
if [ -f targeted_shortnames.txt ]; then
TARGETED_SHORTNAMES=$(cat targeted_shortnames.txt) .github/scripts/details-check-generate-matrix.sh
else
.github/scripts/details-check-generate-matrix.sh
fi
- name: Set Matrix
id: set-matrix
run: |
shortnamearray=$(cat shortnamearray.json)
echo "${shortnamearray}"
echo -n "matrix=${shortnamearray}" >> "$GITHUB_OUTPUT"
if [ ! -f shortnamearray.json ]; then
echo 'matrix={"include":[]}' >> "$GITHUB_OUTPUT"
else
shortnamearray=$(cat shortnamearray.json)
echo "${shortnamearray}"
echo -n "matrix=${shortnamearray}" >> "$GITHUB_OUTPUT"
fi
details-check:
if: github.repository_owner == 'GameServerManagers'
needs: create-matrix
continue-on-error: true
runs-on: ubuntu-latest
runs-on: ${{ matrix.runner }}
env:
LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }}
strategy:
matrix: ${{ fromJSON(needs.create-matrix.outputs.matrix) }}
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/${LGSM_REF}/linuxgsm.sh"; chmod +x linuxgsm.sh
- name: Cache apt packages
uses: actions/cache@v4
with:
path: /var/cache/apt/archives
key: apt-${{ runner.os }}-libxml2-utils-jq
- name: Install dependencies
run: sudo apt-get install libxml2-utils jq
run: sudo apt-get install -y --no-install-recommends libxml2-utils jq
- name: Create serverfiles directory
run: mkdir -p serverfiles
- name: Grab server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./linuxgsm.sh ${{ matrix.shortname }}server
- name: Enable developer mode
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server developer
- name: Generate servercfgname
id: sets-servercfgname
@ -73,7 +132,7 @@ jobs:
fi
- name: Pre-load LinuxGSM
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server details
- name: Display config
run: |
@ -87,10 +146,36 @@ jobs:
run: grep "startparameters" lgsm/config-default/config-lgsm/${{ matrix.shortname }}server/_default.cfg
- name: Details
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details
id: details
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server details
- name: Detect details
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server parse-game-details
id: detect-details
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server parse-game-details
- name: Query Raw
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server query-raw
id: query-raw
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server query-raw
- name: Write job summary
if: always()
run: |
status_icon() {
case "$1" in
success) echo "✅" ;;
failure) echo "❌" ;;
skipped) echo "⏭️" ;;
*) echo "⚠️" ;;
esac
}
details_icon=$(status_icon "${{ steps.details.outcome }}")
parse_icon=$(status_icon "${{ steps.detect-details.outcome }}")
query_icon=$(status_icon "${{ steps.query-raw.outcome }}")
{
echo "## ${{ matrix.shortname }}server"
echo "| Step | Result |"
echo "|------|--------|"
echo "| Details | ${details_icon} ${{ steps.details.outcome }} |"
echo "| Parse game details | ${parse_icon} ${{ steps.detect-details.outcome }} |"
echo "| Query raw | ${query_icon} ${{ steps.query-raw.outcome }} |"
} >> "$GITHUB_STEP_SUMMARY"

5
.github/workflows/action-serverlist-validate.yml

@ -6,13 +6,16 @@ on:
permissions:
contents: read
env:
datadir: lgsm/data
jobs:
serverlist-validate:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Compare Versions
run: .github/scripts/serverlist-validate.sh

44
.github/workflows/action-trigger-docker-build.yml

@ -15,12 +15,22 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Trigger Workflow and Wait (linuxgsm)
uses: convictional/[email protected]
with:
owner: GameServerManagers
repo: docker-linuxgsm
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
workflow_file_name: action-docker-publish.yml
env:
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
before=$(date -u +%Y-%m-%dT%H:%M:%SZ)
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-linuxgsm
sleep 10
run_id=$(gh run list \
--workflow action-docker-publish.yml \
--repo GameServerManagers/docker-linuxgsm \
--created ">=${before}" \
--limit 1 \
--json databaseId \
--jq '.[0].databaseId')
gh run watch "${run_id}" \
--repo GameServerManagers/docker-linuxgsm \
--exit-status
trigger_build_docker-gameserver:
if: github.repository_owner == 'GameServerManagers'
@ -29,9 +39,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Trigger Workflow and Wait (gameserver)
uses: convictional/[email protected]
with:
owner: GameServerManagers
repo: docker-gameserver
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
workflow_file_name: action-docker-publish.yml
env:
GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
run: |
before=$(date -u +%Y-%m-%dT%H:%M:%SZ)
gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-gameserver
sleep 10
run_id=$(gh run list \
--workflow action-docker-publish.yml \
--repo GameServerManagers/docker-gameserver \
--created ">=${before}" \
--limit 1 \
--json databaseId \
--jq '.[0].databaseId')
gh run watch "${run_id}" \
--repo GameServerManagers/docker-gameserver \
--exit-status

16
.github/workflows/action-update-check.yml

@ -16,6 +16,8 @@ jobs:
update-check:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
env:
LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }}
strategy:
fail-fast: false
@ -24,30 +26,30 @@ 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/${LGSM_REF}/linuxgsm.sh"; chmod +x linuxgsm.sh
- name: Install dependencies
run: sudo dpkg --add-architecture i386; sudo apt-get update;
- name: Grab server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./linuxgsm.sh ${{ matrix.shortname }}server
- name: Enable developer mode
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server developer
- name: Insert steamuser
if: matrix.shortname == 'jk2'
run: echo -e "steamuser=\"${{ secrets.STEAMCMD_USER }}\"\nsteampass='${{ secrets.STEAMCMD_PASS }}'" > lgsm/config-lgsm/${{ matrix.shortname }}server/common.cfg
- name: Install server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server auto-install
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server auto-install
- name: Check Update server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server check-update
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server check-update
- name: Update server
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server update
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server update
- name: Force Update server
if: matrix.shortname == 'css'
run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server force-update
run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server force-update

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

@ -1,29 +0,0 @@
name: Update copyright year(s) in license file
on:
workflow_dispatch:
schedule:
- cron: "0 3 1 1 *" # 03:00 AM on January 1
permissions:
contents: write
jobs:
update-license-year:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
persist-credentials: false
- name: Action Update License Year
uses: FantasticFiasco/action-update-license-year@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
path: LICENSE.md
- name: Merge pull request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr merge --merge --delete-branch

2
.github/workflows/action-version-check.yml

@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Version Check
run: .github/scripts/version-check.sh

243
.github/workflows/ai-triage.yml

@ -0,0 +1,243 @@
name: AI Issue Triage
on:
issues:
types:
- opened
- edited
# Note: This workflow uses GitHub Models which may not be available
# in all environments. If GitHub Models API returns 401 or is unavailable,
# the workflow will skip gracefully and the issue will still be processed
# by other automation (labeler, etc.)
permissions:
issues: write
contents: read
models: read
jobs:
ai-triage:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
steps:
- name: Triage issue with GitHub Models
uses: actions/github-script@v7
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
script: |
const title = context.payload.issue.title || '';
const body = context.payload.issue.body || '';
const number = context.payload.issue.number;
const owner = context.repo.owner;
const repo = context.repo.repo;
const AI_MARKER = '<!-- ai-triage -->';
function parseTriageResponse(raw) {
const input = (raw || '').trim();
if (!input) return {};
const candidates = [input];
const fenced = input.match(/```(?:json)?\s*([\s\S]*?)```/i);
if (fenced?.[1]) candidates.push(fenced[1].trim());
const firstBrace = input.indexOf('{');
const lastBrace = input.lastIndexOf('}');
if (firstBrace !== -1 && lastBrace > firstBrace) {
candidates.push(input.slice(firstBrace, lastBrace + 1));
}
for (const candidate of candidates) {
try {
return JSON.parse(candidate);
} catch (_err) {
// Continue trying fallbacks.
}
}
return {};
}
// For short bodies, apply "needs: more info" label directly.
// Skip the AI call but still label the issue.
const isShortBody = body.trim().length < 80;
if (isShortBody) {
try {
await github.rest.issues.addLabels({
owner, repo, issue_number: number,
labels: ['needs: more info'],
});
} catch (err) {
console.log('Could not apply label for short body:', err.message);
}
return;
}
// ── Call GitHub Models ────────────────────────────────────────
// Note: GitHub Models access may not be available in all environments.
// If the API returns 401 (Unauthorized), it means GitHub Models is not
// enabled for this repository or the current token lacks access.
// The workflow will gracefully skip AI triage and continue.
let triage;
try {
const res = await fetch(
`https://models.github.ai/orgs/${owner}/inference/chat/completions`,
{
method: 'POST',
headers: {
'Accept': 'application/vnd.github+json',
'Authorization': `Bearer ${process.env.GITHUB_TOKEN}`,
'X-GitHub-Api-Version': '2026-03-10',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/gpt-4.1-mini',
temperature: 0.1,
max_tokens: 400,
messages: [
{
role: 'system',
content:
'You are a triage assistant for LinuxGSM, an open-source ' +
'Linux game server manager. Your role is to:\n' +
'1. Analyze issue quality (completeness, clarity)\n' +
'2. Extract game names mentioned in the issue, even if misspelled or abbreviated\n' +
'3. Suggest corrections for likely typos using fuzzy matching\n' +
'4. Respond ONLY with a valid JSON object — no markdown fences.\n\n' +
'Common game name variations and typos you should recognize:\n' +
'- "Valhiem" → "Valheim"\n' +
'- "Rrust" → "Rust"\n' +
'- "Conterstrike" / "CS" / "CSGO" → "Counter-Strike: Global Offensive"\n' +
'- "Garrys" / "GMod" → "Garrys Mod"\n' +
'- "ARK" / "Ark" → "ARK: Survival Evolved"\n' +
'- "DayZ" / "Dayz" → "DayZ"\n' +
'- "Insurgency Sandstorm" / "Insurgency 2" → "Insurgency: Sandstorm"',
},
{
role: 'user',
content:
`Title: ${title}\n\nBody:\n${body.slice(0, 3000)}\n\n` +
'Respond with this JSON schema:\n' +
'{\n' +
' "quality": "good" | "ok" | "poor",\n' +
' "missing_info": ["list of specific missing fields"],\n' +
' "detected_game": "canonical game name if one is mentioned, or null",\n' +
' "game_confidence": "high" | "medium" | "low" | null,\n' +
' "game_note": "correction suggestion if the user misspelled a game name, or empty string",\n' +
' "comment": "one or two sentence note to the reporter, or empty string"\n' +
'}',
},
],
}),
}
);
// GitHub Models may return 401 if not available for this repository.
// This is expected and not an error — the workflow simply skips AI triage.
if (!res.ok) {
console.log(`GitHub Models returned ${res.status} — skipping AI triage.`);
return;
}
const data = await res.json();
const raw = data.choices?.[0]?.message?.content || '{}';
triage = parseTriageResponse(raw);
} catch (err) {
// Never fail the workflow if the AI call errors — it's advisory only.
console.log('AI triage skipped:', err.message);
return;
}
if (!triage || typeof triage !== 'object') {
triage = {};
}
// ── Act on the result ────────────────────────────────────────
const isPoor = triage.quality === 'poor';
const missing = Array.isArray(triage.missing_info) ? triage.missing_info : [];
const hasIssues = isPoor || missing.length > 0;
// Prepare labels to apply
const labelsToApply = [];
// Check if a game was detected with high confidence
const detectedGame = triage.detected_game;
const gameConfidence = triage.game_confidence;
if (detectedGame && gameConfidence === 'high') {
labelsToApply.push(`game: ${detectedGame}`);
}
// Apply "needs: more info" label if quality issues detected
if (hasIssues) {
labelsToApply.push('needs: more info');
}
// Apply labels one-by-one so a single failure does not block all labels.
const uniqueLabels = [...new Set(labelsToApply)];
for (const label of uniqueLabels) {
try {
await github.rest.issues.addLabels({
owner,
repo,
issue_number: number,
labels: [label],
});
} catch (err) {
console.log(`Could not apply label "${label}":`, err.message);
}
}
// Post a comment only when there is something specific to say
const gameNote = triage.game_note || '';
const reporterComment = triage.comment || '';
if (!hasIssues && !gameNote) return;
const missingBlock = missing.length > 0
? `\n\n**Missing information:**\n${missing.map(m => `- ${m}`).join('\n')}`
: '';
const gameBlock = gameNote
? `\n\n**Game name note:** ${gameNote}`
: '';
const triageCommentBody =
`${AI_MARKER}\n` +
`Thanks for opening this issue! 👋\n\n` +
`${reporterComment}` +
`${missingBlock}` +
`${gameBlock}\n\n` +
`_This note was generated automatically by AI triage and may not be perfect. ` +
`A maintainer will review shortly._`;
try {
const comments = await github.rest.issues.listComments({
owner,
repo,
issue_number: number,
per_page: 100,
});
const existingAiComment = comments.data.find(
(comment) => comment.user?.type === 'Bot' && comment.body?.includes(AI_MARKER)
);
if (existingAiComment) {
await github.rest.issues.updateComment({
owner,
repo,
comment_id: existingAiComment.id,
body: triageCommentBody,
});
} else {
await github.rest.issues.createComment({
owner,
repo,
issue_number: number,
body: triageCommentBody,
});
}
} catch (err) {
console.log('Could not post comment:', err.message);
}

28
.github/workflows/sync-game-labels.yml

@ -0,0 +1,28 @@
name: Sync Game Labels
on:
push:
branches:
- master
- develop
paths:
- "lgsm/data/serverlist.csv"
workflow_dispatch: {}
permissions:
issues: write
contents: read
jobs:
sync-game-labels:
if: github.repository_owner == 'GameServerManagers'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Sync game labels from serverlist
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
chmod +x .github/scripts/sync-game-labels.sh
.github/scripts/sync-game-labels.sh

7
.prettierignore

@ -0,0 +1,7 @@
# Prettier auto-commit runs with GITHUB_TOKEN (GitHub App).
# GitHub blocks that token from creating/updating anything under .github/workflows.
.github/workflows/**
# Machine-generated by npm; its format is owned by npm, not Prettier.
# Prettier reformatting it fights npm and makes the auto-commit run fail.
package-lock.json

6
lgsm/config-default/config-lgsm/acserver/_default.cfg

@ -64,6 +64,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"

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

@ -72,6 +72,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -101,6 +107,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -69,6 +69,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -98,6 +104,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -83,6 +83,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -112,6 +118,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/armarserver/_default.cfg

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -73,6 +73,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -102,6 +108,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -73,6 +73,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -102,6 +108,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -65,6 +65,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -94,6 +100,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -77,6 +77,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -106,6 +112,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -65,6 +65,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -94,6 +100,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -64,6 +64,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -93,6 +99,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

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

@ -61,6 +61,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -90,6 +96,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -72,6 +72,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -101,6 +107,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -104,6 +104,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -133,6 +139,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -73,6 +73,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -102,6 +108,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -83,6 +83,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -112,6 +118,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -69,6 +69,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -98,6 +104,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -70,6 +70,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -99,6 +105,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -73,6 +73,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -102,6 +108,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -63,6 +63,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -92,6 +98,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -73,6 +73,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -102,6 +108,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/etlserver/_default.cfg

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -78,6 +78,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -107,6 +113,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -75,6 +75,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -104,6 +110,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -70,6 +70,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -99,6 +105,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -78,6 +78,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -107,6 +113,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/hzserver/_default.cfg

@ -65,6 +65,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -92,6 +98,10 @@ telegramtoken="accesstoken"
telegramchatid=""
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -74,6 +74,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -103,6 +109,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -77,6 +77,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -106,6 +112,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

198
lgsm/config-default/config-lgsm/jbep3server/_default.cfg

@ -0,0 +1,198 @@
##################################
######## 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="27015"
clientport="27005"
sourcetvport="27020"
defaultmap="crossfire"
maxplayers="24"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-game jbep3 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
#### 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 protected]"
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"
# 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"
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 all".
telegramapi="api.telegram.org"
telegramalert="off"
telegramtoken="accesstoken"
telegramchatid=""
telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"
stoponbackup="on"
## Logging | https://docs.linuxgsm.com/features/logging
consolelogging="on"
logdays="7"
## Monitor | https://docs.linuxgsm.com/commands/monitor
# Query delay time
querydelay="1"
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
#### Advanced Settings ####
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="869800"
steamcmdforcewindows="no"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
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="3"
## Query mode
# 1: session only
# 2: gamedig (gsquery fallback)
# 3: gamedig
# 4: gsquery
# 5: tcp
querymode="2"
querytype="protocol-valve"
## Console type
consoleverbose="yes"
consoleinteract="yes"
## Game Server Details
# Do not edit
gamename="Jabroni Brawl: Episode 3"
engine="source"
glibc="2.3.6"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}/jbep3"
executabledir="${serverfiles}"
executable="./srcds_run.sh"
servercfgdir="${systemdir}/cfg"
servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
## Log Parameters
logtimestamp="off"
logtimestampformat="%Y-%m-%d %H:%M:%S"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -69,6 +69,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -98,6 +104,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -72,6 +72,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -101,6 +107,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -63,6 +63,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -92,6 +98,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

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

@ -69,6 +69,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -98,6 +104,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

189
lgsm/config-default/config-lgsm/mcvserver/_default.cfg

@ -0,0 +1,189 @@
##################################
######## 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 ####
game_type="0"
game_mode="0"
ip="0.0.0.0"
port="27015"
clientport="27005"
sourcetvport="27020"
steamport="26901"
defaultmap="mcv_siege"
maxplayers="32"
tickrate="64"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-game vietnam -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +game_type ${game_type} +game_mode ${game_mode} -nobreakpad"
#### 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 protected]"
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="1"
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
#### Advanced Settings ####
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1136190"
steamcmdforcewindows="no"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
# 4: quit 120s
# 5: stop
# 6: q
# 7: exit
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
# 11: end
stopmode="3"
## Query mode
# 1: session only
# 2: gamedig (gsquery fallback)
# 3: gamedig
# 4: gsquery
# 5: tcp
querymode="2"
querytype="protocol-valve"
## Console type
consoleverbose="yes"
consoleinteract="yes"
## Game Server Details
# Do not edit
gamename="Military Conflict: Vietnam"
engine="source"
glibc="2.15"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}/vietnam"
executabledir="${serverfiles}"
executable="./srcds_run_x64"
servercfgdir="${systemdir}/cfg"
servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
## Log Parameters
logtimestamp="off"
logtimestampformat="%Y-%m-%d %H:%M:%S"

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

@ -69,6 +69,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -98,6 +104,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/mohaaserver/_default.cfg

@ -65,6 +65,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -94,6 +100,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

10
lgsm/config-default/config-lgsm/momserver/_default.cfg

@ -66,6 +66,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -95,6 +101,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/mtaserver/_default.cfg

@ -63,6 +63,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -92,6 +98,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"

10
lgsm/config-default/config-lgsm/ndserver/_default.cfg

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/necserver/_default.cfg

@ -63,6 +63,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -92,6 +98,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/nmrihserver/_default.cfg

@ -73,6 +73,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -102,6 +108,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/ns2cserver/_default.cfg

@ -75,6 +75,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -104,6 +110,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/ns2server/_default.cfg

@ -76,6 +76,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -105,6 +111,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/nsserver/_default.cfg

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/ohdserver/_default.cfg

@ -70,6 +70,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -99,6 +105,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/onsetserver/_default.cfg

@ -61,6 +61,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -90,6 +96,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/opforserver/_default.cfg

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/pc2server/_default.cfg

@ -64,6 +64,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -93,6 +99,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/pcserver/_default.cfg

@ -60,6 +60,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -89,6 +95,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/pmcserver/_default.cfg

@ -67,6 +67,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -96,6 +102,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

10
lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg

@ -68,6 +68,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
@ -97,6 +103,10 @@ telegramthreadid=""
telegramsilentnotification="false"
curlcustomstring=""
## Stop | https://docs.linuxgsm.com/commands/start-stop-restart
stoponlyifnoplayers="off"
stoponlyifnoplayersallcommands="on"
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"

6
lgsm/config-default/config-lgsm/pvrserver/_default.cfg

@ -69,6 +69,12 @@ ntfypassword=""
ntfypriority=""
ntfytags=""
# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix
matrixalert="off"
matrixhomeserver="matrix.org"
matrixtoken="accesstoken"
matrixroom=""
# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save