diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 000000000..9e4a36a51 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,119 @@ +{ + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": false, + "contributors": [ + { + "login": "dgibbs64", + "name": "Daniel Gibbs", + "avatar_url": "https://avatars2.githubusercontent.com/u/4478206?v=4", + "profile": "https://danielgibbs.co.uk", + "contributions": [ + "bug", + "code", + "ideas", + "question", + "review", + "content", + "doc", + "infra" + ] + }, + { + "login": "Frisasky", + "name": "Frisasky", + "avatar_url": "https://avatars2.githubusercontent.com/u/26865851?v=4", + "profile": "https://github.com/Frisasky", + "contributions": [ + "question", + "bug", + "code" + ] + }, + { + "login": "kennyLtv", + "name": "Kenny Lindelof", + "avatar_url": "https://avatars2.githubusercontent.com/u/6133325?v=4", + "profile": "https://kennyl.design", + "contributions": [ + "question" + ] + }, + { + "login": "Scarsz", + "name": "Austin Shapiro", + "avatar_url": "https://avatars1.githubusercontent.com/u/7691988?v=4", + "profile": "https://scarsz.me", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "marvinlehmann", + "name": "Marvin Lehmann", + "avatar_url": "https://avatars2.githubusercontent.com/u/4151266?v=4", + "profile": "https://github.com/marvinlehmann", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "Bourne-ID", + "name": "Bourne-ID", + "avatar_url": "https://avatars1.githubusercontent.com/u/7073616?v=4", + "profile": "https://github.com/Bourne-ID", + "contributions": [ + "review", + "content", + "doc", + "infra", + "review" + ] + }, + { + "login": "cedarlug", + "name": "CedarLUG", + "avatar_url": "https://avatars2.githubusercontent.com/u/19336442?v=4", + "profile": "http://cedarlug.org", + "contributions": [ + "bug", + "code", + "ideas", + "question", + "review" + ] + }, + { + "login": "UltimateByte", + "name": "UltimateByte", + "avatar_url": "https://avatars3.githubusercontent.com/u/8805941?v=4", + "profile": "https://www.terageek.org | https://www.haisoft.fr", + "contributions": [ + "bug", + "code", + "doc", + "ideas", + "review" + ] + }, + { + "login": "borzaka", + "name": "Attila", + "avatar_url": "https://avatars0.githubusercontent.com/u/1230402?v=4", + "profile": "https://github.com/borzaka", + "contributions": [ + "code", + "bug" + ] + } + ], + "contributorsPerLine": 7, + "projectName": "LinuxGSM", + "projectOwner": "GameServerManagers", + "repoType": "github", + "repoHost": "https://github.com" +} diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index f69856e5f..e6555a40e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,41 +1,46 @@ --- name: Bug report -about: Create a report to help us improve +about: Found a bug? Raise a report --- - Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. -For general support visit the **[steam group](https://linuxgsm.com/steam)**. +For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**. -GitHub is **ONLY** for: +Issues here are **ONLY** for: * LinuxGSM bugs * feature suggestions * code contributions -GitHub is **NOT** for: +Issues here are **NOT** for: * General support * Specific game server issues (e.g CS:GO, TF2) * Dedicated server issues (e.g Ubuntu, CentOS) * Anything not directly related to LinuxGSM development -Any general support issues on GitHub will be closed. +Any general support issues on GitHub will be migrated to [LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support). + +*Please use the template below* + +## User Story + +As a [user description], I want [desired action] so that [desired outcome]. + +## Basic info -**Describe the bug** -A clear and concise description of what the bug is. +* Distro: [Ubuntu 18.04] +* Game: [Garry's Mod] +* Command: [Monitor] + +## Further Information + +A clear description of what the bug is and any ideas on how to resolve it. Plus any further context that might be relevant to the issue. + +## To Reproduce -**To Reproduce** Steps to reproduce the behaviour: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error -**Expected behaviour** -A clear and concise description of what you expected to happen. - -** Minimum Information ** -The game server you are running (e.g. Rust/CS:GO). -The link from `./gameserver postdetails` command. - -**Additional context** -Add any other context about the problem here. +## Expected behaviour diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 6ba0c2bd2..0f2ccde58 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -3,31 +3,38 @@ name: Feature request about: Suggest an idea for this project --- - Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. -For general support visit the **[steam group](https://linuxgsm.com/steam)**. +For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**. -GitHub is **ONLY** for: +Issues here are **ONLY** for: * LinuxGSM bugs * feature suggestions * code contributions -GitHub is **NOT** for: +Issues here are **NOT** for: * General support * Specific game server issues (e.g CS:GO, TF2) * Dedicated server issues (e.g Ubuntu, CentOS) * Anything not directly related to LinuxGSM development -Any general support issues on GitHub will be closed. +Any general support issues on GitHub will be migrated to [LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support). + +*Please use the template below* + +## User Story + +As a [user description], I want [desired action] so that [desired outcome]. + +## Basic info + +* Distro: [Ubuntu 18.04] +* Game: [Garry's Mod] +* Command: [Monitor] -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] +## Further Information -**Describe the solution you'd like** -A clear and concise description of what you want to happen. +A clear description of what the feature is and any ideas on how to achieve this. -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. +## Further Reading -**Additional context** -Add any other context or screenshots about the feature request here. +Provide any useful documentation or resources that might help. diff --git a/.github/ISSUE_TEMPLATE/new-server-request.md b/.github/ISSUE_TEMPLATE/new-server-request.md index 6ce2f50d1..d27b3b497 100644 --- a/.github/ISSUE_TEMPLATE/new-server-request.md +++ b/.github/ISSUE_TEMPLATE/new-server-request.md @@ -4,13 +4,26 @@ about: Suggest a new game server to be added --- -**What game server Would you like adding?** +## What game server would you like adding? -**Can you link to any tutorials or guides?** -Any useful guides will help with development +[game server] -**Is the server on Steam?** -If yes Use SteamDB to get the appid. https://steamdb.info/ +## Can you link to any tutorials or guides? -**Is the server supported on Linux?** -We only support Linux servers and dont support Wine. +Provide any useful documentation or resources that might help. + +## Is the server on Steam? + +* [ ] Yes +* [ ] No + +If yes Use SteamDB to get the appid. (https://steamdb.info). + +[appid] + +## Is the server supported on Linux? + +We only support Linux servers and do not support Wine. + +* [ ] Yes +* [ ] No \ No newline at end of file diff --git a/.github/lock.yml b/.github/lock.yml index 2501c129a..dd136ecdc 100644 --- a/.github/lock.yml +++ b/.github/lock.yml @@ -1,9 +1,13 @@ -# Configuration for lock-threads - https://github.com/dessant/lock-threads +# Configuration for Lock Threads - https://github.com/dessant/lock-threads # Number of days of inactivity before a closed issue or pull request is locked daysUntilLock: 365 -# Issues and pull requests with these labels will not be locked. Set to `[]` to disable +# Skip issues and pull requests created before a given timestamp. Timestamp must +# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable +skipCreatedBefore: false + +# Issues and pull requests with these labels will be ignored. Set to `[]` to disable exemptLabels: [] # Label to add before locking, such as `outdated`. Set to `false` to disable @@ -15,6 +19,9 @@ lockComment: > any recent activity after it was closed. Please open a new issue for related bugs. +# Assign `resolved` as the reason for locking. Set to `false` to disable +setLockReason: false + # Limit to only `issues` or `pulls` # only: issues @@ -25,4 +32,7 @@ lockComment: > # lockLabel: outdated # pulls: -# daysUntilLock: 30 \ No newline at end of file +# daysUntilLock: 30 + +# Repository to extend settings from +# _extends: repo \ No newline at end of file diff --git a/.github/no-response.yml b/.github/no-response.yml index 4769c5db3..34cf8d447 100644 --- a/.github/no-response.yml +++ b/.github/no-response.yml @@ -1,9 +1,9 @@ # Configuration for probot-no-response - https://github.com/probot/no-response # Number of days of inactivity before an Issue is closed for lack of response -daysUntilClose: 30 +daysUntilClose: 60 # Label requiring a response -responseRequiredLabel: "Status: waiting response" +responseRequiredLabel: "needs more info" # Comment to post when closing an Issue for lack of response. Set to `false` to disable closeComment: > This issue has been automatically closed because there has been no response diff --git a/.github/potential-duplicates.yml b/.github/potential-duplicates.yml index ef31c01dc..9c973de06 100644 --- a/.github/potential-duplicates.yml +++ b/.github/potential-duplicates.yml @@ -1,6 +1,6 @@ # Label name and color to set, when potential duplicates are detected -issueLabel: "Type: potential duplicate" -labelColor: D2DAE1 +issueLabel: "duplicate" +labelColor: 579e01 # If similarity is higher than this threshold, issue will be marked as duplicate threshold: 0.60 diff --git a/.github/request-info.yml b/.github/request-info.yml index daae9d2cf..1b354d9f7 100644 --- a/.github/request-info.yml +++ b/.github/request-info.yml @@ -2,7 +2,9 @@ # *Required* Comment to reply with requestInfoReplyComment: > - We require more information for this issue. + ![More Data required](https://i.imgur.com/yS9cecv.png) + More data is required to assist with this issue + or issue template was not used correctly. https://linuxgsm.com/support/#guide # *OPTIONAL* default titles to check against for lack of descriptiveness @@ -12,4 +14,4 @@ requestInfoReplyComment: > # - updates # *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given -requestInfoLabelToAdd: "Status: needs more info" \ No newline at end of file +requestInfoLabelToAdd: "needs more info" \ No newline at end of file diff --git a/.github/welcome.yml b/.github/welcome.yml index 3d0c15e7d..7a120a2fa 100644 --- a/.github/welcome.yml +++ b/.github/welcome.yml @@ -4,18 +4,18 @@ # Comment to be posted to on first time issues newIssueWelcomeComment: > - Thanks for opening your first issue. Be sure to follow the issue template! and guide for posting. https://linuxgsm.com/support/#guide + Thank you for opening your first issue. Be sure to follow the issue template! and guide for posting. https://linuxgsm.com/support/#guide # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome # Comment to be posted to on PRs from first time contributors in your repository newPRWelcomeComment: > - Thanks for opening this pull request! Please check out our contributing guidelines. + Thank you for opening this pull request! Please check out our contributing guidelines. # Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge # Comment to be posted to on pull requests merged by a first time user firstPRMergeComment: > - Congrats on merging your first pull request! Thank you for supporting LinuxGSM! + Congratulations on merging your first pull request! Thank you for supporting LinuxGSM! # It is recommend to include as many gifs and emojis as possible \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index deadbfe64..59c6d892b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,14 @@ -language: bash -dist: trusty -sudo: required +language: node_js +dist: xenial +node_js: + - 10 before_script: - curl -L "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/shunit2/shunit2-2.1.6.tgz" | tar zx - +install: + npm install gamedig addons: apt: - sources: - - ubuntu-toolchain-r-test packages: - mailutils - postfix @@ -40,6 +40,8 @@ jobs: - # stage name not required script: bash tests/tests_fctrserver.sh - # stage name not required - script: bash tests/tests_ts3server.sh + script: bash tests/tests_mcserver.sh - # stage name not required - script: bash tests/tests_shellcheck.sh \ No newline at end of file + script: bash tests/tests_ts3server.sh + - # retired as codacy does this check. + # script: bash tests/tests_shellcheck.sh diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..7fe220357 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,73 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at me@danielgibbs.co.uk. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5a13b7644..764f21e19 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,20 +9,17 @@ Before working on a project we recommend that you create a issue in regards to t Here are some important resources: * [Issues Page](https://github.com/GameServerManagers/LinuxGSM/issues) provides a list of areas that could use some work, - * [Developing LinuxGSM](https://github.com/GameServerManagers/LinuxGSM/wiki/Developing-LGSM) gives a detailed guide on developing LGSM, - * [LinuxGSM Exit Codes](https://github.com/GameServerManagers/LinuxGSM/wiki/LGSM-Exit-Codes) describes and gives an explanation for exit codes, - * [gsquery](https://github.com/GameServerManagers/LinuxGSM/wiki/gsquery.py) describes the uses of the gsquery.py file, and - * [Branching](https://github.com/GameServerManagers/LinuxGSM/wiki/Branching) is our final guide to submitting changes. + * [Developer Wiki](https://github.com/GameServerManagers/LinuxGSM/wiki) gives a detailed guide on developing LGSM, ## Testing Please make sure all the code you write is working properly **before** you create a pull request. Information on debugging can be found in the following document: + [Developer Commands](https://github.com/GameServerManagers/LinuxGSM/wiki/Developer-Commands) -[Debugging your code](https://github.com/GameServerManagers/LinuxGSM/wiki/Developing-LGSM#testing-and-debugging-your-code) ## Submitting changes -Please send a [GitHub Pull Request to LinuxGSM](https://github.com/GameServerManagers/LinuxGSM/pull/new/develop) with a clear list of what you've done (read more about [pull requests](https://help.github.com/articles/about-pull-requests/)). Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit). +Please send a [GitHub Pull Request to LinuxGSM](https://github.com/GameServerManagers/LinuxGSM/pull/new/develop) with a clear list of what you've done (read more about [pull requests](https://help.github.com/articles/about-pull-requests)). Please follow our coding conventions (below) and make sure all of your commits are atomic (one feature per commit). Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this: diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 7f503c4db..c08b7705a 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,17 +1,15 @@ -Please select the "Preview" tab above to view this message correctly. - Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. -For general support visit the **[steam group](https://linuxgsm.com/steam)** +For general support visit the **[LinuxGSM-Support](https://github.com/GameServerManagers/LinuxGSM-Support)**. -GitHub is **ONLY** for: +Issues here are **ONLY** for: * LinuxGSM bugs * feature suggestions * code contributions -GitHub is **NOT** for: +Issues here are **NOT** for: * General support * Specific game server issues (e.g CS:GO, TF2) * Dedicated server issues (e.g Ubuntu, CentOS) * Anything not directly related to LinuxGSM development -**Any general support issues on GitHub will be closed.** \ No newline at end of file +Any general support issues on GitHub will be closed. diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..749aadeed --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,40 @@ +# Description + +Please include a summary of the change and which issue is fixed. + +Fixes #[issue] + +## Type of change + +* [ ] Bug fix (change which fixes an issue). +* [ ] New feature (change which adds functionality). +* [ ] New Server (new server added). +* [ ] Refactor (restructures existing code). +* [ ] Comment update (typo, spelling, explanation, examples, etc). +* [ ] This change requires a documentation update. + +## Checklist + +* [ ] This code follows the style guidelines of this project. +* [ ] This pull request links to an issue. +* [ ] This pull request uses the `develop` branch as its base. +* [ ] I have provided Co-author details below. +* [ ] I have performed a self-review of my own code. +* [ ] I have squashed commits. +* [ ] I have commented my code, particularly in hard to understand areas. +* [ ] I have made corresponding changes to the documentation if required. + +## Provide Github Email + +Fill out below info or tick box below: +``` +Co-authored-by: John Doe +``` + +- [ ] I do not wish to provide an email. I am aware this will hide me as the author of this commit. + + +All pull requests will now be squashed to create a tidy commit history and simplify changelog creation. You can provide either your own email or a GitHub-provided no-reply email. + +When a PR is squashed the author becomes the person who squashed the PR. This removes you as the author of your own PR. +The only workaround for this is to add your details as a co-author. More info about co-authors can be found [here](https://help.github.com/en/articles/creating-a-commit-with-multiple-authors). diff --git a/README.md b/README.md index 5ba974010..a028258e8 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,64 @@ -linux Game Server Managers - -[![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.org/GameServerManagers/LinuxGSM.svg?branch=master)](https://travis-ci.org/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) -[![Under Development](https://badge.waffle.io/GameServerManagers/LinuxGSM.svg?label=Status:%20under%20development&title=Under%20Development)](http://waffle.io/GameServerManagers/LinuxGSM) -[![Discord](https://discordapp.com/api/guilds/127498813903601664/widget.png?style=shield)](https://linuxgsm.com/discord) -[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://github.com/GameServerManagers/LinuxGSM/blob/master/LICENSE) -[![made-with-bash](https://img.shields.io/badge/-Made%20with%20Bash-1f425f.svg?logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D)](https://www.gnu.org/software/bash/) - -LinuxGSM is the command line tool for quick, simple deployment and management of dedicated game servers. - -

Hassle-Free Dedicated Servers

-Game servers traditionally are not easy to manage yourself. Admins often have to spend hours just messing around trying to get their server working. LinuxGSM is designed to be a simple as possible allowing admins to spend less time on management and more time gaming. - -

Main features

- -

Compatibility

-The Linux Game Server Managers are tested to work on the following Linux distros. - -Other distros are likely to work but are not fully tested. -

Specific Requirements

- -

FAQ

-All FAQ can be found here. - -https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ -

Donate

-If you want to donate to the project you can via PayPal. I have had a may kind people show their support by sending me a donation. Any donations you send help cover my server costs and buy me a drink. Cheers! - -

Useful Links

- -

Social

-