Browse Source

Merge branch 'develop' into feature/add-ts

pull/3795/head
Daniel Gibbs 3 years ago
parent
commit
bf687e808f
  1. 15
      .editorconfig
  2. 48
      .github/ISSUE_TEMPLATE/bug-report.md
  3. 95
      .github/ISSUE_TEMPLATE/bug_report.yml
  4. 8
      .github/ISSUE_TEMPLATE/config.yml
  5. 42
      .github/ISSUE_TEMPLATE/feature-request.md
  6. 78
      .github/ISSUE_TEMPLATE/feature_request.yml
  7. 32
      .github/ISSUE_TEMPLATE/new-server-request.md
  8. 57
      .github/ISSUE_TEMPLATE/server_request.yml
  9. 1
      .github/dependabot.yml
  10. 180
      .github/labeler.yml
  11. 31
      .github/pull_request_template.md
  12. 17
      .github/workflows/create-release.yml
  13. 4
      .github/workflows/git-sync.yml
  14. 11
      .github/workflows/labeler.yml
  15. 16
      .github/workflows/lock.yml
  16. 6
      .github/workflows/potential-duplicates.yml
  17. 27
      .github/workflows/trigger-docker-build.yml
  18. 24
      .github/workflows/update-copyright-years-in-license-file.yml
  19. 1
      .github/workflows/version-check.sh
  20. 5
      .github/workflows/version-check.yml
  21. 1
      .gitignore
  22. 3
      .prettierrc.json
  23. 11
      .vscode/extensions.json
  24. 29
      CODE_OF_CONDUCT.md
  25. 116
      CONTRIBUTING.md
  26. 4
      LICENSE.md
  27. 34
      README.md
  28. 2
      lgsm/config-default/config-lgsm/arma3server/_default.cfg
  29. 187
      lgsm/config-default/config-lgsm/armarserver/_default.cfg
  30. 179
      lgsm/config-default/config-lgsm/atsserver/_default.cfg
  31. 6
      lgsm/config-default/config-lgsm/btlserver/_default.cfg
  32. 186
      lgsm/config-default/config-lgsm/ckserver/_default.cfg
  33. 2
      lgsm/config-default/config-lgsm/cmwserver/_default.cfg
  34. 30
      lgsm/config-default/config-lgsm/csgoserver/_default.cfg
  35. 2
      lgsm/config-default/config-lgsm/emserver/_default.cfg
  36. 36
      lgsm/config-default/config-lgsm/ets2server/_default.cfg
  37. 3
      lgsm/config-default/config-lgsm/mcbserver/_default.cfg
  38. 182
      lgsm/config-default/config-lgsm/necserver/_default.cfg
  39. 6
      lgsm/config-default/config-lgsm/ns2server/_default.cfg
  40. 184
      lgsm/config-default/config-lgsm/pc2server/_default.cfg
  41. 3
      lgsm/config-default/config-lgsm/rustserver/_default.cfg
  42. 2
      lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
  43. 2
      lgsm/config-default/config-lgsm/squadserver/_default.cfg
  44. 11
      lgsm/config-default/config-lgsm/stserver/_default.cfg
  45. 2
      lgsm/config-default/config-lgsm/tfcserver/_default.cfg
  46. 2
      lgsm/config-default/config-lgsm/ut99server/_default.cfg
  47. 10
      lgsm/config-default/config-lgsm/vhserver/_default.cfg
  48. 183
      lgsm/config-default/config-lgsm/vpmcserver/_default.cfg
  49. 25
      lgsm/data/almalinux-8.csv
  50. 131
      lgsm/data/almalinux-9.csv
  51. 19
      lgsm/data/centos-7.csv
  52. 26
      lgsm/data/centos-8.csv
  53. 131
      lgsm/data/centos-9.csv
  54. 19
      lgsm/data/debian-10.csv
  55. 23
      lgsm/data/debian-11.csv
  56. 19
      lgsm/data/debian-9.csv
  57. 21
      lgsm/data/rhel-7.csv
  58. 27
      lgsm/data/rhel-8.csv
  59. 131
      lgsm/data/rhel-9.csv
  60. 25
      lgsm/data/rocky-8.csv
  61. 131
      lgsm/data/rocky-9.csv
  62. 255
      lgsm/data/serverlist.csv
  63. 19
      lgsm/data/ubuntu-16.04.csv
  64. 19
      lgsm/data/ubuntu-18.04.csv
  65. 23
      lgsm/data/ubuntu-20.04.csv
  66. 25
      lgsm/data/ubuntu-21.04.csv
  67. 23
      lgsm/data/ubuntu-21.10.csv
  68. 27
      lgsm/data/ubuntu-22.04.csv
  69. 19
      lgsm/functions/README.md
  70. 4
      lgsm/functions/alert.sh
  71. 3
      lgsm/functions/alert_discord.sh
  72. 3
      lgsm/functions/alert_gotify.sh
  73. 3
      lgsm/functions/alert_ifttt.sh
  74. 3
      lgsm/functions/alert_pushbullet.sh
  75. 3
      lgsm/functions/alert_rocketchat.sh
  76. 3
      lgsm/functions/alert_slack.sh
  77. 3
      lgsm/functions/alert_telegram.sh
  78. 4
      lgsm/functions/check.sh
  79. 11
      lgsm/functions/check_deps.sh
  80. 1
      lgsm/functions/check_executable.sh
  81. 6
      lgsm/functions/check_permissions.sh
  82. 2
      lgsm/functions/check_root.sh
  83. 2
      lgsm/functions/check_steamcmd.sh
  84. 11
      lgsm/functions/command_backup.sh
  85. 28
      lgsm/functions/command_check_update.sh
  86. 23
      lgsm/functions/command_debug.sh
  87. 2
      lgsm/functions/command_dev_debug.sh
  88. 4
      lgsm/functions/command_dev_detect_deps.sh
  89. 5
      lgsm/functions/command_dev_detect_glibc.sh
  90. 10
      lgsm/functions/command_dev_detect_ldd.sh
  91. 57
      lgsm/functions/command_dev_query_raw.sh
  92. 19
      lgsm/functions/command_fastdl.sh
  93. 2
      lgsm/functions/command_install.sh
  94. 4
      lgsm/functions/command_install_resources_mta.sh
  95. 10
      lgsm/functions/command_mods_install.sh
  96. 3
      lgsm/functions/command_mods_remove.sh
  97. 4
      lgsm/functions/command_mods_update.sh
  98. 3
      lgsm/functions/command_postdetails.sh
  99. 5
      lgsm/functions/command_start.sh
  100. 2
      lgsm/functions/command_stop.sh

15
.editorconfig

@ -11,3 +11,18 @@ indent_size = 4
trim_trailing_whitespace = true trim_trailing_whitespace = true
end_of_line = lf end_of_line = lf
insert_final_newline = true insert_final_newline = true
# YAML Files
[*.{yml,yaml}]
indent_size = 2
indent_style = space
# JSON Files
[*.{json,json5,webmanifest}]
indent_size = 2
indent_style = space
# BASH Files
[*.{.sh}]
indent_style = tab
indent_size = 4

48
.github/ISSUE_TEMPLATE/bug-report.md

