diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2cadd7e54b..bcb1caf7f8 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -5,32 +5,34 @@
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.
## Table of Contents
-* [Contributing to LinuxGSM](#contributing-to-linuxgsm)
- * [Table of Contents](#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)
+ * [🎉 Bug/Enhancement Contributions 🐛](#bug-enhancement-contributions)
+ + [🐛Reporting Bugs](#reporting-bugs)
+ - [Before Submitting A Bug Report](#before-submitting-a-bug-report)
+ - [How Do I Submit A (Good) Bug Report?](#how-do-i-submit-a--good--bug-report-)
+ + [🎉Suggesting Features](#suggesting-features)
+ - [Before Submitting An Feature Suggestion](#before-submitting-an-feature-suggestion)
+ - [How Do I Submit A (Good) Feature Suggestion?](#how-do-i-submit-a--good--feature-suggestion-)
+ + [🎮 Game Server Requests](#game-server-requests)
+ - [Before Submitting a Game Server Request](#before-submitting-a-game-server-request)
+ - [How Do I Submit A (Good) Game Server Request?](#how-do-i-submit-a--good--game-server-request-)
+ + [🎮 Game Server Specific Issues](#game-server-specific-issues)
+ * [💻 Code Contributions](#code-contributions)
+ + [Pull Requests](#pull-requests)
+ - [Pull Request naming convention](#pull-request-naming-convention)
+ + [Testing](#testing)
+ - [Pull Request Status Checks](#pull-request-status-checks)
+ - [Test Environment](#test-environment)
+ + [:wine_glass: Styleguides](#-wine-glass--styleguides)
+ - [Git Commit Messages](#git-commit-messages)
+ - [BASH Styleguide](#bash-styleguide)
+ * [:blue_book: Document Contributions](#-blue-book--document-contributions)
+ + [Documentation Styleguide](#documentation-styleguide)
* [Issue and Pull Request Labels](#issue-and-pull-request-labels)
+
## Code of Conduct
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).
@@ -41,11 +43,11 @@ This project and everyone participating in it are governed by the [LinuxGSM Code
This section guides you through submitting a bug report for LinuxGSM. Following these guidelines help maintainers and the community understand your report 📝, reproduce the behaviour💻, and find any related reports 🔎.
-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.
+Before creating bug reports, please check [this list](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#before-submitting-a-bug-report) as you might find out that you don’t need to create one. When you are creating a bug report, please [include as many details as possible](https://github.com/GameServerManagers/linuxgsm/blob/master/CONTRIBUTING.md#how-do-i-submit-a-good-bug-report). Fill out [the required template]([https://github.com/GameServerManagers/LinuxGSM/issues/new/choose](https://github.com/GameServerManagers/LinuxGSM/issues/new/choose)), the information it asks for helps us resolve issues faster.
#### Before Submitting A Bug Report
-* **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 the [documentation](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.
@@ -83,19 +85,23 @@ Features are tracked as [GitHub issues](https://guides.github.com/features/issue
### 🎮 Game Server Requests
-This section guides you through submitting a game server request for LinuxGSM, Following these guidelines help maintainers and the community understand your game server request 📝
-
+This section guides you through submitting a game server request for LinuxGSM, Following these guidelines help maintainers and the community understand your game server request 📝.
#### Before Submitting a Game Server Request
-* **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.
+* **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.
+* **Check the game server is supported on Linux**, this does not include Wine servers which we do not support.
+#### How Do I Submit A (Good) Game Server Request?
+* The title should be as follows: **[Server Request] Game Name**
+* **Provide Steam App ID** if applicable
+* **Supply any documentation/how-to guides** for the game server.
### 🎮 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.
+LinuxGSM has no control over the development and limited knowledge of 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.
+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 should 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).
@@ -112,7 +118,7 @@ The process described here has several goals:
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)
+1. Follow all check-list 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
@@ -130,24 +136,24 @@ If applied, this commit will _your subject line here_
For example:
-* If applied, this commit will _refactor subsystem X for readability_
-* If applied, this commit will _update getting started documentation_
-* If applied, this commit will _remove deprecated methods_
-* If applied, this commit will _release version 1.0.0_
-* If applied, this commit will _merge pull request #123 from user/branch_
+* If applied, this commit will **refactor subsystem X for readability**
+* If applied, this commit will **update getting started documentation**
+* If applied, this commit will **remove deprecated methods**
+* If applied, this commit will **release version 1.0.0**
+* If applied, this commit will **merge pull request #123 from user/branch**
Notice how this doesn’t work for the other non-imperative forms:
-* If applied, this commit will _fixed bug with Y_
-* If applied, this commit will _change the behaviour of X_
-* If applied, this commit will _more fixes for broken stuff_
-* If applied, this commit will _sweet new API methods_
+* If applied, this commit will **fixed bug with Y**
+* If applied, this commit will **change the behaviour of X**
+* If applied, this commit will **more fixes for broken stuff**
+* If applied, this commit will **sweet new API methods**
-Below is an example of the subject line for a pull request.
+Below is an example of the subject line for a pull request:
-feat(alerts): add slack support to alerts
+**feat(alerts): add slack support to alerts**
-fix(csgoserver): remove SteamCMD auth requirement 32-bit workaround
+**fix(csgoserver): remove SteamCMD auth requirement 32-bit workaround**
### Testing
@@ -155,7 +161,7 @@ fix(csgoserver): remove SteamCMD auth requirement 32-bit workaround
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.
+It is recommended that you have a testing environment available to test your code during development. To test your own code you must change some variables within the `linuxgsm.sh` file. This will force the use of your own code branch.
```bash
## GitHub Branch Select
# Allows for the use of different function files
@@ -183,7 +189,7 @@ As well as code contributions it is possible to contribute by writing and improv
### 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.
+LinuxGSM has various documentation available to assist [users](https://docs.linuxgsm.com) and [developers](dev-docs.linuxgsm.com). 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
diff --git a/README.md b/README.md
index 2b0f05ec1d..7e8c789d30 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-
+
[![LinuxGSM](https://img.shields.io/badge/-LinuxGSM-2b2b2b.svg?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACsAAABACAYAAACDbo5ZAAAGD0lEQVR4AcWYa2wUVRvHz75c2vJ2disXoUBEVIioRAx%2BMIFA1IRwUS6KCCiIKBrvhEYiiGm5iBgk8QOGEgUUDYTttmVZWFr2UmwURS6iYAoCtmisElSsdHdbkT7%2BTzoNy%2BGc2dm54C%2F5Rdkz85x%2FZ86ZOXOYXYhIg3Phx%2FA4PAcv6f%2Btg5vhHJjP3EcZsgsshufJHH%2FAJbDztQ7aG35J1vgCXn%2BtgvrgEbLHYei9FmE3kDOUuh10OGwjZ7gEh7kZ9gNyllK3gnrg7%2BQs56DHjbCDyB0GuRF2ArnDeDfCziF3mO1G2FfJHRa4EXYpuUOxG2GXkzuUuBH2TXKH5W6ELSV3eM%2BNsOUk5yQcAY8p2uvgSPitor3MjbB1UOQXOFBvHwpbhPYWOExvL4SNUOQ7p4P2JTlzhOPmCu0vCu1PQpE2WOhk2MdJjk9y7HNwP1wEPUJbAcmZ6WTYrYolnifbxZBiibnFySHQCkUaLdY7C0V4%2FT5OhF1JcuIW6%2B0lOcvsBi2Ezao3j8Ov7Quwj52w60jNKIs1R5GatVaDDoEXSU4D7GSxbidYT3IuwjusFK0mNUVMwaZNNbl%2B%2F87hoVCom0HthaQmnG3QB0lNPcxlCvz%2B0GtlZTuorCxYYlA%2FDzbY%2FnrAgV3hCVLzCDMgEAi9wMMi9IIM%2FUwnNXWwi5mwRaSmmmXA798xq%2F3Khp420VeE1LyS6eQeBhttSXgzywCCToIUCOyYZvKLOWWwkdfd6ORVpGYJM0F5efDe9mEQHGty2BWTmhVGO4PNBmOoKzMBxmo%2FhD25dWvljSbD5hjMkb9gT9lJq63Mzi1bKkbjloc7xBWtwiRrDASCVRi%2FRxA8if%2BvrawMTzYI%2FACpeUv2KFFtDcUyTKilCHcis8G1Ga7wHpLzG8wVFs1K7jaeUKHZfIxmkj9%2FM4S9x9RGiMEudo0QbCVu9Xqn5PWEwLUk5%2FP0iaXac53I0kAH9Sau4m54lo%2FdTMfyekLYKQZ7ub34AbMMlmw5irC2VYTN0fuVMYMf8JHxJ7L7YYXAlSRnI2%2F8RtH4siTsDMz%2BZ5yS15OEXUxyDjGD1%2BvEq8MG16CDzY6JepKwT6geYbzxb0XjGMl7vwGSgzZIwo4nOa1M8Yr9Afb%2Fj8L21%2FsXaeaNZ2A6KTiEASph%2F0vF80cn4tokqu79fzfCUk2vfF4%2FFdFGEjGPHvg2yWrsDG%2F4%2BqpZB8jPOiXjWk0y5iXdM3XhKUvxBTA9UvHuvNPh%2Bzb%2BWj10z6nwuHWBbQFMvNCjKnn7qd1jS%2Fnx9VX3b6jC%2BbwOr5eMe3%2B83IcW4%2F3qgT%2BUTbA9srGaiHsn8AKiF6Ld%2FxF%2FOx6eeAJXabvK78MTTornNMd6XJTVR7%2Fj9bBjhFxV%2FMc1kJOAy2AeA%2FgrV4mFVDZFCqm8rEJ6qysCAWqK9iaztRJRbWXa4moFTELOav7jY%2FqAvoXp0Gc9NX7bIZl17%2FZl0rC1wRLeno0NvP%2B0CTcYNnS8wW6CtzNANaxzKqo9hRNOQ8rGo7tmSsMe2zWdt2frqVRcm5s2fofCgawDNHRNxnyfqgsYez4y4ADCjRM9H73hsNWafILTQdaFiSTj%2BQ%2FxA6yH7d%2BCmR8XbYr0a7VTF2N4siSsb5qdos3R6%2FjGxpULFfw7EfORnbrI9TAToX0sD40%2F2ylcGdh2Rdhg%2BSf2gka9jRTqK9%2BGwgHz7RTfVbHxirDhivdthYUvMRX8aYAD9lstvi%2B0aDL2DUZ0eCBUNNVG0IP65FLTWqPdiqdC0koHTVXe7iyNRG23QotBEy1RbTAzQyrmnYUT2rLsoA13JpcB4eVC2daBM1g2JGLekmwf5On7EJfngfZTNnVSce8bFjaTmQdvs%2FXmO%2FJVpoXdx3RSUe9O00Fj3nUdy0RLgRHiHXOPGW1h2uKZ07c9rG%2Bxyefp23pQeyBIEQoavYlakrG8fnrY5yHn2fbxXzAgw7m8bT5zkkSk4C7cpmOK21esB%2FXAQ5DzFfTo43%2BF%2FDzf0eZ4wZ3MDSjMcvD6nIeOahGgia%2FyU3HforTPkWkwnakdn0cI9jqfbPjD%2FuQLJr6644snlgX%2FApOMoyd1R5%2FxAAAAAElFTkSuQmCC)](https://linuxgsm.com) [![Build Status](https://travis-ci.com/GameServerManagers/LinuxGSM.svg?branch=master)](https://travis-ci.com/GameServerManagers/LinuxGSM) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3e98be27840043a090c3ab6e35db44b0)](https://app.codacy.com/app/GameServerManagers/LinuxGSM?utm_source=github.com&utm_medium=referral&utm_content=GameServerManagers/LinuxGSM&utm_campaign=Badge_Grade_Dashboard) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/9ef77095e98a43618ddd57381f86b4be)](https://www.codacy.com/manual/GameServerManagers/LinuxGSM?utm_source=github.com&utm_medium=referral&utm_content=GameServerManagers/LinuxGSM&utm_campaign=Badge_Coverage) [![Backup Repo](https://github.com/GameServerManagers/LinuxGSM/workflows/Backup%20Repo/badge.svg)](https://bitbucket.org/GameServerManagers/linuxgsm) [![Discord](https://discordapp.com/api/guilds/127498813903601664/widget.png?style=shield)](https://linuxgsm.com/discord) [![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE) [![made-with-bash](https://img.shields.io/badge/-Made%20with%20Bash-1f425f.svg?logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D)](https://www.gnu.org/software/bash/)
@@ -47,7 +47,7 @@ There are a various ways to get support, check out the [support](https://linuxgs
## :heart: Donate
-If you would like to [donate](https://linuxgsm.com/donate) to the project there are several ways you can, via [GitHub Sponsors](https://github.com/sponsors/dgibbs64), [Patreon](https://www.patreon.com/dgibbs) and [PayPal](https://www.paypal.me/dgibbs64). I would like to thank everyone who has previously sent a donation. Since 2012 LinuxGSM has been steadily growing with new servers, features and improvements added regularly.
+If you would like to [donate](https://linuxgsm.com/donate) to the project there are several ways you can, via [GitHub Sponsors](https://github.com/sponsors/dgibbs64) and [PayPal](https://www.paypal.me/dgibbs64). I would like to thank everyone who has previously sent a donation. Since 2012 LinuxGSM has been steadily growing with new servers, features and improvements added regularly.
## Contributors
diff --git a/lgsm/config-default/config-lgsm/acserver/_default.cfg b/lgsm/config-default/config-lgsm/acserver/_default.cfg
index 7bc9de9d16..0faa375dab 100644
--- a/lgsm/config-default/config-lgsm/acserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/acserver/_default.cfg
@@ -110,6 +110,9 @@ sleeptime="0.5"
appid="302550"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
+# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
+steammaster="false"
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
@@ -122,6 +125,7 @@ branch=""
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
index c41d0c8f96..39d99e9e56 100644
--- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg
@@ -122,6 +122,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
@@ -138,6 +139,7 @@ querytype="protocol-valve"
appid="985050"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
index 69fc33e0c6..2a611c2e66 100644
--- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="cstrike"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
index a657d62738..9dc41afc26 100644
--- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg
@@ -15,11 +15,12 @@ queryport="27015"
rconport="27020"
# Default Map: TheIsland, Ragnarok, CrystalIsles, Aberration_P, ScorchedEarth_P
defaultmap="TheIsland"
+altsavedirectoryname="${defaultmap}"
maxplayers="70"
## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
fn_parms(){
-parms="\"${defaultmap}?AltSaveDirectoryName=${defaultmap}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods\""
+parms="${defaultmap}?AltSaveDirectoryName=${altsavedirectoryname}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port} -automanagedmods -crossplay -PublicIPForEpic=${ip}"
}
#### LinuxGSM Settings ####
@@ -113,6 +114,7 @@ sleeptime="0.5"
appid="376030"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -127,6 +129,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
index 628634140d..3c57f1ff28 100644
--- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg
@@ -127,6 +127,7 @@ sleeptime="0.5"
appid="233780"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -141,6 +142,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/avserver/_default.cfg b/lgsm/config-default/config-lgsm/avserver/_default.cfg
index f4f430e16a..c3cce8c2bc 100644
--- a/lgsm/config-default/config-lgsm/avserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/avserver/_default.cfg
@@ -109,6 +109,7 @@ sleeptime="0.5"
appid="565060"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -123,6 +124,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="10"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
index e361cb9dc5..0c8ef08fad 100644
--- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="475370"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
index 3fdb866c33..6397af14cd 100644
--- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="cstrike"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
index ec408753ee..d4bfabb8e3 100644
--- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="817300"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -125,6 +126,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
index ebb977a921..2bf084b188 100644
--- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg
@@ -110,6 +110,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
@@ -119,7 +120,7 @@ stopmode="2"
# 4: gsquery
# 5: tcp
querymode="2"
-querytype="protocol-valve"
+querytype="protocol-gamespy1"
## Game Server Details
# Do not edit
diff --git a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
new file mode 100644
index 0000000000..99d1555d85
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg
@@ -0,0 +1,158 @@
+##################################
+######## 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="+statusMonitor 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)
+
+# 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://termbin.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: GoldSrc
+# 10: Avorion
+# 11: end
+stopmode="3"
+
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
+# Do not edit
+gamename="Battlefield: Vietnam"
+engine="refractor"
+glibc="2.2.4"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}"
+executabledir="${systemdir}"
+executable="./start.sh"
+servercfgdir="${systemdir}/mods/bfvietnam/settings"
+servercfg="serversettings.con"
+servercfgdefault="serversettings.con"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+logdir="${rootdir}/log"
+gamelogdir="${serverfiles}/mods/bfvietnam/logs"
+lgsmlogdir="${logdir}/script"
+consolelogdir="${logdir}/console"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
+
+## Logs Naming
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
index 61d4c3e4c1..12cabed626 100644
--- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="346680"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg
index 698667c10c..9e8e280009 100644
--- a/lgsm/config-default/config-lgsm/boserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg
@@ -110,6 +110,7 @@ sleeptime="0.5"
appid="416880"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -124,6 +125,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
index 69094f8ef2..81111150b6 100644
--- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg
@@ -121,6 +121,7 @@ sleeptime="0.5"
appid="228780"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -135,6 +136,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
index d90b945235..50d3978120 100644
--- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg
@@ -109,6 +109,7 @@ sleeptime="0.5"
appid="805140"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -123,6 +124,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg
index 416e77c09d..f10520f311 100644
--- a/lgsm/config-default/config-lgsm/btserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg
@@ -104,6 +104,7 @@ sleeptime="0.5"
appid="1026340"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -118,6 +119,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="7"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
index e9f0a70dd8..bd9eb1c5dd 100644
--- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="383410"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -126,6 +127,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
index 155ef0c173..36d9555ce4 100644
--- a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
appid="220070"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -127,6 +128,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
index a686ea45fb..6ec7c17d36 100644
--- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
index 027c525091..3ca19c4116 100644
--- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg
index 74e186466f..a9e97f0866 100644
--- a/lgsm/config-default/config-lgsm/codserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
index b4e16cfffa..390a92c251 100644
--- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
index aeecf8f7b3..3906ee4966 100644
--- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
index 8065dbba2f..90e1eb623f 100644
--- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="czero"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
index 963f873c56..d4071272a6 100644
--- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg
@@ -137,6 +137,7 @@ sleeptime="0.5"
appid="740"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -151,6 +152,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg
index 584e0ad77f..c41093ddfe 100644
--- a/lgsm/config-default/config-lgsm/csserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="cstrike"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
index 316eb26f8d..4e911f8579 100644
--- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="232330"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
index 612ea671f2..9074e5f787 100644
--- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="317800"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
index 43fe8e8f1c..6e2ce40af7 100644
--- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="dmc"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
index 0d1b447c34..499c029a5c 100644
--- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="dod"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
index 572046108c..10a1e8cf37 100644
--- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="232290"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
index d7916e2b5c..436221dfb8 100644
--- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
appid="462310"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -127,6 +128,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
index 7491e7e55c..1d49c64e10 100644
--- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg
@@ -115,6 +115,7 @@ sleeptime="0.5"
appid="343050"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -129,6 +130,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
index 28cc7fb98a..bd33808b97 100644
--- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="17585"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
index b4a4b92eb7..714731b654 100644
--- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg
@@ -104,6 +104,7 @@ sleeptime="0.5"
appid="739590"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -118,6 +119,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg
index 8ab7aefe13..15ccbb9a17 100644
--- a/lgsm/config-default/config-lgsm/emserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="460040"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
index add0f74b65..126eb855bb 100644
--- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg
@@ -107,6 +107,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
index fddab05eed..6ba03ee02d 100644
--- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg
@@ -118,6 +118,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
index 49105660c6..3438cb5d02 100644
--- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="295230"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/gesserver/_default.cfg b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
index a26a5df396..db78896304 100644
--- a/lgsm/config-default/config-lgsm/gesserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gesserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="310" # Source 2007 SDK
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
index bd254e8b18..3b50263506 100644
--- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg
@@ -128,6 +128,7 @@ sleeptime="0.5"
appid="4020"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -142,6 +143,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
index 22c3da3295..0e60c1662d 100644
--- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="232370"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
index 1a17fdd919..67cf1f0c88 100644
--- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="90"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -125,6 +126,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
index 0036ec7e1c..6ec069c746 100644
--- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="255470"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
index 426d2d2501..bc832521a1 100644
--- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg
@@ -123,6 +123,7 @@ sleeptime="0.5"
appid="405100"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -137,6 +138,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg
index 98817e9087..78c789a4d1 100644
--- a/lgsm/config-default/config-lgsm/insserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg
@@ -118,6 +118,7 @@ sleeptime="0.5"
appid="237410"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -132,6 +133,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
index 605a95fbbf..1201e70364 100644
--- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg
@@ -22,9 +22,9 @@ maxplayers="28"
fn_parms(){
# Allows serverpassword to work with parameters
if [ "${serverpassword}" != "NOT SET" ]; then
- parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport}?password="${serverpassword}" -hostname='${servername}' -log"
+ parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport}?password="${serverpassword}" -hostname="${servername}" -log"
else
- parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport} -hostname='${servername}' -log"
+ parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport} -hostname="${servername}" -log"
fi
}
@@ -119,6 +119,7 @@ sleeptime="0.5"
appid="581330"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -133,6 +134,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
index acf13f3683..0c935b5ad0 100644
--- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="673990"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -126,6 +127,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
index 81cd0ff5ba..f593f28bcc 100644
--- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg
@@ -104,6 +104,7 @@ sleeptime="0.5"
appid="261140"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -118,6 +119,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
index e3793f8050..cdfb17e54e 100644
--- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg
@@ -104,6 +104,7 @@ sleeptime="0.5"
appid="619960"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -118,6 +119,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
index 7ad9fc930e..2cd1e0ccab 100644
--- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg
@@ -110,6 +110,7 @@ sleeptime="0.5"
appid="232130"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -124,6 +125,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
index f4ef0a7f79..1332c3ebbc 100644
--- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg
@@ -116,6 +116,7 @@ sleeptime="0.5"
appid="215360"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -130,6 +131,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
index 4852b22317..e877ea0b1e 100644
--- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="222860"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -125,6 +126,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
index 158605d2f4..1b8cd88ba3 100644
--- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="222840"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -125,6 +126,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
index 839f5a9af2..df50e3af18 100644
--- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg
@@ -110,6 +110,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="5"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
index a49465f457..788bbab2b6 100644
--- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg
@@ -116,6 +116,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="5"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
index 255ecdd04f..9791aee22a 100644
--- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="629800"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -126,6 +127,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
index 1f82fe0c4f..010b97ab23 100644
--- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/momserver/_default.cfg b/lgsm/config-default/config-lgsm/momserver/_default.cfg
new file mode 100644
index 0000000000..02565f4730
--- /dev/null
+++ b/lgsm/config-default/config-lgsm/momserver/_default.cfg
@@ -0,0 +1,173 @@
+##################################
+######## 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 Settings | https://docs.linuxgsm.com/configuration/start-parameters
+ip="0.0.0.0"
+port="7777"
+beaconport="15000"
+maxplayers="32"
+
+## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
+fn_parms(){
+parms="-port="${port}" -beaconport="${beaconport}" -MULTIHOME="${ip}" -maxplayers=${maxplayers}"
+}
+
+#### LinuxGSM Settings ####
+
+## LinuxGSM Stats
+# Send useful stats to LinuxGSM developers.
+# https://docs.linuxgsm.com/configuration/linuxgsm-stats
+# (on|off)
+stats="off"
+
+## Notification Alerts
+# (on|off)
+
+# Display IP | https://docs.linuxgsm.com/alerts#display-ip
+displayip=""
+
+# More info | https://docs.linuxgsm.com/alerts#more-info
+postalert="off"
+postdays="7"
+posttarget="https://termbin.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"
+
+## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd
+# Server appid
+appid="897590"
+# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
+branch=""
+betapassword=""
+# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
+steammaster="false"
+
+## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
+# 1: tmux kill
+# 2: CTRL+c
+# 3: quit
+# 4: quit 120s
+# 5: stop
+# 6: q
+# 7: exit
+# 8: 7 Days to Die
+# 9: GoldSrc
+# 10: Avorion
+# 11: end
+stopmode="2"
+
+## Query mode
+# 1: session only
+# 2: gamedig + gsquery
+# 3: gamedig
+# 4: gsquery
+# 5: tcp
+querymode="1"
+querytype=""
+
+## Game Server Details
+# Do not edit
+gamename="Memories of Mars"
+engine="unreal4"
+glibc="2.17"
+
+#### Directories ####
+# Edit with care
+
+## Game Server Directories
+systemdir="${serverfiles}/Game"
+executabledir="${systemdir}/Binaries/Linux"
+executable="./MemoriesOfMarsServer"
+servercfgdir="${serverfiles}"
+servercfg="DedicatedServerConfig.cfg"
+servercfgdefault="DedicatedServerConfig.cfg"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${lgsmdir}/backup"
+
+## Logging Directories
+logdir="${rootdir}/log"
+gamelogdir="${serverfiles}/Game/Saved/Logs"
+lgsmlogdir="${logdir}/script"
+consolelogdir="${logdir}/console"
+lgsmlog="${lgsmlogdir}/${selfname}-script.log"
+consolelog="${consolelogdir}/${selfname}-console.log"
+alertlog="${lgsmlogdir}/${selfname}-alert.log"
+postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log"
+
+## Logs Naming
+lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
index dc6aac282c..28887e4d35 100644
--- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="4"
## Query mode
@@ -138,6 +139,7 @@ executabledir="${systemdir}"
executable="./mta-server64"
servercfgdir="${systemdir}/mods/deathmatch"
servercfg="mtaserver.conf"
+servercfgdefault="mtaserver.conf"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
index 6afe760ae2..341177009e 100644
--- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
index 084bcc20b0..df02018490 100644
--- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="111710"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
index 261d74feda..160c4d58fa 100644
--- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="317670"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
index 6e857c346e..a778aded51 100644
--- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
@@ -119,6 +119,7 @@ sleeptime="0.5"
appid="313900"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -133,6 +134,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="6"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
index 01cb086f9f..d4340a0fae 100644
--- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg
@@ -123,6 +123,7 @@ sleeptime="0.5"
appid="4940"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -137,6 +138,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="6"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
index 446e8ab8a3..a53da058dc 100644
--- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="cstrike"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
index 7401de91a1..247bf3fbec 100644
--- a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg
@@ -104,6 +104,7 @@ sleeptime="0.5"
appid="1204170"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -118,6 +119,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
index a341627a98..45a7347ab5 100644
--- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="gearbox"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
index fc74fbe5e7..6496cf1be0 100644
--- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg
@@ -104,6 +104,7 @@ sleeptime="0.5"
appid="332670"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -118,6 +119,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
index 1a80e7a02f..d8dc2888d5 100644
--- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg
@@ -114,6 +114,7 @@ sleeptime="0.5"
appid="746200"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -128,6 +129,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
index 0118ecaa4b..3294b2043e 100644
--- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="17575"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
index da9ae479d0..a823e14d11 100644
--- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg
@@ -108,6 +108,7 @@ sleeptime="0.5"
appid="380870"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -122,6 +123,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg
index 832f641c79..0d28d11557 100644
--- a/lgsm/config-default/config-lgsm/q2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg
index 6d28f4caf9..115a093aa1 100644
--- a/lgsm/config-default/config-lgsm/q3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
index 3a5471ad68..ffe409802a 100644
--- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg
@@ -106,6 +106,7 @@ sleeptime="0.5"
appid="349090"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -120,6 +121,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
index 59cdcc0f16..db81ef4d42 100644
--- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
index b825fb75b1..8ab59f4876 100644
--- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="ricochet"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg
index 3cbfd58888..c87fcb7a7e 100644
--- a/lgsm/config-default/config-lgsm/roserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="223250"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -126,6 +127,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
index 93b9ce3fe2..c73ae99cb5 100644
--- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
index cf70cdae77..595cf3864a 100644
--- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg
@@ -13,6 +13,7 @@
ip="0.0.0.0"
port="28015"
rconport="28016"
+appport=28082
rconpassword="CHANGE_ME"
rconweb="1" # Value is: 1 for Facepunch's web panel; 0 for RCON tools like Rusty or Rustadmin
servername="Rust"
@@ -42,7 +43,7 @@ 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 \"${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}\""
+parms="-batchmode +app.listenip ${ip} +app.port ${appport} +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"
}
#### LinuxGSM Settings ####
@@ -136,6 +137,7 @@ sleeptime="0.5"
appid="258550"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -150,6 +152,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
index 95c37ef2db..e771ca8e27 100644
--- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg
@@ -107,6 +107,7 @@ sleeptime="0.5"
appid="339010"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -121,6 +122,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
index 67331ee390..7d3c5bde9b 100644
--- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
index 6145c9905b..095f54417e 100644
--- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="974130"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -126,6 +127,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
index f9ae836d18..2476ddf0ff 100644
--- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg
@@ -111,7 +111,9 @@ sleeptime="0.5"
appid="211820"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
-steammaster="flase"
+betapassword=""
+# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
+steammaster="false"
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
@@ -124,6 +126,7 @@ steammaster="flase"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
index 6269e6150a..5067aae261 100644
--- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
@@ -107,6 +107,7 @@ sleeptime="0.5"
appid="294420"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -121,6 +122,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="8"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
index 2203ba14b6..866194cc97 100644
--- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="244310" # Source 2013 SDK
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
index 090330f49b..4084977537 100644
--- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg
index d1f853dcac..4a80b1634e 100644
--- a/lgsm/config-default/config-lgsm/solserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg
@@ -105,6 +105,7 @@ sleeptime="0.5"
appid="638500"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
## Stop Mode | https://docs.linuxgsm.com/features/stop-mode
# 1: tmux kill
@@ -117,6 +118,7 @@ branch=""
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
index 81eb50c01f..c0ef25dea9 100644
--- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg
@@ -109,6 +109,7 @@ sleeptime="0.5"
appid="403240"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -123,6 +124,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
index 9032678a4f..ec008dd8d9 100644
--- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg
@@ -108,6 +108,7 @@ sleeptime="0.5"
appid="41080"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -122,6 +123,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg
index 581c1481a6..e0210738d7 100644
--- a/lgsm/config-default/config-lgsm/stserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg
@@ -114,6 +114,7 @@ sleeptime="0.5"
appid="600760"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -128,6 +129,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
index 72b3acaddb..a422cda8dd 100644
--- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="276060"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -125,6 +126,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
index 3f941122ff..1ec6f491a6 100644
--- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="105600"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -125,6 +126,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="7"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
index 31eefeb124..97748938a3 100644
--- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="232250"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
index ccd4988e08..2c1a1d4a59 100644
--- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="tfc"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
index 3a511b394b..4f604d7001 100644
--- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg
@@ -113,6 +113,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
index f73622b42e..150d9ad46f 100644
--- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="cstrike"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
index ff4165e45e..555ccc3971 100644
--- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg
@@ -114,6 +114,7 @@ sleeptime="0.5"
appid="439660"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -128,6 +129,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg
index 461c970595..2be04f44b2 100644
--- a/lgsm/config-default/config-lgsm/twserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
appid="380840"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -125,6 +126,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg
index ef0fe4c24f..92fc25b4a3 100644
--- a/lgsm/config-default/config-lgsm/untserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg
@@ -114,6 +114,7 @@ sleeptime="0.5"
appid="1110390"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -128,6 +129,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
index 9c4164c72f..91bad09243 100644
--- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
index b422278591..b9015d5de2 100644
--- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg
@@ -127,6 +127,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
index caab7ffea4..7136236903 100644
--- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg
+++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg
@@ -111,6 +111,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg
index 40d6cc526f..244e86ad6f 100644
--- a/lgsm/config-default/config-lgsm/utserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg
@@ -115,6 +115,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
@@ -141,6 +142,7 @@ executabledir="${systemdir}/Engine/Binaries/Linux"
executable="./UE4Server-Linux-Shipping"
servercfgdir="${systemdir}/UnrealTournament/Saved/Config/LinuxServer"
servercfg="Game.ini"
+servercfgdefault"Game.ini"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
index 1eaa9ff863..7f2ef3b3bb 100644
--- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg
@@ -112,6 +112,7 @@ appid="90"
appidmod="cstrike"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="9"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
index 54ee3d25bc..67a3ceff02 100644
--- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg
@@ -107,6 +107,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
index 1ddbd77462..8fa5ec1f8e 100644
--- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
@@ -129,6 +130,7 @@ appid="1136510"
appidmod="warfork"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
index e131fc28ba..4c95a54099 100644
--- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg
@@ -103,6 +103,7 @@ sleeptime="0.5"
appid="402370"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="false"
@@ -117,6 +118,7 @@ steammaster="false"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="2"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
index b22f79fc21..e0204ff070 100644
--- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg
@@ -112,6 +112,7 @@ sleeptime="0.5"
appid="244310" # Source 2013 SDK
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -126,6 +127,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
index 279f7258a7..69d5383f5a 100644
--- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
+++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg
@@ -117,6 +117,7 @@ sleeptime="0.5"
appid="17505"
# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch
branch=""
+betapassword=""
# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server
steammaster="true"
@@ -131,6 +132,7 @@ steammaster="true"
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
stopmode="3"
## Query mode
diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv
index ac703ffe9b..f294906bb8 100644
--- a/lgsm/data/serverlist.csv
+++ b/lgsm/data/serverlist.csv
@@ -8,6 +8,7 @@ bb,bbserver,BrainBread
bb2,bb2server,BrainBread 2
bd,bdserver,Base Defense
bf1942,bf1942server,Battlefield 1942
+bfv,bfvserver,Battlefield: Vietnam
bmdm,bmdmserver,Black Mesa: Deathmatch
bo,boserver,Ballistic Overkill
bs,bsserver,Blade Symphony
@@ -55,6 +56,7 @@ mc,mcserver,Minecraft
mcb,mcbserver,Minecraft Bedrock
mh,mhserver,MORDHAU
mohaa,mohaaserver,Medal of Honor: Allied Assault
+mom,momserver,Memories of Mars
mta,mtaserver,Multi Theft Auto
mumble,mumbleserver,Mumble
nd,ndserver,Nuclear Dawn
diff --git a/lgsm/functions/alert.sh b/lgsm/functions/alert.sh
index 5f8fe156eb..704a3f3eb6 100644
--- a/lgsm/functions/alert.sh
+++ b/lgsm/functions/alert.sh
@@ -99,6 +99,7 @@ fn_alert_log
if [ "${postalert}" == "on" ]&&[ -n "${postalert}" ]; then
exitbypass=1
command_postdetails.sh
+ fn_firstcommand_reset
elif [ "${postalert}" != "on" ]&&[ "${commandname}" == "TEST-ALERT" ]; then
fn_print_warn_nl "More Info not enabled"
fn_script_log_warn "More Info alerts not enabled"
diff --git a/lgsm/functions/check.sh b/lgsm/functions/check.sh
index 3e8fa90a20..b50754e3da 100644
--- a/lgsm/functions/check.sh
+++ b/lgsm/functions/check.sh
@@ -48,7 +48,7 @@ if [ "$(whoami)" != "root" ]; then
done
fi
-allowed_commands_array=( BACKUP CONSOLE DEBUG DETAILS MAP-COMPRESSOR FASTDL MODS-INSTALL MODS-REMOVE MODS-UPDATE MONITOR POST-DETAILS RESTART START STOP TEST-ALERT CHANGE-PASSWORD UPDATE UPDATE-LGSM VALIDATE WIPW )
+allowed_commands_array=( BACKUP CONSOLE DEBUG DETAILS MAP-COMPRESSOR FASTDL MODS-INSTALL MODS-REMOVE MODS-UPDATE MONITOR POST-DETAILS RESTART START STOP TEST-ALERT CHANGE-PASSWORD UPDATE UPDATE-LGSM VALIDATE WIPE )
for allowed_command in "${allowed_commands_array[@]}"
do
if [ "${allowed_command}" == "${commandname}" ]; then
@@ -82,7 +82,7 @@ do
fi
done
-allowed_commands_array=( DEBUG START VALIDATE )
+allowed_commands_array=( DEBUG START UPDATE VALIDATE )
for allowed_command in "${allowed_commands_array[@]}"
do
if [ "${allowed_command}" == "${commandname}" ]; then
diff --git a/lgsm/functions/check_deps.sh b/lgsm/functions/check_deps.sh
index 52f651e1b7..0d4555e53b 100644
--- a/lgsm/functions/check_deps.sh
+++ b/lgsm/functions/check_deps.sh
@@ -184,8 +184,15 @@ if [ "${javacheck}" == "1" ]; then
fi
# Define required dependencies for SteamCMD.
if [ "${appid}" ]; then
- if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
- steamcmdfail=1
+ # lib32gcc1 is now called lib32gcc-s1 in debian 11
+ if [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; then
+ if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc-s1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
+ steamcmdfail=1
+ fi
+ else
+ if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "lib32stdc++6" ]; then
+ steamcmdfail=1
+ fi
fi
fi
fi
@@ -339,10 +346,15 @@ 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 tmux netcat )
- # All servers except ts3, mumble, GTA and minecraft servers require libstdc++6 and lib32gcc1.
+ # All servers except ts3, mumble, GTA and minecraft servers require lib32stdc++6 and lib32gcc1.
if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then
if [ "${arch}" == "x86_64" ]; then
- array_deps_required+=( lib32gcc1 lib32stdc++6 )
+ # lib32gcc1 is now called lib32gcc-s1 in debian 11
+ if [ "${distroid}" == "debian" ]&&[ "${distroversion}" == "11" ]; then
+ array_deps_required+=( lib32gcc-s1 lib32stdc++6 )
+ else
+ array_deps_required+=( lib32gcc1 lib32stdc++6 )
+ fi
else
array_deps_required+=( lib32stdc++6 )
fi
@@ -368,7 +380,10 @@ fn_deps_build_debian(){
# 7 Days to Die
elif [ "${shortname}" == "sdtd" ]; then
array_deps_required+=( telnet expect )
- # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source
+ # Battlefield: Vietnam
+ elif [ "${shortname}" == "bfv" ]; then
+ array_deps_required+=( libncurses5:i386 libstdc++5:i386 )
+ # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source
elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then
if [ "${arch}" == "x86_64" ]; then
array_deps_required+=( libtinfo5:i386 )
@@ -378,9 +393,6 @@ fn_deps_build_debian(){
# Brainbread 2, Don't Starve Together & Team Fortress 2
elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
array_deps_required+=( libcurl4-gnutls-dev:i386 )
- if [ "${shortname}" == "tf2" ]; then
- array_deps_required+=( libtcmalloc-minimal4:i386 )
- fi
# Call of Duty & Medal of Honor: Allied Assault
elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
array_deps_required+=( libstdc++5:i386 )
@@ -435,6 +447,7 @@ fn_deps_build_debian(){
# Wurm: Unlimited
elif [ "${shortname}" == "wurm" ]; then
array_deps_required+=( xvfb )
+ # Post Scriptum
elif [ "${shortname}" == "pstbs" ]; then
array_deps_required+=( libgconf-2-4 )
fi
@@ -480,15 +493,15 @@ fn_deps_build_redhat(){
# 7 Days to Die
elif [ "${shortname}" == "sdtd" ]; then
array_deps_required+=( telnet expect )
- # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source
+ # Battlefield: Vietnam
+ elif [ "${shortname}" == "bfv" ]; then
+ array_deps_required+=( compat-libstdc++-33.i686 glibc.i686 )
+ # Battlefield 1942, Counter-Strike: Source, Garry's Mod, No More Room in Hell, Source Forts Classic, Zombie Master Reborn and Zombie Panic: Source
elif [ "${shortname}" == "bf1942" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "sfc" ]||[ "${shortname}" == "zmr" ]||[ "${shortname}" == "zps" ]; then
array_deps_required+=( ncurses-libs.i686 )
# Brainbread 2, Don't Starve Together & Team Fortress 2
elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
array_deps_required+=( libcurl.i686 )
- if [ "${shortname}" == "tf2" ]; then
- array_deps_required+=( gperftools-libs.i686 )
- fi
# Call of Duty & Medal of Honor: Allied Assault
elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]||[ "${shortname}" == "mohaa" ]; then
array_deps_required+=( compat-libstdc++-33.i686 )
@@ -543,6 +556,7 @@ fn_deps_build_redhat(){
# Wurm: Unlimited
elif [ "${shortname}" == "wurm" ]; then
array_deps_required+=( xorg-x11-server-Xvfb )
+ # Post Scriptum
elif [ "${shortname}" == "pstbs" ]; then
array_deps_required+=( GConf2 )
fi
diff --git a/lgsm/functions/check_last_update.sh b/lgsm/functions/check_last_update.sh
index 52e4cfce0c..99253d7499 100644
--- a/lgsm/functions/check_last_update.sh
+++ b/lgsm/functions/check_last_update.sh
@@ -20,5 +20,6 @@ if [ -f "${lockdir}/lastupdate.lock" ]&&[ "${status}" != "0" ]; then
fn_print_info "${selfname} has not been restarted since last update"
fn_script_log_info "${selfname} has not been restarted since last update"
command_restart.sh
+ fn_firstcommand_reset
fi
fi
diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index aa4140bbea..647ee75255 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/lgsm/functions/check_steamcmd.sh
@@ -7,7 +7,7 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_install_steamcmd(){
- if [ ${shortname} == "ark" ]&&[ "${installsteamcmd}" == "1" ]; then
+ if [ "${shortname}" == "ark" ]&&[ "${installsteamcmd}" == "1" ]; then
steamcmddir="${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux"
fi
if [ ! -d "${steamcmddir}" ]; then
@@ -130,7 +130,7 @@ fn_check_steamcmd_clear(){
if [ "$(command -v steamcmd 2>/dev/null)" ]&&[ -d "${rootdir}/steamcmd" ]; then
rm -rf "${steamcmddir:?}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_script_log_fatal "Removing ${rootdir}/steamcmd"
else
fn_script_log_pass "Removing ${rootdir}/steamcmd"
diff --git a/lgsm/functions/check_version.sh b/lgsm/functions/check_version.sh
index 6db78091d7..15f0284bba 100644
--- a/lgsm/functions/check_version.sh
+++ b/lgsm/functions/check_version.sh
@@ -16,4 +16,5 @@ if [ -n "${modulesversion}" ]&&[ -n "${version}" ]&&[ "${version}" != "${modules
fn_sleep_time
fn_script_log_error "LinuxGSM Version mismatch: ${selfname}: ${version}: modules: ${modulesversion}"
command_update_linuxgsm.sh
+ fn_firstcommand_reset
fi
diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh
index 537e86f1cb..dbf97a857b 100644
--- a/lgsm/functions/command_backup.sh
+++ b/lgsm/functions/command_backup.sh
@@ -8,6 +8,7 @@
commandname="BACKUP"
commandaction="Backing up"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
@@ -61,22 +62,20 @@ fn_backup_init(){
# Check if server is started and whether to stop it.
fn_backup_stop_server(){
check_status.sh
- # Server is stopped.
- if [ "${status}" == "0" ]; then
- serverstopped="no"
- # Server is running and stoponbackup=off.
- elif [ "${stoponbackup}" == "off" ]; then
- serverstopped="no"
+ # Server is running but will not be stopped.
+ if [ "${stoponbackup}" == "off" ]; then
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_stop_warning
- serverstopped="yes"
+ # If server is started
+ elif [ "${status}" != "0" ]; then
+ fn_print_restart_warning
+ startserver="1"
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
fi
}
@@ -140,7 +139,7 @@ fn_backup_compression(){
tar -czf "${backupdir}/${backupname}.tar.gz" -C "${rootdir}" --exclude "${excludedir}" --exclude "${lockdir}/backup.lock" ./.
local exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol
fn_script_log_fatal "Backup in progress: FAIL"
echo -e "${extractcmd}" | tee -a "${lgsmlog}"
@@ -246,26 +245,12 @@ fn_backup_relpath() {
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during backup"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during backup"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during backup: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during backup"
-}
-
-# Restart the server if it was stopped for the backup.
+# Start the server if it was stopped for the backup.
fn_backup_start_server(){
- if [ "${serverstopped}" == "yes" ]; then
+ if [ -n "${startserver}" ]; then
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
}
diff --git a/lgsm/functions/command_console.sh b/lgsm/functions/command_console.sh
index 18e6746525..338ea19c29 100644
--- a/lgsm/functions/command_console.sh
+++ b/lgsm/functions/command_console.sh
@@ -7,6 +7,7 @@
commandname="CONSOLE"
commandaction="Access console"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
fn_print_header
@@ -35,6 +36,7 @@ else
if fn_prompt_yn "Do you want to start the server?" Y; then
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
fi
diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh
index 5aeb0d5e10..d8a8a1cba6 100644
--- a/lgsm/functions/command_debug.sh
+++ b/lgsm/functions/command_debug.sh
@@ -7,6 +7,7 @@
commandname="DEBUG"
commandaction="Debuging"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
# Trap to remove lockfile on quit.
fn_lockfile_trap(){
@@ -88,6 +89,7 @@ fn_print_info_nl "Stopping any running servers"
fn_script_log_info "Stopping any running servers"
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
unset exitbypass
fn_print_dots "Starting debug"
fn_script_log_info "Starting debug"
diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh
index c2abc0ba0f..9680255f48 100644
--- a/lgsm/functions/command_details.sh
+++ b/lgsm/functions/command_details.sh
@@ -8,6 +8,7 @@
commandname="DETAILS"
commandaction="Viewing details"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
# Run checks and gathers details to display.
check.sh
diff --git a/lgsm/functions/command_dev_clear_functions.sh b/lgsm/functions/command_dev_clear_functions.sh
index 0c2faa3756..96a637c52e 100644
--- a/lgsm/functions/command_dev_clear_functions.sh
+++ b/lgsm/functions/command_dev_clear_functions.sh
@@ -7,6 +7,7 @@
commandname="DEV-CLEAR-MODULES"
commandaction="Clearing modules"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
echo -e "================================="
echo -e "Clear Functions"
diff --git a/lgsm/functions/command_dev_debug.sh b/lgsm/functions/command_dev_debug.sh
index 962b01e7f5..e959509cd4 100644
--- a/lgsm/functions/command_dev_debug.sh
+++ b/lgsm/functions/command_dev_debug.sh
@@ -7,6 +7,7 @@
commandname="DEV-DEBUG"
commandaction="Developer debug"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_reset
if [ -f "${rootdir}/.dev-debug" ]; then
rm "${rootdir:?}/.dev-debug"
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index 04f37d6968..d2fa00fccd 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/lgsm/functions/command_dev_detect_deps.sh
@@ -7,6 +7,7 @@
commandname="DEV-DETECT-DEPS"
commandaction="Developer detect deps"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
echo -e "================================="
echo -e "Dependencies Checker"
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index 2289bb818e..8f5d6e5a8e 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/lgsm/functions/command_dev_detect_glibc.sh
@@ -8,6 +8,7 @@
commandname="DEV-DETECT-GLIBC"
commandaction="Developer detect glibc"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
echo -e "================================="
echo -e "glibc Requirements Checker"
diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh
index 8508451796..e6ddfb09f2 100644
--- a/lgsm/functions/command_dev_detect_ldd.sh
+++ b/lgsm/functions/command_dev_detect_ldd.sh
@@ -8,6 +8,7 @@
commandname="DEV-DETECT-LDD"
commandaction="Developer detect ldd"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
echo -e "================================="
echo -e "Shared Object dependencies Checker"
diff --git a/lgsm/functions/command_dev_query_raw.sh b/lgsm/functions/command_dev_query_raw.sh
index 22ed232ec7..84efe0da9c 100644
--- a/lgsm/functions/command_dev_query_raw.sh
+++ b/lgsm/functions/command_dev_query_raw.sh
@@ -7,6 +7,7 @@
commandname="DEV-QUERY-RAW"
commandaction="Developer query raw"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
info_config.sh
diff --git a/lgsm/functions/command_donate.sh b/lgsm/functions/command_donate.sh
index 9bb7f2faf0..18e6dce5ab 100644
--- a/lgsm/functions/command_donate.sh
+++ b/lgsm/functions/command_donate.sh
@@ -7,6 +7,7 @@
commandname="DONATE"
commandaction="Donate"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_print_ascii_logo
echo -e "${lightyellow}Support LinuxGSM${default}"
diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh
index f6a5897dbf..19ffb79fd2 100644
--- a/lgsm/functions/command_fastdl.sh
+++ b/lgsm/functions/command_fastdl.sh
@@ -8,6 +8,7 @@
commandname="FASTDL"
commandaction="Fastdl"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
@@ -69,7 +70,7 @@ fn_clear_old_fastdl(){
echo -en "clearing existing FastDL directory ${fastdldir}..."
rm -fR "${fastdldir:?}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Clearing existing FastDL directory ${fastdldir}"
core_exit.sh
@@ -86,7 +87,7 @@ fn_fastdl_dirs(){
echo -en "creating web directory ${webdir}..."
mkdir -p "${webdir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Creating web directory ${webdir}"
core_exit.sh
@@ -99,7 +100,7 @@ fn_fastdl_dirs(){
echo -en "creating fastdl directory ${fastdldir}..."
mkdir -p "${fastdldir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Creating fastdl directory ${fastdldir}"
core_exit.sh
@@ -245,7 +246,7 @@ fn_fastdl_gmod(){
echo -e "copying ${allowed_extention} : ${fileswc}..."
cp --parents "${fastdlfile}" "${fastdldir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Copying ${fastdlfile} > ${fastdldir}"
core_exit.sh
@@ -262,7 +263,7 @@ fn_fastdl_gmod(){
echo -en "updating addons file structure..."
cp -Rf "${fastdldir}"/addons/*/* "${fastdldir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Updating addons file structure"
core_exit.sh
@@ -275,7 +276,7 @@ fn_fastdl_gmod(){
fn_sleep_time
rm -fR "${fastdldir:?}/addons"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Clearing addons dir from fastdl dir"
core_exit.sh
@@ -290,7 +291,7 @@ fn_fastdl_gmod(){
fn_sleep_time
cp -Rf "${fastdldir}/lua/"* "${fastdldir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Correcting DarkRP files"
core_exit.sh
@@ -342,7 +343,7 @@ fn_fastdl_source(){
fi
cp "${fastdlfile}" "${fastdldir}/${copytodir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Copying ${fastdlfile} > ${fastdldir}/${copytodir}"
core_exit.sh
@@ -378,7 +379,7 @@ fn_fastdl_gmod_dl_enforcer(){
echo -en "removing existing download enforcer: ${luafastdlfile}..."
rm -f "${luafastdlfullpath:?}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Removing existing download enforcer ${luafastdlfullpath}"
core_exit.sh
@@ -396,7 +397,7 @@ fn_fastdl_gmod_dl_enforcer(){
echo -e "resource.AddFile( \"${line}\" )" >> "${luafastdlfullpath}"
done < <(find "${fastdldir:?}" \( -type f ! -name "*.bz2" \) -printf '%P\n')
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Creating new download enforcer ${luafastdlfullpath}"
core_exit.sh
@@ -413,7 +414,7 @@ fn_fastdl_bzip2(){
echo -en "\r\033[Kcompressing ${filetocompress}..."
bzip2 -f "${filetocompress}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Compressing ${filetocompress}"
core_exit.sh
diff --git a/lgsm/functions/command_install.sh b/lgsm/functions/command_install.sh
index 9a6b64e98b..2437116d3f 100644
--- a/lgsm/functions/command_install.sh
+++ b/lgsm/functions/command_install.sh
@@ -8,6 +8,7 @@
commandname="INSTALL"
commandaction="Installing"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
if [ "$(whoami)" = "root" ]; then
@@ -42,6 +43,7 @@ else
install_ts3db.sh
elif [ "${shortname}" == "mta" ]; then
command_install_resources_mta.sh
+ fn_firstcommand_reset
fi
fix.sh
diff --git a/lgsm/functions/command_install_resources_mta.sh b/lgsm/functions/command_install_resources_mta.sh
index 053982e0b9..503948a3ca 100644
--- a/lgsm/functions/command_install_resources_mta.sh
+++ b/lgsm/functions/command_install_resources_mta.sh
@@ -7,6 +7,7 @@
commandname="DEFAULT-RESOURCES"
commandaction="Default Resources"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_install_resources(){
echo -e ""
diff --git a/lgsm/functions/command_mods_install.sh b/lgsm/functions/command_mods_install.sh
index d3c517461a..369f5f9678 100644
--- a/lgsm/functions/command_mods_install.sh
+++ b/lgsm/functions/command_mods_install.sh
@@ -8,6 +8,7 @@
commandname="MODS-INSTALL"
commandaction="Installing mods"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
mods_core.sh
diff --git a/lgsm/functions/command_mods_remove.sh b/lgsm/functions/command_mods_remove.sh
index 35fd41d5fb..7cbba8a714 100644
--- a/lgsm/functions/command_mods_remove.sh
+++ b/lgsm/functions/command_mods_remove.sh
@@ -8,6 +8,7 @@
commandname="MODS-REMOVE"
commandaction="Removing mods"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
mods_core.sh
@@ -70,7 +71,7 @@ while [ "${modfileline}" -le "${modsfilelistsize}" ]; do
if [ -f "${modinstalldir}/${currentfileremove}" ]||[ -d "${modinstalldir}/${currentfileremove}" ]; then
rm -rf "${modinstalldir:?}/${currentfileremove:?}"
((exitcode=$?))
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_script_log_fatal "Removing ${modinstalldir}/${currentfileremove}"
break
else
@@ -81,7 +82,7 @@ while [ "${modfileline}" -le "${modsfilelistsize}" ]; do
echo -e "removing ${modprettyname} ${modfileline} / ${modsfilelistsize} : ${currentfileremove}..."
((modfileline++))
done
-if [ ${exitcode} -ne 0 ]; then
+if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -92,7 +93,7 @@ echo -en "removing ${modcommand}-files.txt..."
fn_sleep_time
rm -rf "${modsdir:?}/${modcommand}-files.txt"
local exitcode=$?
-if [ ${exitcode} -ne 0 ]; then
+if [ "${exitcode}" != 0 ]; then
fn_script_log_fatal "Removing ${modsdir}/${modcommand}-files.txt"
fn_print_fail_eol_nl
core_exit.sh
@@ -107,7 +108,7 @@ fn_sleep_time
sed -i "/^${modcommand}$/d" "${modsinstalledlistfullpath}"
local exitcode=$?
-if [ ${exitcode} -ne 0 ]; then
+if [ "${exitcode}" != 0 ]; then
fn_script_log_fatal "Removing ${modcommand} from ${modsinstalledlist}"
fn_print_fail_eol_nl
core_exit.sh
@@ -123,6 +124,7 @@ if [ "${engine}" == "unity3d" ]&&[[ "${modprettyname}" == *"Oxide"* ]]; then
fn_script_log "Validating to restore original ${gamename} files replaced by Oxide"
exitbypass="1"
command_validate.sh
+ fn_firstcommand_reset
unset exitbypass
fi
echo -e "${modprettyname} removed"
diff --git a/lgsm/functions/command_mods_update.sh b/lgsm/functions/command_mods_update.sh
index 165b4ea988..9328a493dc 100644
--- a/lgsm/functions/command_mods_update.sh
+++ b/lgsm/functions/command_mods_update.sh
@@ -8,6 +8,7 @@
commandname="MODS-UPDATE"
commandaction="Updating mods"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
mods_core.sh
diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh
index 3a333a578e..89524ab91d 100644
--- a/lgsm/functions/command_monitor.sh
+++ b/lgsm/functions/command_monitor.sh
@@ -9,6 +9,7 @@
commandname="MONITOR"
commandaction="Monitoring"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_monitor_check_lockfile(){
# Monitor does not run it lockfile is not found.
@@ -107,7 +108,7 @@ for queryattempt in {1..5}; do
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} minutes ago"
- fn_script_log_info "Server started: $(date -d @$(cat lgsm/lock/bmdmserver.lock))"
+ fn_script_log_info "Server started: $(date -d @$(cat "${lockdir}/${selfname}.lock"))"
fn_script_log_info "Current time: $(date)"
monitorpass=1
core_exit.sh
@@ -170,6 +171,7 @@ for queryattempt in {1..5}; do
alert="restartquery"
alert.sh
command_restart.sh
+ fn_firstcommand_reset
core_exit.sh
fi
elif [ "${querymethod}" == "gamedig" ]; then
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
index a0afa29054..11ac446496 100644
--- a/lgsm/functions/command_postdetails.sh
+++ b/lgsm/functions/command_postdetails.sh
@@ -8,6 +8,7 @@
commandname="POST-DETAILS"
commandaction="Posting details"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
# Set posttarget to the appropriately-defined post destination.
diff --git a/lgsm/functions/command_restart.sh b/lgsm/functions/command_restart.sh
index 8a08c04ffc..9498c618c7 100644
--- a/lgsm/functions/command_restart.sh
+++ b/lgsm/functions/command_restart.sh
@@ -7,10 +7,11 @@
commandname="MODS-INSTALL"
commandaction="Restarting"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
info_config.sh
exitbypass=1
command_stop.sh
command_start.sh
-
+fn_firstcommand_reset
core_exit.sh
diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh
index d0487e5d44..48cb02e123 100644
--- a/lgsm/functions/command_start.sh
+++ b/lgsm/functions/command_start.sh
@@ -8,6 +8,7 @@
commandname="START"
commandaction="Starting"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_start_teamspeak3(){
if [ ! -f "${servercfgfullpath}" ]; then
@@ -188,8 +189,7 @@ if [ "${updateonstart}" == "yes" ]||[ "${updateonstart}" == "1" ]||[ "${updateon
exitbypass=1
unset updateonstart
command_update.sh
- commandname="START"
- commandaction="Starting"
+ fn_firstcommand_reset
fi
fn_print_dots "${servername}"
diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh
index 6ea4f4d7a6..439967fd0e 100644
--- a/lgsm/functions/command_stop.sh
+++ b/lgsm/functions/command_stop.sh
@@ -8,6 +8,7 @@
commandname="STOP"
commandaction="Stopping"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
# Attempts graceful shutdown by sending 'CTRL+c'.
fn_stop_graceful_ctrlc(){
@@ -228,6 +229,8 @@ fn_stop_graceful_select(){
fn_stop_graceful_goldsrc
elif [ "${stopmode}" == "10" ]; then
fn_stop_graceful_avorion
+ elif [ "${stopmode}" == "11" ]; then
+ fn_stop_graceful_cmd "end" 30
fi
}
diff --git a/lgsm/functions/command_test_alert.sh b/lgsm/functions/command_test_alert.sh
index 5d1c118854..625d5c6c25 100644
--- a/lgsm/functions/command_test_alert.sh
+++ b/lgsm/functions/command_test_alert.sh
@@ -7,6 +7,7 @@
commandname="TEST-ALERT"
commandaction="Sending Alert"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_print_dots "${servername}"
check.sh
diff --git a/lgsm/functions/command_ts3_server_pass.sh b/lgsm/functions/command_ts3_server_pass.sh
index 8ff799e6e5..c97d98805a 100644
--- a/lgsm/functions/command_ts3_server_pass.sh
+++ b/lgsm/functions/command_ts3_server_pass.sh
@@ -8,6 +8,7 @@
commandname="CHANGE-PASSWORD"
commandaction="Changing password"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_serveradmin_password_prompt(){
fn_print_header
@@ -28,6 +29,7 @@ fn_serveradmin_password_set(){
ts3serverpass="1"
exitbypass="1"
command_start.sh
+ fn_firstcommand_reset
fn_print_ok_nl "New password applied"
fn_script_log_pass "New ServerAdmin password applied"
}
@@ -39,13 +41,16 @@ if [ "${status}" != "0" ]; then
# Stop any running server.
exitbypass="1"
command_stop.sh
+ fn_firstcommand_reset
fn_serveradmin_password_set
parms="serveradmin_password=\"${newpassword}\" inifile=\"${servercfgfullpath}\" > /dev/null 2>&1"
ts3serverpass="0"
command_restart.sh
+ fn_firstcommand_reset
else
fn_serveradmin_password_set
command_stop.sh
+ fn_firstcommand_reset
fi
core_exit.sh
diff --git a/lgsm/functions/command_update.sh b/lgsm/functions/command_update.sh
index 88109a1471..2a6c23d572 100644
--- a/lgsm/functions/command_update.sh
+++ b/lgsm/functions/command_update.sh
@@ -7,6 +7,7 @@
commandname="UPDATE"
commandaction="Updating"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_print_dots ""
check.sh
diff --git a/lgsm/functions/command_update_linuxgsm.sh b/lgsm/functions/command_update_linuxgsm.sh
index c32bf321f9..56391409c6 100644
--- a/lgsm/functions/command_update_linuxgsm.sh
+++ b/lgsm/functions/command_update_linuxgsm.sh
@@ -7,6 +7,7 @@
commandname="UPDATE-LGSM"
commandaction="Updating LinuxGSM"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
@@ -77,7 +78,7 @@ if [ "${script_diff}" != "" ]; then
mkdir -p "${backupdir}/script"
fi
cp "${rootdir}/${selfname}" "${backupdir}/script/${selfname}-$(date +"%m_%d_%Y_%M").bak"
- if [ $? -ne 0 ]; then
+ if [ $? != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Backup ${selfname}"
core_exit.sh
@@ -159,7 +160,7 @@ if [ -n "${functionsdir}" ]; then
else
curl -IsfL "https://bitbucket.org/${githubuser}/${githubrepo}/raw/${githubbranch}/${github_file_url_dir}/${functionfile}" 1>/dev/null
fi
- if [ $? -ne 0 ]; then
+ if [ $? != 0 ]; then
fn_print_error_eol_nl
fn_script_log_error "Checking ${remotereponame} module ${functionfile}"
echo -en "removing module ${functionfile}...\c"
diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh
index 276458e483..690a86b437 100644
--- a/lgsm/functions/command_validate.sh
+++ b/lgsm/functions/command_validate.sh
@@ -7,85 +7,40 @@
commandname="VALIDATE"
commandaction="Validating"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
fn_validate(){
- fn_script_log_warn "Validating server: SteamCMD: Validate might overwrite some customised files"
+ fn_print_warn "Validate might overwrite some customised files"
+ fn_script_log_warn "${commandaction} server: Validate might overwrite some customised files"
totalseconds=3
for seconds in {3..1}; do
- fn_print_warn "Validating server: SteamCMD: Validate might overwrite some customised files: ${totalseconds}"
+ fn_print_warn "Validate might overwrite some customised files: ${totalseconds}"
totalseconds=$((totalseconds - 1))
sleep 1
if [ "${seconds}" == "0" ]; then
break
fi
done
- fn_print_warn_nl "Validating server: SteamCMD: Validate might overwrite some customised files"
- fn_print_start_nl "Validating server: SteamCMD"
- fn_script_log_info "Validating server: SteamCMD"
- if [ -d "${steamcmddir}" ]; then
- cd "${steamcmddir}" || exit
- fi
- # Detects if unbuffer command is available, for 32 bit distributions only.
- info_distro.sh
- if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
- unbuffer="stdbuf -i0 -o0 -e0"
- fi
+ fn_print_warn_nl "Validate might overwrite some customised files"
- # If GoldSrc (appid 90) servers. GoldSrc (appid 90) require extra commands.
- if [ "${appid}" == "90" ]; then
- # If using a specific branch.
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +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} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" +app_update "${appid}" validate +quit | tee -a "${lgsmlog}"
- fi
- elif [ "${shortname}" == "ac" ]; then
- ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" validate +quit
- local exitcode=$?
- # All other servers.
- elif [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" validate +quit | tee -a "${lgsmlog}"
- fi
-
- exitcode=$?
- fn_print_dots "Validating server: SteamCMD"
- if [ "${exitcode}" != "0" ]; then
- fn_print_fail_nl "Validating server: SteamCMD"
- fn_script_log_fatal "Validating server: SteamCMD: FAIL"
- else
- fn_print_ok_nl "Validating server: SteamCMD"
- fn_script_log_pass "Validating server: SteamCMD: OK"
- fi
- core_exit.sh
-}
-
-fn_stop_warning(){
- fn_print_warn "Validating server: SteamCMD: ${selfname} will be stopped during validation"
- fn_script_log_warn "Validating server: SteamCMD: ${selfname} will be stopped during validation"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Validating server: SteamCMD: ${selfname} will be stopped during validation: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Validating server: SteamCMD: ${selfname} will be stopped during validation"
+ fn_dl_steamcmd
}
-fn_print_dots "Validating server"
-fn_print_dots "Validating server: SteamCMD"
+# The location where the builds are checked and downloaded.
+remotelocation="SteamCMD"
check.sh
+
+fn_print_dots "${remotelocation}"
+
if [ "${status}" != "0" ]; then
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
fn_validate
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
else
fn_validate
fi
diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh
index 5b5abf5529..342a386586 100644
--- a/lgsm/functions/command_wipe.sh
+++ b/lgsm/functions/command_wipe.sh
@@ -8,31 +8,12 @@
commandname="WIPE"
commandaction="Wiping"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-
-check.sh
-fn_print_header
-fn_script_log "Entering ${gamename} ${commandaction}"
-
-# Process to server wipe.
-fn_wipe_server_process(){
- check_status.sh
- if [ "${status}" != "0" ]; then
- exitbypass=1
- command_stop.sh
- fn_wipe_server_remove_files
- exitbypass=1
- command_start.sh
- else
- fn_wipe_server_remove_files
- fi
- echo -e "server data wiped"
- fn_script_log "server data wiped."
-}
+fn_firstcommand_set
# Provides an exit code upon error.
fn_wipe_exit_code(){
((exitcode=$?))
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_script_log_fatal "${currentaction}"
core_exit.sh
else
@@ -41,166 +22,190 @@ fn_wipe_exit_code(){
}
# Removes files to wipe server.
-fn_wipe_server_remove_files(){
- # Rust Wipe.
- if [ "${shortname}" == "rust" ]; then
- # Wipe pocedural map.
- if [ "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then
- currentaction="Removing map file(s): ${serveridentitydir}/proceduralmap.*.map"
- echo -en "Removing procedural map proceduralmap.*.map file(s)..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete
- fn_wipe_exit_code
- fn_sleep_time
- else
- fn_print_information_nl "No procedural map file to remove"
- fn_script_log_info "No procedural map file to remove."
- fi
- # Wipe procedural map save.
- if [ "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.sav")" ]; then
- currentaction="Removing procedural map save(s): ${serveridentitydir}/proceduralmap.*.sav"
- echo -en "Removing map saves proceduralmap.*.sav file(s)..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "proceduralmap.*.sav" -delete
- fn_wipe_exit_code
- fn_sleep_time
- else
- fn_print_information_nl "No procedural map save to remove"
- fn_script_log_info "No procedural map save to remove."
- fi
- # Wipe Barren map.
- if [ "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then
- currentaction="Removing map file(s): ${serveridentitydir}/barren*.map"
- echo -en "Removing barren map barren*.map file(s)..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "barren*.map" -delete
- fn_wipe_exit_code
- fn_sleep_time
- else
- fn_print_information_nl "No barren map file to remove"
- fn_script_log_info "No barren map file to remove."
- fi
- # Wipe barren map save.
- if [ "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]; then
- currentaction="Removing barren map save(s): ${serveridentitydir}/barren*.sav"
- echo -en "Removing barren map saves barren*.sav file(s)..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "barren*.sav" -delete
- fn_wipe_exit_code
- fn_sleep_time
- else
- fn_print_information_nl "No barren map save to remove"
- fn_script_log_info "No barren map save to remove."
- fi
- # Wipe user dir, might be a legacy thing, maybe to be removed.
- if [ -d "${serveridentitydir}/user" ]; then
- currentaction="Removing user directory: ${serveridentitydir}/user"
- echo -en "Removing user directory..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- rm -rf "${serveridentitydir:?}/user"
- fn_wipe_exit_code
- fn_sleep_time
+fn_wipe_server_files(){
+ fn_print_start_nl "Wiping server"
+ fn_script_log_info "Wiping server"
+ # Wipe procedural map.
+ if [ "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.map")" ]; then
+ echo -en "removing procedural map proceduralmap.*.map file(s)..."
+ fn_sleep_time
+ fn_script_log_info "Removing procedural map file(s): ${serveridentitydir}/proceduralmap.*.map"
+ find "${serveridentitydir:?}" -type f -name "proceduralmap.*.map" -delete | tee -a "${lgsmlog}"
+ fn_wipe_exit_code
+ fn_sleep_time
+ else
+ echo -e "no procedural map file to remove"
+ fn_sleep_time
+ fn_script_log_pass "No procedural map file to remove"
+ fi
+ # Wipe procedural map save.
+ if [ "$(find "${serveridentitydir}" -type f -name "proceduralmap.*.sav")" ]; then
+ echo -en "removing map saves proceduralmap.*.sav file(s)..."
+ fn_sleep_time
+ fn_script_log_info "Removing procedural map save(s): ${serveridentitydir}/proceduralmap.*.sav"
+ find "${serveridentitydir:?}" -type f -name "proceduralmap.*.sav" -delete | tee -a "${lgsmlog}"
+ fn_wipe_exit_code
+ fn_sleep_time
+ else
+ echo -e "no procedural map save to remove"
+ fn_sleep_time
+ fn_script_log_pass "No procedural map save to remove"
+ fi
+ # Wipe Barren map.
+ if [ "$(find "${serveridentitydir}" -type f -name "barren*.map")" ]; then
+ echo -en "removing barren map barren*.map file(s)..."
+ fn_sleep_time
+ fn_script_log_info "Removing map file(s): ${serveridentitydir}/barren*.map"
+ find "${serveridentitydir:?}" -type f -name "barren*.map" -delete | tee -a "${lgsmlog}"
+ fn_wipe_exit_code
+ fn_sleep_time
+ else
+ echo -e "no barren map file to remove"
+ fn_sleep_time
+ fn_script_log_pass "No barren map file to remove"
+ fi
+ # Wipe barren map save.
+ if [ "$(find "${serveridentitydir}" -type f -name "barren*.sav")" ]; then
+ echo -en "removing barren map saves barren*.sav file(s)..."
+ fn_sleep_time
+ fn_script_log_info "Removing barren map save(s): ${serveridentitydir}/barren*.sav"
+ find "${serveridentitydir:?}" -type f -name "barren*.sav" -delete | tee -a "${lgsmlog}"
+ fn_wipe_exit_code
+ fn_sleep_time
+ else
+ echo -e "no barren map save to remove"
+ fn_sleep_time
+ fn_script_log_pass "No barren map save to remove."
+ fi
+ # Wipe user dir, might be a legacy thing, maybe to be removed.
+ if [ -d "${serveridentitydir}/user" ]; then
+ echo -en "removing user directory..."
+ fn_sleep_time
+ fn_script_log_info "removing user directory: ${serveridentitydir}/user"
+ rm -rf "${serveridentitydir:?}/user"
+ fn_wipe_exit_code
+ fn_sleep_time
# We do not print additional information if there is nothing to remove since this might be obsolete.
- fi
- # Wipe storage dir, might be a legacy thing, maybe to be removed.
- if [ -d "${serveridentitydir}/storage" ]; then
- currentaction="Removing storage directory: ${serveridentitydir}/storage"
- echo -en "Removing storage directory..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- rm -rf "${serveridentitydir:?}/storage"
- fn_wipe_exit_code
- fn_sleep_time
+ fi
+ # Wipe storage dir, might be a legacy thing, maybe to be removed.
+ if [ -d "${serveridentitydir}/storage" ]; then
+ echo -en "removing storage directory..."
+ fn_sleep_time
+ fn_script_log_info "removing storage directory: ${serveridentitydir}/storage"
+ rm -rf "${serveridentitydir:?}/storage"
+ fn_wipe_exit_code
+ fn_sleep_time
# We do not print additional information if there is nothing to remove since this might be obsolete.
- fi
- # Wipe sv.files.
- if [ "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then
- currentaction="Removing server misc files: ${serveridentitydir}/sv.files.*.db"
- echo -en "Removing server misc srv.files*.db file(s)..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "sv.files.*.db" -delete
- fn_wipe_exit_code
- fn_sleep_time
+ fi
+ # Wipe sv.files.
+ if [ "$(find "${serveridentitydir}" -type f -name "sv.files.*.db")" ]; then
+ echo -en "removing server misc srv.files*.db file(s)..."
+ fn_sleep_time
+ fn_script_log_info "Removing server misc files: ${serveridentitydir}/sv.files.*.db"
+ find "${serveridentitydir:?}" -type f -name "sv.files.*.db" -delete | tee -a "${lgsmlog}"
+ fn_wipe_exit_code
+ fn_sleep_time
# No further information if not found because it should I could not get this file showing up.
- fi
- # Wipe player death files.
- if [ "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]; then
- currentaction="Removing player death files: ${serveridentitydir}/player.deaths.*.db"
- echo -en "Removing player deaths player.deaths.*.db file(s)..."
+ fi
+ # Wipe player death files.
+ if [ "$(find "${serveridentitydir}" -type f -name "player.deaths.*.db")" ]; then
+ echo -en "removing player deaths player.deaths.*.db file(s)..."
+ fn_sleep_time
+ fn_script_log_info "Removing player death files: ${serveridentitydir}/player.deaths.*.db"
+ find "${serveridentitydir:?}" -type f -name "player.deaths.*.db" -delete | tee -a "${lgsmlog}"
+ fn_wipe_exit_code
+ fn_sleep_time
+ else
+ echo -e "no player death to remove"
+ fn_sleep_time
+ fn_script_log_pass "No player death to remove"
+ fi
+ # Wipe blueprints only if full-wipe command was used.
+ if [ "${fullwipe}" == "1" ]; then
+ if [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
+ echo -en "removing blueprints player.blueprints.*.db file(s)..."
fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "player.deaths.*.db" -delete
+ fn_script_log_info "Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db"
+ find "${serveridentitydir:?}" -type f -name "player.blueprints.*.db" -delete | tee -a "${lgsmlog}"
fn_wipe_exit_code
fn_sleep_time
else
- fn_print_information_nl "No player death to remove"
- fn_script_log_info "No player death to remove."
- fi
- # Wipe blueprints only if wipeall command was used.
- if [ "${wipeall}" == "1" ]; then
- if [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
- currentaction="Removing blueprint file(s): ${serveridentitydir}/player.blueprints.*.db"
- echo -en "Removing blueprints player.blueprints.*.db file(s)..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "player.blueprints.*.db" -delete
- fn_wipe_exit_code
- fn_sleep_time
- else
- fn_print_information_nl "No blueprint file to remove"
- fn_script_log_info "No blueprint file to remove."
- fi
- elif [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
- fn_print_information_nl "Keeping blueprints"
- fn_script_log_info "Keeping blueprints."
- else
- fn_print_information_nl "No blueprints found"
- fn_script_log_info "No blueprints found."
- fn_sleep_time
- fi
- # Wipe some logs that might be there.
- if [ "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then
- currentaction="Removing log files: ${serveridentitydir}/Log.*.txt"
- echo -en "Removing Log files..."
- fn_sleep_time
- fn_script_log "${currentaction}"
- find "${serveridentitydir:?}" -type f -name "Log.*.txt" -delete
- fn_wipe_exit_code
+ echo -e "no blueprint file to remove"
fn_sleep_time
- # We do not print additional information if there are no logs to remove.
+ fn_script_log_pass "No blueprint file to remove"
fi
- # You can add an "elif" here to add another game or engine.
+ elif [ "$(find "${serveridentitydir}" -type f -name "player.blueprints.*.db")" ]; then
+ echo -e "keeping blueprints"
+ fn_sleep_time
+ fn_script_log_info "Keeping blueprints"
+ else
+ echo -e "no blueprints found"
+ fn_sleep_time
+ fn_script_log_pass "No blueprints found"
+ fi
+ # Wipe some logs that might be there.
+ if [ "$(find "${serveridentitydir}" -type f -name "Log.*.txt")" ]; then
+ echo -en "removing Log files..."
+ fn_sleep_time
+ fn_script_log_info "Removing log files: ${serveridentitydir}/Log.*.txt"
+ find "${serveridentitydir:?}" -type f -name "Log.*.txt" -delete
+ fn_wipe_exit_code
+ fn_sleep_time
+ # We do not print additional information if there are no logs to remove.
fi
}
-# Check if there is something to wipe, prompt the user, and call appropriate functions.
-# Rust Wipe.
-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
- core_exit.sh
+fn_stop_warning(){
+ fn_print_warn "this game server will be stopped during wipe"
+ fn_script_log_warn "this game server will be stopped during wipe"
+ totalseconds=3
+ for seconds in {3..1}; do
+ fn_print_warn "this game server will be stopped during wipe: ${totalseconds}"
+ totalseconds=$((totalseconds - 1))
+ sleep 1
+ if [ "${seconds}" == "0" ]; then
+ break
fi
- fn_script_log_info "User selects to erase any user, storage, log and map data from ${serveridentitydir}"
- fn_sleep_time
- fn_wipe_server_process
+ done
+ fn_print_warn_nl "this game server will be stopped during wipe"
+}
+
+fn_wipe_warning(){
+ fn_print_warn "wipe is about to start"
+ fn_script_log_warn "wipe is about to start"
+ totalseconds=3
+ for seconds in {3..1}; do
+ fn_print_warn "wipe is about to start: ${totalseconds}"
+ totalseconds=$((totalseconds - 1))
+ sleep 1
+ if [ "${seconds}" == "0" ]; then
+ break
+ fi
+ done
+ fn_print_warn "wipe is about to start"
+}
+
+fn_print_dots ""
+check.sh
+
+# Check if there is something to wipe.
+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_wipe_warning
+ check_status.sh
+ if [ "${status}" != "0" ]; then
+ fn_stop_warning
+ exitbypass=1
+ command_stop.sh
+ fn_firstcommand_reset
+ fn_wipe_server_files
+ exitbypass=1
+ command_start.sh
+ fn_firstcommand_reset
else
- fn_print_information_nl "No data to wipe was found"
- fn_script_log_info "No data to wipe was found."
- core_exit.sh
+ fn_wipe_server_files
fi
-# You can add an "elif" here to add another game or engine.
-else
- # Game not listed.
- fn_print_information_nl "Wipe is not available for this game"
- fn_script_log_info "Wipe is not available for this game."
- core_exit.sh
+ fn_print_ok_nl ""
+ fn_script_log_pass "Wiping server"
fi
core_exit.sh
diff --git a/lgsm/functions/compress_unreal2_maps.sh b/lgsm/functions/compress_unreal2_maps.sh
index 3580c20c93..82d94d4d8c 100644
--- a/lgsm/functions/compress_unreal2_maps.sh
+++ b/lgsm/functions/compress_unreal2_maps.sh
@@ -7,6 +7,7 @@
commandname="MAP-COMPRESSOR"
commandaction="Compressing maps"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
fn_print_header
diff --git a/lgsm/functions/compress_ut99_maps.sh b/lgsm/functions/compress_ut99_maps.sh
index 677f5aaa24..39153ba3e0 100644
--- a/lgsm/functions/compress_ut99_maps.sh
+++ b/lgsm/functions/compress_ut99_maps.sh
@@ -7,6 +7,7 @@
commandname="MAP-COMPRESSOR"
commandaction="Compressing maps"
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_firstcommand_set
check.sh
fn_print_header
diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh
index 89ee784dbe..a6521ac035 100644
--- a/lgsm/functions/core_dl.sh
+++ b/lgsm/functions/core_dl.sh
@@ -19,13 +19,127 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+fn_dl_steamcmd(){
+ fn_print_start_nl "${remotelocation}"
+ fn_script_log_info "${commandaction} server: ${remotelocation}"
+ if [ -n "${branch}" ]; then
+ echo -e "Branch: ${branch}"
+ fn_script_log_info "Branch: ${branch}"
+ fi
+ if [ -n "${betapassword}" ]; then
+ echo -e "Branch password: ${betapassword}"
+ fn_script_log_info "Branch password: ${betapassword}"
+ fi
+ if [ -d "${steamcmddir}" ]; then
+ cd "${steamcmddir}" || exit
+ fi
+
+ # Unbuffer will allow the output of steamcmd not buffer allowing a smooth output.
+ # unbuffer us part of the expect package.
+ if [ "$(command -v unbuffer)" ]; then
+ unbuffer="unbuffer"
+ fi
+
+ # Validate will be added as a parameter if required.
+ if [ "${commandname}" == "VALIDATE" ]||[ "${commandname}" == "INSTALL" ]; then
+ validate="validate"
+ fi
+
+ # To do error checking for SteamCMD the output of steamcmd will be saved to a log.
+ steamcmdlog="${lgsmlogdir}/${selfname}-steamcmd.log"
+
+ # clear previous steamcmd log
+ if [ -f "${steamcmdlog}" ]; then
+ rm -f "${steamcmdlog:?}"
+ fi
+ counter=0
+ while [ "${counter}" == "0" ]||[ "${exitcode}" != "0" ]; do
+ counter=$((counter+1))
+ # Select SteamCMD parameters
+ # If GoldSrc (appid 90) servers. GoldSrc (appid 90) require extra commands.
+ if [ "${appid}" == "90" ]; then
+ # If using a specific branch.
+ if [ -n "${branch}" ]&&[ -n "${betapassword}" ]; then
+ ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" -betapassword "${betapassword}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ elif [ -n "${branch}" ]; then
+ ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ else
+ ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ fi
+ # Force Windows Platform type.
+ elif [ "${shortname}" == "ac" ]; then
+ if [ -n "${branch}" ]&&[ -n "${betapassword}" ]; then
+ ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" -betapassword "${betapassword}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ elif [ -n "${branch}" ]; then
+ ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ else
+ ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ fi
+ # All other servers.
+ else
+ if [ -n "${branch}" ]&&[ -n "${betapassword}" ]; then
+ ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" -betapassword "${betapassword}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ elif [ -n "${branch}" ]; then
+ ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ else
+ ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" ${validate} +quit | tee -a "${lgsmlog}" "${steamcmdlog}"
+ fi
+ fi
+
+ # Error checking for SteamCMD. Some errors will loop to try again and some will just exit.
+ exitcode=$?
+ if [ -n "$(grep "Error!" "${steamcmdlog}" | tail -1)" ]||[ -n "$(grep "ERROR!" "${steamcmdlog}" | tail -1)" ]; then
+ # Not enough space.
+ if [ -n "$(grep "0x202" "${steamcmdlog}" | tail -1)" ]; then
+ fn_print_failure_nl "${commandaction} server: ${remotelocation}: Not enough space to download server files"
+ fn_script_log_fatal "${commandaction} server: ${remotelocation}: Not enough space to download server files"
+ core_exit.sh
+ # Need tp purchase game.
+ elif [ -n "$(grep "No subscription" "${steamcmdlog}" | tail -1)" ]; then
+ fn_print_failure_nl "${commandaction} server: ${remotelocation}: Steam account does not have a license for the required game"
+ fn_script_log_fatal "${commandaction} server: ${remotelocation}: Steam account does not have a license for the required game"
+ core_exit.sh
+ # Two-factor authentication failure
+ elif [ -n "$(grep "Two-factor code mismatch" "${steamcmdlog}" | tail -1)" ]; then
+ fn_print_failure_nl "${commandaction} server: ${remotelocation}: Two-factor authentication failure"
+ fn_script_log_fatal "${commandaction} server: ${remotelocation}: Two-factor authentication failure"
+ core_exit.sh
+ # Incorrect Branch password
+ elif [ -n "$(grep "Password check for AppId" "${steamcmdlog}" | tail -1)" ]; then
+ fn_print_failure_nl "${commandaction} server: ${remotelocation}: betapassword is incorrect"
+ fn_script_log_fatal "${commandaction} server: ${remotelocation}: betapassword is incorrect"
+ core_exit.sh
+ # Update did not finish.
+ elif [ -n "$(grep "0x402" "${steamcmdlog}" | tail -1)" ]||[ -n "$(grep "0x602" "${steamcmdlog}" | tail -1)" ]; then
+ fn_print_error2_nl "${commandaction} server: ${remotelocation}: Update required but not completed - check network"
+ fn_script_log_error "${commandaction} server: ${remotelocation}: Update required but not completed - check network"
+ else
+ fn_print_error2_nl "${commandaction} server: ${remotelocation}: Unknown error occured"
+ fn_script_log_error "${commandaction} server: ${remotelocation}: Unknown error occured"
+ fi
+ elif [ "${exitcode}" != "0" ]; then
+ fn_print_error2_nl "${commandaction} server: ${remotelocation}: Exit code: ${exitcode}"
+ fn_script_log_error "${commandaction} server: ${remotelocation}: Exit code: ${exitcode}"
+ else
+ fn_print_complete_nl "${commandaction} server: ${remotelocation}"
+ fn_script_log_pass "${commandaction} server: ${remotelocation}"
+ fi
+
+ if [ "${counter}" -gt "10" ]; then
+ fn_print_failure_nl "${commandaction} server: ${remotelocation}: Did not complete the download, too many retrys"
+ fn_script_log_fatal "${commandaction} server: ${remotelocation}: Did not complete the download, too many retrys"
+ core_exit.sh
+ fi
+ done
+}
+
# Emptys contents of the LinuxGSM tmpdir.
fn_clear_tmp(){
echo -en "clearing LinuxGSM tmp directory..."
if [ -d "${tmpdir}" ]; then
rm -rf "${tmpdir:?}/"*
local exitcode=$?
- if [ ${exitcode} -eq 0 ]; then
+ if [ "${exitcode}" == 0 ]; then
fn_print_ok_eol_nl
fn_script_log_pass "clearing LinuxGSM tmp directory"
else
@@ -82,7 +196,7 @@ fn_dl_extract(){
extractcmd=$(unzip -qo -d "${extractdir}" "${local_filedir}/${local_filename}")
fi
local exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Extracting download"
if [ -f "${lgsmlog}" ]; then
@@ -171,7 +285,7 @@ fn_fetch_file(){
fi
# On first try will error. On second try will fail.
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
if [ ${counter} -ge 2 ]; then
fn_print_fail_eol_nl
if [ -f "${lgsmlog}" ]; then
diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh
index 4b03871944..c0be8d8cc8 100644
--- a/lgsm/functions/core_functions.sh
+++ b/lgsm/functions/core_functions.sh
@@ -7,7 +7,7 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
-modulesversion="v20.3.3"
+modulesversion="v20.4.0"
# Core
diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh
index 1ddc15ce29..fe31f488f2 100644
--- a/lgsm/functions/core_getopt.sh
+++ b/lgsm/functions/core_getopt.sh
@@ -61,7 +61,7 @@ currentopt=( "${cmd_start[@]}" "${cmd_stop[@]}" "${cmd_restart[@]}" "${cmd_monit
currentopt+=( "${cmd_update_linuxgsm[@]}" )
# Exclude noupdate games here.
-if [ "${engine}" != "quake" ]&&[ "${engine}" != "idtech2" ]&&[ "${engine}" != "idtech3" ]&&[ "${engine}" != "iw2.0" ]&&[ "${engine}" != "iw3.0" ]&&[ "${shortname}" != "bf1942" ]&&[ "${shortname}" != "samp" ]; then
+if [ "${engine}" != "quake" ]&&[ "${engine}" != "idtech2" ]&&[ "${engine}" != "idtech3" ]&&[ "${engine}" != "iw2.0" ]&&[ "${engine}" != "iw3.0" ]&&[ "${shortname}" != "bf1942" ]&&[ "${shortname}" != "bfv" ]&&[ "${shortname}" != "samp" ]; then
currentopt+=( "${cmd_update[@]}" )
# force update for SteamCMD only or MTA.
if [ "${appid}" ]||[ "${shortname}" == "mta" ]; then
diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh
index 8a13cc6ea5..c467c2a4d4 100644
--- a/lgsm/functions/core_messages.sh
+++ b/lgsm/functions/core_messages.sh
@@ -529,3 +529,35 @@ fn_print_ascii_logo(){
echo -e "${lightyellow}LinuxGSM${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}Y8888Y${default} ${lightyellow}888${default} ${lightyellow}888${default} Y2012P88 Y8888P 888 888"
echo -e ""
}
+
+fn_print_restart_warning(){
+ fn_print_warn "${selfname} will be restarted"
+ fn_script_log_warn "${selfname} will be restarted"
+ totalseconds=3
+ for seconds in {3..1}; do
+ fn_print_warn "${selfname} will be restarted: ${totalseconds}"
+ totalseconds=$((totalseconds - 1))
+ sleep 1
+ if [ "${seconds}" == "0" ]; then
+ break
+ fi
+ done
+ fn_print_warn_nl "${selfname} will be restarted"
+}
+
+# Functions below are used to ensure that logs and UI correctly reflect the command it is actually running.
+# Useful when a command has to call upon another command causing the other command to overrite commandname variables
+
+# Used to remember the command that ran first.
+fn_firstcommand_set(){
+ if [ -z "${firstcommandname}" ]; then
+ firstcommandname="${commandname}"
+ firstcommandaction="${commandaction}"
+ fi
+}
+
+# Used to reset commandname variables to the command the script ran first.
+fn_firstcommand_reset(){
+ commandname="${firstcommandname}"
+ commandaction="${firstcommandaction}"
+}
diff --git a/lgsm/functions/core_trap.sh b/lgsm/functions/core_trap.sh
index f943c5c33c..52c00b1072 100644
--- a/lgsm/functions/core_trap.sh
+++ b/lgsm/functions/core_trap.sh
@@ -7,6 +7,9 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
fn_exit_trap(){
+ if [ -z "${exitcode}" ]; then
+ exitcode=$?
+ fi
echo -e ""
core_exit.sh
}
diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh
index a42f0e51d9..74d6fb00bc 100644
--- a/lgsm/functions/fix.sh
+++ b/lgsm/functions/fix.sh
@@ -21,7 +21,7 @@ fn_fix_msg_start_nl(){
}
fn_fix_msg_end(){
- if [ $? -ne 0 ]; then
+ if [ $? != 0 ]; then
fn_print_error_nl "Applying ${fixname} fix: ${gamename}"
fn_script_log_error "Applying ${fixname} fix: ${gamename}"
else
diff --git a/lgsm/functions/fix_ark.sh b/lgsm/functions/fix_ark.sh
index 3c1355b1eb..4c4cf3f329 100644
--- a/lgsm/functions/fix_ark.sh
+++ b/lgsm/functions/fix_ark.sh
@@ -7,18 +7,18 @@
functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
# removes mulitple appworkshop_346110.acf if found.
-steamappsfilewc=$(find ${HOME} -name appworkshop_346110.acf | wc -l)
+steamappsfilewc="$(find "${HOME}" -name appworkshop_346110.acf | wc -l)"
if [ "${steamappsfilewc}" -gt "1" ]; then
fixname="multiple appworkshop acf files"
fn_fix_msg_start
- find ${HOME} -name appworkshop_346110.acf -exec rm -f {} \;
+ find "${HOME}" -name appworkshop_346110.acf -exec rm -f {} \;
fn_fix_msg_end
elif [ "${steamappsfilewc}" -eq "1" ]; then
# Steam mods directory selecter
# This allows LinxuGSM to select either ~/.steam or ~/Steam. depending on what is being used
- steamappsfile=$(find ${HOME} -name appworkshop_346110.acf)
+ steamappsfile=$(find "${HOME}" -name appworkshop_346110.acf)
steamappsdir=$(dirname "${steamappsfile}")
- steamappspath=$(cd "${steamappsdir}"|| return; cd ../;pwd)
+ steamappspath=$(cd "${steamappsdir}" || return; cd ../;pwd)
# removes the symlink if exists.
# fixes issue with older versions of LinuxGSM linking to /home/arkserver/steamcmd
@@ -40,7 +40,7 @@ elif [ "${steamappsfilewc}" -eq "1" ]; then
fi
# if the steamapps symlink is incorrect unlink it.
- if [ -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" ]&&[ -L "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" ]&&[ "$(readlink ${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps)" != "${steamappspath}" ]; then
+ if [ -d "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux" ]&&[ -L "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps" ]&&[ "$(readlink "${serverfiles}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps")" != "${steamappspath}" ]; then
fixname="incorrect steamapps symlink"
fn_fix_msg_start
unlink "${serverfiles:?}/Engine/Binaries/ThirdParty/SteamCMD/Linux/steamapps"
diff --git a/lgsm/functions/fix_av.sh b/lgsm/functions/fix_av.sh
index bf9ff2b4ba..3edf7862be 100644
--- a/lgsm/functions/fix_av.sh
+++ b/lgsm/functions/fix_av.sh
@@ -10,7 +10,7 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${serverfiles}:${serverfiles}/linux64"
if [ "${postinstall}" == "1" ]; then
fn_parms(){
- parms="--datapath ${avdatapath} --galaxy-name ${avgalaxy} --init-folders-only"
+ parms="--datapath ${avdatapath} --galaxy-name ${selfname} --init-folders-only"
}
fn_print_information "starting ${gamename} server to generate configs."
diff --git a/lgsm/functions/fix_kf.sh b/lgsm/functions/fix_kf.sh
index f0c29ee6fc..c4a294515c 100644
--- a/lgsm/functions/fix_kf.sh
+++ b/lgsm/functions/fix_kf.sh
@@ -21,11 +21,15 @@ echo -e "forcing server restart..."
fn_sleep_time
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 5
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 5
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
diff --git a/lgsm/functions/fix_kf2.sh b/lgsm/functions/fix_kf2.sh
index 77edd77e80..e826dea2a1 100644
--- a/lgsm/functions/fix_kf2.sh
+++ b/lgsm/functions/fix_kf2.sh
@@ -14,6 +14,8 @@ fn_print_information "starting ${gamename} server to generate configs."
fn_sleep_time
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 10
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
diff --git a/lgsm/functions/fix_ro.sh b/lgsm/functions/fix_ro.sh
index 9f08d56d7b..c9254aa64e 100644
--- a/lgsm/functions/fix_ro.sh
+++ b/lgsm/functions/fix_ro.sh
@@ -24,11 +24,15 @@ echo -e "forcing server restart..."
fn_sleep_time
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 5
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 5
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
diff --git a/lgsm/functions/fix_ut2k4.sh b/lgsm/functions/fix_ut2k4.sh
index fa2d29bf59..cc1621815f 100644
--- a/lgsm/functions/fix_ut2k4.sh
+++ b/lgsm/functions/fix_ut2k4.sh
@@ -21,11 +21,15 @@ echo -e "forcing server restart."
fn_sleep_time
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 5
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 5
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
diff --git a/lgsm/functions/fix_ut3.sh b/lgsm/functions/fix_ut3.sh
index e6c018d00b..402683bf12 100644
--- a/lgsm/functions/fix_ut3.sh
+++ b/lgsm/functions/fix_ut3.sh
@@ -14,6 +14,8 @@ fn_print_information "starting ${gamename} server to generate configs."
fn_sleep_time
exitbypass=1
command_start.sh
+fn_firstcommand_reset
sleep 10
exitbypass=1
command_stop.sh
+fn_firstcommand_reset
diff --git a/lgsm/functions/fix_wurm.sh b/lgsm/functions/fix_wurm.sh
index 809651d55d..dfba3afdcc 100644
--- a/lgsm/functions/fix_wurm.sh
+++ b/lgsm/functions/fix_wurm.sh
@@ -18,8 +18,10 @@ if [ ! -d "${serverfiles}/Creative" ]; then
fixbypass=1
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
sleep 10
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
unset parmsbypass
fi
diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh
index 743c657e04..14319b9bf0 100644
--- a/lgsm/functions/info_config.sh
+++ b/lgsm/functions/info_config.sh
@@ -181,7 +181,7 @@ fn_info_config_bf1942(){
queryport="${zero}"
else
- servername=$(grep "game.serverName " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs)
+ servername=$(grep "game.serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs)
serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
@@ -199,14 +199,41 @@ fn_info_config_bf1942(){
fi
}
+fn_info_config_bfv(){
+ if [ ! -f "${servercfgfullpath}" ]; then
+ servername="${unavailable}"
+ serverpassword="${unavailable}"
+ maxplayers="${zero}"
+ port="${zero}"
+ queryport="${zero}"
+ else
+
+ servername=$(grep "game.serverName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName//g' | tr -d '=\";,:' | xargs)
+ serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
+ maxplayers=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
+ port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
+ queryport="23000"
+
+ ip=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs)
+ ipsetinconfig=1
+ ipinconfigvar="game.serverIP"
+
+ # Not Set
+ servername=${servername:-"NOT SET"}
+ serverpassword=${serverpassword:-"NOT SET"}
+ maxplayers=${maxplayers:-"0"}
+ port=${port:-"0"}
+ fi
+}
+
fn_info_config_chivalry(){
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
serverpassword="${unavailable}"
adminpassword="${unavailable}"
else
- servername=$(egrep "^ServerName" "${servercfgfullpath}" | sed 's/^ServerName=//')
- adminpassword=$(egrep "^AdminPassword" "${servercfgfullpath}" | sed 's/^AdminPassword=//')
+ servername=$(grep -E "^ServerName" "${servercfgfullpath}" | sed 's/^ServerName=//')
+ adminpassword=$(grep -E "^AdminPassword" "${servercfgfullpath}" | sed 's/^AdminPassword=//')
# Not Set
servername=${servername:-"NOT SET"}
@@ -457,6 +484,20 @@ fn_info_config_minecraft_bedrock(){
fi
}
+fn_info_config_mofm(){
+ if [ ! -f "${servercfgfullpath}" ]; then
+ servername="${unavailable}"
+ serverpassword="${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]*$//')
+ serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/ServerPassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
+
+ # Not Set
+ servername=${servername:-"NOT SET"}
+ serverpassword=${serverpassword:-"NOT SET"}
+ fi
+}
+
fn_info_config_onset(){
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
@@ -1472,6 +1513,9 @@ elif [ "${shortname}" == "bt1944" ]; then
# Battlefield: 1942
elif [ "${shortname}" == "bf1942" ]; then
fn_info_config_bf1942
+# Battlefield: Vietnam
+elif [ "${shortname}" == "bfv" ]; then
+ fn_info_config_bfv
# Chivalry: Medieval Warfare
elif [ "${shortname}" == "cmw" ]; then
fn_info_config_chivalry
@@ -1511,6 +1555,9 @@ elif [ "${shortname}" == "kf2" ]; then
# Medal of Honor: Allied Assault
elif [ "${shortname}" == "mohaa" ]; then
fn_info_config_mohaa
+# Memories of Mars
+elif [ "${shortname}" == "mofm" ]; then
+ fn_info_config_mofm
# QuakeWorld
elif [ "${shortname}" == "qw" ]; then
fn_info_config_quakeworld
diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh
index 1e2a519f4b..c50953cdc7 100644
--- a/lgsm/functions/info_distro.sh
+++ b/lgsm/functions/info_distro.sh
@@ -228,7 +228,7 @@ netlink=$(ethtool "${netint}" 2>/dev/null| grep Speed | awk '{print $2}')
# External IP address
if [ -z "${extip}" ]; then
- extip=$(curl -4 -m 3 ifconfig.co 2>/dev/null)
+ extip=$(curl -s https://api.ipify.org 2>/dev/null)
exitcode=$?
# Should ifconfig.co return an error will use last known IP.
if [ ${exitcode} -eq 0 ]; then
@@ -238,14 +238,14 @@ if [ -z "${extip}" ]; then
if [ -f "${tmpdir}/extip.txt" ]; then
extip=$(cat "${tmpdir}/extip.txt")
else
- echo -e "x.x.x.x"
+ fn_print_error_nl "Unable to get external IP"
fi
fi
else
if [ -f "${tmpdir}/extip.txt" ]; then
extip=$(cat "${tmpdir}/extip.txt")
else
- echo -e "x.x.x.x"
+ fn_print_error_nl "Unable to get external IP"
fi
fi
fi
diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh
index 0639144978..cde94d319c 100644
--- a/lgsm/functions/info_messages.sh
+++ b/lgsm/functions/info_messages.sh
@@ -135,7 +135,7 @@ fn_info_message_gameserver_resource(){
echo -e "${lightyellow}Game Server Resource Usage${default}"
fn_messages_separator
{
- if [ "${status}" == "1" ]; then
+ if [ "${status}" != "0" ]; then
echo -e "${lightblue}CPU Used:\t${default}${cpuused}%${default}"
echo -e "${lightblue}Mem Used:\t${default}${pmemused}%\t${memused}MB${default}"
else
@@ -187,11 +187,21 @@ fn_info_message_gameserver(){
echo -e "${lightblue}Server Description:\t${default}${serverdescription}"
fi
+ # Appid
+ if [ -n "${appid}" ]; then
+ echo -e "${lightblue}App ID:\t${default}${appid}"
+ fi
+
# Branch
if [ -n "${branch}" ]; then
echo -e "${lightblue}Branch:\t${default}${branch}"
fi
+ # Beta Password
+ if [ -n "${betapassword}" ]; then
+ echo -e "${lightblue}Beta Password:\t${default}${betapassword}"
+ fi
+
# Server ip
if [ "${multiple_ip}" == "1" ]; then
echo -e "${lightblue}Server IP:\t${default}NOT SET"
@@ -871,6 +881,16 @@ fn_info_message_mohaa(){
} | column -s $'\t' -t
}
+fn_info_message_mom(){
+ echo -e "netstat -atunp | grep MemoriesOfMar"
+ echo -e ""
+ {
+ echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
+ echo -e "> Game\tINBOUND\t${port}\tudp"
+ echo -e "> BeaconPort\tINBOUND\t${beaconport}\tudp"
+ } | column -s $'\t' -t
+}
+
fn_info_message_mumble(){
echo -e "netstat -atunp | grep murmur"
echo -e ""
@@ -982,6 +1002,16 @@ fn_info_message_bf1942(){
} | column -s $'\t' -t
}
+fn_info_message_bfv(){
+ echo -e "netstat -atunp | grep bfv_linded"
+ echo -e ""
+ {
+ echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}"
+ echo -e "> Game\tINBOUND\t${port}\tudp"
+ echo -e "> Query\tINBOUND\t${queryport}\tudp"
+ } | column -s $'\t' -t
+}
+
fn_info_message_risingworld(){
echo -e "netstat -atunp | grep java"
echo -e ""
@@ -1436,6 +1466,8 @@ fn_info_message_select_engine(){
fn_info_message_minecraft_bedrock
elif [ "${shortname}" == "onset" ]; then
fn_info_message_onset
+ elif [ "${shortname}" == "mom" ]; then
+ fn_info_message_mom
elif [ "${shortname}" == "pz" ]; then
fn_info_message_projectzomboid
elif [ "${shortname}" == "pstbs" ]; then
@@ -1462,7 +1494,7 @@ fn_info_message_select_engine(){
fn_info_message_sof2
elif [ "${shortname}" == "sol" ]; then
fn_info_message_soldat
- elif [ "${shortname}" == "st" ]; then
+ elif [ "${shortname}" == "sb" ]; then
fn_info_message_starbound
elif [ "${shortname}" == "sbots" ]; then
fn_info_message_sbots
@@ -1492,6 +1524,8 @@ fn_info_message_select_engine(){
fn_info_message_mumble
elif [ "${shortname}" == "bf1942" ]; then
fn_info_message_bf1942
+ elif [ "${shortname}" == "bfv" ]; then
+ fn_info_message_bfv
elif [ "${shortname}" == "rtcw" ]; then
fn_info_message_rtcw
elif [ "${shortname}" == "rust" ]; then
diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh
index 1a6a42bb85..f30d900200 100644
--- a/lgsm/functions/info_parms.sh
+++ b/lgsm/functions/info_parms.sh
@@ -85,6 +85,11 @@ fn_info_parms_mohaa(){
defaultmap=${defaultmap:-"NOT SET"}
}
+fn_info_parms_mom(){
+ port=${port:-"7777"}
+ beaconport=${queryport:-"15000"}
+}
+
fn_info_parms_mta(){
queryport=$((port + 123))
}
@@ -245,6 +250,9 @@ elif [ "${shortname}" == "kf2" ]; then
fn_info_parms_kf2
elif [ "${shortname}" == "mohaa" ]; then
fn_info_parms_mohaa
+#Memories of Mars
+elif [ "${shortname}" == "mom" ]; then
+ fn_info_parms_mom
# Project Zomboid
elif [ "${shortname}" == "pz" ]; then
fn_info_parms_projectzomboid
diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh
index ced111afb1..e57b2daac0 100644
--- a/lgsm/functions/install_config.sh
+++ b/lgsm/functions/install_config.sh
@@ -239,6 +239,13 @@ elif [ "${shortname}" == "bf1942" ]; then
fn_default_config_remote
fn_set_config_vars
fn_list_config_locations
+elif [ "${shortname}" == "bfv" ]; then
+ gamedirname="BattlefieldVietnam"
+ array_configs+=( serversettings.con )
+ fn_fetch_default_config
+ fn_default_config_remote
+ fn_set_config_vars
+ fn_list_config_locations
elif [ "${shortname}" == "bs" ]; then
gamedirname="BladeSymphony"
array_configs+=( server.cfg )
@@ -563,6 +570,13 @@ elif [ "${shortname}" == "mta" ]; then
fn_fetch_default_config
fn_default_config_remote
fn_list_config_locations
+elif [ "${shotname}" == "mom" ];then
+ gamedirname="MemoriesofMars"
+ array_configs+=( DedicatedServerConfig.cfg)
+ fn_fetch_default_config
+ fn_default_config_remote
+ fn_set_config_vars
+ fn_list_config_locations
elif [ "${shortname}" == "mumble" ]; then
gamedirname="Mumble"
array_configs+=( murmur.ini )
diff --git a/lgsm/functions/install_header.sh b/lgsm/functions/install_header.sh
index f67860dd4a..dae2050187 100644
--- a/lgsm/functions/install_header.sh
+++ b/lgsm/functions/install_header.sh
@@ -15,6 +15,6 @@ echo -e "by Daniel Gibbs"
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"
+echo -e "${lightblue}Sponsor:${default} https://linuxgsm.com/sponsor"
echo -e "================================="
fn_sleep_time
diff --git a/lgsm/functions/install_logs.sh b/lgsm/functions/install_logs.sh
index 21c63ccbb7..6a272f2ef5 100644
--- a/lgsm/functions/install_logs.sh
+++ b/lgsm/functions/install_logs.sh
@@ -15,7 +15,7 @@ fn_sleep_time
# Create LinuxGSM logs.
echo -en "installing log dir: ${logdir}..."
mkdir -p "${logdir}"
-if [ $? -ne 0 ]; then
+if [ $? != 0 ]; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -24,7 +24,7 @@ fi
echo -en "installing LinuxGSM log dir: ${lgsmlogdir}..."
mkdir -p "${lgsmlogdir}"
-if [ $? -ne 0 ]; then
+if [ $? != 0 ]; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -32,7 +32,7 @@ else
fi
echo -en "creating LinuxGSM log: ${lgsmlog}..."
touch "${lgsmlog}"
-if [ $? -ne 0 ]; then
+if [ $? != 0 ]; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -42,7 +42,7 @@ fi
if [ "${consolelogdir}" ]; then
echo -en "installing console log dir: ${consolelogdir}..."
mkdir -p "${consolelogdir}"
- if [ $? -ne 0 ]; then
+ if [ $? != 0 ]; then
fn_print_fail_eol_nl
core_exit.sh
else
diff --git a/lgsm/functions/install_modules.sh b/lgsm/functions/install_modules.sh
index c512b69a3f..cc516bea06 100644
--- a/lgsm/functions/install_modules.sh
+++ b/lgsm/functions/install_modules.sh
@@ -14,3 +14,4 @@ cp "${tmpdir}/LinuxGSM-master/lgsm/functions"/*.sh "${functionsdir}"
cp "${tmpdir}/LinuxGSM-master/lgsm/functions"/*.py "${functionsdir}"
chmod +x "${functionsdir}"/*
command_update_linuxgsm.sh
+fn_firstcommand_reset
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 9593401ce6..0264a7f11a 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/lgsm/functions/install_server_files.sh
@@ -11,6 +11,8 @@ fn_install_server_files(){
remote_fileurl="http://linuxgsm.download/ActionHalfLife/action_halflife-1.0.tar.xz"; local_filedir="${tmpdir}"; local_filename="action_halflife-1.0.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="61d7b79fd714888b6d65944fdaafa94a"
elif [ "${shortname}" == "bf1942" ]; then
remote_fileurl="http://linuxgsm.download/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.xz"; local_filedir="${tmpdir}"; local_filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="4223bf4ed85f5162c24b2cba51249b9e"
+ elif [ "${shortname}" == "bfv" ];then
+ remote_fileurl="http://linuxgsm.download/BattlefieldVietnam/bfv_linded-v1.21-20041207_patch.tar.xz"; local_filedir="${tmpdir}"; local_filename="bfv_linded-v1.21-20041207_patch.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="e3b4962cdd9d41e23c6fed65101bccde"
elif [ "${shortname}" == "bb" ]; then
remote_fileurl="http://linuxgsm.download/BrainBread/brainbread-v1.2-linuxserver.tar.xz"; local_filedir="${tmpdir}"; local_filename="brainbread-v1.2-linuxserver.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="55f227183b736397806d5b6db6143f15"
elif [ "${shortname}" == "cod" ]; then
@@ -46,7 +48,7 @@ fn_install_server_files(){
elif [ "${shortname}" == "ts" ]; then
remote_fileurl="http://linuxgsm.download/TheSpecialists/ts-3-linux-final.tar.xz"; local_filedir="${tmpdir}"; local_filename="ts-3-linux-final.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="3c66ecff6e3644f7ac88015732a0fb93"
elif [ "${shortname}" == "ut2k4" ]; then
- remote_fileurl="http://linuxgsm.download/UnrealTournament2004/ut2004-server-3369-2-ultimate-linux.tar.xz"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-2-ultimate-linux.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="8ebcb9b8f703905053d13a35c3af3e79"
+ remote_fileurl="http://linuxgsm.download/UnrealTournament2004/ut2004-server-3369-3-ultimate-linux.tar.xz"; local_filedir="${tmpdir}"; local_filename="ut2004-server-3369-3-ultimate-linux.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9fceaab68554749f4b45be66613b9a15"
elif [ "${shortname}" == "ut99" ]; then
remote_fileurl="http://linuxgsm.download/UnrealTournament99/ut99-server-451-ultimate-linux.tar.xz"; local_filedir="${tmpdir}"; local_filename="ut99-server-451-ultimate-linux.tar.xz"; chmodx="nochmodx" run="norun"; force="noforce"; md5="42c6839f8cb95907eeef71a1838aa1f7"
elif [ "${shortname}" == "ut" ]; then
@@ -66,114 +68,13 @@ fn_install_server_files(){
fn_dl_extract "${local_filedir}" "${local_filename}" "${serverfiles}"
}
-fn_install_server_files_steamcmd(){
- counter="0"
- while [ "${counter}" == "0" ]||[ "${exitcode}" != "0" ]; do
- counter=$((counter+1))
- if [ -d "${steamcmddir}" ]; then
- cd "${steamcmddir}" || exit
- fi
- if [ "${counter}" -le "10" ]; then
- # Attempt 1-4: Standard attempt.
- # Attempt 5-6: Validate attempt.
- # Attempt 7-8: Validate, delete long name dir.
- # Attempt 9-10: Validate, delete long name dir, re-download SteamCMD.
- # Attempt 11: Failure.
-
- if [ "${counter}" -ge "2" ]; then
- fn_print_warning_nl "SteamCMD did not complete the download, retrying: Attempt ${counter}"
- fn_script_log "SteamCMD did not complete the download, retrying: Attempt ${counter}"
- fi
-
- if [ "${counter}" -ge "7" ]; then
- echo -e "Removing $(find "${serverfiles}" -type d -print0 | grep -Ez '[^/]{30}$')"
- find "${serverfiles}" -type d -print0 | grep -Ez '[^/]{30}$' | xargs -0 rm -rf
- fi
- if [ "${counter}" -ge "9" ]; then
- rm -rf "${steamcmddir:?}"
- check_steamcmd.sh
- fi
-
- # 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
- unbuffer="stdbuf -i0 -o0 -e0"
- fi
-
- if [ "${counter}" -le "4" ]; then
- # If GoldSrc (appid 90) servers. GoldSrc (appid 90) require extra commands.
- if [ "${appid}" == "90" ]; then
- # If using a specific branch.
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" +quit
- fi
- elif [ "${shortname}" == "ac" ]; then
- ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" +quit
- # All other servers.
- else
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update -beta "${branch}" +quit
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" +quit
- fi
- fi
- local exitcode=$?
- elif [ "${counter}" -ge "5" ]; then
- # If GoldSrc (appid 90) servers. GoldSrc (appid 90) require extra commands.
- if [ "${appid}" == "90" ]; then
- # If using a specific branch.
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" validate +quit
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" validate +quit
- fi
- local exitcode=$?
- elif [ "${shortname}" == "ac" ]; then
- ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" +quit
- local exitcode=$?
- # All other servers.
- else
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" validate +quit
- fi
- local exitcode=$?
- fi
- fi
- elif [ "${counter}" -ge "11" ]; then
- fn_print_failure_nl "SteamCMD did not complete the download, too many retrys"
- fn_script_log "SteamCMD did not complete the download, too many retrys"
- break
- fi
- done
-
- # GoldSrc (appid 90) servers commonly fail to download all the server files required.
- # Validating a few of times may reduce the chance of this issue.
- if [ "${appid}" == "90" ]; then
- fn_print_information_nl "GoldSrc servers commonly fail to download all the server files required. Validating a few of times may reduce the chance of this issue."
- counter="0"
- while [ "${counter}" -le "4" ]; do
- counter=$((counter+1))
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" validate +quit
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" validate +quit
- fi
- local exitcode=$?
- done
- fi
-}
-
echo -e ""
echo -e "${lightyellow}Installing ${gamename} Server${default}"
echo -e "================================="
fn_sleep_time
if [ "${appid}" ]; then
- fn_install_server_files_steamcmd
+ fn_dl_steamcmd
fi
if [ "${shortname}" == "ts3" ]; then
diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh
index da2576207e..bd6b6275c9 100644
--- a/lgsm/functions/mods_core.sh
+++ b/lgsm/functions/mods_core.sh
@@ -53,7 +53,7 @@ fn_mod_lowercase(){
done < <(find "${extractdir}" -depth)
echo -en "${renamedwc} / ${totalfileswc} / ${fileswc} converting ${modprettyname} files to lowercase..."
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
core_exit.sh
else
@@ -69,7 +69,7 @@ fn_mod_create_filelist(){
# ${modsdir}/${modcommand}-files.txt.
find "${extractdir}" -mindepth 1 -printf '%P\n' > "${modsdir}/${modcommand}-files.txt"
local exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Building ${modsdir}/${modcommand}-files.txt"
core_exit.sh
@@ -89,7 +89,7 @@ fn_mod_copy_destination(){
fn_sleep_time
cp -Rf "${extractdir}/." "${modinstalldir}/"
local exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Copying ${modprettyname} to ${modinstalldir}"
else
@@ -127,7 +127,7 @@ fn_mod_tidy_files_list(){
sed -i "/^${removefilevar}$/d" "${modsdir}/${modcommand}-files.txt"
# Exit on error.
local exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Error while tidying line: ${removefilevar} from: ${modsdir}/${modcommand}-files.txt"
core_exit.sh
@@ -382,7 +382,7 @@ fn_create_mods_dir(){
echo -en "creating LinuxGSM mods data directory ${modsdir}..."
mkdir -p "${modsdir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Creating mod download dir ${modsdir}"
core_exit.sh
@@ -396,7 +396,7 @@ fn_create_mods_dir(){
echo -en "creating mods install directory ${modinstalldir}..."
mkdir -p "${modinstalldir}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Creating mod install directory ${modinstalldir}"
core_exit.sh
@@ -419,7 +419,7 @@ fn_mods_create_tmp_dir(){
mkdir -p "${modstmpdir}"
exitcode=$?
echo -en "creating mod download directory ${modstmpdir}..."
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Creating mod download directory ${modstmpdir}"
core_exit.sh
@@ -436,7 +436,7 @@ fn_mods_clear_tmp_dir(){
echo -en "clearing mod download directory ${modstmpdir}..."
rm -fr "${modstmpdir:?}"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
fn_print_fail_eol_nl
fn_script_log_fatal "Clearing mod download directory ${modstmpdir}"
core_exit.sh
diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh
index 285cf0805b..071645b496 100644
--- a/lgsm/functions/query_gamedig.sh
+++ b/lgsm/functions/query_gamedig.sh
@@ -22,7 +22,6 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ];
gamedigcmd=$(echo -e "gamedig --type \"${querytype}\" --host \"${ip}\" --port \"${queryport}\"|jq")
gamedigraw=$(gamedig --type "${querytype}" --host "${ip}" --port "${queryport}")
querystatus=$(echo "${gamedigraw}" | jq '.error|length')
-
fi
# server name.
@@ -32,10 +31,14 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ];
fi
# numplayers.
- gdplayers=$(echo "${gamedigraw}" | jq -re '.raw.vanilla.raw.players.online')
+ if [ "${querytype}" == "minecraft" ]; then
+ gdplayers=$(echo "${gamedigraw}" | jq -re '.players | length-1')
+ else
+ gdplayers=$(echo "${gamedigraw}" | jq -re '.players | length')
+ fi
if [ "${gdplayers}" == "null" ]; then
unset gdplayers
- elif [ "${gdplayers}" == "[]" ]; then
+ elif [ "${gdplayers}" == "[]" ] || [ "${gdplayers}" == "-1" ]; then
gdplayers=0
fi
@@ -60,7 +63,7 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ];
fi
# numbots.
- gdbots=$(echo "${gamedigraw}" | jq -re '.raw.numbots')
+ gdbots=$(echo "${gamedigraw}" | jq -re '.bots | length')
if [ "${gdbots}" == "null" ]||[ "${gdbots}" == "0" ]; then
unset gdbots
fi
diff --git a/lgsm/functions/update_factorio.sh b/lgsm/functions/update_factorio.sh
index 5ff67c4486..ae4bdbaa56 100644
--- a/lgsm/functions/update_factorio.sh
+++ b/lgsm/functions/update_factorio.sh
@@ -96,17 +96,21 @@ fn_update_factorio_compare(){
fn_update_factorio_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
fn_update_factorio_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -130,21 +134,6 @@ fn_update_factorio_compare(){
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="factorio.com"
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index 556097bd62..b74b71aab7 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/lgsm/functions/update_minecraft.sh
@@ -44,8 +44,10 @@ fn_update_minecraft_localbuild(){
fn_script_log_info "Forcing server restart"
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
totalseconds=0
# Check again, allow time to generate logs.
while [ ! -f "${serverfiles}/logs/latest.log" ]; do
@@ -157,15 +159,18 @@ fn_update_minecraft_compare(){
command_start.sh
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
fn_update_minecraft_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -189,21 +194,6 @@ fn_update_minecraft_compare(){
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="mojang.com"
diff --git a/lgsm/functions/update_minecraft_bedrock.sh b/lgsm/functions/update_minecraft_bedrock.sh
index 61cad68545..8c90d5efbd 100644
--- a/lgsm/functions/update_minecraft_bedrock.sh
+++ b/lgsm/functions/update_minecraft_bedrock.sh
@@ -47,13 +47,16 @@ fn_update_minecraft_localbuild(){
if [ "${status}" == "0" ]; then
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
sleep 3
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
fi
fi
@@ -123,15 +126,18 @@ fn_update_minecraft_compare(){
command_start.sh
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
fn_update_minecraft_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -149,21 +155,6 @@ fn_update_minecraft_compare(){
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="minecraft.net"
diff --git a/lgsm/functions/update_mta.sh b/lgsm/functions/update_mta.sh
index 5aaecc122c..d15d9457b3 100644
--- a/lgsm/functions/update_mta.sh
+++ b/lgsm/functions/update_mta.sh
@@ -40,6 +40,7 @@ fn_update_mta_localbuild(){
command_stop.sh
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
totalseconds=0
# Check again, allow time to generate logs.
while [ ! -f "${serverfiles}/mods/deathmatch/logs/server.log" ]; do
@@ -154,15 +155,18 @@ fn_update_mta_compare(){
command_start.sh
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
fn_update_mta_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -180,21 +184,6 @@ fn_update_mta_compare(){
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="linux.mtasa.com"
diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh
index ee6a2b0ad3..6b3fd19d0d 100644
--- a/lgsm/functions/update_mumble.sh
+++ b/lgsm/functions/update_mumble.sh
@@ -91,15 +91,18 @@ fn_update_mumble_compare(){
command_start.sh
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
fn_update_mumble_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -117,21 +120,6 @@ fn_update_mumble_compare(){
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="mumble.info"
diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh
index 8a089c7f74..348147b037 100644
--- a/lgsm/functions/update_steamcmd.sh
+++ b/lgsm/functions/update_steamcmd.sh
@@ -6,38 +6,6 @@
functionselfname="$(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
- unbuffer="stdbuf -i0 -o0 -e0"
- fi
- if [ -d "${steamcmddir}" ]; then
- cd "${steamcmddir}" || exit
- fi
-
- # If GoldSrc (appid 90) servers. GoldSrc (appid 90) require extra commands.
- if [ "${appid}" == "90" ]; then
- # If using a specific branch.
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" +quit | tee -a "${lgsmlog}"
- fi
- elif [ "${shortname}" == "ac" ]; then
- ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" +quit
- # All other servers.
- else
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" +quit | tee -a "${lgsmlog}"
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" +quit | tee -a "${lgsmlog}"
- fi
- fi
- fix.sh
-}
-
fn_update_steamcmd_localbuild(){
# Gets local build info.
fn_print_dots "Checking local build: ${remotelocation}"
@@ -45,12 +13,9 @@ fn_update_steamcmd_localbuild(){
# Uses appmanifest to find local build.
localbuild=$(grep buildid "${appmanifestfile}" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3)
- # Set branch for updateinfo.
- IFS=' ' read -ra branchsplits <<< "${branch}"
- if [ "${#branchsplits[@]}" -gt 1 ]; then
- branchname="${branchsplits[1]}"
- else
- branchname="public"
+ # Set branch to public if no custom branch.
+ if [ -z "${branch}" ]; then
+ branch="public"
fi
# Checks if localbuild variable has been set.
@@ -75,7 +40,14 @@ fn_update_steamcmd_remotebuild(){
find "${HOME}" -type f -name "appinfo.vdf" -exec rm -f {} \;
fi
- remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed '1,/branches/d' | sed "1,/${branchname}/d" | grep -m 1 buildid | tr -cd '[:digit:]')
+ if [ -n "${branch}" ]&&[ -n "${betapassword}" ]; then
+ remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" -beta "${branch}" -betapassword "${betapassword}" +quit | sed '1,/branches/d' | sed "1,/${branch}/d" | grep -m 1 buildid | tr -cd '[:digit:]')
+ elif [ -n "${branch}" ]; then
+ remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" -beta "${branch}" +quit | sed '1,/branches/d' | sed "1,/${branch}/d" | grep -m 1 buildid | tr -cd '[:digit:]')
+ else
+ remotebuild=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed '1,/branches/d' | sed "1,/${branch}/d" | grep -m 1 buildid | tr -cd '[:digit:]')
+ fi
+
if [ "${installer}" != "1" ]; then
fn_print_dots "Checking remote build: ${remotelocation}"
# Checks if remotebuild variable has been set.
@@ -105,33 +77,41 @@ fn_update_steamcmd_compare(){
echo -e "Update available"
echo -e "* Local build: ${red}${localbuild}${default}"
echo -e "* Remote build: ${green}${remotebuild}${default}"
- if [ -v "${branch}" ]; then
+ if [ -n "${branch}" ]; then
echo -e "* Branch: ${branch}"
fi
+ if [ -n "${betapassword}" ]; then
+ echo -e "* Branch password: ${betapassword}"
+ fi
echo -e "https://steamdb.info/app/${appid}/"
echo -en "\n"
fn_script_log_info "Update available"
fn_script_log_info "Local build: ${localbuild}"
fn_script_log_info "Remote build: ${remotebuild}"
- if [ -v "${branch}" ]; then
+ if [ -n "${branch}" ]; then
fn_script_log_info "Branch: ${branch}"
fi
+ if [ -n "${betapassword}" ]; then
+ fn_script_log_info "Branch password: ${betapassword}"
+ fi
fn_script_log_info "${localbuild} > ${remotebuild}"
unset updateonstart
check_status.sh
# If server stopped.
if [ "${status}" == "0" ]; then
- fn_update_steamcmd_dl
+ fn_dl_steamcmd
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
- fn_update_steamcmd_dl
+ fn_dl_steamcmd
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -142,17 +122,23 @@ fn_update_steamcmd_compare(){
echo -e "No update available"
echo -e "* Local build: ${green}${localbuild}${default}"
echo -e "* Remote build: ${green}${remotebuild}${default}"
- if [ -v "${branch}" ]; then
+ if [ -n "${branch}" ]; then
echo -e "* Branch: ${branch}"
fi
+ if [ -n "${betapassword}" ]; then
+ echo -e "* Branch password: ${betapassword}"
+ fi
echo -e "https://steamdb.info/app/${appid}/"
echo -en "\n"
fn_script_log_info "No update available"
fn_script_log_info "Local build: ${localbuild}"
fn_script_log_info "Remote build: ${remotebuild}"
- if [ -v "${branch}" ]; then
+ if [ -n "${branch}" ]; then
fn_script_log_info "Branch: ${branch}"
fi
+ if [ -n "${betapassword}" ]; then
+ fn_script_log_info "Branch password: ${betapassword}"
+ fi
fi
}
@@ -188,14 +174,14 @@ fn_appmanifest_check(){
fn_script_log_pass "Removed x${appmanifestfilewc1} appmanifest_${appid}.acf files"
fn_print_info_nl "Forcing update to correct issue"
fn_script_log_info "Forcing update to correct issue"
- fn_update_steamcmd_dl
+ fn_dl_steamcmd
fi
elif [ "${appmanifestfilewc}" -eq "0" ]; then
fn_print_error_nl "No appmanifest_${appid}.acf found"
fn_script_log_error "No appmanifest_${appid}.acf found"
fn_print_info_nl "Forcing update to correct issue"
fn_script_log_info "Forcing update to correct issue"
- fn_update_steamcmd_dl
+ fn_dl_steamcmd
fn_appmanifest_info
if [ "${appmanifestfilewc}" -eq "0" ]; then
fn_print_fail_nl "Still no appmanifest_${appid}.acf found"
@@ -205,43 +191,29 @@ fn_appmanifest_check(){
fi
}
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="SteamCMD"
-check_steamcmd.sh
+check.sh
+
+fn_print_dots "${remotelocation}"
if [ "${forceupdate}" == "1" ]; then
# forceupdate bypasses update checks.
- check_status.sh
if [ "${status}" != "0" ]; then
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
- fn_update_steamcmd_dl
+ fn_firstcommand_reset
+ fn_dl_steamcmd
date +%s > "${lockdir}/lastupdate.lock"
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
else
- fn_update_steamcmd_dl
+ fn_dl_steamcmd
date +%s > "${lockdir}/lastupdate.lock"
fi
else
- fn_print_dots "Checking for update"
- fn_print_dots "Checking for update: ${remotelocation}"
fn_update_steamcmd_localbuild
fn_update_steamcmd_remotebuild
fn_update_steamcmd_compare
diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh
index a5cc0dd608..290ddf4d03 100644
--- a/lgsm/functions/update_ts3.sh
+++ b/lgsm/functions/update_ts3.sh
@@ -44,6 +44,7 @@ fn_update_ts3_localbuild(){
command_stop.sh
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
totalseconds=0
# Check again, allow time to generate logs.
while [ ! -d "${serverfiles}/logs" ]||[ -z "$(find "${serverfiles}/logs/"* -name 'ts3server*_0.log' 2> /dev/null)" ]; do
@@ -152,15 +153,18 @@ fn_update_ts3_compare(){
command_start.sh
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
# If server started.
else
- fn_stop_warning
+ fn_print_restart_warning
exitbypass=1
command_stop.sh
+ fn_firstcommand_reset
exitbypass=1
fn_update_ts3_dl
exitbypass=1
command_start.sh
+ fn_firstcommand_reset
fi
date +%s > "${lockdir}/lastupdate.lock"
alert="update"
@@ -190,21 +194,6 @@ else
core_exit.sh
fi
-fn_stop_warning(){
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- fn_script_log_warn "Updating server: SteamCMD: ${selfname} will be stopped during update"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Updating server: SteamCMD: ${selfname} will be stopped during update: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Updating server: SteamCMD: ${selfname} will be stopped during update"
-}
-
# The location where the builds are checked and downloaded.
remotelocation="teamspeak.com"
diff --git a/linuxgsm.sh b/linuxgsm.sh
index aececaed86..7f588937bb 100755
--- a/linuxgsm.sh
+++ b/linuxgsm.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v20.3.3"
+version="v20.4.0"
shortname="core"
gameservername="core"
commandname="CORE"
@@ -113,7 +113,7 @@ fn_bootstrap_fetch_file(){
fi
# On first try will error. On second try will fail.
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
if [ ${counter} -ge 2 ]; then
echo -e "FAIL"
if [ -f "${lgsmlog}" ]; then
@@ -381,7 +381,7 @@ else
mkdir -p "${configdirserver}"
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
- if [ $? -ne 0 ]; then
+ if [ $? != 0 ]; then
echo -e "FAIL"
exit 1
else
@@ -393,7 +393,7 @@ else
fn_print_warn_nl "_default.cfg has altered. reloading config."
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
- if [ $? -ne 0 ]; then
+ if [ $? != 0 ]; then
echo -e "FAIL"
exit 1
else
diff --git a/tests/tests_defaultcfg/defaultcfg_1.txt b/tests/tests_defaultcfg/defaultcfg_1.txt
index 505b6b1f0a..88f6adf5c8 100644
--- a/tests/tests_defaultcfg/defaultcfg_1.txt
+++ b/tests/tests_defaultcfg/defaultcfg_1.txt
@@ -41,6 +41,7 @@
# 8: 7 Days to Die
# 9: GoldSrc
# 10: Avorion
+# 11: end
## Game Server Details
# Do not edit
#### Directories ####
diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh
index da71c2b5a8..4bdbd5c48a 100644
--- a/tests/tests_fctrserver.sh
+++ b/tests/tests_fctrserver.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v20.3.3"
+version="v20.4.0"
shortname="fctr"
gameservername="fctrserver"
commandname="CORE"
@@ -119,7 +119,7 @@ fn_bootstrap_fetch_file(){
fi
# On first try will error. On second try will fail.
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
if [ ${counter} -ge 2 ]; then
echo -e "FAIL"
if [ -f "${lgsmlog}" ]; then
@@ -389,7 +389,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
@@ -402,7 +402,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index b52cf1f1b4..dced37f748 100644
--- a/tests/tests_jc2server.sh
+++ b/tests/tests_jc2server.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v20.3.3"
+version="v20.4.0"
shortname="jc2"
gameservername="jc2server"
commandname="CORE"
@@ -120,7 +120,7 @@ fn_bootstrap_fetch_file(){
fi
# On first try will error. On second try will fail.
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
if [ ${counter} -ge 2 ]; then
echo -e "FAIL"
if [ -f "${lgsmlog}" ]; then
@@ -390,7 +390,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
@@ -403,7 +403,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh
index 8d7bab6b61..4837c45942 100644
--- a/tests/tests_mcserver.sh
+++ b/tests/tests_mcserver.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v20.3.3"
+version="v20.4.0"
shortname="mc"
gameservername="mcserver"
commandname="CORE"
@@ -120,7 +120,7 @@ fn_bootstrap_fetch_file(){
fi
# On first try will error. On second try will fail.
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
if [ ${counter} -ge 2 ]; then
echo -e "FAIL"
if [ -f "${lgsmlog}" ]; then
@@ -390,7 +390,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
@@ -403,7 +403,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index fb4f889bf2..b4d0a4563b 100644
--- a/tests/tests_ts3server.sh
+++ b/tests/tests_ts3server.sh
@@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then
set -x
fi
-version="v20.3.3"
+version="v20.4.0"
shortname="ts3"
gameservername="ts3server"
commandname="CORE"
@@ -120,7 +120,7 @@ fn_bootstrap_fetch_file(){
fi
# On first try will error. On second try will fail.
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
if [ ${counter} -ge 2 ]; then
echo -e "FAIL"
if [ -f "${lgsmlog}" ]; then
@@ -390,7 +390,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else
@@ -403,7 +403,7 @@ else
echo -en "copying _default.cfg...\c"
cp -R "${configdirdefault}/config-lgsm/${gameservername}/_default.cfg" "${configdirserver}/_default.cfg"
exitcode=$?
- if [ ${exitcode} -ne 0 ]; then
+ if [ "${exitcode}" != 0 ]; then
echo -e "FAIL"
exit 1
else