diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md deleted file mode 100644 index f0b071753..000000000 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ /dev/null @@ -1,50 +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 diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..f0837b108 --- /dev/null +++ b/.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 diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..d2113c6ca --- /dev/null +++ b/.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 diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md deleted file mode 100644 index 992178f07..000000000 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ /dev/null @@ -1,43 +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. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..fb06052ac --- /dev/null +++ b/.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 diff --git a/.github/ISSUE_TEMPLATE/new-server-request.md b/.github/ISSUE_TEMPLATE/new-server-request.md deleted file mode 100644 index bedc4f506..000000000 --- a/.github/ISSUE_TEMPLATE/new-server-request.md +++ /dev/null @@ -1,31 +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 diff --git a/.github/ISSUE_TEMPLATE/server_request.yml b/.github/ISSUE_TEMPLATE/server_request.yml new file mode 100644 index 000000000..31dbc6b81 --- /dev/null +++ b/.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 diff --git a/.github/labeler.yml b/.github/labeler.yml index 0ceeeae72..1ec662f2b 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,53 +1,45 @@ -# 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": - "/(backup)/i" "command: console": - "/(console|tmux)/i" "command: debug": - - "/(debug)/i" + - "/(command: debug)/i" "command: details": - - "/(details)/i" + - "/(command: details)/i" "command: fast-dl": - "/(fast-dl|fastdl)/i" "command: install": - "/(install)/i" "command: mods": - - "/(mods)/i" + - "/(command: mods)/i" "command: monitor": - - "/(monitor)/i" + - "/(command: monitor)/i" "command: post-details": - - "/(post-details)/i" + - "/(command: post-details)/i" "command: restart": - - "/(restart)/i" + - "/(command: restart)/i" "command: send": - - "/(send)/i" + - "/(command: send)/i" "command: skeleton": - - "/(skeleton)/i" + - "/(command: skeleton)/i" "command: start": - - "/(start)/i" + - "/(command: start)/i" "command: stop": - - "/(stop)/i" + - "/(command: stop)/i" "command: update-lgsm": - "/(update-lgsm)/i" "command: update": - - "/(update)/i" + - "/(command: update)/i" "command: validate": - "/(validate)/i" "command: wipe": - "/(wipe)/i" + # Distros "distro: AlmaLinux": - "/(Alma)/i" "distro: Arch Linux": - - "/(Arch)/i" + - "/(Arch Linux)/i" "distro: CentOS": - "/(CentOS)/i" "distro: Debian": @@ -62,6 +54,81 @@ - "/(Slackware)/i" "distro: Ubuntu": - "/(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 1944": + - "/(Battalion 1944)/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: alerts": - "/(alert)/i" @@ -70,7 +137,7 @@ "info: docker": - "/(docker)/i" "info: docs": - - "/(documentation|docs)/i" + - "/(documentation|^docs$)/i" "info: email": - "/(postfix|sendmail|exim|smtp)/i" "info: query": @@ -83,16 +150,11 @@ - "/(tmux)/i" "info: website": - "/(website)/i" -# Games -"game: Ark: Survival Evolved": - - "/(Ark: Survival Evolved|Ark)/i" -"game: ARMA 3": - - "/(ARMA 3)/i" -"game: Assetto Corsa": - - "/(Assetto Corsa)/i" -"game: Avorion": - - "/(Avorion)/i" -"game: Ballistic Overkill": - - "/(Ballistic Overkill)/i" -"game: Barotrauma": - - "/(Barotrauma)/i" + +# Type +"type: game server request": + - "/(Server Request)/i" +"type: bug": + - "/(bug)/i" +"type: feature request": + - "/(feature)/i" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a0c40a150..4e6d08327 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -7,7 +7,7 @@ Fixes #[issue] ## Type of change - [ ] 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). - [ ] Refactor (restructures existing code). - [ ] Comment update (typo, spelling, explanation, examples, etc). @@ -18,12 +18,12 @@ PR will not be merged until all steps are complete. - [ ] This pull request links to an issue. - [ ] This pull request uses the `develop` branch as its base. -- [ ] This pull request Subject follows the Conventional Commits standard. +- [ ] This pull request subject follows the Conventional Commits standard. - [ ] This code follows the style guidelines of this project. - [ ] I have performed a self-review of my code. - [ ] I have checked that this code is commented where required. -- [ ] I have provided a detailed with enough description of this PR. -- [ ] I have checked If documentation needs updating. +- [ ] I have provided a detailed enough description of this PR. +- [ ] I have checked if documentation needs updating. ## Documentation diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml deleted file mode 100644 index e7ff81388..000000000 --- a/.github/workflows/create-release.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Release Drafter - -on: - push: - # branches to consider in the event; optional, defaults to all - branches: - - master -permissions: - contents: read - -jobs: - update_release_draft: - permissions: - contents: write # for release-drafter/release-drafter to create a github release - pull-requests: write # for release-drafter/release-drafter to add label to PR - runs-on: ubuntu-latest - steps: - # Drafts your next Release notes as Pull Requests are merged into "master" - - uses: release-drafter/release-drafter@v5.20.1 - with: - config-name: release-drafter.yml - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/git-sync.yml b/.github/workflows/git-sync.yml index b43996dc6..f07d1f3b4 100644 --- a/.github/workflows/git-sync.yml +++ b/.github/workflows/git-sync.yml @@ -10,8 +10,8 @@ jobs: GitHub-to-Bitbucket: runs-on: ubuntu-latest steps: - - name: webfactory/ssh-agent@v0.5.4 - uses: webfactory/ssh-agent@v0.5.4 + - name: webfactory/ssh-agent@v0.7.0 + uses: webfactory/ssh-agent@v0.7.0 with: ssh-private-key: ${{ secrets.BITBUCKET_SECRET }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 7526d2ce6..b5bb38498 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -2,6 +2,8 @@ name: "Issue Labeler" on: issues: types: [opened, edited] + pull_request: + types: [opened, edited] permissions: contents: read @@ -13,9 +15,10 @@ jobs: issues: write # for github/issue-labeler to create or remove labels runs-on: ubuntu-latest steps: - - uses: github/issue-labeler@v2.5 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" - configuration-path: .github/labeler.yml - not-before: - enable-versioned-regex: 0 + - uses: github/issue-labeler@v2.5 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + configuration-path: .github/labeler.yml + not-before: + enable-versioned-regex: 0 + include-title: 1 diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml deleted file mode 100644 index 7f34c51b6..000000000 --- a/.github/workflows/linter.yml +++ /dev/null @@ -1,55 +0,0 @@ ---- -################################# -################################# -## Super Linter GitHub Actions ## -################################# -################################# -name: Lint Code Base - -# -# Documentation: -# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions -# - -############################# -# Start the job on all push # -############################# -on: - push: - branches-ignore: [master, main] - # Remove the line above to run when pushing to master - pull_request: - -############### -# Set the Job # -############### -jobs: - build: - # Name the Job - name: Lint Code Base - # Set the agent to run on - runs-on: ubuntu-latest - - ################## - # Load all steps # - ################## - steps: - ########################## - # Checkout the code base # - ########################## - - name: Checkout Code - uses: actions/checkout@v2 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - ################################ - # Run Linter against code base # - ################################ - - name: Lint Code Base - uses: github/super-linter@v4 - env: - VALIDATE_ALL_CODEBASE: false - # Change to 'master' if your main branch differs - DEFAULT_BRANCH: main - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 320b851a1..774f84364 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -14,7 +14,7 @@ jobs: pull-requests: write # for dessant/lock-threads to lock PRs runs-on: ubuntu-latest steps: - - uses: dessant/lock-threads@v3 + - uses: dessant/lock-threads@v4 with: github-token: ${{ secrets.GITHUB_TOKEN }} issue-comment: > diff --git a/.github/workflows/potential-duplicates.yml b/.github/workflows/potential-duplicates.yml index 47356dba8..f1e783674 100644 --- a/.github/workflows/potential-duplicates.yml +++ b/.github/workflows/potential-duplicates.yml @@ -20,7 +20,7 @@ jobs: # Get issues with state to compare. Supported state: 'all', 'closed', 'open'. state: all # 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. # Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes" #reactions: 'eyes, confused' diff --git a/.github/workflows/trigger-docker-build.yml b/.github/workflows/trigger-docker-build.yml new file mode 100644 index 000000000..adb43343f --- /dev/null +++ b/.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/trigger-workflow-and-wait@v1.3.0 + 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/trigger-workflow-and-wait@v1.3.0 + with: + owner: GameServerManagers + repo: docker-gameserver + github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + workflow_file_name: docker-publish.yml diff --git a/.github/workflows/update-copyright-years-in-license-file.yml b/.github/workflows/update-copyright-years-in-license-file.yml index 01af6dd3c..347446d75 100644 --- a/.github/workflows/update-copyright-years-in-license-file.yml +++ b/.github/workflows/update-copyright-years-in-license-file.yml @@ -2,6 +2,7 @@ name: Update copyright year(s) in license file on: + workflow_dispatch: schedule: - cron: "0 3 1 1 *" # 03:00 AM on January 1 @@ -15,3 +16,9 @@ jobs: - 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 diff --git a/.github/workflows/version-check.sh b/.github/workflows/version-check.sh index f470fd02b..4e7280509 100644 --- a/.github/workflows/version-check.sh +++ b/.github/workflows/version-check.sh @@ -1,3 +1,4 @@ +#!/bin/bash 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 '="') diff --git a/LICENSE b/LICENSE.md similarity index 96% rename from LICENSE rename to LICENSE.md index 88c1caac5..12352eafa 100644 --- a/LICENSE +++ b/LICENSE.md @@ -1,6 +1,6 @@ # The MIT License (MIT) -Copyright (c) 2012-2022 Daniel Gibbs +Copyright (c) 2012-2023 Daniel Gibbs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 70f3b9365..f0a9713cf 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ -

-
- LinuxGSM -