@ -1,48 +0,0 @@
---
name: Bug Report
about: Found a bug? Raise a report.
title: "[BUG]"
labels: 'type: bug'
assignees: ''
---
Issues raised here are **ONLY** for:
* LinuxGSM bugs.
* Feature suggestions.
* Code contributions.
Issues raised here are **NOT** for:
* General support.
* Specific game server issues (e.g CS:GO, TF2).
* Dedicated server issues (e.g Ubuntu, CentOS).
* Anything not directly related to LinuxGSM development.
For general support visit the **[LinuxGSM-Support](https://linuxgsm.com/support)**.
***Please use the template below, deleting the above text***
## User Story
As a [user description], I want [desired action] so that [desired outcome].
## Basic info
* **Distro:** [Ubuntu 18.04]
* **Game:** [Garry's Mod]
* **Command:** [Monitor]
* **LinuxGSM version:** [v20.1.3]
## Further Information
A clear description of what the bug is and any ideas on how to resolve it. Plus any further context that might be relevant to the issue.
## To Reproduce
Steps to reproduce the behaviour:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
## Expected behaviour

95
.github/ISSUE_TEMPLATE/bug_report.yml

@ -0,0 +1,95 @@
---
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["type: bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: user-story
attributes:
label: User story
description: As a [user description], I want [desired action] so that [desired outcome].
placeholder: As a [user description], I want [desired action] so that [desired outcome].
validations:
required: true
- type: input
id: game
attributes:
label: Game
description: What game server are you hosting?
placeholder: Valheim
validations:
required: true
- type: dropdown
id: distro
attributes:
label: Linux distro
multiple: true
options:
- Ubuntu 22.04
- Ubuntu 20.04
- Ubuntu 18.04
- Ubuntu 16.04
- Debian 11
- Debian 10
- Debian 9
- RedHat 9
- RedHat 8
- RedHat 7
- Other
validations:
required: true
- type: dropdown
id: command
attributes:
label: Command
multiple: true
options:
- "command: start"
- "command: stop"
- "command: restart"
- "command: monitor"
- "command: details"
- "command: update"
- "command: validate"
- "command: backup"
- "command: mods-install"
- "command: mods-update"
- "command: mods-remove"
- "command: debug"
- "command: console"
- "command: install"
- "command: auto-update"
- "command: update-lgsm"
- "command: wipe"
- "command: send"
validations:
required: true
- type: textarea
id: further-info
attributes:
label: Further information
description: A clear description of what the bug is, any ideas on how to resolve it and any further context that might be relevant to the issue.
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: steps
attributes:
label: Steps to reproduce
description: Steps to reproduce the behaviour.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

8
.github/ISSUE_TEMPLATE/config.yml

@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
about: Ask questions and discuss with other users of LinuxGSM.
url: https://github.com/GameServerManagers/LinuxGSM/discussions
- name: Discord Server
about: Join the LinuxGSM Discord community server. Discuss your LinuxGSM setup, get help and advice
url: https://linuxgsm.com/discord

42
.github/ISSUE_TEMPLATE/feature-request.md

@ -1,42 +0,0 @@
---
name: Feature Request
about: Suggest an idea for LinuxGSM.
title: "[FEATURE]"
labels: 'type: feature request'
assignees: ''
---
Issues raised here are **ONLY** for:
* LinuxGSM bugs.
* Feature suggestions.
* Code contributions.
Issues raised here are **NOT** for:
* General support.
* Specific game server issues (e.g CS:GO, TF2).
* Dedicated server issues (e.g Ubuntu, CentOS).
* Anything not directly related to LinuxGSM development.
For general support visit the **[LinuxGSM Support](https://linuxgsm.com/support)** page.
***Please use the template below, deleting the above text***
## User Story
As a [user description], I want [desired action] so that [desired outcome].
## Basic info
* **Distro:** [Ubuntu 20.04]
* **Game:** [Garry's Mod]
* **Command:** [Monitor]
* **LinuxGSM version:** [v20.1.3]
## Further Information
A clear description of what the feature is and any ideas on how to achieve this.
## Further Reading
Provide any useful documentation or resources that might help.

78
.github/ISSUE_TEMPLATE/feature_request.yml

@ -0,0 +1,78 @@
---
name: Feature Request
description: Suggest a feature
title: "[Feature]: "
labels: ["type: feature"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: input
id: user-story
attributes:
label: User story
description: As a [user description], I want [desired action] so that [desired outcome].
placeholder: As a [user description], I want [desired action] so that [desired outcome].
validations:
required: true
- type: input
id: game
attributes:
label: Game
description: What game server are you hosting?
placeholder: Valheim
validations:
required: false
- type: dropdown
id: distro
attributes:
label: Linux distro
multiple: true
options:
- Ubuntu 22.04
- Ubuntu 20.04
- Ubuntu 18.04
- Ubuntu 16.04
- Debian 11
- Debian 10
- Debian 9
- RedHat 9
- RedHat 8
- RedHat 7
- Other
validations:
required: false
- type: dropdown
id: command
attributes:
label: Command
multiple: true
options:
- "command: start"
- "command: stop"
- "command: restart"
- "command: monitor"
- "command: details"
- "command: update"
- "command: validate"
- "command: backup"
- "command: mods-install"
- "command: mods-update"
- "command: mods-remove"
- "command: debug"
- "command: console"
- "command: install"
- "command: auto-update"
- "command: update-lgsm"
- "command: wipe"
- "command: send"
validations:
required: true
- type: textarea
id: further-info
attributes:
label: Further information
description: A clear description of what the feature is and any ideas on how to achieve this.
validations:
required: true

32
.github/ISSUE_TEMPLATE/new-server-request.md

@ -1,32 +0,0 @@
---
name: New Server Request
about: Suggest a new game server to be added.
title: "[Server Request]"
labels: 'type: game server request'
assignees: ''
---
## What game server would you like to add?
[game server]
## Can you link to any tutorials or guides?
Provide any useful documentation or resources that might help.
## Is the server on Steam?
* [ ] Yes
* [ ] No
If yes Use SteamDB to get the appid. (https://steamdb.info).
[appid]
## Is the server supported on Linux?
We only support Linux servers and do **not** support Wine.
* [ ] Yes
* [ ] No

57
.github/ISSUE_TEMPLATE/server_request.yml

@ -0,0 +1,57 @@
---
name: Server Request
description: Suggest a new game server to be added
title: "[Server Request]: "
labels: ["type: game server request"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this game server!
- type: input
id: game-server
attributes:
label: Game server
description: What game server would you like to add?
validations:
required: true
- type: checkboxes
id: on-linux
attributes:
label: Linux support
description: Does this game server have Linux support? (not wine)
options:
- label: "Yes"
validations:
required: true
- type: dropdown
id: on-steam
attributes:
label: Steam
description: Is this game server available on Steam?
options:
- "Yes"
- "No"
validations:
required: true
- type: input
id: steam-id
attributes:
label: Steam appid
description: What is the Steam appid of the game server? Use SteamDB to get the appid. (https://steamdb.info).
placeholder: "892970"
validations:
required: false
- type: textarea
id: guides
attributes:
label: Guides
description: Links to guides on how to install the game server
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com)
options:
- label: I agree to follow this project's Code of Conduct
required: true

1
.github/dependabot.yml

@ -1,7 +1,6 @@
# Set update schedule for GitHub Actions # Set update schedule for GitHub Actions
version: 2 version: 2
updates: updates:
- package-ecosystem: "github-actions" - package-ecosystem: "github-actions"
directory: "/" directory: "/"
schedule: schedule:

180
.github/labeler.yml

@ -1,98 +1,160 @@
# Add/remove 'critical' label if issue contains the words 'urgent' or 'critical'
# Type
"type: game server request":
- '/(Server Request)/i'
"type: bug":
- '/(bug)/i'
"type: feature request":
- '/(feature)/i'
# Commands
"command: backup": "command: backup":
- '/(backup)/i' - "/(backup)/i"
"command: console": "command: console":
- '/(console|tmux)/i' - "/(console|tmux)/i"
"command: debug": "command: debug":
- '/(debug)/i' - "/(command: debug)/i"
"command: details": "command: details":
- '/(details)/i' - "/(command: details)/i"
"command: fast-dl": "command: fast-dl":
- '/(fast-dl|fastdl)/i' - "/(fast-dl|fastdl)/i"
"command: install": "command: install":
- '/(install)/i' - "/(install)/i"
"command: mods": "command: mods":
- '/(mods)/i' - "/(command: mods)/i"
"command: monitor": "command: monitor":
- '/(monitor)/i' - "/(command: monitor)/i"
"command: post-details": "command: post-details":
- '/(post-details)/i' - "/(command: post-details)/i"
"command: restart": "command: restart":
- '/(restart)/i' - "/(command: restart)/i"
"command: send": "command: send":
- '/(send)/i' - "/(command: send)/i"
"command: skeleton": "command: skeleton":
- '/(skeleton)/i' - "/(command: skeleton)/i"
"command: start": "command: start":
- '/(start)/i' - "/(command: start)/i"
"command: stop": "command: stop":
- '/(stop)/i' - "/(command: stop)/i"
"command: update-lgsm": "command: update-lgsm":
- '/(update-lgsm)/i' - "/(update-lgsm)/i"
"command: update": "command: update":
- '/(update)/i' - "/(command: update)/i"
"command: validate": "command: validate":
- '/(validate)/i' - "/(validate)/i"
"command: wipe": "command: wipe":
- '/(wipe)/i' - "/(wipe)/i"
# Distros # Distros
"distro: AlmaLinux": "distro: AlmaLinux":
- '/(Alma)/i' - "/(Alma)/i"
"distro: Arch Linux": "distro: Arch Linux":
- '/(Arch)/i' - "/(Arch Linux)/i"
"distro: CentOS": "distro: CentOS":
- '/(CentOS)/i' - "/(CentOS)/i"
"distro: Debian": "distro: Debian":
- '/(Debian)/i' - "/(Debian)/i"
"distro: Fedora": "distro: Fedora":
- '/(Fedora)/i' - "/(Fedora)/i"
"distro: openSUSE": "distro: openSUSE":
- '/(openSUSE|suse)/i' - "/(openSUSE|suse)/i"
"distro: Rocky Linux": "distro: Rocky Linux":
- '/(Rocky)/i' - "/(Rocky)/i"
"distro: Slackware": "distro: Slackware":
- '/(Slackware)/i' - "/(Slackware)/i"
"distro: Ubuntu": "distro: Ubuntu":
- '/(Ubuntu)/i' - "/(Ubuntu)/i"
# Games
"game: 7 Days to Die":
- "/(7 Days to Die|sdtd)/i"
"game: Ark: Survival Evolved":
- "/(Ark: Survival Evolved|Ark)/i"
"game: ARMA 3":
- "/(ARMA 3|ARMA3)/i"
"game: Assetto Corsa":
- "/(Assetto Corsa)/i"
"game: Avorion":
- "/(Avorion)/i"
"game: Ballistic Overkill":
- "/(Ballistic Overkill)/i"
"game: BATTALION: Legacy":
- "/(BATTALION: Legacy)/i"
"game: Barotrauma":
- "/(Barotrauma)/i"
"game: Counter-Strike: Global Offensive":
- "/(Counter-Strike: Global Offensive|CS:GO|csgo)/i"
"game: Counter-Strike: Source":
- "/(Counter-Strike: Source|CS:S)/i"
"game: Counter-Strike 1.6":
- "/(Counter-Strike 1.6|Counter Strike 1.6|CS 1.6|cs1.6)/i"
"game: Dayz":
- "/(Dayz)/i"
"game: Don't Starve Together":
- "/(Don't Starve Together|Dont Starve Together|DST)/i"
"game: Eco":
- "/(^Eco$)/i"
"game: Factorio":
- "/(Factorio)/i"
"game: Garry's Mod":
- "/(Garry's Mod|Garrys Mod|GMod)/i"
"game: Insurgency: Sandstorm":
- "/(Insurgency: Sandstorm|Insurgency)/i"
"game: Killing Floor 2":
- "/(Killing Floor 2|KF2)/i"
"game: Left 4 Dead 2":
- "/(Left 4 Dead 2|L4D2)/i"
"game: Minecraft":
- "/(minecraft)((?!bedrock).)*$/i"
"game: Minecraft Bedrock":
- "/(Bedrock)/i"
"game: Mumble":
- "/(Mumble)/i"
"game: Project Zomboid":
- "/(Project Zomboid)/i"
"game: Quake 3":
- "/(Quake 3|Q3A|q3)/i"
"game: Rising World":
- "/(Rising World)/i"
"game: Satisfactory":
- "/(Satisfactory)/i"
"game: Squad":
- "/(Squad)/i"
"game: Starbound":
- "/(Starbound)/i"
"game: Stationeers":
- "/(Stationeers)/i"
"game: Teamspeak 3":
- "/(Teamspeak 3|ts3)/i"
"game: Rust":
- "/(Rust)/i"
"game: Unturned":
- "/(Unturned)/i"
"game: Unreal Tournament 99":
- "/(Unreal Tournament 99|ut99)/i"
"game: Unreal Tournament 2004":
- "/(Unreal Tournament 2004|ut2k4)/i"
"game: Unreal Tournament 3":
- "/(Unreal Tournament 3|ut3)/i"
"game: Valheim":
- "/(Valheim)/i"
# Info # Info
"info: alerts": "info: alerts":
- '/(alert)/i' - "/(alert)/i"
"info: dependency": "info: dependency":
- '/(dependency|deps)/i' - "/(dependency|deps)/i"
"info: docker": "info: docker":
- '/(docker)/i' - "/(docker)/i"
"info: docs": "info: docs":
- '/(documentation|docs)/i' - "/(documentation|^docs$)/i"
"info: email": "info: email":
- '/(postfix|sendmail|exim|smtp)/i' - "/(postfix|sendmail|exim|smtp)/i"
"info: query": "info: query":
- '/(gamedig|gsquery)/i' - "/(gamedig|gsquery)/i"
"info: steamcmd": "info: steamcmd":
- '/(steamcmd)/i' - "/(steamcmd)/i"
"info: systemd": "info: systemd":
- '/(systemd)/i' - "/(systemd)/i"
"info: tmux": "info: tmux":
- '/(tmux)/i' - "/(tmux)/i"
"info: website": "info: website":
- '/(website)/i' - "/(website)/i"
# Games
"game: Ark: Survival Evolved": # Type
- '/(Ark: Survival Evolved|Ark)/i' "type: game server request":
"game: ARMA 3": - "/(Server Request)/i"
- '/(ARMA 3)/i' "type: bug":
"game: Assetto Corsa": - "/(bug)/i"
- '/(Assetto Corsa)/i' "type: feature request":
"game: Avorion": - "/(feature)/i"
- '/(Avorion)/i'
"game: Ballistic Overkill":
- '/(Ballistic Overkill)/i'
"game: Barotrauma":
- '/(Barotrauma)/i'

31
.github/pull_request_template.md

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

17
.github/workflows/create-release.yml

@ -1,17 +0,0 @@
name: Release Drafter
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/[email protected]
with:
config-name: release-drafter.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

4
.github/workflows/git-sync.yml

@ -10,8 +10,8 @@ jobs:
GitHub-to-Bitbucket: GitHub-to-Bitbucket:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: webfactory/ssh-agent@v0.5.3 - name: webfactory/ssh-agent@v0.7.0
uses: webfactory/ssh-agent@v0.5.3 uses: webfactory/ssh-agent@v0.7.0
with: with:
ssh-private-key: ${{ secrets.BITBUCKET_SECRET }} ssh-private-key: ${{ secrets.BITBUCKET_SECRET }}

11
.github/workflows/labeler.yml

@ -2,14 +2,23 @@ name: "Issue Labeler"
on: on:
issues: issues:
types: [opened, edited] types: [opened, edited]
pull_request:
types: [opened, edited]
permissions:
contents: read
jobs: jobs:
triage: triage:
permissions:
contents: read # for github/issue-labeler to get repo contents
issues: write # for github/issue-labeler to create or remove labels
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: github/[email protected] - uses: github/issue-labeler@v2.5
with: with:
repo-token: "${{ secrets.GITHUB_TOKEN }}" repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: .github/labeler.yml configuration-path: .github/labeler.yml
not-before: not-before:
enable-versioned-regex: 0 enable-versioned-regex: 0
include-title: 1

16
.github/workflows/lock.yml

@ -1,21 +1,27 @@
name: 'Lock Threads' name: "Lock Threads"
on: on:
schedule: schedule:
- cron: '0 0 * * *' - cron: "0 0 * * *"
permissions:
contents: read
jobs: jobs:
lock: lock:
permissions:
issues: write # for dessant/lock-threads to lock issues
pull-requests: write # for dessant/lock-threads to lock PRs
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: dessant/lock-threads@v3 - uses: dessant/lock-threads@v4
with: with:
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.GITHUB_TOKEN }}
issue-lock-comment: > issue-comment: >
This issue has been automatically locked since there This issue has been automatically locked since there
has not been any recent activity after it was closed. has not been any recent activity after it was closed.
Please open a new issue for related bugs. Please open a new issue for related bugs.
pr-lock-comment: > pr-comment: >
This pull request has been automatically locked since there This pull request has been automatically locked since there
has not been any recent activity after it was closed. has not been any recent activity after it was closed.
Please open a new issue for related bugs. Please open a new issue for related bugs.

6
.github/workflows/potential-duplicates.yml

@ -12,15 +12,15 @@ jobs:
# Issue title filter work with anymatch https://www.npmjs.com/package/anymatch. # Issue title filter work with anymatch https://www.npmjs.com/package/anymatch.
# Any matched issue will stop detection immediately. # Any matched issue will stop detection immediately.
# You can specify multi filters in each line. # You can specify multi filters in each line.
filter: '' filter: ""
# Exclude keywords in title before detecting. # Exclude keywords in title before detecting.
exclude: '' exclude: ""
# Label to set, when potential duplicates are detected. # Label to set, when potential duplicates are detected.
label: potential-duplicate label: potential-duplicate
# Get issues with state to compare. Supported state: 'all', 'closed', 'open'. # Get issues with state to compare. Supported state: 'all', 'closed', 'open'.
state: all state: all
# If similarity is higher than this threshold([0,1]), issue will be marked as duplicate. # If similarity is higher than this threshold([0,1]), issue will be marked as duplicate.
threshold: 0.6 threshold: 0.8
# Reactions to be add to comment when potential duplicates are detected. # Reactions to be add to comment when potential duplicates are detected.
# Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes" # Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes"
#reactions: 'eyes, confused' #reactions: 'eyes, confused'

27
.github/workflows/trigger-docker-build.yml

@ -0,0 +1,27 @@
name: Trigger Docker Build
on:
release:
types:
- published
jobs:
trigger_build_docker-linuxgsm:
name: Trigger Build docker-linuxgsm
runs-on: ubuntu-latest
steps:
- uses: convictional/[email protected]
with:
owner: GameServerManagers
repo: docker-linuxgsm
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
workflow_file_name: docker-publish.yml
trigger_build_docker-gameserver:
name: Trigger Build docker-linuxgsm
runs-on: ubuntu-latest
steps:
- uses: convictional/[email protected]
with:
owner: GameServerManagers
repo: docker-gameserver
github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
workflow_file_name: docker-publish.yml

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

@ -0,0 +1,24 @@
---
name: Update copyright year(s) in license file
on:
workflow_dispatch:
schedule:
- cron: "0 3 1 1 *" # 03:00 AM on January 1
jobs:
update-license-year:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: FantasticFiasco/action-update-license-year@v2
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

1
.github/workflows/version-check.sh

@ -1,3 +1,4 @@
#!/bin/bash
version=$(grep "version=" linuxgsm.sh | sed -e 's/version//g' | tr -d '="') version=$(grep "version=" linuxgsm.sh | sed -e 's/version//g' | tr -d '="')
modulesversion=$(grep "modulesversion=" lgsm/functions/core_functions.sh | sed -e 's/modulesversion//g' | tr -d '="') modulesversion=$(grep "modulesversion=" lgsm/functions/core_functions.sh | sed -e 's/modulesversion//g' | tr -d '="')

5
.github/workflows/version-check.yml

@ -7,6 +7,9 @@ name: Version Check
on: push on: push
# A workflow run is made up of one or more jobs that can run sequentially or in parallel # A workflow run is made up of one or more jobs that can run sequentially or in parallel
permissions:
contents: read
jobs: jobs:
# This workflow contains a single job called "build" # This workflow contains a single job called "build"
Version-Check: Version-Check:
@ -16,7 +19,7 @@ jobs:
# Steps represent a sequence of tasks that will be executed as part of the job # Steps represent a sequence of tasks that will be executed as part of the job
steps: steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2 - uses: actions/checkout@v3
# Runs a single command using the runners shell # Runs a single command using the runners shell
- name: compare versions - name: compare versions

1
.gitignore

@ -1,2 +1,3 @@
*.db *.db
.idea .idea
/node_modules

3
.prettierrc.json

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

11
.vscode/extensions.json

@ -0,0 +1,11 @@
{
"recommendations": [
"ms-python.python",
"editorconfig.editorconfig",
"yzhang.markdown-all-in-one",
"esbenp.prettier-vscode",
"timonwong.shellcheck",
"foxundermoon.shell-format",
"redhat.vscode-yaml"
]
}

29
CODE_OF_CONDUCT.md

@ -1,4 +1,3 @@
# Contributor Covenant Code of Conduct # Contributor Covenant Code of Conduct
## Our Pledge ## Our Pledge
@ -18,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our Examples of behavior that contributes to a positive environment for our
community include: community include:
* Demonstrating empathy and kindness toward other people - Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences - Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback - Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, - Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience and learning from the experience
* Focusing on what is best not just for us as individuals, but for the - Focusing on what is best not just for us as individuals, but for the
overall community overall community
Examples of unacceptable behavior include: Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or - The use of sexualized language or imagery, and sexual attention or
advances of any kind advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks - Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment - Public or private harassment
* Publishing others' private information, such as a physical or email - Publishing others' private information, such as a physical or email
address, without their explicit permission address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a - Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
## Enforcement Responsibilities ## Enforcement Responsibilities
@ -120,14 +119,14 @@ version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. [Mozilla's code of conduct enforcement ladder][mozilla coc].
For answers to common questions about this code of conduct, see the FAQ at For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available [https://www.contributor-covenant.org/faq][faq]. Translations are available
at [https://www.contributor-covenant.org/translations][translations]. at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org [homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity [mozilla coc]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq [faq]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations [translations]: https://www.contributor-covenant.org/translations

116
CONTRIBUTING.md

@ -7,31 +7,32 @@ The following is a set of guidelines for contributing to LinuxGSM, which are hos
## Table of Contents ## Table of Contents
[Contributing to LinuxGSM](#contributing-to-linuxgsm) [Contributing to LinuxGSM](#contributing-to-linuxgsm)
* [Table of Contents](#table-of-contents)
* [Code of Conduct](#code-of-conduct) - [Table of Contents](#table-of-contents)
* [🎉 Bug/Enhancement Contributions 🐛](#bug-enhancement-contributions) - [Code of Conduct](#code-of-conduct)
+ [🐛Reporting Bugs](#reporting-bugs) - [🎉 Bug/Enhancement Contributions 🐛](#bug-enhancement-contributions)
- [🐛Reporting Bugs](#reporting-bugs)
- [Before Submitting A Bug Report](#before-submitting-a-bug-report) - [Before Submitting A Bug Report](#before-submitting-a-bug-report)
- [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a--good--bug-report-) - [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a--good--bug-report-)
+ [🎉Suggesting Features](#suggesting-features) - [🎉Suggesting Features](#suggesting-features)
- [Before Submitting An Feature Suggestion](#before-submitting-an-feature-suggestion) - [Before Submitting An Feature Suggestion](#before-submitting-an-feature-suggestion)
- [How Do I Submit A (Good) Feature Suggestion?](#how-do-i-submit-a--good--feature-suggestion-) - [How Do I Submit A (Good) Feature Suggestion?](#how-do-i-submit-a--good--feature-suggestion-)
+ [🎮 Game Server Requests](#game-server-requests) - [🎮 Game Server Requests](#game-server-requests)
- [Before Submitting a Game Server Request](#before-submitting-a-game-server-request) - [Before Submitting a Game Server Request](#before-submitting-a-game-server-request)
- [How Do I Submit A (Good) Game Server Request?](#how-do-i-submit-a--good--game-server-request-) - [How Do I Submit A (Good) Game Server Request?](#how-do-i-submit-a--good--game-server-request-)
+ [🎮 Game Server Specific Issues](#game-server-specific-issues) - [🎮 Game Server Specific Issues](#game-server-specific-issues)
* [💻 Code Contributions](#code-contributions) - [💻 Code Contributions](#code-contributions)
+ [Pull Requests](#pull-requests) - [Pull Requests](#pull-requests)
- [Pull Request naming convention](#pull-request-naming-convention) - [Pull Request naming convention](#pull-request-naming-convention)
+ [Testing](#testing) - [Testing](#testing)
- [Pull Request Status Checks](#pull-request-status-checks) - [Pull Request Status Checks](#pull-request-status-checks)
- [Test Environment](#test-environment) - [Test Environment](#test-environment)
+ [:wine_glass: Styleguides](#-wine-glass--styleguides) - [:wine_glass: Styleguides](#-wine-glass--styleguides)
- [Git Commit Messages](#git-commit-messages) - [Git Commit Messages](#git-commit-messages)
- [BASH Styleguide](#bash-styleguide) - [BASH Styleguide](#bash-styleguide)
* [:blue_book: Document Contributions](#-blue-book--document-contributions) - [:blue_book: Document Contributions](#-blue-book--document-contributions)
+ [Documentation Styleguide](#documentation-styleguide) - [Documentation Styleguide](#documentation-styleguide)
* [Issue and Pull Request Labels](#issue-and-pull-request-labels) - [Issue and Pull Request Labels](#issue-and-pull-request-labels)
## Code of Conduct ## Code of Conduct
@ -43,24 +44,24 @@ This project and everyone participating in it is governed by the [LinuxGSM Code
This section guides you through submitting a bug report for LinuxGSM. Following these guidelines help maintainers and the community understand your report 📝, reproduce the behaviour💻, and find any related reports 🔎. This section guides you through submitting a bug report for LinuxGSM. Following these guidelines help maintainers and the community understand your report 📝, reproduce the behaviour💻, and find any related reports 🔎.
Before creating bug reports, please check [this list](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#before-submitting-a-bug-report) as you might find out that you don’t need to create one. When you are creating a bug report, please [include as many details as possible](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#how-do-i-submit-a-good-bug-report). Fill out [the required template]([https://github.com/GameServerManagers/LinuxGSM/issues/new/choose](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose)), the information it asks for helps us resolve issues faster. Before creating bug reports, please check [this list](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#before-submitting-a-bug-report) as you might find out that you don’t need to create one. When you are creating a bug report, please [include as many details as possible](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#how-do-i-submit-a-good-bug-report). Fill out [the required template](<[https://github.com/GameServerManagers/LinuxGSM/issues/new/choose](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose)>), the information it asks for helps us resolve issues faster.
#### Before Submitting A Bug Report #### Before Submitting A Bug Report
* **Check the [documentation](https://docs.linuxgsm.com).** You might be able to find the cause of the problem and fix things yourself. - **Check the [documentation](https://docs.linuxgsm.com).** You might be able to find the cause of the problem and fix things yourself.
* **Check the** [**support page**](https://linuxgsm.com/support) for links to other support options. - **Check the** [**support page**](https://linuxgsm.com/support) for links to other support options.
* **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one. - **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
#### How Do I Submit A (Good) Bug Report? #### How Do I Submit A (Good) Bug Report?
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose). Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose).
* **Use a clear and descriptive title** for the issue to identify the problem. - **Use a clear and descriptive title** for the issue to identify the problem.
* **Complete the user story** to give a summary of the issue. - **Complete the user story** to give a summary of the issue.
* **Provide basic info** to help us understand the context of the issue. - **Provide basic info** to help us understand the context of the issue.
* **Provide further info** to give specifics and more detail. - **Provide further info** to give specifics and more detail.
* **Give steps to reproduce** the issue, allowing developers to follow steps that lead to the issue. - **Give steps to reproduce** the issue, allowing developers to follow steps that lead to the issue.
* **Explain what you expect** to happen, so we know what you think should occur. - **Explain what you expect** to happen, so we know what you think should occur.
### 🎉Suggesting Features ### 🎉Suggesting Features
@ -68,31 +69,34 @@ This section guides you through submitting a feature suggestion for LinuxGSM, in
#### Before Submitting An Feature Suggestion #### Before Submitting An Feature Suggestion
* **Check the** [**documentation**](https://docs.linuxgsm.com/%5D(https://docs.linuxgsm.com/)) to confirm that the enhancement doesn’t already exist. - **Check the** [**documentation**](<https://docs.linuxgsm.com/%5D(https://docs.linuxgsm.com/)>) to confirm that the enhancement doesn’t already exist.
* **Check your** [**LinuxGSM version**](https://docs.linuxgsm.com/commands/update-lgsm)**.** A newer version of LinuxGSM may already have your enhancement. - **Check your** [**LinuxGSM version**](https://docs.linuxgsm.com/commands/update-lgsm)**.** A newer version of LinuxGSM may already have your enhancement.
* **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the enhancement has already been suggested. If it has **and the enhancement is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one. - **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the enhancement has already been suggested. If it has **and the enhancement is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
#### How Do I Submit A (Good) Feature Suggestion? #### How Do I Submit A (Good) Feature Suggestion?
Features are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose). Features are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose).
* **Use a clear and descriptive title** for the issue to identify the problem. - **Use a clear and descriptive title** for the issue to identify the problem.
* **Complete the user story** to give a summary of the issue. - **Complete the user story** to give a summary of the issue.
* **Provide basic info** to help us understand the context of the enhancement. - **Provide basic info** to help us understand the context of the enhancement.
* **Provide further info** to give specifics and more detail. - **Provide further info** to give specifics and more detail.
* **Provide any further reading** materials that might assist in developing the enhancement. - **Provide any further reading** materials that might assist in developing the enhancement.
### 🎮 Game Server Requests ### 🎮 Game Server Requests
This section guides you through submitting a game server request for LinuxGSM, Following these guidelines help maintainers and the community understand your game server request 📝. This section guides you through submitting a game server request for LinuxGSM, Following these guidelines help maintainers and the community understand your game server request 📝.
#### Before Submitting a Game Server Request #### Before Submitting a Game Server Request
* **Check for existing** [**game server requests**](https://github.com/GameServerManagers/LinuxGSM/labels/type%3A%20game%20server%20request) to see if the new game server has already been suggested. If it has **and if the new game server is still open**, give it a thumbs up. - **Check for existing** [**game server requests**](https://github.com/GameServerManagers/LinuxGSM/labels/type%3A%20game%20server%20request) to see if the new game server has already been suggested. If it has **and if the new game server is still open**, give it a thumbs up.
* **Check the game server is supported on Linux**, this does not include Wine servers which we do not support. - **Check the game server is supported on Linux**, this does not include Wine servers which we do not support.
#### How Do I Submit A (Good) Game Server Request? #### How Do I Submit A (Good) Game Server Request?
* The title should be as follows: **[Server Request] Game Name**
* **Provide Steam App ID** if applicable - The title should be as follows: **[Server Request] Game Name**
* **Supply any documentation/how-to guides** for the game server. - **Provide Steam App ID** if applicable
- **Supply any documentation/how-to guides** for the game server.
### 🎮 Game Server Specific Issues ### 🎮 Game Server Specific Issues
@ -110,10 +114,10 @@ A [list](https://docs.linuxgsm.com/support/game-server) of known game developer
The process described here has several goals: The process described here has several goals:
* Maintain LinuxGSM quality. - Maintain LinuxGSM quality.
* Fix problems that are important to users. - Fix problems that are important to users.
* Engage the community in working toward the best possible LinuxGSM. - Engage the community in working toward the best possible LinuxGSM.
* Enable a sustainable system for LinuxGSM maintainers to review contributions. - Enable a sustainable system for LinuxGSM maintainers to review contributions.
Please follow these steps to have your contribution considered by the maintainers: Please follow these steps to have your contribution considered by the maintainers:
@ -135,18 +139,18 @@ If applied, this commit will _your subject line here_
For example: For example:
* If applied, this commit will **refactor subsystem X for readability** - If applied, this commit will **refactor subsystem X for readability**
* If applied, this commit will **update getting started documentation** - If applied, this commit will **update getting started documentation**
* If applied, this commit will **remove deprecated methods** - If applied, this commit will **remove deprecated methods**
* If applied, this commit will **release version 1.0.0** - If applied, this commit will **release version 1.0.0**
* If applied, this commit will **merge pull request #123 from user/branch** - If applied, this commit will **merge pull request #123 from user/branch**
Notice how this doesn’t work for the other non-imperative forms: Notice how this doesn’t work for the other non-imperative forms:
* If applied, this commit will **fixed bug with Y** - If applied, this commit will **fixed bug with Y**
* If applied, this commit will **change the behaviour of X** - If applied, this commit will **change the behaviour of X**
* If applied, this commit will **more fixes for broken stuff** - If applied, this commit will **more fixes for broken stuff**
* If applied, this commit will **sweet new API methods** - If applied, this commit will **sweet new API methods**
Below is an example of the subject line for a pull request: Below is an example of the subject line for a pull request:
@ -157,10 +161,13 @@ Below is an example of the subject line for a pull request:
### Testing ### Testing
#### Pull Request Status Checks #### Pull Request Status Checks
When a Pull Request is submitted, a series of status check tests are conducted. These tests will assess the code quality, complete CI tests etc. To get your PR merged these status checks must pass. When a Pull Request is submitted, a series of status check tests are conducted. These tests will assess the code quality, complete CI tests etc. To get your PR merged these status checks must pass.
#### Test Environment #### Test Environment
It is recommended that you have a testing environment available to test your code during development. To test your own code you must change some variables within the `linuxgsm.sh` file. This will force the use of your own code branch. It is recommended that you have a testing environment available to test your code during development. To test your own code you must change some variables within the `linuxgsm.sh` file. This will force the use of your own code branch.
```bash ```bash
## GitHub Branch Select ## GitHub Branch Select
# Allows for the use of different function files # Allows for the use of different function files
@ -203,10 +210,11 @@ Highlights the LinuxGSM command the Issue/PR relates to.
Labels to help pinpoint what the issue or PR relates to. Labels to help pinpoint what the issue or PR relates to.
variants: variants:
* _distro_
* _engine_ - _distro_
* _game_ - _engine_
* _info_ - _game_
- _info_
**outcome** Labels **outcome** Labels
Labels that identify why an issue was closed. Labels that identify why an issue was closed.

4
LICENSE → LICENSE.md

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

34
README.md

File diff suppressed because one or more lines are too long

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

@ -32,7 +32,7 @@ servermods=""
bepath="" bepath=""
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory" startparameters="-ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod='${mods}' -servermod=${servermods} -bepath=${bepath} -autoinit -loadmissiontomemory"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

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

@ -0,0 +1,187 @@
##################################
######## 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 ####
# https://community.bistudio.com/wiki/Arma_Reforger:Server_Hosting
# MaxFPS to limit the used Server resouces
maxfps="60"
# Profile Name
serverprofile="server"
serverprofilefullpath="${serverfiles}/profiles/${serverprofile}"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-config ${servercfgfullpath} -profile ${serverprofilefullpath} -maxFPS ${maxfps}"
#### 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"
# 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"
# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
mailgunalert="off"
mailgunapiregion="us"
mailguntoken="accesstoken"
mailgundomain="example.com"
mailgunemailfrom="[email protected]"
mailgunemail="[email protected]"
# 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"
rocketchattoken=""
# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
slackalert="off"
slackwebhook="webhook"
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring".
# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help".
telegramapi="api.telegram.org"
telegramalert="off"
telegramtoken="accesstoken"
telegramchatid=""
curlcustomstring=""
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"
## Backup | https://docs.linuxgsm.com/commands/backup
maxbackups="4"
maxbackupdays="30"
stoponbackup="on"
## Logging | https://docs.linuxgsm.com/features/logging
consolelogging="on"
logdays="7"
## Monitor | https://docs.linuxgsm.com/commands/monitor
# Query delay time
querydelay="5"
## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
#### Advanced Settings ####
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1874900"
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="2"
## 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="no"
## Game Server Details
# Do not edit
gamename="Arma Reforger"
engine="enfusion"
glibc="2.27"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./ArmaReforgerServer"
servercfgdir="${systemdir}"
servercfg="${selfname}_config.json"
servercfgdefault="server.json"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
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"

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

@ -0,0 +1,179 @@
##################################
######## 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 ####
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-nosingle"
#### 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"
# 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"
# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
mailgunalert="off"
mailgunapiregion="us"
mailguntoken="accesstoken"
mailgundomain="example.com"
mailgunemailfrom="[email protected]"
mailgunemail="[email protected]"
# 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"
rocketchattoken=""
# 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="2239530"
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="2"
## Query mode
# 1: session only
# 2: gamedig (gsquery fallback)
# 3: gamedig
# 4: gsquery
# 5: tcp
querymode="4"
querytype="protocol-valve"
## Console type
consoleverbose="yes"
consoleinteract="no"
## Game Server Details
# Do not edit
gamename="American Truck Simulator"
engine="prism3d"
glibc="2.15"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}/bin/linux_x64"
executable="./amtrucks_server"
servercfgdir="${HOME}/.local/share/American Truck Simulator"
servercfg="server_config.sii"
servercfgdefault="server_config.sii"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
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"

6
lgsm/config-default/config-lgsm/bt1944server/_default.cfg → lgsm/config-default/config-lgsm/btlserver/_default.cfg

@ -151,7 +151,7 @@ consoleinteract="no"
## Game Server Details ## Game Server Details
# Do not edit # Do not edit
gamename="Battalion 1944" gamename="BATTALION: Legacy"
engine="unreal4" engine="unreal4"
glibc="2.17" glibc="2.17"
@ -159,9 +159,9 @@ glibc="2.17"
# Edit with care # Edit with care
## Game Server Directories ## Game Server Directories
systemdir="${serverfiles}/Linux/Battalion" systemdir="${serverfiles}/Battalion"
executabledir="${systemdir}/Binaries/Linux" executabledir="${systemdir}/Binaries/Linux"
executable="./BattalionServer" executable="./BattalionServer-Linux-Shipping"
servercfgdir="${systemdir}/Saved/Config/LinuxServer" servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfg="${selfname}.ini" servercfg="${selfname}.ini"
servercfgdefault="DefaultGame.ini" servercfgdefault="DefaultGame.ini"

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

@ -0,0 +1,186 @@
##################################
######## 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 ####
ip="0.0.0.0"
port="1234"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-batchmode -ip ${ip} -port ${port} -datapath ${servercfgdir} -logfile ${gamelog}"
#### 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"
# 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"
# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
mailgunalert="off"
mailgunapiregion="us"
mailguntoken="accesstoken"
mailgundomain="example.com"
mailgunemailfrom="[email protected]"
mailgunemail="[email protected]"
# 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"
rocketchattoken=""
# 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="1963720"
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="2"
## Query mode
# 1: session only
# 2: gamedig (gsquery fallback)
# 3: gamedig
# 4: gsquery
# 5: tcp
querymode="2"
querytype="protocol-valve"
## Console type
consoleverbose="no"
consoleinteract="no"
## Game Server Details
# Do not edit
gamename="Core Keeper"
engine="unity3d"
glibc="2.15"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
preexecutable="xvfb-run"
executable="./CoreKeeperServer"
servercfgdir="${systemdir}/gamedata/${selfname}"
servercfg="ServerConfig.json"
servercfgdefault="ServerConfig.json"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
gamelogdir="${serverfiles}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
gamelog="${gamelogdir}/${selfname}-game.log"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

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

@ -15,7 +15,7 @@ queryport="7779"
defaultmap="AOCTD-Frigid_p" defaultmap="AOCTD-Frigid_p"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="${defaultmap}?steamsockets -multihome=${ip} -Port=${port} -QueryPort=${queryport} -seekfreeloadingserver -configsubdir=${gamelogdir} -log=${gamelog}" startparameters="${defaultmap}?steamsockets -multihome=${ip} -Port=${port} -QueryPort=${queryport} -seekfreeloadingserver -configsubdir=${selfname} -log=${gamelog}"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

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

@ -10,17 +10,27 @@
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
# https://docs.linuxgsm.com/game-servers/counter-strike-global-offensive # https://docs.linuxgsm.com/game-servers/counter-strike-global-offensive
# [Game Modes] gametype gamemode mapgroup (you can mix these across all Game Modes except Danger Zone, but use only one) # [Game Modes] gametype gamemode gamemodeflags skirmishid mapgroup (you can mix these across all Game Modes except Danger Zone, but use only one)
# Arms Race 1 0 mg_armsrace # Arms Race 1 0 0 0 mg_armsrace
# Classic Casual 0 0 mg_casualsigma, mg_casualdelta # Boom! Headshot! 1 2 0 6 mg_skirmish_headshots
# Classic Competitive 0 1 mg_active, mg_reserves, mg_hostage, mg_de_dust2 # Classic Casual 0 0 0 0 mg_casualsigma, mg_casualdelta
# Custom 3 0 # Classic Competitive (Default) 0 1 0 0 mg_active, mg_reserves, mg_hostage, mg_de_dust2, ...
# Deathmatch 1 2 mg_deathmatch # Classic Competitive (Short Match) 0 1 32 0 mg_active, mg_reserves, mg_hostage, mg_de_dust2, ...
# Demolition 1 1 mg_demolition # Danger Zone 6 0 0 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco)
# Wingman 0 2 # Deathmatch (Default) 1 2 0 0 mg_deathmatch
# Danger Zone 6 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco) # Deathmatch (Free For All) 1 2 32 0 mg_deathmatch
# Deathmatch (Team vs Team) 1 2 4 0 mg_deathmatch
# Demolition 1 1 0 0 mg_demolition
# Flying Scoutsman 0 0 0 3 mg_skirmish_flyingscoutsman
# Hunter-Gatherers 1 2 0 7 mg_skirmish_huntergatherers
# Retakes 0 0 0 12 mg_skirmish_retakes
# Stab Stab Zap 0 0 0 1 mg_skirmish_stabstabzap
# Trigger Discipline 0 0 0 4 mg_skirmish_triggerdiscipline
# Wingman 0 2 0 0 mg_de_prime, mg_de_blagai, mg_de_vertigo, mg_de_inferno, mg_de_overpass, mg_de_cbble, mg_de_train, mg_de_shortnuke, mg_de_shortdust, mg_de_lake
gametype="0" gametype="0"
gamemode="0" gamemode="0"
gamemodeflags="0"
skirmishid="0"
mapgroup="mg_active" mapgroup="mg_active"
ip="0.0.0.0" ip="0.0.0.0"
port="27015" port="27015"
@ -43,7 +53,7 @@ wscollectionid=""
wsstartmap="" wsstartmap=""
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_type ${gametype} +game_mode ${gamemode} +host_workshop_collection ${wscollectionid} +workshop_start_map ${wsstartmap} -authkey ${wsapikey} -nobreakpad" startparameters="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_type ${gametype} +game_mode ${gamemode} +sv_game_mode_flags ${gamemodeflags} +sv_skirmish_id ${skirmishid} +host_workshop_collection ${wscollectionid} +workshop_start_map ${wsstartmap} -authkey ${wsapikey} -nobreakpad"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

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

@ -13,7 +13,7 @@ ip="0.0.0.0"
port="27015" port="27015"
clientport="27005" clientport="27005"
sourcetvport="27020" sourcetvport="27020"
defaultmap="emp_district" defaultmap="con_district402"
maxplayers="62" maxplayers="62"
## Game Server Login Token (GSLT): Optional ## Game Server Login Token (GSLT): Optional

36
lgsm/config-default/config-lgsm/mumbleserver/_default.cfg → lgsm/config-default/config-lgsm/ets2server/_default.cfg

@ -9,7 +9,7 @@
#### Game Server Settings #### #### Game Server Settings ####
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-fg -ini ${servercfgfullpath}" startparameters="-nosingle"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####
@ -107,6 +107,16 @@ ansi="on"
## Message Display Time | https://docs.linuxgsm.com/features/message-display-time ## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5" sleeptime="0.5"
## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1948160"
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 ## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill # 1: tmux kill
# 2: CTRL+c # 2: CTRL+c
@ -127,8 +137,8 @@ stopmode="2"
# 3: gamedig # 3: gamedig
# 4: gsquery # 4: gsquery
# 5: tcp # 5: tcp
querymode="2" querymode="4"
querytype="mumbleping" querytype="protocol-valve"
## Console type ## Console type
consoleverbose="yes" consoleverbose="yes"
@ -136,20 +146,20 @@ consoleinteract="no"
## Game Server Details ## Game Server Details
# Do not edit # Do not edit
gamename="Mumble" gamename="Euro Truck Simulator 2"
engine="null" engine="prism3d"
glibc="null" glibc="2.15"
#### Directories #### #### Directories ####
# Edit with care # Edit with care
## Game Server Directories ## Game Server Directories
systemdir="${serverfiles}" systemdir="${serverfiles}"
executabledir="${serverfiles}" executabledir="${systemdir}/bin/linux_x64"
executable="./murmur.x86" executable="./eurotrucks2_server"
servercfgdir="${systemdir}" servercfgdir="${HOME}/.local/share/Euro Truck Simulator 2"
servercfg="${selfname}.ini" servercfg="server_config.sii"
servercfgdefault="murmur.ini" servercfgdefault="server_config.sii"
servercfgfullpath="${servercfgdir}/${servercfg}" servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory ## Backup Directory
@ -167,7 +177,3 @@ postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming ## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
## Log Parameters
logts="off"
logtsformat="%Y-%m-%d %H:%M:%S"

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

@ -11,6 +11,9 @@
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="" startparameters=""
# Version (latest|1.18.33.02)
mcversion="latest"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####
## LinuxGSM Stats ## LinuxGSM Stats

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

@ -0,0 +1,182 @@
##################################
######## 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 ####
## Pre-defined Paramters | https://docs.linuxgsm.com/configuration/start-parameters#predefined-parameters
worldname="MyWorld"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-localdir -world ${worldname}"
#### 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"
# 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"
# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
mailgunalert="off"
mailgunapiregion="us"
mailguntoken="accesstoken"
mailgundomain="example.com"
mailgunemailfrom="[email protected]"
mailgunemail="[email protected]"
# 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"
rocketchattoken=""
# 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="1169370"
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="2"
## 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="no"
## Game Server Details
# Do not edit
gamename="Necesse"
engine="null"
glibc="2.9"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./StartServer-nogui.sh"
servercfgdir="${serverfiles}/cfg"
servercfg="server.cfg"
servercfgdefault="server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

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

@ -8,10 +8,6 @@
#### Game Server Settings #### #### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
steampass='password'
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0" ip="0.0.0.0"
port="27015" port="27015"
@ -28,7 +24,7 @@ serverpassword=""
# -password \"${serverpassword}\" # -password \"${serverpassword}\"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser ${webadminuser} -webpassword \"${webadminpass}\" -webport ${webadminport} -map ${defaultmap} -limit ${maxplayers} -config_path \"${servercfgdir}\" -logdir \"${gamelogdir}\" -modstorage \"${modstoragedir}\" -mods \"${mods}\"" startparameters="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser ${webadminuser} -webpassword \"${webadminpass}\" -webport ${webadminport} -map ${defaultmap} -limit ${maxplayers} -config_path \"${servercfgdir}\" -logdir \"${gamelogdir}\" -modstorage \"${modstoragedir}\" -mods2 \"${mods}\""
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

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

@ -0,0 +1,184 @@
##################################
######## Default Settings ########
##################################
# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN!
# Copy settings from here and use them in either:
# common.cfg - applies settings to every instance.
# [instance].cfg - applies settings to a specific instance.
#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
steampass='password'
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="--config ${servercfg}"
#### 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"
# 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"
# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
mailgunalert="off"
mailgunapiregion="us"
mailguntoken="accesstoken"
mailgundomain="example.com"
mailgunemailfrom="[email protected]"
mailgunemail="[email protected]"
# 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"
rocketchattoken=""
# 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="413770"
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="2"
## 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="no"
## Game Server Details
# Do not edit
gamename="Project Cars 2"
engine="madness"
glibc="2.15"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./DedicatedServerCmd.elf"
servercfgdir="${systemdir}"
servercfg="${selfname}.cfg"
servercfgdefault="config_sample/server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

3
lgsm/config-default/config-lgsm/rustserver/_default.cfg

@ -13,6 +13,7 @@ ip="0.0.0.0"
port="28015" port="28015"
rconport="28016" rconport="28016"
appport=28082 appport=28082
queryport=28017
rconpassword="CHANGE_ME" rconpassword="CHANGE_ME"
rconweb="1" # Value is: 1 for the Facepunch web panel, Rustadmin desktop and Rustadmin Online; 0 for RCON tools like Rusty. rconweb="1" # Value is: 1 for the Facepunch web panel, Rustadmin desktop and Rustadmin Online; 0 for RCON tools like Rusty.
servername="Rust" servername="Rust"
@ -27,7 +28,7 @@ saveinterval="300" # Auto-save in seconds.
tickrate="30" # default: 30, range: 15-100. tickrate="30" # default: 30, range: 15-100.
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.level \"${serverlevel}\" +server.seed ${seed} +server.salt ${salt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile" startparameters="-batchmode +app.listenip ${ip} +app.port ${appport} +server.ip ${ip} +server.port ${port} +server.queryport ${queryport} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" +server.gamemode ${gamemode} +server.level \"${serverlevel}\" +server.seed ${seed} +server.salt ${salt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

2
lgsm/config-default/config-lgsm/sdtdserver/_default.cfg

@ -140,7 +140,7 @@ stopmode="8"
# 3: gamedig # 3: gamedig
# 4: gsquery # 4: gsquery
# 5: tcp # 5: tcp
querymode="2" querymode="5"
querytype="protocol-valve" querytype="protocol-valve"
## Console type ## Console type

2
lgsm/config-default/config-lgsm/squadserver/_default.cfg

@ -163,7 +163,7 @@ systemdir="${serverfiles}/SquadGame"
executabledir="${serverfiles}" executabledir="${serverfiles}"
executable="./SquadGameServer.sh" executable="./SquadGameServer.sh"
servercfgdir="${systemdir}/ServerConfig" servercfgdir="${systemdir}/ServerConfig"
servercfg="${selfname}.cfg" servercfg="Server.cfg"
servercfgdefault="Server.cfg" servercfgdefault="Server.cfg"
servercfgfullpath="${servercfgdir}/${servercfg}" servercfgfullpath="${servercfgdir}/${servercfg}"

11
lgsm/config-default/config-lgsm/stserver/_default.cfg

@ -10,16 +10,17 @@
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0" ip="0.0.0.0"
servername="LinuxGSM"
port="27500" port="27500"
queryport="27015" queryport="27015"
worldtype="Moon" worldtype="Moon"
maxplayers="10"
autosaveinterval=300 autosaveinterval=300
clearinterval=60
worldname="moon_save" worldname="moon_save"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
# Edit with care # Edit with care
startparameters="-batchmode -nographics -autostart -gameport=${port} -updateport=${queryport} -worldtype=${worldtype} -loadworld=${worldname} -worldname=${worldname} -autosaveinterval=${autosaveinterval} -clearallinterval=${clearinterval}" startparameters="-LOADLATEST ${worldname} ${worldtype} -settings ServerName ${servername} StartLocalHost true ServerVisible true ServerMaxPlayers ${maxplayers} GamePort ${port} UpdatePort ${queryport} UPNPEnabled true AutoSave true SaveInterval ${autosaveinterval}"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####
@ -139,7 +140,7 @@ steammaster="false"
# 9: GoldSrc # 9: GoldSrc
# 10: Avorion # 10: Avorion
# 11: end # 11: end
stopmode="2" stopmode="3"
## Query mode ## Query mode
# 1: session only # 1: session only
@ -168,8 +169,8 @@ systemdir="${serverfiles}"
executabledir="${serverfiles}" executabledir="${serverfiles}"
executable="./rocketstation_DedicatedServer.x86_64" executable="./rocketstation_DedicatedServer.x86_64"
servercfgdir="${systemdir}" servercfgdir="${systemdir}"
servercfg="default.ini" servercfg="setting.xml"
servercfgdefault="default.ini" servercfgdefault="setting.xml"
servercfgfullpath="${servercfgdir}/${servercfg}" servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory ## Backup Directory

2
lgsm/config-default/config-lgsm/tfcserver/_default.cfg

@ -16,7 +16,7 @@ defaultmap="dustbowl"
maxplayers="16" maxplayers="16"
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-game tfc -strictportbind _ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" startparameters="-game tfc -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

2
lgsm/config-default/config-lgsm/ut99server/_default.cfg

@ -145,7 +145,7 @@ glibc="2.1"
# Edit with care # Edit with care
## Game Server Directories ## Game Server Directories
systemdir="${serverfiles}/System" systemdir="${serverfiles}/System64"
executabledir="${systemdir}" executabledir="${systemdir}"
executable="./ucc-bin" executable="./ucc-bin"
servercfgdir="${systemdir}" servercfgdir="${systemdir}"

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

@ -16,9 +16,17 @@ port="2456"
gameworld="${selfname}" gameworld="${selfname}"
public="1" public="1"
savedir="$HOME/.config/unity3d/IronGate/Valheim" savedir="$HOME/.config/unity3d/IronGate/Valheim"
logFile=""
saveinterval="1800"
backups="4"
backupshort="7200"
backuplong="43200"
# If crossplay is empty, it's off. Fill with any text to make true
# Crossplay is currently not working on Linux dedicated servers, so for now the default is false (emtpy)
crossplay=""
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters ## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${gameworld} -public ${public} -savedir '${savedir}'" startparameters="-name '${servername}' -password ${serverpassword} -port ${port} -world ${gameworld} -public ${public} -savedir '${savedir}' -logFile '${logFile}' -saveinterval ${saveinterval} -backups ${backups} -backupshort ${backupshort} -backuplong ${backuplong} ${crossplay:+-crossplay}"
#### LinuxGSM Settings #### #### LinuxGSM Settings ####

183
lgsm/config-default/config-lgsm/vpmcserver/_default.cfg

@ -0,0 +1,183 @@
##################################
######## 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
javaram="1024" # -Xmx$1024M
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters=""
## Release Settings | https://docs.linuxgsm.com/game-servers/minecraft#release-settings
# Version (latest|3.1.1)
mcversion="latest"
#### 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"
# 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"
# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
mailgunalert="off"
mailgunapiregion="us"
mailguntoken="accesstoken"
mailgundomain="example.com"
mailgunemailfrom="[email protected]"
mailgunemail="[email protected]"
# 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"
rocketchattoken=""
# 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"
## 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
# 12: shutdown
stopmode="12"
## Query mode
# 1: session only
# 2: gamedig (gsquery fallback)
# 3: gamedig
# 4: gsquery
# 5: tcp
querymode="2"
querytype="minecraft"
## Console type
consoleverbose="yes"
consoleinteract="yes"
## Game Server Details
# Do not edit
gamename="Velocity Proxy"
engine="lwjgl2"
glibc="null"
#### Directories ####
# Edit with care
## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
preexecutable="java -Xmx${javaram}M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar"
executable="./velocity.jar"
servercfgdir="${systemdir}"
servercfg="velocity.toml"
servercfgdefault="velocity.toml"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
lgsmlog="${lgsmlogdir}/${selfname}-script.log"
consolelog="${consolelogdir}/${selfname}-console.log"
alertlog="${lgsmlogdir}/${selfname}-alert.log"
postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
## Log Parameters
logts="off"
logtsformat="%Y-%m-%d %H:%M:%S"

25
lgsm/data/almalinux-8.csv

@ -1,10 +1,12 @@
all,bc,binutils,bzip2,bzip2,cpio,curl,epel-release,file,glibc.i686,gawk,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686 steamcmd,glibc.i686,libstdc++.i686
ac ac
ahl ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl,openssl-libs
ats
av av
bb bb
bb2,libcurl.i686 bb2,libcurl.i686
@ -14,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686 bmdm,ncurses-libs.i686
bo bo
bs bs
bt,libicu bt,libicu,dos2unix
bt1944 btl
cc cc
cd cd
ck,xorg-x11-server-Xvfb
cmw cmw
cod,compat-libstdc++-33.i686 cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686 cod2,compat-libstdc++-33.i686
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,ncurses-libs.i686 gmod,ncurses-libs.i686
@ -56,17 +60,17 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
mc,java-11-openjdk lo
mc,java-17-openjdk
mcb,libnsl mcb,libnsl
mh mh
mohaa,compat-libstdc++-33.i686 mohaa,compat-libstdc++-33.i686
mom mom
mta,ncurses-compat-libs mta,ncurses-compat-libs
mumble
nd nd
nec
nmrih,ncurses-libs.i686 nmrih,ncurses-libs.i686
ns ns
ns2,speex,tbb ns2,speex,tbb
@ -74,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c onset,mariadb-connector-c
opfor opfor
pc pc
pmc,java-11-openjdk pmc,java-17-openjdk
pstbs,GConf2 pstbs,GConf2
pvkii pvkii
pvr,libcxx pvr,libcxx
@ -94,8 +98,8 @@ sbots
scpsl scpsl
scpslsm scpslsm
sdtd,telnet,expect sdtd,telnet,expect
sfc,ncurses-libs.i686
sf sf
sfc,ncurses-libs.i686
sof2 sof2
sol sol
squad squad
@ -116,11 +120,12 @@ ut2k4
ut3 ut3
ut99 ut99
vh,glibc-devel vh,glibc-devel
vs
vints,mono-complete vints,mono-complete
vpmc,java-17-openjdk
vs
wet wet
wf wf
wmc,java-11-openjdk wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686 zmr,ncurses-libs.i686
zps,ncurses-libs.i686 zps,ncurses-libs.i686

Can't render this file because it has a wrong number of fields in line 2.

131
lgsm/data/almalinux-9.csv

@ -0,0 +1,131 @@
all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686
ac
ahl
ahl2
ark
arma3
armar,libcurl,openssl-libs
ats
av
bb
bb2,libcurl.i686
bd
bf1942,ncurses-libs.i686
bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
btl
cc
cd
ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
cod4
coduo,compat-libstdc++-33.i686
codwaw
col
cs
cscz
csgo
css,ncurses-libs.i686
dab
dayz
dmc
dod
dodr
dods
doi
dst,libcurl.i686
dys
eco,libgdiplus
em
etl
ets2
fctr
fof
gmod,ncurses-libs.i686
hl2dm
hldm
hldms
hw,zlib-devel
ins
inss
ios
jc2
jc3
jk2
kf
kf2
l4d
l4d2
lo
mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
nd
nec
nmrih,ncurses-libs.i686
ns
ns2,speex,tbb
ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
pz,java-11-openjdk rng-tools
q2
q3
ql
qw
ricochet
ro
rtcw
rust,zlib-devel
rw,java-11-openjdk
samp
sb
sbots
scpsl
scpslsm
sdtd,telnet,expect
sf
sfc,ncurses-libs.i686
sof2
sol
squad
st
stn
sven
terraria
tf2,libcurl.i686
tfc
ti
ts
ts3
tu
tw
unt
ut
ut2k4
ut3
ut99
vh,glibc-devel
vints,mono-complete
vpmc,java-17-openjdk
vs
wet
wf
wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
Can't render this file because it has a wrong number of fields in line 2.

19
lgsm/data/centos-7.csv

@ -1,10 +1,12 @@
all,bc,binutils,bzip2,bzip2,cpio,curl,epel-release,file,glibc.i686,gawk,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python3,tar,tmux,unzip,util-linux,wget,xz all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python3,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686 steamcmd,glibc.i686,libstdc++.i686
ac ac
ahl ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl,openssl11-libs
ats
av av
bb bb
bb2,libcurl.i686 bb2,libcurl.i686
@ -14,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686 bmdm,ncurses-libs.i686
bo bo
bs bs
bt,libicu bt,libicu,dos2unix
bt1944 btl
cc cc
cd cd
ck,xorg-x11-server-Xvfb
cmw cmw
cod,compat-libstdc++-33.i686 cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686 cod2,compat-libstdc++-33.i686
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,ncurses-libs.i686 gmod,ncurses-libs.i686
@ -56,17 +60,17 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,java-11-openjdk mc,java-11-openjdk
mcb,libnsl mcb,libnsl
mh mh
mohaa,compat-libstdc++-33.i686 mohaa,compat-libstdc++-33.i686
mom mom
mta,ncurses-libs mta,ncurses-libs
mumble
nd nd
nec
nmrih,ncurses-libs.i686 nmrih,ncurses-libs.i686
ns ns
ns2,speex,tbb ns2,speex,tbb
@ -94,8 +98,8 @@ sbots
scpsl scpsl
scpslsm scpslsm
sdtd,telnet,expect sdtd,telnet,expect
sfc,ncurses-libs.i686
sf sf
sfc,ncurses-libs.i686
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,glibc-devel vh,glibc-devel
vs
vints,mono-complete vints,mono-complete
vpmc,java-11-openjdk
vs
wet wet
wf wf
wmc,java-11-openjdk wmc,java-11-openjdk

Can't render this file because it has a wrong number of fields in line 2.

26
lgsm/data/centos-8.csv

@ -1,10 +1,12 @@
all,bc,binutils,bzip2,bzip2,cpio,curl,epel-release,file,glibc.i686,gawk,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686 steamcmd,glibc.i686,libstdc++.i686
ac ac
ahl ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl,openssl-libs
ats
av av
bb bb
bb2,libcurl.i686 bb2,libcurl.i686
@ -14,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686 bmdm,ncurses-libs.i686
bo bo
bs bs
bt,libicu bt,libicu,dos2unix
bt1944 btl
cc cc
cd cd
ck,xorg-x11-server-Xvfb
cmw cmw
cod,compat-libstdc++-33.i686 cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686 cod2,compat-libstdc++-33.i686
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,ncurses-libs.i686 gmod,ncurses-libs.i686
@ -56,17 +60,17 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
mc,java-11-openjdk lo
mc,java-17-openjdk
mcb,libnsl mcb,libnsl
mh mh
mohaa,compat-libstdc++-33.i686 mohaa,compat-libstdc++-33.i686
mom mom
mta,ncurses-compat-libs mta,ncurses-compat-libs
mumble
nd nd
nec
nmrih,ncurses-libs.i686 nmrih,ncurses-libs.i686
ns ns
ns2,speex,tbb ns2,speex,tbb
@ -74,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c onset,mariadb-connector-c
opfor opfor
pc pc
pmc,java-11-openjdk pmc,java-17-openjdk
pstbs,GConf2 pstbs,GConf2
pvkii pvkii
pvr,libcxx pvr,libcxx
@ -94,12 +98,13 @@ sbots
scpsl scpsl
scpslsm scpslsm
sdtd,telnet,expect sdtd,telnet,expect
sfc,ncurses-libs.i686
sf sf
sfc,ncurses-libs.i686
sof2 sof2
sol sol
squad squad
st st
stn
sven sven
terraria terraria
tf2,libcurl.i686 tf2,libcurl.i686
@ -115,11 +120,12 @@ ut2k4
ut3 ut3
ut99 ut99
vh,glibc-devel vh,glibc-devel
vs
vints,mono-complete vints,mono-complete
vpmc,java-17-openjdk
vs
wet wet
wf wf
wmc,java-11-openjdk wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686 zmr,ncurses-libs.i686
zps,ncurses-libs.i686 zps,ncurses-libs.i686

Can't render this file because it has a wrong number of fields in line 2.

131
lgsm/data/centos-9.csv

@ -0,0 +1,131 @@
all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686
ac
ahl
ahl2
ark
arma3
armar,libcurl,openssl-libs
ats
av
bb
bb2,libcurl.i686
bd
bf1942,ncurses-libs.i686
bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
btl
cc
cd
ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
cod4
coduo,compat-libstdc++-33.i686
codwaw
col
cs
cscz
csgo
css,ncurses-libs.i686
dab
dayz
dmc
dod
dodr
dods
doi
dst,libcurl.i686
dys
eco,libgdiplus
em
etl
ets2
fctr
fof
gmod,ncurses-libs.i686
hl2dm
hldm
hldms
hw,zlib-devel
ins
inss
ios
jc2
jc3
jk2
kf
kf2
l4d
l4d2
lo
mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
nd
nec
nmrih,ncurses-libs.i686
ns
ns2,speex,tbb
ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
pz,java-11-openjdk rng-tools
q2
q3
ql
qw
ricochet
ro
rtcw
rust,zlib-devel
rw,java-11-openjdk
samp
sb
sbots
scpsl
scpslsm
sdtd,telnet,expect
sf
sfc,ncurses-libs.i686
sof2
sol
squad
st
stn
sven
terraria
tf2,libcurl.i686
tfc
ti
ts
ts3
tu
tw
unt
ut
ut2k4
ut3
ut99
vh,glibc-devel
vints,mono-complete
vpmc,java-17-openjdk
vs
wet
wf
wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
Can't render this file because it has a wrong number of fields in line 2.

19
lgsm/data/debian-10.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,22 +60,22 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-11-jre mc,openjdk-11-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-11-jre pmc,openjdk-11-jre
@ -94,8 +98,8 @@ sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-11-jre
vs
wet wet
wf wf
wmc,openjdk-11-jre wmc,openjdk-11-jre

Can't render this file because it has a wrong number of fields in line 2.

23
lgsm/data/debian-11.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,29 +60,29 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-17-jre mc,openjdk-17-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-17-jre pmc,openjdk-17-jre
pstbs,libgconf-2-4 pstbs,libgconf-2-4
pvkii pvkii
pvr,libc++1 pvr,libc++1
pz,openjdk-16-jre,rng-tools pz,openjdk-17-jre,rng-tools
q2 q2
q3 q3
ql ql
@ -87,15 +91,15 @@ ricochet
ro ro
rtcw rtcw
rust,lib32z1 rust,lib32z1
rw,openjdk-16-jre rw,openjdk-17-jre
samp samp
sb sb
sbots sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-11-jre
vs
wet wet
wf wf
wmc,openjdk-17-jre wmc,openjdk-17-jre

Can't render this file because it has a wrong number of fields in line 2.

19
lgsm/data/debian-9.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,22 +60,22 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-8-jre mc,openjdk-8-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-8-jre pmc,openjdk-8-jre
@ -94,8 +98,8 @@ sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-8-jre
vs
wet wet
wf wf
wmc,openjdk-8-jre wmc,openjdk-8-jre

Can't render this file because it has a wrong number of fields in line 2.

21
lgsm/data/rhel-7.csv

@ -1,10 +1,12 @@
all,bc,binutils,bzip2,bzip2,cpio,curl,epel-release,file,glibc.i686,gawk,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686 steamcmd,glibc.i686,libstdc++.i686
ac ac
ahl ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl,openssl11-libs
ats
av av
bb bb
bb2,libcurl.i686 bb2,libcurl.i686
@ -14,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686 bmdm,ncurses-libs.i686
bo bo
bs bs
bt,libicu bt,libicu,dos2unix
bt1944 btl
cc cc
cd cd
ck,xorg-x11-server-Xvfb
cmw cmw
cod,compat-libstdc++-33.i686 cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686 cod2,compat-libstdc++-33.i686
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,ncurses-libs.i686 gmod,ncurses-libs.i686
@ -56,17 +60,17 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,java-11-openjdk mc,java-11-openjdk
mcb,libnsl mcb,libnsl
mh mh
mohaa,compat-libstdc++-33.i686 mohaa,compat-libstdc++-33.i686
mom mom
mta mta,ncurses-libs
mumble
nd nd
nec
nmrih,ncurses-libs.i686 nmrih,ncurses-libs.i686
ns ns
ns2,speex,tbb ns2,speex,tbb
@ -94,8 +98,8 @@ sbots
scpsl scpsl
scpslsm scpslsm
sdtd,telnet,expect sdtd,telnet,expect
sfc,ncurses-libs.i686
sf sf
sfc,ncurses-libs.i686
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,glibc-devel vh,glibc-devel
vs
vints,mono-complete vints,mono-complete
vpmc,java-11-openjdk
vs
wet wet
wf wf
wmc,java-11-openjdk wmc,java-11-openjdk

Can't render this file because it has a wrong number of fields in line 2.

27
lgsm/data/rhel-8.csv

@ -1,10 +1,12 @@
all,bc,binutils,bzip2,bzip2,cpio,curl,epel-release,file,glibc.i686,gawk,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686 steamcmd,glibc.i686,libstdc++.i686
ac ac
ahl ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl,openssl-libs
ats
av av
bb bb
bb2,libcurl.i686 bb2,libcurl.i686
@ -14,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686 bmdm,ncurses-libs.i686
bo bo
bs bs
bt,libicu bt,libicu,dos2unix
bt1944 btl
cc cc
cd cd
ck,xorg-x11-server-Xvfb
cmw cmw
cod,compat-libstdc++-33.i686 cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686 cod2,compat-libstdc++-33.i686
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,ncurses-libs.i686 gmod,ncurses-libs.i686
@ -56,17 +60,17 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
mc,java-11-openjdk lo
mc,java-17-openjdk
mcb,libnsl mcb,libnsl
mh mh
mohaa,compat-libstdc++-33.i686 mohaa,compat-libstdc++-33.i686
mom mom
mta mta,ncurses-compat-libs
mumble
nd nd
nec
nmrih,ncurses-libs.i686 nmrih,ncurses-libs.i686
ns ns
ns2,speex,tbb ns2,speex,tbb
@ -74,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c onset,mariadb-connector-c
opfor opfor
pc pc
pmc,java-11-openjdk pmc,java-17-openjdk
pstbs,GConf2 pstbs,GConf2
pvkii pvkii
pvr,libcxx pvr,libcxx
@ -94,8 +98,8 @@ sbots
scpsl scpsl
scpslsm scpslsm
sdtd,telnet,expect sdtd,telnet,expect
sfc,ncurses-libs.i686
sf sf
sfc,ncurses-libs.i686
sof2 sof2
sol sol
squad squad
@ -116,11 +120,12 @@ ut2k4
ut3 ut3
ut99 ut99
vh,glibc-devel vh,glibc-devel
vs
vints,mono-complete vints,mono-complete
vpmc,java-17-openjdk
vs
wet wet
wf wf
wmc,java-11-openjdk wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686 zmr,ncurses-libs.i686
zps,ncurses-libs.i686 zps,ncurses-libs.i686

Can't render this file because it has a wrong number of fields in line 2.

131
lgsm/data/rhel-9.csv

@ -0,0 +1,131 @@
all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686
ac
ahl
ahl2
ark
arma3
armar,libcurl,openssl-libs
ats
av
bb
bb2,libcurl.i686
bd
bf1942,ncurses-libs.i686
bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
btl
cc
cd
ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
cod4
coduo,compat-libstdc++-33.i686
codwaw
col
cs
cscz
csgo
css,ncurses-libs.i686
dab
dayz
dmc
dod
dodr
dods
doi
dst,libcurl.i686
dys
eco,libgdiplus
em
etl
ets2
fctr
fof
gmod,ncurses-libs.i686
hl2dm
hldm
hldms
hw,zlib-devel
ins
inss
ios
jc2
jc3
jk2
kf
kf2
l4d
l4d2
lo
mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
nd
nec
nmrih,ncurses-libs.i686
ns
ns2,speex,tbb
ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
pz,java-11-openjdk rng-tools
q2
q3
ql
qw
ricochet
ro
rtcw
rust,zlib-devel
rw,java-11-openjdk
samp
sb
sbots
scpsl
scpslsm
sdtd,telnet,expect
sf
sfc,ncurses-libs.i686
sof2
sol
squad
st
stn
sven
terraria
tf2,libcurl.i686
tfc
ti
ts
ts3
tu
tw
unt
ut
ut2k4
ut3
ut99
vh,glibc-devel
vints,mono-complete
vpmc,java-17-openjdk
vs
wet
wf
wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
Can't render this file because it has a wrong number of fields in line 2.

25
lgsm/data/rocky-8.csv

@ -1,10 +1,12 @@
all,bc,binutils,bzip2,bzip2,cpio,curl,epel-release,file,glibc.i686,gawk,gzip,hostname,jq,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686 steamcmd,glibc.i686,libstdc++.i686
ac ac
ahl ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl,openssl-libs
ats
av av
bb bb
bb2,libcurl.i686 bb2,libcurl.i686
@ -14,10 +16,11 @@ bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686 bmdm,ncurses-libs.i686
bo bo
bs bs
bt,libicu bt,libicu,dos2unix
bt1944 btl
cc cc
cd cd
ck,xorg-x11-server-Xvfb
cmw cmw
cod,compat-libstdc++-33.i686 cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686 cod2,compat-libstdc++-33.i686
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,ncurses-libs.i686 gmod,ncurses-libs.i686
@ -56,17 +60,17 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
mc,java-11-openjdk lo
mc,java-17-openjdk
mcb,libnsl mcb,libnsl
mh mh
mohaa,compat-libstdc++-33.i686 mohaa,compat-libstdc++-33.i686
mom mom
mta,ncurses-compat-libs mta,ncurses-compat-libs
mumble
nd nd
nec
nmrih,ncurses-libs.i686 nmrih,ncurses-libs.i686
ns ns
ns2,speex,tbb ns2,speex,tbb
@ -74,7 +78,7 @@ ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c onset,mariadb-connector-c
opfor opfor
pc pc
pmc,java-11-openjdk pmc,java-17-openjdk
pstbs,GConf2 pstbs,GConf2
pvkii pvkii
pvr,libcxx pvr,libcxx
@ -94,8 +98,8 @@ sbots
scpsl scpsl
scpslsm scpslsm
sdtd,telnet,expect sdtd,telnet,expect
sfc,ncurses-libs.i686
sf sf
sfc,ncurses-libs.i686
sof2 sof2
sol sol
squad squad
@ -116,11 +120,12 @@ ut2k4
ut3 ut3
ut99 ut99
vh,glibc-devel vh,glibc-devel
vs
vints,mono-complete vints,mono-complete
vpmc,java-17-openjdk
vs
wet wet
wf wf
wmc,java-11-openjdk wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686 zmr,ncurses-libs.i686
zps,ncurses-libs.i686 zps,ncurses-libs.i686

Can't render this file because it has a wrong number of fields in line 2.

131
lgsm/data/rocky-9.csv

@ -0,0 +1,131 @@
all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,libstdc++,libstdc++.i686,nmap-ncat,python36,tar,tmux,unzip,util-linux,wget,xz
steamcmd,glibc.i686,libstdc++.i686
ac
ahl
ahl2
ark
arma3
armar,libcurl,openssl-libs
ats
av
bb
bb2,libcurl.i686
bd
bf1942,ncurses-libs.i686
bfv,compat-libstdc++-33.i686,glibc.i686
bmdm,ncurses-libs.i686
bo
bs
bt,libicu,dos2unix
btl
cc
cd
ck,xorg-x11-server-Xvfb
cmw
cod,compat-libstdc++-33.i686
cod2,compat-libstdc++-33.i686
cod4
coduo,compat-libstdc++-33.i686
codwaw
col
cs
cscz
csgo
css,ncurses-libs.i686
dab
dayz
dmc
dod
dodr
dods
doi
dst,libcurl.i686
dys
eco,libgdiplus
em
etl
ets2
fctr
fof
gmod,ncurses-libs.i686
hl2dm
hldm
hldms
hw,zlib-devel
ins
inss
ios
jc2
jc3
jk2
kf
kf2
l4d
l4d2
lo
mc,java-17-openjdk
mcb,libnsl
mh
mohaa,compat-libstdc++-33.i686
mom
mta,ncurses-compat-libs
nd
nec
nmrih,ncurses-libs.i686
ns
ns2,speex,tbb
ns2c,speex.i686,tbb.i686
onset,mariadb-connector-c
opfor
pc
pmc,java-17-openjdk
pstbs,GConf2
pvkii
pvr,libcxx
pz,java-11-openjdk rng-tools
q2
q3
ql
qw
ricochet
ro
rtcw
rust,zlib-devel
rw,java-11-openjdk
samp
sb
sbots
scpsl
scpslsm
sdtd,telnet,expect
sf
sfc,ncurses-libs.i686
sof2
sol
squad
st
stn
sven
terraria
tf2,libcurl.i686
tfc
ti
ts
ts3
tu
tw
unt
ut
ut2k4
ut3
ut99
vh,glibc-devel
vints,mono-complete
vpmc,java-17-openjdk
vs
wet
wf
wmc,java-17-openjdk
wurm,xorg-x11-server-Xvfb
zmr,ncurses-libs.i686
zps,ncurses-libs.i686
Can't render this file because it has a wrong number of fields in line 2.

255
lgsm/data/serverlist.csv

@ -1,124 +1,131 @@
ac,acserver,Assetto Corsa ac,acserver,Assetto Corsa,ubuntu-22.04
ahl,ahlserver,Action Half-Life ahl,ahlserver,Action Half-Life,ubuntu-22.04
ahl2,ahl2server,Action: Source ahl2,ahl2server,Action: Source,ubuntu-22.04
ark,arkserver,ARK: Survival Evolved ark,arkserver,ARK: Survival Evolved,ubuntu-22.04
arma3,arma3server,ARMA 3 arma3,arma3server,ARMA 3,ubuntu-22.04
av,avserver,Avorion armar,armarserver,Arma Reforger,ubuntu-20.04
bb,bbserver,BrainBread ats,atsserver,American Truck Simulator
bb2,bb2server,BrainBread 2 av,avserver,Avorion,ubuntu-22.04
bd,bdserver,Base Defense bb,bbserver,BrainBread,ubuntu-22.04
bf1942,bf1942server,Battlefield 1942 bb2,bb2server,BrainBread 2,ubuntu-22.04
bfv,bfvserver,Battlefield: Vietnam bd,bdserver,Base Defense,ubuntu-22.04
bmdm,bmdmserver,Black Mesa: Deathmatch bf1942,bf1942server,Battlefield 1942,ubuntu-22.04
bo,boserver,Ballistic Overkill bfv,bfvserver,Battlefield: Vietnam,ubuntu-22.04
bs,bsserver,Blade Symphony bmdm,bmdmserver,Black Mesa: Deathmatch,ubuntu-22.04
bt,btserver,Barotrauma bo,boserver,Ballistic Overkill,ubuntu-22.04
bt1944,bt1944server,Battalion 1944 bs,bsserver,Blade Symphony,ubuntu-22.04
cc,ccserver,Codename CURE bt,btserver,Barotrauma,ubuntu-22.04
cd,cdserver,Crafting Dead btl,btlserver,BATTALION: Legacy,ubuntu-22.04
cmw,cmwserver,Chivalry: Medieval Warfare cc,ccserver,Codename CURE,ubuntu-22.04
cod,codserver,Call of Duty cd,cdserver,Crafting Dead,ubuntu-22.04
cod2,cod2server,Call of Duty 2 ck,ckserver,Core Keeper,ubuntu-22.04
cod4,cod4server,Call of Duty 4 cmw,cmwserver,Chivalry: Medieval Warfare,ubuntu-22.04
coduo,coduoserver,Call of Duty: United Offensive cod,codserver,Call of Duty,ubuntu-22.04
codwaw,codwawserver,Call of Duty: World at War cod2,cod2server,Call of Duty 2,ubuntu-22.04
col,colserver,Colony Survival cod4,cod4server,Call of Duty 4,ubuntu-22.04
cs,csserver,Counter-Strike 1.6 coduo,coduoserver,Call of Duty: United Offensive,ubuntu-22.04
cscz,csczserver,Counter-Strike: Condition Zero codwaw,codwawserver,Call of Duty: World at War,ubuntu-22.04
csgo,csgoserver,Counter-Strike: Global Offensive col,colserver,Colony Survival,ubuntu-22.04
css,cssserver,Counter-Strike: Source cs,csserver,Counter-Strike 1.6,ubuntu-22.04
dab,dabserver,Double Action: Boogaloo cscz,csczserver,Counter-Strike: Condition Zero,ubuntu-22.04
dayz,dayzserver,DayZ csgo,csgoserver,Counter-Strike: Global Offensive,ubuntu-22.04
dmc,dmcserver,Deathmatch Classic css,cssserver,Counter-Strike: Source,ubuntu-22.04
dod,dodserver,Day of Defeat dab,dabserver,Double Action: Boogaloo,ubuntu-22.04
dodr,dodrserver,Day of Dragons dayz,dayzserver,DayZ,ubuntu-22.04
dods,dodsserver,Day of Defeat: Source dmc,dmcserver,Deathmatch Classic,ubuntu-22.04
doi,doiserver,Day of Infamy dod,dodserver,Day of Defeat,ubuntu-22.04
dst,dstserver,Don't Starve Together dodr,dodrserver,Day of Dragons,ubuntu-22.04
dys,dysserver,Dystopia dods,dodsserver,Day of Defeat: Source,ubuntu-22.04
eco,ecoserver,Eco doi,doiserver,Day of Infamy,ubuntu-22.04
em,emserver,Empires Mod dst,dstserver,Don't Starve Together,ubuntu-22.04
etl,etlserver,ET: Legacy dys,dysserver,Dystopia,ubuntu-22.04
fctr,fctrserver,Factorio eco,ecoserver,Eco,ubuntu-22.04
fof,fofserver,Fistful of Frags em,emserver,Empires Mod,ubuntu-22.04
gmod,gmodserver,Garrys Mod etl,etlserver,ET: Legacy,ubuntu-22.04
hl2dm,hl2dmserver,Half-Life 2: Deathmatch ets2,ets2server,Euro Truck Simulator 2,ubuntu-22.04
hldm,hldmserver,Half-Life: Deathmatch fctr,fctrserver,Factorio,ubuntu-22.04
hldms,hldmsserver,Half-Life Deathmatch: Source fof,fofserver,Fistful of Frags,ubuntu-22.04
hw,hwserver,Hurtworld gmod,gmodserver,Garrys Mod,ubuntu-22.04
ins,insserver,Insurgency hl2dm,hl2dmserver,Half-Life 2: Deathmatch,ubuntu-22.04
inss,inssserver,Insurgency: Sandstorm hldm,hldmserver,Half-Life: Deathmatch,ubuntu-22.04
ios,iosserver,IOSoccer hldms,hldmsserver,Half-Life Deathmatch: Source,ubuntu-22.04
jc2,jc2server,Just Cause 2 hw,hwserver,Hurtworld,ubuntu-22.04
jc3,jc3server,Just Cause 3 ins,insserver,Insurgency,ubuntu-22.04
jk2,jk2server,Jedi Knight II: Jedi Outcast inss,inssserver,Insurgency: Sandstorm,ubuntu-22.04
kf,kfserver,Killing Floor ios,iosserver,IOSoccer,ubuntu-22.04
kf2,kf2server,Killing Floor 2 jc2,jc2server,Just Cause 2,ubuntu-22.04
lo,loserver,Last Oasis jc3,jc3server,Just Cause 3,ubuntu-22.04
l4d,l4dserver,Left 4 Dead jk2,jk2server,Jedi Knight II: Jedi Outcast,ubuntu-22.04
l4d2,l4d2server,Left 4 Dead 2 kf,kfserver,Killing Floor,ubuntu-22.04
mc,mcserver,Minecraft kf2,kf2server,Killing Floor 2,ubuntu-22.04
mcb,mcbserver,Minecraft Bedrock l4d,l4dserver,Left 4 Dead,ubuntu-22.04
mh,mhserver,MORDHAU l4d2,l4d2server,Left 4 Dead 2,ubuntu-22.04
mohaa,mohaaserver,Medal of Honor: Allied Assault lo,loserver,Last Oasis,ubuntu-22.04
mom,momserver,Memories of Mars mc,mcserver,Minecraft,ubuntu-22.04
mta,mtaserver,Multi Theft Auto mcb,mcbserver,Minecraft Bedrock,ubuntu-22.04
mumble,mumbleserver,Mumble mh,mhserver,MORDHAU,ubuntu-22.04
nd,ndserver,Nuclear Dawn mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-22.04
nmrih,nmrihserver,No More Room in Hell mom,momserver,Memories of Mars,ubuntu-22.04
ns,nsserver,Natural Selection mta,mtaserver,Multi Theft Auto,ubuntu-22.04
ns2,ns2server,Natural Selection 2 nd,ndserver,Nuclear Dawn,ubuntu-22.04
ns2c,ns2cserver,NS2: Combat nec,necserver,Necesse,ubuntu-22.04
onset,onsetserver,Onset nmrih,nmrihserver,No More Room in Hell,ubuntu-22.04
opfor,opforserver,Opposing Force ns,nsserver,Natural Selection,ubuntu-22.04
pc,pcserver,Project Cars ns2,ns2server,Natural Selection 2,ubuntu-22.04
pmc,pmcserver,PaperMC ns2c,ns2cserver,NS2: Combat,ubuntu-22.04
pstbs,pstbsserver,Post Scriptum: The Bloody Seventh onset,onsetserver,Onset,ubuntu-20.04
pvkii,pvkiiserver,Pirates Vikings & Knights II opfor,opforserver,Opposing Force,ubuntu-22.04
pvr,pvrserver,Pavlov VR pc,pcserver,Project Cars,ubuntu-22.04
pz,pzserver,Project Zomboid pc2,pc2server,Project Cars 2,ubuntu-22.04
q2,q2server,Quake 2 pmc,pmcserver,PaperMC,ubuntu-22.04
q3,q3server,Quake 3: Arena pstbs,pstbsserver,Post Scriptum: The Bloody Seventh,ubuntu-22.04
ql,qlserver,Quake Live pvkii,pvkiiserver,Pirates Vikings & Knights II,ubuntu-22.04
qw,qwserver,Quake World pvr,pvrserver,Pavlov VR,ubuntu-22.04
ricochet,ricochetserver,Ricochet pz,pzserver,Project Zomboid,ubuntu-22.04
ro,roserver,Red Orchestra: Ostfront 41-45 q2,q2server,Quake 2,ubuntu-22.04
rtcw,rtcwserver,Return to Castle Wolfenstein q3,q3server,Quake 3: Arena,ubuntu-22.04
rust,rustserver,Rust ql,qlserver,Quake Live,ubuntu-22.04
rw,rwserver,Rising World qw,qwserver,Quake World,ubuntu-22.04
samp,sampserver,San Andreas Multiplayer ricochet,ricochetserver,Ricochet,ubuntu-22.04
sb,sbserver,Starbound ro,roserver,Red Orchestra: Ostfront 41-45,ubuntu-22.04
sbots,sbotsserver,StickyBots rtcw,rtcwserver,Return to Castle Wolfenstein,ubuntu-22.04
scpsl,scpslserver,SCP: Secret Laboratory rust,rustserver,Rust,ubuntu-22.04
scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod rw,rwserver,Rising World,ubuntu-22.04
sdtd,sdtdserver,7 Days to Die samp,sampserver,San Andreas Multiplayer,ubuntu-22.04
sfc,sfcserver,SourceForts Classic sb,sbserver,Starbound,ubuntu-22.04
sf,sfserver,Satisfactory sbots,sbotsserver,StickyBots,ubuntu-22.04
sof2,sof2server,Soldier Of Fortune 2: Gold Edition scpsl,scpslserver,SCP: Secret Laboratory,ubuntu-22.04
sol,solserver,Soldat scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod,ubuntu-22.04
squad,squadserver,Squad sdtd,sdtdserver,7 Days to Die,ubuntu-22.04
st,stserver,Stationeers sf,sfserver,Satisfactory,ubuntu-22.04
stn,stnserver,Survive the Nights sfc,sfcserver,SourceForts Classic,ubuntu-22.04
sven,svenserver,Sven Co-op sof2,sof2server,Soldier Of Fortune 2: Gold Edition,ubuntu-22.04
terraria,terrariaserver,Terraria sol,solserver,Soldat,ubuntu-22.04
tf2,tf2server,Team Fortress 2 squad,squadserver,Squad,ubuntu-22.04
tfc,tfcserver,Team Fortress Classic st,stserver,Stationeers,ubuntu-22.04
ti,tiserver,The Isle stn,stnserver,Survive the Nights,ubuntu-22.04
ts,tsserver,The Specialists sven,svenserver,Sven Co-op,ubuntu-20.04
ts3,ts3server,Teamspeak 3 terraria,terrariaserver,Terraria,ubuntu-22.04
tu,tuserver,Tower Unite tf2,tf2server,Team Fortress 2,ubuntu-22.04
tw,twserver,Teeworlds tfc,tfcserver,Team Fortress Classic,ubuntu-22.04
unt,untserver,Unturned ti,tiserver,The Isle,ubuntu-22.04
ut,utserver,Unreal Tournament ts,tsserver,The Specialists,ubuntu-22.04
ut2k4,ut2k4server,Unreal Tournament 2004 ts3,ts3server,Teamspeak 3,ubuntu-22.04
ut3,ut3server,Unreal Tournament 3 tu,tuserver,Tower Unite,ubuntu-22.04
ut99,ut99server,Unreal Tournament 99 tw,twserver,Teeworlds,ubuntu-22.04
vh,vhserver,Valheim unt,untserver,Unturned,ubuntu-22.04
vints,vintsserver,Vintage Story ut,utserver,Unreal Tournament,ubuntu-22.04
vs,vsserver,Vampire Slayer ut2k4,ut2k4server,Unreal Tournament 2004,ubuntu-22.04
wet,wetserver,Wolfenstein: Enemy Territory ut3,ut3server,Unreal Tournament 3,ubuntu-22.04
wf,wfserver,Warfork ut99,ut99server,Unreal Tournament 99,ubuntu-22.04
wmc,wmcserver,WaterfallMC vh,vhserver,Valheim,ubuntu-22.04
wurm,wurmserver,Wurm Unlimited vints,vintsserver,Vintage Story,ubuntu-22.04
zmr,zmrserver,Zombie Master: Reborn vpmc,vpmcserver,Velocity Proxy MC,ubuntu-22.04
zps,zpsserver,Zombie Panic! Source vs,vsserver,Vampire Slayer,ubuntu-22.04
wet,wetserver,Wolfenstein: Enemy Territory,ubuntu-22.04
wf,wfserver,Warfork,ubuntu-22.04
wmc,wmcserver,WaterfallMC,ubuntu-22.04
wurm,wurmserver,Wurm Unlimited,ubuntu-22.04
zmr,zmrserver,Zombie Master: Reborn,ubuntu-22.04
zps,zpsserver,Zombie Panic! Source,ubuntu-22.04

Can't render this file because it has a wrong number of fields in line 7.

19
lgsm/data/ubuntu-16.04.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,22 +60,22 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-8-jre mc,openjdk-8-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta mta
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-8-jre pmc,openjdk-8-jre
@ -94,8 +98,8 @@ sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-8-jre
vs
wet wet
wf wf
wmc,openjdk-8-jre wmc,openjdk-8-jre

Can't render this file because it has a wrong number of fields in line 2.

19
lgsm/data/ubuntu-18.04.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,22 +60,22 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-11-jre mc,openjdk-11-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-11-jre pmc,openjdk-11-jre
@ -94,8 +98,8 @@ sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-11-jre
vs
wet wet
wf wf
wmc,openjdk-11-jre wmc,openjdk-11-jre

Can't render this file because it has a wrong number of fields in line 2.

23
lgsm/data/ubuntu-20.04.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,29 +60,29 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-17-jre mc,openjdk-17-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-17-jre pmc,openjdk-17-jre
pstbs,libgconf-2-4 pstbs,libgconf-2-4
pvkii pvkii
pvr,libc++1 pvr,libc++1
pz,openjdk-16-jre,rng-tools pz,openjdk-17-jre,rng-tools
q2 q2
q3 q3
ql ql
@ -87,15 +91,15 @@ ricochet
ro ro
rtcw rtcw
rust,lib32z1 rust,lib32z1
rw,openjdk-16-jre rw,openjdk-17-jre
samp samp
sb sb
sbots sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-11-jre
vs
wet wet
wf wf
wmc,openjdk-17-jre wmc,openjdk-17-jre

Can't render this file because it has a wrong number of fields in line 2.

25
lgsm/data/ubuntu-21.04.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,10 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
cd cd
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -41,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -56,29 +60,29 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-17-jre mc,openjdk-17-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-17-jre pmc,openjdk-17-jre
pstbs,libgconf-2-4 pstbs,libgconf-2-4
pvkii pvkii
pvr,libc++1 pvr,libc++1
pz,openjdk-16-jre,rng-tools pz,openjdk-17-jre,rng-tools
q2 q2
q3 q3
ql ql
@ -87,22 +91,22 @@ ricochet
ro ro
rtcw rtcw
rust,lib32z1 rust,lib32z1
rw,openjdk-16-jre rw,openjdk-17-jre
samp samp
sb sb
sbots sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
st st
stn stn
sven,libssl1.1:i386,zlib1g:i386 sven,libssl1.1:i386,zlib1g:i386
terraria,libsdl terraria
tf2,libcurl4-gnutls-dev:i386 tf2,libcurl4-gnutls-dev:i386
tfc tfc
ti ti
@ -116,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-11-jre
vs
wet wet
wf wf
wmc,openjdk-17-jre wmc,openjdk-17-jre

Can't render this file because it has a wrong number of fields in line 2.

23
lgsm/data/ubuntu-21.10.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -15,8 +17,9 @@ bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev
bt1944 btl
cc cc
ck,xvfb
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -39,6 +42,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -54,29 +58,29 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-17-jre mc,openjdk-17-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-17-jre pmc,openjdk-17-jre
pstbs,libgconf-2-4 pstbs,libgconf-2-4
pvkii pvkii
pvr,libc++1 pvr,libc++1
pz,openjdk-16-jre,rng-tools pz,openjdk-17-jre,rng-tools
q2 q2
q3 q3
ql ql
@ -85,22 +89,22 @@ ricochet
ro ro
rtcw rtcw
rust,lib32z1 rust,lib32z1
rw,openjdk-16-jre rw,openjdk-17-jre
samp samp
sb sb
sbots sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
st st
stn stn
sven,libssl1.1:i386,zlib1g:i386 sven,libssl1.1:i386,zlib1g:i386
terraria,libsdl terraria
tf2,libcurl4-gnutls-dev:i386 tf2,libcurl4-gnutls-dev:i386
tfc tfc
ti ti
@ -114,8 +118,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-11-jre
vs
wet wet
wf wf
wmc,openjdk-17-jre wmc,openjdk-17-jre

Can't render this file because it has a wrong number of fields in line 2.

27
lgsm/data/ubuntu-22.04.csv

@ -5,6 +5,8 @@ ahl
ahl2 ahl2
ark ark
arma3 arma3
armar,libcurl4
ats
av av
bb bb
bb2,libcurl4-gnutls-dev:i386 bb2,libcurl4-gnutls-dev:i386
@ -14,9 +16,11 @@ bfv,libncurses5:i386,libstdc++5:i386
bmdm,libncurses5:i386 bmdm,libncurses5:i386
bo bo
bs bs
bt,libicu-dev bt,libicu-dev,dos2unix
bt1944 btl
cc cc
ck,xvfb
cd
cmw cmw
cod,libstdc++5:i386 cod,libstdc++5:i386
cod2,libstdc++5:i386 cod2,libstdc++5:i386
@ -29,6 +33,7 @@ cscz
csgo csgo
css,libtinfo5:i386 css,libtinfo5:i386
dab dab
dayz
dmc dmc
dod dod
dodr dodr
@ -39,6 +44,7 @@ dys
eco,libgdiplus eco,libgdiplus
em em
etl etl
ets2
fctr fctr
fof fof
gmod,libtinfo5:i386 gmod,libtinfo5:i386
@ -54,29 +60,29 @@ jc3
jk2 jk2
kf kf
kf2 kf2
lo
l4d l4d
l4d2 l4d2
lo
mc,openjdk-17-jre mc,openjdk-17-jre
mcb mcb
mh mh
mohaa,libstdc++5:i386 mohaa,libstdc++5:i386
mom mom
mta,libncursesw5 mta,libncursesw5
mumble
nd nd
nec
nmrih,libtinfo5:i386 nmrih,libtinfo5:i386
ns ns
ns2,speex,libtbb2 ns2,speex,libtbb2
ns2c,speex:i386,libtbb2 ns2c,speex:i386,libtbb2
onset,libmariadbclient-dev onset,libmariadb-dev
opfor opfor
pc pc
pmc,openjdk-17-jre pmc,openjdk-17-jre
pstbs,libgconf-2-4 pstbs,libgconf-2-4
pvkii pvkii
pvr,libc++1 pvr,libc++1
pz,openjdk-16-jre,rng-tools pz,openjdk-17-jre,rng-tools5
q2 q2
q3 q3
ql ql
@ -85,22 +91,22 @@ ricochet
ro ro
rtcw rtcw
rust,lib32z1 rust,lib32z1
rw,openjdk-16-jre rw,openjdk-17-jre
samp samp
sb sb
sbots sbots
scpsl,mono-complete scpsl,mono-complete
scpslsm,mono-complete scpslsm,mono-complete
sdtd,telnet,expect sdtd,telnet,expect
sfc,libtinfo5:i386
sf sf
sfc,libtinfo5:i386
sof2 sof2
sol sol
squad squad
st st
stn stn
sven,libssl1.1:i386,zlib1g:i386 sven,libssl1.1:i386,zlib1g:i386
terraria,libsdl terraria
tf2,libcurl4-gnutls-dev:i386 tf2,libcurl4-gnutls-dev:i386
tfc tfc
ti ti
@ -114,8 +120,9 @@ ut2k4
ut3 ut3
ut99 ut99
vh,libc6-dev vh,libc6-dev
vs
vints,mono-complete vints,mono-complete
vpmc,openjdk-17-jre
vs
wet wet
wf wf
wmc,openjdk-17-jre wmc,openjdk-17-jre

Can't render this file because it has a wrong number of fields in line 2.

19
lgsm/functions/README.md

@ -3,14 +3,15 @@
These modules are scripts that are called upon by the primary script linuxgsm.sh These modules are scripts that are called upon by the primary script linuxgsm.sh
## Module Names ## Module Names
Modules have been named to give an idea of what the function does. Modules have been named to give an idea of what the function does.
* core: Essential modules that will always run first. - core: Essential modules that will always run first.
* command: Primary command function. - command: Primary command function.
* check: Runs checks that will either halt on or fix an issue. - check: Runs checks that will either halt on or fix an issue.
* dev: development modules. - dev: development modules.
* fix: Applies a game server specific fix. - fix: Applies a game server specific fix.
* info: retrieves information from a source such as config file or the OS. - info: retrieves information from a source such as config file or the OS.
* install: modules related to the installer. - install: modules related to the installer.
* monitor: modules related to monitor. - monitor: modules related to monitor.
* update: modules that update the game server. - update: modules that update the game server.

4
lgsm/functions/alert.sh

@ -60,7 +60,7 @@ fn_alert_update(){
alertemoji="🎮" alertemoji="🎮"
alertsound="1" alertsound="1"
alerturl="not enabled" alerturl="not enabled"
alertbody="${gamename} received update" alertbody="${gamename} received update: ${remotebuildversion}"
} }
fn_alert_check_update() { fn_alert_check_update() {
@ -69,7 +69,7 @@ fn_alert_check_update(){
alertemoji="🎮" alertemoji="🎮"
alertsound="1" alertsound="1"
alerturl="not enabled" alerturl="not enabled"
alertbody="${gamename} update available" alertbody="${gamename} update available: ${remotebuildversion}"
} }
fn_alert_permissions() { fn_alert_permissions() {

3
lgsm/functions/alert_discord.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"username":"LinuxGSM", "username":"LinuxGSM",
"avatar_url":"https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.jpg", "avatar_url":"https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.jpg",

3
lgsm/functions/alert_gotify.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"title": "${alertemoji} ${alertsubject} ${alertemoji}", "title": "${alertemoji} ${alertsubject} ${alertemoji}",
"message": "Server name\n${servername}\n\nMessage\n${alertbody}\n\nGame\n${gamename}\n\nServer IP\n${alertip}:${port}\n\nHostname\n${HOSTNAME}\n\nMore info\n${alerturl}", "message": "Server name\n${servername}\n\nMessage\n${alertbody}\n\nGame\n${gamename}\n\nServer IP\n${alertip}:${port}\n\nHostname\n${HOSTNAME}\n\nMore info\n${alerturl}",

3
lgsm/functions/alert_ifttt.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"value1": "${selfname}", "value1": "${selfname}",
"value2": "${alertemoji} ${alertsubject} ${alertemoji}", "value2": "${alertemoji} ${alertsubject} ${alertemoji}",

3
lgsm/functions/alert_pushbullet.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"channel_tag": "${channeltag}", "channel_tag": "${channeltag}",
"type": "note", "type": "note",

3
lgsm/functions/alert_rocketchat.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"alias": "LinuxGSM", "alias": "LinuxGSM",
"text": "*${alertemoji} ${alertsubject} ${alertemoji}* \n *${servername}* \n ${alertbody} \n More info: ${alerturl}", "text": "*${alertemoji} ${alertsubject} ${alertemoji}* \n *${servername}* \n ${alertbody} \n More info: ${alerturl}",

3
lgsm/functions/alert_slack.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"attachments": [ "attachments": [
{ {

3
lgsm/functions/alert_telegram.sh

@ -7,7 +7,8 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
json=$(cat <<EOF json=$(
cat << EOF
{ {
"chat_id": "${telegramchatid}", "chat_id": "${telegramchatid}",
"parse_mode": "HTML", "parse_mode": "HTML",

4
lgsm/functions/check.sh

@ -21,7 +21,7 @@ fi
check_tmuxception.sh check_tmuxception.sh
if [ "$(whoami)" != "root" ]; then if [ "$(whoami)" != "root" ] || [ -f /.dockerenv ]; then
if [ "${commandname}" != "MONITOR" ]; then if [ "${commandname}" != "MONITOR" ]; then
check_permissions.sh check_permissions.sh
fi fi
@ -38,7 +38,7 @@ for allowed_command in "${allowed_commands_array[@]}"; do
fi fi
done done
if [ "$(whoami)" != "root" ]; then if [ "$(whoami)" != "root" ] || [ -f /.dockerenv ]; then
allowed_commands_array=(DEBUG START INSTALL) allowed_commands_array=(DEBUG START INSTALL)
for allowed_command in "${allowed_commands_array[@]}"; do for allowed_command in "${allowed_commands_array[@]}"; do
if [ "${allowed_command}" == "${commandname}" ]; then if [ "${allowed_command}" == "${commandname}" ]; then

11
lgsm/functions/check_deps.sh

@ -143,7 +143,6 @@ fn_install_missing_deps(){
fi fi
fi fi
# Add sudo dpkg --add-architecture i386 if using i386 packages. # Add sudo dpkg --add-architecture i386 if using i386 packages.
if [ "$(command -v dpkg-query 2> /dev/null)" ]; then if [ "$(command -v dpkg-query 2> /dev/null)" ]; then
if printf '%s\n' "${array_deps_required[@]}" | grep -q -P 'i386'; then if printf '%s\n' "${array_deps_required[@]}" | grep -q -P 'i386'; then
@ -226,13 +225,13 @@ fn_deps_detector(){
# SteamCMD: Will be removed from required array if no appid is present or non-free repo is not available. # SteamCMD: Will be removed from required array if no appid is present or non-free repo is not available.
# This will cause SteamCMD to be installed using tar. # This will cause SteamCMD to be installed using tar.
if [ "${deptocheck}" == "libsdl2-2.0-0:i386" ] && [ -z "${appid}" ]; then if [ "${deptocheck}" == "libsdl2-2.0-0:i386" ] && [ -z "${appid}" ]; then
array_deps_required=( "${array_deps_required[@]/libsdl2-2.0-0:i386}" ) array_deps_required=("${array_deps_required[@]/libsdl2-2.0-0:i386/}")
steamcmdstatus=1 steamcmdstatus=1
elif [ "${deptocheck}" == "steamcmd" ] && [ -z "${appid}" ]; then elif [ "${deptocheck}" == "steamcmd" ] && [ -z "${appid}" ]; then
array_deps_required=( "${array_deps_required[@]/steamcmd}" ) array_deps_required=("${array_deps_required[@]/steamcmd/}")
steamcmdstatus=1 steamcmdstatus=1
elif [ "${deptocheck}" == "steamcmd" ] && [ "${distroid}" == "debian" ] && ! grep -qE "^deb .*non-free" /etc/apt/sources.list; then elif [ "${deptocheck}" == "steamcmd" ] && [ "${distroid}" == "debian" ] && ! grep -qE "^deb .*non-free" /etc/apt/sources.list; then
array_deps_required=( "${array_deps_required[@]/steamcmd}" ) array_deps_required=("${array_deps_required[@]/steamcmd/}")
steamcmdstatus=1 steamcmdstatus=1
# Java: Added for users using Oracle JRE to bypass check. # Java: Added for users using Oracle JRE to bypass check.
elif [[ ${deptocheck} == "openjdk"* ]] || [[ ${deptocheck} == "java"* ]]; then elif [[ ${deptocheck} == "openjdk"* ]] || [[ ${deptocheck} == "java"* ]]; then
@ -302,7 +301,7 @@ fn_deps_detector(){
} }
if [ "${commandname}" == "INSTALL" ]; then if [ "${commandname}" == "INSTALL" ]; then
if [ "$(whoami)" == "root" ]; then if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then
echo -e "" echo -e ""
echo -e "${lightyellow}Checking Dependencies as root${default}" echo -e "${lightyellow}Checking Dependencies as root${default}"
echo -e "=================================" echo -e "================================="
@ -338,7 +337,7 @@ fi
if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then
depall=$(awk -F, '$1=="all" {$1=""; print $0}' "${datadir}/${distroid}-${distroversioncsv}.csv") depall=$(awk -F, '$1=="all" {$1=""; print $0}' "${datadir}/${distroid}-${distroversioncsv}.csv")
depsteamcmd=$(awk -F, '$1=="steamcmd" {$1=""; print $0}' "${datadir}/${distroid}-${distroversioncsv}.csv") depsteamcmd=$(awk -F, '$1=="steamcmd" {$1=""; print $0}' "${datadir}/${distroid}-${distroversioncsv}.csv")
depshortname=$(awk -v shortname="$shortname" -F, '$1==shortname {$1=""; print $0}' "${datadir}/${distroid}-${distroversioncsv}.csv") depshortname=$(awk -v shortname="${shortname}" -F, '$1==shortname {$1=""; print $0}' "${datadir}/${distroid}-${distroversioncsv}.csv")
# Generate array of missing deps. # Generate array of missing deps.
array_deps_missing=() array_deps_missing=()

1
lgsm/functions/check_executable.sh

@ -8,6 +8,7 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
# Check if executable exists # Check if executable exists
execname=$(basename "${executable}")
if [ ! -f "${executabledir}/${execname}" ]; then if [ ! -f "${executabledir}/${execname}" ]; then
fn_print_fail_nl "executable was not found" fn_print_fail_nl "executable was not found"
echo -e "* ${executabledir}/${execname}" echo -e "* ${executabledir}/${execname}"

6
lgsm/functions/check_permissions.sh

@ -223,10 +223,8 @@ fn_sys_perm_error_process(){
fi fi
} }
# Run perm error detect & fix/alert functions on /sys directories. ## Run permisions checks when not root or docker.
if [ "$(whoami)" != "root" ] && [ ! -f /.dockerenv ]; then
## Run checks.
if [ "$(whoami)" != "root" ]; then
fn_check_ownership fn_check_ownership
fn_check_permissions fn_check_permissions
if [ "${commandname}" == "START" ]; then if [ "${commandname}" == "START" ]; then

2
lgsm/functions/check_root.sh

@ -7,7 +7,7 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
if [ "$(whoami)" = "root" ]; then if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then
if [ "${commandname}" != "INSTALL" ]; then if [ "${commandname}" != "INSTALL" ]; then
fn_print_fail_nl "Do NOT run this script as root!" fn_print_fail_nl "Do NOT run this script as root!"
if [ -d "${lgsmlogdir}" ]; then if [ -d "${lgsmlogdir}" ]; then

2
lgsm/functions/check_steamcmd.sh

@ -12,7 +12,7 @@ core_steamcmd.sh
fn_check_steamcmd_clear fn_check_steamcmd_clear
fn_check_steamcmd fn_check_steamcmd
if [ ${shortname} == "ark" ]; then if [ "${shortname}" == "ark" ]; then
fn_check_steamcmd_ark fn_check_steamcmd_ark
fi fi
fn_check_steamcmd_dir fn_check_steamcmd_dir

11
lgsm/functions/command_backup.sh

@ -99,16 +99,17 @@ fn_backup_migrate_olddir(){
fn_script_log_info "${rootdir}/backups > ${backupdir}" fn_script_log_info "${rootdir}/backups > ${backupdir}"
mv "${rootdir}/backups/"* "${backupdir}" 2> /dev/null mv "${rootdir}/backups/"* "${backupdir}" 2> /dev/null
exitcode=$? exitcode=$?
if [ "${exitcode}" -eq 0 ]; then if [ "${exitcode}" == 0 ]; then
rmdir "${rootdir}/backups" 2> /dev/null rmdir "${rootdir}/backups" 2> /dev/null
exitcode=$? exitcode=$?
fi fi
if [ "${exitcode}" -eq 0 ]; then if [ "${exitcode}" != 0 ]; then
fn_print_ok_nl "Backup directory is being migrated"
fn_script_log_pass "Backup directory is being migrated"
else
fn_print_error_nl "Backup directory is being migrated" fn_print_error_nl "Backup directory is being migrated"
fn_script_log_error "Backup directory is being migrated" fn_script_log_error "Backup directory is being migrated"
else
fn_print_ok_nl "Backup directory is being migrated"
fn_script_log_pass "Backup directory is being migrated"
fi fi
fi fi
fi fi

28
lgsm/functions/command_check_update.sh

@ -14,12 +14,26 @@ fn_print_dots ""
check.sh check.sh
core_logs.sh core_logs.sh
core_steamcmd.sh if [ "${shortname}" == "ts3" ]; then
update_ts3.sh
check_steamcmd.sh elif [ "${shortname}" == "mc" ]; then
update_minecraft.sh
fn_update_steamcmd_localbuild elif [ "${shortname}" == "mcb" ]; then
fn_update_steamcmd_remotebuild update_minecraft_bedrock.sh
fn_update_steamcmd_compare elif [ "${shortname}" == "pmc" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then
update_papermc.sh
elif [ "${shortname}" == "fctr" ]; then
update_factorio.sh
elif [ "${shortname}" == "mta" ]; then
update_mta.sh
elif [ "${shortname}" == "jk2" ]; then
update_jediknight2.sh
elif [ "${shortname}" == "vints" ]; then
update_vintagestory.sh
elif [ "${shortname}" == "ut99" ]; then
update_ut99.sh
else
update_steamcmd.sh
fi
core_exit.sh core_exit.sh

23
lgsm/functions/command_debug.sh

@ -28,11 +28,10 @@ check.sh
fix.sh fix.sh
info_distro.sh info_distro.sh
info_game.sh info_game.sh
# NOTE: Check if works with server without parms. Could be intergrated in to info_parms.sh.
fn_print_header fn_print_header
{ {
echo -e "${lightblue}Distro:\t\t${default}${distroname}" echo -e "${lightblue}Distro:\t\t${default}${distroname}"
echo -e "${lightblue}Arch:\t\t${default}${arch}" echo -e "${lightblue}Architecture:\t\t${default}${arch}"
echo -e "${lightblue}Kernel:\t\t${default}${kernel}" echo -e "${lightblue}Kernel:\t\t${default}${kernel}"
echo -e "${lightblue}Hostname:\t\t${default}${HOSTNAME}" echo -e "${lightblue}Hostname:\t\t${default}${HOSTNAME}"
echo -e "${lightblue}tmux:\t\t${default}${tmuxv}" echo -e "${lightblue}tmux:\t\t${default}${tmuxv}"
@ -40,8 +39,9 @@ fn_print_header
echo -e "${lightblue}Free Memory:\t\t${default}${physmemfree}" echo -e "${lightblue}Free Memory:\t\t${default}${physmemfree}"
echo -e "${lightblue}Free Disk:\t\t${default}${availspace}" echo -e "${lightblue}Free Disk:\t\t${default}${availspace}"
} | column -s $'\t' -t } | column -s $'\t' -t
# glibc required. # glibc required.
if [ "${glibc}" ]; then if [ -n "${glibc}" ]; then
if [ "${glibc}" == "null" ]; then if [ "${glibc}" == "null" ]; then
# Glibc is not required. # Glibc is not required.
: :
@ -54,7 +54,7 @@ if [ "${glibc}" ]; then
fi fi
fi fi
# Server IP # Server IP.
echo -e "${lightblue}Game Server IP:\t${default}${ip}:${port}" echo -e "${lightblue}Game Server IP:\t${default}${ip}:${port}"
# External server IP. # External server IP.
@ -63,6 +63,7 @@ if [ "${extip}" ]; then
echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}" echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}"
fi fi
fi fi
# Server password. # Server password.
if [ "${serverpassword}" ]; then if [ "${serverpassword}" ]; then
echo -e "${lightblue}Server password:\t${default}${serverpassword}" echo -e "${lightblue}Server password:\t${default}${serverpassword}"
@ -78,7 +79,7 @@ else
echo -e "${preexecutable} ${executable} ${startparameters}" echo -e "${preexecutable} ${executable} ${startparameters}"
fi fi
echo -e "" echo -e ""
echo -e "Use for identifying server issues only!" echo -e "Use debug for identifying server issues only!"
echo -e "Press CTRL+c to drop out of debug mode." echo -e "Press CTRL+c to drop out of debug mode."
fn_print_warning_nl "If ${selfname} is already running it will be stopped." fn_print_warning_nl "If ${selfname} is already running it will be stopped."
echo -e "" echo -e ""
@ -120,6 +121,18 @@ else
eval "${preexecutable} ${executable} ${startparameters}" eval "${preexecutable} ${executable} ${startparameters}"
fi fi
if [ $? -ne 0 ]; then
fn_print_error_nl "Server has stopped: exit code: $?"
fn_script_log_error "Server has stopped: exit code: $?"
fn_print_error_nl "Press ENTER to exit debug mode"
read -r
else
fn_print_ok_nl "Server has stopped"
fn_script_log_pass "Server has stopped"
fn_print_ok_nl "Press ENTER to exit debug mode"
read -r
fi
fn_lockfile_trap fn_lockfile_trap
fn_print_dots "Stopping debug" fn_print_dots "Stopping debug"

2
lgsm/functions/command_dev_debug.sh

@ -11,7 +11,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_firstcommand_reset fn_firstcommand_reset
if [ -f "${rootdir}/.dev-debug" ]; then if [ -f "${rootdir}/.dev-debug" ]; then
rm "${rootdir:?}/.dev-debug" rm -f "${rootdir:?}/.dev-debug"
fn_print_ok_nl "Disabled dev-debug" fn_print_ok_nl "Disabled dev-debug"
fn_script_log_info "Disabled dev-debug" fn_script_log_info "Disabled dev-debug"
else else

4
lgsm/functions/command_dev_detect_deps.sh

@ -23,8 +23,8 @@ else
echo -e "readelf/eu-readelf not installed" echo -e "readelf/eu-readelf not installed"
fi fi
files=$(find "${serverfiles}" | wc -l) files=$(find "${serverfiles}" | wc -l)
find "${serverfiles}" -type f -print0 | find "${serverfiles}" -type f -print0 \
while IFS= read -r -d $'\0' line; do | while IFS= read -r -d $'\0' line; do
if [ "${readelf}" == "eu-readelf" ]; then if [ "${readelf}" == "eu-readelf" ]; then
${readelf} -d "${line}" 2> /dev/null | grep NEEDED | awk '{ print $4 }' | sed 's/\[//g;s/\]//g' >> "${tmpdir}/.depdetect_readelf" ${readelf} -d "${line}" 2> /dev/null | grep NEEDED | awk '{ print $4 }' | sed 's/\[//g;s/\]//g' >> "${tmpdir}/.depdetect_readelf"
else else

5
lgsm/functions/command_dev_detect_glibc.sh

@ -34,7 +34,6 @@ elif [ -f "${serverfiles}" ]; then
fi fi
echo -e "" echo -e ""
glibc_check_dir_array=(steamcmddir serverfiles) glibc_check_dir_array=(steamcmddir serverfiles)
for glibc_check_var in "${glibc_check_dir_array[@]}"; do for glibc_check_var in "${glibc_check_dir_array[@]}"; do
if [ "${glibc_check_var}" == "serverfiles" ]; then if [ "${glibc_check_var}" == "serverfiles" ]; then
@ -47,8 +46,8 @@ for glibc_check_var in "${glibc_check_dir_array[@]}"; do
if [ -d "${glibc_check_dir}" ]; then if [ -d "${glibc_check_dir}" ]; then
glibc_check_files=$(find "${glibc_check_dir}" | wc -l) glibc_check_files=$(find "${glibc_check_dir}" | wc -l)
find "${glibc_check_dir}" -type f -print0 | find "${glibc_check_dir}" -type f -print0 \
while IFS= read -r -d $'\0' line; do | while IFS= read -r -d $'\0' line; do
glibcversion=$(objdump -T "${line}" 2> /dev/null | grep -oP "GLIBC[^ ]+" | grep -v GLIBCXX | sort | uniq | sort -r --version-sort | head -n 1) glibcversion=$(objdump -T "${line}" 2> /dev/null | grep -oP "GLIBC[^ ]+" | grep -v GLIBCXX | sort | uniq | sort -r --version-sort | head -n 1)
if [ "${glibcversion}" ]; then if [ "${glibcversion}" ]; then
echo -e "${glibcversion}: ${line}" >> "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" echo -e "${glibcversion}: ${line}" >> "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp"

10
lgsm/functions/command_dev_detect_ldd.sh

@ -31,14 +31,12 @@ touch "${tmpdir}/detect_ldd.tmp"
touch "${tmpdir}/detect_ldd_not_found.tmp" touch "${tmpdir}/detect_ldd_not_found.tmp"
files=$(find "${serverfiles}" | wc -l) files=$(find "${serverfiles}" | wc -l)
find "${serverfiles}" -type f -print0 | find "${serverfiles}" -type f -print0 \
while IFS= read -r -d $'\0' line; do | while IFS= read -r -d $'\0' line; do
if ldd "${line}" 2>/dev/null | grep -v "not a dynamic executable" if ldd "${line}" 2> /dev/null | grep -v "not a dynamic executable"; then
then
echo -e "${line}" >> "${tmpdir}/detect_ldd.tmp" echo -e "${line}" >> "${tmpdir}/detect_ldd.tmp"
ldd "${line}" 2> /dev/null | grep -v "not a dynamic executable" >> "${tmpdir}/detect_ldd.tmp" ldd "${line}" 2> /dev/null | grep -v "not a dynamic executable" >> "${tmpdir}/detect_ldd.tmp"
if ldd "${line}" 2>/dev/null | grep -v "not a dynamic executable" | grep "not found" if ldd "${line}" 2> /dev/null | grep -v "not a dynamic executable" | grep "not found"; then
then
echo -e "${line}" >> "${tmpdir}/detect_ldd_not_found.tmp" echo -e "${line}" >> "${tmpdir}/detect_ldd_not_found.tmp"
ldd "${line}" 2> /dev/null | grep -v "not a dynamic executable" | grep "not found" >> "${tmpdir}/detect_ldd_not_found.tmp" ldd "${line}" 2> /dev/null | grep -v "not a dynamic executable" | grep "not found" >> "${tmpdir}/detect_ldd_not_found.tmp"
fi fi

57
lgsm/functions/command_dev_query_raw.sh

@ -28,170 +28,169 @@ echo -e "=================================================================="
{ {
echo -e "${lightblue}Port Name \tPort Number \tStatus \tTCP \tUDP${default}" echo -e "${lightblue}Port Name \tPort Number \tStatus \tTCP \tUDP${default}"
if [ -v port ]; then if [ -v port ]; then
echo -e "Game: \t${port} \t$(ss -tupl|grep ${port}|wc -l) \t$(ss -tupl|grep ${port}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${port}|grep udp|awk '{ print $2 }')" echo -e "Game: \t${port} \t$(ss -tupl | grep -c ${port}) \t$(ss -tupl | grep ${port} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${port} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game:" echo -e "Game:"
fi fi
if [ "${shortname}" == "rw" ]; then if [ "${shortname}" == "rw" ]; then
if [ -v port2 ]; then if [ -v port2 ]; then
echo -e "Game+1: \t${port2} \t$(ss -tupl|grep ${port}|wc -l) \t$(ss -tupl|grep ${port2}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${port2}|grep udp|awk '{ print $2 }')" echo -e "Game+1: \t${port2} \t$(ss -tupl | grep -c ${port}) \t$(ss -tupl | grep ${port2} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${port2} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game+1:" echo -e "Game+1:"
fi fi
if [ -v port3 ]; then if [ -v port3 ]; then
echo -e "Game+2: \t${port3} \t$(ss -tupl|grep ${port}|wc -l) \t$(ss -tupl|grep ${port3}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${port3}|grep udp|awk '{ print $2 }')" echo -e "Game+2: \t${port3} \t$(ss -tupl | grep -c ${port}) \t$(ss -tupl | grep ${port3} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${port3} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game+2:" echo -e "Game+2:"
fi fi
if [ -v port4 ]; then if [ -v port4 ]; then
echo -e "Game+3: \t${port4} \t$(ss -tupl|grep ${port}|wc -l) \t$(ss -tupl|grep ${port4}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${port4}|grep udp|awk '{ print $2 }')" echo -e "Game+3: \t${port4} \t$(ss -tupl | grep -c ${port}) \t$(ss -tupl | grep ${port4} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${port4} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game+3:" echo -e "Game+3:"
fi fi
fi fi
if [ -v port401 ]; then if [ -v port401 ]; then
echo -e "Game+400: \t${port401} \t$(ss -tupl|grep ${port401}|wc -l) \t$(ss -tupl|grep ${port401}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${port401}|grep udp|awk '{ print $2 }')" echo -e "Game+400: \t${port401} \t$(ss -tupl | grep -c ${port401}) \t$(ss -tupl | grep ${port401} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${port401} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game+400:" echo -e "Game+400:"
fi fi
if [ -v portipv6 ]; then if [ -v portipv6 ]; then
echo -e "Game ipv6: \t${portipv6} \t$(ss -tupl|grep ${portipv6}|wc -l) \t$(ss -tupl|grep ${portipv6}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${portipv6}|grep udp|awk '{ print $2 }')" echo -e "Game ipv6: \t${portipv6} \t$(ss -tupl | grep -c ${portipv6}) \t$(ss -tupl | grep ${portipv6} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${portipv6} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game ipv6:" echo -e "Game ipv6:"
fi fi
if [ -v queryport ]; then if [ -v queryport ]; then
echo -e "Query: \t${queryport} \t$(ss -tupl|grep ${queryport}|wc -l) \t$(ss -tupl|grep ${queryport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${queryport}|grep udp|awk '{ print $2 }')" echo -e "Query: \t${queryport} \t$(ss -tupl | grep -c ${queryport}) \t$(ss -tupl | grep ${queryport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${queryport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Query:" echo -e "Query:"
fi fi
if [ -v httpport ]; then if [ -v httpport ]; then
echo -e "HTTP: \t${httpport} \t$(ss -tupl|grep ${httpport}|wc -l) \t$(ss -tupl|grep ${httpport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${httpport}|grep udp|awk '{ print $2 }')" echo -e "HTTP: \t${httpport} \t$(ss -tupl | grep -c ${httpport}) \t$(ss -tupl | grep ${httpport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${httpport} | grep udp | awk '{ print $2 }')"
else else
echo -e "HTTP:" echo -e "HTTP:"
fi fi
if [ -v httpqueryport ]; then if [ -v httpqueryport ]; then
echo -e "HTTP Query: \t${httpqueryport} \t$(ss -tupl|grep ${httpqueryport}|wc -l) \t$(ss -tupl|grep ${httpqueryport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${httpqueryport}|grep udp|awk '{ print $2 }')" echo -e "HTTP Query: \t${httpqueryport} \t$(ss -tupl | grep -c ${httpqueryport}) \t$(ss -tupl | grep ${httpqueryport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${httpqueryport} | grep udp | awk '{ print $2 }')"
else else
echo -e "HTTP Query:" echo -e "HTTP Query:"
fi fi
if [ -v webadminport ]; then if [ -v webadminport ]; then
echo -e "Web Admin: \t${webadminport} \t$(ss -tupl|grep ${webadminport}|wc -l) \t$(ss -tupl|grep ${webadminport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${webadminport}|grep udp|awk '{ print $2 }')" echo -e "Web Admin: \t${webadminport} \t$(ss -tupl | grep -c ${webadminport}) \t$(ss -tupl | grep ${webadminport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${webadminport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Web Admin:" echo -e "Web Admin:"
fi fi
if [ -v clientport ]; then if [ -v clientport ]; then
echo -e "Client: \t${clientport} \t$(ss -tupl|grep ${clientport}|wc -l) \t$(ss -tupl|grep ${clientport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${clientport}|grep udp|awk '{ print $2 }')" echo -e "Client: \t${clientport} \t$(ss -tupl | grep -c ${clientport}) \t$(ss -tupl | grep ${clientport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${clientport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Client:" echo -e "Client:"
fi fi
if [ -v rconport ]; then if [ -v rconport ]; then
echo -e "RCON: \t${rconport} \t$(ss -tupl|grep ${rconport}|wc -l) \t$(ss -tupl|grep ${rconport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${rconport}|grep udp|awk '{ print $2 }')" echo -e "RCON: \t${rconport} \t$(ss -tupl | grep -c ${rconport}) \t$(ss -tupl | grep ${rconport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${rconport} | grep udp | awk '{ print $2 }')"
else else
echo -e "RCON:" echo -e "RCON:"
fi fi
if [ -v rawport ]; then if [ -v rawport ]; then
echo -e "RAW UDP Socket: \t${rawport} \t$(ss -tupl|grep ${rawport}|wc -l) \t$(ss -tupl|grep ${rawport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${rawport}|grep udp|awk '{ print $2 }')" echo -e "RAW UDP Socket: \t${rawport} \t$(ss -tupl | grep -c ${rawport}) \t$(ss -tupl | grep ${rawport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${rawport} | grep udp | awk '{ print $2 }')"
else else
echo -e "RAW UDP Socket:" echo -e "RAW UDP Socket:"
fi fi
if [ -v masterport ]; then if [ -v masterport ]; then
echo -e "Game: Master: \t${masterport} \t$(ss -tupl|grep ${masterport}|wc -l) \t$(ss -tupl|grep ${masterport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${masterport}|grep udp|awk '{ print $2 }')" echo -e "Game: Master: \t${masterport} \t$(ss -tupl | grep -c ${masterport}) \t$(ss -tupl | grep ${masterport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${masterport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Game: Master:" echo -e "Game: Master:"
fi fi
if [ -v steamport ]; then if [ -v steamport ]; then
echo -e "Steam: \t${steamport} \t$(ss -tupl|grep ${steamport}|wc -l) \t$(ss -tupl|grep ${steamport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${steamport}|grep udp|awk '{ print $2 }')" echo -e "Steam: \t${steamport} \t$(ss -tupl | grep -c ${steamport}) \t$(ss -tupl | grep ${steamport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${steamport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Steam:" echo -e "Steam:"
fi fi
if [ -v steamauthport ]; then if [ -v steamauthport ]; then
echo -e "Steam: Auth: \t${steamauthport} \t$(ss -tupl|grep ${steamauthport}|wc -l) \t$(ss -tupl|grep ${steamauthport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${steamauthport}|grep udp|awk '{ print $2 }')" echo -e "Steam: Auth: \t${steamauthport} \t$(ss -tupl | grep -c ${steamauthport}) \t$(ss -tupl | grep ${steamauthport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${steamauthport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Steam: Auth:" echo -e "Steam: Auth:"
fi fi
if [ -v steammasterport ]; then if [ -v steammasterport ]; then
echo -e "Steam: Master: \t${steammasterport} \t$(ss -tupl|grep ${steammasterport}|wc -l) \t$(ss -tupl|grep ${steammasterport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${steammasterport}|grep udp|awk '{ print $2 }')" echo -e "Steam: Master: \t${steammasterport} \t$(ss -tupl | grep -c ${steammasterport}) \t$(ss -tupl | grep ${steammasterport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${steammasterport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Steam: Master:" echo -e "Steam: Master:"
fi fi
if [ -v steamqueryport ]; then if [ -v steamqueryport ]; then
echo -e "Steam: Query: \t${steamqueryport} \t$(ss -tupl|grep ${steamqueryport}|wc -l) \t$(ss -tupl|grep ${steamqueryport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${steamqueryport}|grep udp|awk '{ print $2 }')" echo -e "Steam: Query: \t${steamqueryport} \t$(ss -tupl | grep -c ${steamqueryport}) \t$(ss -tupl | grep ${steamqueryport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${steamqueryport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Steam: Query:" echo -e "Steam: Query:"
fi fi
if [ -v beaconport ]; then if [ -v beaconport ]; then
echo -e "Beacon: \t${beaconport} \t$(ss -tupl|grep ${beaconport}|wc -l) \t$(ss -tupl|grep ${beaconport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${beaconport}|grep udp|awk '{ print $2 }')" echo -e "Beacon: \t${beaconport} \t$(ss -tupl | grep -c ${beaconport}) \t$(ss -tupl | grep ${beaconport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${beaconport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Beacon:" echo -e "Beacon:"
fi fi
if [ -v appport ]; then if [ -v appport ]; then
echo -e "App: \t${appport} \t$(ss -tupl|grep ${appport}|wc -l) \t$(ss -tupl|grep ${appport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${appport}|grep udp|awk '{ print $2 }')" echo -e "App: \t${appport} \t$(ss -tupl | grep -c ${appport}) \t$(ss -tupl | grep ${appport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${appport} | grep udp | awk '{ print $2 }')"
else else
echo -e "App:" echo -e "App:"
fi fi
if [ -v telnetport ]; then if [ -v telnetport ]; then
echo -e "Telnet: \t${telnetport} \t$(ss -tupl|grep ${telnetport}|wc -l) \t$(ss -tupl|grep ${telnetport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${telnetport}|grep udp|awk '{ print $2 }')" echo -e "Telnet: \t${telnetport} \t$(ss -tupl | grep -c ${telnetport}) \t$(ss -tupl | grep ${telnetport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${telnetport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Telnet:" echo -e "Telnet:"
fi fi
if [ -v sourcetvport ]; then if [ -v sourcetvport ]; then
echo -e "SourceTV: \t${sourcetvport} \t$(ss -tupl|grep ${sourcetvport}|wc -l) \t$(ss -tupl|grep ${sourcetvport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${sourcetvport}|grep udp|awk '{ print $2 }')" echo -e "SourceTV: \t${sourcetvport} \t$(ss -tupl | grep -c ${sourcetvport}) \t$(ss -tupl | grep ${sourcetvport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${sourcetvport} | grep udp | awk '{ print $2 }')"
else else
echo -e "SourceTV:" echo -e "SourceTV:"
fi fi
if [ -v fileport ]; then if [ -v fileport ]; then
echo -e "File: \t${fileport} \t$(ss -tupl|grep ${fileport}|wc -l) \t$(ss -tupl|grep ${fileport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${fileport}|grep udp|awk '{ print $2 }')" echo -e "File: \t${fileport} \t$(ss -tupl | grep -c ${fileport}) \t$(ss -tupl | grep ${fileport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${fileport} | grep udp | awk '{ print $2 }')"
else else
echo -e "File:" echo -e "File:"
fi fi
if [ -v udplinkport ]; then if [ -v udplinkport ]; then
echo -e "UDP Link: \t${udplinkport} \t$(ss -tupl|grep ${udplinkport}|wc -l) \t$(ss -tupl|grep ${udplinkport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${udplinkport}|grep udp|awk '{ print $2 }')" echo -e "UDP Link: \t${udplinkport} \t$(ss -tupl | grep -c ${udplinkport}) \t$(ss -tupl | grep ${udplinkport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${udplinkport} | grep udp | awk '{ print $2 }')"
else else
echo -e "UDP Link:" echo -e "UDP Link:"
fi fi
if [ -v voiceport ]; then if [ -v voiceport ]; then
echo -e "Voice: \t${voiceport} \t$(ss -tupl|grep ${voiceport}|wc -l) \t$(ss -tupl|grep ${voiceport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${voiceport}|grep udp|awk '{ print $2 }')" echo -e "Voice: \t${voiceport} \t$(ss -tupl | grep -c ${voiceport}) \t$(ss -tupl | grep ${voiceport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${voiceport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Voice:" echo -e "Voice:"
fi fi
if [ -v voiceunusedport ]; then if [ -v voiceunusedport ]; then
echo -e "Voice (Unused): \t${voiceunusedport} \t$(ss -tupl|grep ${voiceunusedport}|wc -l) \t$(ss -tupl|grep ${voiceunusedport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${voiceunusedport}|grep udp|awk '{ print $2 }')" echo -e "Voice (Unused): \t${voiceunusedport} \t$(ss -tupl | grep -c ${voiceunusedport}) \t$(ss -tupl | grep ${voiceunusedport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${voiceunusedport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Voice (Unused):" echo -e "Voice (Unused):"
fi fi
if [ -v battleeyeport ]; then if [ -v battleeyeport ]; then
echo -e "BattleEye: \t${battleeyeport} \t$(ss -tupl|grep ${battleeyeport}|wc -l) \t$(ss -tupl|grep ${battleeyeport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${battleeyeport}|grep udp|awk '{ print $2 }')" echo -e "BattleEye: \t${battleeyeport} \t$(ss -tupl | grep -c ${battleeyeport}) \t$(ss -tupl | grep ${battleeyeport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${battleeyeport} | grep udp | awk '{ print $2 }')"
else else
echo -e "BattleEye:" echo -e "BattleEye:"
fi fi
if [ -v statsport ]; then if [ -v statsport ]; then
echo -e "Stats: \t${battleeyeport} \t$(ss -tupl|grep ${statsport}|wc -l) \t$(ss -tupl|grep ${statsport}|grep tcp|awk '{ print $2 }') \t$(ss -tupl|grep ${statsport}|grep udp|awk '{ print $2 }')" echo -e "Stats: \t${battleeyeport} \t$(ss -tupl | grep -c ${statsport}) \t$(ss -tupl | grep ${statsport} | grep tcp | awk '{ print $2 }') \t$(ss -tupl | grep ${statsport} | grep udp | awk '{ print $2 }')"
else else
echo -e "Stats:" echo -e "Stats:"
fi fi

19
lgsm/functions/command_fastdl.sh

@ -68,7 +68,7 @@ fn_clear_old_fastdl(){
# Clearing old FastDL. # Clearing old FastDL.
if [ -d "${fastdldir}" ]; then if [ -d "${fastdldir}" ]; then
echo -en "clearing existing FastDL directory ${fastdldir}..." echo -en "clearing existing FastDL directory ${fastdldir}..."
rm -fR "${fastdldir:?}" rm -rf "${fastdldir:?}"
exitcode=$? exitcode=$?
if [ "${exitcode}" != 0 ]; then if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl fn_print_fail_eol_nl
@ -158,7 +158,8 @@ fn_fastdl_preview(){
tput sc tput sc
while read -r ext; do while read -r ext; do
((fileswc++)) ((fileswc++))
tput rc; tput el tput rc
tput el
echo -e "gathering ${allowed_extention} : ${fileswc}..." echo -e "gathering ${allowed_extention} : ${fileswc}..."
echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt" echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt"
done < <(find . -type f -iname "${allowed_extention}") done < <(find . -type f -iname "${allowed_extention}")
@ -189,11 +190,13 @@ fn_fastdl_preview(){
tput sc tput sc
while read -r ext; do while read -r ext; do
((fileswc++)) ((fileswc++))
tput rc; tput el tput rc
tput el
echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..." echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..."
echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt" echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt"
done < <(find "${systemdir}/${directory}" -type f -iname "${allowed_extention}") done < <(find "${systemdir}/${directory}" -type f -iname "${allowed_extention}")
tput rc; tput el tput rc
tput el
echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..." echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..."
if [ ${fileswc} != 0 ]; then if [ ${fileswc} != 0 ]; then
fn_print_ok_eol_nl fn_print_ok_eol_nl
@ -241,7 +244,8 @@ fn_fastdl_gmod(){
tput sc tput sc
while read -r fastdlfile; do while read -r fastdlfile; do
((fileswc++)) ((fileswc++))
tput rc; tput el tput rc
tput el
echo -e "copying ${allowed_extention} : ${fileswc}..." echo -e "copying ${allowed_extention} : ${fileswc}..."
cp --parents "${fastdlfile}" "${fastdldir}" cp --parents "${fastdlfile}" "${fastdldir}"
exitcode=$? exitcode=$?
@ -273,7 +277,7 @@ fn_fastdl_gmod(){
# Clear addons directory in fastdl. # Clear addons directory in fastdl.
echo -en "clearing addons dir from fastdl dir..." echo -en "clearing addons dir from fastdl dir..."
fn_sleep_time fn_sleep_time
rm -fR "${fastdldir:?}/addons" rm -rf "${fastdldir:?}/addons"
exitcode=$? exitcode=$?
if [ "${exitcode}" != 0 ]; then if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl fn_print_fail_eol_nl
@ -328,7 +332,8 @@ fn_fastdl_source(){
tput sc tput sc
while read -r fastdlfile; do while read -r fastdlfile; do
((fileswc++)) ((fileswc++))
tput rc; tput el tput rc
tput el
echo -e "copying ${directory} ${allowed_extention} : ${fileswc}..." echo -e "copying ${directory} ${allowed_extention} : ${fileswc}..."
fn_sleep_time fn_sleep_time
# get relative path of file in the dir # get relative path of file in the dir

2
lgsm/functions/command_install.sh

@ -11,7 +11,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_firstcommand_set fn_firstcommand_set
check.sh check.sh
if [ "$(whoami)" = "root" ]; then if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then
check_deps.sh check_deps.sh
else else
install_header.sh install_header.sh

4
lgsm/functions/command_install_resources_mta.sh

@ -12,7 +12,7 @@ fn_firstcommand_set
fn_install_resources() { fn_install_resources() {
echo -e "" echo -e ""
echo -e "Installing Default Resources" echo -e "${lightyellow}Installing Default Resources${default}"
echo -e "=================================" echo -e "================================="
fn_fetch_file "http://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip" "" "" "" "${tmpdir}" "mtasa-resources-latest.zip" "nochmodx" "norun" "noforce" "nohash" fn_fetch_file "http://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip" "" "" "" "${tmpdir}" "mtasa-resources-latest.zip" "nochmodx" "norun" "noforce" "nohash"
fn_dl_extract "${tmpdir}" "mtasa-resources-latest.zip" "${resourcesdir}" fn_dl_extract "${tmpdir}" "mtasa-resources-latest.zip" "${resourcesdir}"
@ -30,5 +30,3 @@ else
fn_print_warning_nl "Default resources are not installed when using ./${selfname} auto-install." fn_print_warning_nl "Default resources are not installed when using ./${selfname} auto-install."
fn_print_information_nl "To install default resources use ./${selfname} install" fn_print_information_nl "To install default resources use ./${selfname} install"
fi fi
core_exit.sh

10
lgsm/functions/command_mods_install.sh

@ -100,11 +100,11 @@ if [ "${modcommand}" == "amxmodx" ]; then
fn_mod_exist "metamod" fn_mod_exist "metamod"
fi fi
if [ "${modcommand}" == "amxmodxcs" ] || if [ "${modcommand}" == "amxmodxcs" ] \
[ "${modcommand}" == "amxmodxdod" ] || || [ "${modcommand}" == "amxmodxdod" ] \
[ "${modcommand}" == "amxmodxtfc" ] || || [ "${modcommand}" == "amxmodxtfc" ] \
[ "${modcommand}" == "amxmodxns" ] || || [ "${modcommand}" == "amxmodxns" ] \
[ "${modcommand}" == "amxmodxts" ]; then || [ "${modcommand}" == "amxmodxts" ]; then
fn_mod_exist "amxmodx" fn_mod_exist "amxmodx"
fi fi

3
lgsm/functions/command_mods_remove.sh

@ -78,7 +78,8 @@ while [ "${modfileline}" -le "${modsfilelistsize}" ]; do
fn_script_log_pass "Removing ${modinstalldir}/${currentfileremove}" fn_script_log_pass "Removing ${modinstalldir}/${currentfileremove}"
fi fi
fi fi
tput rc; tput el tput rc
tput el
echo -e "removing ${modprettyname} ${modfileline} / ${modsfilelistsize} : ${currentfileremove}..." echo -e "removing ${modprettyname} ${modfileline} / ${modsfilelistsize} : ${currentfileremove}..."
((modfileline++)) ((modfileline++))
done done

4
lgsm/functions/command_mods_update.sh

@ -27,8 +27,8 @@ fn_remove_cfg_files(){
filetopreserve=$(echo -e "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }') filetopreserve=$(echo -e "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }')
echo -e " * serverfiles/${filetopreserve}" echo -e " * serverfiles/${filetopreserve}"
# If it matches an existing file that have been extracted delete the file. # If it matches an existing file that have been extracted delete the file.
if [ -f "${extractdir}/${filetopreserve}" ]||[ -d "${extractdir}/${filetopreserve}" ]; then if [ -f "${extractdest}/${filetopreserve}" ] || [ -d "${extractdest}/${filetopreserve}" ]; then
rm -r "${extractdir:?}/${filetopreserve}" rm -r "${extractdest:?}/${filetopreserve}"
# Write the file path in a tmp file, to rebuild a full file list as it is rebuilt upon update. # Write the file path in a tmp file, to rebuild a full file list as it is rebuilt upon update.
if [ ! -f "${modsdir}/.removedfiles.tmp" ]; then if [ ! -f "${modsdir}/.removedfiles.tmp" ]; then
touch "${modsdir}/.removedfiles.tmp" touch "${modsdir}/.removedfiles.tmp"

3
lgsm/functions/command_postdetails.sh

@ -34,8 +34,7 @@ else
info_game.sh info_game.sh
info_distro.sh info_distro.sh
info_messages.sh info_messages.sh
for queryip in "${queryips[@]}" for queryip in "${queryips[@]}"; do
do
query_gamedig.sh query_gamedig.sh
if [ "${querystatus}" == "0" ]; then if [ "${querystatus}" == "0" ]; then
break break

5
lgsm/functions/command_start.sh

@ -150,8 +150,7 @@ fn_start_tmux(){
cat "${lgsmlogdir}/.${selfname}-tmux-error.tmp" | tee -a "${lgsmlog}" cat "${lgsmlogdir}/.${selfname}-tmux-error.tmp" | tee -a "${lgsmlog}"
# Detected error https://linuxgsm.com/support # Detected error https://linuxgsm.com/support
if grep -c "Operation not permitted" "${lgsmlogdir}/.${selfname}-tmux-error.tmp" if grep -c "Operation not permitted" "${lgsmlogdir}/.${selfname}-tmux-error.tmp"; then
then
echo -e "" echo -e ""
echo -e "Fix" echo -e "Fix"
echo -e "=================================" echo -e "================================="
@ -182,7 +181,7 @@ fn_start_tmux(){
fn_print_ok "${servername}" fn_print_ok "${servername}"
fn_script_log_pass "Started ${servername}" fn_script_log_pass "Started ${servername}"
fi fi
rm "${lgsmlogdir:?}/.${selfname}-tmux-error.tmp" 2>/dev/null rm -f "${lgsmlogdir:?}/.${selfname}-tmux-error.tmp" 2> /dev/null
echo -en "\n" echo -en "\n"
} }

2
lgsm/functions/command_stop.sh

@ -231,6 +231,8 @@ fn_stop_graceful_select(){
fn_stop_graceful_avorion fn_stop_graceful_avorion
elif [ "${stopmode}" == "11" ]; then elif [ "${stopmode}" == "11" ]; then
fn_stop_graceful_cmd "end" 30 fn_stop_graceful_cmd "end" 30
elif [ "${stopmode}" == "12" ]; then
fn_stop_graceful_cmd "shutdown" 30
fi fi
} }

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

Loading…
Cancel
Save