From 06dcbb7ed40c520771ddf979d69698ae8d38c869 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Thu, 20 Dec 2018 23:49:27 +0000 Subject: [PATCH 01/17] feat(monitor): add tcp query to query raw (#2134) --- lgsm/functions/command_dev_query_raw.sh | 16 +++++++++++++++- lgsm/functions/command_monitor.sh | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lgsm/functions/command_dev_query_raw.sh b/lgsm/functions/command_dev_query_raw.sh index af0e7de6a..30db99ea5 100644 --- a/lgsm/functions/command_dev_query_raw.sh +++ b/lgsm/functions/command_dev_query_raw.sh @@ -41,4 +41,18 @@ echo "./query_gsquery.py -a \"${ip}\" -p \"${queryport}\" -e \"${engine}\"" if [ ! -f "${functionsdir}/query_gsquery.py" ]; then fn_fetch_file_github "lgsm/functions" "query_gsquery.py" "${functionsdir}" "chmodx" "norun" "noforce" "nomd5" fi -"${functionsdir}"/query_gsquery.py -a "${ip}" -p "${queryport}" -e "${engine}" \ No newline at end of file +"${functionsdir}"/query_gsquery.py -a "${ip}" -p "${queryport}" -e "${engine}" + +echo"" +echo "=================================" +echo "tcp Raw Output" +echo "=================================" +echo"" +echo "bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}''" +bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}'' +querystatus="$?" +if [ "${querystatus}" == "0" ]; then + echo "tcp query PASS" +else + echo "tcp query FAIL" +fi \ No newline at end of file diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh index 2a291cd15..5849da984 100644 --- a/lgsm/functions/command_monitor.sh +++ b/lgsm/functions/command_monitor.sh @@ -13,6 +13,7 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_monitor_loop(){ # Will query up to 5 times every 15 seconds. # Query will wait up to 60 seconds to confirm server is down giving server time if changing map. +totalseconds=0 for queryattempt in {1..5}; do fn_print_dots "Querying port: ${querymethod}: ${ip}:${queryport} : ${totalseconds}/${queryattempt}: " fn_print_querying_eol From d0eb9f9c0c362a84f4318d46745ba0f075a2b645 Mon Sep 17 00:00:00 2001 From: NYPD <6412879+NYPD@users.noreply.github.com> Date: Tue, 1 Jan 2019 14:27:28 -0500 Subject: [PATCH 02/17] Fix Insurgency Sandstorm password bug Closes #2137 --- lgsm/config-default/config-lgsm/inssserver/_default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg index d1796d305..bfbda5f79 100644 --- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg @@ -21,7 +21,7 @@ maxplayers="28" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -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" } #### LinuxGSM Settings #### From a411823619afba7a07f56580b80296c8f13da6ab Mon Sep 17 00:00:00 2001 From: NYPD Date: Tue, 1 Jan 2019 15:07:59 -0500 Subject: [PATCH 03/17] Fix issue where no password is assigned --- lgsm/config-default/config-lgsm/inssserver/_default.cfg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg index bfbda5f79..df54c8a30 100644 --- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg @@ -21,7 +21,11 @@ maxplayers="28" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ +if [ "${serverpassword}" != "" ]; then 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" +fi } #### LinuxGSM Settings #### From 7f38d35ab64d33862bf7b426cb971bae04af9ed8 Mon Sep 17 00:00:00 2001 From: NYPD <6412879+NYPD@users.noreply.github.com> Date: Tue, 1 Jan 2019 20:04:00 -0500 Subject: [PATCH 04/17] Update _default.cfg --- lgsm/config-default/config-lgsm/inssserver/_default.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg index df54c8a30..384d231eb 100644 --- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg @@ -21,10 +21,10 @@ maxplayers="28" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -if [ "${serverpassword}" != "" ]; then -parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport}?password=${serverpassword} -hostname='${servername}' -log" -else +if [ -z "${serverpassword}" ]; then parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport} -hostname='${servername}' -log" +else +parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport}?password=${serverpassword} -hostname='${servername}' -log" fi } From 7a2efd6c48bde7f7322f7d06460f2c4f4dfede4d Mon Sep 17 00:00:00 2001 From: h3o66 Date: Thu, 3 Jan 2019 19:56:56 +0100 Subject: [PATCH 05/17] fix queryport for 7dtd --- lgsm/functions/info_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 6116fa144..516398df3 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -921,7 +921,7 @@ fn_info_config_sdtd(){ servername=$(grep "ServerName" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"") serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"") port=$(grep "ServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]') - queryport=$((port + 1)) + queryport=$port webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"") webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}" | tr -cd '[:digit:]') @@ -1253,4 +1253,4 @@ elif [ "${shortname}" == "squad" ]; then # Stationeers elif [ "${shortname}" == "st" ]; then fn_info_config_stationeers -fi \ No newline at end of file +fi From 1a7b53156f6c71bb527d48e907b83c33f6e45ceb Mon Sep 17 00:00:00 2001 From: Ghost173 <30997116+Ghost173@users.noreply.github.com> Date: Fri, 4 Jan 2019 22:54:16 +0530 Subject: [PATCH 06/17] game_mp.log save in main folder +set fs_homepath ${serverfiles} +set sv_authorizemode "-1" add these param its will help to store log file (in game chat) in side of main folder when some run b3 we need gampe_mp.log so its will set auto save inside of main folder --- lgsm/config-default/config-lgsm/cod4server/_default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg index e8434041b..b87a8ef76 100644 --- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg @@ -16,7 +16,7 @@ maxplayers="32" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxplayers} +exec ${servercfg} +map ${defaultmap}" +parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set fs_homepath ${serverfiles} +set sv_authorizemode "-1" +set dedicated 1 +set net_ip ${ip} +set net_port ${port} +set sv_maxclients ${maxplayers} +exec ${servercfg} +map ${defaultmap}" } #### LinuxGSM Settings #### From 7a3b6a757dc1e7b608cc09df3fb299ad5cd1779a Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 5 Jan 2019 21:23:20 +0000 Subject: [PATCH 07/17] fix(sd2dserver): correct code style --- lgsm/functions/info_config.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 516398df3..aea11c5b6 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -921,7 +921,7 @@ fn_info_config_sdtd(){ servername=$(grep "ServerName" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"") serverpassword=$(grep "ServerPassword" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"") port=$(grep "ServerPort" "${servercfgfullpath}" | tr -cd '[:digit:]') - queryport=$port + queryport=${port:-"0"} webadminenabled=$(grep "ControlPanelEnabled" "${servercfgfullpath}" | sed 's/^.*value="//' | cut -f1 -d"\"") webadminport=$(grep "ControlPanelPort" "${servercfgfullpath}" | tr -cd '[:digit:]') From b957af66ecf4cbfa565f270c2d7025e335047a7e Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 5 Jan 2019 21:54:56 +0000 Subject: [PATCH 08/17] feat(stop): update telent message to include port --- lgsm/functions/command_stop.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh index f9042a4a5..34c9bf6e5 100644 --- a/lgsm/functions/command_stop.sh +++ b/lgsm/functions/command_stop.sh @@ -118,16 +118,16 @@ fn_stop_graceful_sdtd(){ elif [ "$(command -v expect 2>/dev/null)" ]; then # Tries to shutdown with both localhost and server IP. for telnetip in 127.0.0.1 ${ip}; do - fn_print_dots "Graceful: telnet: ${telnetip}" - fn_script_log_info "Graceful: telnet: ${telnetip}" + fn_print_dots "Graceful: telnet: ${telnetip}:${telnetport}" + fn_script_log_info "Graceful: telnet: ${telnetip}:${telnetport}" sleep 0.5 fn_stop_telnet_sdtd completed=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Completed.") refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") if [ -n "${refused}" ]; then - fn_print_error "Graceful: telnet: ${telnetip}: " + fn_print_error "Graceful: telnet: ${telnetip}:${telnetport} : " fn_print_fail_eol_nl - fn_script_log_error "Graceful: telnet: ${telnetip}: FAIL" + fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport} : FAIL" sleep 1 elif [ -n "${completed}" ]; then break @@ -141,9 +141,9 @@ fn_stop_graceful_sdtd(){ fn_stop_telnet_sdtd refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") if [ -n "${refused}" ]; then - fn_print_ok "Graceful: telnet: ${telnetip}: " + fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport}: " fn_print_ok_eol_nl - fn_script_log_pass "Graceful: telnet: ${telnetip}: ${seconds} seconds" + fn_script_log_pass "Graceful: telnet: ${telnetip}:${telnetport}: ${seconds} seconds" break fi sleep 1 @@ -155,7 +155,7 @@ fn_stop_graceful_sdtd(){ if [ -n "${refused}" ]; then fn_print_error "Graceful: telnet: " fn_print_fail_eol_nl - fn_script_log_error "Graceful: telnet: ${telnetip}: FAIL" + fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport}: FAIL" else fn_print_error_nl "Graceful: telnet: Unknown error" fn_script_log_error "Graceful: telnet: Unknown error" From 43a69debd54a9a66aee183164855fd12e7502a68 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sat, 5 Jan 2019 23:39:47 +0000 Subject: [PATCH 09/17] fix(stop): sdtd telnet stop will now work with no password set --- lgsm/functions/command_stop.sh | 53 +++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh index 34c9bf6e5..562a9e12a 100644 --- a/lgsm/functions/command_stop.sh +++ b/lgsm/functions/command_stop.sh @@ -87,26 +87,39 @@ fn_stop_graceful_goldsource(){ # Attempts graceful of 7 Days To Die using telnet. fn_stop_telnet_sdtd(){ - if [ -z "${telnetpass}" ]; then - telnetpass="NOTSET" - fi - sdtd_telnet_shutdown=$( expect -c ' - proc abort {} { - puts "Timeout or EOF\n" - exit 1 - } - spawn telnet '"${telnetip}"' '"${telnetport}"' - expect { - "password:" { send "'"${telnetpass}"'\r" } - default abort - } - expect { - "session." { send "shutdown\r" } - default abort - } - expect { eof } - puts "Completed.\n" - ') + if [ -z "${telnetpass}" ]||[ "${telnetpass}" == "NOT SET" ]; then + sdtd_telnet_shutdown=$( expect -c ' + proc abort {} { + puts "Timeout or EOF\n" + exit 1 + } + spawn telnet '"${telnetip}"' '"${telnetport}"' + expect { + "session." { send "shutdown\r" } + default abort + } + expect { eof } + puts "Completed.\n" + ') + else + sdtd_telnet_shutdown=$( expect -c ' + proc abort {} { + puts "Timeout or EOF\n" + exit 1 + } + spawn telnet '"${telnetip}"' '"${telnetport}"' + expect { + "password:" { send "'"${telnetpass}"'\r" } + default abort + } + expect { + "session." { send "shutdown\r" } + default abort + } + expect { eof } + puts "Completed.\n" + ') + fi } fn_stop_graceful_sdtd(){ From 3a6881ae3d066adf8e5cc16a6821ac39e1870c6d Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 21:26:48 +0000 Subject: [PATCH 10/17] fix(stop): correct minor print error --- lgsm/functions/command_stop.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh index 562a9e12a..fc43476e6 100644 --- a/lgsm/functions/command_stop.sh +++ b/lgsm/functions/command_stop.sh @@ -154,9 +154,9 @@ fn_stop_graceful_sdtd(){ fn_stop_telnet_sdtd refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") if [ -n "${refused}" ]; then - fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport}: " + fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport} : " fn_print_ok_eol_nl - fn_script_log_pass "Graceful: telnet: ${telnetip}:${telnetport}: ${seconds} seconds" + fn_script_log_pass "Graceful: telnet: ${telnetip}:${telnetport} : ${seconds} seconds" break fi sleep 1 @@ -168,7 +168,7 @@ fn_stop_graceful_sdtd(){ if [ -n "${refused}" ]; then fn_print_error "Graceful: telnet: " fn_print_fail_eol_nl - fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport}: FAIL" + fn_script_log_error "Graceful: telnet: ${telnetip}:${telnetport} : FAIL" else fn_print_error_nl "Graceful: telnet: Unknown error" fn_script_log_error "Graceful: telnet: Unknown error" From 2edc3fa48155fc043700887f57d970cfc28ac790 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 21:37:33 +0000 Subject: [PATCH 11/17] feat(docs): improve various documentation --- .github/ISSUE_TEMPLATE/bug_report.md | 39 ++++---- .github/ISSUE_TEMPLATE/feature_request.md | 29 +++--- .github/ISSUE_TEMPLATE/new-server-request.md | 12 +-- ISSUE_TEMPLATE.md | 10 +- README.md | 97 ++++++++------------ 5 files changed, 77 insertions(+), 110 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 72eb679f9..bf256cafe 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,48 +4,41 @@ name: Bug report about: Found a bug? Raise a report --- - Follow **[this guide](https://linuxgsm.com/support/#guide)** to make sure you post the correct info. -For general support visit the **[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. *Please use the template below* -**Basic info** -Game: -Distro: +## User Story +As a [user description], I want [desired action] so that [desired outcome] + +## Basic info +- Distro [Ubuntu 18.04] +- Game [Garry's Mod] +- Feature [Monitor] -**Describe the bug** -A clear and concise description of what the bug is. +## 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 +A what you expected to happen. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 9e6f49b49..5eeeae318 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -3,16 +3,15 @@ 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) @@ -22,18 +21,16 @@ Any general support issues on GitHub will be closed. *Please use the template below* -**Basic info** -Game: -Distro: - -**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 [...] +## User Story +As a [user description], I want [desired action] so that [desired outcome] -**Describe the solution you'd like** -A clear and concise description of what you want to happen. +## Basic info +- Distro [Ubuntu 18.04] +- Game [Garry's Mod] +- Feature [Monitor] -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. +## Further Information +A clear description of what the feature is and any ideas on how to achieve this. -**Additional context** -Add any other context or screenshots about the feature request here. +## Further Reading +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 f528da120..74ef95790 100644 --- a/.github/ISSUE_TEMPLATE/new-server-request.md +++ b/.github/ISSUE_TEMPLATE/new-server-request.md @@ -4,13 +4,13 @@ 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 +## Can you link to any tutorials or guides? +Provide any useful documentation or resources that might help. -**Is the server on Steam?** +## Is the server on Steam? If yes Use SteamDB to get the appid. (https://steamdb.info) -**Is the server supported on Linux?** -We only support Linux servers and do not support Wine. \ No newline at end of file +## Is the server supported on Linux? +We only support Linux servers and do not support Wine. 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/README.md b/README.md index b37937ee9..e4a8cc474 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,43 @@ -linux Game Server Managers +

+
+ LinuxGSM +

+ + [![LinuxGSM](https://img.shields.io/badge/-LinuxGSM-2b2b2b.svg?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACsAAABACAYAAACDbo5ZAAAGD0lEQVR4AcWYa2wUVRvHz75c2vJ2disXoUBEVIioRAx%2BMIFA1IRwUS6KCCiIKBrvhEYiiGm5iBgk8QOGEgUUDYTttmVZWFr2UmwURS6iYAoCtmisElSsdHdbkT7%2BTzoNy%2BGc2dm54C%2F5Rdkz85x%2FZ86ZOXOYXYhIg3Phx%2FA4PAcv6f%2Btg5vhHJjP3EcZsgsshufJHH%2FAJbDztQ7aG35J1vgCXn%2BtgvrgEbLHYei9FmE3kDOUuh10OGwjZ7gEh7kZ9gNyllK3gnrg7%2BQs56DHjbCDyB0GuRF2ArnDeDfCziF3mO1G2FfJHRa4EXYpuUOxG2GXkzuUuBH2TXKH5W6ELSV3eM%2BNsOUk5yQcAY8p2uvgSPitor3MjbB1UOQXOFBvHwpbhPYWOExvL4SNUOQ7p4P2JTlzhOPmCu0vCu1PQpE2WOhk2MdJjk9y7HNwP1wEPUJbAcmZ6WTYrYolnifbxZBiibnFySHQCkUaLdY7C0V4%2FT5OhF1JcuIW6%2B0lOcvsBi2Ezao3j8Ov7Quwj52w60jNKIs1R5GatVaDDoEXSU4D7GSxbidYT3IuwjusFK0mNUVMwaZNNbl%2B%2F87hoVCom0HthaQmnG3QB0lNPcxlCvz%2B0GtlZTuorCxYYlA%2FDzbY%2FnrAgV3hCVLzCDMgEAi9wMMi9IIM%2FUwnNXWwi5mwRaSmmmXA798xq%2F3Khp420VeE1LyS6eQeBhttSXgzywCCToIUCOyYZvKLOWWwkdfd6ORVpGYJM0F5efDe9mEQHGty2BWTmhVGO4PNBmOoKzMBxmo%2FhD25dWvljSbD5hjMkb9gT9lJq63Mzi1bKkbjloc7xBWtwiRrDASCVRi%2FRxA8if%2BvrawMTzYI%2FACpeUv2KFFtDcUyTKilCHcis8G1Ga7wHpLzG8wVFs1K7jaeUKHZfIxmkj9%2FM4S9x9RGiMEudo0QbCVu9Xqn5PWEwLUk5%2FP0iaXac53I0kAH9Sau4m54lo%2FdTMfyekLYKQZ7ub34AbMMlmw5irC2VYTN0fuVMYMf8JHxJ7L7YYXAlSRnI2%2F8RtH4siTsDMz%2BZ5yS15OEXUxyDjGD1%2BvEq8MG16CDzY6JepKwT6geYbzxb0XjGMl7vwGSgzZIwo4nOa1M8Yr9Afb%2Fj8L21%2FsXaeaNZ2A6KTiEASph%2F0vF80cn4tokqu79fzfCUk2vfF4%2FFdFGEjGPHvg2yWrsDG%2F4%2BqpZB8jPOiXjWk0y5iXdM3XhKUvxBTA9UvHuvNPh%2Bzb%2BWj10z6nwuHWBbQFMvNCjKnn7qd1jS%2Fnx9VX3b6jC%2BbwOr5eMe3%2B83IcW4%2F3qgT%2BUTbA9srGaiHsn8AKiF6Ld%2FxF%2FOx6eeAJXabvK78MTTornNMd6XJTVR7%2Fj9bBjhFxV%2FMc1kJOAy2AeA%2FgrV4mFVDZFCqm8rEJ6qysCAWqK9iaztRJRbWXa4moFTELOav7jY%2FqAvoXp0Gc9NX7bIZl17%2FZl0rC1wRLeno0NvP%2B0CTcYNnS8wW6CtzNANaxzKqo9hRNOQ8rGo7tmSsMe2zWdt2frqVRcm5s2fofCgawDNHRNxnyfqgsYez4y4ADCjRM9H73hsNWafILTQdaFiSTj%2BQ%2FxA6yH7d%2BCmR8XbYr0a7VTF2N4siSsb5qdos3R6%2FjGxpULFfw7EfORnbrI9TAToX0sD40%2F2ylcGdh2Rdhg%2BSf2gka9jRTqK9%2BGwgHz7RTfVbHxirDhivdthYUvMRX8aYAD9lstvi%2B0aDL2DUZ0eCBUNNVG0IP65FLTWqPdiqdC0koHTVXe7iyNRG23QotBEy1RbTAzQyrmnYUT2rLsoA13JpcB4eVC2daBM1g2JGLekmwf5On7EJfngfZTNnVSce8bFjaTmQdvs%2FXmO%2FJVpoXdx3RSUe9O00Fj3nUdy0RLgRHiHXOPGW1h2uKZ07c9rG%2Bxyefp23pQeyBIEQoavYlakrG8fnrY5yHn2fbxXzAgw7m8bT5zkkSk4C7cpmOK21esB%2FXAQ5DzFfTo43%2BF%2FDzf0eZ4wZ3MDSjMcvD6nIeOahGgia%2FyU3HforTPkWkwnakdn0cI9jqfbPjD%2FuQLJr6644snlgX%2FApOMoyd1R5%2FxAAAAAElFTkSuQmCC)](https://linuxgsm.com) [![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) [![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](https://linuxgsm.com) is the command line tool for quick, simple deployment and management of dedicated game servers. -[![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/) +## Hassle-Free Dedicated Game Servers +Traditionally game servers 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 as simple as possible allowing admins to spend less time on management and more time gaming. -LinuxGSM is the command line tool for quick, simple deployment and management of dedicated game servers. +## Main features +80+ game servers supported + - :truck: Installer + - :mag: Monitor + - :phone: Alerts + - :cloud: Updater + - :blue_book: Server Details + - :floppy_disk: Backup + - :computer: Console -

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. +## :penguin: Compatibility +Linux Game Server Managers are tested to work on the following Linux distros. -

Main features

-
    -
  • Backup
  • -
  • Console
  • -
  • Details
  • -
  • Installer (SteamCMD)
  • -
  • Monitor
  • -
  • Alerts (Email, Pushbullet)
  • -
  • Update (SteamCMD)
  • -
  • Start/Stop/Restart server
  • -
-

Compatibility

-The Linux Game Server Managers are tested to work on the following Linux distros. -
    -
  • Debian based (Ubuntu, Mint etc.).
  • -
  • Redhat based (CentOS, Fedora etc.).
  • -
-Other distros are likely to work but are not fully tested. -

Specific Requirements

- -

FAQ

-All FAQ can be found here. + - Debian based (Ubuntu, Mint etc.) + - Red Hat based (CentOS, Fedora etc.). -https://docs.linuxgsm.com/support/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

-
    -
  • Steam Group
  • -
  • Discord
  • -
  • Twitter
  • -
  • Facebook
  • -
  • Google+
  • -
      +Other distros are likely to work but are not fully tested. + +## :wrench: Requirements +Each game server has its own specific dependency requirements, but most require GLIBC and Tmux. Visit the specific game server installation page on the [LinuxGSM](https://linuxgsm.com) website to see dependencies. + + - [GLIBC](https://docs.linuxgsm.com/requirements/glibc) >= 2.15 recommended [[specific requirements]](https://docs.linuxgsm.com/requirements/glibc#server-requirements) +- [Tmux](https://docs.linuxgsm.com/requirements/tmux) >= 1.6 recommended (Avoid Tmux 1.8) +## :blue_book: Documentation +Documentation is found at [linuxgsm.com](https://linuxgsm.com) and [docs.linuxgsm.com](https://docs.linuxgsm.com) + +## :question: Support +There are a various ways to get support, check out the [support](https://linuxgsm.com/support/) page to the right support. + +## :heart: Donate +If you would like to [donate](https://linuxgsm.com/donate) to the project there are several ways you can, via [PayPal](https://www.paypal.me/dgibbs64), [Patreon](https://www.patreon.com/dgibbs) and [Flattr](https://flattr.com/@dgibbs). I would like to thank everyone who has previously sent a donation. LinuxGSM has been going since 2012 and I have spent 1000s of hours developing and improving the project and continue to regularly add support for new servers. From c3d2b9c31f5714ef5f8c6649ab91a3f80c4724e7 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 21:41:17 +0000 Subject: [PATCH 12/17] feat(travici): various improvements to travisci (#2135) * feat(travis-ci): update ubuntu build * fix(travisci): remove sources ubuntu-toolchain-r-test * fix(travisci): re-add ppa:ubuntu-toolchain-r * fix(travisci): session name no longer contains .sh * fix(travisci): update all $servicename to use $gameservername * feat(travisci): test nodejs support * feat(travisci): add gamedig * fix(travisci): specify node.js v10 * feat(travisci): add query raw * feat(travisci): improve test numbering and visual * feat(travisci): add test result n/a * feat(travisci): add serverip info to test 5.0 monitor --- .travis.yml | 11 +-- tests/tests_fctrserver.sh | 145 ++++++++++++++++++++++++++++--------- tests/tests_jc2server.sh | 146 +++++++++++++++++++++++++++---------- tests/tests_ts3server.sh | 147 +++++++++++++++++++++++++++++--------- 4 files changed, 338 insertions(+), 111 deletions(-) diff --git a/.travis.yml b/.travis.yml index deadbfe64..c966220f8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,15 @@ language: bash -dist: trusty +dist: xenial sudo: required - +language: node_js +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 diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh index a9d7a09c4..7237f7d37 100644 --- a/tests/tests_fctrserver.sh +++ b/tests/tests_fctrserver.sh @@ -13,7 +13,7 @@ shortname="fctr" gameservername="fctrserver" rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -servicename="${selfname}" +servicename="${gameservername}" lockselfname=".${servicename}.lock" lgsmdir="${rootdir}/lgsm" logdir="${rootdir}/log" @@ -467,11 +467,16 @@ echo "Testing Branch: $TRAVIS_BRANCH" echo "=================================" echo "" -echo "0.1 - Create log dir's" -echo "=================================" +echo "0.0 - Pre-test Tasks" +echo "==================================================================" echo "Description:" echo "Create log dir's" echo "" + +echo "" +echo "0.1 - Create log dir's" +echo "=================================" +echo "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -500,11 +505,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.0 - start - no files" +echo "1.0 - Pre-install tests" +echo "==================================================================" +echo "" + +echo "1.1 - start - no files" echo "=================================" echo "Description:" echo "test script reaction to missing server files." -echo "Command: ./fctrserver start" +echo "Command: ./${gameservername} start" echo "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then @@ -524,11 +533,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.1 - getopt" +echo "1.2 - getopt" echo "=================================" echo "Description:" echo "displaying options messages." -echo "Command: ./fctrserver" +echo "Command: ./${gameservername}" echo "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -542,11 +551,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.2 - getopt with incorrect args" +echo "1.3 - getopt with incorrect args" echo "=================================" echo "Description:" echo "displaying options messages." -echo "Command: ./fctrserver abc123" +echo "Command: ./${gameservername} abc123" echo "" getopt="abc123" ( @@ -560,12 +569,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "2.0 - Instalation" +echo "==================================================================" + echo "" echo "2.0 - install" echo "=================================" echo "Description:" echo "install ${gamename} server." -echo "Command: ./fctrserver auto-install" +echo "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -577,12 +590,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "3.0 - Start/Stop/Restart Tests" +echo "==================================================================" + echo "" echo "3.1 - start" echo "=================================" echo "Description:" echo "start ${gamename} server." -echo "Command: ./fctrserver start" +echo "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -601,7 +618,7 @@ echo "3.2 - start - online" echo "=================================" echo "Description:" echo "start ${gamename} server while already running." -echo "Command: ./fctrserver start" +echo "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -620,7 +637,7 @@ echo "3.3 - start - updateonstart" echo "=================================" echo "Description:" echo "will update server on start." -echo "Command: ./fctrserver start" +echo "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -639,7 +656,7 @@ echo "3.4 - stop" echo "=================================" echo "Description:" echo "stop ${gamename} server." -echo "Command: ./fctrserver stop" +echo "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -658,7 +675,7 @@ echo "3.5 - stop - offline" echo "=================================" echo "Description:" echo "stop ${gamename} server while already stopped." -echo "Command: ./fctrserver stop" +echo "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -677,7 +694,7 @@ echo "3.6 - restart" echo "=================================" echo "Description:" echo "restart ${gamename}." -echo "Command: ./fctrserver restart" +echo "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -696,7 +713,7 @@ echo "3.7 - restart - offline" echo "=================================" echo "Description:" echo "restart ${gamename} while already stopped." -echo "Command: ./fctrserver restart" +echo "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -710,12 +727,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "4.0 - Update Tests" +echo "==================================================================" + echo "" echo "4.1 - update" echo "=================================" echo "Description:" echo "check for updates." -echo "Command: ./fctrserver update" +echo "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -729,12 +750,20 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "5.0 - Monitor Tests" +echo "==================================================================" + +echo "" +echo "Server IP - Port: ${ip}:${port}" +echo "Server IP - Query Port: ${ip}:${queryport}" + echo "" echo "5.1 - monitor - online" echo "=================================" echo "Description:" echo "run monitor server while already running." -echo "Command: ./fctrserver monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -753,7 +782,7 @@ echo "5.2 - monitor - offline - with lockfile" echo "=================================" echo "Description:" echo "run monitor while server is offline with lockfile." -echo "Command: ./fctrserver monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -774,7 +803,7 @@ echo "5.3 - monitor - offline - no lockfile" echo "=================================" echo "Description:" echo "run monitor while server is offline with no lockfile." -echo "Command: ./fctrserver monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -789,11 +818,34 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "6.0 - details" +echo "5.4 - test-alert" +echo "=================================" +echo "Description:" +echo "run monitor while server is offline with no lockfile." +echo "Command: ./${gameservername} test-alert" +requiredstatus="OFFLINE" +fn_setstatus +( + exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" + BASH_XTRACEFD="5" + set -x + command_test_alert.sh +) +fn_test_result_fail +echo "run order" +echo "=================" +grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' + +echo "" +echo "6.0 - Details Tests" +echo "==================================================================" + +echo "" +echo "6.1 - details" echo "=================================" echo "Description:" echo "display details." -echo "Command: ./fctrserver details" +echo "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -808,11 +860,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "6.1 - post details" +echo "6.2 - postdetails" echo "=================================" echo "Description:" echo "post details." -echo "Command: ./fctrserver postdetails" +echo "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -827,11 +879,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "7.0 - backup" +echo "7.0 - Backup Tests" +echo "==================================================================" + +echo "" +echo "7.1 - backup" echo "=================================" echo "Description:" echo "run a backup." -echo "Command: ./fctrserver backup" +echo "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus echo "test de-activated until issue #1839 fixed" @@ -842,11 +898,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.0 - dev - detect glibc" +echo "8.0 - Development Tools Tests" +echo "==================================================================" + +echo "" +echo "8.1 - dev - detect glibc" echo "=================================" echo "Description:" echo "detect glibc." -echo "Command: ./fctrserver detect-glibc" +echo "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -861,11 +921,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.1 - dev - detect ldd" +echo "8.2 - dev - detect ldd" echo "=================================" echo "Description:" echo "detect ldd." -echo "Command: ./fctrserver detect-ldd" +echo "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -880,11 +940,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.2 - dev - detect deps" +echo "8.3 - dev - detect deps" echo "=================================" echo "Description:" echo "detect dependencies." -echo "Command: ./fctrserver detect-deps" +echo "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -898,6 +958,25 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "8.4 - dev - query-raw" +echo "=================================" +echo "Description:" +echo "raw query output." +echo "Command: ./${gameservername} query-raw" +requiredstatus="ONLINE" +fn_setstatus +( + exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" + BASH_XTRACEFD="5" + set -x + command_dev_query_raw.sh +) +fn_test_result_na +echo "run order" +echo "=================" +grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' + echo "" echo "=================================" echo "Server Tests - Complete!" diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh index a361c5699..7d2df1e49 100644 --- a/tests/tests_jc2server.sh +++ b/tests/tests_jc2server.sh @@ -13,7 +13,7 @@ shortname="jc2" gameservername="jc2server" rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -servicename="${selfname}" +servicename="${gameservername}" lockselfname=".${servicename}.lock" lgsmdir="${rootdir}/lgsm" logdir="${rootdir}/log" @@ -359,7 +359,7 @@ else fi # Prevents running of core_exit.sh for Travis. - if [ "${travistest}" != "1" ]; then + if [ -z "${travistest}" ]; then getopt=$1 core_getopt.sh fi @@ -452,6 +452,14 @@ fn_test_result_fail(){ fi } +# test result n/a +fn_test_result_na(){ + echo "=================================" + echo "Expected result: N/A" + echo "Actual result: N/A" + fn_print_fail_nl "TEST N/A" +} + echo "=================================" echo "Travis CI Tests" echo "Linux Game Server Manager" @@ -467,11 +475,16 @@ echo "Testing Branch: $TRAVIS_BRANCH" echo "=================================" echo "" -echo "0.1 - Create log dir's" -echo "=================================" +echo "0.0 - Pre-test Tasks" +echo "==================================================================" echo "Description:" echo "Create log dir's" echo "" + +echo "" +echo "0.1 - Create log dir's" +echo "=================================" +echo "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -500,11 +513,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.0 - start - no files" +echo "1.0 - Pre-install tests" +echo "==================================================================" +echo "" + +echo "1.1 - start - no files" echo "=================================" echo "Description:" echo "test script reaction to missing server files." -echo "Command: ./jc2server start" +echo "Command: ./${gameservername} start" echo "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then @@ -524,11 +541,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.1 - getopt" +echo "1.2 - getopt" echo "=================================" echo "Description:" echo "displaying options messages." -echo "Command: ./jc2server" +echo "Command: ./${gameservername}" echo "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -542,11 +559,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.2 - getopt with incorrect args" +echo "1.3 - getopt with incorrect args" echo "=================================" echo "Description:" echo "displaying options messages." -echo "Command: ./jc2server abc123" +echo "Command: ./${gameservername} abc123" echo "" getopt="abc123" ( @@ -560,12 +577,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "2.0 - Instalation" +echo "==================================================================" + echo "" echo "2.0 - install" echo "=================================" echo "Description:" echo "install ${gamename} server." -echo "Command: ./jc2server auto-install" +echo "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -577,12 +598,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "3.0 - Start/Stop/Restart Tests" +echo "==================================================================" + echo "" echo "3.1 - start" echo "=================================" echo "Description:" echo "start ${gamename} server." -echo "Command: ./jc2server start" +echo "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -601,7 +626,7 @@ echo "3.2 - start - online" echo "=================================" echo "Description:" echo "start ${gamename} server while already running." -echo "Command: ./jc2server start" +echo "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -620,7 +645,7 @@ echo "3.3 - start - updateonstart" echo "=================================" echo "Description:" echo "will update server on start." -echo "Command: ./jc2server start" +echo "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -639,7 +664,7 @@ echo "3.4 - stop" echo "=================================" echo "Description:" echo "stop ${gamename} server." -echo "Command: ./jc2server stop" +echo "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -658,7 +683,7 @@ echo "3.5 - stop - offline" echo "=================================" echo "Description:" echo "stop ${gamename} server while already stopped." -echo "Command: ./jc2server stop" +echo "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -677,7 +702,7 @@ echo "3.6 - restart" echo "=================================" echo "Description:" echo "restart ${gamename}." -echo "Command: ./jc2server restart" +echo "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -696,7 +721,7 @@ echo "3.7 - restart - offline" echo "=================================" echo "Description:" echo "restart ${gamename} while already stopped." -echo "Command: ./jc2server restart" +echo "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -710,12 +735,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "4.0 - Update Tests" +echo "==================================================================" + echo "" echo "4.1 - update" echo "=================================" echo "Description:" echo "check for updates." -echo "Command: ./jc2server update" +echo "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -879,12 +908,20 @@ travisip=$(ip -o -4 addr|grep eth0|awk '{print $4}'|grep -oe '\([0-9]\{1,3\}\.\? sed -i "/BindIP/c\BindIP = \"${travisip}\"," "${serverfiles}/config.lua" echo "IP: ${travisip}" +echo "" +echo "5.0 - Monitor Tests" +echo "==================================================================" + +echo "" +echo "Server IP - Port: ${ip}:${port}" +echo "Server IP - Query Port: ${ip}:${queryport}" + echo "" echo "5.1 - monitor - online" echo "=================================" echo "Description:" echo "run monitor server while already running." -echo "Command: ./jc2server monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -903,7 +940,7 @@ echo "5.2 - monitor - offline - with lockfile" echo "=================================" echo "Description:" echo "run monitor while server is offline with lockfile." -echo "Command: ./jc2server monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -924,7 +961,7 @@ echo "5.3 - monitor - offline - no lockfile" echo "=================================" echo "Description:" echo "run monitor while server is offline with no lockfile." -echo "Command: ./jc2server monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -939,12 +976,12 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "5.4 - monitor - query_gsquery.py failure" +echo "5.4 - test-alert" echo "=================================" echo "Description:" -echo "query_gsquery.py will fail to query port." -echo "Command: ./jc2server monitor" -requiredstatus="ONLINE" +echo "run monitor while server is offline with no lockfile." +echo "Command: ./${gameservername} test-alert" +requiredstatus="OFFLINE" fn_setstatus cp "${servercfgfullpath}" "config.lua" sed -i 's/[0-9]\+/0/' "${servercfgfullpath}" @@ -952,7 +989,7 @@ sed -i 's/[0-9]\+/0/' "${servercfgfullpath}" exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" set -x - command_monitor.sh + command_test_alert.sh ) fn_test_result_fail echo "run order" @@ -965,11 +1002,15 @@ cp -v "config.lua" "${servercfgfullpath}" echo "=================================" echo "" -echo "6.0 - details" +echo "6.0 - Details Tests" +echo "==================================================================" + +echo "" +echo "6.1 - details" echo "=================================" echo "Description:" echo "display details." -echo "Command: ./jc2server details" +echo "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -984,11 +1025,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "6.1 - post details" +echo "6.2 - postdetails" echo "=================================" echo "Description:" echo "post details." -echo "Command: ./jc2server postdetails" +echo "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -1003,11 +1044,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "7.0 - backup" +echo "7.0 - Backup Tests" +echo "==================================================================" + +echo "" +echo "7.1 - backup" echo "=================================" echo "Description:" echo "run a backup." -echo "Command: ./jc2server backup" +echo "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus echo "test de-activated until issue #1839 fixed" @@ -1018,11 +1063,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.0 - dev - detect glibc" +echo "8.0 - Development Tools Tests" +echo "==================================================================" + +echo "" +echo "8.1 - dev - detect glibc" echo "=================================" echo "Description:" echo "detect glibc." -echo "Command: ./jc2server detect-glibc" +echo "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -1037,11 +1086,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.1 - dev - detect ldd" +echo "8.2 - dev - detect ldd" echo "=================================" echo "Description:" echo "detect ldd." -echo "Command: ./jc2server detect-ldd" +echo "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -1056,11 +1105,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.2 - dev - detect deps" +echo "8.3 - dev - detect deps" echo "=================================" echo "Description:" echo "detect dependencies." -echo "Command: ./jc2server detect-deps" +echo "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -1074,6 +1123,25 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "8.4 - dev - query-raw" +echo "=================================" +echo "Description:" +echo "raw query output." +echo "Command: ./${gameservername} query-raw" +requiredstatus="ONLINE" +fn_setstatus +( + exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" + BASH_XTRACEFD="5" + set -x + command_dev_query_raw.sh +) +fn_test_result_na +echo "run order" +echo "=================" +grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' + echo "" echo "=================================" echo "Server Tests - Complete!" diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh index e0fe5cd76..235ed0fe0 100644 --- a/tests/tests_ts3server.sh +++ b/tests/tests_ts3server.sh @@ -13,7 +13,7 @@ shortname="ts3" gameservername="ts3server" rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -servicename="${selfname}" +servicename="${gameservername}" lockselfname=".${servicename}.lock" lgsmdir="${rootdir}/lgsm" logdir="${rootdir}/log" @@ -359,7 +359,7 @@ else fi # Prevents running of core_exit.sh for Travis. - if [ "${travistest}" != "1" ]; then + if [ -z "${travistest}" ]; then getopt=$1 core_getopt.sh fi @@ -467,11 +467,16 @@ echo "Testing Branch: $TRAVIS_BRANCH" echo "=================================" echo "" -echo "0.1 - Create log dir's" -echo "=================================" +echo "0.0 - Pre-test Tasks" +echo "==================================================================" echo "Description:" echo "Create log dir's" echo "" + +echo "" +echo "0.1 - Create log dir's" +echo "=================================" +echo "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -500,11 +505,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.0 - start - no files" +echo "1.0 - Pre-install tests" +echo "==================================================================" +echo "" + +echo "1.1 - start - no files" echo "=================================" echo "Description:" echo "test script reaction to missing server files." -echo "Command: ./ts3server start" +echo "Command: ./${gameservername} start" echo "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then @@ -524,11 +533,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.1 - getopt" +echo "1.2 - getopt" echo "=================================" echo "Description:" echo "displaying options messages." -echo "Command: ./ts3server" +echo "Command: ./${gameservername}" echo "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -542,11 +551,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "1.2 - getopt with incorrect args" +echo "1.3 - getopt with incorrect args" echo "=================================" echo "Description:" echo "displaying options messages." -echo "Command: ./ts3server abc123" +echo "Command: ./${gameservername} abc123" echo "" getopt="abc123" ( @@ -560,12 +569,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "2.0 - Instalation" +echo "==================================================================" + echo "" echo "2.0 - install" echo "=================================" echo "Description:" echo "install ${gamename} server." -echo "Command: ./ts3server auto-install" +echo "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -577,12 +590,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "3.0 - Start/Stop/Restart Tests" +echo "==================================================================" + echo "" echo "3.1 - start" echo "=================================" echo "Description:" echo "start ${gamename} server." -echo "Command: ./ts3server start" +echo "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -601,7 +618,7 @@ echo "3.2 - start - online" echo "=================================" echo "Description:" echo "start ${gamename} server while already running." -echo "Command: ./ts3server start" +echo "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -620,7 +637,7 @@ echo "3.3 - start - updateonstart" echo "=================================" echo "Description:" echo "will update server on start." -echo "Command: ./ts3server start" +echo "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -639,7 +656,7 @@ echo "3.4 - stop" echo "=================================" echo "Description:" echo "stop ${gamename} server." -echo "Command: ./ts3server stop" +echo "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -658,7 +675,7 @@ echo "3.5 - stop - offline" echo "=================================" echo "Description:" echo "stop ${gamename} server while already stopped." -echo "Command: ./ts3server stop" +echo "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -677,7 +694,7 @@ echo "3.6 - restart" echo "=================================" echo "Description:" echo "restart ${gamename}." -echo "Command: ./ts3server restart" +echo "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -696,7 +713,7 @@ echo "3.7 - restart - offline" echo "=================================" echo "Description:" echo "restart ${gamename} while already stopped." -echo "Command: ./ts3server restart" +echo "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -710,12 +727,16 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "4.0 - Update Tests" +echo "==================================================================" + echo "" echo "4.1 - update" echo "=================================" echo "Description:" echo "check for updates." -echo "Command: ./ts3server update" +echo "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -729,12 +750,20 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "5.0 - Monitor Tests" +echo "==================================================================" + +echo "" +echo "Server IP - Port: ${ip}:${port}" +echo "Server IP - Query Port: ${ip}:${queryport}" + echo "" echo "5.1 - monitor - online" echo "=================================" echo "Description:" echo "run monitor server while already running." -echo "Command: ./ts3server monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -753,7 +782,7 @@ echo "5.2 - monitor - offline - with lockfile" echo "=================================" echo "Description:" echo "run monitor while server is offline with lockfile." -echo "Command: ./ts3server monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -774,7 +803,7 @@ echo "5.3 - monitor - offline - no lockfile" echo "=================================" echo "Description:" echo "run monitor while server is offline with no lockfile." -echo "Command: ./ts3server monitor" +echo "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -789,11 +818,34 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "6.0 - details" +echo "5.4 - test-alert" +echo "=================================" +echo "Description:" +echo "run monitor while server is offline with no lockfile." +echo "Command: ./${gameservername} test-alert" +requiredstatus="OFFLINE" +fn_setstatus +( + exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" + BASH_XTRACEFD="5" + set -x + command_test_alert.sh +) +fn_test_result_fail +echo "run order" +echo "=================" +grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' + +echo "" +echo "6.0 - Details Tests" +echo "==================================================================" + +echo "" +echo "6.1 - details" echo "=================================" echo "Description:" echo "display details." -echo "Command: ./ts3server details" +echo "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -808,11 +860,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "6.1 - post details" +echo "6.2 - postdetails" echo "=================================" echo "Description:" echo "post details." -echo "Command: ./ts3server postdetails" +echo "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -827,11 +879,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "7.0 - backup" +echo "7.0 - Backup Tests" +echo "==================================================================" + +echo "" +echo "7.1 - backup" echo "=================================" echo "Description:" echo "run a backup." -echo "Command: ./jc2server backup" +echo "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus echo "test de-activated until issue #1839 fixed" @@ -842,11 +898,15 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.0 - dev - detect glibc" +echo "8.0 - Development Tools Tests" +echo "==================================================================" + +echo "" +echo "8.1 - dev - detect glibc" echo "=================================" echo "Description:" echo "detect glibc." -echo "Command: ./jc2server detect-glibc" +echo "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -861,11 +921,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.1 - dev - detect ldd" +echo "8.2 - dev - detect ldd" echo "=================================" echo "Description:" echo "detect ldd." -echo "Command: ./jc2server detect-ldd" +echo "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -880,11 +940,11 @@ echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' echo "" -echo "8.2 - dev - detect deps" +echo "8.3 - dev - detect deps" echo "=================================" echo "Description:" echo "detect dependencies." -echo "Command: ./jc2server detect-deps" +echo "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -898,6 +958,25 @@ echo "run order" echo "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' +echo "" +echo "8.4 - dev - query-raw" +echo "=================================" +echo "Description:" +echo "raw query output." +echo "Command: ./${gameservername} query-raw" +requiredstatus="ONLINE" +fn_setstatus +( + exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" + BASH_XTRACEFD="5" + set -x + command_dev_query_raw.sh +) +fn_test_result_na +echo "run order" +echo "=================" +grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' + echo "" echo "=================================" echo "Server Tests - Complete!" From 14b0ff037ef009438850204f124ee85b8829eabb Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 22:10:27 +0000 Subject: [PATCH 13/17] fix(inssserver): correct issue with server password --- .../config-lgsm/inssserver/_default.cfg | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg index 384d231eb..06886ed21 100644 --- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg @@ -21,11 +21,12 @@ maxplayers="28" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -if [ -z "${serverpassword}" ]; then -parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport} -hostname='${servername}' -log" -else -parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport}?password=${serverpassword} -hostname='${servername}' -log" -fi + # 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" + else + parms="${defaultmap}?Scenario=${defaultscenario}?MaxPlayers=${maxplayers}?Port=${port}?QueryPort=${queryport} -hostname='${servername}' -log" + fi } #### LinuxGSM Settings #### From 12bcc969e179c63ffc8de2364156485fbeab2e7c Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 22:19:48 +0000 Subject: [PATCH 14/17] fix(docs): update style based on codacy feedback --- .github/ISSUE_TEMPLATE/bug_report.md | 20 ++++++++++++-------- .github/ISSUE_TEMPLATE/feature_request.md | 10 +++++----- .github/ISSUE_TEMPLATE/new-server-request.md | 8 ++++---- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index bf256cafe..625ffab0f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -22,18 +22,22 @@ Any general support issues on GitHub will be closed. *Please use the template below* -## User Story -As a [user description], I want [desired action] so that [desired outcome] +# User Story -## Basic info -- Distro [Ubuntu 18.04] -- Game [Garry's Mod] -- Feature [Monitor] +As a [user description], I want \[desired action] so that \[desired outcome] + +# Basic info + +* Distro [Ubuntu 18.04] +* Game [Garry's Mod] +* Feature [Monitor] + +# Further Information -## 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 '....' diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 5eeeae318..9c73c44a4 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -21,16 +21,16 @@ Any general support issues on GitHub will be closed. *Please use the template below* -## User Story -As a [user description], I want [desired action] so that [desired outcome] +# User Story +As a [user description], I want \[desired action] so that \[desired outcome] -## Basic info +# Basic info - Distro [Ubuntu 18.04] - Game [Garry's Mod] - Feature [Monitor] -## Further Information +# Further Information A clear description of what the feature is and any ideas on how to achieve this. -## Further Reading +# Further Reading 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 74ef95790..4300ef3da 100644 --- a/.github/ISSUE_TEMPLATE/new-server-request.md +++ b/.github/ISSUE_TEMPLATE/new-server-request.md @@ -4,13 +4,13 @@ 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? +# Can you link to any tutorials or guides? Provide any useful documentation or resources that might help. -## Is the server on Steam? +# Is the server on Steam? If yes Use SteamDB to get the appid. (https://steamdb.info) -## Is the server supported on Linux? +# Is the server supported on Linux? We only support Linux servers and do not support Wine. From f664a16e34a1850e62fe2d982107694409cd7669 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 22:27:06 +0000 Subject: [PATCH 15/17] fix(docs): remove stray return --- .github/ISSUE_TEMPLATE/bug_report.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 625ffab0f..87f5ddc5e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,4 +1,3 @@ - --- name: Bug report about: Found a bug? Raise a report From bfc96375cee1a65c7547e4f02642d1b000d6c61a Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 22:38:14 +0000 Subject: [PATCH 16/17] fix(docs): update style based on codacy feedback --- .github/ISSUE_TEMPLATE/bug_report.md | 17 ++++++++-------- .github/ISSUE_TEMPLATE/feature_request.md | 21 ++++++++++++-------- .github/ISSUE_TEMPLATE/new-server-request.md | 11 ++++++---- README.md | 6 ++++++ 4 files changed, 35 insertions(+), 20 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 87f5ddc5e..91d97d746 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -21,21 +21,21 @@ Any general support issues on GitHub will be closed. *Please use the template below* -# User Story +## User Story -As a [user description], I want \[desired action] so that \[desired outcome] +As a \[user description], I want \[desired action] so that \[desired outcome] -# Basic info +## Basic info -* Distro [Ubuntu 18.04] -* Game [Garry's Mod] -* Feature [Monitor] +* Distro \[Ubuntu 18.04] +* Game \[Garry's Mod] +* Feature \[Monitor] -# Further Information +## 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 '...' @@ -44,4 +44,5 @@ Steps to reproduce the behaviour: 4. See error ## Expected behaviour + A what you expected to happen. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 9c73c44a4..257ee1df5 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -12,6 +12,7 @@ Issues here are **ONLY** for: * code contributions Issues here are **NOT** for: + * General support * Specific game server issues (e.g CS:GO, TF2) * Dedicated server issues (e.g Ubuntu, CentOS) @@ -21,16 +22,20 @@ Any general support issues on GitHub will be closed. *Please use the template below* -# User Story -As a [user description], I want \[desired action] so that \[desired outcome] +## User Story + +As a \[user description], I want \[desired action] so that \[desired outcome] + +## Basic info -# Basic info -- Distro [Ubuntu 18.04] -- Game [Garry's Mod] -- Feature [Monitor] +* Distro \[Ubuntu 18.04] +* Game \[Garry's Mod] +* Feature \[Monitor] + +## Further Information -# Further Information A clear description of what the feature is and any ideas on how to achieve this. -# Further Reading +## Further Reading + 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 4300ef3da..c6a2c82d0 100644 --- a/.github/ISSUE_TEMPLATE/new-server-request.md +++ b/.github/ISSUE_TEMPLATE/new-server-request.md @@ -4,13 +4,16 @@ about: Suggest a new game server to be added --- -# What game server would you like adding? +## Which game server would you like adding? + +## Can you link to any tutorials or guides? -# Can you link to any tutorials or guides? Provide any useful documentation or resources that might help. -# Is the server on Steam? +## Is the server on Steam? + If yes Use SteamDB to get the appid. (https://steamdb.info) -# Is the server supported on Linux? +## Is the server supported on Linux? + We only support Linux servers and do not support Wine. diff --git a/README.md b/README.md index e4a8cc474..0daf95455 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,11 @@ [LinuxGSM](https://linuxgsm.com) is the command line tool for quick, simple deployment and management of dedicated game servers. ## Hassle-Free Dedicated Game Servers + Traditionally game servers 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 as simple as possible allowing admins to spend less time on management and more time gaming. ## Main features + 80+ game servers supported - :truck: Installer - :mag: Monitor @@ -21,6 +23,7 @@ Traditionally game servers are not easy to manage yourself. Admins often have to - :computer: Console ## :penguin: Compatibility + Linux Game Server Managers are tested to work on the following Linux distros. - Debian based (Ubuntu, Mint etc.) @@ -29,6 +32,7 @@ Linux Game Server Managers are tested to work on the following Linux distros. Other distros are likely to work but are not fully tested. ## :wrench: Requirements + Each game server has its own specific dependency requirements, but most require GLIBC and Tmux. Visit the specific game server installation page on the [LinuxGSM](https://linuxgsm.com) website to see dependencies. - [GLIBC](https://docs.linuxgsm.com/requirements/glibc) >= 2.15 recommended [[specific requirements]](https://docs.linuxgsm.com/requirements/glibc#server-requirements) @@ -37,7 +41,9 @@ Each game server has its own specific dependency requirements, but most require Documentation is found at [linuxgsm.com](https://linuxgsm.com) and [docs.linuxgsm.com](https://docs.linuxgsm.com) ## :question: Support + There are a various ways to get support, check out the [support](https://linuxgsm.com/support/) page to the right support. ## :heart: Donate + If you would like to [donate](https://linuxgsm.com/donate) to the project there are several ways you can, via [PayPal](https://www.paypal.me/dgibbs64), [Patreon](https://www.patreon.com/dgibbs) and [Flattr](https://flattr.com/@dgibbs). I would like to thank everyone who has previously sent a donation. LinuxGSM has been going since 2012 and I have spent 1000s of hours developing and improving the project and continue to regularly add support for new servers. From e7d9964d18bf0b64fd378e6ee8abd2bcbb988de7 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 6 Jan 2019 22:54:06 +0000 Subject: [PATCH 17/17] release 090106 --- linuxgsm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linuxgsm.sh b/linuxgsm.sh index c5fea827d..e7e603f42 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="181216" +version="190106" shortname="core" gameservername="core" rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"