- -[![LinuxGSM](https://img.shields.io/badge/-LinuxGSM-2b2b2b.svg?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACsAAABACAYAAACDbo5ZAAAGD0lEQVR4AcWYa2wUVRvHz75c2vJ2disXoUBEVIioRAx%2BMIFA1IRwUS6KCCiIKBrvhEYiiGm5iBgk8QOGEgUUDYTttmVZWFr2UmwURS6iYAoCtmisElSsdHdbkT7%2BTzoNy%2BGc2dm54C%2F5Rdkz85x%2FZ86ZOXOYXYhIg3Phx%2FA4PAcv6f%2Btg5vhHJjP3EcZsgsshufJHH%2FAJbDztQ7aG35J1vgCXn%2BtgvrgEbLHYei9FmE3kDOUuh10OGwjZ7gEh7kZ9gNyllK3gnrg7%2BQs56DHjbCDyB0GuRF2ArnDeDfCziF3mO1G2FfJHRa4EXYpuUOxG2GXkzuUuBH2TXKH5W6ELSV3eM%2BNsOUk5yQcAY8p2uvgSPitor3MjbB1UOQXOFBvHwpbhPYWOExvL4SNUOQ7p4P2JTlzhOPmCu0vCu1PQpE2WOhk2MdJjk9y7HNwP1wEPUJbAcmZ6WTYrYolnifbxZBiibnFySHQCkUaLdY7C0V4%2FT5OhF1JcuIW6%2B0lOcvsBi2Ezao3j8Ov7Quwj52w60jNKIs1R5GatVaDDoEXSU4D7GSxbidYT3IuwjusFK0mNUVMwaZNNbl%2B%2F87hoVCom0HthaQmnG3QB0lNPcxlCvz%2B0GtlZTuorCxYYlA%2FDzbY%2FnrAgV3hCVLzCDMgEAi9wMMi9IIM%2FUwnNXWwi5mwRaSmmmXA798xq%2F3Khp420VeE1LyS6eQeBhttSXgzywCCToIUCOyYZvKLOWWwkdfd6ORVpGYJM0F5efDe9mEQHGty2BWTmhVGO4PNBmOoKzMBxmo%2FhD25dWvljSbD5hjMkb9gT9lJq63Mzi1bKkbjloc7xBWtwiRrDASCVRi%2FRxA8if%2BvrawMTzYI%2FACpeUv2KFFtDcUyTKilCHcis8G1Ga7wHpLzG8wVFs1K7jaeUKHZfIxmkj9%2FM4S9x9RGiMEudo0QbCVu9Xqn5PWEwLUk5%2FP0iaXac53I0kAH9Sau4m54lo%2FdTMfyekLYKQZ7ub34AbMMlmw5irC2VYTN0fuVMYMf8JHxJ7L7YYXAlSRnI2%2F8RtH4siTsDMz%2BZ5yS15OEXUxyDjGD1%2BvEq8MG16CDzY6JepKwT6geYbzxb0XjGMl7vwGSgzZIwo4nOa1M8Yr9Afb%2Fj8L21%2FsXaeaNZ2A6KTiEASph%2F0vF80cn4tokqu79fzfCUk2vfF4%2FFdFGEjGPHvg2yWrsDG%2F4%2BqpZB8jPOiXjWk0y5iXdM3XhKUvxBTA9UvHuvNPh%2Bzb%2BWj10z6nwuHWBbQFMvNCjKnn7qd1jS%2Fnx9VX3b6jC%2BbwOr5eMe3%2B83IcW4%2F3qgT%2BUTbA9srGaiHsn8AKiF6Ld%2FxF%2FOx6eeAJXabvK78MTTornNMd6XJTVR7%2Fj9bBjhFxV%2FMc1kJOAy2AeA%2FgrV4mFVDZFCqm8rEJ6qysCAWqK9iaztRJRbWXa4moFTELOav7jY%2FqAvoXp0Gc9NX7bIZl17%2FZl0rC1wRLeno0NvP%2B0CTcYNnS8wW6CtzNANaxzKqo9hRNOQ8rGo7tmSsMe2zWdt2frqVRcm5s2fofCgawDNHRNxnyfqgsYez4y4ADCjRM9H73hsNWafILTQdaFiSTj%2BQ%2FxA6yH7d%2BCmR8XbYr0a7VTF2N4siSsb5qdos3R6%2FjGxpULFfw7EfORnbrI9TAToX0sD40%2F2ylcGdh2Rdhg%2BSf2gka9jRTqK9%2BGwgHz7RTfVbHxirDhivdthYUvMRX8aYAD9lstvi%2B0aDL2DUZ0eCBUNNVG0IP65FLTWqPdiqdC0koHTVXe7iyNRG23QotBEy1RbTAzQyrmnYUT2rLsoA13JpcB4eVC2daBM1g2JGLekmwf5On7EJfngfZTNnVSce8bFjaTmQdvs%2FXmO%2FJVpoXdx3RSUe9O00Fj3nUdy0RLgRHiHXOPGW1h2uKZ07c9rG%2Bxyefp23pQeyBIEQoavYlakrG8fnrY5yHn2fbxXzAgw7m8bT5zkkSk4C7cpmOK21esB%2FXAQ5DzFfTo43%2BF%2FDzf0eZ4wZ3MDSjMcvD6nIeOahGgia%2FyU3HforTPkWkwnakdn0cI9jqfbPjD%2FuQLJr6644snlgX%2FApOMoyd1R5%2FxAAAAAElFTkSuQmCC)](https://linuxgsm.com) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/d19c5234dc3743d8a8a14093711ca52d)](https://www.codacy.com/gh/GameServerManagers/LinuxGSM/dashboard?utm_source=github.com&utm_medium=referral&utm_content=GameServerManagers/LinuxGSM&utm_campaign=Badge_Grade) [![Backup Repo](https://github.com/GameServerManagers/LinuxGSM/workflows/Backup%20Repo/badge.svg)](https://bitbucket.org/GameServerManagers/linuxgsm) [![Discord](https://discordapp.com/api/guilds/127498813903601664/widget.png?style=shield)](https://linuxgsm.com/discord) [![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE) [![made-with-bash](https://img.shields.io/badge/-Made%20with%20Bash-1f425f.svg?logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D)](https://www.gnu.org/software/bash/) +

+ LinuxGSM + Codacy grade + GitHub Workflow Status + Discord + SteamCMD + MIT License +

[LinuxGSM](https://linuxgsm.com) is the command-line tool for quick, simple deployment and management of Linux dedicated game servers. diff --git a/lgsm/config-default/config-lgsm/atsserver/_default.cfg b/lgsm/config-default/config-lgsm/atsserver/_default.cfg new file mode 100644 index 000000000..c6e338d34 --- /dev/null +++ b/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@example.com" +emailfrom="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailgunapiregion="us" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" +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" diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg index ae82d2a94..30ba7b8c5 100644 --- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg @@ -10,17 +10,27 @@ ## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters # 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) -# Arms Race 1 0 mg_armsrace -# Classic Casual 0 0 mg_casualsigma, mg_casualdelta -# Classic Competitive 0 1 mg_active, mg_reserves, mg_hostage, mg_de_dust2 -# Custom 3 0 -# Deathmatch 1 2 mg_deathmatch -# Demolition 1 1 mg_demolition -# Wingman 0 2 -# Danger Zone 6 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco) +# [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 0 0 mg_armsrace +# Boom! Headshot! 1 2 0 6 mg_skirmish_headshots +# Classic Casual 0 0 0 0 mg_casualsigma, mg_casualdelta +# Classic Competitive (Default) 0 1 0 0 mg_active, mg_reserves, mg_hostage, mg_de_dust2, ... +# Classic Competitive (Short Match) 0 1 32 0 mg_active, mg_reserves, mg_hostage, mg_de_dust2, ... +# Danger Zone 6 0 0 0 mg_dz_blacksite (map: dz_blacksite), mg_dz_sirocco (map: dz_sirocco) +# Deathmatch (Default) 1 2 0 0 mg_deathmatch +# 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" gamemode="0" +gamemodeflags="0" +skirmishid="0" mapgroup="mg_active" ip="0.0.0.0" port="27015" @@ -43,7 +53,7 @@ wscollectionid="" wsstartmap="" ## 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 #### diff --git a/lgsm/config-default/config-lgsm/ets2server/_default.cfg b/lgsm/config-default/config-lgsm/ets2server/_default.cfg new file mode 100644 index 000000000..2d0176133 --- /dev/null +++ b/lgsm/config-default/config-lgsm/ets2server/_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@example.com" +emailfrom="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailgunapiregion="us" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" +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="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 +# 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="Euro Truck Simulator 2" +engine="prism3d" +glibc="2.15" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}" +executabledir="${systemdir}/bin/linux_x64" +executable="./eurotrucks2_server" +servercfgdir="${HOME}/.local/share/Euro Truck Simulator 2" +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" diff --git a/lgsm/config-default/config-lgsm/necserver/_default.cfg b/lgsm/config-default/config-lgsm/necserver/_default.cfg new file mode 100644 index 000000000..af49cb3e2 --- /dev/null +++ b/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@example.com" +emailfrom="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailgunapiregion="us" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" +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" diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg index 7be5cd21d..d43a15152 100644 --- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg @@ -13,6 +13,7 @@ ip="0.0.0.0" port="28015" rconport="28016" appport=28082 +queryport=28017 rconpassword="CHANGE_ME" rconweb="1" # Value is: 1 for the Facepunch web panel, Rustadmin desktop and Rustadmin Online; 0 for RCON tools like Rusty. servername="Rust" @@ -27,7 +28,7 @@ saveinterval="300" # Auto-save in seconds. tickrate="30" # default: 30, range: 15-100. ## 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 #### diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg index 89babe324..85f13614d 100644 --- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg @@ -16,9 +16,17 @@ port="2456" gameworld="${selfname}" public="1" 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 -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 #### diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index f4571760b..13a558282 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -6,6 +6,7 @@ ahl2 ark arma3 armar,libcurl,openssl-libs +ats av bb bb2,libcurl.i686 @@ -15,7 +16,7 @@ bfv,compat-libstdc++-33.i686,glibc.i686 bmdm,ncurses-libs.i686 bo bs -bt,libicu +bt,libicu,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,ncurses-libs.i686 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -69,6 +71,7 @@ mom mta,ncurses-compat-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -96,8 +99,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv new file mode 100644 index 000000000..d14f52f44 --- /dev/null +++ b/lgsm/data/almalinux-9.csv @@ -0,0 +1,131 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,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 +bt1944 +cc +cd +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-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta,ncurses-compat-libs +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-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-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index fffe52fe3..847877d88 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -6,6 +6,7 @@ ahl2 ark arma3 armar,libcurl,openssl11-libs +ats av bb bb2,libcurl.i686 @@ -15,7 +16,7 @@ bfv,compat-libstdc++-33.i686,glibc.i686 bmdm,ncurses-libs.i686 bo bs -bt,libicu +bt,libicu,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,ncurses-libs.i686 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -69,6 +71,7 @@ mom mta,ncurses-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -96,8 +99,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -118,8 +121,8 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index 4ee70e11a..d9e13a271 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -6,6 +6,7 @@ ahl2 ark arma3 armar,libcurl,openssl-libs +ats av bb bb2,libcurl.i686 @@ -15,7 +16,7 @@ bfv,compat-libstdc++-33.i686,glibc.i686 bmdm,ncurses-libs.i686 bo bs -bt,libicu +bt,libicu,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,ncurses-libs.i686 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -69,6 +71,7 @@ mom mta,ncurses-compat-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -96,8 +99,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -117,9 +120,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv new file mode 100644 index 000000000..f60a925ce --- /dev/null +++ b/lgsm/data/centos-9.csv @@ -0,0 +1,130 @@ +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 +bt1944 +cc +cd +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-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta,ncurses-compat-libs +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-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 +sven +terraria +tf2,libcurl.i686 +tfc +ti +ts +ts3 +tu +tw +unt +ut +ut2k4 +ut3 +ut99 +vh,glibc-devel +vints,mono-complete +vpmc,java-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index 50ab57355..499846c75 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-11-jre mcb mh @@ -69,11 +71,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-11-jre @@ -96,8 +99,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-11-jre diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 3e8b706aa..1e488fc15 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -69,11 +71,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-17-jre @@ -96,8 +99,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index f9834ea58..e71e99c96 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-8-jre mcb mh @@ -69,11 +71,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-8-jre @@ -96,8 +99,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -118,8 +121,8 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete +vs wet wf wmc,openjdk-8-jre diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index c28406730..c9a885f2b 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -6,6 +6,7 @@ ahl2 ark arma3 armar,libcurl,openssl11-libs +ats av bb bb2,libcurl.i686 @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,ncurses-libs.i686 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -69,6 +71,7 @@ mom mta mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -96,8 +99,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index de93439fc..8280391e1 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -6,6 +6,7 @@ ahl2 ark arma3 armar,libcurl,openssl-libs +ats av bb bb2,libcurl.i686 @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,ncurses-libs.i686 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -69,6 +71,7 @@ mom mta mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -96,8 +99,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv new file mode 100644 index 000000000..f074b5863 --- /dev/null +++ b/lgsm/data/rhel-9.csv @@ -0,0 +1,131 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,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 +bt1944 +cc +cd +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-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-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-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index f4571760b..13a558282 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -6,6 +6,7 @@ ahl2 ark arma3 armar,libcurl,openssl-libs +ats av bb bb2,libcurl.i686 @@ -15,7 +16,7 @@ bfv,compat-libstdc++-33.i686,glibc.i686 bmdm,ncurses-libs.i686 bo bs -bt,libicu +bt,libicu,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,ncurses-libs.i686 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,java-11-openjdk mcb,libnsl mh @@ -69,6 +71,7 @@ mom mta,ncurses-compat-libs mumble nd +nec nmrih,ncurses-libs.i686 ns ns2,speex,tbb @@ -96,8 +99,8 @@ sbots scpsl scpslsm sdtd,telnet,expect -sfc,ncurses-libs.i686 sf +sfc,ncurses-libs.i686 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,glibc-devel -vs vints,mono-complete vpmc,java-11-openjdk +vs wet wf wmc,java-11-openjdk diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv new file mode 100644 index 000000000..d14f52f44 --- /dev/null +++ b/lgsm/data/rocky-9.csv @@ -0,0 +1,131 @@ +all,bc,binutils,bzip2,cpio,curl,epel-release,file,glibc.i686,gzip,hostname,jq,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 +bt1944 +cc +cd +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-11-openjdk +mcb,libnsl +mh +mohaa,compat-libstdc++-33.i686 +mom +mta,ncurses-compat-libs +mumble +nd +nec +nmrih,ncurses-libs.i686 +ns +ns2,speex,tbb +ns2c,speex.i686,tbb.i686 +onset,mariadb-connector-c +opfor +pc +pmc,java-11-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-11-openjdk +vs +wet +wf +wmc,java-11-openjdk +wurm,xorg-x11-server-Xvfb +zmr,ncurses-libs.i686 +zps,ncurses-libs.i686 diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 6983df4e2..5c9a6d97a 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -1,128 +1,132 @@ -ac,acserver,Assetto Corsa -ahl,ahlserver,Action Half-Life -ahl2,ahl2server,Action: Source -ark,arkserver,ARK: Survival Evolved -arma3,arma3server,ARMA 3 -armar,armarserver,Arma Reforger -av,avserver,Avorion -bb,bbserver,BrainBread -bb2,bb2server,BrainBread 2 -bd,bdserver,Base Defense -bf1942,bf1942server,Battlefield 1942 -bfv,bfvserver,Battlefield: Vietnam -bmdm,bmdmserver,Black Mesa: Deathmatch -bo,boserver,Ballistic Overkill -bs,bsserver,Blade Symphony -bt,btserver,Barotrauma -bt1944,bt1944server,Battalion 1944 -cc,ccserver,Codename CURE -cd,cdserver,Crafting Dead -ck,ckserver,Core Keeper -cmw,cmwserver,Chivalry: Medieval Warfare -cod,codserver,Call of Duty -cod2,cod2server,Call of Duty 2 -cod4,cod4server,Call of Duty 4 -coduo,coduoserver,Call of Duty: United Offensive -codwaw,codwawserver,Call of Duty: World at War -col,colserver,Colony Survival -cs,csserver,Counter-Strike 1.6 -cscz,csczserver,Counter-Strike: Condition Zero -csgo,csgoserver,Counter-Strike: Global Offensive -css,cssserver,Counter-Strike: Source -dab,dabserver,Double Action: Boogaloo -dayz,dayzserver,DayZ -dmc,dmcserver,Deathmatch Classic -dod,dodserver,Day of Defeat -dodr,dodrserver,Day of Dragons -dods,dodsserver,Day of Defeat: Source -doi,doiserver,Day of Infamy -dst,dstserver,Don't Starve Together -dys,dysserver,Dystopia -eco,ecoserver,Eco -em,emserver,Empires Mod -etl,etlserver,ET: Legacy -fctr,fctrserver,Factorio -fof,fofserver,Fistful of Frags -gmod,gmodserver,Garrys Mod -hl2dm,hl2dmserver,Half-Life 2: Deathmatch -hldm,hldmserver,Half-Life: Deathmatch -hldms,hldmsserver,Half-Life Deathmatch: Source -hw,hwserver,Hurtworld -ins,insserver,Insurgency -inss,inssserver,Insurgency: Sandstorm -ios,iosserver,IOSoccer -jc2,jc2server,Just Cause 2 -jc3,jc3server,Just Cause 3 -jk2,jk2server,Jedi Knight II: Jedi Outcast -kf,kfserver,Killing Floor -kf2,kf2server,Killing Floor 2 -lo,loserver,Last Oasis -l4d,l4dserver,Left 4 Dead -l4d2,l4d2server,Left 4 Dead 2 -mc,mcserver,Minecraft -mcb,mcbserver,Minecraft Bedrock -mh,mhserver,MORDHAU -mohaa,mohaaserver,Medal of Honor: Allied Assault -mom,momserver,Memories of Mars -mta,mtaserver,Multi Theft Auto -mumble,mumbleserver,Mumble -nd,ndserver,Nuclear Dawn -nmrih,nmrihserver,No More Room in Hell -ns,nsserver,Natural Selection -ns2,ns2server,Natural Selection 2 -ns2c,ns2cserver,NS2: Combat -onset,onsetserver,Onset -opfor,opforserver,Opposing Force -pc,pcserver,Project Cars -pc2,pc2server,Project Cars 2 -pmc,pmcserver,PaperMC -pstbs,pstbsserver,Post Scriptum: The Bloody Seventh -pvkii,pvkiiserver,Pirates Vikings & Knights II -pvr,pvrserver,Pavlov VR -pz,pzserver,Project Zomboid -q2,q2server,Quake 2 -q3,q3server,Quake 3: Arena -ql,qlserver,Quake Live -qw,qwserver,Quake World -ricochet,ricochetserver,Ricochet -ro,roserver,Red Orchestra: Ostfront 41-45 -rtcw,rtcwserver,Return to Castle Wolfenstein -rust,rustserver,Rust -rw,rwserver,Rising World -samp,sampserver,San Andreas Multiplayer -sb,sbserver,Starbound -sbots,sbotsserver,StickyBots -scpsl,scpslserver,SCP: Secret Laboratory -scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod -sdtd,sdtdserver,7 Days to Die -sfc,sfcserver,SourceForts Classic -sf,sfserver,Satisfactory -sof2,sof2server,Soldier Of Fortune 2: Gold Edition -sol,solserver,Soldat -squad,squadserver,Squad -st,stserver,Stationeers -stn,stnserver,Survive the Nights -sven,svenserver,Sven Co-op -terraria,terrariaserver,Terraria -tf2,tf2server,Team Fortress 2 -tfc,tfcserver,Team Fortress Classic -ti,tiserver,The Isle -ts,tsserver,The Specialists -ts3,ts3server,Teamspeak 3 -tu,tuserver,Tower Unite -tw,twserver,Teeworlds -unt,untserver,Unturned -ut,utserver,Unreal Tournament -ut2k4,ut2k4server,Unreal Tournament 2004 -ut3,ut3server,Unreal Tournament 3 -ut99,ut99server,Unreal Tournament 99 -vh,vhserver,Valheim -vints,vintsserver,Vintage Story -vpmc,vpmcserver,Velocity Proxy MC -vs,vsserver,Vampire Slayer -wet,wetserver,Wolfenstein: Enemy Territory -wf,wfserver,Warfork -wmc,wmcserver,WaterfallMC -wurm,wurmserver,Wurm Unlimited -zmr,zmrserver,Zombie Master: Reborn -zps,zpsserver,Zombie Panic! Source +ac,acserver,Assetto Corsa,ubuntu-22.04 +ahl,ahlserver,Action Half-Life,ubuntu-22.04 +ahl2,ahl2server,Action: Source,ubuntu-22.04 +ark,arkserver,ARK: Survival Evolved,ubuntu-22.04 +arma3,arma3server,ARMA 3,ubuntu-22.04 +armar,armarserver,Arma Reforger,ubuntu-20.04 +ats,atsserver,American Truck Simulator +av,avserver,Avorion,ubuntu-22.04 +bb,bbserver,BrainBread,ubuntu-22.04 +bb2,bb2server,BrainBread 2,ubuntu-22.04 +bd,bdserver,Base Defense,ubuntu-22.04 +bf1942,bf1942server,Battlefield 1942,ubuntu-22.04 +bfv,bfvserver,Battlefield: Vietnam,ubuntu-22.04 +bmdm,bmdmserver,Black Mesa: Deathmatch,ubuntu-22.04 +bo,boserver,Ballistic Overkill,ubuntu-22.04 +bs,bsserver,Blade Symphony,ubuntu-22.04 +bt,btserver,Barotrauma,ubuntu-22.04 +bt1944,bt1944server,Battalion 1944,ubuntu-22.04 +cc,ccserver,Codename CURE,ubuntu-22.04 +cd,cdserver,Crafting Dead,ubuntu-22.04 +ck,ckserver,Core Keeper,ubuntu-22.04 +cmw,cmwserver,Chivalry: Medieval Warfare,ubuntu-22.04 +cod,codserver,Call of Duty,ubuntu-22.04 +cod2,cod2server,Call of Duty 2,ubuntu-22.04 +cod4,cod4server,Call of Duty 4,ubuntu-22.04 +coduo,coduoserver,Call of Duty: United Offensive,ubuntu-22.04 +codwaw,codwawserver,Call of Duty: World at War,ubuntu-22.04 +col,colserver,Colony Survival,ubuntu-22.04 +cs,csserver,Counter-Strike 1.6,ubuntu-22.04 +cscz,csczserver,Counter-Strike: Condition Zero,ubuntu-22.04 +csgo,csgoserver,Counter-Strike: Global Offensive,ubuntu-22.04 +css,cssserver,Counter-Strike: Source,ubuntu-22.04 +dab,dabserver,Double Action: Boogaloo,ubuntu-22.04 +dayz,dayzserver,DayZ,ubuntu-22.04 +dmc,dmcserver,Deathmatch Classic,ubuntu-22.04 +dod,dodserver,Day of Defeat,ubuntu-22.04 +dodr,dodrserver,Day of Dragons,ubuntu-22.04 +dods,dodsserver,Day of Defeat: Source,ubuntu-22.04 +doi,doiserver,Day of Infamy,ubuntu-22.04 +dst,dstserver,Don't Starve Together,ubuntu-22.04 +dys,dysserver,Dystopia,ubuntu-22.04 +eco,ecoserver,Eco,ubuntu-22.04 +em,emserver,Empires Mod,ubuntu-22.04 +etl,etlserver,ET: Legacy,ubuntu-22.04 +ets2,ets2server,Euro Truck Simulator 2,ubuntu-22.04 +fctr,fctrserver,Factorio,ubuntu-22.04 +fof,fofserver,Fistful of Frags,ubuntu-22.04 +gmod,gmodserver,Garrys Mod,ubuntu-22.04 +hl2dm,hl2dmserver,Half-Life 2: Deathmatch,ubuntu-22.04 +hldm,hldmserver,Half-Life: Deathmatch,ubuntu-22.04 +hldms,hldmsserver,Half-Life Deathmatch: Source,ubuntu-22.04 +hw,hwserver,Hurtworld,ubuntu-22.04 +ins,insserver,Insurgency,ubuntu-22.04 +inss,inssserver,Insurgency: Sandstorm,ubuntu-22.04 +ios,iosserver,IOSoccer,ubuntu-22.04 +jc2,jc2server,Just Cause 2,ubuntu-22.04 +jc3,jc3server,Just Cause 3,ubuntu-22.04 +jk2,jk2server,Jedi Knight II: Jedi Outcast,ubuntu-22.04 +kf,kfserver,Killing Floor,ubuntu-22.04 +kf2,kf2server,Killing Floor 2,ubuntu-22.04 +l4d,l4dserver,Left 4 Dead,ubuntu-22.04 +l4d2,l4d2server,Left 4 Dead 2,ubuntu-22.04 +lo,loserver,Last Oasis,ubuntu-22.04 +mc,mcserver,Minecraft,ubuntu-22.04 +mcb,mcbserver,Minecraft Bedrock,ubuntu-22.04 +mh,mhserver,MORDHAU,ubuntu-22.04 +mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-22.04 +mom,momserver,Memories of Mars,ubuntu-22.04 +mta,mtaserver,Multi Theft Auto,ubuntu-22.04 +mumble,mumbleserver,Mumble,ubuntu-22.04 +nd,ndserver,Nuclear Dawn,ubuntu-22.04 +nec,necserver,Necesse,ubuntu-22.04 +nmrih,nmrihserver,No More Room in Hell,ubuntu-22.04 +ns,nsserver,Natural Selection,ubuntu-22.04 +ns2,ns2server,Natural Selection 2,ubuntu-22.04 +ns2c,ns2cserver,NS2: Combat,ubuntu-22.04 +onset,onsetserver,Onset,ubuntu-20.04 +opfor,opforserver,Opposing Force,ubuntu-22.04 +pc,pcserver,Project Cars,ubuntu-22.04 +pc2,pc2server,Project Cars 2,ubuntu-22.04 +pmc,pmcserver,PaperMC,ubuntu-22.04 +pstbs,pstbsserver,Post Scriptum: The Bloody Seventh,ubuntu-22.04 +pvkii,pvkiiserver,Pirates Vikings & Knights II,ubuntu-22.04 +pvr,pvrserver,Pavlov VR,ubuntu-22.04 +pz,pzserver,Project Zomboid,ubuntu-22.04 +q2,q2server,Quake 2,ubuntu-22.04 +q3,q3server,Quake 3: Arena,ubuntu-22.04 +ql,qlserver,Quake Live,ubuntu-22.04 +qw,qwserver,Quake World,ubuntu-22.04 +ricochet,ricochetserver,Ricochet,ubuntu-22.04 +ro,roserver,Red Orchestra: Ostfront 41-45,ubuntu-22.04 +rtcw,rtcwserver,Return to Castle Wolfenstein,ubuntu-22.04 +rust,rustserver,Rust,ubuntu-22.04 +rw,rwserver,Rising World,ubuntu-22.04 +samp,sampserver,San Andreas Multiplayer,ubuntu-22.04 +sb,sbserver,Starbound,ubuntu-22.04 +sbots,sbotsserver,StickyBots,ubuntu-22.04 +scpsl,scpslserver,SCP: Secret Laboratory,ubuntu-22.04 +scpslsm,scpslsmserver,SCP: Secret Laboratory ServerMod,ubuntu-22.04 +sdtd,sdtdserver,7 Days to Die,ubuntu-22.04 +sf,sfserver,Satisfactory,ubuntu-22.04 +sfc,sfcserver,SourceForts Classic,ubuntu-22.04 +sof2,sof2server,Soldier Of Fortune 2: Gold Edition,ubuntu-22.04 +sol,solserver,Soldat,ubuntu-22.04 +squad,squadserver,Squad,ubuntu-22.04 +st,stserver,Stationeers,ubuntu-22.04 +stn,stnserver,Survive the Nights,ubuntu-22.04 +sven,svenserver,Sven Co-op,ubuntu-20.04 +terraria,terrariaserver,Terraria,ubuntu-22.04 +tf2,tf2server,Team Fortress 2,ubuntu-22.04 +tfc,tfcserver,Team Fortress Classic,ubuntu-22.04 +ti,tiserver,The Isle,ubuntu-22.04 +ts,tsserver,The Specialists,ubuntu-22.04 +ts3,ts3server,Teamspeak 3,ubuntu-22.04 +tu,tuserver,Tower Unite,ubuntu-22.04 +tw,twserver,Teeworlds,ubuntu-22.04 +unt,untserver,Unturned,ubuntu-22.04 +ut,utserver,Unreal Tournament,ubuntu-22.04 +ut2k4,ut2k4server,Unreal Tournament 2004,ubuntu-22.04 +ut3,ut3server,Unreal Tournament 3,ubuntu-22.04 +ut99,ut99server,Unreal Tournament 99,ubuntu-22.04 +vh,vhserver,Valheim,ubuntu-22.04 +vints,vintsserver,Vintage Story,ubuntu-22.04 +vpmc,vpmcserver,Velocity Proxy MC,ubuntu-22.04 +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 + diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 1e39b28e0..a571f8aac 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -5,6 +5,7 @@ ahl ahl2 ark arma3 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -14,7 +15,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -42,6 +43,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -57,9 +59,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-8-jre mcb mh @@ -68,11 +70,12 @@ mom mta mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-8-jre @@ -95,8 +98,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -117,8 +120,8 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete +vs wet wf wmc,openjdk-8-jre diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index 50ab57355..499846c75 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-11-jre mcb mh @@ -69,11 +71,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-11-jre @@ -96,8 +99,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-11-jre diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index 9ef77fad9..6ff12422a 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -69,11 +71,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-17-jre @@ -96,8 +99,8 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/ubuntu-21.04.csv b/lgsm/data/ubuntu-21.04.csv index 9aab19717..1e488fc15 100644 --- a/lgsm/data/ubuntu-21.04.csv +++ b/lgsm/data/ubuntu-21.04.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc cd @@ -43,6 +44,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -58,9 +60,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -69,11 +71,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-17-jre @@ -96,15 +99,15 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad st stn sven,libssl1.1:i386,zlib1g:i386 -terraria,libsdl +terraria tf2,libcurl4-gnutls-dev:i386 tfc ti @@ -118,9 +121,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/ubuntu-21.10.csv b/lgsm/data/ubuntu-21.10.csv index 1ced64fc7..8860a2a4d 100644 --- a/lgsm/data/ubuntu-21.10.csv +++ b/lgsm/data/ubuntu-21.10.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -40,6 +41,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -55,9 +57,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -66,11 +68,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-17-jre @@ -93,15 +96,15 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad st stn sven,libssl1.1:i386,zlib1g:i386 -terraria,libsdl +terraria tf2,libcurl4-gnutls-dev:i386 tfc ti @@ -115,9 +118,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 7e3eeb4f6..7a64eb422 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -5,7 +5,8 @@ ahl ahl2 ark arma3 -armar,libcurl4,libssl1.1 +armar,libcurl4 +ats av bb bb2,libcurl4-gnutls-dev:i386 @@ -15,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev +bt,libicu-dev,dos2unix bt1944 cc ck,xvfb @@ -41,6 +42,7 @@ dys eco,libgdiplus em etl +ets2 fctr fof gmod,libtinfo5:i386 @@ -56,9 +58,9 @@ jc3 jk2 kf kf2 -lo l4d l4d2 +lo mc,openjdk-17-jre mcb mh @@ -67,11 +69,12 @@ mom mta,libncursesw5 mumble nd +nec nmrih,libtinfo5:i386 ns ns2,speex,libtbb2 ns2c,speex:i386,libtbb2 -onset,libmariadbclient-dev +onset,libmariadb-dev opfor pc pmc,openjdk-17-jre @@ -94,15 +97,15 @@ sbots scpsl,mono-complete scpslsm,mono-complete sdtd,telnet,expect -sfc,libtinfo5:i386 sf +sfc,libtinfo5:i386 sof2 sol squad st stn sven,libssl1.1:i386,zlib1g:i386 -terraria,libsdl +terraria tf2,libcurl4-gnutls-dev:i386 tfc ti @@ -116,9 +119,9 @@ ut2k4 ut3 ut99 vh,libc6-dev -vs vints,mono-complete vpmc,openjdk-11-jre +vs wet wf wmc,openjdk-17-jre diff --git a/lgsm/functions/check.sh b/lgsm/functions/check.sh index 6f9859822..239a24140 100755 --- a/lgsm/functions/check.sh +++ b/lgsm/functions/check.sh @@ -21,7 +21,7 @@ fi check_tmuxception.sh -if [ "$(whoami)" != "root" ]; then +if [ "$(whoami)" != "root" ] || [ -f /.dockerenv ]; then if [ "${commandname}" != "MONITOR" ]; then check_permissions.sh fi @@ -38,7 +38,7 @@ for allowed_command in "${allowed_commands_array[@]}"; do fi done -if [ "$(whoami)" != "root" ]; then +if [ "$(whoami)" != "root" ] || [ -f /.dockerenv ]; then allowed_commands_array=(DEBUG START INSTALL) for allowed_command in "${allowed_commands_array[@]}"; do if [ "${allowed_command}" == "${commandname}" ]; then diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh index ff4863e2c..bb8507769 100755 --- a/lgsm/functions/check_deps.sh +++ b/lgsm/functions/check_deps.sh @@ -301,7 +301,7 @@ fn_deps_detector() { } if [ "${commandname}" == "INSTALL" ]; then - if [ "$(whoami)" == "root" ]; then + if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then echo -e "" echo -e "${lightyellow}Checking Dependencies as root${default}" echo -e "=================================" @@ -337,7 +337,7 @@ fi if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then depall=$(awk -F, '$1=="all" {$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. array_deps_missing=() diff --git a/lgsm/functions/check_executable.sh b/lgsm/functions/check_executable.sh index 252c6c8d2..d1b5c3efd 100755 --- a/lgsm/functions/check_executable.sh +++ b/lgsm/functions/check_executable.sh @@ -8,6 +8,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" # Check if executable exists +execname=$(basename "${executable}") if [ ! -f "${executabledir}/${execname}" ]; then fn_print_fail_nl "executable was not found" echo -e "* ${executabledir}/${execname}" diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index 92a76600b..0094456ec 100755 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -223,10 +223,8 @@ fn_sys_perm_error_process() { fi } -# Run perm error detect & fix/alert functions on /sys directories. - -## Run checks. -if [ "$(whoami)" != "root" ]; then +## Run permisions checks when not root or docker. +if [ "$(whoami)" != "root" ] && [ ! -f /.dockerenv ]; then fn_check_ownership fn_check_permissions if [ "${commandname}" == "START" ]; then diff --git a/lgsm/functions/check_root.sh b/lgsm/functions/check_root.sh index 13942cbd4..dab033148 100755 --- a/lgsm/functions/check_root.sh +++ b/lgsm/functions/check_root.sh @@ -7,7 +7,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -if [ "$(whoami)" = "root" ]; then +if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then if [ "${commandname}" != "INSTALL" ]; then fn_print_fail_nl "Do NOT run this script as root!" if [ -d "${lgsmlogdir}" ]; then diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh index 190a8c527..c6422be65 100755 --- a/lgsm/functions/command_debug.sh +++ b/lgsm/functions/command_debug.sh @@ -28,7 +28,6 @@ check.sh fix.sh info_distro.sh info_game.sh -# NOTE: Check if works with server without parms. Could be intergrated in to info_parms.sh. fn_print_header { echo -e "${lightblue}Distro:\t\t${default}${distroname}" @@ -40,8 +39,9 @@ fn_print_header echo -e "${lightblue}Free Memory:\t\t${default}${physmemfree}" echo -e "${lightblue}Free Disk:\t\t${default}${availspace}" } | column -s $'\t' -t + # glibc required. -if [ "${glibc}" ]; then +if [ -n "${glibc}" ]; then if [ "${glibc}" == "null" ]; then # Glibc is not required. : @@ -54,7 +54,7 @@ if [ "${glibc}" ]; then fi fi -# Server IP +# Server IP. echo -e "${lightblue}Game Server IP:\t${default}${ip}:${port}" # External server IP. @@ -63,6 +63,7 @@ if [ "${extip}" ]; then echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}" fi fi + # Server password. if [ "${serverpassword}" ]; then echo -e "${lightblue}Server password:\t${default}${serverpassword}" @@ -78,7 +79,7 @@ else echo -e "${preexecutable} ${executable} ${startparameters}" fi 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." fn_print_warning_nl "If ${selfname} is already running it will be stopped." echo -e "" @@ -120,6 +121,18 @@ else eval "${preexecutable} ${executable} ${startparameters}" 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_print_dots "Stopping debug" diff --git a/lgsm/functions/command_dev_query_raw.sh b/lgsm/functions/command_dev_query_raw.sh index 91db16584..26884b259 100755 --- a/lgsm/functions/command_dev_query_raw.sh +++ b/lgsm/functions/command_dev_query_raw.sh @@ -28,169 +28,169 @@ echo -e "==================================================================" { echo -e "${lightblue}Port Name \tPort Number \tStatus \tTCP \tUDP${default}" 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 echo -e "Game:" fi if [ "${shortname}" == "rw" ]; 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 echo -e "Game+1:" fi 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 echo -e "Game+2:" fi 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 echo -e "Game+3:" fi fi 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 echo -e "Game+400:" fi 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 echo -e "Game ipv6:" fi 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 echo -e "Query:" fi 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 echo -e "HTTP:" fi 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 echo -e "HTTP Query:" fi 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 echo -e "Web Admin:" fi 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 echo -e "Client:" fi 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 echo -e "RCON:" fi 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 echo -e "RAW UDP Socket:" fi 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 echo -e "Game: Master:" fi 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 echo -e "Steam:" fi 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 echo -e "Steam: Auth:" fi 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 echo -e "Steam: Master:" fi 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 echo -e "Steam: Query:" fi 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 echo -e "Beacon:" fi 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 echo -e "App:" fi 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 echo -e "Telnet:" fi 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 echo -e "SourceTV:" fi 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 echo -e "File:" fi 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 echo -e "UDP Link:" fi 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 echo -e "Voice:" fi 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 echo -e "Voice (Unused):" fi 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 echo -e "BattleEye:" fi 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 echo -e "Stats:" fi diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh index e56890b4d..19dc59c7e 100755 --- a/lgsm/functions/command_install.sh +++ b/lgsm/functions/command_install.sh @@ -11,7 +11,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_firstcommand_set check.sh -if [ "$(whoami)" = "root" ]; then +if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then check_deps.sh else install_header.sh diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh index 48d3d496a..0d6402942 100755 --- a/lgsm/functions/command_monitor.sh +++ b/lgsm/functions/command_monitor.sh @@ -131,7 +131,7 @@ fn_monitor_query() { # Server query OK. fn_print_ok "Querying port: ${querymethod}: ${queryip}:${queryport} : ${totalseconds}/${queryattempt}: " fn_print_ok_eol_nl - fn_script_log_pass "Querying port: ${querymethod}: ${queryip}:${queryport} : ${queryattempt}: OK" + fn_script_log_pass "Querying port: ${querymethod}: ${queryip}:${queryport} : ${queryattempt} : OK" monitorpass=1 if [ "${querystatus}" == "0" ]; then # Add query data to log. @@ -161,14 +161,14 @@ fn_monitor_query() { # Server query FAIL. fn_print_fail "Querying port: ${querymethod}: ${queryip}:${queryport} : ${totalseconds}/${queryattempt}: " fn_print_fail_eol - fn_script_log_warn "Querying port: ${querymethod}: ${queryip}:${queryport} : ${queryattempt}: FAIL" + fn_script_log_warn "Querying port: ${querymethod}: ${queryip}:${queryport} : ${queryattempt} : FAIL" # Monitor will try gamedig (if supported) for first 30s then gsquery before restarting. # gsquery will fail if longer than 60s if [ "${totalseconds}" -ge "59" ]; then # Monitor will FAIL if over 60s and trigger gane server reboot. fn_print_fail "Querying port: ${querymethod}: ${queryip}:${queryport} : ${totalseconds}/${queryattempt}: " fn_print_fail_eol_nl - fn_script_log_warn "Querying port: ${querymethod}: ${queryip}:${queryport} : ${queryattempt}: FAIL" + fn_script_log_warn "Querying port: ${querymethod}: ${queryip}:${queryport} : ${queryattempt} : FAIL" # Send alert if enabled. alert="restartquery" alert.sh @@ -180,7 +180,7 @@ fn_monitor_query() { done # Second counter will wait for 15s before breaking loop. for seconds in {1..15}; do - fn_print_fail "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: ${cyan}WAIT${default}" + fn_print_fail "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt} : ${cyan}WAIT${default}" sleep 0.5 totalseconds=$((totalseconds + 1)) if [ "${seconds}" == "15" ]; then diff --git a/lgsm/functions/core_exit.sh b/lgsm/functions/core_exit.sh index 93c37dfc7..2d2f5b8fa 100755 --- a/lgsm/functions/core_exit.sh +++ b/lgsm/functions/core_exit.sh @@ -18,7 +18,7 @@ fn_exit_dev_debug() { } # If running dependency check as root will remove any files that belong to root user. -if [ "$(whoami)" == "root" ]; then +if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then find "${lgsmdir}"/ -group root -prune -exec rm -rf {} + > /dev/null 2>&1 find "${logdir}"/ -group root -prune -exec rm -rf {} + > /dev/null 2>&1 fi diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index 20d26de05..05b52e243 100755 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -8,7 +8,7 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -modulesversion="v22.2.0" +modulesversion="v23.1.0" # Core diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index 3c44931b9..fdd66ab3f 100755 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -75,7 +75,7 @@ if [ "${shortname}" == "jk2" ] || [ "${engine}" != "idtech3" ]; then fi # Validate and check-update command. -if [ "${appid}" ]||[ "${shortname}" == "ts3" ]; then +if [ "${appid}" ] || [ "${shortname}" == "ts3" ]; then currentopt+=("${cmd_validate[@]}" "${cmd_check_update[@]}") fi diff --git a/lgsm/functions/core_steamcmd.sh b/lgsm/functions/core_steamcmd.sh index 92c14136a..5b95adc81 100755 --- a/lgsm/functions/core_steamcmd.sh +++ b/lgsm/functions/core_steamcmd.sh @@ -281,8 +281,8 @@ fn_update_steamcmd_compare() { } fn_appmanifest_info() { - appmanifestfile=$(find "${serverfiles}" -type f -name "appmanifest_${appid}.acf") - appmanifestfilewc=$(find "${serverfiles}" -type f -name "appmanifest_${appid}.acf" | wc -l) + appmanifestfile=$(find -L "${serverfiles}" -type f -name "appmanifest_${appid}.acf") + appmanifestfilewc=$(find -L "${serverfiles}" -type f -name "appmanifest_${appid}.acf" | wc -l) } fn_appmanifest_check() { diff --git a/lgsm/functions/fix_bt.sh b/lgsm/functions/fix_bt.sh index 094c2617c..07fd61ce5 100755 --- a/lgsm/functions/fix_bt.sh +++ b/lgsm/functions/fix_bt.sh @@ -14,3 +14,11 @@ if [ ! -d "${XDG_DATA_HOME:="${HOME}/.local/share"}/Daedalic Entertainment GmbH/ mkdir -p "${XDG_DATA_HOME:="${HOME}/.local/share"}/Daedalic Entertainment GmbH/Barotrauma" fn_fix_msg_end fi + +# check if startscript is with windows line endings and reformat it +if file -b "${serverfiles}${executable:1}" | grep -q CRLF; then + fixname="Convert ${executable:2} to unix file format" + fn_fix_msg_start + dos2unix -q "${serverfiles}${executable:1}" + fn_fix_msg_end +fi diff --git a/lgsm/functions/fix_lo.sh b/lgsm/functions/fix_lo.sh index b868a55b4..eec2ebd36 100644 --- a/lgsm/functions/fix_lo.sh +++ b/lgsm/functions/fix_lo.sh @@ -6,12 +6,12 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -local APPID_FILE=${executabledir}/steam_appid.txt -if [ ! -f "${APPID_FILE}" ]; then - fn_print_information "adding ${APPID_FILE} to ${gamename} server." +appidfile=${executabledir}/steam_appid.txt +if [ ! -f "${appidfile}" ]; then + fn_print_information "adding ${appidfile} to ${gamename} server." fn_sleep_time - echo "903950" > "${APPID_FILE}" + echo "903950" > "${appidfile}" else - fn_print_information "${APPID_FILE} already exists. No action to be taken." + fn_print_information "${appidfile} already exists. No action to be taken." fn_sleep_time fi diff --git a/lgsm/functions/fix_steamcmd.sh b/lgsm/functions/fix_steamcmd.sh index 0162a6495..9644208dc 100755 --- a/lgsm/functions/fix_steamcmd.sh +++ b/lgsm/functions/fix_steamcmd.sh @@ -56,7 +56,7 @@ steamclientsdk64="${steamsdk64}/steamclient.so" # remove any old unlinked versions of steamclient.so if [ -f "${steamclientsdk64}" ]; then if [ "$(stat -c '%h' "${steamclientsdk64}")" -eq 1 ]; then - fixname="steamclient.so sdk64 -- remove old file" + fixname="steamclient.so sdk64 - remove old file" fn_fix_msg_start rm -f "${steamclientsdk64}" fn_fix_msg_end @@ -87,7 +87,7 @@ steamsdk32="${HOME}/.steam/sdk32" steamclientsdk32="${HOME}/.steam/sdk32/steamclient.so" if [ -f "${steamclientsdk32}" ]; then if [ " $(stat -c '%h' "${steamclientsdk32}")" -eq 1 ]; then - fixname="steamclient.so sdk32 -- remove old file" + fixname="steamclient.so sdk32 - remove old file" fn_fix_msg_start rm -f "${steamclientsdk32}" fn_fix_msg_end diff --git a/lgsm/functions/fix_vh.sh b/lgsm/functions/fix_vh.sh index ab0218873..a90c5d0b0 100755 --- a/lgsm/functions/fix_vh.sh +++ b/lgsm/functions/fix_vh.sh @@ -8,14 +8,28 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH -# special check if Valheim Plus is installed modsdir="${lgsmdir}/mods" modsinstalledlistfullpath="${modsdir}/installed-mods.txt" if [ -f "${modsinstalledlistfullpath}" ]; then + # special check if Valheim Plus is installed if grep -qE "^valheimplus" "${modsinstalledlistfullpath}"; then if ! grep -qE "^executable=\"./start_server_bepinex.sh\"" "${configdirserver}/${selfname}.cfg"; then echo 'executable="./start_server_bepinex.sh"' >> "${configdirserver}/${selfname}.cfg" executable="./start_server_bepinex.sh" fi fi + # special exports for BepInEx if installed + if grep -qE "^bepinexvh" "${modsinstalledlistfullpath}"; then + fn_print_info_nl "BepInEx install detected, applying start exports" + fn_script_log_info "BepInEx install detected, applying start exports" + # exports for BepInEx framework from script start_server_bepinex.sh + export DOORSTOP_ENABLE=TRUE + export DOORSTOP_INVOKE_DLL_PATH=./BepInEx/core/BepInEx.Preloader.dll + export DOORSTOP_CORLIB_OVERRIDE_PATH=./unstripped_corlib + + export LD_LIBRARY_PATH="./doorstop_libs:${LD_LIBRARY_PATH}" + export LD_PRELOAD="libdoorstop_x64.so:${LD_PRELOAD}" + + export SteamAppId=892970 + fi fi diff --git a/lgsm/functions/info_game.sh b/lgsm/functions/info_game.sh index 665d2f522..e4872a8f8 100644 --- a/lgsm/functions/info_game.sh +++ b/lgsm/functions/info_game.sh @@ -17,24 +17,24 @@ functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_info_game_ac() { # Config if [ ! -f "${servercfgfullpath}" ]; then + adminpassword="${unavailable}" httpport="${zero}" port="${zero}" queryport="${zero}" servername="${unavailable}" - adminpassword="${unavailable}" else + adminpassword=$(grep "ADMIN_PASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMIN_PASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') httpport=$(grep "HTTP_PORT" "${servercfgfullpath}" | tr -cd '[:digit:]') port=$(grep "TCP_PORT" "${servercfgfullpath}" | tr -cd '[:digit:]') queryport="${httpport}" servername=$(grep "NAME" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/NAME//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | head -n 1) - adminpassword=$(grep "ADMIN_PASSWORD" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/ADMIN_PASSWORD//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') # Not set + adminpassword=${adminpassword:-"NOT SET"} httpport=${httpport:-"0"} port=${port:-"0"} queryport=${queryport:-"0"} servername=${servername:-"NOT SET"} - adminpassword=${adminpassword:-"NOT SET"} fi } @@ -42,67 +42,74 @@ fn_info_game_ac() { fn_info_game_ark() { # Config if [ ! -f "${servercfgfullpath}" ]; then - servername="${unavailable}" adminpassword="${unavailable}" + servername="${unavailable}" serverpassword="${unavailable}" else - servername=$(sed -nr 's/^SessionName=(.*)/\1/p' "${servercfgfullpath}") adminpassword=$(sed -nr 's/^ServerAdminPassword=(.*)/\1/p' "${servercfgfullpath}") + servername=$(sed -nr 's/^SessionName=(.*)/\1/p' "${servercfgfullpath}") serverpassword=$(sed -nr 's/^ServerPassword=(.*)/\1/p' "${servercfgfullpath}") # Not set - servername=${servername:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} fi # Parameters + maxplayers=${maxplayers:-"0"} port=${port:-"0"} queryport=${queryport:-"0"} - rconport=${rconport:-"0"} rawport=$((port + 1)) - maxplayers=${maxplayers:-"0"} + rconport=${rconport:-"0"} } fn_info_game_arma3() { # Config if [ ! -f "${servercfgfullpath}" ]; then - servername="${unavailable}" adminpassword="${unavailable}" - serverpassword="${unavailable}" maxplayers="${zero}" + servername="${unavailable}" + serverpassword="${unavailable}" else - servername=$(sed -nr 's/^hostname\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") adminpassword=$(sed -nr 's/^passwordAdmin\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") - serverpassword=$(sed -nr 's/^password\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") maxplayers=$(sed -nr 's/^maxPlayers\s*=\s*([0-9]+)\s*;/\1/p' "${servercfgfullpath}") + servername=$(sed -nr 's/^hostname\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") + serverpassword=$(sed -nr 's/^password\s*=\s*"(.*)"\s*;/\1/p' "${servercfgfullpath}") # Not set - servername=${servername:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} - serverpassword=${serverpassword:-"NOT SET"} maxplayers=${maxplayers:-"0"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} fi # Parameters + battleeyeport=$((port + 4)) port=${port:-"2302"} - voiceport=${port:-"2302"} queryport=$((port + 1)) steammasterport=$((port + 2)) + voiceport=${port:-"2302"} voiceunusedport=$((port + 3)) - battleeyeport=$((port + 4)) } fn_info_game_armar() { - if [ -f "${servercfgfullpath}" ]; then + if [ ! -f "${servercfgfullpath}" ]; then + adminpassword="${unavailable}" + maxplayers="${zero}" + port=${port:-"0"} + queryport= + servername="${unavailable}" + serverpassword="${unavailable}" + else adminpassword=$(jq -r '.adminPassword' "${servercfgfullpath}") + battleeyeport=1376 configip=$(jq -r '.gameHostBindAddress' "${servercfgfullpath}") maxplayers=$(jq -r '.game.playerCountLimit' "${servercfgfullpath}") port=$(jq -r '.gameHostBindPort' "${servercfgfullpath}") queryport=$(jq -r '.steamQueryPort' "${servercfgfullpath}") servername=$(jq -r '.game.name' "${servercfgfullpath}") serverpassword=$(jq -r '.game.password' "${servercfgfullpath}") - battleeyeport=1376 # Not set adminpassword=${adminpassword:-"NOT SET"} @@ -112,10 +119,6 @@ fn_info_game_armar() { queryport=${queryport:-"0"} servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - else - port=${port:-"0"} - servername="${unavailable}" - serverpassword="${unavailable}" fi } @@ -148,7 +151,7 @@ fn_info_game_av() { fi # Not set - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} port=${port:-"0"} @@ -233,7 +236,7 @@ fn_info_game_bo() { serverpassword=${serverpassword:-"NOT SET"} port=${port:-"0"} queryport=${queryport:-"0"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} fi } @@ -488,7 +491,7 @@ fn_info_game_dodr() { maxplayers=$(sed -nr 's/^iServerMaxPlayers=(.*)$/\1/p' "${servercfgfullpath}") # Not set - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} fi # Parameters @@ -918,7 +921,7 @@ fn_info_game_mc() { servername=${servername:-"NOT SET"} rconpassword=${rconpassword:-"NOT SET"} rconport=${rconport:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} queryport=${queryport:-"NOT SET"} queryenabled="${queryenabled:-"NOT SET"}" @@ -949,7 +952,7 @@ fn_info_game_mcb() { # Not set servername=${servername:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} portipv6=${portipv6:-"NOT SET"} queryport=${queryport:-"NOT SET"} @@ -1015,7 +1018,7 @@ fn_info_game_mom() { if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" serverpassword="${unavailable}" - maxplayer="${zero}" + maxplayers="${zero}" defaultmap="${unavailable}" else servername=$(grep "ServerName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') @@ -1026,7 +1029,7 @@ fn_info_game_mom() { # Not set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - maxplayer=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} defaultmap=${defaultmap:-"NOT SET"} fi @@ -1090,6 +1093,26 @@ fn_info_game_mumble() { fi } +fn_info_game_nec() { + # Config + if [ ! -f "${servercfgfullpath}" ]; then + maxplayers=${maxplayers:-"0"} + port=${port:-"0"} + servername="Necesse" + serverpassword="${unavailable}" + else + maxplayers=$(grep "slots" "${servercfgfullpath}" | cut -f1 -d "/" | tr -cd '[:digit:]') + port=$(grep "port" "${servercfgfullpath}" | cut -f1 -d "/" | tr -cd '[:digit:]') + serverpassword=$(grep "password" "${servercfgfullpath}" | cut -f1 -d "/" | tr -cd '[:digit:]') + + # Not set + maxplayers=${maxplayers:-"0"} + port=${port:-"0"} + servername="Necesse Port ${port}" + serverpassword=${serverpassword:-"NOT SET"} + fi +} + fn_info_game_onset() { # Config if [ ! -f "${servercfgfullpath}" ]; then @@ -1107,7 +1130,7 @@ fn_info_game_onset() { # Not set servername=${servername:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} httpport=${httpport:-"NOT SET"} queryport=${queryport:-"NOT SET"} @@ -1134,7 +1157,7 @@ fn_info_game_pc() { # Not set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} queryport=${queryport:-"NOT SET"} steamport=${steamport:-"NOT SET"} @@ -1161,7 +1184,7 @@ fn_info_game_pc2() { # Not set servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"NOT SET"} queryport=${queryport:-"NOT SET"} steamport=${steamport:-"NOT SET"} @@ -1230,6 +1253,30 @@ fn_info_game_pvr() { queryport=${port:-"0"} } +fn_info_game_prism3d() { + # Config + if [ ! -f "${servercfgfullpath}" ]; then + maxplayers="${unavailable}" + port="${zero}" + queryport="${zero}" + servername="${unavailable}" + serverpassword="${unavailable}" + else + maxplayers=$(sed -nr 's/^\s*max_players\s*:\s*([0-9]+)/\1/p' "${servercfgfullpath}") + port=$(sed -nr 's/^\s*connection_dedicated_port\s*:\s*([0-9]+)/\1/p' "${servercfgfullpath}") + queryport=$(sed -nr 's/^\s*query_dedicated_port\s*:\s*([0-9]+)/\1/p' "${servercfgfullpath}") + servername=$(sed -nr 's/^\s*lobby_name\s*:\s*"?([^"\r\n]+)"?/\1/p' "${servercfgfullpath}") + serverpassword=$(sed -nr 's/^\s*password\s*:\s*"(.*)"/\1/p' "${servercfgfullpath}") + + # Not set + maxplayers=${maxplayers:-"0"} + port=${port:-"27015"} + queryport=${queryport:-"27016"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + fi +} + fn_info_game_pz() { # Config if [ ! -f "${servercfgfullpath}" ]; then @@ -1450,7 +1497,7 @@ fn_info_game_rust() { # Parameters servername=${servername:-"NOT SET"} port=${port:-"0"} - queryport=${port:-"0"} + queryport=${queryport:-"0"} appport=${appport:-"0"} rconport=${rconport:-"0"} gamemode=${gamemode:-"NOT SET"} @@ -1502,7 +1549,7 @@ fn_info_game_rw() { serverpassword=${serverpassword:-"NOT SET"} rconpassword=${rconpassword:-"NOT SET"} rconport=${rconport:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} port=${port:-"0"} port2=${port2:-"0"} port3=${port3:-"0"} @@ -1599,18 +1646,18 @@ fn_info_game_sbots() { fn_info_game_scpsl() { # Config - if [ -f "${servercfgfullpath}" ]; then - servername=$(sed -nr 's/^server_name: (.*)$/\1/p' "${servercfgfullpath}") - maxplayers=$(sed -nr 's/^max_players: (.*)$/\1/p' "${servercfgfullpath}") - configip=$(sed -nr 's/^ipv4_bind_ip: (.*)$/\1/p' "${servercfgfullpath}") - tickrate=$(sed -nr 's/^server_tickrate: (.*)$/\1/p' "${servercfgfullpath}") - adminpassword=$(sed -nr 's/^administrator_query_password: (.*)$/\1/p' "${servercfgfullpath}") - else + if [ ! -f "${servercfgfullpath}" ]; then servername=${servername:-"NOT SET"} maxplayers=${maxplayers:-"0"} configip=${configip:-"0.0.0.0"} tickrate=${tickrate:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} + else + servername=$(sed -nr 's/^server_name: (.*)$/\1/p' "${servercfgfullpath}") + maxplayers=$(sed -nr 's/^max_players: (.*)$/\1/p' "${servercfgfullpath}") + configip=$(sed -nr 's/^ipv4_bind_ip: (.*)$/\1/p' "${servercfgfullpath}") + tickrate=$(sed -nr 's/^server_tickrate: (.*)$/\1/p' "${servercfgfullpath}") + adminpassword=$(sed -nr 's/^administrator_query_password: (.*)$/\1/p' "${servercfgfullpath}") fi # Parameters @@ -1668,7 +1715,7 @@ fn_info_game_sdtd() { telnetenabled=${telnetenabled:-"NOT SET"} telnetport=${telnetport:-"0"} telnetpass=${telnetpass:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} gamemode=${gamemode:-"NOT SET"} gameworld=${gameworld:-"NOT SET"} fi @@ -1869,7 +1916,13 @@ fn_info_game_terraria() { fn_info_game_stn() { # Config - if [ -f "${servercfgfullpath}" ]; then + if [ ! -f "${servercfgfullpath}" ]; then + servername="${unavailable}" + configip=${configip:-"0.0.0.0"} + port="${zero}" + queryport="${zero}" + serverpassword=${serverpassword:-"NOT SET"} + else servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}") configip=$(sed -nr 's/^ServerIP=([0-9]+)/\1/p' "${servercfgfullpath}") port=$(sed -nr 's/^ServerPort=([0-9]+)/\1/p' "${servercfgfullpath}") @@ -1878,23 +1931,25 @@ fn_info_game_stn() { # Not set serverpassword=${serverpassword:-"NOT SET"} - else - servername="${unavailable}" - configip=${configip:-"0.0.0.0"} - port="${zero}" - queryport="${zero}" + port=${port:-"0"} serverpassword=${serverpassword:-"NOT SET"} + queryport=${queryport:-"0"} fi } fn_info_game_ti() { - if [ -f "${servercfgfullpath}" ]; then - servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}") - maxplayers=$(sed -nr 's/^MaxPlayerCount=([0-9]+)/\1/' "${servercfgfullpath}") - else + if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" maxplayers="${zero}" + else + servername=$(sed -nr 's/^ServerName="(.*)"/\1/p' "${servercfgfullpath}") + maxplayers=$(sed -nr 's/^MaxPlayerCount=([0-9]+)/\1/' "${servercfgfullpath}") + + # Not set + servername=${servername:-"NOT SET"} + maxplayers=${maxplayers:-"0"} fi + } fn_info_game_ts3() { @@ -2156,7 +2211,7 @@ fn_info_game_ut3() { servername=${servername:-"NOT SET"} serverpassword=${serverpassword:-"NOT SET"} adminpassword=${adminpassword:-"NOT SET"} - maxplayers=${maxplayers:-"NOT SET"} + maxplayers=${maxplayers:-"0"} webadminenabled=${webadminenabled:-"NOT SET"} webadminport=${webadminport:-"0"} webadminuser=${webadminuser:-"NOT SET"} @@ -2409,6 +2464,8 @@ elif [ "${shortname}" == "mta" ]; then fn_info_game_mta elif [ "${shortname}" == "mumble" ]; then fn_info_game_mumble +elif [ "${shortname}" == "nec" ]; then + fn_info_game_nec elif [ "${shortname}" == "onset" ]; then fn_info_game_onset elif [ "${shortname}" == "pc" ]; then @@ -2495,6 +2552,8 @@ elif [ "${shortname}" == "wmc" ]; then fn_info_game_wmc elif [ "${shortname}" == "wurm" ]; then fn_info_game_wurm +elif [ "${engine}" == "prism3d" ]; then + fn_info_game_prism3d elif [ "${engine}" == "source" ] || [ "${engine}" == "goldsrc" ]; then fn_info_game_source elif [ "${engine}" == "unreal2" ]; then diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index 031b0dfde..533dee675 100755 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -658,7 +658,7 @@ fn_info_message_ports_edit() { startparameterslocation="${red}UNKNOWN${default}" # engines/games that require editing in the config file. - local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "cd" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "mumble" "pc" "pc2" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "wurm") + local ports_edit_array=("ac" "arma3" "armar" "bo" "bt" "cd" "dst" "eco" "idtech2" "idtech3" "idtech3_ql" "jc2" "jc3" "lwjgl2" "mcb" "mumble" "nec" "pc" "pc2" "prism3d" "pz" "qw" "refractor" "renderware" "rw" "sb" "sdtd" "st" "stn" "ts3" "tw" "terraria" "unreal" "unreal2" "unreal3" "vints" "wurm") for port_edit in "${ports_edit_array[@]}"; do if [ "${shortname}" == "ut3" ]; then startparameterslocation="${servercfgdir}/UTWeb.ini" @@ -687,7 +687,7 @@ fn_info_message_ports() { echo -e "ss -tuplwn | grep AvorionServer" elif [ "${shortname}" == "bf1942" ]; then echo -e "ss -tuplwn | grep bf1942_lnxded" - elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "pmc" ] || [ "${shortname}" == "rw" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then + elif [ "${shortname}" == "mc" ] || [ "${shortname}" == "nec" ] || [ "${shortname}" == "pmc" ] || [ "${shortname}" == "rw" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then echo -e "ss -tuplwn | grep java" elif [ "${shortname}" == "terraria" ]; then echo -e "ss -tuplwn | grep Main" @@ -1179,6 +1179,13 @@ fn_info_message_mumble() { } | column -s $'\t' -t } +fn_info_message_nec() { + { + fn_port "header" + fn_port "Game" port udp + } | column -s $'\t' -t +} + fn_info_message_onset() { { fn_port "header" @@ -1404,6 +1411,15 @@ fn_info_message_sol() { fn_port "Files" filesport tcp } | column -s $'\t' -t } + +fn_info_message_prism3d() { + { + fn_port "header" + fn_port "Game" port udp + fn_port "Query" queryport udp + } | column -s $'\t' -t +} + fn_info_message_source() { { fn_port "header" @@ -1737,12 +1753,14 @@ fn_info_message_select_engine() { fn_info_message_mh elif [ "${shortname}" == "mohaa" ]; then fn_info_message_mohaa + elif [ "${shortname}" == "mom" ]; then + fn_info_message_mom elif [ "${shortname}" == "mta" ]; then fn_info_message_mta elif [ "${shortname}" == "mumble" ]; then fn_info_message_mumble - elif [ "${shortname}" == "mom" ]; then - fn_info_message_mom + elif [ "${shortname}" == "nec" ]; then + fn_info_message_nec elif [ "${shortname}" == "onset" ]; then fn_info_message_onset elif [ "${shortname}" == "pc" ]; then @@ -1825,6 +1843,8 @@ fn_info_message_select_engine() { fn_info_message_wurm elif [ "${engine}" == "goldsrc" ]; then fn_info_message_goldsrc + elif [ "${engine}" == "prism3d" ]; then + fn_info_message_prism3d elif [ "${engine}" == "source" ]; then fn_info_message_source elif [ "${engine}" == "spark" ]; then diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index f22bf1ff0..c04db364c 100755 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -210,6 +210,14 @@ elif [ "${shortname}" == "armar" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "ats" ]; then + gamedirname="AmericanTruckSimulator" + fn_check_cfgdir + array_configs+=(server_config.sii) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "bo" ]; then gamedirname="BallisticOverkill" array_configs+=(config.txt) @@ -451,6 +459,14 @@ elif [ "${shortname}" == "etl" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "ets2" ]; then + gamedirname="EuroTruckSimulator2" + fn_check_cfgdir + array_configs+=(server_config.sii) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "fctr" ]; then gamedirname="Factorio" array_configs+=(server-settings.json) @@ -641,6 +657,14 @@ elif [ "${shortname}" == "pz" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "nec" ]; then + gamedirname="Necesse" + fn_check_cfgdir + array_configs+=(server.cfg) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "pc" ]; then gamedirname="ProjectCars" array_configs+=(server.cfg) diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index c9faf643a..61c6b131c 100755 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -222,7 +222,7 @@ elif [ "${shortname}" == "mcb" ]; then elif [ "${shortname}" == "pmc" ]; then install_eula.sh update_papermc.sh -elif [ "${shortname}" == "wmc" ]||[ "${shortname}" == "vpmc" ]; then +elif [ "${shortname}" == "wmc" ] || [ "${shortname}" == "vpmc" ]; then update_papermc.sh elif [ "${shortname}" == "mumble" ]; then update_mumble.sh diff --git a/lgsm/functions/mods_list.sh b/lgsm/functions/mods_list.sh index 151a98cbe..e8d583251 100755 --- a/lgsm/functions/mods_list.sh +++ b/lgsm/functions/mods_list.sh @@ -95,6 +95,8 @@ oxidehurtworldlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/ oxidesdtdlatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("linux")) | .browser_download_url') # Valheim Plus valeimpluslatestlink=$(curl --connect-timeout 10 -sL https://api.github.com/repos/valheimPlus/ValheimPlus/releases/latest | jq -r '.assets[]|select(.browser_download_url | contains("UnixServer.tar.gz")) | .browser_download_url') +# Valheim BepInEx +bepinexvhlatestlink=$(curl --connect-timeout 10 -sL "https://valheim.thunderstore.io/api/experimental/package/denikson/BepInExPack_Valheim/" -H "accept: application/json" | jq -r '.latest.download_url') # Define mods information (required) @@ -194,5 +196,8 @@ mod_info_sdtdoxide=(MOD "sdtdoxide" "Oxide for 7 Days To Die" "${oxidesdtdlatest # ValheimPlus mod_info_valheimplus=(MOD "valheimplus" "Valheim PLUS" "${valeimpluslatestlink}" "ValheimPlus.tar.gz" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://github.com/valheimPlus/ValheimPlus" "Mod to improve Valheim gameplay") +# BepInEx Valheim +mod_info_bepinexvh=(MOD "bepinexvh" "BepInEx Valheim" "${bepinexvhlatestlink}" "denikson-BepInExPack_Valheim.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/" "Unity / XNA game patcher and plugin framework") + # REQUIRED: Set all mods info into the global array -mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}") +mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}" "${mod_info_bepinexvh[@]}") diff --git a/lgsm/functions/update_papermc.sh b/lgsm/functions/update_papermc.sh index 1f334549c..302e0baac 100644 --- a/lgsm/functions/update_papermc.sh +++ b/lgsm/functions/update_papermc.sh @@ -5,9 +5,9 @@ # Website: https://linuxgsm.com # Description: Handles updating of PaperMC and Waterfall servers. -local commandname="UPDATE" -local commandaction="Update" -local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" +commandname="UPDATE" +commandaction="Update" +function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_update_papermc_dl() { # get build info diff --git a/linuxgsm.sh b/linuxgsm.sh index 01c71d68c..a0eb306f6 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -1,7 +1,7 @@ #!/bin/bash # Project: Linux Game Server Managers - LinuxGSM # Author: Daniel Gibbs -# License: MIT License, Copyright (c) 2020 Daniel Gibbs +# License: MIT License, see LICENSE.md # Purpose: Linux Game Server Management Script # Contributors: https://linuxgsm.com/contrib # Documentation: https://docs.linuxgsm.com @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v22.2.0" +version="v23.1.0" shortname="core" gameservername="core" commandname="CORE" @@ -167,8 +167,8 @@ fn_bootstrap_fetch_file() { fn_bootstrap_fetch_file_github() { github_file_url_dir="${1}" github_file_url_name="${2}" - # If master branch will currently running LinuxGSM version to prevent "version mixing". This is ignored if a fork. - if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "GameServerManager" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then + # By default modules will be downloaded from the version release to prevent potential version mixing. Only update-lgsm will allow an update. + if [ "${githubbranch}" == "master" ] && [ "${githubuser}" == "GameServerManagers" ] && [ "${commandname}" != "UPDATE-LGSM" ]; then remote_fileurl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${version}/${github_file_url_dir}/${github_file_url_name}" remote_fileurl_backup="https://bitbucket.org/${githubuser}/${githubrepo}/raw/${version}/${github_file_url_dir}/${github_file_url_name}" else @@ -321,7 +321,7 @@ fn_install_file() { } # Prevent LinuxGSM from running as root. Except if doing a dependency install. -if [ "$(whoami)" == "root" ]; then +if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then if [ "${userinput}" == "install" ] || [ "${userinput}" == "auto-install" ] || [ "${userinput}" == "i" ] || [ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then echo -e "[ FAIL ] Do NOT run this script as root!" @@ -512,9 +512,4 @@ else # Enables ANSI colours from core_messages.sh. Can be disabled with ansi=off. fn_ansi_loader - # Prevents running of core_exit.sh for Travis-CI. - if [ "${travistest}" != "1" ]; then - getopt=$1 - core_getopt.sh - fi fi diff --git a/package-lock.json b/package-lock.json index d0deca3ec..b592f5bea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "linuxgsm", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -12,9 +12,9 @@ } }, "node_modules/@pkgr/utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.0.tgz", - "integrity": "sha512-7dIJ9CRVzBnqyEl7diUHPUFJf/oty2SeoVzcMocc5PeOUDK9KGzvgIBjGRRzzlRDaOjh3ADwH0WeibQvi3ls2Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -127,9 +127,9 @@ "dev": true }, "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", + "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", "dev": true, "dependencies": { "define-lazy-prop": "^2.0.0", @@ -159,9 +159,9 @@ "dev": true }, "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -230,13 +230,13 @@ } }, "node_modules/synckit": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.3.tgz", - "integrity": "sha512-1goXnDYNJlKwCM37f5MTzRwo+8SqutgVtg2d37D6YnHHT4E3IhQMRfKiGdfTZU7LBlI6T8inCQUxnMBFHrbqWw==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", "dev": true, "dependencies": { - "@pkgr/utils": "^2.3.0", - "tslib": "^2.4.0" + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -256,9 +256,9 @@ } }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", "dev": true }, "node_modules/which": { @@ -276,191 +276,5 @@ "node": ">= 8" } } - }, - "dependencies": { - "@pkgr/utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.0.tgz", - "integrity": "sha512-7dIJ9CRVzBnqyEl7diUHPUFJf/oty2SeoVzcMocc5PeOUDK9KGzvgIBjGRRzzlRDaOjh3ADwH0WeibQvi3ls2Q==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "mvdan-sh": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/mvdan-sh/-/mvdan-sh-0.10.1.tgz", - "integrity": "sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==", - "dev": true - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true - }, - "prettier-plugin-sh": { - "version": "0.12.8", - "resolved": "https://registry.npmjs.org/prettier-plugin-sh/-/prettier-plugin-sh-0.12.8.tgz", - "integrity": "sha512-VOq8h2Gn5UzrCIKm4p/nAScXJbN09HdyFDknAcxt6Qu/tv/juu9bahxSrcnM9XWYA+Spz1F1ANJ4LhfwB7+Q1Q==", - "dev": true, - "requires": { - "mvdan-sh": "^0.10.1", - "sh-syntax": "^0.3.6", - "synckit": "^0.8.1" - } - }, - "sh-syntax": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/sh-syntax/-/sh-syntax-0.3.7.tgz", - "integrity": "sha512-xIB/uRniZ9urxAuXp1Ouh/BKSI1VK8RSqfwGj7cV57HvGrFo3vHdJfv8Tdp/cVcxJgXQTkmHr5mG5rqJW8r4wQ==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "synckit": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.3.tgz", - "integrity": "sha512-1goXnDYNJlKwCM37f5MTzRwo+8SqutgVtg2d37D6YnHHT4E3IhQMRfKiGdfTZU7LBlI6T8inCQUxnMBFHrbqWw==", - "dev": true, - "requires": { - "@pkgr/utils": "^2.3.0", - "tslib": "^2.4.0" - } - }, - "tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, - "requires": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" - } - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } } } diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh index 0a7c0893f..0c1e02d67 100644 --- a/tests/tests_fctrserver.sh +++ b/tests/tests_fctrserver.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v22.2.0" +version="v23.1.0" shortname="fctr" gameservername="fctrserver" commandname="CORE" diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh index 58e8da188..62736d50b 100644 --- a/tests/tests_jc2server.sh +++ b/tests/tests_jc2server.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v22.2.0" +version="v23.1.0" shortname="jc2" gameservername="jc2server" commandname="CORE" diff --git a/tests/tests_kcov.sh b/tests/tests_kcov.sh deleted file mode 100644 index 743e2fda2..000000000 --- a/tests/tests_kcov.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -echo -e "Installing kcov" -curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx -wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz -tar xzf master.tar.gz -cd kcov-master || exit -mkdir build -cd build || exit -cmake .. -make -sudo make install -cd ../.. -rm -rf kcov-master -mkdir -p coverage diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh index 3fbbc3bf3..6fe28715b 100644 --- a/tests/tests_mcserver.sh +++ b/tests/tests_mcserver.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v22.2.0" +version="v23.1.0" shortname="mc" gameservername="mcserver" commandname="CORE" diff --git a/tests/tests_shellcheck.sh b/tests/tests_shellcheck.sh deleted file mode 100644 index c277a5177..000000000 --- a/tests/tests_shellcheck.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -# Project: Game Server Managers - LinuxGSM -# Author: Daniel Gibbs -# License: MIT License, Copyright (c) 2020 Daniel Gibbs -# Purpose: Travis CI Tests: Shellcheck | Linux Game Server Management Script -# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors -# Documentation: https://docs.linuxgsm.com/ -# Website: https://linuxgsm.com - -echo -e "=================================" -echo -e "Travis CI Tests" -echo -e "Linux Game Server Manager" -echo -e "by Daniel Gibbs" -echo -e "Contributors: http://goo.gl/qLmitD" -echo -e "https://linuxgsm.com" -echo -e "=================================" -echo -e "" -echo -e "=================================" -echo -e "Bash Analysis Tests" -echo -e "Using: Shellcheck" -echo -e "Testing Branch: $TRAVIS_BRANCH" -echo -e "=================================" -echo -e "" -scissues=$(find . -type f \( -name "*.sh" -o -name "*.cfg" \) -not -path "./shunit2-2.1.6/*" -exec shellcheck --shell=bash --exclude=SC2154,SC2034 {} \; | grep -F "^--" | wc -l) -echo -e "Found issues: ${scissues}" -echo -e "=================================" -find . -type f \( -name "*.sh" -o -name "*.cfg" \) -not -path "./shunit2-2.1.6/*" -exec shellcheck --shell=bash --exclude=SC2154,SC2034 {} \; -echo -e "" -echo -e "=================================" -echo -e "Bash Analysis Tests - Complete!" -echo -e "Using: Shellcheck" -echo -e "=================================" diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh index d4857765e..fa6d62283 100644 --- a/tests/tests_ts3server.sh +++ b/tests/tests_ts3server.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v22.2.0" +version="v23.1.0" shortname="ts3" gameservername="ts3server" commandname="CORE"