diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 79d78730b..bb77d9f85 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,6 +1,6 @@
# These are supported funding model platforms
-github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
+github: dgibbs64 # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: dgibbs # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: dgibbs # Replace with a single Ko-fi username
@@ -9,4 +9,4 @@ community_bridge: # Replace with a single Community Bridge project-name e.g., cl
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
-custom: https://www.paypal.me/dgibbs64 # Replace with a single custom sponsorship URL
+custom: ["https://www.paypal.me/dgibbs64", paypal.me/dgibbs64] # Replace with a single custom sponsorship URL
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index e6555a40e..db7ccf4f7 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -3,23 +3,20 @@ name: Bug report
about: Found a bug? Raise a report
---
-Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info.
-For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**.
+Issues raised here are **ONLY** for:
+* LinuxGSM bugs.
+* Feature suggestions.
+* Code contributions.
-Issues 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.
-Issues 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)**.
-Any general support issues on GitHub will be migrated to [LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support).
-
-*Please use the template below*
+***Please use the template below, deleting the above text***
## User Story
@@ -27,9 +24,10 @@ As a [user description], I want [desired action] so that [desired outcome].
## Basic info
-* Distro: [Ubuntu 18.04]
-* Game: [Garry's Mod]
-* Command: [Monitor]
+* **Distro:** [Ubuntu 18.04]
+* **Game:** [Garry's Mod]
+* **Command:** [Monitor]
+* **LinuxGSM version:** [v12.34.56]
## Further Information
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 0f2ccde58..68bdf0ad6 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -3,23 +3,21 @@ name: Feature request
about: Suggest an idea for this project
---
-Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info.
-For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**.
-Issues here are **ONLY** for:
-* LinuxGSM bugs
-* feature suggestions
-* code contributions
+Issues raised here are **ONLY** for:
+* LinuxGSM bugs.
+* Feature suggestions.
+* Code contributions.
-Issues 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
+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.
-Any general support issues on GitHub will be migrated to [LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support).
+For general support visit the **[LinuxGSM Support](https://linuxgsm.com/support)** page.
-*Please use the template below*
+***Please use the template below, deleting the above text***
## User Story
@@ -27,9 +25,10 @@ As a [user description], I want [desired action] so that [desired outcome].
## Basic info
-* Distro: [Ubuntu 18.04]
-* Game: [Garry's Mod]
-* Command: [Monitor]
+* **Distro:** [Ubuntu 18.04]
+* **Game:** [Garry's Mod]
+* **Command:** [Monitor]
+* **LinuxGSM version:** [v12.34.56]
## Further Information
diff --git a/.github/ISSUE_TEMPLATE/new-server-request.md b/.github/ISSUE_TEMPLATE/new-server-request.md
index adb1f5f4f..8101f74f0 100644
--- a/.github/ISSUE_TEMPLATE/new-server-request.md
+++ b/.github/ISSUE_TEMPLATE/new-server-request.md
@@ -23,7 +23,7 @@ If yes Use SteamDB to get the appid. (https://steamdb.info).
## Is the server supported on Linux?
-We only support Linux servers and do not support Wine.
+We only support Linux servers and do **not** support Wine.
* [ ] Yes
* [ ] No
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index a04f0dc68..5aa59ce42 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,6 +1,6 @@
# Description
-Please include a summary of the change and which issues is fixed
+Please include a summary of the change and which issues are fixed.
Fixes #[issue]
@@ -18,6 +18,7 @@ PR will not be merged until all steps are complete.
* [ ] This pull request links to an issue.
* [ ] This pull request uses the `develop` branch as its base.
+* [ ] This pull request Subject follows the Conventional Commits standard.
* [ ] This code follows the style guidelines of this project.
* [ ] I have performed a self-review of my own code.
* [ ] I have checked that this code is commented where required.
diff --git a/.travis.yml b/.travis.yml
index 5606c8e6a..d3ad78ad8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,47 +1,44 @@
language: node_js
-dist: xenial
+dist: bionic
node_js:
- - 10
+ - "stable"
+env:
+ global:
+ secure: VsS98cwJ5X/Ev3HEm7KEOPftYay+7jNTHepTS7d+gQNHcDR1UYKTmqlQNSIoUC52Ejs1cHq43jOfle4330zDPOYI0v5BMri6/iZKpmMxAw6KWNiUgSkziTP2kHC4NRLwEoU2WQTI3JZQjrBEfsPmD81+yR/eWXV3rph+YcSOxao=
before_script:
- - curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx
+ - curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx
+
install:
- npm install gamedig
+ - npm install gamedig
+
addons:
apt:
packages:
- mailutils
- postfix
- - curl
- - wget
- - file
- - bzip2
- - gzip
- - unzip
- - bsdmainutils
- - python3
- - util-linux
- - ca-certificates
- - binutils
- - bc
- jq
- - tmux
- lib32gcc1
- - libstdc++6
- libstdc++6:i386
- - net-tools
- - iproute2
- shellcheck
+ - libcurl4-openssl-dev
+ - libdw-dev
+ - cmake
jobs:
include:
- - stage: jobs
- script: bash tests/tests_jc2server.sh
- - # stage name not required
- script: bash tests/tests_fctrserver.sh
- - # stage name not required
- script: bash tests/tests_mcserver.sh
- - # stage name not required
- script: bash tests/tests_ts3server.sh
- - # retired as codacy does this check.
- # script: bash tests/tests_shellcheck.sh
+ - stage: "Jobs"
+ name: "code coverage"
+ script: bash tests/tests_kcov.sh; kcov --bash-method=DEBUG coverage tests/tests_mcserver.sh
+ - script: bash tests/tests_mcserver.sh
+ name: "Minecraft"
+ - script: bash tests/tests_jc2server.sh
+ name: "Just Cause 2"
+ - script: bash tests/tests_fctrserver.sh
+ name: "Factorio"
+ - script: bash tests/tests_ts3server.sh
+ name: "Teamspeak 3"
+ - script: bash tests/tests_defaultcfg/tests_defaultcfg.sh
+ name: "_default.cfg checks"
+after_success:
+- bash <(curl -Ls https://coverage.codacy.com/get.sh)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 33650771e..2cadd7e54 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,36 +1,213 @@
-# How to contribute to LinuxGSM
+# Contributing to LinuxGSM
-We are really glad you're reading this, because if you are then you have shown an interest in helping make LinuxGSM great.
+๐๐ Thank you for taking the time to contribute! ๐๐
-If you haven't already, come find us on [Discord](https://linuxgsm.com/discord). From there you will have contact with other contributers of the project. We want you working on things you're excited about.
+The following is a set of guidelines for contributing to LinuxGSM, which are hosted in the [GameServerManagers Organization](https://github.com/gameservermanagers) on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
-Before working on a project we recommend that you create a issue in regards to the issue/feature. This will prevent duplicates while you work on the feature. If an issue already exists, make note that you are working on it so nobody else wastes their time working on the same project at the same time!
+## Table of Contents
+* [Contributing to LinuxGSM](#contributing-to-linuxgsm)
+ * [Table of Contents](#table-of-contents)
+ * [Code of Conduct](#code-of-conduct)
+ * [Bug/Enhancement Contributions](#---bug-enhancement-contributions---)
+ * [Reporting Bugs](#--reporting-bugs)
+ * [Before Submitting A Bug Report](#before-submitting-a-bug-report)
+ * [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a--good--bug-report-)
+ * [Suggesting Features](#--suggesting-features)
+ * [Before Submitting An Feature Suggestion](#before-submitting-an-feature-suggestion)
+ * [How Do I Submit A (Good) Feature Suggestion?](#how-do-i-submit-a--good--feature-suggestion-)
+ * [Game Server Requests](#---game-server-requests)
+ * [Before Submitting a Game Server Request](#before-submitting-a-game-server-request)
+ * [How Do I Submit A (Good) Game Server Suggestion?](#how-do-i-submit-a--good--feature-suggestion--1)
+ * [Game Server Specific Issues](#---game-server-specific-issues)
+ * [Code Contributions](#---code-contributions)
+ * [Pull Requests](#pull-requests)
+ * [Pull Request naming convention](#pull-request-naming-convention)
+ * [Testing](#testing)
+ * [Pull Request Status Checks](#pull-request-status-checks)
+ * [Test Environment](#test-environment)
+ * [Styleguides](#-wine-glass--styleguides)
+ * [Git Commit Messages](#git-commit-messages)
+ * [BASH Styleguide](#bash-styleguide)
+ * [Document Contributions](#-blue-book--document-contributions)
+ * [Documentation Styleguide](#documentation-styleguide)
+ * [Issue and Pull Request Labels](#issue-and-pull-request-labels)
+## Code of Conduct
-Here are some important resources:
+This project and everyone participating in it are governed by the [LinuxGSM Code of Conduct](https://github.com/GameServerManagers/linuxgsm/blob/master/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behaviour to [daniel.gibbs@linuxgsm.com](mailto:daniel.gibbs@linuxgsm.com).
- * [Issues Page](https://github.com/GameServerManagers/LinuxGSM/issues) provides a list of areas that could use some work,
- * [Developer Wiki](https://github.com/GameServerManagers/LinuxGSM/wiki) gives a detailed guide on developing LGSM,
+## ๐ Bug/Enhancement Contributions ๐
-## Testing
+### ๐Reporting Bugs
-Please make sure all the code you write is working properly **before** you create a pull request. Information on debugging can be found in the following document:
+This section guides you through submitting a bug report for LinuxGSM. Following these guidelines help maintainers and the community understand your report ๐, reproduce the behaviour๐ป, and find any related reports ๐.
-[Developer Commands](https://github.com/GameServerManagers/LinuxGSM/wiki/Developer-Commands)
+Before creating bug reports, please check [this list](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#before-submitting-a-bug-report) as you might find out that you donโt need to create one. When you are creating a bug report, please [include as many details as possible](https://github.com/atom/atom/blob/master/CONTRIBUTING.md#how-do-i-submit-a-good-bug-report). Fill out [the required template](https://github.com/atom/.github/blob/master/.github/ISSUE_TEMPLATE/bug_report.md), the information it asks for helps us resolve issues faster.
-## Submitting changes
+#### Before Submitting A Bug Report
-Please send a [GitHub Pull Request to LinuxGSM](https://github.com/GameServerManagers/LinuxGSM/pull/new/develop) with a clear list of what you've done (read more about [pull requests](https://help.github.com/articles/about-pull-requests)). Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit).
+* **Check the** [**documentation**](https://docs.linuxgsm.com/%5D(https://docs.linuxgsm.com/))**.** You might be able to find the cause of the problem and fix things yourself.
+* **Check that the problem is not related to** [**support page**](https://linuxgsm/com/support) for links to other support options.
+* **Check the** [**support page**](https://linuxgsm/com/support) for links to other support options.
+* **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
-Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this:
+#### How Do I Submit A (Good) Bug Report?
- $ git commit -m "A brief summary of the commit
- >
- > A paragraph describing what changed and its impact."
-This will help us in understanding your code and determining where problems may arise.
+Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose).
-## Coding conventions
+* **Use a clear and descriptive title** for the issue to identify the problem.
+* **Complete the user story** to give a summary of the issue.
+* **Provide basic info** to help us understand the context of the issue.
+* **Provide further info** to give specifics and more detail.
+* **Give steps to reproduce** the issue, allowing developers to follow steps that lead to the issue.
+* **Explain what you expect** to happen, so we know what you think should occur.
-Start reading our code and you'll get the hang of it. Explore how functions are organized and you'll see how we strive for readable code.
+### ๐Suggesting Features
-Please give the following document a read and adjust your code according to its specifications.
-[Syntax & Coding Conventions](https://github.com/GameServerManagers/LinuxGSM/wiki/Syntax-and-Conventions)
+This section guides you through submitting a feature suggestion for LinuxGSM, including completely new features and minor improvements to existing functionality. Following these guidelines help maintainers and the community understand your suggestion ๐ and find related suggestions ๐.
+
+#### Before Submitting An Feature Suggestion
+
+* **Check the** [**documentation**](https://docs.linuxgsm.com/%5D(https://docs.linuxgsm.com/)) to confirm that the enhancement doesnโt already exist.
+* **Check your** [**LinuxGSM version**](https://docs.linuxgsm.com/commands/update-lgsm)**.** A newer version of LinuxGSM may already have your enhancement.
+* **Perform a** [**cursory search**](https://github.com/search?q=org:GameServerManagers%20type:issues&type=Issues) to see if the enhancement has already been suggested. If it has **and the enhancement is still open**, add a comment to the existing issue and give it a thumbs up instead of opening a new one.
+
+#### How Do I Submit A (Good) Feature Suggestion?
+
+Features are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information by filling in [the issues form](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose).
+
+* **Use a clear and descriptive title** for the issue to identify the problem.
+* **Complete the user story** to give a summary of the issue.
+* **Provide basic info** to help us understand the context of the enhancement.
+* **Provide further info** to give specifics and more detail.
+* **Provide any further reading** materials that might assist in developing the enhancement.
+
+### ๐ฎ Game Server Requests
+
+This section guides you through submitting a game server request for LinuxGSM, Following these guidelines help maintainers and the community understand your game server request ๐
+
+#### Before Submitting a Game Server Request
+
+* **Check for existing** [**game server requests**](https://github.com/GameServerManagers/LinuxGSM/labels/type%3A%20game%20server%20request) to see if the new game server has already been suggested. If it has **and if the new game server is still open**, give it a thumbs up instead of opening a new one.
+
+### ๐ฎ Game Server Specific Issues
+
+LinuxGSM is a management script that acts as a wrapper around game servers. These game servers are developed by different game developers such as Valve, Epic and Facepunch to name a few.
+
+LinuxGSM has no control over the development and limited knowledge issues directly relating to the game servers themselves. The same also applies for any mods, add-ons, maps etc.
+
+If there is an issue with a specific game server or mod the best action may be to contact the game/mod developers on there support forums. If it is unclear some community members might be able to help.
+
+A [list](https://docs.linuxgsm.com/support/game-server) of known game developer forums is available on the [LinuxGSM docs](https://docs.linuxgsm.com/support/game-server).
+
+## ๐ป Code Contributions
+
+### Pull Requests
+
+The process described here has several goals:
+
+* Maintain LinuxGSM quality.
+* Fix problems that are important to users.
+* Engage the community in working toward the best possible LinuxGSM.
+* Enable a sustainable system for LinuxGSM maintainers to review contributions.
+
+Please follow these steps to have your contribution considered by the maintainers:
+
+1. Follow all instructions in [the template](https://github.com/GameServerManagers/LinuxGSM/blob/master/.github/pull_request_template.md)
+2. Follow the [style guides](#styleguides)
+3. After you submit your pull request, verify that all [status checks](https://help.github.com/articles/about-status-checks/) are passing
+
+What if the status checks are failing? If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.
+
+While the prerequisites above must be satisfied before having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.
+
+#### Pull Request naming convention
+
+When naming a pull request to ensure that it is following [Conventional Commits](https://www.conventionalcommits.org/) standards; as your pull request commits will be squashed, with the PR subject becoming the commit that is used for generating the [changelog](https://github.com/GameServerManagers/LinuxGSM/releases) for the next release.
+
+The pull request subject line should always be able to complete the following sentence:
+
+If applied, this commit will _your subject line here_
+
+For example:
+
+* If applied, this commit will _refactor subsystem X for readability_
+* If applied, this commit will _update getting started documentation_
+* If applied, this commit will _remove deprecated methods_
+* If applied, this commit will _release version 1.0.0_
+* If applied, this commit will _merge pull request #123 from user/branch_
+
+Notice how this doesnโt work for the other non-imperative forms:
+
+* If applied, this commit will _fixed bug with Y_
+* If applied, this commit will _change the behaviour of X_
+* If applied, this commit will _more fixes for broken stuff_
+* If applied, this commit will _sweet new API methods_
+
+Below is an example of the subject line for a pull request.
+
+feat(alerts): add slack support to alerts
+
+fix(csgoserver): remove SteamCMD auth requirement 32-bit workaround
+
+### Testing
+
+#### Pull Request Status Checks
+When a Pull Request is submitted, a series of status check tests are conducted. These tests will asses the code quality, complete CI tests etc. To get your PR merged these status checks must pass.
+
+#### Test Environment
+It is recommended that you have a testing environment available to test your code during development. To test your own cod you must change some variables within the `linuxgsm.sh` file. This will force the use of your own code branch.
+```bash
+## GitHub Branch Select
+# Allows for the use of different function files
+# from a different repo and/or branch.
+githubuser="GameServerManagers"
+githubrepo="LinuxGSM"
+githubbranch="master"
+```
+
+### :wine_glass: Styleguides
+
+#### Git Commit Messages
+
+LinuxGSM uses the Conventional commits standard to allow other developers to get easy to understand, descriptive commit messages as you develop. While it is recommended that you use this standard for your commits, as your commits will eventually be squashed when your PR is merged following this standard is not strictly enforced for commits, however, it is recommended for more complex commits.
+
+#### BASH Styleguide
+
+LinuxGSM uses [ShellCheck](https://www.shellcheck.net/) to follow BASH best practices. It is recommended that you make use of linter tools for your text editor such as [linter-shellcheck](https://atom.io/packages/linter-shellcheck). LinuxGSM uses [Codacy](https://app.codacy.com/manual/GameServerManagers/LinuxGSM/dashboard) to analyse any Pull Requests to give you feedback on code standards.
+
+LinuxGSM also has some of its style standards that should be followed. These are available in the [dev docs](https://dev-docs.linuxgsm.com/)
+
+## :blue_book: Document Contributions
+
+As well as code contributions it is possible to contribute by writing and improving documentation. Documents contributions can be submitted similarly by submitting a Pull Request.
+
+### Documentation Styleguide
+
+LinuxGSM has various documentation available to assist users and developers. LinuxGSM primarily uses [GitBook](http://gitbook.com/) which uses the [Markdown](https://www.markdownguide.org/) document standard. LinuxGSM uses [Codacy](https://app.codacy.com/manual/GameServerManagers/LinuxGSM/dashboard) to analyse any Pull Requests to give you feedback on markup standards.
+
+## Issue and Pull Request Labels
+
+This section lists the labels we use to help us track and manage issues and pull requests.
+
+[GitHub search](https://help.github.com/articles/searching-issues/) makes it easy to use labels for finding groups of issues or pull requests you're interested in. There are several categories of labels available:
+
+**command** Labels
+Highlights the LinuxGSM command the Issue/PR relates too.
+
+**info** Labels
+Labels to help pinpoint what the issue or PR relates too.
+
+variants:
+* _distro_
+* _engine_
+* _game_
+* _info_
+
+**outcome** Labels
+Labels that identify why an issue was closed.
+
+**status** Labels
+Labels to update people on the status of the issue.
+
+**type** Labels
+Labels identifying the type of issue, such as a bug, feature, refactor etc.
diff --git a/README.md b/README.md
index 534ce9d79..25996581a 100644
--- a/README.md
+++ b/README.md
@@ -3,9 +3,9 @@
-[](https://linuxgsm.com) [](https://travis-ci.com/GameServerManagers/LinuxGSM) [](https://app.codacy.com/app/GameServerManagers/LinuxGSM?utm_source=github.com&utm_medium=referral&utm_content=GameServerManagers/LinuxGSM&utm_campaign=Badge_Grade_Dashboard) [](https://linuxgsm.com/discord) [](https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE) [](https://www.gnu.org/software/bash/) [](#contributors)
+[](https://linuxgsm.com) [](https://travis-ci.com/GameServerManagers/LinuxGSM) [](https://app.codacy.com/app/GameServerManagers/LinuxGSM?utm_source=github.com&utm_medium=referral&utm_content=GameServerManagers/LinuxGSM&utm_campaign=Badge_Grade_Dashboard) [](https://www.codacy.com/manual/GameServerManagers/LinuxGSM?utm_source=github.com&utm_medium=referral&utm_content=GameServerManagers/LinuxGSM&utm_campaign=Badge_Coverage) [](https://linuxgsm.com/discord) [](https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE) [](https://www.gnu.org/software/bash/) [](#contributors)
-[LinuxGSM](https://linuxgsm.com) command-line tool for quick, simple deployment and management of Linux dedicated game servers.
+[LinuxGSM](https://linuxgsm.com) is the command-line tool for quick, simple deployment and management of Linux dedicated game servers.
## Hassle-Free Dedicated Game Servers
diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index 03befbd00..9db6afe4a 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -27,6 +27,12 @@ parms="-game ahl2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientpo
#### 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)
@@ -97,15 +103,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -118,7 +124,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## SteamCMD Settings
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="985050"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -126,7 +141,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-## LinuxGSM Server Details
+## Game Server Details
# Do not edit
gamename="Action: Source"
engine="source"
@@ -135,11 +150,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/ahl2"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -152,11 +167,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index 65cfd5fab..b9d5e36b5 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game action -strictportbind +ip ${ip} -port ${port} +clientport ${client
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="cstrike"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Action half-life"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/action"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index f69643c12..8aace7519 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -24,6 +24,12 @@ parms="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}
#### 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)
@@ -94,15 +100,15 @@ logdays="7"
# Query delay time
querydelay="5"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="376030"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -110,7 +116,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -123,7 +129,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="ARK: Survival Evolved"
engine="unreal4"
@@ -132,13 +147,13 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/ShooterGame"
executabledir="${systemdir}/Binaries/Linux"
executable="./ShooterGameServer"
-servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfg="GameUserSettings.ini"
servercfgdefault="GameUserSettings.ini"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -149,11 +164,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index d58cb76e5..b8e8b3db7 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -38,6 +38,12 @@ parms="-ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgful
#### 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)
@@ -108,15 +114,15 @@ logdays="7"
# Query delay time
querydelay="5"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="233780"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -124,7 +130,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -137,7 +143,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="ARMA 3"
engine="realvirtuality"
@@ -146,12 +161,12 @@ glibc="2.13"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./arma3server"
-servercfg="${servicename}.server.cfg"
-networkcfg="${servicename}.network.cfg"
+servercfg="${selfname}.server.cfg"
+networkcfg="${selfname}.network.cfg"
servercfgdefault="server.cfg"
networkcfgdefault="network.cfg"
servercfgdir="${systemdir}/cfg"
@@ -165,11 +180,11 @@ backupdir="${lgsmdir}/backup"
logdir="${rootdir}/log"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index aa5ffca37..044dd18a3 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="bba_barracks"
maxplayers="20"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game brainbread2 -strictportbind -ip ${ip} -port ${port} +clientport ${c
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="475370"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="BrainBread 2"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/brainbread2"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index 11e7b23a0..a263486d4 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game brainbread -strictportbind +ip ${ip} -port ${port} +clientport ${cl
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="cstrike"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="BrainBread"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/brainbread"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index c2c148113..a57e41c12 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game bdef -strictportbind +ip ${ip} -port ${port} +clientport ${clientpo
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="817300"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Base Defense"
engine="goldsource"
@@ -130,11 +145,11 @@ glibc="2.14"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/bdef"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,11 +162,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index 19e919726..cd77130db 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ parms="+hostServer 1 +dedicated 1"
#### 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)
@@ -85,15 +91,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -106,7 +112,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Battlefield: 1942"
engine="refractor"
@@ -115,7 +130,7 @@ glibc="2.0"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="./start.sh"
@@ -132,11 +147,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index 4a42b24aa..5b947486b 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="dm_bounce"
maxplayers="16"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game bms -strictportbind -ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="346680"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Black Mesa: Deathmatch"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/bms"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index 6f66c1680..da2b4163a 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -1,16 +1,16 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
ip=""
@@ -21,6 +21,12 @@ parms="-batchmode -nographics -dedicated -configfile=${servercfgfullpath}"
#### 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)
@@ -91,15 +97,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="416880"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -107,7 +113,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -120,7 +126,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Ballistic Overkill"
engine="unity3d"
@@ -129,11 +144,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./BODS.x86"
-servercfg="${servicename}.txt"
+servercfg="${selfname}.txt"
servercfgdefault="config.txt"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -146,11 +161,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index 29f8d9814..6685734d9 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -20,9 +20,9 @@ sourcetvport="27020"
defaultmap="duel_winter"
maxplayers="16"
-## Required: Game Server Login Token
+## Game Server Login Token (GSLT): Required
# GSLT is required for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -32,6 +32,12 @@ parms="-game "${serverfiles}/berimbau" -autoupdate -strictportbind -ip ${ip} -po
#### 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)
@@ -102,15 +108,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="228780"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -118,7 +124,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -131,7 +137,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Blade Symphony"
engine="source"
@@ -140,11 +155,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/berimbau"
executabledir="${serverfiles}/bin"
executable="./srcds_run.sh"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -157,11 +172,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
index 5ea155b17..3565e3670 100644
--- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="/Game/Maps/Final_Maps/Derailed?Game=/Script/ShooterGame.WartideGameMode?l
#### 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)
@@ -90,15 +96,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="805140"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -106,7 +112,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -119,7 +125,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Battalion 1944"
engine="unreal4"
@@ -128,13 +143,13 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Linux/Battalion"
executabledir="${systemdir}/Binaries/Linux"
executable="./BattalionServer"
-servercfgdir="${systemdir}/Saved/Config/LinuxServer"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="DefaultGame.ini"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -145,11 +160,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index 600e016c7..7825610a9 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ parms=""
#### 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)
@@ -85,15 +91,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1026340"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -101,7 +107,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -114,7 +120,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="7"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Barotrauma"
engine="barotrauma"
@@ -123,7 +138,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="./DedicatedServer.exe"
@@ -140,11 +155,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/ServerLogs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index fb6f47507..e6feab660 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game cure -strictportbind -ip ${ip} -port ${port} +clientport ${clientpo
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="383410"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Codename CURE"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/cure"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index 523b61755..61e2962c3 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -21,6 +21,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 2 +se
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -109,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Call of Duty 2"
engine="iw2.0"
@@ -118,11 +133,11 @@ glibc="2.1.3"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./cod2_lnxded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/main"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -135,11 +150,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index 546ad2b44..ebf573ac3 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -21,6 +21,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set fs_homepath ${s
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -109,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Call of Duty 4"
engine="iw3.0"
@@ -118,11 +133,11 @@ glibc="2.12"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./cod4x18_dedrun"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/main"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -135,11 +150,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index f527bc194..bd783d62c 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -21,6 +21,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 2 +se
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -109,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Call of Duty"
engine="idtech3"
@@ -118,11 +133,11 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./cod_lnxded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/main"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -135,11 +150,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index cc4109847..a187cfc99 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -21,6 +21,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 2 +se
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -109,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Call of Duty: United Offensive"
engine="idtech3"
@@ -118,11 +133,11 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./coduo_lnxded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/uo"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -135,11 +150,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index 484d64194..ba9163205 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -21,6 +21,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 2 +se
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -109,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Call of Duty: World at War"
engine="iw3.0"
@@ -118,11 +133,11 @@ glibc="2.3.2"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./codwaw_lnxded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/main"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -135,11 +150,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index 15909d0f9..918d78841 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game czero -strictportbind +ip ${ip} -port ${port} +clientport ${clientp
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="czero"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Counter-Strike: Condition Zero"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/czero"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index 1358a186c..15f45808b 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -1,15 +1,15 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
-# https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server
+# 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
@@ -30,9 +30,9 @@ defaultmap="de_mirage"
maxplayers="16"
tickrate="64"
-## Required: Game Server Login Token
+## Game Server Login Token (GSLT): Required
# GSLT is required for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Workshop Parameters | https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators
@@ -48,6 +48,12 @@ parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport $
#### 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)
@@ -118,15 +124,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="740"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -134,7 +140,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -147,7 +153,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Counter-Strike: Global Offensive"
engine="source"
@@ -156,11 +171,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/csgo"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -173,11 +188,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index 7141f33a9..1c58f0256 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game cstrike -strictportbind +ip ${ip} -port ${port} +clientport ${clien
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="cstrike"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Counter-Strike 1.6"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/cstrike"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index aa750fe1c..d50676ced 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="de_dust2"
maxplayers="16"
-## Required: Game Server Login Token
+## Game Server Login Token (GSLT): Required
# GSLT is required for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game cstrike -strictportbind -ip ${ip} -port ${port} +clientport ${clien
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="232330"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Counter-Strike: Source"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/cstrike"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index e256c2a47..03d518e06 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_por
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="317800"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Double Action: Boogaloo"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/dab"
executabledir="${serverfiles}"
executable="./dabds.sh"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index 779f33632..d2dcee9fa 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game dmc -strictportbind +ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="dmc"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Deathmatch Classic"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/dmc"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index 2c47d5501..f23ab09b8 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game dod -strictportbind +ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="dod"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Day of Defeat"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/dod"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index 83ba5072a..4e1aa6c94 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game dod -strictportbind -ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="232290"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Day of Defeat: Source"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/dod"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index f74935f60..6dce5a140 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -24,6 +24,12 @@ parms="-game doi -strictportbind -ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -94,15 +100,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="462310"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -110,7 +116,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -123,7 +129,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Day of Infamy"
engine="source"
@@ -132,11 +147,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/doi"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,12 +162,13 @@ backupdir="${lgsmdir}/backup"
## Logging Directories
logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
+lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index fc054e87d..3073f2d79 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Installation Variables | https://docs.linuxgsm.com/game-servers/dont-starve-together
sharding="false"
@@ -26,6 +26,12 @@ parms="-persistent_storage_root ${persistentstorageroot} -conf_dir ${confdir} -c
#### 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)
@@ -96,15 +102,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="343050"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -112,7 +118,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -125,30 +131,36 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Don't Starve Together"
engine="dontstarve"
glibc="2.15"
-## Service Name | https://docs.linuxgsm.com/features/multiple-game-servers
-servicename="dst-server-${shard}"
-
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}/bin"
executable="./dontstarve_dedicated_server_nullrenderer"
-clustercfg="cluster.ini"
-clustercfgdir="${persistentstorageroot}/${confdir}/${cluster}"
-clustercfgfullpath="${clustercfgdir}/${clustercfg}"
-clustercfgdefault="cluster.ini"
servercfg="server.ini"
servercfgdir="${clustercfgdir}/${shard}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="server.ini"
+clustercfg="cluster.ini"
+clustercfgdir="${persistentstorageroot}/${confdir}/${cluster}"
+clustercfgfullpath="${clustercfgdir}/${clustercfg}"
+clustercfgdefault="cluster.ini"
## Backup Directory
backupdir="${lgsmdir}/backup"
@@ -158,11 +170,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index 717c17078..f368fc310 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="dys_broadcast"
maxplayers="16"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game "${serverfiles}/dystopia" -strictportbind -ip ${ip} -port ${port} +
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="17585"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Dystopia"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/dystopia"
executabledir="${serverfiles}/bin"
executable="./srcds_run.sh"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index 4d2e15d7c..c68e15df2 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ fn_parms(){
#### 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)
@@ -61,9 +67,13 @@ slackalert="off"
slackwebhook="webhook"
# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
+# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring".
+# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need
+# any custom string in curl - simple ignore this parameter.
telegramalert="off"
telegramtoken="accesstoken"
telegramchatid=""
+curlcustomstring=""
## Updating | https://docs.linuxgsm.com/commands/update
updateonstart="off"
@@ -81,15 +91,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="739590"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -97,7 +107,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -110,7 +120,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Eco"
engine="unity3d"
@@ -119,7 +138,7 @@ glibc="null"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="mono ./EcoServer.exe"
@@ -136,12 +155,12 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index a33e7f71a..65fe4d0dc 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="emp_district"
maxplayers="62"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game empires -strictportbind -ip ${ip} -port ${port} +clientport ${clien
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="460040"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Empires Mod"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/empires"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index 6c6a50734..ed4759cd2 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ parms="+set net_strict 1 +set fs_homepath ${serverfiles} +exec ${servercfg}"
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -82,15 +88,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -103,7 +109,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="ET: Legacy"
engine="idtech3"
@@ -112,11 +127,11 @@ glibc="2.7"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="./etlded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/etmain"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -129,11 +144,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index da4f64da8..15c5bf0cf 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="--start-server ${serverfiles}/save1.zip --server-settings ${servercfgfull
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -114,7 +120,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Factorio"
engine="factorio"
@@ -123,11 +138,11 @@ glibc="2.18"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}/bin/x64"
executable="./factorio"
-servercfg="${servicename}.json"
+servercfg="${selfname}.json"
servercfgdefault="server-settings.json"
servercfgdir="${serverfiles}/data"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -136,14 +151,15 @@ servercfgfullpath="${servercfgdir}/${servercfg}"
backupdir="${lgsmdir}/backup"
## Logging Directories
+logdir="${rootdir}/log"
gamelogdir="${serverfiles}"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index d78916c6f..b2da0ed5b 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game fof -strictportbind -ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="295230"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Fistful of Frags"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/fof"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/gesserver/_default.cfg b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
index 08adc02aa..00ba0497f 100644
--- a/lgsm/config-default/config-lgsm/gesserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game gesource -strictportbind -ip ${ip} -port ${port} +clientport ${clie
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="310" # Source 2007 SDK
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="GoldenEye: Source"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/gesource"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index 06c92867d..d1501dc71 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -27,9 +27,9 @@ wscollectionid=""
# Default -disableluarefresh, disables lua autorefresh reducing server lag. Auto refresh only useful for developers.
customparms="-disableluarefresh"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -39,6 +39,12 @@ parms="-game garrysmod -strictportbind -ip ${ip} -port ${port} -tickrate ${tickr
#### 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)
@@ -109,15 +115,15 @@ logdays="7"
# Query delay time
querydelay="5"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="4020"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -125,7 +131,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -138,7 +144,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Garry's Mod"
engine="source"
@@ -147,12 +162,12 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/garrysmod"
addonsdir="${systemdir}/addons"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -165,11 +180,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index c710cbb62..add451f92 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game hl2mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientp
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="232370"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Half Life 2: Deathmatch"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/hl2mp"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index eddf8143b..279f13b73 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game valve -strictportbind +ip ${ip} -port ${port} +clientport ${clientp
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Half Life: Deathmatch"
engine="goldsource"
@@ -130,11 +145,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/valve"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,11 +162,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index 77b164052..787e3c32b 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game hl1mp -strictportbind -ip ${ip} -port ${port} +clientport ${clientp
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="255470"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Half-Life Deathmatch: Source"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/hl1mp"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
index 70e55e792..facdaea0e 100644
--- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
servername="LinuxGSM Server"
@@ -34,6 +34,12 @@ parms="-batchmode -nographics -exec \"host ${port} ${defaultmap} ${loadsave};que
#### 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)
@@ -104,15 +110,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="405100"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -120,7 +126,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -133,7 +139,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Hurtworld"
engine="unity3d"
@@ -142,7 +157,7 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./Hurtworld.x86_64" || echo -e "./Hurtworld.x86")
@@ -155,13 +170,13 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index 246b00584..a9daf4e86 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -17,18 +17,24 @@ defaultmap="embassy_coop checkpoint"
maxplayers="32"
tickrate="64"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
-parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} -workshop"
+parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} -workshop -norestart"
}
#### 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)
@@ -99,15 +105,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="237410"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -115,7 +121,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -128,7 +134,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Insurgency"
engine="source"
@@ -137,11 +152,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/insurgency"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -154,11 +169,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index cc54b8d3f..014333b6a 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -1,15 +1,14 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
-
ip="0.0.0.0"
port="27102"
queryport="27131"
@@ -31,6 +30,12 @@ fn_parms(){
#### 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)
@@ -101,15 +106,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="581330"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -117,7 +122,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -130,7 +135,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Insurgency: Sandstorm"
engine="unreal4"
@@ -139,7 +153,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Insurgency"
executabledir="${systemdir}/Binaries/Linux"
executable="./InsurgencyServer-Linux-Shipping"
@@ -156,12 +170,12 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/instance-template.cfg b/lgsm/config-default/config-lgsm/instance-template.cfg
index 69646e3a7..1f8109ce6 100644
--- a/lgsm/config-default/config-lgsm/instance-template.cfg
+++ b/lgsm/config-default/config-lgsm/instance-template.cfg
@@ -1,5 +1,5 @@
##################################
-######## Instance Settings ########
+####### Instance Settings ########
##################################
# PLACE INSTANCE SETTINGS HERE
-## These settings will apply to a specific instance
\ No newline at end of file
+## These settings will apply to a specific instance
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index 0beecbdab..27f93c29c 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game iosoccer -strictportbind -ip ${ip} -port ${port} +clientport ${clie
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="673990"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="IOSoccer"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/iosoccer"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index 52248161c..2942b0b6c 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ parms=""
#### 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)
@@ -85,15 +91,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="261140"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -101,7 +107,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -114,7 +120,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="jc2mp"
+
+## Game Server Details
# Do not edit
gamename="Just Cause 2"
engine="avalanche2.0"
@@ -123,7 +138,7 @@ glibc="2.13"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./Jcmp-Server"
@@ -140,11 +155,11 @@ logdir="${rootdir}/log"
#gamelogdir="" # No server logs available
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index b99603c03..1c88c7de2 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ parms=""
#### 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)
@@ -85,15 +91,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="619960"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -101,7 +107,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -114,7 +120,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Just Cause 3"
engine="avalanche3.0"
@@ -123,7 +138,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./Server"
@@ -140,11 +155,11 @@ logdir="${rootdir}/log"
#gamelogdir="" # No server logs available
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index da31e737a..016c28f69 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,11 +16,17 @@ gamemode="KFGameContent.KFGameInfo_VersusSurvival"
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
-parms="\"${defaultmap}?Game=${gamemode}?ConfigSubDir=${servicename} -QueryPort=${queryport}\""
+parms="\"${defaultmap}?Game=${gamemode}?ConfigSubDir=${selfname} -QueryPort=${queryport}\""
}
#### 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)
@@ -91,15 +97,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="232130"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -107,7 +113,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -120,7 +126,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Killing Floor 2"
engine="unreal3"
@@ -128,11 +143,11 @@ glibc="2.3.2"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}/Binaries/Win64"
executable="./KFGameSteamServer.bin.x86_64"
-servercfgdir="${systemdir}/KFGame/Config/${servicename}"
+servercfgdir="${systemdir}/KFGame/Config/${selfname}"
servercfg="LinuxServer-KFGame.ini"
servercfgdefault="LinuxServer-KFGame.ini"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -145,11 +160,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index 82d67bc62..ee5817909 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -27,6 +27,12 @@ parms="server ${defaultmap}?game=KFmod.KFGameType?VACSecured=true -nohomedir ini
#### 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)
@@ -97,15 +103,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="215360"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -113,7 +119,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -126,7 +132,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-unreal2"
+
+## Game Server Details
# Do not edit
gamename="Killing Floor"
engine="unreal2"
@@ -135,12 +150,12 @@ glibc="2.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
serverfiles="${rootdir}/serverfiles"
systemdir="${serverfiles}/System"
executabledir="${systemdir}"
executable="./ucc-bin"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="Default.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -154,13 +169,13 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index 2250b7393..90c597f9e 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game left4dead2 -strictportbind -ip ${ip} -port ${port} +clientport ${cl
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="222860"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Left 4 Dead 2"
engine="source"
@@ -130,11 +145,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/left4dead2"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,11 +162,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index 33ff44c30..c72d16e14 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game left4dead -strictportbind -ip ${ip} -port ${port} +clientport ${cli
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="222840"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Left 4 Dead"
engine="source"
@@ -130,7 +145,7 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/left4dead"
executabledir="${serverfiles}"
executable="./srcds_run"
@@ -147,11 +162,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
new file mode 100644
index 000000000..79a623d61
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
@@ -0,0 +1,157 @@
+##################################
+######## 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 Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+fn_parms(){
+parms=""
+}
+
+#### 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"
+postdays="7"
+posttarget="https://hastebin.com"
+
+# 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=""
+
+# 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"
+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"
+
+# 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) or else in "curlcustomstring".
+# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need
+# any custom string in curl - simple ignore this parameter.
+telegramalert="off"
+telegramtoken="accesstoken"
+telegramchatid=""
+curlcustomstring=""
+
+## Updating | https://docs.linuxgsm.com/commands/update
+updateonstart="off"
+
+## Backup | https://docs.linuxgsm.com/commands/backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://docs.linuxgsm.com/features/logging
+consolelogging="on"
+logdays="7"
+
+## Monitor | https://docs.linuxgsm.com/commands/monitor
+# Query delay time
+querydelay="1"
+
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
+ansi="on"
+
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
+sleeptime="0.5"
+
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
+# 1: tmux kill
+# 2: CTRL+c
+# 3: quit
+# 4: quit 120s
+# 5: stop
+# 6: q
+# 7: exit
+# 8: 7 Days to Die
+# 9: Gold Source
+# 10: Teamspeak 3
+stopmode="5"
+
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="4"
+querytype="minecraftbe"
+
+## Game Server Details
+# Do not edit
+gamename="Minecraft Bedrock"
+engine="bedrock"
+glibc="2.27"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
+executable="${serverfiles}/bedrock_server"
+servercfg="server.properties"
+servercfgdefault="server.properties"
+servercfgdir="${serverfiles}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+logdir="${rootdir}/log"
+gamelogdir="${systemdir}"
+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/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index 663c141a7..904a2af88 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
javaram="1024" # -Xmx$1024M
@@ -15,8 +15,15 @@ javaram="1024" # -Xmx$1024M
fn_parms(){
parms="nogui"
}
+
#### 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)
@@ -87,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="5"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="minecraft"
+
+## Game Server Details
# Do not edit
gamename="Minecraft"
engine="lwjgl2"
@@ -117,7 +133,7 @@ glibc="null"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="java -Xmx${javaram}M -jar ${serverfiles}/minecraft_server.jar"
@@ -134,11 +150,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index f3846d238..cc4de6276 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,9 +23,18 @@ parms="Mordhau ${defaultmap} -log -MultiHome=${ip} -Port=${port} -BeaconPort=${b
#### 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"
postdays="7"
@@ -35,10 +44,6 @@ posttarget="https://hastebin.com"
discordalert="off"
discordwebhook="webhook"
-# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
-slackalert="off"
-slackwebhook="webhook"
-
# Email Alerts | https://docs.linuxgsm.com/alerts/email
emailalert="off"
email="email@example.com"
@@ -65,6 +70,10 @@ channeltag=""
pushoveralert="off"
pushovertoken="accesstoken"
+# 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) or else in "curlcustomstring".
# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need
@@ -90,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="629800"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -106,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -119,7 +128,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="MORDHAU"
engine="unreal4"
@@ -128,13 +146,13 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Mordhau"
executabledir="${systemdir}/Binaries/Linux"
executable="./MordhauServer-Linux-Shipping"
-servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfg="Game.ini"
servercfgdefault="Game.ini"
+servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -145,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index 4ee5487e7..97fe12dc8 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set fs_outputpath $
#### 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)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +114,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Medal of Honor: Allied Assault"
engine="idtech3"
@@ -117,11 +132,11 @@ glibc="2.3"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/main"
executabledir="${serverfiles}"
executable="./mohaa_lnxded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${serverfiles}"
servercfgfullpath="${serverfiles}/${servercfg}"
@@ -134,11 +149,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index 5dc5dbbcc..bb1e47762 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -1,12 +1,15 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
+
+## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
+ip="0.0.0.0"
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
# Edit with care
@@ -16,6 +19,12 @@ parms=""
#### 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)
@@ -83,15 +92,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -104,7 +113,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="4"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="3"
+querytype="protocol-ase"
+
+## Game Server Details
# Do not edit
gamename="Multi Theft Auto"
engine="renderware"
@@ -113,7 +131,7 @@ glibc="2.7"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
resourcesdir="${systemdir}/mods/deathmatch/resources"
executabledir="${systemdir}"
@@ -130,11 +148,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/mods/deathmatch/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
index 4c6190596..b722193b2 100644
--- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
# Use .ini config file for Mumble (Murmur) server.
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -16,6 +16,12 @@ parms="-fg -ini ${servercfgfullpath}"
#### 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)
@@ -86,15 +92,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -107,7 +113,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="mumbleping"
+
+## Game Server Details
# Do not edit
gamename="Mumble"
engine="null"
@@ -116,11 +131,11 @@ glibc="null"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./murmur.x86"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="murmur.ini"
servercfgdir="${serverfiles}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -133,11 +148,11 @@ logdir="${rootdir}/log"
#gamelogdir="" # No server logs available
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index 4f54b6318..ab269aaf6 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game nucleardawn -strictportbind -ip ${ip} -port ${port} +clientport ${c
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="111710"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Nuclear Dawn"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.3.6"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/nucleardawn"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index 57869bc3e..4c56f8a8d 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="nmo_broadway"
maxplayers="8"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game nmrih -strictportbind -ip ${ip} -port ${port} +clientport ${clientp
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="317670"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="No More Room in Hell"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/nmrih"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index 7e6bca42a..f984d1908 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -30,6 +30,12 @@ parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser
#### 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)
@@ -100,15 +106,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="313900"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -116,7 +122,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -129,7 +135,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="6"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="NS2: Combat"
engine="spark"
@@ -138,11 +153,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}/ia32"
executable="./ns2combatserver_linux32"
-servercfgdir="${serverfiles}/${servicename}"
+servercfgdir="${serverfiles}/${selfname}"
servercfgfullpath="${servercfgdir}"
modstoragedir="${servercfgdir}/Workshop"
@@ -154,11 +169,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index 41e52d53d..fbf312222 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -34,6 +34,12 @@ parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser
#### 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)
@@ -104,15 +110,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="4940"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -120,7 +126,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -133,7 +139,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="6"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Natural Selection 2"
engine="spark"
@@ -142,11 +157,11 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}/x64"
executable="./server_linux"
-servercfgdir="${serverfiles}/${servicename}"
+servercfgdir="${serverfiles}/${selfname}"
servercfgfullpath="${servercfgdir}"
modstoragedir="${servercfgdir}/Workshop"
@@ -158,11 +173,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index 59e61097d..6654d2e82 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game ns -strictportbind +ip ${ip} -port ${port} +clientport ${clientport
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="cstrike"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Natural Selection"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/ns"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index f5cf34813..5f50583fb 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,7 +20,13 @@ fn_parms(){
parms="-game gearbox -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
}
-### LinuxGSM Settings ####
+#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="gearbox"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Half-Life: Opposing Force"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/gearbox"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index ef1fb6925..a4f7a8942 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ parms="--config ${servercfg}"
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -85,15 +91,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="332670"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -101,7 +107,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -114,7 +120,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Project Cars"
engine="madness"
@@ -123,11 +138,11 @@ glibc="2.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./DedicatedServerCmd"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -140,11 +155,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
index ad692c635..09e357bef 100644
--- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
@@ -1,21 +1,19 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
-
ip="0.0.0.0"
-randommap="ALWAYS"
port="10027"
queryport="10037"
+randommap="ALWAYS"
#servername="LinuxGSM Server"
-# If your server is not meeting the minimal server requirement, do not host the server for 80 players, decrease that number.
maxplayers="40"
reservedslots="2"
@@ -26,6 +24,12 @@ parms="MULTIHOME=${ip}?RANDOM=${randommap}?Port=${port}?QueryPort=${queryport}?M
#### 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)
@@ -96,15 +100,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="746200"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -112,7 +116,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -125,7 +129,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="pstbsserver"
engine="unreal4"
@@ -134,7 +147,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/PostScriptum"
executabledir="${serverfiles}"
executable="./PostScriptumServer.sh"
@@ -151,12 +164,12 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index cdfc1b20f..4d6244afd 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game pvkii -strictportbind -ip ${ip} -port ${port} +clientport ${clientp
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="17575"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Pirates, Vikings, and Knights II"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/pvkii"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index 1b5bc2296..62862f21f 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -1,23 +1,29 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
adminpassword="CHANGE_ME"
fn_parms(){
-parms="-ip ${ip} -adminpassword \"${adminpassword}\" -servername ${servicename}"
+parms="-ip ${ip} -adminpassword \"${adminpassword}\" -servername ${selfname}"
}
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="380870"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -104,7 +110,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -117,7 +123,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Project Zomboid"
engine="projectzomboid"
@@ -126,11 +141,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./start-server.sh"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="server.ini"
servercfgdir="${HOME}/Zomboid/Server"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -143,11 +158,11 @@ logdir="${rootdir}/log"
gamelogdir="${HOME}/Zomboid/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index 42525ec9b..8601a5f8d 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="+set dedicated 1 +set ip ${ip} +set port ${port} +exec ${servercfg} +set
#### 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)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +114,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake2"
+
+## Game Server Details
# Do not edit
gamename="Quake 2"
engine="idtech2"
@@ -117,11 +132,11 @@ glibc="null"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/baseq2"
executabledir="${serverfiles}"
executable="./quake2"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -134,11 +149,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index 105a66895..02d27c9d8 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 2 +se
#### 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)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +114,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Quake 3: Arena"
engine="idtech3"
@@ -117,11 +132,11 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/baseq3"
executabledir="${serverfiles}"
executable="./q3ded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -134,11 +149,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index bf144b578..71f86ac98 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
# Edit with care | Install/Config Guide : https://steamcommunity.com/sharedfiles/filedetails/?id=542966946
@@ -17,6 +17,12 @@ parms="+exec ${servercfg}"
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="349090"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -103,7 +109,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -116,7 +122,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Quake Live"
engine="idtech3_ql"
@@ -125,11 +140,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./run_server_x64.sh" || echo -e "./run_server_x86.sh")
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${serverfiles}/baseq3"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -142,12 +157,12 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index 5069e4818..693ffcbdf 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -19,6 +19,12 @@ parms="-port ${port} -game ktx +exec ${servercfg}"
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -86,15 +92,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -107,7 +113,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake1"
+
+## Game Server Details
# Do not edit
gamename="QuakeWorld"
engine="quake"
@@ -116,11 +131,11 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/ktx"
executabledir="${serverfiles}"
executable="./mvdsv"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -133,11 +148,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index 67e810d5b..f62f4ceb1 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game ricochet -strictportbind +ip ${ip} -port ${port} +clientport ${clie
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="ricochet"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,20 +128,29 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Ricochet"
engine="goldsource"
-glibcr="2.3.4"
+glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/ricochet"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index d378dc455..1018f0028 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -23,6 +23,12 @@ parms="server ${defaultmap}?game=ROGame.ROTeamGame?VACSecured=true -nohomedir in
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="223250"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-unreal2"
+
+## Game Server Details
# Do not edit
gamename="Red Orchestra: Ostfront 41-45"
engine="unreal2"
@@ -131,12 +146,12 @@ glibc="2.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
serverfiles="${rootdir}/serverfiles"
systemdir="${serverfiles}/system"
executabledir="${systemdir}"
executable="./ucc-bin"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="default.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -150,13 +165,13 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index a70042e49..1abd2e20d 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 1 +se
#### 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)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +114,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Return to Castle Wolfenstein"
engine="ioquake3"
@@ -117,11 +132,11 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/main"
executabledir="${serverfiles}"
executable="./iowolfded.x86_64"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -134,11 +149,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index e643ef8a4..6835d35d6 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
# More settings available after install in serverfiles/server/rust-server/server.cfg
@@ -42,11 +42,17 @@ else
# Keep randomness of the number if not set
conditionalsalt=""
fi
-parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" ${conditionalseed} ${conditionalsalt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile \"${gamelogdate}\""
+parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${selfname}\" ${conditionalseed} ${conditionalsalt} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile \"${gamelogdate}\""
}
#### 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)
@@ -115,17 +121,17 @@ logdays="7"
## Monitor | https://docs.linuxgsm.com/commands/monitor
# Query delay time
-querydelay="1"
-
-#### LinuxGSM Advanced Settings ####
+querydelay="5"
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="258550"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -133,7 +139,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -144,9 +150,18 @@ steammaster="false"
# 8: 7 Days to Die
# 9: Gold Source
# 10: Teamspeak 3
-stopmode="3"
-
-## LinuxGSM Server Details
+stopmode="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Rust"
engine="unity3d"
@@ -155,11 +170,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./RustDedicated"
-serveridentitydir="${systemdir}/server/${servicename}"
+serveridentitydir="${systemdir}/server/${selfname}"
servercfg="server.cfg"
servercfgdefault="server.cfg"
servercfgdir="${serveridentitydir}/cfg"
@@ -173,12 +188,12 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index 2ab86085b..966c473fc 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
javaram="2048" # -Xmx$2048M
@@ -18,6 +18,12 @@ parms=""
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="339010"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -104,7 +110,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -117,7 +123,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Rising World"
engine="risingworld"
@@ -126,7 +141,7 @@ glibc="null"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="java -Xmx${javaram}m -jar ${serverfiles}/server.jar"
@@ -143,11 +158,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index 43f0d3cba..50b52ad56 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -19,6 +19,12 @@ parms=""
#### 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)
@@ -86,15 +92,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -107,7 +113,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="3"
+querytype="samp"
+
+## Game Server Details
# Do not edit
gamename="San Andreas Multiplayer"
engine="renderware"
@@ -116,11 +131,12 @@ glibc="2.3"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}/samp03"
executable="./samp03svr"
servercfg="server.cfg"
+servercfgdefault="server.cfg"
servercfgdir="${systemdir}/samp03"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -132,11 +148,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/samp03"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index 8278af21d..d426769be 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
port="7777"
@@ -23,6 +23,12 @@ parms="Port=${port}?QueryPort=${queryport} -startup_map ${defaultmap} -server_na
#### 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)
@@ -90,15 +96,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="974130"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -106,7 +112,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -119,7 +125,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="StickyBots"
engine="unreal4"
@@ -128,7 +143,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}/blank1/Binaries/Linux"
executable="./blank1Server-Linux-Shipping"
@@ -145,11 +160,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index 09de95570..cdff1963d 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -22,6 +22,12 @@ parms=""
#### 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)
@@ -92,22 +98,22 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="211820"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
steammaster="flase"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -120,7 +126,16 @@ steammaster="flase"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Starbound"
engine="starbound"
@@ -129,7 +144,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}/linux"
executable="./starbound_server"
@@ -146,11 +161,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/storage"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index 5043bcac3..0f56ec19b 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -18,6 +18,12 @@ parms="-logfile ${gamelogdir}/output_log__$(date +%Y-%m-%d__%H-%M-%S).txt -quit
#### 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)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="294420"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -104,7 +110,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -114,10 +120,19 @@ steammaster="true"
# 7: exit
# 8: 7 Days to Die
# 9: Gold Source
-# teamspeak 3
+# 10: Teamspeak 3
stopmode="8"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="7 Days To Die"
engine="unity3d"
@@ -126,14 +141,12 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./7DaysToDieServer.x86_64" || echo -e "./7DaysToDieServer.x86")
servercfgdefault="serverconfig.xml"
-servercfgdirdefault="${serverfiles}"
-servercfgfullpathdefault="${servercfgdirdefault}/${servercfgdefault}"
-servercfg="${servicename}.xml"
+servercfgfullpathdefault="${serverfiles}/${servercfgdefault}"
servercfgdir="${serverfiles}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -145,12 +158,12 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index aafdc7be8..373678cb4 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game sfclassic -strictportbind -ip ${ip} -port ${port} +clientport ${cli
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="244310" # Source 2013 SDK
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="SourceForts Classic"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/sfclassic"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index a1dcea4d7..48887e1ce 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="+set sv_punkbuster 0 +set dedicated 2 +set net_ip ${ip} +set net_port ${p
#### 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)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +114,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Soldier Of Fortune 2: Gold Edition"
engine="idtech3"
@@ -117,11 +132,11 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/main"
executabledir="${serverfiles}"
executable="./sof2ded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -134,11 +149,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index 5cc80f3df..89fe8c4e1 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -21,6 +21,12 @@ parms="-b ${ip} -p ${port} -l ${maxplayers} -m ${maplist} -c ${servercfg}"
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -88,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -109,7 +115,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="5"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Soldat"
engine="soldat"
@@ -118,12 +133,14 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="./soldatserver"
-servercfg="soldat.ini"
servercfgdir="${systemdir}"
+servercfg="soldat.ini"
+servercfgdefault="soldat.ini"
+
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -134,11 +151,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index 97991d083..ab8551bcb 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
port="7787"
@@ -20,6 +20,12 @@ parms="MULTIHOME=${ip} RANDOM=${randommap} Port=${port} QueryPort=${queryport}"
#### 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)
@@ -90,15 +96,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="403240"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -106,7 +112,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -119,7 +125,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Squad"
engine="unreal4"
@@ -128,11 +143,11 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Squad"
executabledir="${serverfiles}"
executable="./SquadGameServer.sh"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="Server.cfg"
servercfgdir="${systemdir}/ServerConfig"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -145,12 +160,12 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
index 5fe555d86..606fdb21c 100644
--- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -19,6 +19,12 @@ parms="+ip ${ip} +logfile ${gamelog} +exec ${servercfgfullpath}"
#### 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)
@@ -89,15 +95,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="41080"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -105,7 +111,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -118,7 +124,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Serious Sam 3: BFE"
engine="seriousengine35"
@@ -127,11 +142,11 @@ glibc="2.13"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Bin"
-executable="./runSam3_DedicatedServer.sh"
executabledir="${systemdir}"
-servercfg="${servicename}.ini"
+executable="./runSam3_DedicatedServer.sh"
+servercfg="${selfname}.ini"
servercfgdefault="server.ini"
servercfgdir="${serverfiles}/Content/SeriousSam3/Config"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -144,13 +159,13 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index c295b947d..73883f785 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -18,13 +18,19 @@ clearinterval=60
worldname="moon_save"
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-# Edit with care | http://hurtworld.wikia.com/wiki/Hosting_A_Server
+# Edit with care
fn_parms(){
parms="-batchmode -nographics -autostart -gameport=${port} -updateport=${queryport} -worldtype=${worldtype} -loadworld=${worldname} -worldname=${worldname} -autosaveinterval=${autosaveinterval} -clearallinterval=${clearinterval}"
}
#### 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)
@@ -95,15 +101,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="600760"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -111,7 +117,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -124,7 +130,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Stationeers"
engine="unity3d"
@@ -133,7 +148,7 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./rocketstation_DedicatedServer.x86_64"
@@ -150,11 +165,11 @@ logdir="${rootdir}/log"
gamelogdir="${HOME}/.config/unity3d/Rocketwerkz/Stationeers"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index 837c2db37..208adad83 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game svencoop -strictportbind +ip ${ip} -port ${port} +clientport ${clie
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="276060"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Sven Co-op"
engine="goldsource"
@@ -130,11 +145,11 @@ glibc="2.24"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/svencoop"
executabledir="${serverfiles}"
executable="./svends_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,11 +162,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index 238bc71f9..495eaf159 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -22,6 +22,12 @@ parms="-config ${servercfgfullpath}"
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="105600"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="7"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="5"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Terraria"
engine="terraria"
@@ -130,11 +145,11 @@ glibc="2.7"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./TerrariaServer"
-servercfg="${servicename}.txt"
+servercfg="${selfname}.txt"
servercfgdefault="serverconfig.txt"
servercfgdir="${serverfiles}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,11 +162,11 @@ logdir="${rootdir}/log"
#gamelogdir="" # No server logs available
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index 606853630..bcc4585b4 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="cp_badlands"
maxplayers="16"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game tf -strictportbind -ip ${ip} -port ${port} +clientport ${clientport
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="232250"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Team Fortress 2"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/tf"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index cf02a2be3..0223c28c4 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game tfc -strictportbind _ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="tfc"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Team Fortress Classic"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/tfc"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index 6f7ab5f5e..2d53a0725 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -1,16 +1,29 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
+
+#### Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
# Edit serverfiles/ts3server.ini after installation
+## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+fn_parms(){
+parms="inifile=${servercfgfullpath} pid_file=ts3server.pid"
+}
+
#### 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)
@@ -81,15 +94,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -100,9 +113,18 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: Gold Source
# 10: Teamspeak 3
-stopmode="10"
-
-## LinuxGSM Server Details
+stopmode="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="5"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="TeamSpeak 3"
servername="TeamSpeak 3 Server"
@@ -112,11 +134,11 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
-executable="./ts3server_startscript.sh"
-servercfg="${servicename}.ini"
+executable="./ts3server"
+servercfg="${selfname}.ini"
servercfgdefault="ts3server.ini"
servercfgdir="${serverfiles}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -128,9 +150,12 @@ backupdir="${lgsmdir}/backup"
logdir="${rootdir}/log"
gamelogdir="${serverfiles}/logs"
lgsmlogdir="${logdir}/script"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+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}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index 3ab453689..be66db897 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game ts -strictportbind +ip ${ip} -port ${port} +clientport ${clientport
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="cstrike"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="The Specialists"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/ts"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index 871847600..2c0b3b445 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -1,30 +1,36 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
port="7777"
queryport="27015"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
-parms="-log -MultiHome=${ip} -Port=${port} -QueryPort=${queryport} -TowerServerINI=${servicename}.ini"
+parms="-log -MultiHome=${ip} -Port=${port} -QueryPort=${queryport} -TowerServerINI=${selfname}.ini"
}
#### 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)
@@ -95,15 +101,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="439660"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -111,7 +117,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -124,7 +130,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Tower Unite"
engine="unreal4"
@@ -133,14 +148,14 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Tower"
executabledir="${systemdir}/Binaries/Linux"
executable="./TowerServer-Linux-Shipping"
+servercfg="${selfname}.ini"
+servercfgdefault="TowerServer.ini"
servercfgdir="${systemdir}/Binaries/Linux"
-servercfg="${servicename}.ini"
servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="TowerServer.ini"
## Backup Directory
backupdir="${lgsmdir}/backup"
@@ -150,11 +165,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/Saved/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index 9381b8a88..f9ca0f996 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login
steamuser="username"
@@ -22,6 +22,12 @@ parms="-f ${servercfg}"
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="380840"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +114,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +127,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="4"
+querytype="teeworlds"
+
+## Game Server Details
# Do not edit
gamename="Teeworlds"
engine="teeworlds"
@@ -130,11 +145,11 @@ glibc="2.14"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/tw"
executabledir="${systemdir}"
executable="./teeworlds_srv"
-servercfg="${servicename}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir
+servercfg="${selfname}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir
servercfgdefault="server.cfg"
servercfgdir="${serverfiles}/tw"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -147,12 +162,12 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index 32b468a12..e50f032c4 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,14 +20,23 @@ defaultmap="pei"
# Make sure you change the admin password before launching the server
fn_parms(){
-parms="-port:${port} -players:${maxplayers} --nographics -${defaultmap} -batchmode +secureserver/${servicename}"
+parms="-port:${port} -players:${maxplayers} --nographics -${defaultmap} -batchmode +secureserver/${selfname}"
}
#### 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"
postdays="7"
@@ -37,10 +46,6 @@ posttarget="https://hastebin.com"
discordalert="off"
discordwebhook="webhook"
-# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
-slackalert="off"
-slackwebhook="webhook"
-
# Email Alerts | https://docs.linuxgsm.com/alerts/email
emailalert="off"
email="email@example.com"
@@ -67,6 +72,10 @@ channeltag=""
pushoveralert="off"
pushovertoken="accesstoken"
+# 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) or else in "curlcustomstring".
# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need
@@ -92,15 +101,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1110390"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -108,7 +117,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -121,7 +130,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Unturned"
engine="unity3d"
@@ -130,13 +148,14 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${serverfiles}"
executable="./Unturned_Headless.x86_64"
-servercfgdir="${systemdir}/Servers/${servicename}"
+servercfgdir="${systemdir}/Servers/${selfname}"
servercfg="Config.json"
servercfgdefault="Config.json"
+servercfgdir="${systemdir}/Servers/${selfname}"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -147,11 +166,11 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index 942f8526e..2658f60ca 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
defaultmap="DM-Rankin"
@@ -19,6 +19,12 @@ parms="server ${defaultmap}?game=XGame.xDeathMatch -nohomedir ini=${servercfg} l
#### 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)
@@ -86,15 +92,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -107,7 +113,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-unreal2"
+
+## Game Server Details
# Do not edit
gamename="Unreal Tournament 2004"
engine="unreal2"
@@ -116,11 +131,11 @@ glibc="2.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/System"
executabledir="${systemdir}"
executable="./ucc-bin"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="UT2004.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -134,13 +149,13 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index ebb9eee7b..6c1db9e1e 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,13 +23,19 @@ pureserver="1"
allowjoininprogress="true"
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
-# Edit with care | List of game types and mutators : http://wiki.unrealadmin.org/FAQ:UT3
+# Edit with care | List of game types and mutators : https://docs.linuxgsm.com/game-servers/unreal-tournament-3
fn_parms(){
-parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?Mutator=${mutators}?ConfigSubDir=${servicename} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}"
+parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?Mutator=${mutators}?ConfigSubDir=${selfname} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}"
}
#### LinuxGSM Settings ####
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
## Notification Alerts
# (on|off)
@@ -97,15 +103,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -118,7 +124,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Unreal Tournament 3"
engine="unreal3"
@@ -127,13 +142,13 @@ glibc="2.3.2"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}/Binaries"
executable="./ut3"
servercfg="UTGame.ini"
servercfgdefault="UTGame.ini"
-servercfgdir="${systemdir}/UTGame/Config/${servicename}"
+servercfgdir="${systemdir}/UTGame/Config/${selfname}"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
@@ -144,13 +159,13 @@ logdir="${rootdir}/log"
gamelogdir="${logdir}/server"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+gamelog="${gamelogdir}/${selfname}-game.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
-gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${selfname}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index b87486ecd..3eb9e8043 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
defaultmap="DM-Deck16]["
@@ -19,6 +19,12 @@ parms="server ${defaultmap}.unr ini=${servercfgfullpath}"
#### 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)
@@ -86,15 +92,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -107,7 +113,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-unreal2"
+
+## Game Server Details
# Do not edit
gamename="Unreal Tournament 99"
engine="unreal"
@@ -116,11 +131,11 @@ glibc="2.1"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/System"
executabledir="${systemdir}"
executable="./ucc-bin"
-servercfg="${servicename}.ini"
+servercfg="${selfname}.ini"
servercfgdefault="Default.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -134,11 +149,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index ddce48d22..5227e99bf 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
# For CTF: defaultmap="CTF-Face" gametype="CTF"
@@ -23,6 +23,12 @@ parms="UnrealTournament ${defaultmap}?Game=${gametype}?TimeLimit=${timelimit} -p
#### 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)
@@ -90,15 +96,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -111,7 +117,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
# Do not edit
gamename="Unreal Tournament"
engine="unreal4"
@@ -120,7 +135,7 @@ glibc="2.17"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/LinuxServer"
executabledir="${systemdir}/Engine/Binaries/Linux"
executable="./UE4Server-Linux-Shipping"
@@ -136,11 +151,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index 0d8be68fa..f1f8f7c4d 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -22,6 +22,12 @@ parms="-game vs -strictportbind +ip ${ip} -port ${port} +clientport ${clientport
#### 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)
@@ -92,15 +98,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="90"
appidmod="cstrike"
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="9"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Vampire Slayer"
engine="goldsource"
@@ -131,11 +146,11 @@ glibc="2.3.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/vs"
executabledir="${serverfiles}"
executable="./hlds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 7a2473945..3df5c91dc 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -15,6 +15,12 @@ fn_parms(){
#### 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)
@@ -82,15 +88,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -103,7 +109,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## Game Server Details
# Do not edit
gamename="Wolfenstein: Enemy Territory"
engine="idtech3"
@@ -112,11 +127,11 @@ glibc="2.2.4"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="./etded"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/etmain"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -129,11 +144,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index f6d028c2b..dacb39aaf 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -20,6 +20,12 @@ parms="+exec ${servercfg} +sv_http_ip ${ip} +set sv_http_port ${httpport} +sv_ip
#### 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)
@@ -87,15 +93,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -108,7 +114,16 @@ sleeptime="0.5"
# 10: Teamspeak 3
stopmode="3"
-## SteamCMD Settings
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-quake3"
+
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="1136510"
appidmod="warfork"
@@ -117,7 +132,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-## LinuxGSM Server Details
+## Game Server Details
# Do not edit
gamename="Warfork"
engine="qfusion"
@@ -126,11 +141,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/Warfork.app/Contents/Resources"
executabledir="${systemdir}"
executable="./wf_server.x86_64"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/basewf"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -143,11 +158,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index 50e5348c5..08a17c81b 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
@@ -17,6 +17,12 @@ fn_parms(){
#### 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)
@@ -84,15 +90,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="402370"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -100,7 +106,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -113,7 +119,16 @@ steammaster="false"
# 10: Teamspeak 3
stopmode="2"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Wurm Unlimited"
engine="wurm"
@@ -122,11 +137,11 @@ glibc="2.14"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}"
executabledir="${systemdir}"
executable="xvfb-run ./WurmServerLauncher"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -139,11 +154,11 @@ logdir="${rootdir}/log"
gamelogdir="${serverfiles}/Logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index e3e21369b..7de855e46 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -23,6 +23,12 @@ parms="-game zombie_master_reborn -strictportbind -ip ${ip} -port ${port} +clien
#### 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)
@@ -93,15 +99,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="244310" # Source 2013 SDK
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -109,7 +115,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -122,7 +128,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Zombie Master: Reborn"
engine="source"
@@ -131,11 +146,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/zombie_master_reborn"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -148,11 +163,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index 971fe70f3..5f8d76c23 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -1,12 +1,12 @@
##################################
######## Default Settings ########
##################################
-# DO NOT EDIT 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
+# 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.
-#### Server Settings ####
+#### Game Server Settings ####
## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
@@ -16,9 +16,9 @@ sourcetvport="27020"
defaultmap="zps_deadend"
maxplayers="20"
-## Optional: Game Server Login Token
+## Game Server Login Token (GSLT): Optional
# GSLT can be used for running a public server.
-# More info: https://linuxgsm.com/gslt
+# More info: https://docs.linuxgsm.com/steamcmd/gslt
gslt=""
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
@@ -28,6 +28,12 @@ parms="-game zps -strictportbind -ip ${ip} -port ${port} +clientport ${clientpor
#### 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)
@@ -98,15 +104,15 @@ logdays="7"
# Query delay time
querydelay="1"
-#### LinuxGSM Advanced Settings ####
-
-# ANSI Colors
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
ansi="on"
-# Message Display Time
+#### Advanced Settings ####
+
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
sleeptime="0.5"
-## SteamCMD Settings
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
# Server appid
appid="17505"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
@@ -114,7 +120,7 @@ branch=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
-# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
# 2: CTRL+c
# 3: quit
@@ -127,7 +133,16 @@ steammaster="true"
# 10: Teamspeak 3
stopmode="3"
-## LinuxGSM Server Details
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="2"
+querytype="protocol-valve"
+
+## Game Server Details
# Do not edit
gamename="Zombie Panic! Source"
engine="source"
@@ -136,11 +151,11 @@ glibc="2.15"
#### Directories ####
# Edit with care
-## Server Specific Directories
+## Game Server Directories
systemdir="${serverfiles}/zps"
executabledir="${serverfiles}"
executable="./srcds_run"
-servercfg="${servicename}.cfg"
+servercfg="${selfname}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
@@ -153,11 +168,11 @@ logdir="${rootdir}/log"
gamelogdir="${systemdir}/logs"
lgsmlogdir="${logdir}/script"
consolelogdir="${logdir}/console"
-lgsmlog="${lgsmlogdir}/${servicename}-script.log"
-consolelog="${consolelogdir}/${servicename}-console.log"
-alertlog="${lgsmlogdir}/${servicename}-alert.log"
-postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
## Logs Naming
-lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
-consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv
index 60c02feff..5c2e6a6ae 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -1,43 +1,43 @@
ahl,ahlserver,Action half-life
ahl2,ahl2server,Action: Source
-arma3,arma3server,ARMA 3
-sdtd,sdtdserver,7 Days to Die
ark,arkserver,ARK: Survival Evolved
-bo,boserver,Ballistic Overkill
-bf1942,bf1942server,Battlefield 1942
+arma3,arma3server,ARMA 3
+bb,bbserver,BrainBread
+bb2,bb2server,BrainBread 2
bd,bdserver,Base Defense
+bf1942,bf1942server,Battlefield 1942
bmdm,bmdmserver,Black Mesa: Deathmatch
+bo,boserver,Ballistic Overkill
bs,bsserver,Blade Symphony
-bb,bbserver,BrainBread
-bb2,bb2server,BrainBread 2
bt,btserver,Barotrauma
bt1944,bt1944server,Battalion 1944
+cc,ccserver,Codename CURE
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
-cc,ccserver,Codename CURE
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
+dmc,dmcserver,Deathmatch Classic
dod,dodserver,Day of Defeat
dods,dodsserver,Day of Defeat: Source
doi,doiserver,Day of Infamy
-dmc,dmcserver,Deathmatch Classic
dst,dstserver,Don't Starve Together
-dab,dabserver,Double Action: Boogaloo
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
ges,gesserver,GoldenEye: Source
+gmod,gmodserver,Garrys Mod
hl2dm,hl2dmserver,Half-Life 2: Deathmatch
-hldms,hldmsserver,Half-Life Deathmatch: Source
hldm,hldmserver,Half-Life: Deathmatch
+hldms,hldmsserver,Half-Life Deathmatch: Source
hw,hwserver,Hurtworld
ins,insserver,Insurgency
inss,inssserver,Insurgency: Sandstorm
@@ -49,6 +49,7 @@ kf2,kf2server,Killing Floor 2
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
mta,mtaserver,Multi Theft Auto
@@ -59,44 +60,44 @@ ns,nsserver,Natural Selection
ns2,ns2server,Natural Selection 2
ns2c,ns2cserver,NS2: Combat
opfor,opforserver,Opposing Force
+pc,pcserver,Project Cars
pstbs,pstbsserver,Post Scriptum: The Bloody Seventh
pvkii,pvkiiserver,Pirates Vikings & Knights II
-pc,pcserver,Project Cars
pz,pzserver,Project Zomboid
q2,q2server,Quake 2
q3,q3server,Quake 3: Arena
ql,qlserver,Quake Live
qw,qwserver,Quake World
-ro,roserver,Red Orchestra: Ostfront 41-45
ricochet,ricochetserver,Ricochet
+ro,roserver,Red Orchestra: Ostfront 41-45
rtcw,rtcwserver,Return to Castle Wolfenstein
rust,rustserver,Rust
-rw,rwserver, Rising World
+rw,rwserver,Rising World
samp,sampserver,San Andreas Multiplayer
-sbots,sbotsserver, StickyBots
+sb,sbserver,Starbound
+sbots,sbotsserver,StickyBots
+sdtd,sdtdserver,7 Days to Die
sfc,sfcserver,SourceForts Classic
sof2,sof2server,Soldier Of Fortune 2: Gold Edition
sol,solserver,Soldat
+squad,squadserver,Squad
ss3,ss3server,Serious Sam 3: BFE
-sb,sbserver,Starbound
st,stserver,Stationeers
-squad,squadserver,Squad
sven,svenserver,Sven Co-op
+terraria,terrariaserver,Terraria
tf2,tf2server,Team Fortress 2
tfc,tfcserver,Team Fortress Classic
ts,tsserver,The Specialists
ts3,ts3server,Teamspeak 3
-tw,twserver,Teeworlds
-terraria,terrariaserver,Terraria
tu,tuserver,Tower Unite
+tw,twserver,Teeworlds
+unt,untserver,Unturned
ut2k4,ut2k4server,Unreal Tournament 2004
ut3,ut3server,Unreal Tournament 3
ut99,ut99server,Unreal Tournament 99
-unt,untserver,Unturned
vs,vsserver,Vampire Slayer
wet,wetserver,Wolfenstein: Enemy Territory
wf,wfserver,Warfork
wurm,wurmserver,Wurm Unlimited
-etl,etlserver,ET: Legacy
zmr,zmrserver,Zombie Master: Reborn
zps,zpsserver,Zombie Panic! Source
diff --git a/lgsm/functions/alert.sh b/lgsm/functions/alert.sh
index 8de6b370e..c72967ed9 100644
--- a/lgsm/functions/alert.sh
+++ b/lgsm/functions/alert.sh
@@ -27,7 +27,7 @@ fn_alert_log(){
fn_alert_test(){
fn_script_log_info "Sending test alert"
- alertsubject="Alert - ${servicename} - Test"
+ alertsubject="Alert - ${selfname} - Test"
alertemoji="๐ง"
alertsound="1"
alerturl="not enabled"
@@ -36,25 +36,25 @@ fn_alert_test(){
fn_alert_restart(){
fn_script_log_info "Sending alert: Restarted: ${executable} not running"
- alertsubject="Alert - ${servicename} - Restarted"
+ alertsubject="Alert - ${selfname} - Restarted"
alertemoji="๐จ"
alertsound="2"
alerturl="not enabled"
- alertbody="${servicename} ${executable} not running"
+ alertbody="${selfname} ${executable} not running"
}
fn_alert_restart_query(){
- fn_script_log_info "Sending alert: Restarted: ${servicename}"
- alertsubject="Alert - ${servicename} - Restarted"
+ fn_script_log_info "Sending alert: Restarted: ${selfname}"
+ alertsubject="Alert - ${selfname} - Restarted"
alertemoji="๐จ"
alertsound="2"
alerturl="not enabled"
- alertbody="Unable to query: ${servicename}"
+ alertbody="Unable to query: ${selfname}"
}
fn_alert_update(){
fn_script_log_info "Sending alert: Updated"
- alertsubject="Alert - ${servicename} - Updated"
+ alertsubject="Alert - ${selfname} - Updated"
alertemoji="๐ฎ"
alertsound="1"
alerturl="not enabled"
@@ -63,20 +63,20 @@ fn_alert_update(){
fn_alert_permissions(){
fn_script_log_info "Sending alert: Permissions error"
- alertsubject="Alert - ${servicename}: Permissions error"
+ alertsubject="Alert - ${selfname}: Permissions error"
alertemoji="โ"
alertsound="2"
alerturl="not enabled"
- alertbody="${servicename} has permissions issues"
+ alertbody="${selfname} has permissions issues"
}
fn_alert_config(){
fn_script_log_info "Sending alert: New _default.cfg"
- alertsubject="Alert - ${servicename} - New _default.cfg"
+ alertsubject="Alert - ${selfname} - New _default.cfg"
alertemoji="๐ฎ"
alertsound="1"
alerturl="not enabled"
- alertbody="${servicename} has recieved a new _default.cfg. Check file for changes."
+ alertbody="${servicename} has received a new _default.cfg. Check file for changes."
}
if [ "${alert}" == "permissions" ]; then
@@ -98,7 +98,7 @@ fn_alert_log
# Generates the more info link.
if [ "${postalert}" == "on" ]&&[ -n "${postalert}" ]; then
- alertflag=1
+ exitbypass=1
command_postdetails.sh
elif [ "${postalert}" != "on" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then
fn_print_warn_nl "More Info not enabled"
@@ -200,4 +200,4 @@ elif [ -z "${slacktoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh"
fn_print_error_nl "Slack token not set"
echo -e " * https://docs.linuxgsm.com/alerts/slack"
fn_script_error "Slack token not set"
-fi
\ No newline at end of file
+fi
diff --git a/lgsm/functions/alert_discord.sh b/lgsm/functions/alert_discord.sh
index 0d4b22123..b404b8e0f 100644
--- a/lgsm/functions/alert_discord.sh
+++ b/lgsm/functions/alert_discord.sh
@@ -10,8 +10,8 @@ if ! command -v jq > /dev/null; then
fn_script_log_fatal "Sending Discord alert: jq is missing."
fi
-escaped_servername="$(echo -n "${servername}" | jq -sRr "@json")"
-escaped_alertbody="$(echo -n "${alertbody}" | jq -sRr "@json")"
+escaped_servername=$(echo -n "${servername}" | jq -sRr "@json")
+escaped_alertbody=$(echo -n "${alertbody}" | jq -sRr "@json")
json=$(cat </dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
+ if [ -n "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
# Mono >= 5.0.0 already installed.
depstatus=0
else
@@ -337,13 +337,10 @@ fn_deps_build_debian(){
# LinuxGSM requirements.
array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq )
- # All servers except ts3 require tmux.
- if [ "${shortname}" != "ts3" ]; then
- if [ "$(command -v tmux 2>/dev/null)" ]; then
- tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
- else
- array_deps_required+=( tmux )
- fi
+ if [ -n "$(command -v tmux 2>/dev/null)" ]; then
+ tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
+ else
+ array_deps_required+=( tmux )
fi
# All servers except ts3, mumble, GTA and minecraft servers require libstdc++6 and lib32gcc1.
@@ -392,7 +389,7 @@ fn_deps_build_debian(){
elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
array_deps_required+=( lib32z1 )
# Minecraft
- elif [ "${shortname}" == "mc" ]; then
+ elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "rw" ]||[ "${shortname}" == "pz" ]; then
javaversion=$(java -version 2>&1 | grep "version")
if [ "${javaversion}" ]; then
# Added for users using Oracle JRE to bypass the check.
@@ -405,7 +402,7 @@ fn_deps_build_debian(){
array_deps_required+=( libstdc++5:i386 )
# Project Zomboid
elif [ "${shortname}" == "pz" ]; then
- if [ -n "$(java -version 2>&1 | grep "version")" ]; then
+ if java -version 2>&1 | grep "version"; then
# Added for users using Oracle JRE to bypass the check.
javacheck=1
array_deps_required+=( rng-tools )
@@ -433,9 +430,6 @@ fn_deps_build_debian(){
# Unreal Tournament
elif [ "${shortname}" == "ut" ]; then
array_deps_required+=( unzip )
- # Eco
- elif [ "${shortname}" == "eco" ]; then
- array_deps_required+=( mono-complete )
# Wurm: Unlimited
elif [ "${shortname}" == "wurm" ]; then
array_deps_required+=( xvfb )
@@ -467,13 +461,11 @@ fn_deps_build_redhat(){
fi
# All servers except ts3 require tmux.
- if [ "${shortname}" != "ts3" ]; then
- if [ "$(command -v tmux 2>/dev/null)" ]; then
- # Added for users compiling tmux from source to bypass check.
- tmuxcheck=1
- else
- array_deps_required+=( tmux )
- fi
+ if [ -n "$(command -v tmux 2>/dev/null)" ]; then
+ # Added for users compiling tmux from source to bypass check.
+ tmuxcheck=1
+ else
+ array_deps_required+=( tmux )
fi
# All servers except ts3, mumble, multi theft auto and minecraft servers require glibc.i686 and libstdc++.i686.
@@ -516,18 +508,8 @@ fn_deps_build_redhat(){
array_deps_required+=( xz )
elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
array_deps_required+=( zlib-devel )
- # Minecraft
- elif [ "${shortname}" == "mc" ]; then
- javaversion=$(java -version 2>&1 | grep "version")
- if [ "${javaversion}" ]; then
- # Added for users using Oracle JRE to bypass the check.
- javacheck=1
- array_deps_required+=( rng-tools )
- else
- array_deps_required+=( java-1.8.0-openjdk rng-tools )
- fi
- # Project Zomboid
- elif [ "${shortname}" == "pz" ]; then
+ # Minecraft, Project Zomboid, Rising World
+ elif [ "${shortname}" == "mc" ]||[ "${shortname}" == "rw" ]||[ "${shortname}" == "pz" ]; then
javaversion=$(java -version 2>&1 | grep "version")
if [ "${javaversion}" ]; then
# Added for users using Oracle JRE to bypass the check.
@@ -551,9 +533,6 @@ fn_deps_build_redhat(){
# Unreal Tournament
elif [ "${shortname}" == "ut" ]; then
array_deps_required+=( unzip )
- # Eco
- elif [ "${shortname}" == "eco" ]; then
- array_deps_required+=( mono-complete )
# Unturned
elif [ "${shortname}" == "unt" ]; then
array_deps_required+=( mono-complete )
diff --git a/lgsm/functions/check_executable.sh b/lgsm/functions/check_executable.sh
index 918043555..88a93ffc5 100644
--- a/lgsm/functions/check_executable.sh
+++ b/lgsm/functions/check_executable.sh
@@ -5,7 +5,7 @@
# Description: Checks if server executable exists.
local commandname="CHECK"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Check if executable exists
if [ ! -f "${executabledir}/${execname}" ]; then
diff --git a/lgsm/functions/check_ip.sh b/lgsm/functions/check_ip.sh
index b54dddd16..646a6899f 100644
--- a/lgsm/functions/check_ip.sh
+++ b/lgsm/functions/check_ip.sh
@@ -7,7 +7,7 @@
local commandname="CHECK"
-if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${travistest}" != "1" ]; then
+if [ "${travistest}" != "1" ]; then
if [ ! -f "/bin/ip" ]; then
ipcommand="/sbin/ip"
else
diff --git a/lgsm/functions/check_logs.sh b/lgsm/functions/check_logs.sh
index 9f3e87427..4da3cd057 100644
--- a/lgsm/functions/check_logs.sh
+++ b/lgsm/functions/check_logs.sh
@@ -5,7 +5,7 @@
# Description: Checks if log files exist.
local commandname="CHECK"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_check_logs(){
fn_print_dots "Checking for log files"
@@ -15,7 +15,7 @@ fn_check_logs(){
}
# Create directories for the script and console logs.
-if [ ! -d "${lgsmlogdir}" ]||[ ! -d "${consolelogdir}" ]&&[ "${shortname}" != "ts3" ]; then
+if [ ! -d "${lgsmlogdir}" ]||[ ! -d "${consolelogdir}" ]; then
fn_check_logs
fi
diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh
index cb0cc9d5c..4d1e81413 100644
--- a/lgsm/functions/check_permissions.sh
+++ b/lgsm/functions/check_permissions.sh
@@ -74,7 +74,7 @@ fn_check_permissions(){
# Check rootdir permissions.
if [ -n "${rootdir}" ]; then
# Get permission numbers on directory under the form 775.
- rootdirperm="$(stat -c %a "${rootdir}")"
+ rootdirperm=$(stat -c %a "${rootdir}")
# Grab the first and second digit for user and group permission.
userrootdirperm="${rootdirperm:0:1}"
grouprootdirperm="${rootdirperm:1:1}"
@@ -94,10 +94,10 @@ fn_check_permissions(){
fi
# Check if executable is executable and attempt to fix it.
# First get executable name.
- execname="$(basename "${executable}")"
+ execname=$(basename "${executable}")
if [ -f "${executabledir}/${execname}" ]; then
# Get permission numbers on file under the form 775.
- execperm="$(stat -c %a "${executabledir}/${execname}")"
+ execperm=$(stat -c %a "${executabledir}/${execname}")
# Grab the first and second digit for user and group permission.
userexecperm="${execperm:0:1}"
groupexecperm="${execperm:1:1}"
@@ -118,7 +118,7 @@ fn_check_permissions(){
chmod u+x,g+x "${executabledir}/${execname}"
# Second check to see if it's been successfully applied.
# Get permission numbers on file under the form 775.
- execperm="$(stat -c %a "${executabledir}/${execname}")"
+ execperm=$(stat -c %a "${executabledir}/${execname}")
# Grab the first and second digit for user and group permission.
userexecperm="${execperm:0:1}"
groupexecperm="${execperm:1:1}"
@@ -181,8 +181,7 @@ fn_sys_perm_fix_manually_msg(){
# Attempt to fix /sys related permission errors if sudo is available, exits otherwise.
fn_sys_perm_errors_fix(){
- sudo -n true > /dev/null 2>&1
- if [ $? -eq 0 ]; then
+ if sudo -n true > /dev/null 2>&1; then
fn_print_dots "Automatically fixing /sys permissions"
fn_script_log_info "Automatically fixing /sys permissions."
if [ "${sysdirpermerror}" == "1" ]; then
diff --git a/lgsm/functions/check_root.sh b/lgsm/functions/check_root.sh
index b5d20cf24..4200c5dc0 100644
--- a/lgsm/functions/check_root.sh
+++ b/lgsm/functions/check_root.sh
@@ -5,7 +5,7 @@
# Description: Checks if the user tried to run the script as root.
local commandname="CHECK"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ "$(whoami)" = "root" ]; then
if [ "${function_selfname}" != "command_install.sh" ]; then
diff --git a/lgsm/functions/check_status.sh b/lgsm/functions/check_status.sh
index 529dcbf5b..d814197be 100644
--- a/lgsm/functions/check_status.sh
+++ b/lgsm/functions/check_status.sh
@@ -6,19 +6,6 @@
# Description: Checks the process status of the server. Either online or offline.
local commandname="CHECK"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
-if [ "${shortname}" == "ts3" ]; then
- # 1: Server is running
- # 0: Server seems to have died
- # 0: No server running (ts3server.pid is missing)
- status=$("${executabledir}/ts3server_startscript.sh" status servercfgfullpathfile="${servercfgfullpath}")
- if [ "${status}" == "Server is running" ]; then
- status=1
- else
- ts3error="${status}"
- status=0
- fi
-else
- status=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | grep -Ecx "^${servicename}")
-fi
+status=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | grep -Ecx "^${selfname}")
diff --git a/lgsm/functions/check_system_dir.sh b/lgsm/functions/check_system_dir.sh
index fd9ff3644..d11b30a20 100644
--- a/lgsm/functions/check_system_dir.sh
+++ b/lgsm/functions/check_system_dir.sh
@@ -5,7 +5,7 @@
# Description: Checks if systemdir/serverfiles is accessible.
local commandname="CHECK"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ "${function_selfname}" != "command_validate.sh" ]; then
checkdir="${serverfiles}"
diff --git a/lgsm/functions/check_system_requirements.sh b/lgsm/functions/check_system_requirements.sh
index 1493f6b85..3c0345219 100644
--- a/lgsm/functions/check_system_requirements.sh
+++ b/lgsm/functions/check_system_requirements.sh
@@ -6,7 +6,7 @@
# Description: Checks RAM requirements
local commandname="CHECK"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
info_distro.sh
diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh
index 91f856809..a7e3e337a 100644
--- a/lgsm/functions/command_backup.sh
+++ b/lgsm/functions/command_backup.sh
@@ -7,7 +7,7 @@
local commandname="BACKUP"
local commandaction="Backup"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
@@ -37,8 +37,8 @@ fn_backup_check_lockfile(){
# Initialisation.
fn_backup_init(){
- # Backup file name with servicename and current date.
- backupname="${servicename}-$(date '+%Y-%m-%d-%H%M%S')"
+ # Backup file name with selfname and current date.
+ backupname="${selfname}-$(date '+%Y-%m-%d-%H%M%S')"
info_distro.sh
fn_print_dots "Backup starting"
@@ -67,14 +67,14 @@ fn_backup_stop_server(){
# Server is running and stoponbackup=off.
elif [ "${stoponbackup}" == "off" ]; then
serverstopped="no"
- fn_print_warn_nl "${servicename} is currently running"
- echo -e " * Although unlikely; creating a backup while ${servicename} is running might corrupt the backup."
- fn_script_log_warn "${servicename} is currently running"
- fn_script_log_warn "Although unlikely; creating a backup while ${servicename} is running might corrupt the backup"
+ fn_print_warn_nl "${selfname} is currently running"
+ echo -e " * Although unlikely; creating a backup while ${selfname} is running might corrupt the backup."
+ fn_script_log_warn "${selfname} is currently running"
+ fn_script_log_warn "Although unlikely; creating a backup while ${selfname} is running might corrupt the backup"
# Server is running and will be stopped if stoponbackup=on or unset.
else
- fn_print_warn_nl "${servicename} will be stopped during the backup"
- fn_script_log_warn "${servicename} will be stopped during the backup"
+ fn_print_warn_nl "${selfname} will be stopped during the backup"
+ fn_script_log_warn "${selfname} will be stopped during the backup"
serverstopped="yes"
exitbypass=1
command_stop.sh
@@ -267,4 +267,5 @@ fn_backup_migrate_olddir
fn_backup_compression
fn_backup_prune
fn_backup_start_server
+
core_exit.sh
diff --git a/lgsm/functions/command_console.sh b/lgsm/functions/command_console.sh
index f428ce56e..4dfa2a4a3 100644
--- a/lgsm/functions/command_console.sh
+++ b/lgsm/functions/command_console.sh
@@ -6,7 +6,7 @@
local commandname="CONSOLE"
local commandaction="Console"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
fn_print_header
@@ -19,14 +19,14 @@ fn_print_warning_nl "Do NOT press CTRL+c to exit."
echo -e " * https://docs.linuxgsm.com/commands/console"
echo -e ""
if ! fn_prompt_yn "Continue?" Y; then
- echo Exiting; return
+ return
fi
fn_print_dots "Accessing console"
check_status.sh
if [ "${status}" != "0" ]; then
fn_print_ok_nl "Accessing console"
fn_script_log_pass "Console accessed"
- tmux attach-session -t "${servicename}"
+ tmux attach-session -t "${selfname}"
fn_print_ok_nl "Closing console"
fn_script_log_pass "Console closed"
else
diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh
index 9422bbad7..dda8b1170 100644
--- a/lgsm/functions/command_debug.sh
+++ b/lgsm/functions/command_debug.sh
@@ -6,7 +6,7 @@
local commandname="DEBUG"
local commandaction="Debug"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Trap to remove lockfile on quit.
fn_lockfile_trap(){
@@ -83,10 +83,10 @@ fi
echo -e ""
echo -e "Use for identifying server issues only!"
echo -e "Press CTRL+c to drop out of debug mode."
-fn_print_warning_nl "If ${servicename} is already running it will be stopped."
+fn_print_warning_nl "If ${selfname} is already running it will be stopped."
echo -e ""
if ! fn_prompt_yn "Continue?" Y; then
- echo Exiting; return
+ return
fi
fn_print_info_nl "Stopping any running servers"
@@ -123,4 +123,5 @@ fn_print_dots "Stopping debug"
fn_print_ok_nl "Stopping debug"
# remove trap.
trap - INT
+
core_exit.sh
diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh
index 6e4e8fecc..889febbd4 100644
--- a/lgsm/functions/command_details.sh
+++ b/lgsm/functions/command_details.sh
@@ -7,7 +7,7 @@
local commandname="DETAILS"
local commandaction="Details"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Run checks and gathers details to display.
check.sh
@@ -30,4 +30,5 @@ fi
fn_info_message_ports
fn_info_message_select_engine
fn_info_message_statusbottom
+
core_exit.sh
diff --git a/lgsm/functions/command_dev_clear_functions.sh b/lgsm/functions/command_dev_clear_functions.sh
index 95f54e842..51878a381 100644
--- a/lgsm/functions/command_dev_clear_functions.sh
+++ b/lgsm/functions/command_dev_clear_functions.sh
@@ -12,4 +12,5 @@ if fn_prompt_yn "Do you want to delete all functions?" Y; then
rm -rfv "${functionsdir:?}/"*
rm -rfv "${configdirdefault:?}/"*
fi
+
core_exit.sh
diff --git a/lgsm/functions/command_dev_debug.sh b/lgsm/functions/command_dev_debug.sh
index 5229d068d..0cb3e48b5 100644
--- a/lgsm/functions/command_dev_debug.sh
+++ b/lgsm/functions/command_dev_debug.sh
@@ -6,7 +6,7 @@
local commandname="DEV-DEBUG"
local commandaction="Dev-Debug"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ -f "${rootdir}/.dev-debug" ]; then
rm "${rootdir}/.dev-debug"
@@ -17,4 +17,5 @@ else
fn_print_ok_nl "Enabled dev-debug"
fn_script_log_info "Enabled dev-debug"
fi
+
core_exit.sh
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index c3b29872e..252b37022 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/lgsm/functions/command_dev_detect_deps.sh
@@ -6,16 +6,16 @@
local commandname="DETECT-DEPS"
local commandaction="Detect-Deps"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e "================================="
echo -e "Dependencies Checker"
echo -e "================================="
echo -e "Checking directory: "
echo -e "${serverfiles}"
-if [ "$(command -v eu-readelf 2>/dev/null)" ]; then
+if [ -n "$(command -v eu-readelf 2>/dev/null)" ]; then
readelf=eu-readelf
-elif [ "$(command -v readelf 2>/dev/null)" ]; then
+elif [ -n "$(command -v readelf 2>/dev/null)" ]; then
readelf=readelf
else
echo -e "readelf/eu-readelf not installed"
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index f8b858dff..e86fb05db 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -7,7 +7,7 @@
local commandname="DETECT-GLIBC"
local commandaction="Detect-Glibc"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e "================================="
echo -e "glibc Requirements Checker"
@@ -20,7 +20,7 @@ if [ -z "$(command -v objdump)" ]; then
fi
if [ -z "${serverfiles}" ]; then
- dir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
+ dir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
fi
if [ -d "${serverfiles}" ]; then
@@ -88,4 +88,5 @@ if [ -f "${tmpdir}/detect_glibc_highest.tmp" ]; then
else
fn_print_information_nl "glibc is not required"
fi
+
core_exit.sh
diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh
index 394f60db2..3df4b0a58 100644
--- a/lgsm/functions/command_dev_detect_ldd.sh
+++ b/lgsm/functions/command_dev_detect_ldd.sh
@@ -7,14 +7,14 @@
local commandname="DETECT-LDD"
local commandaction="Detect-LDD"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e "================================="
echo -e "Shared Object dependencies Checker"
echo -e "================================="
if [ -z "${serverfiles}" ]; then
- dir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
+ dir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
fi
if [ -d "${serverfiles}" ]; then
diff --git a/lgsm/functions/command_dev_query_raw.sh b/lgsm/functions/command_dev_query_raw.sh
index d927cd61a..a0efd2690 100644
--- a/lgsm/functions/command_dev_query_raw.sh
+++ b/lgsm/functions/command_dev_query_raw.sh
@@ -6,14 +6,15 @@
local commandname="QUERY-RAW"
local commandaction="Query Raw"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+
echo -e ""
-echo -e "Query Port"
+echo -e "Query Port - Raw Output"
echo -e "=================================================================="
echo -e ""
echo -e "Gamedig Raw Output"
echo -e "================================="
-echo""
+echo -e ""
if [ ! "$(command -v gamedig 2>/dev/null)" ]; then
fn_print_failure_nl "gamedig not installed"
fi
@@ -24,77 +25,54 @@ fi
check.sh
info_config.sh
info_parms.sh
-if [ "${engine}" == "idtech3_ql" ]; then
- local engine="quakelive"
-elif [ "${shortname}" == "kf2" ]; then
- local engine="unreal4"
-fi
query_gamedig.sh
echo -e "${gamedigcmd}"
echo""
echo -e "${gamedigraw}" | jq
-echo""
+
+echo -e ""
echo -e "gsquery Raw Output"
echo -e "================================="
-echo""
-echo -e "./query_gsquery.py -a \"${ip}\" -p \"${queryport}\" -e \"${engine}\""
+echo -e ""
+echo -e "./query_gsquery.py -a \"${ip}\" -p \"${queryport}\" -e \"${querytype}\""
+echo -e ""
if [ ! -f "${functionsdir}/query_gsquery.py" ]; then
fn_fetch_file_github "lgsm/functions" "query_gsquery.py" "${functionsdir}" "chmodx" "norun" "noforce" "nomd5"
fi
-"${functionsdir}"/query_gsquery.py -a "${ip}" -p "${queryport}" -e "${engine}"
+"${functionsdir}"/query_gsquery.py -a "${ip}" -p "${queryport}" -e "${querytype}"
-echo""
+echo -e ""
echo -e "TCP Raw Output"
echo -e "================================="
-echo""
+echo -e ""
echo -e "bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}''"
+echo -e ""
bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}''
querystatus="$?"
+echo -e ""
if [ "${querystatus}" == "0" ]; then
echo -e "TCP query PASS"
else
echo -e "TCP query FAIL"
fi
-echo""
-echo -e "UDP Raw Output"
-echo -e "================================="
-echo""
-echo -e "bash -c 'exec 3<> /dev/udp/'${ip}'/'${queryport}''"
-bash -c 'exec 3<> /dev/udp/'${ip}'/'${queryport}''
-querystatus="$?"
-if [ "${querystatus}" == "0" ]; then
- echo -e "UPD query PASS"
-else
- echo -e "UPD query FAIL"
-fi
echo -e ""
-echo -e "Game Port"
+echo -e "Game Port - Raw Output"
echo -e "=================================================================="
echo -e ""
-echo""
echo -e "TCP Raw Output"
echo -e "================================="
-echo""
+echo -e ""
echo -e "bash -c 'exec 3<> /dev/tcp/'${ip}'/'${port}''"
+echo -e ""
bash -c 'exec 3<> /dev/tcp/'${ip}'/'${port}''
querystatus="$?"
+echo -e ""
if [ "${querystatus}" == "0" ]; then
echo -e "TCP query PASS"
else
echo -e "TCP query FAIL"
fi
-echo""
-echo -e "UDP Raw Output"
-echo -e "================================="
-echo""
-echo -e "bash -c 'exec 3<> /dev/udp/'${ip}'/'${port}''"
-bash -c 'exec 3<> /dev/udp/'${ip}'/'${port}''
-querystatus="$?"
-if [ "${querystatus}" == "0" ]; then
- echo -e "UDP query PASS"
-else
- echo -e "UDP query FAIL"
-fi
+core_exit.sh
diff --git a/lgsm/functions/command_donate.sh b/lgsm/functions/command_donate.sh
index 036307051..15c94fdf3 100644
--- a/lgsm/functions/command_donate.sh
+++ b/lgsm/functions/command_donate.sh
@@ -2,7 +2,12 @@
# LinuxGSM command_donate.sh function
# Author: Daniel Gibbs
# Website: https://linuxgsm.com
-# Description: Shows ways to donate
+# Description: Shows ways to donate.
+
+local commandname="CONSOLE"
+local commandaction="Console"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+
fn_print_ascii_logo
echo -e "${lightyellow}Support LinuxGSM${default}"
echo -e "================================="
@@ -15,3 +20,5 @@ echo -e "* ${lightblue}PayPal:${default} https://linuxgsm.com/paypal"
echo -e "* ${lightblue}Ko-Fi:${default} https://linuxgsm.com/ko-fi"
echo -e ""
echo -e "LinuxGSM est. 2012"
+
+core_exit.sh
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index b8b43785c..d862c7ed8 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -7,7 +7,7 @@
local commandname="FASTDL"
local commandaction="FastDL"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
@@ -135,7 +135,7 @@ fn_human_readable_file_size(){
local factor="${item%:*}"
local abbrev="${item#*:}"
if [[ "${bytes}" -ge "${factor}" ]]; then
- local size="$(bc -l <<< "${bytes} / ${factor}")"
+ local size=$(bc -l <<< "${bytes} / ${factor}")
printf "%.*f %s\n" "${precision}" "${size}" "${abbrev}"
break
fi
@@ -161,9 +161,9 @@ fn_fastdl_preview(){
while read -r ext; do
((fileswc++))
tput rc; tput el
- printf "gathering ${allowed_extention} : ${fileswc}..."
+ echo -e "gathering ${allowed_extention} : ${fileswc}..."
echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt"
- done < <(find . -type f -iname ${allowed_extention})
+ done < <(find . -type f -iname "${allowed_extention}")
if [ ${fileswc} != 0 ]; then
fn_print_ok_eol_nl
else
@@ -192,9 +192,9 @@ fn_fastdl_preview(){
while read -r ext; do
((fileswc++))
tput rc; tput el
- printf "gathering ${directory} ${allowed_extention} : ${fileswc}..."
+ echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..."
echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt"
- done < <(find "${systemdir}/${directory}" -type f -iname ${allowed_extention})
+ done < <(find "${systemdir}/${directory}" -type f -iname "${allowed_extention}")
tput rc; tput el
echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..."
if [ ${fileswc} != 0 ]; then
@@ -213,7 +213,7 @@ fn_fastdl_preview(){
# Calculates total file size.
while read -r dufile; do
filesize=$(stat -c %s "${dufile}")
- filesizetotal=$(( ${filesizetotal} + ${filesize} ))
+ filesizetotal=$(( filesizetotal+filesize ))
exitcode=$?
if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
@@ -305,9 +305,9 @@ fn_fastdl_gmod(){
if [ -f "${tmpdir}/fastdl_files_to_compress.txt" ]; then
totalfiles=$(wc -l < "${tmpdir}/fastdl_files_to_compress.txt")
# Calculates total file size.
- while read dufile; do
+ while read -r dufile; do
filesize=$(du -b "${dufile}" | awk '{ print $1 }')
- filesizetotal=$(( ${filesizetotal} + ${filesize} ))
+ filesizetotal=$((filesizetotal + filesize))
done <"${tmpdir}/fastdl_files_to_compress.txt"
fi
}
@@ -334,7 +334,7 @@ fn_fastdl_source(){
while read -r fastdlfile; do
((fileswc++))
tput rc; tput el
- printf "copying ${directory} ${allowed_extention} : ${fileswc}..."
+ echo -e "copying ${directory} ${allowed_extention} : ${fileswc}..."
fn_sleep_time
# get relative path of file in the dir
tmprelfilepath="${fastdlfile#"${systemdir}/"}"
@@ -352,7 +352,7 @@ fn_fastdl_source(){
else
fn_script_log_pass "Copying ${fastdlfile} > ${fastdldir}/${copytodir}"
fi
- done < <(find "${systemdir}/${directory}" -type f -iname ${allowed_extention})
+ done < <(find "${systemdir}/${directory}" -type f -iname "${allowed_extention}")
if [ ${fileswc} != 0 ]; then
fn_print_ok_eol_nl
fi
@@ -438,4 +438,5 @@ echo -e "FastDL files are located in:"
echo -e "${fastdldir}"
echo -e "FastDL completed"
fn_script_log_info "FastDL completed"
+
core_exit.sh
diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh
index 2bc534d69..4955aab86 100644
--- a/lgsm/functions/command_install.sh
+++ b/lgsm/functions/command_install.sh
@@ -7,7 +7,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
if [ "$(whoami)" = "root" ]; then
@@ -45,6 +45,7 @@ else
fi
fix.sh
+ install_stats.sh
install_complete.sh
- core_exit.sh
fi
+core_exit.sh
diff --git a/lgsm/functions/command_install_resources_mta.sh b/lgsm/functions/command_install_resources_mta.sh
index 0eaa378bd..c4a555800 100644
--- a/lgsm/functions/command_install_resources_mta.sh
+++ b/lgsm/functions/command_install_resources_mta.sh
@@ -6,7 +6,7 @@
local commandname="DEFAULT_RESOURCES"
local commandaction="Default Resources"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_install_resources(){
echo -e ""
@@ -28,3 +28,5 @@ else
fn_print_warning_nl "Default resources are not installed when using ./${selfname} auto-install."
fn_print_information_nl "To install default resources use ./${selfname} install"
fi
+
+core_exit.sh
diff --git a/lgsm/functions/command_mods_install.sh b/lgsm/functions/command_mods_install.sh
index 16ba9956f..dd6b51de6 100644
--- a/lgsm/functions/command_mods_install.sh
+++ b/lgsm/functions/command_mods_install.sh
@@ -7,7 +7,7 @@
local commandname="MODS"
local commandaction="addons/mods"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
mods_core.sh
@@ -87,7 +87,7 @@ if [ -f "${modsinstalledlistfullpath}" ]; then
fn_script_log_warn "${modprettyname} is already installed"
echo -e " * Any configs may be overwritten."
if ! fn_prompt_yn "Continue?" Y; then
- echo Exiting; core_exit.sh
+ core_exit.sh
fi
fn_script_log_info "User selected to continue"
fi
diff --git a/lgsm/functions/command_mods_remove.sh b/lgsm/functions/command_mods_remove.sh
index 3d2dae54b..13516410d 100644
--- a/lgsm/functions/command_mods_remove.sh
+++ b/lgsm/functions/command_mods_remove.sh
@@ -7,7 +7,7 @@
local commandname="MODS"
local commandaction="Mods Remove"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
mods_core.sh
@@ -46,7 +46,7 @@ done
fn_print_warning_nl "You are about to remove ${cyan}${usermodselect}${default}."
echo -e " * Any custom files/configuration will be removed."
if ! fn_prompt_yn "Continue?" Y; then
- echo Exiting; exit
+ core_exit.sh
fi
currentmod="${usermodselect}"
@@ -64,7 +64,7 @@ modfileline="1"
tput sc
while [ "${modfileline}" -le "${modsfilelistsize}" ]; do
# Current line defines current file to remove.
- currentfileremove="$(sed "${modfileline}q;d" "${modsdir}/${modcommand}-files.txt")"
+ currentfileremove=$(sed "${modfileline}q;d" "${modsdir}/${modcommand}-files.txt")
# If file or directory exists, then remove it.
if [ -f "${modinstalldir}/${currentfileremove}" ]||[ -d "${modinstalldir}/${currentfileremove}" ]; then
diff --git a/lgsm/functions/command_mods_update.sh b/lgsm/functions/command_mods_update.sh
index 5faa2f313..ba5708d96 100644
--- a/lgsm/functions/command_mods_update.sh
+++ b/lgsm/functions/command_mods_update.sh
@@ -7,7 +7,7 @@
local commandname="MODS"
local commandaction="Mods Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
mods_core.sh
@@ -19,11 +19,11 @@ fn_remove_cfg_files(){
echo -e "the following files/directories will be preserved:"
fn_sleep_time
# Count how many files there are to remove.
- filestopreserve="$(echo -e "${modkeepfiles}" | awk -F ';' '{ print NF }')"
+ filestopreserve=$(echo -e "${modkeepfiles}" | awk -F ';' '{ print NF }')
# Test all subvalues of "modkeepfiles" using the ";" separator.
- for ((preservefilesindex=1; preservefilesindex < ${filestopreserve}; preservefilesindex++)); do
+ for ((preservefilesindex=1; preservefilesindex < filestopreserve; preservefilesindex++)); do
# Put the current file we are looking for into a variable.
- filetopreserve="$(echo -e "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }' )"
+ filetopreserve=$(echo -e "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }' )
echo -e " * serverfiles/${filetopreserve}"
# If it matches an existing file that have been extracted delete the file.
if [ -f "${extractdir}/${filetopreserve}" ]||[ -d "${extractdir}/${filetopreserve}" ]; then
@@ -71,7 +71,7 @@ done
# Reset line value.
installedmodsline="1"
while [ "${installedmodsline}" -le "${installedmodscount}" ]; do
- currentmod="$(sed "${installedmodsline}q;d" "${modsinstalledlistfullpath}")"
+ currentmod=$(sed "${installedmodsline}q;d" "${modsinstalledlistfullpath}")
if [ -n "${currentmod}" ]; then
fn_mod_get_info
# Don not update mod if the policy is set to "NOUPDATE".
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 9cbe30069..387bd8b1c 100644
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -8,37 +8,124 @@
local commandname="MONITOR"
local commandaction="Monitor"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
-fn_monitor_loop(){
-# Monitor will query up to 5 times every 15 seconds.
-# Query will wait up to 60 seconds to confirm server is down giving server time if changing map.
+fn_monitor_check_lockfile(){
+ # Monitor does not run it lockfile is not found.
+ if [ ! -f "${rootdir}/${lockselfname}" ]; then
+ fn_print_dots "Checking lockfile: "
+ fn_print_checking_eol
+ fn_script_log_info "Checking lockfile: CHECKING"
+ fn_sleep_time
+ fn_print_error "Checking lockfile: No lockfile found: "
+ fn_print_error_eol
+ fn_script_log_error "Checking lockfile: No lockfile found: ERROR"
+ fn_sleep_time
+ echo -e " * Start ${selfname} to run monitor."
+ core_exit.sh
+ fi
+
+ # Fix if lockfile is not unix time or contains letters
+ if [[ "$(cat "${rootdir}/${lockselfname}")" =~ [A-Za-z] ]]; then
+ date '+%s' > "${rootdir}/${lockselfname}"
+ fi
+}
+
+fn_monitor_check_update(){
+ # Monitor will check if update is already running.
+ if [ "$(pgrep "${selfname} update" | wc -l)" != "0" ]; then
+ fn_print_dots "Checking active updates: "
+ fn_print_checking_eol
+ fn_script_log_info "Checking active updates: CHECKING"
+ fn_sleep_time
+ fn_print_error_nl "Checking active updates: SteamCMD is currently checking for updates: "
+ fn_print_error_eol
+ fn_script_log_error "Checking active updates: SteamCMD is currently checking for updates: ERROR"
+ fn_sleep_time
+ core_exit.sh
+ fi
+}
+
+fn_monitor_check_session(){
+ fn_print_dots "Checking session: "
+ fn_print_checking_eol
+ fn_script_log_info "Checking session: CHECKING"
+ fn_sleep_time
+ # uses status var from check_status.sh
+ if [ "${status}" != "0" ]; then
+ fn_print_ok "Checking session: "
+ fn_print_ok_eol_nl
+ fn_script_log_pass "Checking session: OK"
+ fn_sleep_time
+ else
+ fn_print_error "Checking session: "
+ fn_print_fail_eol_nl
+ fn_script_log_fatal "Checking session: FAIL"
+ fn_sleep_time
+ alert="restart"
+ alert.sh
+ fn_script_log_info "Checking session: Monitor is restarting ${selfname}"
+ command_restart.sh
+ core_exit.sh
+ fi
+}
+
+fn_monitor_check_queryport(){
+ # Monitor will check queryport is set before continuing.
+ if [ -z "${queryport}" ]||[ "${queryport}" == "0" ]; then
+ fn_print_dots "Checking port: "
+ fn_print_checking_eol
+ fn_script_log_info "Checking session: CHECKING"
+ fn_sleep_time
+ fn_print_error "Checking port: Unable to query as queryport is not set: "
+ fn_print_error_eol_nl
+ fn_script_log_error "Checking port: Unable to query as queryport is not set: ERROR"
+ fn_sleep_time
+ core_exit.sh
+ fi
+}
+
+fn_query_gsquery(){
+ if [ ! -f "${functionsdir}/query_gsquery.py" ]; then
+ fn_fetch_file_github "lgsm/functions" "query_gsquery.py" "${functionsdir}" "chmodx" "norun" "noforce" "nomd5"
+ fi
+ "${functionsdir}"/query_gsquery.py -a "${ip}" -p "${queryport}" -e "${querytype}" > /dev/null 2>&1
+ querystatus="$?"
+}
+
+fn_query_tcp(){
+ bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}'' > /dev/null 2>&1
+ querystatus="$?"
+}
+
+fn_monitor_query(){
+# Will loop and query up to 5 times every 15 seconds.
+# Query will wait up to 60 seconds to confirm server is down as server can become non-responsive during map changes.
totalseconds=0
for queryattempt in {1..5}; do
fn_print_dots "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: "
fn_print_querying_eol
fn_script_log_info "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt} : QUERYING"
+ fn_sleep_time
+ # querydelay
if [ "$(cat "${rootdir}/${lockselfname}")" -gt "$(date "+%s" -d "${querydelay} mins ago")" ]; then
fn_print_ok "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: "
- fn_print_delay_eol
+ fn_print_delay_eol_nl
fn_script_log_info "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt} : DELAY"
- fn_script_log_info "Query bypassed: ${gameservername} started less than ${querydelay} minute ago"
+ fn_script_log_info "Query bypassed: ${gameservername} started less than ${querydelay} minutes ago"
+ fn_sleep_time
monitorpass=1
core_exit.sh
+ # will use query method selected in fn_monitor_loop
+ # gamedig
elif [ "${querymethod}" == "gamedig" ]; then
query_gamedig.sh
+ # gsquery
elif [ "${querymethod}" == "gsquery" ]; then
- if [ ! -f "${functionsdir}/query_gsquery.py" ]; then
- fn_fetch_file_github "lgsm/functions" "query_gsquery.py" "${functionsdir}" "chmodx" "norun" "noforce" "nomd5"
- fi
- "${functionsdir}"/query_gsquery.py -a "${ip}" -p "${queryport}" -e "${engine}" > /dev/null 2>&1
- querystatus="$?"
+ fn_query_gsquery
+ #tcp query
elif [ "${querymethod}" == "tcp" ]; then
- bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}''
- querystatus="$?"
- elif [ "${querymethod}" == "udp" ]; then
- bash -c 'exec 3<> /dev/udp/'${ip}'/'${queryport}''
- querystatus="$?"
+ fn_query_tcp
fi
if [ "${querystatus}" == "0" ]; then
@@ -46,21 +133,43 @@ for queryattempt in {1..5}; do
fn_print_ok "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: "
fn_print_ok_eol_nl
fn_script_log_pass "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt}: OK"
+ fn_sleep_time
monitorpass=1
+ # send LinuxGSM stats if monitor is OK.
+ if [ "${stats}" == "on" ]; then
+ info_stats.sh
+ fi
+ if [ "${querystatus}" == "0" ]; then
+ # Add query data to log.
+ if [ -n "${gdname}" ]; then
+ fn_script_log_info "Server name: ${gdname}"
+ fi
+ if [ -n "${gdplayers}" ]; then
+ fn_script_log_info "Players: ${gdplayers}/${gdmaxplayers}"
+ fi
+ if [ -n "${gdmap}" ]; then
+ fn_script_log_info "Map: ${gdmap}"
+ fi
+ if [ -n "${gdgamemode}" ]; then
+ fn_script_log_info "Game Mode: ${gdgamemode}"
+ fi
+ fi
core_exit.sh
else
# Server query FAIL.
- fn_script_log_info "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt}: FAIL"
fn_print_fail "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: "
fn_print_fail_eol
- # Monitor try gamedig first then gsquery before restarting.
- if [ "${querymethod}" == "gsquery" ]; then
+ fn_script_log_warn "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt}: FAIL"
+ fn_sleep_time
+ # Monitor will try gamedig (if supported) for first 30s then gsquery before restarting.
+ if [ "${querymethod}" == "gsquery" ]||[ "${querymethod}" == "tcp" ]; then
+ # gsquery will fail if longer than 60s
if [ "${totalseconds}" -ge "59" ]; then
- # Server query FAIL for over 59 seconds reboot server.
+ # Monitor will FAIL if over 60s and trigger gane server reboot.
fn_print_fail "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: "
fn_print_fail_eol_nl
- fn_script_log_error "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt}: FAIL"
-
+ fn_script_log_warn "Querying port: ${querymethod}: ${ip}:${queryport} : ${queryattempt}: FAIL"
+ fn_sleep_time
# Send alert if enabled.
alert="restartquery"
alert.sh
@@ -68,12 +177,13 @@ for queryattempt in {1..5}; do
core_exit.sh
fi
elif [ "${querymethod}" == "gamedig" ]; then
+ # gamedig will fail and try gsquery if longer than 30s
if [ "${totalseconds}" -ge "29" ]; then
break
fi
fi
- # Seconds counter.
+ # 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}: WAIT"
totalseconds=$((totalseconds + 1))
@@ -85,135 +195,56 @@ for queryattempt in {1..5}; do
done
}
-fn_monitor_check_lockfile(){
- # Monitor does not run it lockfile is not found.
- if [ ! -f "${rootdir}/${lockselfname}" ]; then
- fn_print_error_nl "Disabled: No lockfile found"
- fn_script_log_error "Disabled: No lockfile found"
- echo -e " * To enable monitor run ./${selfname} start"
- core_exit.sh
- fi
-}
-
-fn_monitor_check_update(){
- # Monitor will check if update is already running.
- if [ "$(pgrep "${selfname} update" | wc -l)" != "0" ]; then
- fn_print_error_nl "SteamCMD is currently checking for updates"
- fn_script_log_error "SteamCMD is currently checking for updates"
- core_exit.sh
- fi
-}
-
-fn_monitor_check_session(){
- fn_print_dots "Checking session: "
- fn_print_checking_eol
- fn_script_log_info "Checking session: CHECKING"
- if [ "${status}" != "0" ]; then
- fn_print_ok "Checking session: "
- fn_print_ok_eol_nl
- fn_script_log_pass "Checking session: OK"
- else
- if [ "${shortname}" == "ts3" ]; then
- fn_print_error "Checking session: ${ts3error}: "
- elif [ "${shortname}" == "mumble" ]; then
- fn_print_error "Checking session: Not listening to port ${queryport}"
- else
- fn_print_error "Checking session: "
- fi
- fn_print_fail_eol_nl
- fn_script_log_error "Checking session: FAIL"
- alert="restart"
- alert.sh
- fn_script_log_info "Monitor is starting ${servername}"
- command_restart.sh
- core_exit.sh
+fn_monitor_loop(){
+ # loop though query methods selected by querymode.
+ totalseconds=0
+ if [ "${querymode}" == "2" ]; then
+ local query_methods_array=( gamedig gsquery )
+ elif [ "${querymode}" == "3" ]; then
+ local query_methods_array=( gamedig )
+ elif [ "${querymode}" == "4" ]; then
+ local query_methods_array=( gsquery )
+ elif [ "${querymode}" == "5" ]; then
+ local query_methods_array=( tcp )
fi
-}
-
-fn_monitor_query(){
- fn_script_log_info "Querying port: query enabled"
- # Engines that work with query.
- local allowed_engines_array=( avalanche2.0 avalanche3.0 barotrauma goldsource idtech2 idtech3 idtech3_ql ioquake3 iw2.0 iw3.0 lwjgl2 madness quake qfusion refractor realvirtuality source spark starbound unity3d unreal unreal2 unreal4 wurm )
- for allowed_engine in "${allowed_engines_array[@]}"
+ for querymethod in "${query_methods_array[@]}"
do
- if [ "${allowed_engine}" == "${engine}" ]; then
- if [ "${engine}" == "idtech3_ql" ]; then
- local engine="quakelive"
- elif [ "${shortname}" == "kf2" ]; then
- local engine="unreal4"
- fi
-
- # Will first attempt to use gamedig then gsquery.
- totalseconds=0
- if [ "${shortname}" == "wurm" ]; then
- local query_methods_array=( gsquery )
+ # Will check if gamedig is installed and bypass if not.
+ if [ "${querymethod}" == "gamedig" ]; then
+ if [ -n "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
+ if [ -z "${monitorpass}" ]; then
+ fn_monitor_query
+ fi
else
- local query_methods_array=( gamedig gsquery )
+ fn_script_log_info "gamedig is not installed"
+ fn_script_log_info "https://docs.linuxgsm.com/requirements/gamedig"
+ fi
+ else
+ # will not query if query already passed.
+ if [ -z "${monitorpass}" ]; then
+ fn_monitor_query
fi
- for query_method in "${query_methods_array[@]}"
- do
- if [ "${query_method}" == "gamedig" ]; then
- # Will bypass gamedig if not installed.
- if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
- if [ -z "${monitorpass}" ]; then
- querymethod="${query_method}"
- fn_monitor_loop
- fi
- fi
- else
- if [ -z "${monitorpass}" ]; then
- querymethod="${query_method}"
- fn_monitor_loop
- fi
- fi
- done
fi
done
}
-fn_monitor_query_tcp(){
- querymethod="tcp"
- fn_monitor_loop
-}
-
-fn_monitor_query_udp(){
- querymethod="upd"
- fn_monitor_loop
-}
-
monitorflag=1
-fn_print_dots "${servername}"
check.sh
logs.sh
info_config.sh
info_parms.sh
+# query pre-checks
fn_monitor_check_lockfile
fn_monitor_check_update
fn_monitor_check_session
+fn_monitor_check_queryport
-# Fix if lockfile is not unix time or contains letters
-if [[ "$(cat "${rootdir}/${lockselfname}")" =~ [A-Za-z] ]]; then
- date '+%s' > "${rootdir}/${lockselfname}"
-fi
-
-# Add a query bypass if missing
+# Add a querydelay of 1 min if var missing.
if [ -z "${querydelay}" ]; then
querydelay="1"
fi
-# Query has to be enabled in Starbound config.
-if [ "${shortname}" == "sb" ]; then
- if [ "${queryenabled}" == "true" ]; then
- fn_monitor_query
- fi
-elif [ "${shortname}" == "ts3" ]||[ "${shortname}" == "eco" ]||[ "${shortname}" == "mumble" ]; then
- fn_monitor_query_tcp
-elif [ "${shortname}" == "mohaa" ]; then
- # prevent game from using query. Only used if specific game server cant query but engine can
- :
-else
- fn_monitor_query
-fi
+fn_monitor_loop
core_exit.sh
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
index 9ce9920a4..0657a2622 100644
--- a/lgsm/functions/command_postdetails.sh
+++ b/lgsm/functions/command_postdetails.sh
@@ -7,7 +7,7 @@
local commandname="POSTDETAILS"
local commandaction="Postdetails"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Set posttarget to the appropriately-defined post destination.
@@ -48,7 +48,7 @@ if [ -f "${postdetailslog}" ]; then
fi
# Rather than a one-pass sed parser, default to using a temporary directory.
-if [ -n "${alertflag}" ]; then
+if [ -n "${exitbypass}" ]; then
postdetailslog="${alertlog}"
else
# Run checks and gathers details to display.
@@ -67,7 +67,7 @@ else
fn_info_message_script
fn_info_message_backup
# Some game servers do not have parms.
- if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "jc2" ]&&[ "${shortname}" != "jc3" ]&&[ "${shortname}" != "dst" ]&&[ "${shortname}" != "pz" ]&&[ "${engine}" != "renderware" ]; then
+ if [ "${shortname}" != "jc2" ]&&[ "${shortname}" != "jc3" ]&&[ "${shortname}" != "dst" ]&&[ "${shortname}" != "pz" ]&&[ "${engine}" != "renderware" ]; then
fn_parms
fn_info_message_commandlineparms
fi
@@ -80,12 +80,12 @@ fi
if [ "${posttarget}" == "http://pastebin.com" ] ; then
fn_print_dots "Posting details to pastbin.com for ${postexpire}"
# grab the return from 'value' from an initial visit to pastebin.
- csrftoken=$(${curlpath} -s "${posttarget}" |
+ csrftoken=$(curl -s "${posttarget}" |
sed -n 's/^.*input type="hidden" name="csrf_token_post" value="\(.*\)".*$/\1/p')
#
# Use the csrftoken to then post the content.
#
- link=$(${curlpath} -s "${posttarget}/post.php" -D - -F "submit_hidden=submit_hidden" \
+ link=$(curl -s "${posttarget}/post.php" -D - -F "submit_hidden=submit_hidden" \
-F "post_key=${csrftoken}" -F "paste_expire_date=${postexpire}" \
-F "paste_name=${gamename} Debug Info" \
-F "paste_format=8" -F "paste_private=0" \
@@ -101,7 +101,7 @@ elif [ "${posttarget}" == "https://hastebin.com" ] ; then
# hastebin is a bit simpler. If successful, the returned result
# should look like: {"something":"key"}, putting the reference that
# we need in "key". TODO - error handling. -CedarLUG
- link=$(${curlpath} -H "HTTP_X_REQUESTED_WITH:XMLHttpRequest" -s -d "$(<${postdetailslog})" "${posttarget}/documents" | cut -d\" -f4)
+ link=$(curl -H "HTTP_X_REQUESTED_WITH:XMLHttpRequest" -s -d "$(<${postdetailslog})" "${posttarget}/documents" | cut -d\" -f4)
fn_print_ok_nl "Posting details to hastebin.com for ${postexpire}"
pdurl="${posttarget}/${link}"
echo -e "Please share the following url for support: ${pdurl}"
@@ -117,7 +117,7 @@ else
core_exit.sh
fi
-if [ -z "${alertflag}" ]; then
+if [ -z "${exitbypass}" ]; then
core_exit.sh
else
alerturl="${pdurl}"
diff --git a/lgsm/functions/command_restart.sh b/lgsm/functions/command_restart.sh
index 2ece0810c..76b65b8e5 100644
--- a/lgsm/functions/command_restart.sh
+++ b/lgsm/functions/command_restart.sh
@@ -6,9 +6,11 @@
local commandname="RESTART"
local commandaction="Restarting"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
info_config.sh
exitbypass=1
command_stop.sh
command_start.sh
+
+core_exit.sh
diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh
index dac7aa2c3..4c9fd20c4 100644
--- a/lgsm/functions/command_start.sh
+++ b/lgsm/functions/command_start.sh
@@ -7,7 +7,7 @@
local commandname="START"
local commandaction="Starting"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_start_teamspeak3(){
if [ ! -e "${servercfgfullpath}" ]; then
@@ -24,34 +24,11 @@ fn_start_teamspeak3(){
sleep 5
touch "${servercfgfullpath}"
fi
- fn_sleep_time
- if [ -f "${lgsmlog}" ]; then
- mv "${lgsmlog}" "${lgsmlogdate}"
- fi
-
- # Create lockfile.
- date '+%s' > "${rootdir}/${lockselfname}"
# Accept license.
if [ ! -f "${executabledir}/.ts3server_license_accepted" ]; then
install_eula.sh
fi
- cd "${executabledir}" || exit
- if [ "${ts3serverpass}" == "1" ]; then
- ./ts3server_startscript.sh start serveradmin_password="${newpassword}" inifile="${servercfgfullpath}" > /dev/null 2>&1
- else
- ./ts3server_startscript.sh start inifile="${servercfgfullpath}" > /dev/null 2>&1
- fi
- fn_sleep_time
- check_status.sh
- if [ "${status}" == "0" ]; then
- fn_print_fail_nl "Unable to start ${servername}"
- fn_script_log_fatal "Unable to start ${servername}"
- echo -e " Check log files: ${logdir}"
- core_exit.sh
- else
- fn_print_ok_nl "${servername}"
- fn_script_log_pass "Started ${servername}"
- fi
+ fn_start_tmux
}
fn_start_tmux(){
@@ -87,23 +64,23 @@ fn_start_tmux(){
# Create lockfile
date > "${rootdir}/${lockselfname}"
cd "${executabledir}" || exit
- tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${servicename}" "${executable} ${parms}" 2> "${lgsmlogdir}/.${servicename}-tmux-error.tmp"
+ tmux new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${selfname}" "${executable} ${parms}" 2> "${lgsmlogdir}/.${selfname}-tmux-error.tmp"
# Create logfile.
touch "${consolelog}"
# Get tmux version.
- tmuxversion="$(tmux -V | sed "s/tmux //" | sed -n '1 p')"
+ tmuxversion=$(tmux -V | sed "s/tmux //" | sed -n '1 p')
# Tmux compiled from source will return "master", therefore ignore it.
if [ "$(tmux -V | sed "s/tmux //" | sed -n '1 p')" == "master" ]; then
fn_script_log "Tmux version: master (user compiled)"
echo -e "Tmux version: master (user compiled)" >> "${consolelog}"
if [ "${consolelogging}" == "on" ]||[ -z "${consolelogging}" ]; then
- tmux pipe-pane -o -t "${servicename}" "exec cat >> '${consolelog}'"
+ tmux pipe-pane -o -t "${selfname}" "exec cat >> '${consolelog}'"
fi
elif [ -n "${tmuxversion}" ]; then
# Get the digit version of tmux.
- tmuxversion="$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')"
+ tmuxversion=$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')
# tmux pipe-pane not supported in tmux versions < 1.6.
if [ "${tmuxversion}" -lt "16" ]; then
echo -e "Console logging disabled: Tmux => 1.6 required
@@ -117,7 +94,7 @@ fn_start_tmux(){
Currently installed: $(tmux -V)" > "${consolelog}"
# Console logging enable or not set.
elif [ "${consolelogging}" == "on" ]||[ -z "${consolelogging}" ]; then
- tmux pipe-pane -o -t "${servicename}" "exec cat >> '${consolelog}'"
+ tmux pipe-pane -o -t "${selfname}" "exec cat >> '${consolelog}'"
fi
else
echo -e "Unable to detect tmux version" >> "${consolelog}"
@@ -136,25 +113,25 @@ fn_sleep_time
if [ "${status}" == "0" ]; then
fn_print_fail_nl "Unable to start ${servername}"
fn_script_log_fatal "Unable to start ${servername}"
- if [ -s "${lgsmlogdir}/.${servicename}-tmux-error.tmp" ]; then
+ if [ -s "${lgsmlogdir}/.${selfname}-tmux-error.tmp" ]; then
fn_print_fail_nl "Unable to start ${servername}: Tmux error:"
fn_script_log_fatal "Unable to start ${servername}: Tmux error:"
echo -e ""
echo -e "Command"
echo -e "================================="
- echo -e "tmux new-session -d -s \"${servicename}\" \"${executable} ${parms}\"" | tee -a "${lgsmlog}"
+ echo -e "tmux new-session -d -s \"${selfname}\" \"${executable} ${parms}\"" | tee -a "${lgsmlog}"
echo -e ""
echo -e "Error"
echo -e "================================="
- cat "${lgsmlogdir}/.${servicename}-tmux-error.tmp" | tee -a "${lgsmlog}"
+ cat "${lgsmlogdir}/.${selfname}-tmux-error.tmp" | tee -a "${lgsmlog}"
# Detected error https://linuxgsm.com/support
- if grep -c "Operation not permitted" "${lgsmlogdir}/.${servicename}-tmux-error.tmp"
+ if grep -c "Operation not permitted" "${lgsmlogdir}/.${selfname}-tmux-error.tmp"
then
echo -e ""
echo -e "Fix"
echo -e "================================="
- if [ ! "$(grep "tty:" /etc/group|grep "$(whoami)")" ]; then
+ if ! grep "tty:" /etc/group | grep "$(whoami)"; then
echo -e "$(whoami) is not part of the tty group."
fn_script_log_info "$(whoami) is not part of the tty group."
group=$(grep tty /etc/group)
@@ -182,12 +159,14 @@ fn_sleep_time
fn_print_ok "${servername}"
fn_script_log_pass "Started ${servername}"
fi
- rm "${lgsmlogdir}/.${servicename}-tmux-error.tmp"
+ rm "${lgsmlogdir}/.${selfname}-tmux-error.tmp"
echo -en "\n"
}
-fn_print_dots "${servername}"
+
check.sh
+
+fn_print_dots "${servername}"
# Is the server already started.
# $status comes from check_status.sh, which is run by check.sh for this command
if [ "${status}" != "0" ]; then
@@ -215,4 +194,5 @@ if [ "${shortname}" == "ts3" ]; then
else
fn_start_tmux
fi
+
core_exit.sh
diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh
index 01cce6a4a..f166fa552 100644
--- a/lgsm/functions/command_stop.sh
+++ b/lgsm/functions/command_stop.sh
@@ -7,14 +7,14 @@
local commandname="STOP"
local commandaction="Stopping"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Attempts graceful shutdown by sending 'CTRL+c'.
fn_stop_graceful_ctrlc(){
fn_print_dots "Graceful: CTRL+c"
fn_script_log_info "Graceful: CTRL+c"
# Sends quit.
- tmux send-keys -t "${servicename}" C-c > /dev/null 2>&1
+ tmux send-keys -t "${selfname}" C-c > /dev/null 2>&1
# Waits up to 30 seconds giving the server time to shutdown gracefuly.
for seconds in {1..30}; do
check_status.sh
@@ -43,7 +43,7 @@ fn_stop_graceful_cmd(){
fn_print_dots "Graceful: sending \"${1}\""
fn_script_log_info "Graceful: sending \"${1}\""
# Sends specific stop command.
- tmux send -t "${servicename}" "${1}" ENTER > /dev/null 2>&1
+ tmux send -t "${selfname}" "${1}" ENTER > /dev/null 2>&1
# Waits up to ${seconds} seconds giving the server time to shutdown gracefully.
for ((seconds=1; seconds<=${2}; seconds++)); do
check_status.sh
@@ -72,7 +72,7 @@ fn_stop_graceful_goldsource(){
fn_print_dots "Graceful: sending \"quit\""
fn_script_log_info "Graceful: sending \"quit\""
# sends quit
- tmux send -t "${servicename}" quit ENTER > /dev/null 2>&1
+ tmux send -t "${selfname}" quit ENTER > /dev/null 2>&1
# Waits 3 seconds as goldsource servers restart with the quit command.
for seconds in {1..3}; do
sleep 1
@@ -126,7 +126,7 @@ fn_stop_graceful_sdtd(){
fn_script_log_info "Graceful: telnet"
if [ "${telnetenabled}" == "false" ]; then
fn_print_info_nl "Graceful: telnet: DISABLED: Enable in ${servercfg}"
- elif [ "$(command -v expect 2>/dev/null)" ]; then
+ elif [ -n "$(command -v expect 2>/dev/null)" ]; then
# Tries to shutdown with both localhost and server IP.
for telnetip in 127.0.0.1 ${ip}; do
fn_print_dots "Graceful: telnet: ${telnetip}:${telnetport}"
@@ -200,22 +200,6 @@ fn_stop_graceful_select(){
fn_stop_graceful_sdtd
elif [ "${stopmode}" == "9" ]; then
fn_stop_graceful_goldsource
- elif [ "${stopmode}" == "10" ]; then
- fn_stop_teamspeak3
- fi
-}
-
-fn_stop_teamspeak3(){
- fn_print_dots "${servername}"
- "${serverfiles}"/ts3server_startscript.sh stop > /dev/null 2>&1
- check_status.sh
- if [ "${status}" == "0" ]; then
- rm -f "${rootdir}/${lockselfname}"
- fn_print_ok_nl "${servername}"
- fn_script_log_pass "Stopped ${servername}"
- else
- fn_print_fail_nl "Unable to stop ${servername}"
- fn_script_log_error "Unable to stop ${servername}"
fi
}
@@ -223,7 +207,7 @@ fn_stop_tmux(){
fn_print_dots "${servername}"
fn_script_log_info "tmux kill-session: ${servername}"
# Kill tmux session.
- tmux kill-session -t "${servicename}" > /dev/null 2>&1
+ tmux kill-session -t "${selfname}" > /dev/null 2>&1
fn_sleep_time
check_status.sh
if [ "${status}" == "0" ]; then
@@ -240,8 +224,6 @@ fn_stop_pre_check(){
if [ "${status}" == "0" ]; then
fn_print_info_nl "${servername} is already stopped"
fn_script_log_error "${servername} is already stopped"
- elif [ "${shortname}" == "ts3" ]; then
- fn_stop_teamspeak3
else
# Select graceful shutdown.
fn_stop_graceful_select
@@ -253,14 +235,16 @@ fn_stop_pre_check(){
fi
}
-fn_print_dots "${servername}"
check.sh
+fn_print_dots "${servername}"
+
info_config.sh
fn_stop_pre_check
# Remove lockfile.
if [ -f "${rootdir}/${lockselfname}" ]; then
rm -f "${rootdir}/${lockselfname}"
fi
+
if [ -z "${exitbypass}" ]; then
core_exit.sh
fi
diff --git a/lgsm/functions/command_test_alert.sh b/lgsm/functions/command_test_alert.sh
index 014e082b2..368a9ab21 100644
--- a/lgsm/functions/command_test_alert.sh
+++ b/lgsm/functions/command_test_alert.sh
@@ -6,11 +6,12 @@
local commandname="ALERT"
local commandaction="Alert"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_print_dots "${servername}"
check.sh
info_config.sh
alert="test"
alert.sh
+
core_exit.sh
diff --git a/lgsm/functions/command_ts3_server_pass.sh b/lgsm/functions/command_ts3_server_pass.sh
index d05dfdfc5..4bb3421dc 100644
--- a/lgsm/functions/command_ts3_server_pass.sh
+++ b/lgsm/functions/command_ts3_server_pass.sh
@@ -5,13 +5,12 @@
# Website: https://linuxgsm.com
# Description: Changes TS3 serveradmin password.
-local commandname="TS3-CHANGE-PASS"
-local commandaction="ServerAdmin Password Change"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local commandname="PASSWORD-CHANGE"
+local commandaction="Password Change"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_serveradmin_password_prompt(){
fn_print_header
- echo -e "Press \"CTRL+b d\" to exit console."
fn_print_information_nl "You are about to change the ${gamename} ServerAdmin password."
fn_print_warning_nl "${gamename} will restart during this process."
echo -e ""
@@ -19,35 +18,34 @@ fn_serveradmin_password_prompt(){
echo Exiting; exit
fi
fn_script_log_info "Initiating ${gamename} ServerAdmin password change"
- read -rp "Enter new password : " newpassword
+ read -rp "Enter new password: " newpassword
+ fn_print_info_nl "Changing password"
+ fn_script_log_info "Changing password"
}
fn_serveradmin_password_set(){
- fn_print_info_nl "Starting server with new password..."
- fn_script_log_info "Starting server with new password"
# Start server in "new password mode".
ts3serverpass="1"
exitbypass="1"
command_start.sh
- fn_print_ok_nl "Password applied"
+ fn_print_ok_nl "New password applied"
fn_script_log_pass "New ServerAdmin password applied"
}
# Running functions.
check.sh
fn_serveradmin_password_prompt
-check_status.sh
if [ "${status}" != "0" ]; then
# Stop any running server.
exitbypass="1"
command_stop.sh
fn_serveradmin_password_set
+ parms="serveradmin_password=\"${newpassword}\" inifile=\"${servercfgfullpath}\" > /dev/null 2>&1"
ts3serverpass="0"
- fn_print_info_nl "Restarting server normally"
- fn_script_log_info "Restarting server normally"
command_restart.sh
else
fn_serveradmin_password_set
command_stop.sh
fi
+
core_exit.sh
diff --git a/lgsm/functions/command_update.sh b/lgsm/functions/command_update.sh
index c3c289d97..1bc37e7bb 100644
--- a/lgsm/functions/command_update.sh
+++ b/lgsm/functions/command_update.sh
@@ -6,7 +6,7 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_print_dots ""
check.sh
@@ -16,6 +16,8 @@ if [ "${shortname}" == "ts3" ]; then
update_ts3.sh
elif [ "${shortname}" == "mc" ]; then
update_minecraft.sh
+elif [ "${shortname}" == "mcb" ]; then
+ update_minecraft_bedrock.sh
elif [ "${shortname}" == "mumble" ]; then
update_mumble.sh
elif [ "${shortname}" == "fctr" ]; then
diff --git a/lgsm/functions/command_update_functions.sh b/lgsm/functions/command_update_functions.sh
index 4825be027..e325b781a 100644
--- a/lgsm/functions/command_update_functions.sh
+++ b/lgsm/functions/command_update_functions.sh
@@ -6,7 +6,7 @@
# Legacy Command
command_update_linuxgsm.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
diff --git a/lgsm/functions/command_update_linuxgsm.sh b/lgsm/functions/command_update_linuxgsm.sh
index 4a70c7748..6816a1443 100644
--- a/lgsm/functions/command_update_linuxgsm.sh
+++ b/lgsm/functions/command_update_linuxgsm.sh
@@ -6,7 +6,7 @@
local commandname="UPDATE LINUXGSM"
local commandaction="Update LinuxGSM"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_print_dots "Updating LinuxGSM"
check.sh
@@ -16,7 +16,7 @@ echo -en "\n"
if [ -z "${legacymode}" ]; then
# Check and update _default.cfg.
echo -en " checking config _default.cfg...\c"
- config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(${curlpath} -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
+ config_file_diff=$(diff "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" <(curl -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/config-default/config-lgsm/${gameservername}/_default.cfg"))
if [ "${config_file_diff}" != "" ]; then
fn_print_update_eol_nl
fn_script_log_info "checking config _default.cfg: UPDATE"
@@ -30,7 +30,7 @@ if [ -z "${legacymode}" ]; then
fi
echo -en " checking linuxgsm.sh...\c"
- tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(${curlpath} -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
+ tmp_script_diff=$(diff "${tmpdir}/linuxgsm.sh" <(curl -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/linuxgsm.sh"))
if [ "${tmp_script_diff}" != "" ]; then
fn_print_update_eol_nl
fn_script_log_info "checking linuxgsm.sh: UPDATE"
@@ -56,11 +56,13 @@ if [ -z "${legacymode}" ]; then
echo -e " Backup: ${backupdir}/script/${selfname}-$(date +"%m_%d_%Y_%M").bak"
fi
echo -en " fetching ${selfname}...\c"
+ exitcode=$?
cp "${tmpdir}/linuxgsm.sh" "${rootdir}/${selfname}"
sed -i "s/shortname=\"core\"/shortname=\"${shortname}\"/g" "${rootdir}/${selfname}"
sed -i "s/gameservername=\"core\"/gameservername=\"${gameservername}\"/g" "${rootdir}/${selfname}"
sed -i "s/gamename=\"core\"/gamename=\"${gamename}\"/g" "${rootdir}/${selfname}"
- if [ $? -ne 0 ]; then
+
+ if [ "${exitcode}" == "0" ]; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -79,15 +81,14 @@ if [ -n "${functionsdir}" ]; then
do
echo -en " checking function ${functionfile}...\c"
github_file_url_dir="lgsm/functions"
- get_function_file=$(${curlpath} --fail -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}")
+ get_function_file=$(curl --fail -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}")
exitcode=$?
- function_file_diff=$(diff "${functionsdir}/${functionfile}" <(${curlpath} --fail -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}"))
+ function_file_diff=$(diff "${functionsdir}/${functionfile}" <(curl --fail -s "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${functionfile}"))
if [ ${exitcode} -ne 0 ]; then
fn_print_fail_eol_nl
echo -en " removing unknown function ${functionfile}...\c"
fn_script_log_fatal "removing unknown function ${functionfile}"
- rm -f "${functionfile}"
- if [ $? -ne 0 ]; then
+ if ! rm -f "${functionfile}"; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -112,5 +113,5 @@ else
fn_print_ok "Updating functions"
fn_script_log_pass "Updating functions"
fi
-echo -en "\n"
+
core_exit.sh
diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh
index 78210ff4b..83d9f119b 100644
--- a/lgsm/functions/command_validate.sh
+++ b/lgsm/functions/command_validate.sh
@@ -6,7 +6,7 @@
local commandname="VALIDATE"
local commandaction="Validate"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_validation(){
fn_print_info "Validating files: SteamCMD"
@@ -18,14 +18,14 @@ fn_validation(){
cd "${steamcmddir}" || exit
# Detects if unbuffer command is available for 32 bit distributions only.
info_distro.sh
- if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
+ if [ -n "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
unbuffer="stdbuf -i0 -o0 -e0"
fi
if [ "${appid}" == "90" ]; then
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +app_update "${appid}" -beta ${branch} validate +quit | tee -a "${lgsmlog}"
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
else
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} validate +quit | tee -a "${lgsmlog}"
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
fi
if [ $? != 0 ]; then
fn_print_fail_nl "Validating files: SteamCMD"
@@ -51,4 +51,5 @@ if [ "${status}" != "0" ]; then
else
fn_validation
fi
+
core_exit.sh
diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh
index 9c83d2897..0598699fb 100644
--- a/lgsm/functions/command_wipe.sh
+++ b/lgsm/functions/command_wipe.sh
@@ -7,7 +7,7 @@
local commandname="WIPE"
local commandaction="Wipe"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
fn_print_header
@@ -185,7 +185,7 @@ if [ "${shortname}" == "rust" ]; then
if [ -d "${serveridentitydir}/storage" ]||[ -d "${serveridentitydir}/user" ]||[ -n "$(find "${serveridentitydir}" -type f -name "proceduralmap*.sav")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]||[ -n "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then
fn_print_warning_nl "Any user, storage, log and map data from ${serveridentitydir} will be erased."
if ! fn_prompt_yn "Continue?" Y; then
- echo Exiting; core_exit.sh
+ core_exit.sh
fi
fn_script_log_info "User selects to erase any user, storage, log and map data from ${serveridentitydir}"
fn_sleep_time
diff --git a/lgsm/functions/compress_unreal2_maps.sh b/lgsm/functions/compress_unreal2_maps.sh
index e5868bfbb..3940e8066 100644
--- a/lgsm/functions/compress_unreal2_maps.sh
+++ b/lgsm/functions/compress_unreal2_maps.sh
@@ -5,7 +5,7 @@
# Description: Compresses unreal maps.
local commandaction="Unreal Map Compressor"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
fn_print_header
@@ -18,7 +18,7 @@ echo -e ""
echo -e "${compressedmapsdir}"
echo -e ""
if ! fn_prompt_yn "Start compression?" Y; then
- echo Exiting; return
+ return
fi
mkdir -pv "${compressedmapsdir}" > /dev/null 2>&1
rm -rfv "${serverfiles}/Maps/"*.ut2.uz2
@@ -27,4 +27,5 @@ for map in "${serverfiles}/Maps/"*; do
./ucc-bin compress "${map}" --nohomedir
done
mv -fv "${serverfiles}/Maps/"*.ut2.uz2 "${compressedmapsdir}"
+
core_exit.sh
diff --git a/lgsm/functions/compress_ut99_maps.sh b/lgsm/functions/compress_ut99_maps.sh
index f3f5449a5..100740acb 100644
--- a/lgsm/functions/compress_ut99_maps.sh
+++ b/lgsm/functions/compress_ut99_maps.sh
@@ -5,7 +5,7 @@
# Description: Compresses unreal maps.
local commandaction="Unreal Map Compressor"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
check.sh
fn_print_header
@@ -18,7 +18,7 @@ echo -e ""
echo -e "${compressedmapsdir}"
echo -e ""
if ! fn_prompt_yn "Start compression?" Y; then
- echo Exiting; return
+ return
fi
mkdir -pv "${compressedmapsdir}" > /dev/null 2>&1
rm -rfv "${serverfiles}/Maps/"*.unr.uz
@@ -27,4 +27,5 @@ for map in "${serverfiles}/Maps/"*; do
./ucc-bin compress "${map}" --nohomedir
done
mv -fv "${serverfiles}/Maps/"*.unr.uz "${compressedmapsdir}"
+
core_exit.sh
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index 162f66247..0e215356a 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -19,7 +19,7 @@
local commandname="DOWNLOAD"
local commandaction="Download"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Emptys contents of the LinuxGSM tmpdir.
fn_clear_tmp(){
@@ -81,7 +81,7 @@ fn_dl_extract(){
elif [ "${mime}" == "application/x-xz" ]; then
tarcmd=$(tar -xf "${local_filedir}/${local_filename}" -C "${extractdir}")
elif [ "${mime}" == "application/zip" ]; then
- extractcmd=$(unzip -d "${extractdir}" "${local_filedir}/${local_filename}")
+ extractcmd=$(unzip -dq "${extractdir}" "${local_filedir}/${local_filename}")
fi
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
@@ -133,11 +133,11 @@ fn_fetch_file(){
echo -en "downloading ${local_filename}..."
fn_sleep_time
echo -en "\033[1K"
- curlcmd=$(${curlpath} --progress-bar --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}")
+ curlcmd=$(curl --progress-bar --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}")
echo -en "downloading ${local_filename}..."
else
echo -en " fetching ${local_filename}...\c"
- curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+ curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
fi
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
@@ -168,6 +168,7 @@ fn_fetch_file(){
fn_dl_md5
# Execute file if run is set.
if [ "${run}" == "run" ]; then
+ # shellcheck source=/dev/null
source "${local_filedir}/${local_filename}"
fi
fi
@@ -254,10 +255,8 @@ fn_update_function(){
fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
}
-# Defines curl path.
-curlpath=$(command -v curl 2>/dev/null)
-
-if [ "$(basename "${curlpath}")" != "curl" ]; then
+# Check that curl is installed
+if [ -z "$(command -v curl 2>/dev/null)" ]; then
echo -e "[ FAIL ] Curl is not installed"
exit 1
fi
diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh
index f4c973800..f1632b48a 100644
--- a/lgsm/functions/core_functions.sh
+++ b/lgsm/functions/core_functions.sh
@@ -8,7 +8,7 @@
# Core
core_dl.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
if [ "$(type fn_fetch_core_dl 2>/dev/null)" ]; then
fn_fetch_core_dl "lgsm/functions" "core_dl.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
else
@@ -17,7 +17,7 @@ fi
}
core_messages.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
if [ "$(type fn_fetch_core_dl 2>/dev/null)" ]; then
fn_fetch_core_dl "lgsm/functions" "core_messages.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
else
@@ -26,7 +26,7 @@ fi
}
core_legacy.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
if [ "$(type fn_fetch_core_dl 2>/dev/null)" ]; then
fn_fetch_core_dl "lgsm/functions" "core_legacy.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
else
@@ -35,533 +35,548 @@ fi
}
core_exit.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
core_getopt.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
core_trap.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Commands
command_backup.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_console.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_debug.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_details.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_donate.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_postdetails.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_test_alert.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_monitor.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_start.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_stop.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_validate.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_install.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_install_resources_mta.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_squad_license.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_mods_install.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_mods_update.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_mods_remove.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_fastdl.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_ts3_server_pass.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_restart.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_wipe.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Checks
check.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_config.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_deps.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_executable.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_glibc.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_ip.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_logs.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_permissions.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_root.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_status.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_steamcmd.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_system_dir.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_system_requirements.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
check_tmuxception.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Compress
compress_unreal2_maps.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
compress_ut99_maps.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Mods
mods_list.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
mods_core.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Dev
command_dev_clear_functions.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_dev_debug.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_dev_detect_deps.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_dev_detect_glibc.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_dev_detect_ldd.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_dev_query_raw.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Fix
fix.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ark.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_arma3.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_csgo.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_dst.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ges.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ins.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_kf.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_kf2.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
+fix_mcb.sh(){
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_mta.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ro.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_rust.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_rw.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_sfc.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_steamcmd.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_terraria.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_tf2.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ut3.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_rust.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_sdtd.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_sof2.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ss3.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ts3.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ut2k4.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_ut.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_unt.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_wurm.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fix_zmr.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Info
+info_stats.sh(){
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
info_config.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
info_distro.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
info_gamedig.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
info_messages.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
info_parms.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Alert
alert.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_discord.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_email.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_ifttt.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_mailgun.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_pushbullet.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_pushover.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_telegram.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
alert_slack.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Logs
logs.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Query
query_gamedig.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
# Update
command_update_functions.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_update_linuxgsm.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
command_update.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
update_ts3.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
update_minecraft.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
+update_minecraft_bedrock.sh(){
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
update_mumble.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
update_mta.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
update_factorio.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
update_steamcmd.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
fn_update_functions.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
@@ -575,91 +590,96 @@ command_install.sh
}
install_complete.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_config.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_factorio_save.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_dst_token.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_eula.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_gsquery.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_gslt.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_header.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_logs.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_retry.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_server_dir.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_server_files.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
+install_stats.sh(){
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_steamcmd.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_ts3.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_ts3db.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_ut2k4.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_dl_ut2k4.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
install_ut2k4_key.sh(){
-functionfile="${FUNCNAME}"
+functionfile="${FUNCNAME[0]}"
fn_fetch_function
}
diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh
index d45072862..840ac9a1f 100644
--- a/lgsm/functions/core_getopt.sh
+++ b/lgsm/functions/core_getopt.sh
@@ -4,7 +4,7 @@
# Website: https://linuxgsm.com
# Description: getopt arguments.
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
### Define all commands here.
## User commands | Trigger commands | Description
@@ -74,13 +74,11 @@ if [ -n "${appid}" ]; then
currentopt+=( "${cmd_validate[@]}" )
fi
-#Backup.
+# Backup.
currentopt+=( "${cmd_backup[@]}" )
-# Exclude games without a console.
-if [ "${shortname}" != "ts3" ]; then
- currentopt+=( "${cmd_console[@]}" "${cmd_debug[@]}" )
-fi
+# Console & Debug
+currentopt+=( "${cmd_console[@]}" "${cmd_debug[@]}" )
## Game server exclusive commands.
@@ -145,8 +143,8 @@ currentopt+=( "${cmd_donate[@]}" )
optcommands=()
index="0"
for ((index="0"; index < ${#currentopt[@]}; index+=3)); do
- cmdamount="$(echo -e "${currentopt[index]}" | awk -F ';' '{ print NF }')"
- for ((cmdindex=1; cmdindex <= ${cmdamount}; cmdindex++)); do
+ cmdamount=$(echo -e "${currentopt[index]}" | awk -F ';' '{ print NF }')
+ for ((cmdindex=1; cmdindex <= cmdamount; cmdindex++)); do
optcommands+=( "$(echo -e "${currentopt[index]}" | awk -F ';' -v x=${cmdindex} '{ print $x }')" )
done
done
@@ -182,8 +180,8 @@ for i in "${optcommands[@]}"; do
# Seek and run command.
index="0"
for ((index="0"; index < ${#currentopt[@]}; index+=3)); do
- currcmdamount="$(echo -e "${currentopt[index]}" | awk -F ';' '{ print NF }')"
- for ((currcmdindex=1; currcmdindex <= ${currcmdamount}; currcmdindex++)); do
+ currcmdamount=$(echo -e "${currentopt[index]}" | awk -F ';' '{ print NF }')
+ for ((currcmdindex=1; currcmdindex <= currcmdamount; currcmdindex++)); do
if [ "$(echo -e "${currentopt[index]}" | awk -F ';' -v x=${currcmdindex} '{ print $x }')" == "${getopt}" ]; then
# Run command.
eval "${currentopt[index+1]}"
diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh
index e1d394834..252ef182c 100644
--- a/lgsm/functions/core_messages.sh
+++ b/lgsm/functions/core_messages.sh
@@ -47,9 +47,9 @@ fn_sleep_time(){
fn_script_log(){
if [ -d "${lgsmlogdir}" ]; then
if [ -n "${commandname}" ]; then
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${commandname}: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: ${1}" >> "${lgsmlog}"
else
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${1}" >> "${lgsmlog}"
fi
fi
}
@@ -58,9 +58,9 @@ fn_script_log(){
fn_script_log_pass(){
if [ -d "${lgsmlogdir}" ]; then
if [ -n "${commandname}" ]; then
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${commandname}: PASS: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: PASS: ${1}" >> "${lgsmlog}"
else
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: PASS: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: PASS: ${1}" >> "${lgsmlog}"
fi
fi
exitcode=0
@@ -70,9 +70,9 @@ fn_script_log_pass(){
fn_script_log_fatal(){
if [ -d "${lgsmlogdir}" ]; then
if [ -n "${commandname}" ]; then
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${commandname}: FATAL: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: FATAL: ${1}" >> "${lgsmlog}"
else
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: FATAL: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: FATAL: ${1}" >> "${lgsmlog}"
fi
fi
exitcode=1
@@ -82,9 +82,9 @@ fn_script_log_fatal(){
fn_script_log_error(){
if [ -d "${lgsmlogdir}" ]; then
if [ -n "${commandname}" ]; then
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${commandname}: ERROR: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: ERROR: ${1}" >> "${lgsmlog}"
else
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ERROR: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ERROR: ${1}" >> "${lgsmlog}"
fi
fi
exitcode=2
@@ -94,9 +94,9 @@ fn_script_log_error(){
fn_script_log_warn(){
if [ -d "${lgsmlogdir}" ]; then
if [ -n "${commandname}" ]; then
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${commandname}: WARN: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: WARN: ${1}" >> "${lgsmlog}"
else
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: WARN: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: WARN: ${1}" >> "${lgsmlog}"
fi
fi
exitcode=3
@@ -106,9 +106,9 @@ fn_script_log_warn(){
fn_script_log_info(){
if [ -d "${lgsmlogdir}" ]; then
if [ -n "${commandname}" ]; then
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: ${commandname}: INFO: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: ${commandname}: INFO: ${1}" >> "${lgsmlog}"
else
- echo -e "$(date '+%b %d %H:%M:%S.%3N') ${servicename}: INFO: ${1}" >> "${lgsmlog}"
+ echo -e "$(date '+%b %d %H:%M:%S.%3N') ${selfname}: INFO: ${1}" >> "${lgsmlog}"
fi
fi
}
@@ -119,18 +119,18 @@ fn_script_log_info(){
# [ .... ]
fn_print_dots(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[ .... ] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[ .... ] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[ .... ] $@"
+ echo -en "${creeol}[ .... ] $*"
fi
fn_sleep_time
}
fn_print_dots_nl(){
if [ -n "${commandaction}" ]; then
- echo -e "${creeol}[ .... ] ${commandaction} ${servicename}: $@"
+ echo -e "${creeol}[ .... ] ${commandaction} ${servicename}: $*"
else
- echo -e "${creeol}[ .... ] $@"
+ echo -e "${creeol}[ .... ] $*"
fi
fn_sleep_time
echo -en "\n"
@@ -139,18 +139,18 @@ fn_print_dots_nl(){
# [ OK ]
fn_print_ok(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${green} OK ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${green} OK ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${green} OK ${default}] $@"
+ echo -en "${creeol}[${green} OK ${default}] $*"
fi
fn_sleep_time
}
fn_print_ok_nl(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${green} OK ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${green} OK ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${green} OK ${default}] $@"
+ echo -en "${creeol}[${green} OK ${default}] $*"
fi
fn_sleep_time
echo -en "\n"
@@ -159,18 +159,18 @@ fn_print_ok_nl(){
# [ FAIL ]
fn_print_fail(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${red} FAIL ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${red} FAIL ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${red} FAIL ${default}] $@"
+ echo -en "${creeol}[${red} FAIL ${default}] $*"
fi
fn_sleep_time
}
fn_print_fail_nl(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${red} FAIL ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${red} FAIL ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${red} FAIL ${default}] $@"
+ echo -en "${creeol}[${red} FAIL ${default}] $*"
fi
fn_sleep_time
echo -en "\n"
@@ -179,18 +179,18 @@ fn_print_fail_nl(){
# [ ERROR ]
fn_print_error(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${red}ERROR ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${red}ERROR ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${red}ERROR ${default}] $@"
+ echo -en "${creeol}[${red}ERROR ${default}] $*"
fi
fn_sleep_time
}
fn_print_error_nl(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${red}ERROR ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${red}ERROR ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${red}ERROR ${default}] $@"
+ echo -en "${creeol}[${red}ERROR ${default}] $*"
fi
fn_sleep_time
echo -en "\n"
@@ -199,18 +199,18 @@ fn_print_error_nl(){
# [ WARN ]
fn_print_warn(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${lightyellow} WARN ${default}] $@"
+ echo -en "${creeol}[${lightyellow} WARN ${default}] $*"
fi
fn_sleep_time
}
fn_print_warn_nl(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${lightyellow} WARN ${default}] $@"
+ echo -en "${creeol}[${lightyellow} WARN ${default}] $*"
fi
fn_sleep_time
echo -en "\n"
@@ -219,18 +219,18 @@ fn_print_warn_nl(){
# [ INFO ]
fn_print_info(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${cyan} INFO ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${cyan} INFO ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${cyan} INFO ${default}] $@"
+ echo -en "${creeol}[${cyan} INFO ${default}] $*"
fi
fn_sleep_time
}
fn_print_info_nl(){
if [ -n "${commandaction}" ]; then
- echo -en "${creeol}[${cyan} INFO ${default}] ${commandaction} ${servicename}: $@"
+ echo -en "${creeol}[${cyan} INFO ${default}] ${commandaction} ${servicename}: $*"
else
- echo -en "${creeol}[${cyan} INFO ${default}] $@"
+ echo -en "${creeol}[${cyan} INFO ${default}] $*"
fi
fn_sleep_time
echo -en "\n"
@@ -249,56 +249,56 @@ fn_print_header(){
# Complete!
fn_print_complete(){
- echo -en "${green}Complete!${default} $@"
+ echo -en "${green}Complete!${default} $*"
fn_sleep_time
}
fn_print_complete_nl(){
- echo -e "${green}Complete!${default} $@"
+ echo -e "${green}Complete!${default} $*"
fn_sleep_time
}
# Failure!
fn_print_failure(){
- echo -en "${red}Failure!${default} $@"
+ echo -en "${red}Failure!${default} $*"
fn_sleep_time
}
fn_print_failure_nl(){
- echo -e "${red}Failure!${default} $@"
+ echo -e "${red}Failure!${default} $*"
fn_sleep_time
}
# Error!
fn_print_error2(){
- echo -en "${red}Error!${default} $@"
+ echo -en "${red}Error!${default} $*"
fn_sleep_time
}
fn_print_error2_nl(){
- echo -e "${red}Error!${default} $@"
+ echo -e "${red}Error!${default} $*"
fn_sleep_time
}
# Warning!
fn_print_warning(){
- echo -en "${lightyellow}Warning!${default} $@"
+ echo -en "${lightyellow}Warning!${default} $*"
fn_sleep_time
}
fn_print_warning_nl(){
- echo -e "${lightyellow}Warning!${default} $@"
+ echo -e "${lightyellow}Warning!${default} $*"
fn_sleep_time
}
# Information!
fn_print_information(){
- echo -en "${cyan}Information!${default} $@"
+ echo -en "${cyan}Information!${default} $*"
fn_sleep_time
}
fn_print_information_nl(){
- echo -e "${cyan}Information!${default} $@"
+ echo -e "${cyan}Information!${default} $*"
fn_sleep_time
}
@@ -351,6 +351,10 @@ fn_print_error_eol(){
echo -en "${red}ERROR${default}"
}
+fn_print_error_eol_nl(){
+ echo -en "${red}ERROR${default}"
+}
+
# WARN
fn_print_warn_eol(){
echo -en "${lightyellow}WARN${default}"
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index 04d5c09b5..4b830f62d 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -67,6 +67,8 @@ if [ "${function_selfname}" != "command_install.sh" ]&&[ -z "${fixbypass}" ]; th
fix_terraria.sh
elif [ "${shortname}" == "ts3" ]; then
fix_ts3.sh
+ elif [ "${shortname}" == "mcb" ]; then
+ fix_mcb.sh
elif [ "${shortname}" == "mta" ]; then
fix_mta.sh
elif [ "${shortname}" == "unt" ]; then
diff --git a/lgsm/functions/fix_arma3.sh b/lgsm/functions/fix_arma3.sh
index ffa3d35e0..eda6dde69 100644
--- a/lgsm/functions/fix_arma3.sh
+++ b/lgsm/functions/fix_arma3.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes: 20150 Segmentation fault (core dumped) error.
if [ ! -d "${HOME}/.local/share/Arma 3" ]||[ ! -d "${HOME}/.local/share/Arma 3 - Other Profiles" ]; then
diff --git a/lgsm/functions/fix_csgo.sh b/lgsm/functions/fix_csgo.sh
index 4cf281851..5e9981e38 100644
--- a/lgsm/functions/fix_csgo.sh
+++ b/lgsm/functions/fix_csgo.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes: server not always creating steam_appid.txt file.
if [ ! -f "${serverfiles}/steam_appid.txt" ]; then
diff --git a/lgsm/functions/fix_dst.sh b/lgsm/functions/fix_dst.sh
index e2850c8b8..3b62be24b 100644
--- a/lgsm/functions/fix_dst.sh
+++ b/lgsm/functions/fix_dst.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes: ./dontstarve_dedicated_server_nullrenderer: ./lib32/libcurl-gnutls.so.4: no version information available (required by ./dontstarve_dedicated_server_nullrenderer).
# Issue only occures on CentOS as libcurl-gnutls.so.4 is called libcurl.so.4 on CentOS.
diff --git a/lgsm/functions/fix_kf.sh b/lgsm/functions/fix_kf.sh
index 125252f06..0661775d4 100644
--- a/lgsm/functions/fix_kf.sh
+++ b/lgsm/functions/fix_kf.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e "Applying WebAdmin ROOst.css fix."
echo -e "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
diff --git a/lgsm/functions/fix_kf2.sh b/lgsm/functions/fix_kf2.sh
index e8f3440f0..2909a535f 100644
--- a/lgsm/functions/fix_kf2.sh
+++ b/lgsm/functions/fix_kf2.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_parms(){
parms="\"${defaultmap}?Game=KFGameContent.KFGameInfo_VersusSurvival\""
diff --git a/lgsm/functions/fix_mcb.sh b/lgsm/functions/fix_mcb.sh
new file mode 100644
index 000000000..d9cb8073a
--- /dev/null
+++ b/lgsm/functions/fix_mcb.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+# LinuxGSM fix_mcb.sh function
+# Author: Daniel Gibbs
+# Website: https://linuxgsm.com
+# Description: Resolves possible startup issue with Minecraft Bedrock
+
+local commandname="FIX"
+local commandaction="Fix"
+
+# official docs state that the server should be started with: LD_LIBRARY_PATH=. ./bedrock_server
+export LD_LIBRARY_PATH="${serverfiles}:$LD_LIBRARY_PATH"
\ No newline at end of file
diff --git a/lgsm/functions/fix_mta.sh b/lgsm/functions/fix_mta.sh
index 4eb4ff900..c8b2ff8b0 100644
--- a/lgsm/functions/fix_mta.sh
+++ b/lgsm/functions/fix_mta.sh
@@ -6,7 +6,7 @@
# Description: Installs the libmysqlclient for database functions on the server
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ ! -f "${lgsmdir}/lib/libmysqlclient.so.16" ]; then
fixname="libmysqlclient16"
diff --git a/lgsm/functions/fix_ro.sh b/lgsm/functions/fix_ro.sh
index e354ce002..1e1da31bc 100644
--- a/lgsm/functions/fix_ro.sh
+++ b/lgsm/functions/fix_ro.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e "Applying WebAdmin ROOst.css fix."
echo -e "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
diff --git a/lgsm/functions/fix_sfc.sh b/lgsm/functions/fix_sfc.sh
index 060ec4823..a40250083 100644
--- a/lgsm/functions/fix_sfc.sh
+++ b/lgsm/functions/fix_sfc.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ ! -f "${serverfiles}/bin/datacache.so" ]; then
ln -s "${serverfiles}/bin/datacache_srv.so" "${serverfiles}/bin/datacache.so"
diff --git a/lgsm/functions/fix_ss3.sh b/lgsm/functions/fix_ss3.sh
index 73626f366..c7277ea9d 100644
--- a/lgsm/functions/fix_ss3.sh
+++ b/lgsm/functions/fix_ss3.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes https://steamcommunity.com/app/41070/discussions/0/353916981477716386/
if [ "$(diff "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Bin/steamclient.so" >/dev/null)" ]; then
diff --git a/lgsm/functions/fix_steamcmd.sh b/lgsm/functions/fix_steamcmd.sh
index eb1622978..37bd4f61f 100644
--- a/lgsm/functions/fix_steamcmd.sh
+++ b/lgsm/functions/fix_steamcmd.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam,or a local steamclient.so.
if [ ! -f "${HOME}/.steam/sdk32/steamclient.so" ]; then
diff --git a/lgsm/functions/fix_terraria.sh b/lgsm/functions/fix_terraria.sh
index 1a898d046..e3a595029 100644
--- a/lgsm/functions/fix_terraria.sh
+++ b/lgsm/functions/fix_terraria.sh
@@ -6,6 +6,6 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
export TERM=xterm
diff --git a/lgsm/functions/fix_tf2.sh b/lgsm/functions/fix_tf2.sh
index 26a31846e..5c8cdf6c4 100644
--- a/lgsm/functions/fix_tf2.sh
+++ b/lgsm/functions/fix_tf2.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes: Team Fortress 2 Segmentation fault for Red-Hat Distros #2062.
if [ -f "/etc/redhat-release" ]&&[ ! -f "${serverfiles}/bin/libcurl-gnutls.so.4" ]; then
diff --git a/lgsm/functions/fix_ts3.sh b/lgsm/functions/fix_ts3.sh
index 751b5dbd5..3e3599066 100644
--- a/lgsm/functions/fix_ts3.sh
+++ b/lgsm/functions/fix_ts3.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Fixes: makes libmariadb2 available #1924.
if [ ! -f "${serverfiles}/libmariadb.so.2" ]; then
diff --git a/lgsm/functions/fix_ut.sh b/lgsm/functions/fix_ut.sh
index 4d1b96355..e479e9442 100644
--- a/lgsm/functions/fix_ut.sh
+++ b/lgsm/functions/fix_ut.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
#Set Binary Executable
echo -e "chmod +x ${executabledir}/${executable}"
diff --git a/lgsm/functions/fix_ut2k4.sh b/lgsm/functions/fix_ut2k4.sh
index 4f966d80b..45ef3dc78 100644
--- a/lgsm/functions/fix_ut2k4.sh
+++ b/lgsm/functions/fix_ut2k4.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e "applying WebAdmin ut2003.css fix."
echo -e "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
diff --git a/lgsm/functions/fix_ut3.sh b/lgsm/functions/fix_ut3.sh
index 53bde310f..31eb85281 100644
--- a/lgsm/functions/fix_ut3.sh
+++ b/lgsm/functions/fix_ut3.sh
@@ -6,10 +6,10 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_parms(){
-parms="server VCTF-Suspense?Game=UTGameContent.UTVehicleCTFGame_Content?bIsDedicated=true?bIsLanMatch=false?bUsesStats=false?bShouldAdvertise=false?PureServer=1?bAllowJoinInProgress=true?ConfigSubDir=${servicename} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}"
+parms="server VCTF-Suspense?Game=UTGameContent.UTVehicleCTFGame_Content?bIsDedicated=true?bIsLanMatch=false?bUsesStats=false?bShouldAdvertise=false?PureServer=1?bAllowJoinInProgress=true?ConfigSubDir=${selfname} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}"
}
fn_print_information "starting ${gamename} server to generate configs."
diff --git a/lgsm/functions/fix_zmr.sh b/lgsm/functions/fix_zmr.sh
index 0edfee967..5ed1d8beb 100644
--- a/lgsm/functions/fix_zmr.sh
+++ b/lgsm/functions/fix_zmr.sh
@@ -6,7 +6,7 @@
local commandname="FIX"
local commandaction="Fix"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ ! -f "${serverfiles}/bin/datacache.so" ]; then
ln -s "${serverfiles}/bin/datacache_srv.so" "${serverfiles}/bin/datacache.so"
diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh
index 9c12907f8..bd511cc69 100644
--- a/lgsm/functions/info_config.sh
+++ b/lgsm/functions/info_config.sh
@@ -5,7 +5,7 @@
# Website: https://linuxgsm.com
# Description: Gets specific details from config files.
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
## Examples of filtering to get info from config files.
# sed 's/foo//g' - remove foo
@@ -386,6 +386,35 @@ fn_info_config_minecraft(){
fi
}
+fn_info_config_minecraft_bedrock(){
+ if [ ! -f "${servercfgfullpath}" ]; then
+ servername="${unavailable}"
+ maxplayers="${zero}"
+ port="${zero}"
+ port6="${zero}"
+ queryport="${zero}"
+ gamemode="${unavailable}"
+ gameworld="${unavailable}"
+ else
+ servername=$(grep "server-name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/server-name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+ maxplayers=$(grep "max-players" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+ port=$(grep "server-port\b" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+ port6=$(grep "server-portv6\b" "${servercfgfullpath}" | sed 's/v6//g' | grep -v "#" | tr -cd '[:digit:]')
+ queryport=${port}
+ gamemode=$(grep "gamemode" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/gamemode//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+ gameworld=$(grep "level-name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/level-name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+
+ # Not Set
+ servername=${servername:-"NOT SET"}
+ maxplayers=${maxplayers:-"NOT SET"}
+ port=${port:-"NOT SET"}
+ port6=${port6:-"NOT SET"}
+ queryport=${queryport:-"NOT SET"}
+ gamemode=${gamemode:-"NOT SET"}
+ gameworld=${gameworld:-"NOT SET"}
+ fi
+}
+
fn_info_config_mohaa(){
if [ ! -f "${servercfgfullpath}" ]; then
rconpassword="${unavailable}"
@@ -413,9 +442,9 @@ fn_info_config_pstbs(){
maxplayers="${unavailable}"
reservedslots="${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]*$//')"
- maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
- reservedslots="$(grep "NumReservedSlots=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
+ servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')
+ maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
+ reservedslots=$(grep "NumReservedSlots=" "${servercfgfullpath}" | tr -cd '[:digit:]')
fi
if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
@@ -684,8 +713,8 @@ fn_info_config_sbots(){
servername="${unavailable}"
maxplayers="${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]*$//')"
- maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
+ servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')
+ maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
fi
servername=${servername:-"NOT SET"}
@@ -832,12 +861,14 @@ fn_info_config_teeworlds(){
serverpassword="${unavailable}"
rconpassword="${unavailable}"
port="8303"
+ queryport="8303"
maxplayers="12"
else
servername=$(grep "sv_name" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/^sv_name//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^password" | sed -e '/^#/d' -e 's/^password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
rconpassword=$(grep "sv_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/^sv_rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
port=$(grep "sv_port" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+ queryport="${port}"
maxplayers=$(grep "sv_max_clients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
# Not Set
@@ -845,6 +876,7 @@ fn_info_config_teeworlds(){
serverpassword=${serverpassword:-"NOT SET"}
rconpassword=${rconpassword:-"NOT SET"}
port=${port:-"8303"}
+ queryport=${port:-"8303"}
maxplayers=${maxplayers:-"12"}
fi
}
@@ -855,15 +887,18 @@ fn_info_config_terraria(){
port="${zero}"
gameworld="${unavailable}"
maxplayers="${zero}"
+ queryport="${zero}"
else
servername=$(grep "worldname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/worldname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
port=$(grep "port" "${servercfgfullpath}" | tr -cd '[:digit:]')
+ queryport=${port:-"0"}
gameworld=$(grep "world=" "${servercfgfullpath}" | grep -v "//" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/world=//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
maxplayers=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
# Not Set
servername=${servername:-"NOT SET"}
port=${port:-"0"}
+ queryport=${queryport:-"0"}
gameworld=${gameworld:-"NOT SET"}
maxplayers=${maxplayers:-"0"}
fi
@@ -890,7 +925,7 @@ fn_info_config_unreal(){
adminpassword="${unavailable}"
port="${zero}"
queryport="${zero}"
- gsqueryport="${zero}"
+ queryportgs="${zero}"
webadminenabled="${unavailable}"
webadminport="${zero}"
webadminuser="${unavailable}"
@@ -901,16 +936,48 @@ fn_info_config_unreal(){
adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
port=$(grep "Port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
queryport=$((port + 1))
- gsqueryport=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+ queryportgs=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
webadminenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
webadminport=$(grep "ListenPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
- if [ "${engine}" == "unreal" ]; then
- webadminuser=$(grep "AdminUsername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminUsername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
- webadminpass=$(grep "UTServerAdmin.UTServerAdmin" "${servercfgfullpath}" -A 4 | grep "AdminPassword" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
- else
- webadminuser=$(grep "AdminName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
- webadminpass="${adminpassword}"
- fi
+ webadminuser=$(grep "AdminUsername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminUsername//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
+ webadminpass=$(grep "UTServerAdmin.UTServerAdmin" "${servercfgfullpath}" -A 4 | grep "AdminPassword" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
+ # Not Set
+ servername=${servername:-"NOT SET"}
+ serverpassword=${serverpassword:-"NOT SET"}
+ adminpassword=${adminpassword:-"NOT SET"}
+ port=${port:-"0"}
+ queryport=${queryport:-"0"}
+ queryportgs=${queryportgs:-"0"}
+ webadminenabled=${webadminenabled:-"NOT SET"}
+ webadminport=${webadminport:-"0"}
+ webadminuser=${webadminuser:-"NOT SET"}
+ webadminpass=${webadminpass:-"NOT SET"}
+ fi
+}
+
+fn_info_config_unreal2(){
+ if [ ! -f "${servercfgfullpath}" ]; then
+ servername="${unavailable}"
+ serverpassword="${unavailable}"
+ adminpassword="${unavailable}"
+ port="${zero}"
+ queryport="${zero}"
+ queryportgs="${zero}"
+ webadminenabled="${unavailable}"
+ webadminport="${zero}"
+ webadminuser="${unavailable}"
+ webadminpass="${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]*$//'| sed 's/\r$//')
+ serverpassword=$(grep "GamePassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/GamePassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
+ adminpassword=$(grep "AdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
+ port=$(grep "Port" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' | grep "^Port" | grep -v "#" | tr -cd '[:digit:]')
+ queryport=$((port + 1))
+ queryportgs=$(grep "OldQueryPortNumber" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+ webadminenabled=$(grep "bEnabled" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/bEnabled//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
+ webadminport=$(grep "ListenPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
+ webadminuser=$(grep "AdminName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/AdminName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//'| sed 's/\r$//')
+ webadminpass="${adminpassword}"
# Not Set
servername=${servername:-"NOT SET"}
@@ -918,7 +985,7 @@ fn_info_config_unreal(){
adminpassword=${adminpassword:-"NOT SET"}
port=${port:-"0"}
queryport=${queryport:-"0"}
- gsqueryport=${gsqueryport:-"0"}
+ queryportgs=${queryportgs:-"0"}
webadminenabled=${webadminenabled:-"NOT SET"}
webadminport=${webadminport:-"0"}
webadminuser=${webadminuser:-"NOT SET"}
@@ -1067,20 +1134,18 @@ fn_info_config_mta(){
else
port=$(grep -m 1 "serverport" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
httpport=$(grep -m 1 "httpport" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
- ase=$(grep -m 1 "ase" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
servername=$(grep -m 1 "servername" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
serverpassword=$(grep -m 1 "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
maxplayers=$(grep -m 1 "maxplayers" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
-
+ ase=$(grep -m 1 "ase" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<" | tr -cd '[:digit:]')
if [ "${ase}" == "1" ]; then
ase="Enabled"
else
ase="Disabled"
fi
-
- ip=$(grep -m 1 "serverip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
- ipsetinconfig=1
- ipinconfigvar="serverip"
+ # ip=$(grep -m 1 "serverip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's///g' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' | cut -f1 -d "<")
+ # ipsetinconfig=1
+ # ipinconfigvar="serverip"
# Not Set
port=${port:-"22003"}
@@ -1189,8 +1254,8 @@ fn_info_config_squad(){
servername="${unavailable}"
maxplayers="${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]*$//')"
- maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')"
+ servername=$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+ maxplayers=$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')
fi
if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then
@@ -1312,7 +1377,7 @@ elif [ "${shortname}" == "kf2" ]; then
fn_info_config_kf2
# Medal of Honor: Allied Assault
elif [ "${shortname}" == "mohaa" ]; then
- fn_info_config_mohaa
+ fn_info_config_mohaa
# QuakeWorld
elif [ "${shortname}" == "qw" ]; then
fn_info_config_quakeworld
@@ -1328,6 +1393,9 @@ elif [ "${shortname}" == "ql" ]; then
# Minecraft
elif [ "${shortname}" == "mc" ]; then
fn_info_config_minecraft
+# Minecraft Bedrock
+elif [ "${shortname}" == "mcb" ]; then
+ fn_info_config_minecraft_bedrock
# Post Scriptum: The Bloody Seventh
elif [ "${shortname}" == "pstbs" ]; then
fn_info_config_pstbs
@@ -1342,7 +1410,7 @@ elif [ "${shortname}" == "arma3" ]; then
fn_info_config_realvirtuality
# Return to Castle Wolfenstein
elif [ "${shortname}" == "rtcw" ]; then
- fn_info_config_rtcw
+ fn_info_config_rtcw
# Rising World
elif [ "${shortname}" == "rw" ]; then
fn_info_config_risingworld
@@ -1354,7 +1422,7 @@ elif [ "${shortname}" == "sol" ]; then
fn_info_config_soldat
# Soldier Of Fortune 2: Gold Edition
elif [ "${shortname}" == "sof2" ]; then
- fn_info_config_sof2
+ fn_info_config_sof2
# Source Engine Games
elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
fn_info_config_source
@@ -1382,9 +1450,12 @@ elif [ "${shortname}" == "terraria" ]; then
# Tower Unite
elif [ "${shortname}" == "tu" ]; then
fn_info_config_towerunite
-# Unreal/Unreal 2 engine
-elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
+# Unreal engine
+elif [ "${engine}" == "unreal" ]; then
fn_info_config_unreal
+# Unreal 2 engine
+elif [ "${engine}" == "unreal2" ]; then
+ fn_info_config_unreal2
# Unreal 3 engine
elif [ "${engine}" == "unreal3" ]; then
fn_info_config_unreal3
diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index c7bf38a28..38305c6e3 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -5,13 +5,11 @@
# Description: Variables providing useful info on the Operating System such as disk and performace info.
# Used for command_details.sh, command_debug.sh and alert.sh.
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
### Game Server pid
if [ "${status}" == "1" ]; then
- if [ "${shortname}" != "ts3" ]; then
- gameserverpid=$(tmux list-sessions -F "#{session_name} #{pane_pid}"| grep "^${servicename}"|awk '{print $2}')
- fi
+ gameserverpid=$(tmux list-sessions -F "#{session_name} #{pane_pid}"| grep "^${selfname}"|awk '{print $2}')
fi
### Distro information
@@ -36,9 +34,9 @@ do
distrocodename=$(grep VERSION_CODENAME /etc/os-release | sed 's/VERSION_CODENAME=//g' | sed 's/\"//g')
elif [ -n "$(command -v lsb_release 2>/dev/null)" ]&&[ "${distro_info}" == "lsb_release" ]; then
if [ -z "${distroname}" ];then
- distroname="$(lsb_release -sd)"
+ distroname=$(lsb_release -sd)
elif [ -z "${distroversion}" ];then
- distroversion="$(lsb_release -sr)"
+ distroversion=$(lsb_release -sr)
elif [ -z "${distroid}" ];then
distroid=$(lsb_release -si)
elif [ -z "${distrocodename}" ];then
@@ -46,13 +44,13 @@ do
fi
elif [ -n "$(command -v hostnamectl 2>/dev/null)" ]&&[ "${distro_info}" == "hostnamectl" ]; then
if [ -z "${distroname}" ];then
- distroname="$(hostnamectl | grep "Operating System" | sed 's/Operating System: //g')"
+ distroname=$(hostnamectl | grep "Operating System" | sed 's/Operating System: //g')
fi
elif [ -f "/etc/debian_version" ]&&[ "${distro_info}" == "debian_version" ]; then
if [ -z "${distroname}" ];then
distroname="Debian $(cat /etc/debian_version)"
elif [ -z "${distroversion}" ];then
- distroversion="$(cat /etc/debian_version)"
+ distroversion=$(cat /etc/debian_version)
elif [ -z "${distroid}" ];then
distroid="debian"
fi
@@ -62,21 +60,21 @@ do
elif [ -z "${distroversion}" ];then
distroversion=$(rpm -qa \*-release | grep -Ei "oracle|redhat|centos|fedora" | cut -d"-" -f3)
elif [ -z "${distroid}" ];then
- distroid="$(awk '{print $1}' /etc/redhat-release)"
+ distroid=$(awk '{print $1}' /etc/redhat-release)
fi
fi
done
## Glibc version
# e.g: 1.17
-glibcversion="$(ldd --version | sed -n '1s/.* //p')"
+glibcversion=$(ldd --version | sed -n '1s/.* //p')
## tmux version
# e.g: tmux 1.6
if [ -z "$(command -V tmux 2>/dev/null)" ]; then
tmuxv="${red}NOT INSTALLED!${default}"
else
- if [ "$(tmux -V|sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')" -lt "16" ] 2>/dev/null; then
+ if [ "$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')" -lt "16" ]; then
tmuxv="$(tmux -V) (>= 1.6 required for console log)"
else
tmuxv=$(tmux -V)
@@ -98,10 +96,11 @@ load=$(uptime|awk -F 'load average: ' '{ print $2 }')
## CPU information
cpumodel=$(awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//')
cpucores=$(awk -F: '/model name/ {core++} END {print core}' /proc/cpuinfo)
-cpufreqency=$(awk -F: ' /cpu MHz/ {freq=$2} END {print freq " MHz"}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//')
+cpufreqency=$(awk -F: '/cpu MHz/ {freq=$2} END {print freq}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//')
# CPU usage of the game server pid
-if [ "${status}" == "1" ]; then
+if [ "${gameserverpid}" ]; then
cpuused=$(ps --forest -o pcpu -g "${gameserverpid}"|awk '{s+=$1} END {print s}')
+ cpuusedmhz=$(echo "${cpufreqency} * ${cpuused} / 100" | bc )
fi
## Memory information
@@ -122,24 +121,24 @@ if [ -n "$(command -v numfmt 2>/dev/null)" ]; then
if grep -q ^MemAvailable /proc/meminfo; then
physmemactualfreekb=$(grep ^MemAvailable /proc/meminfo | awk '{print $2}')
else
- physmemactualfreekb=$((${physmemfreekb}+${physmembufferskb}+${physmemcachedkb}))
+ physmemactualfreekb=$((physmemfreekb+physmembufferskb+physmemcachedkb))
fi
# Available RAM and swap.
- physmemtotalmb=$((${physmemtotalkb}/1024))
+ physmemtotalmb=$((physmemtotalkb/1024))
physmemtotal=$(numfmt --to=iec --from=iec --suffix=B "${physmemtotalkb}K")
physmemfree=$(numfmt --to=iec --from=iec --suffix=B "${physmemactualfreekb}K")
- physmemused=$(numfmt --to=iec --from=iec --suffix=B "$((${physmemtotalkb}-${physmemfreekb}-${physmembufferskb}-${physmemcachedkb}-${physmemreclaimablekb}))K")
+ physmemused=$(numfmt --to=iec --from=iec --suffix=B "$((physmemtotalkb-physmemfreekb-physmembufferskb-physmemcachedkb-physmemreclaimablekb))K")
physmemavailable=$(numfmt --to=iec --from=iec --suffix=B "${physmemactualfreekb}K")
- physmemcached=$(numfmt --to=iec --from=iec --suffix=B "$((${physmemcachedkb}+${physmemreclaimablekb}))K")
+ physmemcached=$(numfmt --to=iec --from=iec --suffix=B "$((physmemcachedkb+physmemreclaimablekb))K")
swaptotal=$(numfmt --to=iec --from=iec --suffix=B "$(grep ^SwapTotal /proc/meminfo | awk '{print $2}')K")
swapfree=$(numfmt --to=iec --from=iec --suffix=B "$(grep ^SwapFree /proc/meminfo | awk '{print $2}')K")
swapused=$(numfmt --to=iec --from=iec --suffix=B "$(($(grep ^SwapTotal /proc/meminfo | awk '{print $2}')-$(grep ^SwapFree /proc/meminfo | awk '{print $2}')))K")
# RAM usage of the game server pid
# MB
- if [ "${status}" == "1" ]; then
- memused=$(ps --forest -o rss -g "${gameserverpid}" | awk '{s+=$1} END {print s}'| awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}')
+ if [ "${gameserverpid}" ]; then
+ memused=$(ps --forest -o rss -g "${gameserverpid}" | awk '{s+=$1} END {print s}'| awk '{$1/=1024;printf "%.0f",$1}{print $2}')
# %
pmemused=$(ps --forest -o %mem -g "${gameserverpid}" | awk '{s+=$1} END {print s}')
fi
@@ -229,14 +228,14 @@ netlink=$(ethtool "${netint}" 2>/dev/null| grep Speed | awk '{print $2}')
# External IP address
if [ -z "${extip}" ]; then
- extip=$(${curlpath} -4 -m 3 ifconfig.co 2>/dev/null)
+ extip=$(curl -4 -m 3 ifconfig.co 2>/dev/null)
exitcode=$?
# Should ifconfig.co return an error will use last known IP.
if [ ${exitcode} -eq 0 ]; then
echo -e "${extip}" > "${tmpdir}/extip.txt"
else
if [ -f "${tmpdir}/extip.txt" ]; then
- extip=$(cat ${tmpdir}/extip.txt)
+ extip=$(cat "${tmpdir}/extip.txt")
else
echo -e "x.x.x.x"
fi
@@ -253,12 +252,12 @@ else
fi
# Steam Master Server - checks if detected by master server.
-if [ "$(command -v jq 2>/dev/null)" ]; then
+if [ -n "$(command -v jq 2>/dev/null)" ]; then
if [ "${ip}" ]&&[ "${port}" ]; then
if [ "${steammaster}" == "true" ]; then
- masterserver="$(${curlpath} -m 3 -s 'https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr='${ip}':'${port}'&format=json' | jq '.response.servers[]|.addr' | wc -l)"
+ masterserver=$(curl -m 3 -s 'https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr='${ip}':'${port}'&format=json' | jq '.response.servers[]|.addr' | wc -l)
if [ "${masterserver}" == "0" ]; then
- masterserver="$(${curlpath} -m 3 -s 'https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr='${extip}':'${port}'&format=json' | jq '.response.servers[]|.addr' | wc -l)"
+ masterserver=$(curl -m 3 -s 'https://api.steampowered.com/ISteamApps/GetServersAtAddress/v0001?addr='${extip}':'${port}'&format=json' | jq '.response.servers[]|.addr' | wc -l)
fi
if [ "${masterserver}" == "0" ]; then
displaymasterserver="false"
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index 63deff33f..291def5a9 100644
--- a/lgsm/functions/info_messages.sh
+++ b/lgsm/functions/info_messages.sh
@@ -25,9 +25,9 @@ fn_info_message_head(){
echo -e ""
echo -e "Server IP"
if [ "${multiple_ip}" == "1" ]; then
- echo -e "NOT SET"
+ echo -e "NOT SET"
else
- echo -e "${ip}:${port}"
+ echo -e "${ip}:${port}"
fi
}
@@ -84,7 +84,7 @@ fn_info_message_server_resource(){
echo -e "${lightyellow}CPU\t${default}"
echo -e "${lightblue}Model:\t${default}${cpumodel}"
echo -e "${lightblue}Cores:\t${default}${cpucores}"
- echo -e "${lightblue}Frequency:\t${default}${cpufreqency}"
+ echo -e "${lightblue}Frequency:\t${default}${cpufreqency}MHz"
echo -e "${lightblue}Avg Load:\t${default}${load}"
} | column -s $'\t' -t
echo -e ""
@@ -135,7 +135,7 @@ fn_info_message_gameserver_resource(){
{
if [ "${status}" == "1" ]; then
echo -e "${lightblue}CPU Used:\t${default}${cpuused}%${default}"
- echo -e "${lightblue}Mem Used:\t${default}${pmemused}%\t${memused}${default}"
+ echo -e "${lightblue}Mem Used:\t${default}${pmemused}%\t${memused}MB${default}"
else
echo -e "${lightblue}CPU Used:\t${default}0%${default}"
echo -e "${lightblue}Mem Used:\t${default}0%\t0MB${default}"
@@ -160,8 +160,8 @@ fn_info_message_gameserver(){
# Server password: NOT SET
# RCON password: adminF54CC0VR
# Players: 0/16
- # Current Map: de_mirage
- # Default Map: de_mirage
+ # Current map: de_mirage
+ # Default map: de_mirage
# Game type: 0
# Game mode: 0
# Tick rate: 64
@@ -245,7 +245,6 @@ fn_info_message_gameserver(){
fi
# Players
-
if [ "${querystatus}" != "0" ]; then
if [ -n "${maxplayers}" ]; then
echo -e "${lightblue}Maxplayers:\t${default}${maxplayers}"
@@ -273,31 +272,31 @@ fn_info_message_gameserver(){
echo -e "${lightblue}Bots:\t${default}${gdbots}"
fi
- # Current Map
+ # Current map
if [ -n "${gdmap}" ]; then
- echo -e "${lightblue}Current Map:\t${default}${gdmap}"
+ echo -e "${lightblue}Current map:\t${default}${gdmap}"
+ fi
+
+ # Default map
+ if [ -n "${defaultmap}" ]; then
+ echo -e "${lightblue}Default map:\t${default}${defaultmap}"
fi
if [ -n "${defaultscenario}" ]; then
- # Current Scenario
+ # Current scenario
if [ -n "${gdgamemode}" ]; then
- echo -e "${lightblue}Current Scenario:\t${default}${gdgamemode}"
+ echo -e "${lightblue}Current scenario:\t${default}${gdgamemode}"
fi
else
- # Current Scenario
+ # Current game mode
if [ -n "${gdgamemode}" ]; then
- echo -e "${lightblue}Current Game Mode:\t${default}${gdgamemode}"
+ echo -e "${lightblue}Current game mode:\t${default}${gdgamemode}"
fi
fi
- # Default Map
- if [ -n "${defaultmap}" ]; then
- echo -e "${lightblue}Default Map:\t${default}${defaultmap}"
- fi
-
- # Default Scenario
+ # Default scenario
if [ -n "${defaultscenario}" ]; then
- echo -e "${lightblue}Default Scenario:\t${default}${defaultscenario}"
+ echo -e "${lightblue}Default scenario:\t${default}${defaultscenario}"
fi
# Game type
@@ -370,12 +369,12 @@ fn_info_message_gameserver(){
echo -e "${lightblue}Map rotation:\t${default}${randommap}"
fi
- # Listed on Master Server
- if [ "${displaymasterserver}" ];then
+ # Listed on Master server
+ if [ -n "${displaymasterserver}" ];then
if [ "${displaymasterserver}" == "true" ];then
- echo -e "${lightblue}Master Server:\t${green}${displaymasterserver}${default}"
+ echo -e "${lightblue}Master server:\t${green}${displaymasterserver}${default}"
else
- echo -e "${lightblue}Master Server:\t${red}${displaymasterserver}${default}"
+ echo -e "${lightblue}Master server:\t${red}${displaymasterserver}${default}"
fi
fi
@@ -414,7 +413,7 @@ fn_info_message_script(){
fn_messages_separator
{
# Script name
- echo -e "${lightblue}Script name:\t${default}${servicename}"
+ echo -e "${lightblue}Script name:\t${default}${selfname}"
# LinuxGSM version
if [ -n "${version}" ]; then
@@ -542,7 +541,7 @@ fn_info_message_ports(){
parmslocation="${red}UNKNOWN${default}"
# engines/games that require editing in the config file
- local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" "wurm")
+ local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Minecraft Bedrock" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" "wurm")
for port_edit in "${ports_edit_array[@]}"
do
if [ "${shortname}" == "ut3" ]; then
@@ -578,7 +577,7 @@ fn_info_message_statusbottom(){
fn_info_logs(){
echo -e ""
- echo -e "${servicename} Logs"
+ echo -e "${selfname} Logs"
echo -e "================================="
if [ -n "${lgsmlog}" ]; then
@@ -708,7 +707,7 @@ fn_info_message_codwaw(){
} | column -s $'\t' -t
}
-fn_info_message_dontstarve(){
+fn_info_message_dst(){
echo -e "netstat -atunp | grep dontstarve"
echo -e ""
{
@@ -745,7 +744,8 @@ fn_info_message_factorio(){
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
- echo -e "> Game\tINBOUND\t${port}\ttcp"
+ echo -e "> Game\tINBOUND\t${port}\tudp"
+ echo -e "> RCON\tINBOUND\t${rconport}\ttcp"
} | column -s $'\t' -t
}
@@ -811,6 +811,16 @@ fn_info_message_minecraft(){
} | column -s $'\t' -t
}
+fn_info_message_minecraft_bedrock(){
+ echo -e "netstat -atunp | grep bedrock_serv"
+ echo -e ""
+ {
+ echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
+ echo -e "> Game\tINBOUND\t${port}\tudp"
+ echo -e "> Game\tINBOUND\t${port6}\tudp6"
+ } | column -s $'\t' -t
+}
+
fn_info_message_mohaa(){
echo -e "netstat -atunp | grep mohaa_lnxded"
echo -e ""
@@ -852,11 +862,11 @@ fn_info_message_projectcars(){
}
fn_info_message_projectzomboid(){
- echo -e "netstat -atunp | grep java"
+ echo -e "netstat -atunp | grep ProjectZomb"
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
- echo -e "> Game\tINBOUND\t${port}\tudp"
+ echo -e "> Game/Query\tINBOUND\t${port}\tudp"
} | column -s $'\t' -t
}
@@ -902,7 +912,7 @@ fn_info_message_quakelive(){
} | column -s $'\t' -t
}
-fn_info_message_realvirtuality(){
+fn_info_message_arma3(){
echo -e "netstat -atunp | grep arma3server"
echo -e ""
# Default port
@@ -914,20 +924,20 @@ fn_info_message_realvirtuality(){
echo -e "> Game\tINBOUND\t${port}\tudp"
# Don't do arithmetics if ever the port wasn't a numeric value
if [ "${port}" -eq "${port}" ]; then
- echo -e "> Steam: Query\tINBOUND\t$((port+1))\tudp"
+ echo -e "> Query Steam\tINBOUND\t$((port+1))\tudp"
echo -e "> Steam: Master traffic\tINBOUND\t$((port+2))\tudp"
echo -e "> Undocumented Port\tINBOUND\t$((port+3))\tudp"
fi
} | column -s $'\t' -t
}
-fn_info_message_refractor(){
+fn_info_message_bf1942(){
echo -e "netstat -atunp | grep bf1942_lnxd"
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
echo -e "> Game/Query\tINBOUND\t${port}\tudp"
- echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp"
+ echo -e "> Query Steam\tINBOUND\t${queryport}\tudp"
} | column -s $'\t' -t
}
@@ -937,7 +947,7 @@ fn_info_message_risingworld(){
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp"
- echo -e "> http query\tINBOUND\t${httpqueryport}\ttcp"
+ echo -e "> Query HTTP\tINBOUND\t${httpqueryport}\ttcp"
echo -e "> RCON\tINBOUND\t${rconport}\ttcp"
} | column -s $'\t' -t
}
@@ -956,7 +966,7 @@ fn_info_message_rust(){
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
- echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp"
+ echo -e "> Game/Query\tINBOUND\t${port}\tudp"
echo -e "> RCON\tINBOUND\t${rconport}\ttcp"
} | column -s $'\t' -t
}
@@ -971,8 +981,8 @@ fn_info_message_samp(){
}
-fn_info_message_seriousengine35(){
- echo -e "netstat -atunp | grep Sam3_Dedicate"
+fn_info_message_ss3(){
+ echo -e "netstat -atunp | grep Sam3_Ded"
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
@@ -1104,16 +1114,16 @@ fn_info_message_teamspeak3(){
}
fn_info_message_teeworlds(){
- echo -e "netstat -atunp | grep teeworlds_srv"
+ echo -e "netstat -atunp | grep teeworlds"
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
- echo -e "> Game\tINBOUND\t${port}\ttcp"
+ echo -e "> Game\Query\tINBOUND\t${port}\ttcp"
} | column -s $'\t' -t
}
fn_info_message_terraria(){
- echo -e "netstat -atunp | grep TerrariaServer"
+ echo -e "netstat -atunp | grep Terraria"
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
@@ -1147,7 +1157,7 @@ fn_info_message_unreal(){
echo -e "< UdpLink Port (random)\tOUTBOUND\t${udplinkport}+\tudp"
fi
if [ "${engine}" != "unreal" ]&&[ "${appid}" != "223250" ]; then
- echo -e "> GameSpy query\tINBOUND\t${gsqueryport}\tudp\tOldQueryPortNumber=${gsqueryport}"
+ echo -e "> Query (GameSpy)\tINBOUND\t${queryportgs}\tudp\tOldQueryPortNumber=${queryportgs}"
fi
if [ "${appid}" == "215360" ]; then
echo -e "< Master server\tOUTBOUND\t28852\ttcp/udp"
@@ -1174,6 +1184,30 @@ fn_info_message_unreal(){
} | column -s $'\t' -t
}
+fn_info_message_unreal2(){
+ fn_info_message_password_strip
+ echo -e "netstat -atunp | grep ucc-bin"
+ echo -e ""
+ {
+ echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL\tINI VARIABLE"
+ echo -e "> Game\tINBOUND\t${port}\tudp\tPort=${port}"
+ echo -e "> Query\tINBOUND\t${queryport}\tudp"
+ if [ "${appid}" != "223250" ]; then
+ echo -e "> Query (GameSpy)\tINBOUND\t${queryportgs}\tudp\tOldQueryPortNumber=${queryportgs}"
+ fi
+ echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp\tListenPort=${webadminport}"
+ } | column -s $'\t' -t
+ echo -e ""
+ echo -e "${lightgreen}${servername} WebAdmin${default}"
+ fn_messages_separator
+ {
+ echo -e "${lightblue}WebAdmin enabled:\t${default}${webadminenabled}"
+ echo -e "${lightblue}WebAdmin url:\t${default}http://${ip}:${webadminport}"
+ echo -e "${lightblue}WebAdmin username:\t${default}${webadminuser}"
+ echo -e "${lightblue}WebAdmin password:\t${default}${webadminpass}"
+ } | column -s $'\t' -t
+}
+
fn_info_message_unreal3(){
fn_info_message_password_strip
echo -e "netstat -atunp | grep ut3-bin"
@@ -1245,19 +1279,19 @@ fn_info_message_wurmunlimited(){
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
echo -e "> Game\tINBOUND\t${port}\ttcp"
- echo -e "> Game/Query\tINBOUND\t${queryport}\tudp"
+ echo -e "> Query\tINBOUND\t${queryport}\tudp"
} | column -s $'\t' -t
}
fn_info_message_mta(){
- echo -e "netstat -atunp | grep mta-server64"
+ echo -e "netstat -atunp | grep mta-server"
echo -e ""
{
echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
- echo -e "> Game\tOUTBOUND\t${port}\tudp"
+ echo -e "> Game/Query\tOUTBOUND\t${port}\tudp"
echo -e "> HTTP Server\tINBOUND\t${httpport}\ttcp"
if [ "${ase}" == "Enabled" ]; then
- echo -e "> ASE Game_Monitor\tOUTBOUND\t$((${port} + 123))\tudp"
+ echo -e "> Query Port\tOUTBOUND\t${queryport}\tudp"
fi
} | column -s $'\t' -t
}
@@ -1306,10 +1340,10 @@ fn_info_message_warfork(){
fn_info_message_select_engine(){
# Display details depending on game or engine.
- if [ "${shortname}" == "sdtd" ]; then
- fn_info_message_sdtd
- elif [ "${shortname}" == "ark" ]; then
+ if [ "${shortname}" == "ark" ]; then
fn_info_message_ark
+ elif [ "${shortname}" == "arma3" ]; then
+ fn_info_message_arma3
elif [ "${shortname}" == "bo" ]; then
fn_info_message_ballisticoverkill
elif [ "${shortname}" == "bt" ]; then
@@ -1326,6 +1360,8 @@ fn_info_message_select_engine(){
fn_info_message_cod4
elif [ "${shortname}" == "codwaw" ]; then
fn_info_message_codwaw
+ elif [ "${shortname}" == "dst" ]; then
+ fn_info_message_dst
elif [ "${shortname}" == "eco" ]; then
fn_info_message_eco
elif [ "${shortname}" == "etl" ]; then
@@ -1342,6 +1378,10 @@ fn_info_message_select_engine(){
fn_info_message_justcause3
elif [ "${shortname}" == "kf2" ]; then
fn_info_message_kf2
+ elif [ "${shortname}" == "mcb" ]; then
+ fn_info_message_minecraft_bedrock
+ elif [ "${shortname}" == "pz" ]; then
+ fn_info_message_projectzomboid
elif [ "${shortname}" == "pstbs" ]; then
fn_info_message_pstbs
elif [ "${shortname}" == "pc" ]; then
@@ -1356,30 +1396,44 @@ fn_info_message_select_engine(){
fn_info_message_quakelive
elif [ "${shortname}" == "samp" ]; then
fn_info_message_samp
+ elif [ "${shortname}" == "sdtd" ]; then
+ fn_info_message_sdtd
elif [ "${shortname}" == "squad" ]; then
fn_info_message_squad
elif [ "${shortname}" == "st" ]; then
fn_info_message_stationeers
elif [ "${shortname}" == "sof2" ]; then
- fn_info_message_sof2
+ fn_info_message_sof2
elif [ "${shortname}" == "sol" ]; then
fn_info_message_soldat
+ elif [ "${shortname}" == "st" ]; then
+ fn_info_message_starbound
elif [ "${shortname}" == "sbots" ]; then
fn_info_message_sbots
+ elif [ "${shortname}" == "ss3" ]; then
+ fn_info_message_ss3
+ elif [ "${shortname}" == "terraria" ]; then
+ fn_info_message_terraria
elif [ "${shortname}" == "ts3" ]; then
fn_info_message_teamspeak3
elif [ "${shortname}" == "tu" ]; then
fn_info_message_towerunite
+ elif [ "${shortname}" == "tw" ]; then
+ fn_info_message_teeworlds
elif [ "${shortname}" == "unt" ]; then
fn_info_message_unturned
- elif [ "${shortname}" == "mohaa" ]; then
- fn_info_message_mohaa
+ elif [ "${shortname}" == "mc" ]; then
+ fn_info_message_minecraft
elif [ "${shortname}" == "mh" ]; then
fn_info_message_mordhau
+ elif [ "${shortname}" == "mohaa" ]; then
+ fn_info_message_mohaa
elif [ "${shortname}" == "mta" ]; then
fn_info_message_mta
elif [ "${shortname}" == "mumble" ]; then
fn_info_message_mumble
+ elif [ "${engine}" == "bf1942" ]; then
+ fn_info_message_bf1942
elif [ "${shortname}" == "rtcw" ]; then
fn_info_message_rtcw
elif [ "${shortname}" == "rust" ]; then
@@ -1392,32 +1446,16 @@ fn_info_message_select_engine(){
fn_info_message_risingworld
elif [ "${shortname}" == "wet" ]; then
fn_info_message_wolfensteinenemyterritory
- elif [ "${engine}" == "refractor" ]; then
- fn_info_message_refractor
- elif [ "${engine}" == "dontstarve" ]; then
- fn_info_message_dontstarve
elif [ "${engine}" == "goldsource" ]; then
fn_info_message_goldsource
- elif [ "${engine}" == "lwjgl2" ]; then
- fn_info_message_minecraft
- elif [ "${engine}" == "projectzomboid" ]; then
- fn_info_message_projectzomboid
- elif [ "${engine}" == "realvirtuality" ]; then
- fn_info_message_realvirtuality
- elif [ "${engine}" == "seriousengine35" ]; then
- fn_info_message_seriousengine35
elif [ "${engine}" == "source" ]; then
fn_info_message_source
elif [ "${engine}" == "spark" ]; then
fn_info_message_spark
- elif [ "${engine}" == "starbound" ]; then
- fn_info_message_starbound
- elif [ "${engine}" == "teeworlds" ]; then
- fn_info_message_teeworlds
- elif [ "${engine}" == "terraria" ]; then
- fn_info_message_terraria
- elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
+ elif [ "${engine}" == "unreal" ]; then
fn_info_message_unreal
+ elif [ "${engine}" == "unreal2" ]; then
+ fn_info_message_unreal2
elif [ "${engine}" == "unreal3" ]; then
fn_info_message_unreal3
else
diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh
index bcc5a0d9d..6cafc86ad 100644
--- a/lgsm/functions/info_parms.sh
+++ b/lgsm/functions/info_parms.sh
@@ -4,7 +4,7 @@
# Website: https://linuxgsm.com
# Description: If specific parms are not set then this will be displayed in details.
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
## Examples of filtering to get info from config files
# sed 's/foo//g' - remove foo
@@ -43,11 +43,12 @@ fn_info_parms_dst(){
}
fn_info_parms_eco(){
- queryport=${webadminport}
+ queryport=${webadminport:-"0"}
}
fn_info_parms_factorio(){
port=${port:-"0"}
+ queryport=${rconport:-"0"}
rconport=${rconport:-"0"}
rconpassword=${rconpassword:-"NOT SET"}
}
@@ -89,18 +90,23 @@ fn_info_parms_mohaa(){
defaultmap=${defaultmap:-"NOT SET"}
}
+fn_info_parms_mta(){
+ queryport=$((port + 123))
+}
+
fn_info_parms_projectzomboid(){
adminpassword=${adminpassword:-"NOT SET"}
+ queryport=${port:-"0"}
}
fn_info_parms_quakeworld(){
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
}
fn_info_parms_quake2(){
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
defaultmap=${defaultmap:-"NOT SET"}
}
@@ -112,20 +118,20 @@ fn_info_parms_realvirtuality(){
fn_info_parms_risingworld(){
servername=${servername:-"NOT SET"}
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
httpqueryport=$((port - 1))
}
fn_info_parms_rtcw(){
port=${port:-"0"}
- queryport="${port}"
+ queryport="${port:-"0"}"
defaultmap=${defaultmap:-"NOT SET"}
}
fn_info_parms_rust(){
servername=${servername:-"NOT SET"}
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
rconport=${rconport:-"0"}
rconpassword=${rconpassword:-"NOT SET"}
rconweb=${rconweb:-"NOT SET"}
@@ -134,6 +140,10 @@ fn_info_parms_rust(){
tickrate=${tickrate:-"0"}
}
+fn_info_parms_samp(){
+ queryport=${port:-"0"}
+}
+
fn_info_parms_sof2(){
port=${port:-"0"}
defaultmap=${defaultmap:-"NOT SET"}
@@ -143,7 +153,7 @@ fn_info_parms_source(){
defaultmap=${defaultmap:-"NOT SET"}
maxplayers=${maxplayers:-"0"}
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
clientport=${clientport:-"0"}
}
@@ -171,24 +181,33 @@ fn_info_parms_stickybots(){
fn_info_parms_sof2(){
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
defaultmap=${defaultmap:-"NOT SET"}
}
fn_info_parms_soldat(){
port=${port:-"0"}
- queryport=${port}
+ queryport=${port:-"0"}
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
adminpassword=${adminpassword:-"NOT SET"}
maxplayers=${maxplayers:-"0"}
}
+fn_info_parms_ss3(){
+ port=${port:-"0"}
+ queryport=$((port + 1))
+}
+
fn_info_parms_towerunite(){
port=${port:-"0"}
queryport=${queryport:-"0"}
}
+fn_info_parms_teeworlds(){
+ queryport=${port:-"0"}
+}
+
fn_info_parms_unreal(){
defaultmap=${defaultmap:-"NOT SET"}
queryport=$((port + 1))
@@ -208,14 +227,14 @@ fn_info_parms_unreal3(){
}
fn_info_parms_unturned(){
- servername=${servicename:-"NOT SET"}
+ servername=${selfname:-"NOT SET"}
port=${port:-"0"}
queryport=$((port + 1))
}
fn_info_parms_wf(){
port=${port:-"0"}
- queryport="${port}"
+ queryport="${port:-"0"}"
webadminport=${webadminport:-"0"}
}
@@ -255,6 +274,8 @@ elif [ "${shortname}" == "rtcw" ]; then
# Rust
elif [ "${shortname}" == "rust" ]; then
fn_info_parms_rust
+elif [ "${shortname}" == "samp" ]; then
+ fn_info_parms_samp
# Rising World
elif [ "${shortname}" == "rw" ]; then
fn_info_parms_risingworld
@@ -268,7 +289,7 @@ elif [ "${shortname}" == "sol" ]; then
fn_info_parms_soldat
# Serious Sam
elif [ "${shortname}" == "ss3" ]; then
- fn_info_parms_seriousengine35
+ fn_info_parms_ss3
elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
fn_info_parms_source
# Spark
@@ -276,8 +297,12 @@ elif [ "${engine}" == "spark" ]; then
fn_info_parms_spark
elif [ "${shortname}" == "tu" ]; then
fn_info_parms_towerunite
+elif [ "${shortname}" == "tw" ]; then
+ fn_info_parms_teeworlds
elif [ "${shortname}" == "mh" ]; then
fn_info_parms_mordhau
+elif [ "${shortname}" == "mta" ]; then
+ fn_info_parms_mta
# Unreal/Unreal 2 engine
elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
fn_info_parms_unreal
diff --git a/lgsm/functions/info_stats.sh b/lgsm/functions/info_stats.sh
new file mode 100644
index 000000000..d300c8bec
--- /dev/null
+++ b/lgsm/functions/info_stats.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# LinuxGSM info_stats.sh function
+# Author: Daniel Gibbs
+# Website: https://linuxgsm.com
+# Description: Optional Stats to send to LinuxGSM Developer
+# Uses Google analytics
+
+info_distro.sh
+# generate uuid
+if [ ! -f "${datadir}/uuid.txt" ];then
+ mkdir -p "${datadir}"
+ touch "${datadir}/uuid.txt"
+ if [ -n "$(command -v uuidgen 2>/dev/null)" ]; then
+ uuidgen > "${datadir}/uuid.txt"
+ else
+ cat /proc/sys/kernel/random/uuid > "${datadir}/uuid.txt"
+ fi
+fi
+
+uuid=$(cat "${datadir}/uuid.txt")
+# results are rounded up to reduce number of different results in analytics
+# nearest 100Mhz
+cpuusedmhzroundup=$(((cpuusedmhz + 99) / 100 * 100))
+# nearest 100MB
+memusedroundup=$(((memused + 99) / 100 * 100))
+# nearest 100MB
+serverfilesduroundup=$(((serverfilesdu + 99) / 100 * 100))
+# https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
+
+# Level 1 Stats
+## Distro
+curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=distro" -d "ea=${gamename}" -d "el=${distroname}" -d "v=1" > /dev/null 2>&1
+## Game Server Name
+curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=game" -d "ea=${gamename}" -d "el=${gamename}" -d "v=1" > /dev/null 2>&1
+## Game Server Name
+curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=version" -d "ea=${version}" -d "el=${version}" -d "v=1" > /dev/null 2>&1
+
+# Level 2 Stats
+## CPU usage of a game server
+if [ "${cpuusedmhzroundup}" ]; then
+ curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=cpuused" -d "ea=${gamename}" -d "el=${cpuusedmhzroundup}MHz" -d "v=1" > /dev/null 2>&1
+fi
+## Ram usage of a game server
+if [ "${memusedroundup}" ]; then
+ curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=ramused" -d "ea=${gamename}" -d "el=${memusedroundup}MB" -d "v=1" > /dev/null 2>&1
+fi
+## Disk usage of a game server
+if [ "${serverfilesdu}" ]; then
+ curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=diskused" -d "ea=${gamename}" -d "el=${serverfilesdu}" -d "v=1" > /dev/null 2>&1
+fi
+
+# Level 3 Stats
+## CPU Model
+if [ "${cpumodel}" ]; then
+ curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=servercpu" -d "ea=${gamename}" -d "el=${cpumodel} cores:${cpucores}" -d "v=1" > /dev/null 2>&1
+fi
+
+## Server RAM
+if [ "${physmemtotal}" ]; then
+ curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=serverram" -d "ea=${gamename}" -d "el=${physmemtotal}" -d "v=1" > /dev/null 2>&1
+fi
+
+## Server Disk
+if [ "${totalspace}" ]; then
+ curl https://www.google-analytics.com/collect -d "tid=UA-655379-31" -d "aip=1" -d "cid=${uuid}" -d "t=event" -d "ec=serverdisk" -d "ea=${gamename}" -d "el=${totalspace}" -d "v=1" > /dev/null 2>&1
+fi
+
+fn_script_log_info "Send LinuxGSM stats"
+fn_script_log_info "* UUID: ${uuid}"
+fn_script_log_info "* Game Name: ${gamename}"
+fn_script_log_info "* Distro Name: ${distroname}"
+fn_script_log_info "* Game Server CPU Used: ${cpuusedmhzroundup}MHz"
+fn_script_log_info "* Game Server RAM Used: ${memusedroundup}MB"
+fn_script_log_info "* Game Server Disk Used: ${serverfilesdu}"
+fn_script_log_info "* Server CPU Model: ${cpumodel}"
+fn_script_log_info "* Server RAM: ${physmemtotal}"
+fn_script_log_info "* Server Disk: ${totalspace}"
diff --git a/lgsm/functions/install_complete.sh b/lgsm/functions/install_complete.sh
index 63ba28d4f..a747438a2 100644
--- a/lgsm/functions/install_complete.sh
+++ b/lgsm/functions/install_complete.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e ""
echo -e "================================="
diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh
index 7cffbff4e..92451b5d9 100644
--- a/lgsm/functions/install_config.sh
+++ b/lgsm/functions/install_config.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Checks if server cfg dir exists, creates it if it doesn't.
fn_check_cfgdir(){
@@ -440,6 +440,12 @@ elif [ "${shortname}" == "mc" ]; then
fn_fetch_default_config
fn_default_config_remote
fn_set_config_vars
+elif [ "${shortname}" == "mcb" ]; then
+ gamedirname="MinecraftBedrock"
+ array_configs+=( server.properties )
+ fn_fetch_default_config
+ fn_default_config_remote
+ fn_set_config_vars
elif [ "${shortname}" == "mohaa" ]; then
gamedirname="MedalOfHonorAlliedAssault"
array_configs+=( server.cfg )
diff --git a/lgsm/functions/install_dst_token.sh b/lgsm/functions/install_dst_token.sh
index 55e83ffe4..869adde71 100644
--- a/lgsm/functions/install_dst_token.sh
+++ b/lgsm/functions/install_dst_token.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e ""
echo -e "${lightyellow}Enter ${gamename} Cluster Token${default}"
diff --git a/lgsm/functions/install_gslt.sh b/lgsm/functions/install_gslt.sh
index 425fcb2b9..ddb0ca291 100644
--- a/lgsm/functions/install_gslt.sh
+++ b/lgsm/functions/install_gslt.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e ""
echo -e "${lightyellow}Game Server Login Token${default}"
@@ -21,19 +21,19 @@ else
fi
echo -e "Get more info and a token here:"
-echo -e "https://linuxgsm.com/gslt"
+echo -e "https://docs.linuxgsm.com/steamcmd/gslt"
fn_script_log_info "Get more info and a token here:"
-fn_script_log_info "https://linuxgsm.com/gslt"
+fn_script_log_info "https://docs.linuxgsm.com/steamcmd/gslt"
echo -e ""
if [ -z "${autoinstall}" ]; then
if [ "${shortname}" != "tu" ]; then
echo -e "Enter token below (Can be blank)."
echo -n "GSLT TOKEN: "
read -r token
- if ! grep -q "^gslt=" "${configdirserver}/${servicename}.cfg" > /dev/null 2>&1; then
- echo -e "\ngslt=\"${token}\"" >> "${configdirserver}/${servicename}.cfg"
+ if ! grep -q "^gslt=" "${configdirserver}/${selfname}.cfg" > /dev/null 2>&1; then
+ echo -e "\ngslt=\"${token}\"" >> "${configdirserver}/${selfname}.cfg"
else
- sed -i -e "s/gslt=\"[^\"]*\"/gslt=\"${token}\"/g" "${configdirserver}/${servicename}.cfg"
+ sed -i -e "s/gslt=\"[^\"]*\"/gslt=\"${token}\"/g" "${configdirserver}/${selfname}.cfg"
fi
fi
fi
@@ -42,7 +42,7 @@ if [ "${shortname}" == "tu" ]; then
echo -e "The GSLT can be changed by editing ${servercfgdir}/${servercfg}."
fn_script_log_info "The GSLT can be changed by editing ${servercfgdir}/${servercfg}."
else
- echo -e "The GSLT can be changed by editing ${configdirserver}/${servicename}.cfg."
- fn_script_log_info "The GSLT can be changed by editing ${configdirserver}/${servicename}.cfg."
+ echo -e "The GSLT can be changed by editing ${configdirserver}/${selfname}.cfg."
+ fn_script_log_info "The GSLT can be changed by editing ${configdirserver}/${selfname}.cfg."
fi
echo -e ""
diff --git a/lgsm/functions/install_header.sh b/lgsm/functions/install_header.sh
index 0b5febae1..1a0c9dc29 100644
--- a/lgsm/functions/install_header.sh
+++ b/lgsm/functions/install_header.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
clear
fn_print_ascii_logo
@@ -14,7 +14,7 @@ fn_sleep_time
echo -e "================================="
echo -e "${lightyellow}Linux${default}GSM_"
echo -e "by Daniel Gibbs"
-echo -e "${lightblue}Game:${default}${gamename}"
+echo -e "${lightblue}Game:${default} ${gamename}"
echo -e "${lightblue}Website:${default} https://linuxgsm.com"
echo -e "${lightblue}Contributors:${default} https://linuxgsm.com/contrib"
echo -e "${lightblue}Donate:${default} https://linuxgsm.com/donate"
diff --git a/lgsm/functions/install_logs.sh b/lgsm/functions/install_logs.sh
index 996e05f93..1a00bac39 100644
--- a/lgsm/functions/install_logs.sh
+++ b/lgsm/functions/install_logs.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if [ "${checklogs}" != "1" ]; then
echo -e ""
@@ -51,8 +51,7 @@ if [ -n "${consolelogdir}" ]; then
fn_print_ok_eol_nl
fi
echo -en "creating console log: ${consolelog}..."
- touch "${consolelog}"
- if [ $? -ne 0 ]; then
+ if ! touch "${consolelog}"; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -63,8 +62,7 @@ fi
# Create Game logs.
if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
echo -en "installing game log dir: ${gamelogdir}..."
- mkdir -p "${gamelogdir}"
- if [ $? -ne 0 ]; then
+ if ! mkdir -p "${gamelogdir}"; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -79,8 +77,7 @@ fi
if [ -n "${gamelogdir}" ]; then
if [ "${gamelogdir:0:${#logdir}}" != "${logdir}" ]; then
echo -en "creating symlink to game log dir: ${logdir}/server -> ${gamelogdir}..."
- ln -nfs "${gamelogdir}" "${logdir}/server"
- if [ $? -ne 0 ]; then
+ if ! ln -nfs "${gamelogdir}" "${logdir}/server"; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -93,8 +90,7 @@ fi
if [ -d "${rootdir}/Steam/logs" ]; then
if [ ! -L "${logdir}/steamcmd" ]; then
echo -en "creating symlink to steam log dir: ${logdir}/steamcmd -> ${rootdir}/Steam/logs..."
- ln -nfs "${rootdir}/Steam/logs" "${logdir}/steamcmd"
- if [ $? -ne 0 ]; then
+ if ! ln -nfs "${rootdir}/Steam/logs" "${logdir}/steamcmd"; then
fn_print_fail_eol_nl
core_exit.sh
else
diff --git a/lgsm/functions/install_mta_resources.sh b/lgsm/functions/install_mta_resources.sh
index d21de7f9c..6d7f14bd1 100644
--- a/lgsm/functions/install_mta_resources.sh
+++ b/lgsm/functions/install_mta_resources.sh
@@ -7,7 +7,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_print_information_nl "${gamename} will not function without resources!"
echo -e " * install default resources using ./${selfname} install-default-resources"
diff --git a/lgsm/functions/install_retry.sh b/lgsm/functions/install_retry.sh
index e2918c268..2698b150c 100644
--- a/lgsm/functions/install_retry.sh
+++ b/lgsm/functions/install_retry.sh
@@ -6,10 +6,10 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
if fn_prompt_yn "Retry install?" Y; then
- command_install.sh; exit
+ command_install.sh; core_exit.sh
else
- echo Exiting; exit
+ core_exit.sh
fi
diff --git a/lgsm/functions/install_server_dir.sh b/lgsm/functions/install_server_dir.sh
index ee918c0e5..894ae060d 100644
--- a/lgsm/functions/install_server_dir.sh
+++ b/lgsm/functions/install_server_dir.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e ""
echo -e "${lightyellow}Server Directory${default}"
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 73c375fbb..b2158b3e7 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -6,65 +6,65 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_install_server_files(){
if [ "${shortname}" == "ahl" ]; then
- remote_fileurl="https://files.linuxgsm.com/ActionHalfLife/action_halflife-1.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="31430e670692b2eeaa0d1217db4dcb73"
+ remote_fileurl="http://files.linuxgsm.com/ActionHalfLife/action_halflife-1.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="31430e670692b2eeaa0d1217db4dcb73"
elif [ "${shortname}" == "bf1942" ]; then
- remote_fileurl="https://files.linuxgsm.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="a86a5d3cd64ca59abcc9bb9f777c2e5d"
+ remote_fileurl="http://files.linuxgsm.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="a86a5d3cd64ca59abcc9bb9f777c2e5d"
elif [ "${shortname}" == "bb" ]; then
- remote_fileurl="https://files.linuxgsm.com/BrainBread/brainbread-v1.2-linuxserver.tar.bz2"; local_filedir="${tmpdir}"; local_filename="brainbread-v1.2-linuxserver.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="5c729a7e9eecfa81b71a6a1f7267f0fd"
+ remote_fileurl="http://files.linuxgsm.com/BrainBread/brainbread-v1.2-linuxserver.tar.bz2"; local_filedir="${tmpdir}"; local_filename="brainbread-v1.2-linuxserver.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="5c729a7e9eecfa81b71a6a1f7267f0fd"
elif [ "${shortname}" == "cod" ]; then
- remote_fileurl="https://files.linuxgsm.com/CallOfDuty/cod-lnxded-1.5b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod-lnxded-1.5-large.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="19629895a4cf6fd8f6d1ee198b5304cd"
+ remote_fileurl="http://files.linuxgsm.com/CallOfDuty/cod-lnxded-1.5b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod-lnxded-1.5-large.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="19629895a4cf6fd8f6d1ee198b5304cd"
elif [ "${shortname}" == "coduo" ]; then
- remote_fileurl="https://files.linuxgsm.com/CallOfDutyUnitedOffensive/coduo-lnxded-1.51b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="coduo-lnxded-1.51b-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f1804ef13036e2b4ab535db000b19e97"
+ remote_fileurl="http://files.linuxgsm.com/CallOfDutyUnitedOffensive/coduo-lnxded-1.51b-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="coduo-lnxded-1.51b-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f1804ef13036e2b4ab535db000b19e97"
elif [ "${shortname}" == "cod2" ]; then
- remote_fileurl="https://files.linuxgsm.com/CallOfDuty2/cod2-lnxded-1.3-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod2-lnxded-1.3-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="078128f83d06dc3d7699428dc2870214"
+ remote_fileurl="http://files.linuxgsm.com/CallOfDuty2/cod2-lnxded-1.3-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod2-lnxded-1.3-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="078128f83d06dc3d7699428dc2870214"
elif [ "${shortname}" == "cod4" ]; then
- remote_fileurl="https://files.linuxgsm.com/CallOfDuty4/cod4x18_1772_dedrun.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod4x18_1772_dedrun.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="de29f29d79f9cc24574b838daa501e46"
+ remote_fileurl="http://files.linuxgsm.com/CallOfDuty4/cod4x18_1772_dedrun.tar.bz2"; local_filedir="${tmpdir}"; local_filename="cod4x18_1772_dedrun.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="de29f29d79f9cc24574b838daa501e46"
elif [ "${shortname}" == "codwaw" ]; then
- remote_fileurl="https://files.linuxgsm.com/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="codwaw-lnxded-1.7-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0489697ff3bf678c109bfb377d1b7895"
+ remote_fileurl="http://files.linuxgsm.com/CallOfDutyWorldAtWar/codwaw-lnxded-1.7-full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="codwaw-lnxded-1.7-full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0489697ff3bf678c109bfb377d1b7895"
elif [ "${shortname}" == "etl" ]; then
- remote_fileurl="https://files.linuxgsm.com/WolfensteinEnemyTerritory/etlegacy-v2.75-i386-et-260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.75-i386-et-260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="92d7d4c26e0a295daed78cef623eeabb"
+ remote_fileurl="http://files.linuxgsm.com/WolfensteinEnemyTerritory/etlegacy-v2.75-i386-et-260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.75-i386-et-260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="92d7d4c26e0a295daed78cef623eeabb"
elif [ "${shortname}" == "ges" ]; then
- remote_fileurl="https://files.linuxgsm.com/GoldenEyeSource/GoldenEye_Source_v5.0.6_full_server.tar.bz2"; local_filedir="${tmpdir}"; local_filename="GoldenEye_Source_v5.0.6_full_server.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="c45c16293096706e8b5e2cd64a6f2931"
+ remote_fileurl="http://files.linuxgsm.com/GoldenEyeSource/GoldenEye_Source_v5.0.6_full_server.tar.bz2"; local_filedir="${tmpdir}"; local_filename="GoldenEye_Source_v5.0.6_full_server.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="c45c16293096706e8b5e2cd64a6f2931"
elif [ "${shortname}" == "mohaa" ]; then
- remote_fileurl="https://files.linuxgsm.com/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9d5924486a0cf5e46dd063216aad05c1"
+ remote_fileurl="http://files.linuxgsm.com/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9d5924486a0cf5e46dd063216aad05c1"
elif [ "${shortname}" == "ns" ]; then
- remote_fileurl="https://files.linuxgsm.com/NaturalSelection/ns_dedicated_server_v32.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ns_dedicated_server_v32.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="499cf63324b76925ada6baf5f2eacd67"
+ remote_fileurl="http://files.linuxgsm.com/NaturalSelection/ns_dedicated_server_v32.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ns_dedicated_server_v32.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="499cf63324b76925ada6baf5f2eacd67"
elif [ "${shortname}" == "q2" ]; then
- remote_fileurl="https://files.linuxgsm.com/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f"
+ remote_fileurl="http://files.linuxgsm.com/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f"
elif [ "${shortname}" == "q3" ]; then
- remote_fileurl="https://files.linuxgsm.com/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake3-1.32c-x86-full-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306"
+ remote_fileurl="http://files.linuxgsm.com/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="quake3-1.32c-x86-full-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306"
elif [ "${shortname}" == "qw" ]; then
- remote_fileurl="https://files.linuxgsm.com/QuakeWorld/nquake.server.linux.190506.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="nquake.server.linux.190506.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="74405ec030463c5e1175e776ab572d32"
+ remote_fileurl="http://files.linuxgsm.com/QuakeWorld/nquake.server.linux.190506.full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="nquake.server.linux.190506.full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="74405ec030463c5e1175e776ab572d32"
elif [ "${shortname}" == "rtcw" ]; then
- remote_fileurl="https://files.linuxgsm.com/ReturnToCastleWolfenstein/iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; local_filedir="${tmpdir}"; local_filename="iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="6a3be9700372b228d1187422464e4212"
+ remote_fileurl="http://files.linuxgsm.com/ReturnToCastleWolfenstein/iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; local_filedir="${tmpdir}"; local_filename="iortcw-1.51c-x86_64-server-linux-20190507.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="6a3be9700372b228d1187422464e4212"
elif [ "${shortname}" == "sfc" ]; then
- remote_fileurl="https://files.linuxgsm.com/SourceFortsClassic/SFClassic-1.0-RC7-fix.tar.bz2"; local_filedir="${tmpdir}"; local_filename="SFClassic-1.0-RC7-fix.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="e0d4cfd298a8a356053f92b1fa7d1002"
+ remote_fileurl="http://files.linuxgsm.com/SourceFortsClassic/SFClassic-1.0-RC7-fix.tar.bz2"; local_filedir="${tmpdir}"; local_filename="SFClassic-1.0-RC7-fix.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="e0d4cfd298a8a356053f92b1fa7d1002"
elif [ "${shortname}" == "sof2" ]; then
- remote_fileurl="https://files.linuxgsm.com/SoldierOfFortune2/sof2gold-1.03.tar.bz2"; local_filedir="${tmpdir}"; local_filename="sof2gold-1.03.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="871b1dc0dafeeace65b198119e8fa200"
+ remote_fileurl="http://files.linuxgsm.com/SoldierOfFortune2/sof2gold-1.03.tar.bz2"; local_filedir="${tmpdir}"; local_filename="sof2gold-1.03.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="871b1dc0dafeeace65b198119e8fa200"
elif [ "${shortname}" == "ts" ]; then
- remote_fileurl="https://files.linuxgsm.com/TheSpecialists/ts-3-linux-final.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ts-3-linux-final.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38e8a8325339f85a7745117802f940b7"
+ remote_fileurl="http://files.linuxgsm.com/TheSpecialists/ts-3-linux-final.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ts-3-linux-final.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38e8a8325339f85a7745117802f940b7"
elif [ "${shortname}" == "ut2k4" ]; then
- remote_fileurl="https://files.linuxgsm.com/UnrealTournament2004/ut2004-server-3369-2-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-2-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
+ remote_fileurl="http://files.linuxgsm.com/UnrealTournament2004/ut2004-server-3369-2-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-2-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
elif [ "${shortname}" == "ut99" ]; then
- remote_fileurl="https://files.linuxgsm.com/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
+ remote_fileurl="http://files.linuxgsm.com/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
elif [ "${shortname}" == "ut" ]; then
remote_fileurl="https://s3.amazonaws.com/unrealtournament/UnrealTournament-Client-XAN-3395761-Linux.zip"; local_filedir="${tmpdir}"; local_filename="UnrealTournament-Server-XAN-3395761-Linux.zip"; chmodx="noexecute" run="norun"; force="noforce"; md5="f04ad5b96865b19613303331ff4075eb"
elif [ "${shortname}" == "ut3" ]; then
- remote_fileurl="https://files.linuxgsm.com/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="UT3-linux-server-2.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2527437b46f1b47f20228d27d72395a6"
+ remote_fileurl="http://files.linuxgsm.com/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="UT3-linux-server-2.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="2527437b46f1b47f20228d27d72395a6"
elif [ "${shortname}" == "vs" ]; then
- remote_fileurl="https://files.linuxgsm.com/VampireSlayer/vs_l-6.0_full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="vs_l-6.0_full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38a79e44b98578bbdc5b15818493a066"
+ remote_fileurl="http://files.linuxgsm.com/VampireSlayer/vs_l-6.0_full.tar.bz2"; local_filedir="${tmpdir}"; local_filename="vs_l-6.0_full.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="38a79e44b98578bbdc5b15818493a066"
elif [ "${shortname}" == "wet" ]; then
- remote_fileurl="https://files.linuxgsm.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="enemy-territory.260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f833f514bfcdd46b42c111f83350c5a7"
+ remote_fileurl="http://files.linuxgsm.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="enemy-territory.260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="f833f514bfcdd46b42c111f83350c5a7"
elif [ "${shortname}" == "samp" ]; then
remote_fileurl="https://files.sa-mp.com/samp037svr_R2-1.tar.gz"; local_filedir="${tmpdir}"; local_filename="samp037svr_R2-1.tar.gz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="93705e165550c97484678236749198a4"
elif [ "${shortname}" == "sol" ]; then
remote_fileurl="https://static.soldat.pl/downloads/soldatserver2.8.1_1.7.1.zip"; local_filedir="${tmpdir}"; local_filename="soldatserver2.8.1_1.7.1.zip"; chmodx="nochmodx" run="norun"; force="noforce"; md5="994409c28520425965dec5c71ccb55e1"
elif [ "${shortname}" == "zmr" ]; then
- remote_fileurl="https://files.linuxgsm.com/ZombieMasterReborn/zombie_master_reborn_b4_fix5.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="zombie_master_reborn_b4_fix5.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="73472bd84dfa6d203f3b5f48f760773e"
+ remote_fileurl="http://files.linuxgsm.com/ZombieMasterReborn/zombie_master_reborn_b5_2.tar.bz2"; local_filedir="${tmpdir}"; local_filename="zombie_master_reborn_b5_2.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="d52ef2db376f5d21e3a4ceca85ec8761"
fi
fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
fn_dl_extract "${local_filedir}" "${local_filename}" "${serverfiles}"
@@ -98,24 +98,24 @@ fn_install_server_files_steamcmd(){
# Detects if unbuffer command is available for 32 bit distributions only.
info_distro.sh
- if [ "$(command -v stdbuf 2>/dev/null)" ]&&[ "${arch}" != "x86_64" ]; then
+ if [ -n "$(command -v stdbuf 2>/dev/null)" ]&&[ "${arch}" != "x86_64" ]; then
unbuffer="stdbuf -i0 -o0 -e0"
fi
if [ "${counter}" -le "4" ]; then
if [ "${appid}" == "90" ]; then
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta ${branch} +quit
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit
local exitcode=$?
else
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} +quit
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit
local exitcode=$?
fi
elif [ "${counter}" -ge "5" ]; then
if [ "${engine}" == "goldsource" ]; then
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta ${branch} validate +quit
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" validate +quit
local exitcode=$?
else
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} validate +quit
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit
local exitcode=$?
fi
fi
@@ -133,7 +133,7 @@ fn_install_server_files_steamcmd(){
counter="0"
while [ "${counter}" -le "4" ]; do
counter=$((counter+1))
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} validate +quit
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" validate +quit
local exitcode=$?
done
fi
@@ -153,6 +153,8 @@ if [ "${shortname}" == "ts3" ]; then
elif [ "${shortname}" == "mc" ]; then
install_eula.sh
update_minecraft.sh
+elif [ "${shortname}" == "mcb" ]; then
+ update_minecraft_bedrock.sh
elif [ "${shortname}" == "mumble" ]; then
update_mumble.sh
elif [ "${shortname}" == "mta" ]; then
diff --git a/lgsm/functions/install_squad_license.sh b/lgsm/functions/install_squad_license.sh
index b1e15e419..0f1528e07 100644
--- a/lgsm/functions/install_squad_license.sh
+++ b/lgsm/functions/install_squad_license.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e ""
echo -e "${lightyellow}Squad Server License${default}"
diff --git a/lgsm/functions/install_stats.sh b/lgsm/functions/install_stats.sh
new file mode 100644
index 000000000..2d304e447
--- /dev/null
+++ b/lgsm/functions/install_stats.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# LinuxGSM install_stats.sh function
+# Author: Daniel Gibbs
+# Website: https://linuxgsm.com
+# Description: Enabled LinuxGSM Stats.
+
+local commandname="INSTALL"
+local commandaction="Install"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+
+echo -e ""
+echo -e "${lightyellow}LinuxGSM Stats${default}"
+echo -e "================================="
+fn_sleep_time
+echo -e "Assist LinuxGSM development by sending anonymous stats to developers."
+echo -e "More info: https://docs.linuxgsm.com/configuration/linuxgsm-stats"
+echo -e "The following info will be sent:"
+echo -e "* game server"
+echo -e "* distro"
+echo -e "* game server resource usage"
+echo -e "* server hardware info"
+if [ -z "${autoinstall}" ]; then
+ if fn_prompt_yn "Allow anonymous usage statistics?" Y; then
+ echo "stats=\"y\"" >> "${configdirserver}/common.cfg"
+ fn_print_information_nl "Stats setting is now enabled in common.cfg."
+ fi
+else
+ fn_print_information_nl "auto-install leaves stats off by default. Stats can be enabled in common.cfg"
+fi
diff --git a/lgsm/functions/install_ts3db.sh b/lgsm/functions/install_ts3db.sh
index cd2ef8653..09e16324e 100644
--- a/lgsm/functions/install_ts3db.sh
+++ b/lgsm/functions/install_ts3db.sh
@@ -7,7 +7,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_install_ts3db_mariadb(){
if [ ! -f "${serverfiles}/libts3db_mariadb.so" ]; then
@@ -70,7 +70,9 @@ echo -e "${lightyellow}Getting privilege key${default}"
echo -e "================================="
fn_sleep_time
fn_print_information_nl "Save these details for later."
+fn_print_information_nl "Key also saved in:"
+echo -e "${serverfiles}/privilege_key.txt"
cd "${executabledir}" || exit
-${executable} start inifile=ts3-server.ini
+./ts3server_startscript.sh start inifile=ts3-server.ini 2>&1 | tee "${serverfiles}/privilege_key.txt"
sleep 5
-${executable} stop
+./ts3server_startscript.sh stop
diff --git a/lgsm/functions/install_ut2k4_key.sh b/lgsm/functions/install_ut2k4_key.sh
index ea9f0ac82..c8d18692e 100644
--- a/lgsm/functions/install_ut2k4_key.sh
+++ b/lgsm/functions/install_ut2k4_key.sh
@@ -6,7 +6,7 @@
local commandname="INSTALL"
local commandaction="Install"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
echo -e ""
echo -e "${lightyellow}Enter ${gamename} CD Key${default}"
diff --git a/lgsm/functions/logs.sh b/lgsm/functions/logs.sh
index 280b50a92..04f5010e9 100644
--- a/lgsm/functions/logs.sh
+++ b/lgsm/functions/logs.sh
@@ -98,7 +98,7 @@ if [ "$(find "${lgsmlogdir}"/ -type f -mtime +"${logdays}" | wc -l)" -ne "0" ];
fi
# Count total amount of files removed.
- countlogs=$((${scriptcount} + ${consolecount} + ${gamecount} + ${srcdscount} + ${smcount} + ${ulxcount} + ${darkrpcount}))
+ countlogs=$((scriptcount + consolecount + gamecount + srcdscount + smcount + ulxcount + darkrpcount))
# Job done.
fn_print_ok_nl "Removed ${countlogs} log files"
fn_script_log "Removed ${countlogs} log files"
diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh
index f0b056b28..942012e46 100644
--- a/lgsm/functions/mods_core.sh
+++ b/lgsm/functions/mods_core.sh
@@ -7,7 +7,7 @@
local commandname="MODS"
local commandaction="Mods"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Files and Directories.
modsdir="${lgsmdir}/mods"
@@ -43,7 +43,7 @@ fn_mod_lowercase(){
fileswc=$(find "${extractdir}" -depth | wc -l)
echo -en "\r"
while read -r src; do
- dst="$(dirname "${src}$(/)basename" "${src}" | tr 'A-Z' 'a-z')"
+ dst=$(dirname "${src}$(/)basename" "${src}" | tr '[:upper:]' '[:lower:]')
if [ "${src}" != "${dst}" ]
then
[ ! -e "${dst}" ] && mv -T "${src}" "${dst}" || echo -e "${src} was not renamed"
@@ -122,11 +122,11 @@ fn_mod_tidy_files_list(){
removefromlist="cfg;addons;RustDedicated_Data;RustDedicated_Data\/Managed;RustDedicated_Data\/Managed\/x86;RustDedicated_Data\/Managed\/x64;"
# Loop through files to remove from file list,
# generate elements to remove from list.
- removefromlistamount="$(echo -e "${removefromlist}" | awk -F ';' '{ print NF }')"
+ removefromlistamount=$(echo -e "${removefromlist}" | awk -F ';' '{ print NF }')
# Test all subvalue of "removefromlist" using the ";" separator.
for ((filesindex=1; filesindex < removefromlistamount; filesindex++)); do
# Put current file into test variable.
- removefilevar="$(echo -e "${removefromlist}" | awk -F ';' -v x=${filesindex} '{ print $x }')"
+ removefilevar=$(echo -e "${removefromlist}" | awk -F ';' -v x=${filesindex} '{ print $x }')
# Delete line(s) matching exactly.
sed -i "/^${removefilevar}$/d" "${modsdir}/${modcommand}-files.txt"
# Exit on error.
@@ -259,7 +259,7 @@ fn_mods_installed_list(){
modcommandmaxlength="0"
# Loop through every line of the installed mods list ${modsinstalledlistfullpath}.
while [ "${installedmodsline}" -le "${installedmodscount}" ]; do
- currentmod="$(sed "${installedmodsline}q;d" "${modsinstalledlistfullpath}")"
+ currentmod=$(sed "${installedmodsline}q;d" "${modsinstalledlistfullpath}")
# Get mod info to make sure mod exists.
fn_mod_get_info
# Add the mod to available commands.
@@ -306,11 +306,11 @@ fn_compatible_mod_games(){
# If value is set to GAMES (ignore).
if [ "${modgames}" != "GAMES" ]; then
# How many games we need to test.
- gamesamount="$(echo -e "${modgames}" | awk -F ';' '{ print NF }')"
+ gamesamount=$(echo -e "${modgames}" | awk -F ';' '{ print NF }')
# Test all subvalue of "modgames" using the ";" separator.
for ((gamevarindex=1; gamevarindex < gamesamount; gamevarindex++)); do
# Put current game name into modtest variable.
- gamemodtest="$( echo -e "${modgames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )"
+ gamemodtest=$( echo -e "${modgames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )
# If game name matches.
if [ "${gamemodtest}" == "${gamename}" ]; then
# Mod is compatible.
@@ -327,11 +327,11 @@ fn_compatible_mod_engines(){
# If value is set to ENGINES (ignore).
if [ "${modengines}" != "ENGINES" ]; then
# How many engines we need to test.
- enginesamount="$(echo -e "${modengines}" | awk -F ';' '{ print NF }')"
+ enginesamount=$(echo -e "${modengines}" | awk -F ';' '{ print NF }')
# Test all subvalue of "modengines" using the ";" separator.
for ((gamevarindex=1; gamevarindex < ${enginesamount}; gamevarindex++)); do
# Put current engine name into modtest variable.
- enginemodtest="$( echo -e "${modengines}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )"
+ enginemodtest=$( echo -e "${modengines}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )
# If engine name matches.
if [ "${enginemodtest}" == "${engine}" ]; then
# Mod is compatible.
@@ -348,11 +348,11 @@ fn_not_compatible_mod_games(){
# If value is set to NOTGAMES (ignore).
if [ "${modexcludegames}" != "NOTGAMES" ]; then
# How many engines we need to test.
- excludegamesamount="$(echo -e "${modexcludegames}" | awk -F ';' '{ print NF }')"
+ excludegamesamount=$(echo -e "${modexcludegames}" | awk -F ';' '{ print NF }')
# Test all subvalue of "modexcludegames" using the ";" separator.
for ((gamevarindex=1; gamevarindex < excludegamesamount; gamevarindex++)); do
# Put current engine name into modtest variable.
- excludegamemodtest="$( echo -e "${modexcludegames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )"
+ excludegamemodtest=$( echo -e "${modexcludegames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )
# If engine name matches.
if [ "${excludegamemodtest}" == "${gamename}" ]; then
# Mod is compatible.
@@ -461,7 +461,7 @@ fn_mods_clear_tmp_dir(){
# Counts how many mods were installed.
fn_mods_count_installed(){
if [ -f "${modsinstalledlistfullpath}" ]; then
- installedmodscount="$(wc -l < "${modsinstalledlistfullpath}")"
+ installedmodscount=$(wc -l < "${modsinstalledlistfullpath}")
else
installedmodscount=0
fi
@@ -486,7 +486,7 @@ fn_check_mod_files_list(){
# File list must exist and be valid before any operation on it.
if [ -f "${modsdir}/${modcommand}-files.txt" ]; then
# How many lines is the file list.
- modsfilelistsize="$(wc -l < "${modsdir}/${modcommand}-files.txt")"
+ modsfilelistsize=$(wc -l < "${modsdir}/${modcommand}-files.txt")
# If file list is empty.
if [ "${modsfilelistsize}" -eq 0 ]; then
fn_print_failure "${modcommand}-files.txt is empty"
diff --git a/lgsm/functions/mods_list.sh b/lgsm/functions/mods_list.sh
index 19ce5abb0..67a57463c 100644
--- a/lgsm/functions/mods_list.sh
+++ b/lgsm/functions/mods_list.sh
@@ -10,36 +10,36 @@
local commandname="MODS"
local commandaction="List Mods"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
# Get a proper URL for mods that don't provide a good one (optional)
fn_script_log_info "Retrieving latest mods URLs"
# Metamod
metamodmversion="1.10"
metamodscrapeurl="https://mms.alliedmods.net/mmsdrop/${metamodmversion}/mmsource-latest-linux"
-metamodlatestfile="$(wget "${metamodscrapeurl}" -q -O -)"
+metamodlatestfile=$(wget "${metamodscrapeurl}" -q -O -)
metamoddownloadurl="https://www.metamodsource.net/latest.php?os=linux&version=${metamodmversion}"
metamodurl="${metamoddownloadurl}"
# Sourcemod
-sourcemodmversion="1.9"
+sourcemodmversion="1.10"
sourcemodscrapeurl="https://sm.alliedmods.net/smdrop/${sourcemodmversion}/sourcemod-latest-linux"
-sourcemodlatestfile="$(wget "${sourcemodscrapeurl}" -q -O -)"
+sourcemodlatestfile=$(wget "${sourcemodscrapeurl}" -q -O -)
sourcemoddownloadurl="https://www.sourcemod.net/latest.php?os=linux&version=${sourcemodmversion}"
sourcemodurl="${sourcemoddownloadurl}"
# Steamworks
steamworksscrapeurl="https://users.alliedmods.net/~kyles/builds/SteamWorks"
-steamworkslatestfile="$(curl -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)"
+steamworkslatestfile=$(curl -sL ${steamworksscrapeurl} | grep -m 1 linux | cut -d '"' -f 4)
steamworksdownloadurl="${steamworksscrapeurl}/${steamworkslatestfile}"
steamworksurl="${steamworksdownloadurl}"
# CS:GO Mods
-get5scrapepath="$(curl -sL https://ci.splewis.net/job/get5/lastSuccessfulBuild/api/xml | grep -oP "\K(.+)(?=)")"
-get5latestfile="$(echo -e "${get5scrapepath}" | xargs -n 1 -I @ sh -c "echo -e "basename "@""")"
+get5scrapepath=$(curl -sL https://ci.splewis.net/job/get5/lastSuccessfulBuild/api/xml | grep -oP "\K(.+)(?=)")
+get5latestfile=$(echo -e "${get5scrapepath}" | xargs -n 1 -I @ sh -c "echo -e "basename "@""")
get5downloadurl="https://ci.splewis.net/job/get5/lastSuccessfulBuild/artifact/${get5scrapepath}"
get5url="${get5downloadurl}"
# Oxide
oxiderustlatestlink="https://umod.org/games/rust/download/develop" # fix for linux build 06.09.2019
-oxidehurtworldlatestlink="$(curl -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep "Oxide.Hurtworld.zip")"
-oxidesdtdlatestlink="$(curl -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | grep browser_download_url | cut -d '"' -f 4)"
+oxidehurtworldlatestlink=$(curl -sL https://api.github.com/repos/OxideMod/Oxide.Hurtworld/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep "Oxide.Hurtworld.zip")
+oxidesdtdlatestlink=$(curl -sL https://api.github.com/repos/OxideMod/Oxide.SevenDaysToDie/releases/latest | grep browser_download_url | cut -d '"' -f 4)
# Define mods information (required)
diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh
index 0a256bcab..88e01af5f 100644
--- a/lgsm/functions/query_gamedig.sh
+++ b/lgsm/functions/query_gamedig.sh
@@ -6,94 +6,23 @@
# https://github.com/sonicsnes/node-gamedig
# Check if gamedig and jq are installed.
-if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
-
- if [ "${engine}" == "idtech3_ql" ]; then
- local engine="quakelive"
- elif [ "${shortname}" == "kf2" ]; then
- local engine="unreal4"
- fi
-
- local engine_query_array=( avalanche3.0 barotrauma madness quakelive realvirtuality refractor source goldsource spark starbound unity3d unreal4 wurm )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="protocol-valve"
- fi
- done
-
- local engine_query_array=( avalanche2.0 )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="jc2mp"
- fi
- done
-
- local engine_query_array=( quake )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="protocol-quake1"
- fi
- done
-
- local engine_query_array=( idtech2 iw2.0 )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="protocol-quake2"
- fi
- done
-
- local engine_query_array=( idtech3 iw3.0 ioquake3 qfusion )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="protocol-quake3"
- fi
- done
-
- local engine_query_array=( lwjgl2 )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="minecraft"
- fi
- done
-
- local shortname_query_array=( ts3 )
- for shortname_query in "${shortname_query_array[@]}"
- do
- if [ "${shortname_query}" == "${shortname}" ]; then
- gamedigengine="teamspeak3"
- fi
- done
-
- local engine_query_array=( unreal )
- for engine_query in "${engine_query_array[@]}"
- do
- if [ "${engine_query}" == "${engine}" ]; then
- gamedigengine="ut"
- fi
- done
+if [ -n "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; then
# will bypass query if server offline.
check_status.sh
if [ "${status}" != "0" ]; then
# checks if query is working null = pass.
- gamedigcmd=$(echo -e "gamedig --type \"${gamedigengine}\" --host \"${ip}\" --query_port \"${queryport}\"|jq")
- gamedigraw=$(gamedig --type "${gamedigengine}" --host "${ip}" --query_port "${queryport}")
+ gamedigcmd=$(echo -e "gamedig --type \"${querytype}\" --host \"${ip}\" --query_port \"${queryport}\"|jq")
+ gamedigraw=$(gamedig --type "${querytype}" --host "${ip}" --query_port "${queryport}")
querystatus=$(echo -e "${gamedigraw}" | jq '.error|length')
if [ "${querystatus}" != "null" ]; then
- gamedigcmd=$(echo -e "gamedig --type \"${gamedigengine}\" --host \"${ip}\" --port \"${queryport}\"|jq")
- gamedigraw=$(gamedig --type "${gamedigengine}" --host "${ip}" --port "${queryport}")
+ gamedigcmd=$(echo -e "gamedig --type \"${querytype}\" --host \"${ip}\" --port \"${queryport}\"|jq")
+ gamedigraw=$(gamedig --type "${querytype}" --host "${ip}" --port "${queryport}")
querystatus=$(echo -e "${gamedigraw}" | jq '.error|length')
fi
-
# server name.
gdname=$(echo -e "${gamedigraw}" | jq -re '.name')
if [ "${gdname}" == "null" ]; then
diff --git a/lgsm/functions/query_gsquery.py b/lgsm/functions/query_gsquery.py
index fcfd4edc3..f6e3ce168 100644
--- a/lgsm/functions/query_gsquery.py
+++ b/lgsm/functions/query_gsquery.py
@@ -17,24 +17,36 @@ class gsquery:
self.server_response_timeout = 5
self.default_buffer_length = 1024
#
- sourcequery=[ 'avalanche3.0','barotrauma''madness','quakelive','realvirtuality','refractor','source','goldsource','spark','starbound','unity3d', 'unreal4', 'wurm' ]
- idtech3query=['idtech3','iw3.0','ioquake3','qfusion']
- idtech2query=['idtech2','quake','iw2.0']
+ sourcequery=['protocol-valve','avalanche3.0','barotrauma','madness','quakelive','realvirtuality','refractor','source','goldsource','spark','starbound','unity3d','unreal4','wurm']
+ idtech2query=['protocol-quake3','idtech2','quake','iw2.0']
+ idtech3query=['protocol-quake3','iw3.0','ioquake3','qfusion']
minecraftquery=['minecraft','lwjgl2']
+ minecraftbequery=['minecraftbe']
+ jc2mpquery=['jc2mp']
+ mumblequery=['mumbleping']
+ twquery=['teeworlds']
+ unrealquery=['protocol-gamespy1','unreal']
+ unreal2query=['protocol-unreal2','unreal2']
if self.option.engine in sourcequery:
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine in idtech2query:
self.query_prompt_string = b'\xff\xff\xff\xffstatus\x00'
elif self.option.engine in idtech3query:
self.query_prompt_string = b'\xff\xff\xff\xffgetstatus'
+ elif self.option.engine in jc2mpquery:
+ self.query_prompt_string = b'\xFE\xFD\x09\x10\x20\x30\x40'
elif self.option.engine in minecraftquery:
self.query_prompt_string = b'\xFE\xFD\x09\x3d\x54\x1f\x93'
- elif self.option.engine == 'avalanche2.0':
- self.query_prompt_string = b'\xFE\xFD\x09\x10\x20\x30\x40'
- elif self.option.engine == 'unreal':
+ elif self.option.engine in minecraftbequery:
+ self.query_prompt_string = b'\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\xfe\xfe\xfe\xfe\xfd\xfd\xfd\xfd\x12\x34\x56\x78\x00\x00\x00\x00\x00\x00\x00\x00'
+ elif self.option.engine in mumblequery:
+ self.query_prompt_string = b'\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08'
+ elif self.option.engine in unrealquery:
self.query_prompt_string = b'\x5C\x69\x6E\x66\x6F\x5C'
- elif self.option.engine == 'unreal2':
+ elif self.option.engine in unreal2query:
self.query_prompt_string = b'\x79\x00\x00\x00\x00'
+ elif self.option.engine in twquery:
+ self.query_prompt_string = b"\x04\x00\x00\xff\xff\xff\xff\x05" + bytearray(511)
self.connected = False
self.response = None
@@ -104,7 +116,7 @@ if __name__ == '__main__':
action='store',
dest='engine',
default=False,
- help='Engine type: avalanche2.0 avalanche3.0 goldsource idtech2 idtech3 ioquake3 iw2.0 iw3.0 madness quake quakelive realvirtuality refracto source spark starbound unity3d unreal unreal2 unreal4 wurm.'
+ help='Engine type: protocol-valve protocol-quake3 protocol-quake3 protocol-gamespy1 protocol-unreal2 minecraft minecraftbe jc2mp mumbleping teeworlds'
)
parser.add_option(
'-v', '--verbose',
diff --git a/lgsm/functions/update_factorio.sh b/lgsm/functions/update_factorio.sh
index fc79cde2d..584fec4ae 100644
--- a/lgsm/functions/update_factorio.sh
+++ b/lgsm/functions/update_factorio.sh
@@ -6,7 +6,7 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_update_factorio_dl(){
fn_fetch_file "https://factorio.com/get-download/${downloadbranch}/headless/${factorioarch}" "${tmpdir}" "factorio_headless_${factorioarch}-${remotebuild}.tar.xz"
@@ -43,7 +43,7 @@ fn_update_factorio_localbuild(){
fn_update_factorio_remotebuild(){
# Gets remote build info.
- remotebuild=$(${curlpath} -s "https://factorio.com/get-download/${downloadbranch}/headless/${factorioarch}" | grep -o '[0-9]\.[0-9]\{1,\}\.[0-9]\{1,\}' | head -1)
+ remotebuild=$(curl -s "https://factorio.com/get-download/${downloadbranch}/headless/${factorioarch}" | grep -o '[0-9]\.[0-9]\{1,\}\.[0-9]\{1,\}' | head -1)
if [ "${installer}" != "1" ]; then
fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
# Checks if remotebuild variable has been set.
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index e75a38dcc..1676443a1 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/lgsm/functions/update_minecraft.sh
@@ -6,11 +6,11 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_update_minecraft_dl(){
- latestmcreleaselink=$(${curlpath} -s "https://launchermeta.mojang.com/mc/game/version_manifest.json" | jq -r '.latest.release as $latest | .versions[] | select(.id == $latest) | .url')
- latestmcbuildurl=$(${curlpath} -s "${latestmcreleaselink}" | jq -r '.downloads.server.url')
+ latestmcreleaselink=$(curl -s "https://launchermeta.mojang.com/mc/game/version_manifest.json" | jq -r '.latest.release as $latest | .versions[] | select(.id == $latest) | .url')
+ latestmcbuildurl=$(curl -s "${latestmcreleaselink}" | jq -r '.downloads.server.url')
fn_fetch_file "${latestmcbuildurl}" "${tmpdir}" "minecraft_server.${remotebuild}.jar"
echo -e "copying to ${serverfiles}...\c"
cp "${tmpdir}/minecraft_server.${remotebuild}.jar" "${serverfiles}/minecraft_server.jar"
@@ -64,7 +64,7 @@ fn_update_minecraft_localbuild(){
fi
if [ -z "${localbuild}" ]; then
- localbuild=$(cat "${serverfiles}/logs/latest.log" 2> /dev/null | grep version | grep -Eo '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
+ localbuild=$(grep version "${serverfiles}/logs/latest.log" | grep -Eo '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
fi
if [ -z "${localbuild}" ]; then
@@ -98,7 +98,7 @@ fn_update_minecraft_localbuild(){
fn_update_minecraft_remotebuild(){
# Gets remote build info.
- remotebuild=$(${curlpath} -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.release')
+ remotebuild=$(curl -s "https://launchermeta.${remotelocation}/mc/game/version_manifest.json" | jq -r '.latest.release')
if [ "${installer}" != "1" ]; then
fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
# Checks if remotebuild variable has been set.
diff --git a/lgsm/functions/update_minecraft_bedrock.sh b/lgsm/functions/update_minecraft_bedrock.sh
new file mode 100644
index 000000000..bf4b6f5d1
--- /dev/null
+++ b/lgsm/functions/update_minecraft_bedrock.sh
@@ -0,0 +1,172 @@
+#!/bin/bash
+# LinuxGSM update_minecraft_bedrock.sh function
+# Author: Daniel Gibbs
+# Website: https://linuxgsm.com
+# Description: Handles updating of Minecraft Bedrock servers.
+
+local commandname="UPDATE"
+local commandaction="Update"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
+fn_update_minecraft_dl(){
+ latestmcbuildurl=$(curl -s "https://www.minecraft.net/en-us/download/server/bedrock/" | grep -o 'https://minecraft.azureedge.net/bin-linux/[^"]*zip')
+ fn_fetch_file "${latestmcbuildurl}" "${tmpdir}" "bedrock_server.${remotebuild}.zip"
+ echo -e "Extracting to ${serverfiles}...\c"
+ if [ "${installer}" == "1" ]; then
+ unzip -oq "${tmpdir}/bedrock_server.${remotebuild}.zip" -x "server.properties" -d "${serverfiles}"
+ else
+ unzip -oq "${tmpdir}/bedrock_server.${remotebuild}.zip" -x "permissions.json" "server.properties" "whitelist.json" -d "${serverfiles}"
+ fi
+ local exitcode=$?
+ if [ "${exitcode}" == "0" ]; then
+ fn_print_ok_eol_nl
+ fn_script_log_pass "Extracting to ${serverfiles}"
+ chmod u+x "${serverfiles}/bedrock_server"
+ fn_clear_tmp
+ else
+ fn_print_fail_eol_nl
+ fn_script_log_fatal "Extracting to ${serverfiles}"
+ core_exit.sh
+ fi
+}
+
+fn_update_minecraft_localbuild(){
+ # Gets local build info.
+ fn_print_dots "Checking for update: ${remotelocation}: checking local build"
+ # Uses log file to gather info.
+ # Log is generated and cleared on startup but filled on shutdown.
+
+ localbuild=$(grep Version $(ls -tr "${consolelogdir}"/* 2>/dev/null) | tail -1 | sed 's/.*Version //')
+
+ if [ -z "${localbuild}" ]; then
+ fn_print_error "Checking for update: ${remotelocation}: checking local build"
+ fn_print_error_nl "Checking for update: ${remotelocation}: checking local build: no log files containing version info"
+ fn_script_log_error "No log files containing version info"
+ fn_print_info_nl "Checking for update: ${remotelocation}: checking local build: forcing server restart"
+ fn_script_log_info "Forcing server restart"
+
+ check_status.sh
+ if [ "${status}" != "0" ]; then
+ exitbypass=1
+ command_stop.sh
+ else
+ exitbypass=1
+ command_start.sh
+ sleep 3
+ exitbypass=1
+ command_stop.sh
+ fi
+ fi
+
+ if [ -z "${localbuild}" ]; then
+ localbuild=$(grep Version $(ls -tr "${consolelogdir}"/* 2>/dev/null) | tail -1 | sed 's/.*Version //')
+ fi
+
+ if [ -z "${localbuild}" ]; then
+ localbuild="0"
+ fn_print_error "Checking for update: ${remotelocation}: waiting for local build: missing local build info"
+ fn_script_log_error "Missing local build info"
+ fn_script_log_error "Set localbuild to 0"
+ else
+ fn_print_ok "Checking for update: ${remotelocation}: checking local build"
+ fn_script_log_pass "Checking local build"
+ fi
+}
+
+fn_update_minecraft_remotebuild(){
+ # Gets remote build info.
+ remotebuild=$(curl -s "https://www.minecraft.net/en-us/download/server/bedrock/" | grep -o 'https://minecraft.azureedge.net/bin-linux/[^"]*' | sed 's/.*\///' | grep -Eo "[.0-9]+[0-9]")
+ if [ "${installer}" != "1" ]; then
+ fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
+ # Checks if remotebuild variable has been set.
+ if [ -z "${remotebuild}" ]||[ "${remotebuild}" == "null" ]; then
+ fn_print_fail "Checking for update: ${remotelocation}: checking remote build"
+ fn_script_log_fatal "Checking remote build"
+ core_exit.sh
+ else
+ fn_print_ok "Checking for update: ${remotelocation}: checking remote build"
+ fn_script_log_pass "Checking remote build"
+ fi
+ else
+ # Checks if remotebuild variable has been set.
+ if [ -z "${remotebuild}" ]||[ "${remotebuild}" == "null" ]; then
+ fn_print_failure "Unable to get remote build"
+ fn_script_log_fatal "Unable to get remote build"
+ core_exit.sh
+ fi
+ fi
+}
+
+fn_update_minecraft_compare(){
+ # Removes dots so if statement can compare version numbers.
+ fn_print_dots "Checking for update: ${remotelocation}"
+ localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]')
+ remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]')
+ if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then
+ fn_print_ok_nl "Checking for update: ${remotelocation}"
+ echo -en "\n"
+ echo -e "Update available"
+ echo -e "* Local build: ${red}${localbuild}${default}"
+ echo -e "* Remote build: ${green}${remotebuild}${default}"
+ fn_script_log_info "Update available"
+ fn_script_log_info "Local build: ${localbuild}"
+ fn_script_log_info "Remote build: ${remotebuild}"
+ fn_script_log_info "${localbuild} > ${remotebuild}"
+ fn_sleep_time
+ echo -en "\n"
+ echo -en "applying update.\r"
+ sleep 1
+ echo -en "applying update..\r"
+ sleep 1
+ echo -en "applying update...\r"
+ sleep 1
+ echo -en "\n"
+
+ unset updateonstart
+
+ check_status.sh
+ # If server stopped.
+ if [ "${status}" == "0" ]; then
+ exitbypass=1
+ fn_update_minecraft_dl
+ exitbypass=1
+ command_start.sh
+ exitbypass=1
+ command_stop.sh
+ # If server started.
+ else
+ exitbypass=1
+ command_stop.sh
+ exitbypass=1
+ fn_update_minecraft_dl
+ exitbypass=1
+ command_start.sh
+ fi
+ alert="update"
+ alert.sh
+ else
+ fn_print_ok_nl "Checking for update: ${remotelocation}"
+ echo -en "\n"
+ echo -e "No update available"
+ echo -e "* Local build: ${green}${localbuild}${default}"
+ echo -e "* Remote build: ${green}${remotebuild}${default}"
+ fn_script_log_info "No update available"
+ fn_script_log_info "Local build: ${localbuild}"
+ fn_script_log_info "Remote build: ${remotebuild}"
+ fi
+}
+
+# The location where the builds are checked and downloaded.
+remotelocation="minecraft.net"
+
+if [ "${installer}" == "1" ]; then
+ fn_update_minecraft_remotebuild
+ fn_update_minecraft_dl
+else
+ check_status.sh
+ fn_print_dots "Checking for update: ${remotelocation}"
+ fn_script_log_info "Checking for update: ${remotelocation}"
+ fn_update_minecraft_localbuild
+ fn_update_minecraft_remotebuild
+ fn_update_minecraft_compare
+fi
diff --git a/lgsm/functions/update_mta.sh b/lgsm/functions/update_mta.sh
index 95461ab04..879ca1409 100644
--- a/lgsm/functions/update_mta.sh
+++ b/lgsm/functions/update_mta.sh
@@ -6,7 +6,7 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_update_mta_dl(){
fn_fetch_file "http://linux.mtasa.com/dl/multitheftauto_linux_x64.tar.gz" "${tmpdir}" "multitheftauto_linux_x64.tar.gz"
@@ -99,9 +99,9 @@ fn_update_mta_localbuild(){
fn_update_mta_remotebuild(){
# Gets remote build info.
- majorversion="$(curl -s https://raw.githubusercontent.com/multitheftauto/mtasa-blue/master/Server/version.h | grep "#define MTASA_VERSION_MAJOR" | awk '{ print $3 }' | sed 's/\r//g')"
- minorversion="$(curl -s https://raw.githubusercontent.com/multitheftauto/mtasa-blue/master/Server/version.h | grep "#define MTASA_VERSION_MINOR" | awk '{ print $3 }' | sed 's/\r//g')"
- maintenanceversion="$(curl -s https://raw.githubusercontent.com/multitheftauto/mtasa-blue/master/Server/version.h | grep "#define MTASA_VERSION_MAINTENANCE" | awk '{ print $3 }' | sed 's/\r//g')"
+ majorversion=$(curl -s https://raw.githubusercontent.com/multitheftauto/mtasa-blue/master/Server/version.h | grep "#define MTASA_VERSION_MAJOR" | awk '{ print $3 }' | sed 's/\r//g')
+ minorversion=$(curl -s https://raw.githubusercontent.com/multitheftauto/mtasa-blue/master/Server/version.h | grep "#define MTASA_VERSION_MINOR" | awk '{ print $3 }' | sed 's/\r//g')
+ maintenanceversion=$(curl -s https://raw.githubusercontent.com/multitheftauto/mtasa-blue/master/Server/version.h | grep "#define MTASA_VERSION_MAINTENANCE" | awk '{ print $3 }' | sed 's/\r//g')
remotebuild="${majorversion}.${minorversion}.${maintenanceversion}"
if [ "${installer}" != "1" ]; then
fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh
index 9dd504ad0..0f33c1900 100644
--- a/lgsm/functions/update_mumble.sh
+++ b/lgsm/functions/update_mumble.sh
@@ -6,7 +6,7 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_update_mumble_dl(){
fn_fetch_file "https://github.com/mumble-voip/mumble/releases/download/${remotebuild}/murmur-static_${mumblearch}-${remotebuild}.tar.bz2" "${tmpdir}" "murmur-static_${mumblearch}-${remotebuild}.tar.bz2"
@@ -43,7 +43,7 @@ fn_update_mumble_localbuild(){
fn_update_mumble_remotebuild(){
# Gets remote build info.
- remotebuild=$(${curlpath} -s "https://api.github.com/repos/mumble-voip/mumble/releases/latest" | grep 'murmur-static_x86.*\.bz2"' | tail -1 | awk -F"/" '{ print $8 }')
+ remotebuild=$(curl -s "https://api.github.com/repos/mumble-voip/mumble/releases/latest" | grep 'murmur-static_x86.*\.bz2"' | tail -1 | awk -F"/" '{ print $8 }')
if [ "${installer}" != "1" ]; then
fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
# Checks if remotebuild variable has been set.
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index b27884513..38b7445de 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -6,22 +6,22 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_update_steamcmd_dl(){
info_config.sh
# Detects if unbuffer command is available for 32 bit distributions only.
info_distro.sh
- if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
+ if [ -n "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
unbuffer="stdbuf -i0 -o0 -e0"
fi
cd "${steamcmddir}" || exit
if [ "${appid}" == "90" ]; then
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta ${branch} +quit | tee -a "${lgsmlog}"
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
else
- ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} +quit | tee -a "${lgsmlog}"
+ ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
fi
fix.sh
}
diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh
index 18768997c..798137311 100644
--- a/lgsm/functions/update_ts3.sh
+++ b/lgsm/functions/update_ts3.sh
@@ -6,13 +6,13 @@
local commandname="UPDATE"
local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+local function_selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
fn_update_ts3_dl(){
if [ "${ts3arch}" == "amd64" ]; then
- remotebuildurl=$(${curlpath} -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86_64.mirrors."teamspeak.com"')
+ remotebuildurl=$(curl -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86_64.mirrors."teamspeak.com"')
elif [ "${ts3arch}" == "x86" ]; then
- remotebuildurl=$(${curlpath} -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86.mirrors."teamspeak.com"')
+ remotebuildurl=$(curl -s 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86.mirrors."teamspeak.com"')
fi
fn_fetch_file "${remotebuildurl}" "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${remotebuild}.tar.bz2"
fn_dl_extract "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${remotebuild}.tar.bz2" "${tmpdir}"
@@ -68,7 +68,7 @@ fn_update_ts3_localbuild(){
fi
if [ -z "${localbuild}" ]; then
- localbuild=$(cat $(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1) | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}")
+ localbuild=$(cat "$(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | tail -1)
fi
if [ -z "${localbuild}" ]; then
@@ -81,7 +81,7 @@ fn_update_ts3_localbuild(){
loopignore=1
fn_script_log_info "Waiting for local build to generate"
fi
- localbuild=$(cat $(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1) | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}")
+ localbuild=$(cat "$(find ./* -name "ts3server*_0.log" 2> /dev/null | sort | tail -1)" | grep -Eo "TeamSpeak 3 Server ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | grep -Eo "((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}" | tail -1)
if [ "${localbuild}" ]; then
break
fi
@@ -104,9 +104,9 @@ fn_update_ts3_localbuild(){
fn_update_ts3_remotebuild(){
# Gets remote build info.
if [ "${arch}" == "x86_64" ]; then
- remotebuild="$(${curlpath} -s "https://www.teamspeak.com/versions/server.json" | jq -r '.linux.x86_64.version')"
+ remotebuild=$(curl -s "https://www.teamspeak.com/versions/server.json" | jq -r '.linux.x86_64.version')
elif [ "${arch}" == "x86" ]; then
- remotebuild="$(${curlpath} -s "https://www.teamspeak.com/versions/server.json" | jq -r '.linux.x86.version')"
+ remotebuild=$(curl -s "https://www.teamspeak.com/versions/server.json" | jq -r '.linux.x86.version')
fi
if [ "${installer}" != "1" ]; then
fn_print_dots "Checking for update: ${remotelocation}: checking remote build"
diff --git a/linuxgsm.sh b/linuxgsm.sh
index d3e762851..60e407776 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -20,13 +20,12 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v19.11.0"
+version="v19.12.0"
shortname="core"
gameservername="core"
-rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
-selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-servicename="${selfname}"
-lockselfname=".${servicename}.lock"
+rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+lockselfname=".${selfname}.lock"
lgsmdir="${rootdir}/lgsm"
logdir="${rootdir}/log"
lgsmlogdir="${logdir}/lgsm"
@@ -52,7 +51,7 @@ githubbranch="master"
# Core function that is required first.
core_functions.sh(){
- functionfile="${FUNCNAME}"
+ functionfile="${FUNCNAME[0]}"
fn_bootstrap_fetch_file_github "lgsm/functions" "core_functions.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
}
@@ -71,14 +70,12 @@ fn_bootstrap_fetch_file(){
if [ ! -d "${local_filedir}" ]; then
mkdir -p "${local_filedir}"
fi
- # Defines curl path.
- curlpath=$(command -v curl 2>/dev/null)
# If curl exists download file.
- if [ "$(basename "${curlpath}")" == "curl" ]; then
+ if [ -n "$(command -v curl 2>/dev/null)" ]; then
# Trap to remove part downloaded files.
echo -en " fetching ${local_filename}...\c"
- curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+ curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
echo -e "FAIL"
@@ -103,6 +100,7 @@ fn_bootstrap_fetch_file(){
if [ -f "${local_filedir}/${local_filename}" ]; then
# Run file if run is set.
if [ "${run}" == "run" ]; then
+ # shellcheck source=/dev/null
source "${local_filedir}/${local_filename}"
fi
fi
@@ -127,14 +125,13 @@ fn_bootstrap_fetch_file_github(){
# Installer menu.
fn_print_center() {
- columns="$(tput cols)"
- line="$@"
+ columns=$(tput cols)
+ line="$*"
printf "%*s\n" $(( (${#line} + columns) / 2)) "${line}"
}
fn_print_horizontal(){
- char="${1:-=}"
- printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "${char}"
+ printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "="
}
# Bash menu.
@@ -237,7 +234,7 @@ fn_install_file(){
if [ -e "${local_filename}" ]; then
i=2
while [ -e "${local_filename}-${i}" ] ; do
- let i++
+ (( i++ ))
done
local_filename="${local_filename}-${i}"
fi
@@ -348,19 +345,24 @@ else
fi
fi
fi
+ # shellcheck source=/dev/null
source "${configdirserver}/_default.cfg"
# Load the common.cfg config. If missing download it.
if [ ! -f "${configdirserver}/common.cfg" ]; then
fn_fetch_config "lgsm/config-default/config-lgsm" "common-template.cfg" "${configdirserver}" "common.cfg" "${chmodx}" "nochmodx" "norun" "noforcedl" "nomd5"
+ # shellcheck source=/dev/null
source "${configdirserver}/common.cfg"
else
+ # shellcheck source=/dev/null
source "${configdirserver}/common.cfg"
fi
# Load the instance.cfg config. If missing download it.
if [ ! -f "${configdirserver}/${servicename}.cfg" ]; then
fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${servicename}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
+ # shellcheck source=/dev/null
source "${configdirserver}/${servicename}.cfg"
else
+ # shellcheck source=/dev/null
source "${configdirserver}/${servicename}.cfg"
fi
diff --git a/tests/tests_defaultcfg/defaultcfg_0.txt b/tests/tests_defaultcfg/defaultcfg_0.txt
new file mode 100644
index 000000000..ac95a5715
--- /dev/null
+++ b/tests/tests_defaultcfg/defaultcfg_0.txt
@@ -0,0 +1,54 @@
+stats
+displayip
+postalert
+postdays
+posttarget
+discordalert
+discordwebhook
+emailalert
+email
+emailfrom
+iftttalert
+ifttttoken
+iftttevent
+mailgunalert
+mailguntoken
+mailgundomain
+mailgunemailfrom
+mailgunemail
+pushbulletalert
+pushbullettoken
+channeltag
+pushoveralert
+pushovertoken
+slackalert
+slackwebhook
+telegramalert
+telegramtoken
+telegramchatid
+curlcustomstring
+maxbackups
+maxbackupdays
+stoponbackup
+consolelogging
+logdays
+querydelay
+ansi
+sleeptime
+stopmode
+gamename
+engine
+glibc
+systemdir
+executabledir
+executable
+backupdir
+logdir
+lgsmlogdir
+consolelogdir
+lgsmlog
+consolelog
+alertlog
+postdetailslog
+lgsmlogdate
+consolelogdate
diff --git a/tests/tests_defaultcfg/defaultcfg_1.txt b/tests/tests_defaultcfg/defaultcfg_1.txt
new file mode 100644
index 000000000..9a4df6c0b
--- /dev/null
+++ b/tests/tests_defaultcfg/defaultcfg_1.txt
@@ -0,0 +1,51 @@
+##################################
+######## 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 Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+#### LinuxGSM Settings ####
+## Notification Alerts
+# (on|off)
+# Display IP | https://docs.linuxgsm.com/alerts#display-ip
+# More info | https://docs.linuxgsm.com/alerts#more-info
+# Discord Alerts | https://docs.linuxgsm.com/alerts/discord
+# Email Alerts | https://docs.linuxgsm.com/alerts/email
+# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt
+# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun
+# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet
+# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover
+# Slack Alerts | https://docs.linuxgsm.com/alerts/slack
+# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram
+# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring".
+# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need
+# any custom string in curl - simple ignore this parameter.
+## Backup | https://docs.linuxgsm.com/commands/backup
+## Logging | https://docs.linuxgsm.com/features/logging
+## Monitor | https://docs.linuxgsm.com/commands/monitor
+# Query delay time
+## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors
+#### Advanced Settings ####
+## Message Display Time | https://docs.linuxgsm.com/features/message-display-time
+## 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: Gold Source
+# 10: Teamspeak 3
+## Game Server Details
+# Do not edit
+#### Directories ####
+# Edit with care
+## Game Server Directories
+## Backup Directory
+## Logging Directories
+## Logs Naming
diff --git a/tests/tests_defaultcfg/tests_defaultcfg.sh b/tests/tests_defaultcfg/tests_defaultcfg.sh
new file mode 100644
index 000000000..5e139fb4d
--- /dev/null
+++ b/tests/tests_defaultcfg/tests_defaultcfg.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+echo -e ""
+echo -e "0.1 - Full comparison Output"
+echo -e "=================================================================="
+echo -e "Description:"
+echo -e "test checks that vars present in ALL _default.cfg files are correct."
+echo -e ""
+find "lgsm/config-default/config-lgsm/" ! -name '*template.cfg' -name "*.cfg" -type f -print0 |
+while IFS= read -r -d $'\0' line; do
+ grep = ${line} | cut -f1 -d"=" > defaultcfgtemp.txt
+ diffoutput=$(diff tests/tests_defaultcfg/defaultcfg_0.txt defaultcfgtemp.txt)
+ if [ "${diffoutput}" ]; then
+ echo "File with errors:"
+ echo "${line}"
+ echo -e "================================="
+ echo "${diffoutput}"
+ echo ""
+ fi
+ rm defaultcfgtemp.txt
+done
+
+echo -e ""
+echo -e "1.0 - Master Comparison"
+echo -e "=================================================================="
+echo -e "Description:"
+echo -e "test checks that vars present in ALL _default.cfg files are correct."
+echo -e ""
+find lgsm/config-default/config-lgsm/ ! -name '*template.cfg' -name "*.cfg" -type f -print0 |
+while IFS= read -r -d $'\0' line; do
+ grep "=" "${line}" | cut -f1 -d"=" > defaultcfgtemp.txt
+ diffoutput=$(diff tests/tests_defaultcfg/defaultcfg_0.txt defaultcfgtemp.txt | grep '^<')
+ if [ "${diffoutput}" ]; then
+ echo "File with errors:"
+ echo "${line}"
+ echo -e "================================="
+ echo "${diffoutput}"
+ echo ""
+ fi
+ rm defaultcfgtemp.txt
+done
+
+echo -e ""
+echo -e "2.0 - Check Comment"
+echo -e "=================================================================="
+echo -e "Description:"
+echo -e "test checks that comments in ALL _default.cfg files are correct."
+echo -e ""
+find lgsm/config-default/config-lgsm/ ! -name '*template.cfg' -name "*.cfg" -type f -print0 |
+while IFS= read -r -d $'\0' line; do
+ grep "#" "${line}" > defaultcfgtemp.txt
+ diffoutput=$(diff tests/tests_defaultcfg/defaultcfg_1.txt defaultcfgtemp.txt | grep '^<')
+ if [ "${diffoutput}" ]; then
+ echo "File with errors:"
+ echo "${line}"
+ echo -e "================================="
+ echo "${diffoutput}"
+ echo ""
+ fi
+ rm defaultcfgtemp.txt
+done
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index 2496cbcda..97aea9caa 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -23,10 +23,9 @@ fi
version="v19.9.0"
shortname="fctr"
gameservername="fctrserver"
-rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
-selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-servicename="${selfname}"
-lockselfname=".${servicename}.lock"
+rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+lockselfname=".${selfname}.lock"
lgsmdir="${rootdir}/lgsm"
logdir="${rootdir}/log"
lgsmlogdir="${logdir}/lgsm"
@@ -48,7 +47,7 @@ if [ ! -v TRAVIS ]; then
TRAVIS_BRANCH="develop"
TRAVIS_BUILD_DIR="${rootdir}"
else
- servicename="travis"
+ selfname="travis"
travistest="1"
fi
@@ -61,14 +60,12 @@ githubbranch="${TRAVIS_BRANCH}"
# Core function that is required first.
core_functions.sh(){
- functionfile="${FUNCNAME}"
+ functionfile="${FUNCNAME[0]}"
fn_bootstrap_fetch_file_github "lgsm/functions" "core_functions.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
}
# Bootstrap
# Fetches the core functions required before passed off to core_dl.sh.
-
-# Fetches core functions.
fn_bootstrap_fetch_file(){
remote_fileurl="${1}"
local_filedir="${2}"
@@ -82,14 +79,12 @@ fn_bootstrap_fetch_file(){
if [ ! -d "${local_filedir}" ]; then
mkdir -p "${local_filedir}"
fi
- # Defines curl path.
- curlpath=$(command -v curl 2>/dev/null)
# If curl exists download file.
- if [ "$(basename "${curlpath}")" == "curl" ]; then
+ if [ -n "$(command -v curl 2>/dev/null)" ]; then
# Trap to remove part downloaded files.
echo -en " fetching ${local_filename}...\c"
- curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+ curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
echo -e "FAIL"
@@ -114,6 +109,7 @@ fn_bootstrap_fetch_file(){
if [ -f "${local_filedir}/${local_filename}" ]; then
# Run file if run is set.
if [ "${run}" == "run" ]; then
+ # shellcheck source=/dev/null
source "${local_filedir}/${local_filename}"
fi
fi
@@ -138,14 +134,13 @@ fn_bootstrap_fetch_file_github(){
# Installer menu.
fn_print_center() {
- columns="$(tput cols)"
- line="$@"
+ columns=$(tput cols)
+ line="$*"
printf "%*s\n" $(( (${#line} + columns) / 2)) "${line}"
}
fn_print_horizontal(){
- char="${1:-=}"
- printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "${char}"
+ printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "="
}
# Bash menu.
@@ -248,7 +243,7 @@ fn_install_file(){
if [ -e "${local_filename}" ]; then
i=2
while [ -e "${local_filename}-${i}" ] ; do
- let i++
+ (( i++ ))
done
local_filename="${local_filename}-${i}"
fi
@@ -283,15 +278,15 @@ if [ "$(whoami)" == "root" ]; then
fi
fi
-# Download the latest serverlist. This is the complete list of all supported servers.
-fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5"
-if [ ! -f "${serverlist}" ]; then
- echo -e "[ FAIL ] serverlist.csv could not be loaded."
- exit 1
-fi
-
# LinuxGSM installer mode.
if [ "${shortname}" == "core" ]; then
+ # Download the latest serverlist. This is the complete list of all supported servers.
+ fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5"
+ if [ ! -f "${serverlist}" ]; then
+ echo -e "[ FAIL ] serverlist.csv could not be loaded."
+ exit 1
+ fi
+
if [ "${userinput}" == "list" ]||[ "${userinput}" == "l" ]; then
{
tail -n +2 "${serverlist}" | awk -F "," '{print $2 "\t" $3}'
@@ -368,11 +363,11 @@ else
source "${configdirserver}/common.cfg"
fi
# Load the instance.cfg config. If missing download it.
- if [ ! -f "${configdirserver}/${servicename}.cfg" ]; then
- fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${servicename}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
- source "${configdirserver}/${servicename}.cfg"
+ if [ ! -f "${configdirserver}/${selfname}.cfg" ]; then
+ fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${selfname}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
+ source "${configdirserver}/${selfname}.cfg"
else
- source "${configdirserver}/${servicename}.cfg"
+ source "${configdirserver}/${selfname}.cfg"
fi
# Load the linuxgsm.sh in to tmpdir. If missing download it.
@@ -383,7 +378,7 @@ 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 [ -z "${travistest}" ]; then
+ if [ -z "${travistest}" ]; then
getopt=$1
core_getopt.sh
fi
@@ -483,6 +478,8 @@ fn_test_result_na(){
fn_print_fail_nl "TEST N/A"
}
+sleeptime="0"
+
echo -e "================================="
echo -e "Travis CI Tests"
echo -e "Linux Game Server Manager"
@@ -1014,6 +1011,8 @@ echo -e "Using: ${gamename}"
echo -e "================================="
requiredstatus="OFFLINE"
fn_setstatus
-fn_print_info "Tidying up directories."
-rm -rfv "${serverfiles}"
+if [ ! -v TRAVIS ]; then
+ fn_print_info "Tidying up directories."
+ rm -rfv "${serverfiles}"
+fi
core_exit.sh
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index 973ab7eb2..b80af6554 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -23,10 +23,9 @@ fi
version="v19.9.0"
shortname="jc2"
gameservername="jc2server"
-rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
-selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-servicename="${selfname}"
-lockselfname=".${servicename}.lock"
+rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+lockselfname=".${selfname}.lock"
lgsmdir="${rootdir}/lgsm"
logdir="${rootdir}/log"
lgsmlogdir="${logdir}/lgsm"
@@ -48,7 +47,7 @@ if [ ! -v TRAVIS ]; then
TRAVIS_BRANCH="develop"
TRAVIS_BUILD_DIR="${rootdir}"
else
- servicename="travis"
+ selfname="travis"
travistest="1"
fi
@@ -61,7 +60,7 @@ githubbranch="${TRAVIS_BRANCH}"
# Core function that is required first.
core_functions.sh(){
- functionfile="${FUNCNAME}"
+ functionfile="${FUNCNAME[0]}"
fn_bootstrap_fetch_file_github "lgsm/functions" "core_functions.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
}
@@ -80,14 +79,12 @@ fn_bootstrap_fetch_file(){
if [ ! -d "${local_filedir}" ]; then
mkdir -p "${local_filedir}"
fi
- # Defines curl path.
- curlpath=$(command -v curl 2>/dev/null)
# If curl exists download file.
- if [ "$(basename "${curlpath}")" == "curl" ]; then
+ if [ "$(command -v curl 2>/dev/null)" ]; then
# Trap to remove part downloaded files.
echo -en " fetching ${local_filename}...\c"
- curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+ curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
echo -e "FAIL"
@@ -112,6 +109,7 @@ fn_bootstrap_fetch_file(){
if [ -f "${local_filedir}/${local_filename}" ]; then
# Run file if run is set.
if [ "${run}" == "run" ]; then
+ # shellcheck source=/dev/null
source "${local_filedir}/${local_filename}"
fi
fi
@@ -136,14 +134,13 @@ fn_bootstrap_fetch_file_github(){
# Installer menu.
fn_print_center() {
- columns="$(tput cols)"
- line="$@"
+ columns=$(tput cols)
+ line="$*"
printf "%*s\n" $(( (${#line} + columns) / 2)) "${line}"
}
fn_print_horizontal(){
- char="${1:-=}"
- printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "${char}"
+ printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "="
}
# Bash menu.
@@ -366,11 +363,11 @@ else
source "${configdirserver}/common.cfg"
fi
# Load the instance.cfg config. If missing download it.
- if [ ! -f "${configdirserver}/${servicename}.cfg" ]; then
- fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${servicename}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
- source "${configdirserver}/${servicename}.cfg"
+ if [ ! -f "${configdirserver}/${selfname}.cfg" ]; then
+ fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${selfname}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
+ source "${configdirserver}/${selfname}.cfg"
else
- source "${configdirserver}/${servicename}.cfg"
+ source "${configdirserver}/${selfname}.cfg"
fi
# Load the linuxgsm.sh in to tmpdir. If missing download it.
@@ -481,6 +478,8 @@ fn_test_result_na(){
fn_print_fail_nl "TEST N/A"
}
+sleeptime="0"
+
echo -e "================================="
echo -e "Travis CI Tests"
echo -e "Linux Game Server Manager"
@@ -1173,6 +1172,8 @@ echo -e "Using: ${gamename}"
echo -e "================================="
requiredstatus="OFFLINE"
fn_setstatus
-fn_print_info "Tidying up directories."
-rm -rfv "${serverfiles}"
+if [ ! -v TRAVIS ]; then
+ fn_print_info "Tidying up directories."
+ rm -rfv "${serverfiles}"
+fi
core_exit.sh
diff --git a/tests/tests_kcov.sh b/tests/tests_kcov.sh
new file mode 100644
index 000000000..743e2fda2
--- /dev/null
+++ b/tests/tests_kcov.sh
@@ -0,0 +1,14 @@
+#!/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 0ddb2143b..304e125eb 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -23,10 +23,9 @@ fi
version="v19.9.0"
shortname="mc"
gameservername="mcserver"
-rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
-selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-servicename="${selfname}"
-lockselfname=".${servicename}.lock"
+rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+lockselfname=".${selfname}.lock"
lgsmdir="${rootdir}/lgsm"
logdir="${rootdir}/log"
lgsmlogdir="${logdir}/lgsm"
@@ -48,7 +47,7 @@ if [ ! -v TRAVIS ]; then
TRAVIS_BRANCH="develop"
TRAVIS_BUILD_DIR="${rootdir}"
else
- servicename="travis"
+ selfname="travis"
travistest="1"
fi
@@ -61,7 +60,7 @@ githubbranch="${TRAVIS_BRANCH}"
# Core function that is required first.
core_functions.sh(){
- functionfile="${FUNCNAME}"
+ functionfile="${FUNCNAME[0]}"
fn_bootstrap_fetch_file_github "lgsm/functions" "core_functions.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
}
@@ -80,14 +79,12 @@ fn_bootstrap_fetch_file(){
if [ ! -d "${local_filedir}" ]; then
mkdir -p "${local_filedir}"
fi
- # Defines curl path.
- curlpath=$(command -v curl 2>/dev/null)
# If curl exists download file.
- if [ "$(basename "${curlpath}")" == "curl" ]; then
+ if [ -n "$(command -v curl 2>/dev/null)" ]; then
# Trap to remove part downloaded files.
echo -en " fetching ${local_filename}...\c"
- curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+ curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
echo -e "FAIL"
@@ -112,6 +109,7 @@ fn_bootstrap_fetch_file(){
if [ -f "${local_filedir}/${local_filename}" ]; then
# Run file if run is set.
if [ "${run}" == "run" ]; then
+ # shellcheck source=/dev/null
source "${local_filedir}/${local_filename}"
fi
fi
@@ -136,14 +134,13 @@ fn_bootstrap_fetch_file_github(){
# Installer menu.
fn_print_center() {
- columns="$(tput cols)"
- line="$@"
+ columns=$(tput cols)
+ line="$*"
printf "%*s\n" $(( (${#line} + columns) / 2)) "${line}"
}
fn_print_horizontal(){
- char="${1:-=}"
- printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "${char}"
+ printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "="
}
# Bash menu.
@@ -366,11 +363,11 @@ else
source "${configdirserver}/common.cfg"
fi
# Load the instance.cfg config. If missing download it.
- if [ ! -f "${configdirserver}/${servicename}.cfg" ]; then
- fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${servicename}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
- source "${configdirserver}/${servicename}.cfg"
+ if [ ! -f "${configdirserver}/${selfname}.cfg" ]; then
+ fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${selfname}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
+ source "${configdirserver}/${selfname}.cfg"
else
- source "${configdirserver}/${servicename}.cfg"
+ source "${configdirserver}/${selfname}.cfg"
fi
# Load the linuxgsm.sh in to tmpdir. If missing download it.
@@ -481,6 +478,8 @@ fn_test_result_na(){
fn_print_fail_nl "TEST N/A"
}
+sleeptime="0"
+
echo -e "================================="
echo -e "Travis CI Tests"
echo -e "Linux Game Server Manager"
@@ -1059,6 +1058,8 @@ echo -e "Using: ${gamename}"
echo -e "================================="
requiredstatus="OFFLINE"
fn_setstatus
-fn_print_info "Tidying up directories."
-rm -rfv "${serverfiles}"
+if [ ! -v TRAVIS ]; then
+ fn_print_info "Tidying up directories."
+ rm -rfv "${serverfiles}"
+fi
core_exit.sh
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index 3df1b4a96..f1544c472 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -23,10 +23,9 @@ fi
version="v19.9.0"
shortname="ts3"
gameservername="ts3server"
-rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
-selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-servicename="${selfname}"
-lockselfname=".${servicename}.lock"
+rootdir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
+selfname=$(basename "$(readlink -f "${BASH_SOURCE[0]}")")
+lockselfname=".${selfname}.lock"
lgsmdir="${rootdir}/lgsm"
logdir="${rootdir}/log"
lgsmlogdir="${logdir}/lgsm"
@@ -48,7 +47,7 @@ if [ ! -v TRAVIS ]; then
TRAVIS_BRANCH="develop"
TRAVIS_BUILD_DIR="${rootdir}"
else
- servicename="travis"
+ selfname="travis"
travistest="1"
fi
@@ -61,7 +60,7 @@ githubbranch="${TRAVIS_BRANCH}"
# Core function that is required first.
core_functions.sh(){
- functionfile="${FUNCNAME}"
+ functionfile="${FUNCNAME[0]}"
fn_bootstrap_fetch_file_github "lgsm/functions" "core_functions.sh" "${functionsdir}" "chmodx" "run" "noforcedl" "nomd5"
}
@@ -80,14 +79,12 @@ fn_bootstrap_fetch_file(){
if [ ! -d "${local_filedir}" ]; then
mkdir -p "${local_filedir}"
fi
- # Defines curl path.
- curlpath=$(command -v curl 2>/dev/null)
# If curl exists download file.
- if [ "$(basename "${curlpath}")" == "curl" ]; then
+ if [ -n "$(command -v curl 2>/dev/null)" ]; then
# Trap to remove part downloaded files.
echo -en " fetching ${local_filename}...\c"
- curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+ curlcmd=$(curl -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
local exitcode=$?
if [ ${exitcode} -ne 0 ]; then
echo -e "FAIL"
@@ -112,6 +109,7 @@ fn_bootstrap_fetch_file(){
if [ -f "${local_filedir}/${local_filename}" ]; then
# Run file if run is set.
if [ "${run}" == "run" ]; then
+ # shellcheck source=/dev/null
source "${local_filedir}/${local_filename}"
fi
fi
@@ -136,14 +134,13 @@ fn_bootstrap_fetch_file_github(){
# Installer menu.
fn_print_center() {
- columns="$(tput cols)"
- line="$@"
+ columns=$(tput cols)
+ line="$*"
printf "%*s\n" $(( (${#line} + columns) / 2)) "${line}"
}
fn_print_horizontal(){
- char="${1:-=}"
- printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "${char}"
+ printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' "="
}
# Bash menu.
@@ -246,7 +243,7 @@ fn_install_file(){
if [ -e "${local_filename}" ]; then
i=2
while [ -e "${local_filename}-${i}" ] ; do
- let i++
+ (( i++ ))
done
local_filename="${local_filename}-${i}"
fi
@@ -366,11 +363,11 @@ else
source "${configdirserver}/common.cfg"
fi
# Load the instance.cfg config. If missing download it.
- if [ ! -f "${configdirserver}/${servicename}.cfg" ]; then
- fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${servicename}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
- source "${configdirserver}/${servicename}.cfg"
+ if [ ! -f "${configdirserver}/${selfname}.cfg" ]; then
+ fn_fetch_config "lgsm/config-default/config-lgsm" "instance-template.cfg" "${configdirserver}" "${selfname}.cfg" "nochmodx" "norun" "noforcedl" "nomd5"
+ source "${configdirserver}/${selfname}.cfg"
else
- source "${configdirserver}/${servicename}.cfg"
+ source "${configdirserver}/${selfname}.cfg"
fi
# Load the linuxgsm.sh in to tmpdir. If missing download it.
@@ -481,6 +478,8 @@ fn_test_result_na(){
fn_print_fail_nl "TEST N/A"
}
+sleeptime="0"
+
echo -e "================================="
echo -e "Travis CI Tests"
echo -e "Linux Game Server Manager"
@@ -1012,6 +1011,8 @@ echo -e "Using: ${gamename}"
echo -e "================================="
requiredstatus="OFFLINE"
fn_setstatus
-fn_print_info "Tidying up directories."
-rm -rfv "${serverfiles}"
+if [ ! -v TRAVIS ]; then
+ fn_print_info "Tidying up directories."
+ rm -rfv "${serverfiles}"
+fi
core_exit.sh