diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index d05c374dc..79d78730b 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -3,7 +3,7 @@ github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] patreon: dgibbs # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username +ko_fi: dgibbs # Replace with a single Ko-fi username tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: # Replace with a single Liberapay username diff --git a/.travis.yml b/.travis.yml index 59c6d892b..5606c8e6a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ addons: - gzip - unzip - bsdmainutils - - python + - python3 - util-linux - ca-certificates - binutils diff --git a/README.md b/README.md index 73d811da3..534ce9d79 100644 --- a/README.md +++ b/README.md @@ -5,15 +5,15 @@ [![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/) [![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors) -[LinuxGSM](https://linuxgsm.com) is the command line tool for quick, simple deployment and management of dedicated game servers. +[LinuxGSM](https://linuxgsm.com) command-line tool for quick, simple deployment and management of Linux 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. +Traditionally game servers are not easy to manage yourself. Admins often have to spend hours messing around trying to get their server working. LinuxGSM is a command-line tool 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 +100+ game servers supported * :truck: Installer * :mag: Monitor @@ -25,23 +25,21 @@ Traditionally game servers are not easy to manage yourself. Admins often have to ## :penguin: Compatibility -Linux Game Server Managers are tested to work on the following Linux distros. +LinuxGSM will run on popular distros as long as the minimum requirements are met. -* Debian based (Ubuntu, Mint etc.) -* Red Hat based (CentOS, Fedora etc.) +* Ubuntu +* Debian +* CentOS 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) +Each game server has its own specific dependency requirements. Visit a specific game server installation page on the [LinuxGSM](https://linuxgsm.com) website to check dependency requirements for the game server you want to install. ## :blue_book: Documentation -Documentation is found at [linuxgsm.com](https://linuxgsm.com) and [docs.linuxgsm.com](https://docs.linuxgsm.com) +Documentation is found at [linuxgsm.com](https://linuxgsm.com) and [docs.linuxgsm.com](https://docs.linuxgsm.com). ## :question: Support @@ -49,7 +47,7 @@ There are a various ways to get support, check out the [support](https://linuxgs ## :heart: Donate -If you would like to [donate](https://linuxgsm.com/donate) to the project there are several ways you can, via [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. +If you would like to [donate](https://linuxgsm.com/donate) to the project there are several ways you can, via [Patreon](https://www.patreon.com/dgibbs), [Ko-Fi](https://ko-fi.com/dgibbs) and [PayPal](https://www.paypal.me/dgibbs64). I would like to thank everyone who has previously sent a donation. Since 2012 LinuxGSM has been steadily growing with new servers, features and improvements added regularly. ## Contributors diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg new file mode 100644 index 000000000..03befbd00 --- /dev/null +++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg @@ -0,0 +1,162 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT WILL BE OVERWRITTEN! +# Copy settings from here and use them in either +# common.cfg - applies settings to every instance +# [instance].cfg - applies settings to a specific instance + +#### Server Settings #### + +## SteamCMD Login | https://docs.linuxgsm.com/steamcmd#steamcmd-login +steamuser="username" +steampass='password' + +## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="27015" +clientport="27005" +sourcetvport="27020" +defaultmap="act_airport" +maxplayers="20" + +## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +fn_parms(){ +parms="-game ahl2 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +} + +#### LinuxGSM Settings #### + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" +postdays="7" +posttarget="https://hastebin.com" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". +# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need +# any custom string in curl - simple ignore this parameter. +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Updating | https://docs.linuxgsm.com/commands/update +updateonstart="off" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +#### LinuxGSM Advanced Settings #### + +# ANSI Colors +ansi="on" + +# Message Display Time +sleeptime="0.5" + +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + +## SteamCMD Settings +# Server appid +appid="985050" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="true" + +## LinuxGSM Server Details +# Do not edit +gamename="Action: Source" +engine="source" +glibc="2.15" + +#### Directories #### +# Edit with care + +## Server Specific Directories +systemdir="${serverfiles}/ahl2" +executabledir="${serverfiles}" +executable="./srcds_run" +servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" +servercfgdir="${systemdir}/cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${systemdir}/logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +alertlog="${lgsmlogdir}/${servicename}-alert.log" +postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg index bee9cbcc3..65cfd5fab 100644 --- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Action half-life" diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg index 728a9f68a..f69643c12 100644 --- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg @@ -65,6 +65,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -106,6 +110,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="ARK: Survival Evolved" diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg index 828bbdd04..d58cb76e5 100644 --- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg @@ -79,6 +79,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -120,6 +124,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="ARMA 3" diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg index 0abc8c5ae..aa5ffca37 100644 --- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="BrainBread 2" diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg index b299f8fb6..11e7b23a0 100644 --- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="BrainBread" diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg index f4314d1f0..c2c148113 100644 --- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Base Defense" diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg index ef1da1ffb..19e919726 100644 --- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -89,6 +93,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Battlefield: 1942" diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg index 7927bcf90..4a42b24aa 100644 --- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Black Mesa: Deathmatch" diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg index b0fe9a3aa..6f66c1680 100644 --- a/lgsm/config-default/config-lgsm/boserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -103,6 +107,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Ballistic Overkill" diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg index a29b6cfda..29f8d9814 100644 --- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg @@ -73,6 +73,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -114,6 +118,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Blade Symphony" diff --git a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg index fec39515d..5ea155b17 100644 --- a/lgsm/config-default/config-lgsm/bt1944server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bt1944server/_default.cfg @@ -61,6 +61,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -102,6 +106,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Battalion 1944" diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg index 65925ff2e..600e016c7 100644 --- a/lgsm/config-default/config-lgsm/btserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -97,6 +101,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="7" + ## LinuxGSM Server Details # Do not edit gamename="Barotrauma" diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg index 77d5af934..fb6f47507 100644 --- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Codename CURE" diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg index edc5b087d..523b61755 100644 --- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -92,6 +96,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Call of Duty 2" diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg index 23cce4a4c..546ad2b44 100644 --- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -92,6 +96,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Call of Duty 4" diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg index 41d22bf82..f527bc194 100644 --- a/lgsm/config-default/config-lgsm/codserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -92,6 +96,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Call of Duty" diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg index 7664974a0..cc4109847 100644 --- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -92,6 +96,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Call of Duty: United Offensive" diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg index 99732af5d..484d64194 100644 --- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -92,6 +96,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Call of Duty: World at War" diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg index 980ab873d..15909d0f9 100644 --- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Counter-Strike: Condition Zero" diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg index 5dac93530..1358a186c 100644 --- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg @@ -89,6 +89,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -130,6 +134,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Counter-Strike: Global Offensive" diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg index 6875f9f5b..7141f33a9 100644 --- a/lgsm/config-default/config-lgsm/csserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Counter-Strike 1.6" diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg index 4f54ce5f2..aa750fe1c 100644 --- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Counter-Strike: Source" diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg index c9e202985..e256c2a47 100644 --- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Double Action: Boogaloo" diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg index b67b2650a..779f33632 100644 --- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Deathmatch Classic" diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg index 13f174eab..2c47d5501 100644 --- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Day of Defeat" diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg index 1f94decf0..83ba5072a 100644 --- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Day of Defeat: Source" diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg index 279444eef..f74935f60 100644 --- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg @@ -65,6 +65,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -106,6 +110,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Day of Infamy" diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg index 0265ebb23..fc054e87d 100644 --- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg @@ -67,6 +67,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -108,6 +112,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Don't Starve Together" diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg index 8e7bfb32a..717c17078 100644 --- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Dystopia" diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg index 5387a83c8..4d2e15d7c 100644 --- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram telegramalert="off" telegramtoken="accesstoken" @@ -93,6 +97,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Eco" diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg index 70c491179..a33e7f71a 100644 --- a/lgsm/config-default/config-lgsm/emserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Empires Mod" diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg index efdb506bc..6c6a50734 100644 --- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg @@ -10,7 +10,7 @@ ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ - parms="+set net_strict 1 +set fs_homepath ${serverfiles} +exec ${servercfg}" +parms="+set net_strict 1 +set fs_homepath ${serverfiles} +exec ${servercfg}" } #### LinuxGSM Settings #### @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -86,6 +90,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="ET: Legacy" diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg index deaf3bce0..da4f64da8 100644 --- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -97,6 +101,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Factorio" diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg index f4cc72c11..d78916c6f 100644 --- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg @@ -14,7 +14,7 @@ port="27015" clientport="27005" sourcetvport="27020" defaultmap="fof_depot" -maxplayers="16" +maxplayers="20" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Fistful of Frags" diff --git a/lgsm/config-default/config-lgsm/gesserver/_default.cfg b/lgsm/config-default/config-lgsm/gesserver/_default.cfg index 6f2426524..08adc02aa 100644 --- a/lgsm/config-default/config-lgsm/gesserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/gesserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="GoldenEye: Source" diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg index 8901aaea5..06c92867d 100644 --- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg @@ -80,6 +80,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -121,6 +125,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Garry's Mod" diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg index 03c867f87..c710cbb62 100644 --- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Half Life 2: Deathmatch" diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg index 52c2aa398..eddf8143b 100644 --- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Half Life: Deathmatch" diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg index 798a85107..77b164052 100644 --- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Half-Life Deathmatch: Source" diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg index a48ece00a..70e55e792 100644 --- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg @@ -75,6 +75,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -116,6 +120,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Hurtworld" @@ -128,7 +145,7 @@ glibc="2.15" ## Server Specific Directories systemdir="${serverfiles}" executabledir="${serverfiles}" -executable=$([ "$(uname -m)" == "x86_64" ] && echo "./Hurtworld.x86_64" || echo "./Hurtworld.x86") +executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./Hurtworld.x86_64" || echo -e "./Hurtworld.x86") ## Backup Directory backupdir="${lgsmdir}/backup" diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg index 833b56c94..246b00584 100644 --- a/lgsm/config-default/config-lgsm/insserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg @@ -13,10 +13,9 @@ ip="0.0.0.0" port="27015" clientport="27005" sourcetvport="27020" -defaultmap="ministry" -maxplayers="16" +defaultmap="embassy_coop checkpoint" +maxplayers="32" tickrate="64" -workshop="0" ## Optional: Game Server Login Token # GSLT can be used for running a public server. @@ -25,7 +24,7 @@ gslt="" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +sv_workshop_enabled ${workshop} -norestart" +parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +sv_setsteamaccount ${gslt} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} -workshop" } #### LinuxGSM Settings #### @@ -71,6 +70,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -112,6 +115,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Insurgency" diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg index 04ab3128c..cc54b8d3f 100644 --- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg @@ -72,6 +72,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -113,6 +117,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Insurgency: Sandstorm" diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg index 1bfaedfc2..0beecbdab 100644 --- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="IOSoccer" diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg index 858ba5707..52248161c 100644 --- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -97,6 +101,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Just Cause 2" diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg index 776f170b5..b99603c03 100644 --- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -97,6 +101,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Just Cause 3" diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg index 8c917fea6..da31e737a 100644 --- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -103,6 +107,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Killing Floor 2" diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg index 88c5d5c3d..82d67bc62 100644 --- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg @@ -68,6 +68,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -109,6 +113,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Killing Floor" diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg index 60637ba3f..2250b7393 100644 --- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Left 4 Dead 2" diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg index 206a5d63a..33ff44c30 100644 --- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Left 4 Dead" diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg index 6d8bfae71..663c141a7 100644 --- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg @@ -58,6 +58,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -91,6 +95,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="5" + ## LinuxGSM Server Details # Do not edit gamename="Minecraft" diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg index 30f68f0cd..f3846d238 100644 --- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg @@ -35,6 +35,10 @@ posttarget="https://hastebin.com" discordalert="off" discordwebhook="webhook" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Email Alerts | https://docs.linuxgsm.com/alerts/email emailalert="off" email="email@example.com" @@ -102,6 +106,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="MORDHAU" diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg new file mode 100644 index 000000000..4ee5487e7 --- /dev/null +++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg @@ -0,0 +1,144 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT WILL BE OVERWRITTEN! +# Copy settings from here and use them in either +# common.cfg - applies settings to every instance +# [instance].cfg - applies settings to a specific instance + +#### Server Settings #### + +## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="12203" +defaultmap="dm/mohdm1" + +## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +fn_parms(){ +parms="+set sv_punkbuster 0 +set fs_basepath ${serverfiles} +set fs_outputpath ${gamelogdir} +set dedicated 2 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg} +map ${defaultmap}" +} + +#### LinuxGSM Settings #### + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" +postdays="7" +posttarget="https://hastebin.com" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". +# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need +# any custom string in curl - simple ignore this parameter. +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +#### LinuxGSM Advanced Settings #### + +# ANSI Colors +ansi="on" + +# Message Display Time +sleeptime="0.5" + +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + +## LinuxGSM Server Details +# Do not edit +gamename="Medal of Honor: Allied Assault" +engine="idtech3" +glibc="2.3" + +#### Directories #### +# Edit with care + +## Server Specific Directories +systemdir="${serverfiles}/main" +executabledir="${serverfiles}" +executable="./mohaa_lnxded" +servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" +servercfgdir="${serverfiles}" +servercfgfullpath="${serverfiles}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${serverfiles}/Logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +alertlog="${lgsmlogdir}/${servicename}-alert.log" +postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg index f5db494ed..5dc5dbbcc 100644 --- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg @@ -57,6 +57,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -87,6 +91,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="4" + ## LinuxGSM Server Details # Do not edit gamename="Multi Theft Auto" diff --git a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg index 1c87b4c77..4c6190596 100644 --- a/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mumbleserver/_default.cfg @@ -57,6 +57,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -90,6 +94,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Mumble" diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg index 0d920f0e2..4f54b6318 100644 --- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Nuclear Dawn" diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg index 25aa74192..57869bc3e 100644 --- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="No More Room in Hell" diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg index b5d75252b..7e6bca42a 100644 --- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg @@ -71,6 +71,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -112,6 +116,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="6" + ## LinuxGSM Server Details # Do not edit gamename="NS2: Combat" diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg index 79c0b169e..41e52d53d 100644 --- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg @@ -75,6 +75,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -116,6 +120,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="6" + ## LinuxGSM Server Details # Do not edit gamename="Natural Selection 2" diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg index 7b3fb9bde..59e61097d 100644 --- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Natural Selection" diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg index 9b0c611b6..f5cf34813 100644 --- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Half-Life: Opposing Force" diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg index 1a324a399..ef1fb6925 100644 --- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -97,6 +101,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Project Cars" diff --git a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg index 9b4f6762c..ad692c635 100644 --- a/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pstbsserver/_default.cfg @@ -17,11 +17,11 @@ queryport="10037" #servername="LinuxGSM Server" # If your server is not meeting the minimal server requirement, do not host the server for 80 players, decrease that number. maxplayers="40" -numreservedslots="2" +reservedslots="2" ## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters fn_parms(){ -parms="MULTIHOME=${ip}?RANDOM=${randommap}?Port=${port}?QueryPort=${queryport}?MaxPlayers=${maxplayers}?NumReservedSlots=${numreservedslots}" +parms="MULTIHOME=${ip}?RANDOM=${randommap}?Port=${port}?QueryPort=${queryport}?MaxPlayers=${maxplayers}?NumReservedSlots=${reservedslots}" } #### LinuxGSM Settings #### @@ -67,6 +67,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -108,6 +112,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="pstbsserver" diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg index 50afb6323..cdfc1b20f 100644 --- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Pirates, Vikings, and Knights II" diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg index 3592c6fc8..1b5bc2296 100644 --- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg @@ -59,6 +59,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -100,6 +104,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Project Zomboid" diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg index 920f0f012..42525ec9b 100644 --- a/lgsm/config-default/config-lgsm/q2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg @@ -61,6 +61,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -91,6 +95,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Quake 2" diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg index 30d2363ab..105a66895 100644 --- a/lgsm/config-default/config-lgsm/q3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg @@ -61,6 +61,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -91,6 +95,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Quake 3: Arena" diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg index f05bd78ec..bf144b578 100644 --- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg @@ -58,6 +58,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -99,6 +103,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Quake Live" @@ -111,7 +128,7 @@ glibc="2.15" ## Server Specific Directories systemdir="${serverfiles}" executabledir="${serverfiles}" -executable=$([ "$(uname -m)" == "x86_64" ] && echo "./run_server_x64.sh" || echo "./run_server_x86.sh") +executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./run_server_x64.sh" || echo -e "./run_server_x86.sh") servercfg="${servicename}.cfg" servercfgdefault="server.cfg" servercfgdir="${serverfiles}/baseq3" diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg index 8d52d2f1c..5069e4818 100644 --- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg @@ -60,6 +60,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -90,6 +94,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="QuakeWorld" diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg index 53ed05649..67e810d5b 100644 --- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Ricochet" diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg index e0e5719bb..d378dc455 100644 --- a/lgsm/config-default/config-lgsm/roserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Red Orchestra: Ostfront 41-45" diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg index 7d0eca7ee..a70042e49 100644 --- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg @@ -61,6 +61,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -91,6 +95,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Return to Castle Wolfenstein" diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg index 1af31d373..e643ef8a4 100644 --- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg @@ -88,6 +88,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -129,6 +133,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Rust" diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg index 10a8ac03d..2ab86085b 100644 --- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg @@ -59,6 +59,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -100,6 +104,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Rising World" diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg index 600c0498a..43f0d3cba 100644 --- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg @@ -60,6 +60,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -90,6 +94,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="San Andreas Multiplayer" diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg index 1c95132b1..8278af21d 100644 --- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -102,6 +106,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="StickyBots" diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg index 5cf9a10fd..09de95570 100644 --- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -103,6 +107,19 @@ appid="211820" branch="" steammaster="flase" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Starbound" diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg index 06d97810f..5043bcac3 100644 --- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg @@ -59,6 +59,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -100,6 +104,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# teamspeak 3 +stopmode="8" + ## LinuxGSM Server Details # Do not edit gamename="7 Days To Die" @@ -112,7 +129,7 @@ glibc="2.15" ## Server Specific Directories systemdir="${serverfiles}" executabledir="${serverfiles}" -executable=$([ "$(uname -m)" == "x86_64" ] && echo "./7DaysToDieServer.x86_64" || echo "./7DaysToDieServer.x86") +executable=$([ "$(uname -m)" == "x86_64" ] && echo -e "./7DaysToDieServer.x86_64" || echo -e "./7DaysToDieServer.x86") servercfgdefault="serverconfig.xml" servercfgdirdefault="${serverfiles}" servercfgfullpathdefault="${servercfgdirdefault}/${servercfgdefault}" diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg index 15318155f..aafdc7be8 100644 --- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="SourceForts Classic" diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg index cd3053a83..a1dcea4d7 100644 --- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg @@ -61,6 +61,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -91,6 +95,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Soldier Of Fortune 2: Gold Edition" diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg index ffd2d7db1..5cc80f3df 100644 --- a/lgsm/config-default/config-lgsm/solserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg @@ -62,6 +62,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -92,6 +96,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Soldat" diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg index 3c2109527..97991d083 100644 --- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg @@ -61,6 +61,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -102,6 +106,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Squad" diff --git a/lgsm/config-default/config-lgsm/ss3server/_default.cfg b/lgsm/config-default/config-lgsm/ss3server/_default.cfg index 050be2d51..5fe555d86 100644 --- a/lgsm/config-default/config-lgsm/ss3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ss3server/_default.cfg @@ -60,6 +60,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -101,6 +105,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Serious Sam 3: BFE" diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg index a380fb91d..c295b947d 100644 --- a/lgsm/config-default/config-lgsm/stserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg @@ -66,6 +66,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -107,6 +111,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Stationeers" diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg index a1342611c..837c2db37 100644 --- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Sven Co-op" diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg index 9a940f4d8..238bc71f9 100644 --- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="7" + ## LinuxGSM Server Details # Do not edit gamename="Terraria" diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg index 106cabdb1..606853630 100644 --- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Team Fortress 2" diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg index b65c06f6d..cf02a2be3 100644 --- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Team Fortress Classic" diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg index 210a406c8..6f7ab5f5e 100644 --- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg @@ -52,6 +52,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -85,6 +89,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="10" + ## LinuxGSM Server Details # Do not edit gamename="TeamSpeak 3" diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg index 75dae8d96..3ab453689 100644 --- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="The Specialists" diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg index 72f78ee05..871847600 100644 --- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg @@ -66,6 +66,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -107,6 +111,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Tower Unite" diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg index 9e1fe3db9..9381b8a88 100644 --- a/lgsm/config-default/config-lgsm/twserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Teeworlds" diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg index 16179473a..32b468a12 100644 --- a/lgsm/config-default/config-lgsm/untserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg @@ -37,6 +37,10 @@ posttarget="https://hastebin.com" discordalert="off" discordwebhook="webhook" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Email Alerts | https://docs.linuxgsm.com/alerts/email emailalert="off" email="email@example.com" @@ -104,6 +108,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Unturned" diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg index 9481d792a..942f8526e 100644 --- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg @@ -60,6 +60,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -90,6 +94,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Unreal Tournament 2004" diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg index f2d5a1bcf..ebb9eee7b 100644 --- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg @@ -71,6 +71,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -101,6 +105,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Unreal Tournament 3" diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg index d49740942..b87486ecd 100644 --- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg @@ -60,6 +60,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -90,6 +94,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Unreal Tournament 99" diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg index 3cd111eb3..ddce48d22 100644 --- a/lgsm/config-default/config-lgsm/utserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -94,6 +98,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Unreal Tournament" diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg index 94b192363..0d8be68fa 100644 --- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg @@ -63,6 +63,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="9" + ## LinuxGSM Server Details # Do not edit gamename="Vampire Slayer" diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg index 1a5f66c4d..7a2473945 100644 --- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg @@ -56,6 +56,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -86,6 +90,19 @@ ansi="on" # Message Display Time sleeptime="0.5" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Wolfenstein: Enemy Territory" diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg new file mode 100644 index 000000000..f6d028c2b --- /dev/null +++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg @@ -0,0 +1,153 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT WILL BE OVERWRITTEN! +# Copy settings from here and use them in either +# common.cfg - applies settings to every instance +# [instance].cfg - applies settings to a specific instance + +#### Server Settings #### + +## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="44400" +httpport="44444" + +## Server Start Command | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +fn_parms(){ +parms="+exec ${servercfg} +sv_http_ip ${ip} +set sv_http_port ${httpport} +sv_ip ${ip} +sv_port ${port}" +} + +#### LinuxGSM Settings #### + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" +postdays="7" +posttarget="https://hastebin.com" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Mailgun Email Alerts | https://docs.linuxgsm.com/alerts/mailgun +mailgunalert="off" +mailguntoken="accesstoken" +mailgundomain="example.com" +mailgunemailfrom="alert@example.com" +mailgunemail="email@myemail.com" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". +# like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need +# any custom string in curl - simple ignore this parameter. +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +#### LinuxGSM Advanced Settings #### + +# ANSI Colors +ansi="on" + +# Message Display Time +sleeptime="0.5" + +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + +## SteamCMD Settings +# Server appid +appid="1136510" +appidmod="warfork" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="true" + +## LinuxGSM Server Details +# Do not edit +gamename="Warfork" +engine="qfusion" +glibc="2.15" + +#### Directories #### +# Edit with care + +## Server Specific Directories +systemdir="${serverfiles}/Warfork.app/Contents/Resources" +executabledir="${systemdir}" +executable="./wf_server.x86_64" +servercfg="${servicename}.cfg" +servercfgdefault="server.cfg" +servercfgdir="${systemdir}/basewf" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +logdir="${rootdir}/log" +gamelogdir="${serverfiles}/Logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +alertlog="${lgsmlogdir}/${servicename}-alert.log" +postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg index 9db80aafb..50e5348c5 100644 --- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg @@ -58,6 +58,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -96,6 +100,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="false" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="2" + ## LinuxGSM Server Details # Do not edit gamename="Wurm Unlimited" diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg index d51752fec..e3e21369b 100644 --- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg @@ -64,6 +64,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -105,6 +109,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Zombie Master: Reborn" diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg index 36e8373f3..971fe70f3 100644 --- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg @@ -69,6 +69,10 @@ channeltag="" pushoveralert="off" pushovertoken="accesstoken" +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + # Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram # You can add a custom cURL string eg proxy (useful in Russia) or else in "curlcustomstring". # like a "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help", if you not need @@ -110,6 +114,19 @@ branch="" # Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server steammaster="true" +# Stop Mode | https://docs.linuxgsm.com/steamcmd/stopmode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: Gold Source +# 10: Teamspeak 3 +stopmode="3" + ## LinuxGSM Server Details # Do not edit gamename="Zombie Panic! Source" diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 2b3567314..60c02feff 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -1,4 +1,5 @@ ahl,ahlserver,Action half-life +ahl2,ahl2server,Action: Source arma3,arma3server,ARMA 3 sdtd,sdtdserver,7 Days to Die ark,arkserver,ARK: Survival Evolved @@ -49,6 +50,7 @@ l4d,l4dserver,Left 4 Dead l4d2,l4d2server,Left 4 Dead 2 mc,mcserver,Minecraft mh,mhserver,MORDHAU +mohaa,mohaaserver,Medal of Honor: Allied Assault mta,mtaserver,Multi Theft Auto mumble,mumbleserver,Mumble nd,ndserver,Nuclear Dawn @@ -93,6 +95,7 @@ ut99,ut99server,Unreal Tournament 99 unt,untserver,Unturned vs,vsserver,Vampire Slayer wet,wetserver,Wolfenstein: Enemy Territory +wf,wfserver,Warfork wurm,wurmserver,Wurm Unlimited etl,etlserver,ET: Legacy zmr,zmrserver,Zombie Master: Reborn diff --git a/lgsm/functions/alert.sh b/lgsm/functions/alert.sh index a5b753f0d..8de6b370e 100644 --- a/lgsm/functions/alert.sh +++ b/lgsm/functions/alert.sh @@ -18,8 +18,8 @@ fn_alert_log(){ { fn_info_message_head fn_info_message_distro - fn_info_message_performance - fn_info_message_disk + fn_info_message_server_resource + fn_info_message_gameserver_resource fn_info_message_gameserver fn_info_logs } | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"| tee -a "${alertlog}" > /dev/null 2>&1 @@ -118,7 +118,7 @@ elif [ "${discordalert}" != "on" ]&&[ "${function_selfname}" == "command_test_al fn_script_log_warn "Discord alerts not enabled" elif [ -z "${discordtoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "Discord token not set" - echo " * https://docs.linuxgsm.com/alerts/discord" + echo -e " * https://docs.linuxgsm.com/alerts/discord" fn_script_error "Discord token not set" fi @@ -139,7 +139,7 @@ elif [ "${iftttalert}" != "on" ]&&[ "${function_selfname}" == "command_test_aler fn_script_log_warn "IFTTT alerts not enabled" elif [ -z "${ifttttoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "IFTTT token not set" - echo " * https://docs.linuxgsm.com/alerts/ifttt" + echo -e " * https://docs.linuxgsm.com/alerts/ifttt" fn_script_error "IFTTT token not set" fi @@ -150,7 +150,7 @@ elif [ "${mailgunalert}" != "on" ]&&[ "${function_selfname}" == "command_test_al fn_script_log_warn "Mailgun alerts not enabled" elif [ -z "${mailguntoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "Mailgun token not set" - echo " * https://docs.linuxgsm.com/alerts/mailgun" + echo -e " * https://docs.linuxgsm.com/alerts/mailgun" fn_script_error "Mailgun token not set" fi @@ -161,7 +161,7 @@ elif [ "${pushbulletalert}" != "on" ]&&[ "${function_selfname}" == "command_test fn_script_log_warn "Pushbullet alerts not enabled" elif [ -z "${pushbullettoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "Pushbullet token not set" - echo " * https://docs.linuxgsm.com/alerts/pushbullet" + echo -e " * https://docs.linuxgsm.com/alerts/pushbullet" fn_script_error "Pushbullet token not set" fi @@ -172,7 +172,7 @@ elif [ "${pushoveralert}" != "on" ]&&[ "${function_selfname}" == "command_test_a fn_script_log_warn "Pushover alerts not enabled" elif [ -z "${pushovertoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "Pushover token not set" - echo " * https://docs.linuxgsm.com/alerts/pushover" + echo -e " * https://docs.linuxgsm.com/alerts/pushover" fn_script_error "Pushover token not set" fi @@ -183,10 +183,21 @@ elif [ "${telegramalert}" != "on" ]&&[ "${function_selfname}" == "command_test_a fn_script_log_warn "Telegram Messages not enabled" elif [ -z "${telegramtoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "Telegram token not set." - echo " * https://docs.linuxgsm.com/alerts/telegram" + echo -e " * https://docs.linuxgsm.com/alerts/telegram" fn_script_error "Telegram token not set." elif [ -z "${telegramchatid}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then fn_print_error_nl "Telegram chat id not set." - echo " * https://docs.linuxgsm.com/alerts/telegram" + echo -e " * https://docs.linuxgsm.com/alerts/telegram" fn_script_error "Telegram chat id not set." fi + +if [ "${slackalert}" == "on" ]&&[ -n "${slackalert}" ]; then + alert_slack.sh +elif [ "${slackalert}" != "on" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then + fn_print_warn_nl "Slack alerts not enabled" + fn_script_log_warn "Slack alerts not enabled" +elif [ -z "${slacktoken}" ]&&[ "${function_selfname}" == "command_test_alert.sh" ]; then + fn_print_error_nl "Slack token not set" + echo -e " * https://docs.linuxgsm.com/alerts/slack" + fn_script_error "Slack token not set" +fi \ No newline at end of file diff --git a/lgsm/functions/alert_slack.sh b/lgsm/functions/alert_slack.sh new file mode 100644 index 000000000..2e71f337e --- /dev/null +++ b/lgsm/functions/alert_slack.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# LinuxGSM alert_slack.sh function +# Author: Kenneth Lindeof +# Website: https://linuxgsm.com +# Description: Sends Slack alert. + +if ! command -v jq > /dev/null; then + fn_print_fail_nl "Sending Slack alert: jq is missing." + fn_script_log_fatal "Sending Slack alert: jq is missing." +fi + +json=$(cat < /dev/null 2>&1 @@ -265,18 +268,18 @@ fn_found_missing_deps(){ if [ $? != 0 ]; then fn_print_failure_nl "Unable to install dependencies" fn_script_log_fatal "Unable to install dependencies" - echo "" + echo -e "" fn_print_warning_nl "Manually install dependencies." fn_script_log_warn "Manually install dependencies." if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then - echo " sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}" + echo -e " sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}" elif [ -n "$(command -v dnf 2>/dev/null)" ]; then - echo " sudo dnf install ${array_deps_missing[@]}" + echo -e " sudo dnf install ${array_deps_missing[@]}" elif [ -n "$(command -v yum 2>/dev/null)" ]; then - echo " sudo yum install ${array_deps_missing[@]}" + echo -e " sudo yum install ${array_deps_missing[@]}" fi if [ "${steamcmdfail}" ]; then - echo "" + echo -e "" fn_print_failure_nl "Missing dependencies required to run SteamCMD." fn_script_log_fatal "Missing dependencies required to run SteamCMD." core_exit.sh @@ -286,23 +289,23 @@ fn_found_missing_deps(){ fn_script_log_pass "Install dependencies completed" fi else - echo "" + echo -e "" fn_print_warning_nl "$(whoami) does not have sudo access. Manually install dependencies." fn_script_log_warn "$(whoami) does not have sudo access. Manually install dependencies." if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then - echo " sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}" + echo -e " sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}" elif [ -n "$(command -v dnf 2>/dev/null)" ]; then - echo " sudo dnf install ${array_deps_missing[@]}" + echo -e " sudo dnf install ${array_deps_missing[@]}" elif [ -n "$(command -v yum 2>/dev/null)" ]; then - echo " sudo yum install ${array_deps_missing[@]}" + echo -e " sudo yum install ${array_deps_missing[@]}" fi if [ "${steamcmdfail}" ]; then - echo "" + echo -e "" fn_print_failure_nl "Missing dependencies required to run SteamCMD." fn_script_log_fatal "Missing dependencies required to run SteamCMD." core_exit.sh fi - echo "" + echo -e "" fi if [ "${function_selfname}" == "command_install.sh" ]; then sleep 5 @@ -332,7 +335,7 @@ fn_deps_build_debian(){ array_deps_missing=() # LinuxGSM requirements. - array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python bzip2 gzip unzip binutils bc jq ) + array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python3 tar bzip2 gzip unzip binutils bc jq ) # All servers except ts3 require tmux. if [ "${shortname}" != "ts3" ]; then @@ -397,6 +400,9 @@ fn_deps_build_debian(){ else array_deps_required+=( openjdk-8-jre-headless ) fi + # Medal of Honor: Allied Assault + elif [ "${shortname}" == "mohaa" ]; then + array_deps_required+=( libstdc++5:i386 ) # Project Zomboid elif [ "${shortname}" == "pz" ]; then if [ -n "$(java -version 2>&1 | grep "version")" ]; then @@ -433,6 +439,8 @@ fn_deps_build_debian(){ # Wurm: Unlimited elif [ "${shortname}" == "wurm" ]; then array_deps_required+=( xvfb ) + elif [ "${shortname}" == "pstbs" ]; then + array_deps_required+=( libgconf-2-4 ) fi fn_deps_email fn_check_loop @@ -443,17 +451,19 @@ fn_deps_build_redhat(){ array_deps_missing=() # LinuxGSM requirements. - # CentOS 6 + # CentOS if [ "${distroversion}" == "6" ]; then - array_deps_required=( epel-release curl wget util-linux-ng python file gzip bzip2 unzip binutils bc jq ) + array_deps_required=( epel-release curl wget util-linux-ng python file tar gzip bzip2 unzip binutils bc jq ) elif [ "${distroversion}" == "7" ]; then - array_deps_required=( epel-release curl wget util-linux python file gzip bzip2 unzip binutils bc jq ) + array_deps_required=( epel-release curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq ) + elif [ "${distroversion}" == "8" ]; then + array_deps_required=( epel-release curl wget util-linux python36 file tar gzip bzip2 unzip binutils bc jq ) elif [ "${distroid}" == "fedora" ]; then - array_deps_required=( curl wget util-linux python2 file gzip bzip2 unzip binutils bc jq ) + array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq ) elif [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then - array_deps_required=( curl wget util-linux python27 file gzip bzip2 unzip binutils bc jq ) + array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq ) else - array_deps_required=( curl wget util-linux python file gzip bzip2 unzip binutils bc jq ) + array_deps_required=( curl wget util-linux python3 file tar gzip bzip2 unzip binutils bc jq ) fi # All servers except ts3 require tmux. @@ -516,7 +526,7 @@ fn_deps_build_redhat(){ else array_deps_required+=( java-1.8.0-openjdk rng-tools ) fi - # Project Zomboid & Minecraft + # Project Zomboid elif [ "${shortname}" == "pz" ]; then javaversion=$(java -version 2>&1 | grep "version") if [ "${javaversion}" ]; then @@ -547,6 +557,10 @@ fn_deps_build_redhat(){ # Unturned elif [ "${shortname}" == "unt" ]; then array_deps_required+=( mono-complete ) + elif [ "${shortname}" == "wurm" ]; then + array_deps_required+=( xorg-x11-server-Xvfb ) + elif [ "${shortname}" == "pstbs" ]; then + array_deps_required+=( GConf2 ) fi fn_deps_email fn_check_loop @@ -554,16 +568,16 @@ fn_deps_build_redhat(){ if [ "${function_selfname}" == "command_install.sh" ]; then if [ "$(whoami)" == "root" ]; then - echo "" - echo "Checking Dependencies as root" - echo "=================================" + echo -e "" + echo -e "${lightyellow}Checking Dependencies as root${default}" + echo -e "=================================" fn_print_information_nl "Checking any missing dependencies for ${gamename} server only." fn_print_information_nl "This will NOT install a ${gamename} server." fn_sleep_time else - echo "" - echo "Checking Dependencies" - echo "=================================" + echo -e "" + echo -e "${lightyellow}Checking Dependencies${default}" + echo -e "=================================" fi fi diff --git a/lgsm/functions/check_executable.sh b/lgsm/functions/check_executable.sh index f0f0a67b7..918043555 100644 --- a/lgsm/functions/check_executable.sh +++ b/lgsm/functions/check_executable.sh @@ -10,7 +10,7 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" # Check if executable exists if [ ! -f "${executabledir}/${execname}" ]; then fn_print_fail_nl "executable was not found" - echo "* ${executabledir}/${execname}" + echo -e "* ${executabledir}/${execname}" if [ -d "${lgsmlogdir}" ]; then fn_script_log_fatal "Executable was not found: ${executabledir}/${execname}" fi diff --git a/lgsm/functions/check_permissions.sh b/lgsm/functions/check_permissions.sh index aa7bb3de2..cb0cc9d5c 100644 --- a/lgsm/functions/check_permissions.sh +++ b/lgsm/functions/check_permissions.sh @@ -41,7 +41,7 @@ fn_check_ownership(){ fi } | column -s $'\t' -t | tee -a "${lgsmlog}" - echo "" + echo -e "" fn_print_information_nl "please see https://docs.linuxgsm.com/support/faq#fail-starting-game-server-permission-issues-found" fn_script_log "For more information, please see https://docs.linuxgsm.com/support/faq#fail-starting-game-server-permission-issues-found" if [ "${monitorflag}" == 1 ]; then @@ -164,12 +164,12 @@ fn_sys_perm_errors_detect(){ # Display a message on how to fix the issue manually. fn_sys_perm_fix_manually_msg(){ - echo "" + echo -e "" fn_print_information_nl "This error causes servers to fail starting properly" fn_script_log_info "This error causes servers to fail starting properly." - echo " * To fix this issue, run the following command as root:" + echo -e " * To fix this issue, run the following command as root:" fn_script_log_info "To fix this issue, run the following command as root:" - echo " chmod a+rx /sys /sys/class /sys/class/net" + echo -e " chmod a+rx /sys /sys/class /sys/class/net" fn_script_log "chmod a+rx /sys /sys/class /sys/class/net" fn_sleep_time if [ "${monitorflag}" == 1 ]; then diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh index 2972ae71d..3f6cd90de 100644 --- a/lgsm/functions/check_steamcmd.sh +++ b/lgsm/functions/check_steamcmd.sh @@ -23,7 +23,7 @@ fn_check_steamcmd_user(){ else fn_print_fail_nl "Steam login not set. Update steamuser in ${configdirserver}" fi - echo " * Change steamuser=\"username\" to a valid steam login." + echo -e " * Change steamuser=\"username\" to a valid steam login." if [ -d "${lgsmlogdir}" ]; then if [ "${legacymode}" == "1" ]; then fn_script_log_fatal "Steam login not set. Update steamuser in ${selfname}" diff --git a/lgsm/functions/check_tmuxception.sh b/lgsm/functions/check_tmuxception.sh index 1a13bef9c..7e83cf844 100644 --- a/lgsm/functions/check_tmuxception.sh +++ b/lgsm/functions/check_tmuxception.sh @@ -12,8 +12,8 @@ fn_check_is_in_tmux(){ fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a tmux session." fn_script_log_fatal "Tmuxception error: Attempted to start a tmux session inside of a tmux session." fn_print_information_nl "LinuxGSM creates a tmux session when starting the server." - echo "It is not possible to run a tmux session inside another tmux session" - echo "https://docs.linuxgsm.com/requirements/tmux#tmuxception" + echo -e "It is not possible to run a tmux session inside another tmux session" + echo -e "https://docs.linuxgsm.com/requirements/tmux#tmuxception" core_exit.sh fi } @@ -23,8 +23,8 @@ fn_check_is_in_screen(){ fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session." fn_script_log_fatal "Tmuxception error: Attempted to start a tmux session inside of a screen session." fn_print_information_nl "LinuxGSM creates a tmux session when starting the server." - echo "It is not possible to run a tmux session inside screen session" - echo "https://docs.linuxgsm.com/requirements/tmux#tmuxception" + echo -e "It is not possible to run a tmux session inside screen session" + echo -e "https://docs.linuxgsm.com/requirements/tmux#tmuxception" core_exit.sh fi } diff --git a/lgsm/functions/command_backup.sh b/lgsm/functions/command_backup.sh index 3a758886c..91f856809 100644 --- a/lgsm/functions/command_backup.sh +++ b/lgsm/functions/command_backup.sh @@ -13,7 +13,7 @@ check.sh # Trap to remove lockfile on quit. fn_backup_trap(){ - echo "" + echo -e "" echo -en "backup ${backupname}.tar.gz..." fn_print_canceled_eol_nl fn_script_log_info "Backup ${backupname}.tar.gz: CANCELED" @@ -54,7 +54,7 @@ fn_backup_init(){ else daysago="${lastbackupdaysago} days ago" fi - echo " * Previous backup was created ${daysago}, total size ${lastbackupsize}" + echo -e " * Previous backup was created ${daysago}, total size ${lastbackupsize}" fi } @@ -68,7 +68,7 @@ fn_backup_stop_server(){ elif [ "${stoponbackup}" == "off" ]; then serverstopped="no" fn_print_warn_nl "${servicename} is currently running" - echo " * Although unlikely; creating a backup while ${servicename} is running might corrupt the backup." + echo -e " * Although unlikely; creating a backup while ${servicename} is running might corrupt the backup." fn_script_log_warn "${servicename} is currently running" fn_script_log_warn "Although unlikely; creating a backup while ${servicename} is running might corrupt the backup" # Server is running and will be stopped if stoponbackup=on or unset. @@ -144,7 +144,7 @@ fn_backup_compression(){ if [ ${exitcode} -ne 0 ]; then fn_print_fail_eol fn_script_log_fatal "Backup in progress: FAIL" - echo "${tarcmd}" | tee -a "${lgsmlog}" + echo -e "${tarcmd}" | tee -a "${lgsmlog}" fn_print_fail_nl "Starting backup" fn_script_log_fatal "Starting backup" else @@ -174,7 +174,7 @@ fn_backup_prune(){ # If maxbackups greater or equal to backupsoutdatedcount, then it is over maxbackupdays. if [ "${backupquotadiff}" -ge "${backupsoudatedcount}" ]; then # Display how many backups will be cleared. - echo " * Pruning: ${backupquotadiff} backup(s) has exceeded the ${maxbackups} backups limit" + echo -e " * Pruning: ${backupquotadiff} backup(s) has exceeded the ${maxbackups} backups limit" fn_script_log_info "Pruning: ${backupquotadiff} backup(s) has exceeded the ${maxbackups} backups limit" fn_sleep_time fn_print_dots "Pruning: Clearing ${backupquotadiff} backup(s)" @@ -186,7 +186,7 @@ fn_backup_prune(){ # If maxbackupdays is used over maxbackups. elif [ "${backupquotadiff}" -lt "${backupsoudatedcount}" ]; then # Display how many backups will be cleared. - echo " * Pruning: ${backupsoudatedcount} backup(s) are older than ${maxbackupdays} days." + echo -e " * Pruning: ${backupsoudatedcount} backup(s) are older than ${maxbackupdays} days." fn_script_log_info "Pruning: ${backupsoudatedcount} backup(s) older than ${maxbackupdays} days." fn_sleep_time fn_print_dots "Pruning: Clearing ${backupquotadiff} backup(s)." @@ -243,7 +243,7 @@ fn_backup_relpath() { # traverse down, just add a newline. Otherwise at this point, there is # one remaining directory component in the backupdir to navigate. if (( "$base" < "${#bdirtoks[@]}" )) ; then - echo "${bdirtoks[ $(( ${#bdirtoks[@]} - 1)) ]}" + echo -e "${bdirtoks[ $(( ${#bdirtoks[@]} - 1)) ]}" else echo fi diff --git a/lgsm/functions/command_console.sh b/lgsm/functions/command_console.sh index 26f0a4707..f428ce56e 100644 --- a/lgsm/functions/command_console.sh +++ b/lgsm/functions/command_console.sh @@ -16,8 +16,8 @@ if [ "${shortname}" == "rust" ]||[ "${shortname}" == "hw" ]||[ "${shortname}" == fi fn_print_information_nl "Press \"CTRL+b\" then \"d\" to exit console." fn_print_warning_nl "Do NOT press CTRL+c to exit." -echo " * https://docs.linuxgsm.com/commands/console" -echo "" +echo -e " * https://docs.linuxgsm.com/commands/console" +echo -e "" if ! fn_prompt_yn "Continue?" Y; then echo Exiting; return fi diff --git a/lgsm/functions/command_debug.sh b/lgsm/functions/command_debug.sh index b06f05263..9422bbad7 100644 --- a/lgsm/functions/command_debug.sh +++ b/lgsm/functions/command_debug.sh @@ -26,65 +26,65 @@ info_config.sh # NOTE: Check if works with server without parms. Could be intergrated in to info_parms.sh. fn_parms fn_print_header -echo -e "${blue}Distro:\t${default}${distroname}" -echo -e "${blue}Arch:\t${default}${arch}" -echo -e "${blue}Kernel:\t${default}${kernel}" -echo -e "${blue}Hostname:\t${default}${HOSTNAME}" -echo -e "${blue}tmux:\t${default}${tmuxv}" -echo -e "${blue}Avg Load:\t${default}${load}" -echo -e "${blue}Free Memory:\t${default}${physmemfree}" -echo -e "${blue}Free Disk:\t${default}${availspace}" - +{ + echo -e "${lightblue}Distro:\t\t${default}${distroname}" + echo -e "${lightblue}Arch:\t\t${default}${arch}" + echo -e "${lightblue}Kernel:\t\t${default}${kernel}" + echo -e "${lightblue}Hostname:\t\t${default}${HOSTNAME}" + echo -e "${lightblue}tmux:\t\t${default}${tmuxv}" + echo -e "${lightblue}Avg Load:\t\t${default}${load}" + echo -e "${lightblue}Free Memory:\t\t${default}${physmemfree}" + echo -e "${lightblue}Free Disk:\t\t${default}${availspace}" +} | column -s $'\t' -t # glibc required. if [ -n "${glibc}" ]; then if [ "${glibc}" == "null" ]; then # Glibc is not required. : elif [ -z "${glibc}" ]; then - echo -e "${blue}glibc required:\t${red}UNKNOWN${default}" + echo -e "${lightblue}glibc required:\t${red}UNKNOWN${default}" elif [ "$(printf '%s\n'${glibc}'\n' ${glibcversion} | sort -V | head -n 1)" != "${glibc}" ]; then - echo -e "${blue}glibc required:\t${red}${glibc} ${default}(${red}distro glibc ${glibcversion} too old${default})" + echo -e "${lightblue}glibc required:\t${red}${glibc} ${default}(${red}distro glibc ${glibcversion} too old${default})" else - echo -e "${blue}glibc required:\t${green}${glibc}${default}" + echo -e "${lightblue}glibc required:\t${green}${glibc}${default}" fi fi # Server IP if [ "${multiple_ip}" == "1" ]; then - echo -e "${blue}Server IP:\t${default}NOT SET" + echo -e "${lightblue}Server IP:\t${default}NOT SET" else - echo -e "${blue}Server IP:\t${default}${ip}:${port}" + echo -e "${lightblue}Server IP:\t${default}${ip}:${port}" fi # External server IP. if [ -n "${extip}" ]; then if [ "${ip}" != "${extip}" ]; then - echo -e "${blue}Internet IP:\t${default}${extip}:${port}" + echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}" fi fi # Listed on Master Server. if [ "${displaymasterserver}" ];then if [ "${displaymasterserver}" == "true" ];then - echo -e "${blue}Master Server:\t${green}${displaymasterserver}${default}" + echo -e "${lightblue}Master Server:\t${green}${displaymasterserver}${default}" else - echo -e "${blue}Master Server:\t${red}${displaymasterserver}${default}" + echo -e "${lightblue}Master Server:\t${red}${displaymasterserver}${default}" fi fi # Server password. if [ -n "${serverpassword}" ]; then - echo -e "${blue}Server password:\t${default}${serverpassword}" + echo -e "${lightblue}Server password:\t${default}${serverpassword}" fi -echo "" -echo "Start parameters:" +echo -e "${lightblue}Start parameters:${default}" if [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then - echo "${executable} ${parms} -debug" + echo -e "${executable} ${parms} -debug" else - echo "${executable} ${parms}" + echo -e "${executable} ${parms}" fi -echo "" +echo -e "" echo -e "Use for identifying server issues only!" echo -e "Press CTRL+c to drop out of debug mode." fn_print_warning_nl "If ${servicename} is already running it will be stopped." -echo "" +echo -e "" if ! fn_prompt_yn "Continue?" Y; then echo Exiting; return fi diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh index f70361d50..6e4e8fecc 100644 --- a/lgsm/functions/command_details.sh +++ b/lgsm/functions/command_details.sh @@ -17,8 +17,8 @@ info_distro.sh info_messages.sh query_gamedig.sh fn_info_message_distro -fn_info_message_performance -fn_info_message_disk +fn_info_message_server_resource +fn_info_message_gameserver_resource fn_info_message_gameserver fn_info_message_script fn_info_message_backup diff --git a/lgsm/functions/command_dev_clear_functions.sh b/lgsm/functions/command_dev_clear_functions.sh index 5c698f05f..95f54e842 100644 --- a/lgsm/functions/command_dev_clear_functions.sh +++ b/lgsm/functions/command_dev_clear_functions.sh @@ -4,10 +4,10 @@ # Website: https://linuxgsm.com # Description: Deletes the contents of the functions dir. -echo "=================================" -echo "Clear Functions" -echo "=================================" -echo "" +echo -e "=================================" +echo -e "Clear Functions" +echo -e "=================================" +echo -e "" if fn_prompt_yn "Do you want to delete all functions?" Y; then rm -rfv "${functionsdir:?}/"* rm -rfv "${configdirdefault:?}/"* diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh index ad431a722..c3b29872e 100644 --- a/lgsm/functions/command_dev_detect_deps.sh +++ b/lgsm/functions/command_dev_detect_deps.sh @@ -8,17 +8,17 @@ local commandname="DETECT-DEPS" local commandaction="Detect-Deps" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "=================================" -echo "Dependencies Checker" -echo "=================================" -echo "Checking directory: " -echo "${serverfiles}" +echo -e "=================================" +echo -e "Dependencies Checker" +echo -e "=================================" +echo -e "Checking directory: " +echo -e "${serverfiles}" if [ "$(command -v eu-readelf 2>/dev/null)" ]; then readelf=eu-readelf elif [ "$(command -v readelf 2>/dev/null)" ]; then readelf=readelf else - echo "readelf/eu-readelf not installed" + echo -e "readelf/eu-readelf not installed" fi files=$(find "${serverfiles}" | wc -l) find "${serverfiles}" -type f -print0 | @@ -35,14 +35,14 @@ done sort "${tmpdir}/.depdetect_readelf" |uniq >"${tmpdir}/.depdetect_readelf_uniq" while read -r lib; do - echo "${lib}" + echo -e "${lib}" local libs_array=( libm.so.6 libc.so.6 libtcmalloc_minimal.so.4 libpthread.so.0 libdl.so.2 libnsl.so.1 libgcc_s.so.1 librt.so.1 ld-linux.so.2 libdbus-glib-1.so.2 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libnm-glib.so.4 libnm-util.so.2 ) for lib_file in "${libs_array[@]}" do if [ "${lib}" == "${lib_file}" ]; then - echo "glibc.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "lib32gcc1" >> "${tmpdir}/.depdetect_debian_list" + echo -e "glibc.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "lib32gcc1" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 fi done @@ -51,9 +51,9 @@ while read -r lib; do for lib_file in "${libs_array[@]}" do if [ "${lib}" == "${lib_file}" ]; then - echo "java-1.8.0-openjdk" >> "${tmpdir}/.depdetect_centos_list" - echo "default-jre" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "default-jre" >> "${tmpdir}/.depdetect_debian_list" + echo -e "java-1.8.0-openjdk" >> "${tmpdir}/.depdetect_centos_list" + echo -e "default-jre" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "default-jre" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 fi done @@ -68,66 +68,71 @@ while read -r lib; do done if [ "${lib}" == "libstdc++.so.6" ]; then - echo "libstdc++.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "libstdc++6:i386" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libstdc++6:i386" >> "${tmpdir}/.depdetect_debian_list" + echo -e "libstdc++.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libstdc++6:i386" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libstdc++6:i386" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libstdc++.so.5" ]; then - echo "compat-libstdc++-33.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "libstdc++5:i386" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libstdc++5:i386" >> "${tmpdir}/.depdetect_debian_list" + echo -e "compat-libstdc++-33.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libstdc++5:i386" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libstdc++5:i386" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libcurl-gnutls.so.4" ]; then - echo "libcurl.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "libcurl4-gnutls-dev:i386" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libcurl4-gnutls-dev:i386" >> "${tmpdir}/.depdetect_debian_list" + echo -e "libcurl.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libcurl4-gnutls-dev:i386" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libcurl4-gnutls-dev:i386" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libspeex.so.1" ]||[ "${lib}" == "libspeexdsp.so.1" ]; then - echo "speex.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "speex:i386" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "speex:i386" >> "${tmpdir}/.depdetect_debian_list" + echo -e "speex.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "speex:i386" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "speex:i386" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "./libSDL-1.2.so.0" ]||[ "${lib}" == "libSDL-1.2.so.0" ]; then - echo "SDL.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "libsdl1.2debian" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libsdl1.2debian" >> "${tmpdir}/.depdetect_debian_list" + echo -e "SDL.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libsdl1.2debian" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libsdl1.2debian" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libtbb.so.2" ]; then - echo "tbb.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "libtbb2" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libtbb2" >> "${tmpdir}/.depdetect_debian_list" + echo -e "tbb.i686" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libtbb2" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libtbb2" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libXrandr.so.2" ]; then - echo "libXrandr" >> "${tmpdir}/.depdetect_centos_list" - echo "libxrandr2" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libxrandr2" >> "${tmpdir}/.depdetect_debian_list" + echo -e "libXrandr" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libxrandr2" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libxrandr2" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libXext.so.6" ]; then - echo "libXext" >> "${tmpdir}/.depdetect_centos_list" - echo "libxext6" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libxext6" >> "${tmpdir}/.depdetect_debian_list" + echo -e "libXext" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libxext6" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libxext6" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libXtst.so.6" ]; then - echo "libXtst" >> "${tmpdir}/.depdetect_centos_list" - echo "libxtst6" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libxtst6" >> "${tmpdir}/.depdetect_debian_list" + echo -e "libXtst" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libxtst6" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libxtst6" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libpulse.so.0" ]; then - echo "pulseaudio-libs" >> "${tmpdir}/.depdetect_centos_list" - echo "libpulse0" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libpulse0" >> "${tmpdir}/.depdetect_debian_list" + echo -e "pulseaudio-libs" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libpulse0" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libpulse0" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 elif [ "${lib}" == "libopenal.so.1" ]; then - echo "" >> "${tmpdir}/.depdetect_centos_list" - echo "libopenal1" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "libopenal1" >> "${tmpdir}/.depdetect_debian_list" + echo -e "" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libopenal1" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libopenal1" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + elif [ "${lib}" == "libgconf-2.so.4" ]; then + echo -e "GConf2" >> "${tmpdir}/.depdetect_centos_list" + echo -e "libgconf2-4" >> "${tmpdir}/.depdetect_ubuntu_list" + echo -e "libgconf2-4" >> "${tmpdir}/.depdetect_debian_list" libdetected=1 fi if [ "${libdetected}" != "1" ]; then unknownlib=1 - echo "${lib}" >> "${tmpdir}/.depdetect_unknown" + echo -e "${lib}" >> "${tmpdir}/.depdetect_unknown" fi unset libdetected done < "${tmpdir}/.depdetect_readelf_uniq" @@ -142,35 +147,35 @@ fi awk -vORS='' '{ print $1,$2 }' "${tmpdir}/.depdetect_centos_list_uniq" > "${tmpdir}/.depdetect_centos_line" awk -vORS='' '{ print $1,$2 }' "${tmpdir}/.depdetect_ubuntu_list_uniq" > "${tmpdir}/.depdetect_ubuntu_line" awk -vORS='' '{ print $1,$2 }' "${tmpdir}/.depdetect_debian_list_uniq" > "${tmpdir}/.depdetect_debian_line" -echo "" -echo "" -echo "Required Dependencies" -echo "=================================" -echo "${executable}" -echo "" -echo "CentOS" -echo "=================================" +echo -e "" +echo -e "" +echo -e "Required Dependencies" +echo -e "=================================" +echo -e "${executable}" +echo -e "" +echo -e "CentOS" +echo -e "=================================" cat "${tmpdir}/.depdetect_centos_line" -echo "" -echo "" -echo "Ubuntu" -echo "=================================" +echo -e "" +echo -e "" +echo -e "Ubuntu" +echo -e "=================================" cat "${tmpdir}/.depdetect_ubuntu_line" -echo "" -echo "" -echo "Debian" -echo "=================================" +echo -e "" +echo -e "" +echo -e "Debian" +echo -e "=================================" cat "${tmpdir}/.depdetect_debian_line" -echo "" +echo -e "" if [ "${unknownlib}" == "1" ]; then - echo "" - echo "Unknown shared Library" - echo "=================================" + echo -e "" + echo -e "Unknown shared Library" + echo -e "=================================" cat "${tmpdir}/.depdetect_unknown" fi -echo "" -echo "Required Librarys" -echo "=================================" +echo -e "" +echo -e "Required Librarys" +echo -e "=================================" sort "${tmpdir}/.depdetect_readelf" | uniq echo -en "\n" rm -f "${tmpdir}/.depdetect_centos_line" diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh index 7f0fc409c..f8b858dff 100644 --- a/lgsm/functions/command_dev_detect_glibc.sh +++ b/lgsm/functions/command_dev_detect_glibc.sh @@ -9,9 +9,9 @@ local commandname="DETECT-GLIBC" local commandaction="Detect-Glibc" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "=================================" -echo "glibc Requirements Checker" -echo "=================================" +echo -e "=================================" +echo -e "glibc Requirements Checker" +echo -e "=================================" if [ -z "$(command -v objdump)" ]; then fn_print_failure_nl "objdump is missing" @@ -24,13 +24,13 @@ if [ -z "${serverfiles}" ]; then fi if [ -d "${serverfiles}" ]; then - echo "Checking directory: " - echo "${serverfiles}" + echo -e "Checking directory: " + echo -e "${serverfiles}" elif [ -f "${serverfiles}" ]; then - echo "Checking file: " - echo "${serverfiles}" + echo -e "Checking file: " + echo -e "${serverfiles}" fi -echo "" +echo -e "" local glibc_check_dir_array=( steamcmddir serverfiles ) @@ -50,25 +50,25 @@ do while IFS= read -r -d $'\0' line; do glibcversion=$(objdump -T "${line}" 2>/dev/null | grep -oP "GLIBC[^ ]+" | grep -v GLIBCXX | sort | uniq | sort -r --version-sort | head -n 1) if [ "${glibcversion}" ]; then - echo "${glibcversion}: ${line}" >>"${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" + echo -e "${glibcversion}: ${line}" >>"${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" fi objdump -T "${line}" 2>/dev/null | grep -oP "GLIBC[^ ]+" >>"${tmpdir}/detect_glibc_${glibc_check_var}.tmp" echo -n "${i} / ${glibc_check_files}" $'\r' ((i++)) done - echo "" - echo "" - echo "${glibc_check_name} glibc Requirements" - echo "=================================" + echo -e "" + echo -e "" + echo -e "${glibc_check_name} glibc Requirements" + echo -e "=================================" if [ -f "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" ]; then - echo "Required glibc" + echo -e "Required glibc" cat "${tmpdir}/detect_glibc_${glibc_check_var}.tmp" | sort | uniq | sort -r --version-sort | head -1 |tee -a "${tmpdir}/detect_glibc_highest.tmp" - echo "" - echo "Files requiring GLIBC" - echo "Highest verion required: filename" + echo -e "" + echo -e "Files requiring GLIBC" + echo -e "Highest verion required: filename" cat "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" - echo "" - echo "All required GLIBC versions" + echo -e "" + echo -e "All required GLIBC versions" cat "${tmpdir}/detect_glibc_${glibc_check_var}.tmp" | sort | uniq | sort -r --version-sort rm "${tmpdir}/detect_glibc_${glibc_check_var}.tmp" rm "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" @@ -79,9 +79,9 @@ do fn_print_information_nl "${glibc_check_name} is not installed" fi done -echo "" -echo "Final glibc Requirement" -echo "=================================" +echo -e "" +echo -e "Final glibc Requirement" +echo -e "=================================" if [ -f "${tmpdir}/detect_glibc_highest.tmp" ]; then cat "${tmpdir}/detect_glibc_highest.tmp" | sort | uniq | sort -r --version-sort | head -1 rm "${tmpdir}/detect_glibc_highest.tmp" diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh index 95898c4e4..394f60db2 100644 --- a/lgsm/functions/command_dev_detect_ldd.sh +++ b/lgsm/functions/command_dev_detect_ldd.sh @@ -9,48 +9,48 @@ local commandname="DETECT-LDD" local commandaction="Detect-LDD" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "=================================" -echo "Shared Object dependencies Checker" -echo "=================================" +echo -e "=================================" +echo -e "Shared Object dependencies Checker" +echo -e "=================================" if [ -z "${serverfiles}" ]; then dir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" fi if [ -d "${serverfiles}" ]; then - echo "Checking directory: " - echo "${serverfiles}" + echo -e "Checking directory: " + echo -e "${serverfiles}" elif [ -f "${serverfiles}" ]; then - echo "Checking file: " - echo "${serverfiles}" + echo -e "Checking file: " + echo -e "${serverfiles}" fi -echo "" +echo -e "" files=$(find "${serverfiles}" | wc -l) find "${serverfiles}" -type f -print0 | while IFS= read -r -d $'\0' line; do if ldd "${line}" 2>/dev/null | grep -v "not a dynamic executable" then - echo "${line}" >> "${tmpdir}/detect_ldd.tmp" + echo -e "${line}" >> "${tmpdir}/detect_ldd.tmp" ldd "${line}" 2>/dev/null | grep -v "not a dynamic executable" >> "${tmpdir}/detect_ldd.tmp" if ldd "${line}" 2>/dev/null | grep -v "not a dynamic executable" | grep "not found" then - echo "${line}" >> "${tmpdir}/detect_ldd_not_found.tmp" + echo -e "${line}" >> "${tmpdir}/detect_ldd_not_found.tmp" ldd "${line}" 2>/dev/null | grep -v "not a dynamic executable" | grep "not found" >> "${tmpdir}/detect_ldd_not_found.tmp" fi fi echo -n "$i / $files" $'\r' ((i++)) done -echo "" -echo "" -echo "All" -echo "=================================" +echo -e "" +echo -e "" +echo -e "All" +echo -e "=================================" cat "${tmpdir}/detect_ldd.tmp" -echo "" -echo "Not Found" -echo "=================================" +echo -e "" +echo -e "Not Found" +echo -e "=================================" cat "${tmpdir}/detect_ldd_not_found.tmp" rm "${tmpdir}/detect_ldd.tmp" diff --git a/lgsm/functions/command_dev_query_raw.sh b/lgsm/functions/command_dev_query_raw.sh index 79072468f..d927cd61a 100644 --- a/lgsm/functions/command_dev_query_raw.sh +++ b/lgsm/functions/command_dev_query_raw.sh @@ -7,12 +7,12 @@ local commandname="QUERY-RAW" local commandaction="Query Raw" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "Query Port" -echo "==================================================================" -echo "" -echo "Gamedig Raw Output" -echo "=================================" +echo -e "" +echo -e "Query Port" +echo -e "==================================================================" +echo -e "" +echo -e "Gamedig Raw Output" +echo -e "=================================" echo"" if [ ! "$(command -v gamedig 2>/dev/null)" ]; then fn_print_failure_nl "gamedig not installed" @@ -31,70 +31,70 @@ elif [ "${shortname}" == "kf2" ]; then fi query_gamedig.sh -echo "${gamedigcmd}" +echo -e "${gamedigcmd}" echo"" -echo "${gamedigraw}" | jq +echo -e "${gamedigraw}" | jq echo"" -echo "gsquery Raw Output" -echo "=================================" +echo -e "gsquery Raw Output" +echo -e "=================================" echo"" -echo "./query_gsquery.py -a \"${ip}\" -p \"${queryport}\" -e \"${engine}\"" +echo -e "./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}" echo"" -echo "TCP Raw Output" -echo "=================================" +echo -e "TCP Raw Output" +echo -e "=================================" echo"" -echo "bash -c 'exec 3<> /dev/tcp/'${ip}'/'${queryport}''" +echo -e "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" + echo -e "TCP query PASS" else - echo "TCP query FAIL" + echo -e "TCP query FAIL" fi echo"" -echo "UDP Raw Output" -echo "=================================" +echo -e "UDP Raw Output" +echo -e "=================================" echo"" -echo "bash -c 'exec 3<> /dev/udp/'${ip}'/'${queryport}''" +echo -e "bash -c 'exec 3<> /dev/udp/'${ip}'/'${queryport}''" bash -c 'exec 3<> /dev/udp/'${ip}'/'${queryport}'' querystatus="$?" if [ "${querystatus}" == "0" ]; then - echo "UPD query PASS" + echo -e "UPD query PASS" else - echo "UPD query FAIL" + echo -e "UPD query FAIL" fi -echo "" -echo "Game Port" -echo "==================================================================" -echo "" +echo -e "" +echo -e "Game Port" +echo -e "==================================================================" +echo -e "" echo"" -echo "TCP Raw Output" -echo "=================================" +echo -e "TCP Raw Output" +echo -e "=================================" echo"" -echo "bash -c 'exec 3<> /dev/tcp/'${ip}'/'${port}''" +echo -e "bash -c 'exec 3<> /dev/tcp/'${ip}'/'${port}''" bash -c 'exec 3<> /dev/tcp/'${ip}'/'${port}'' querystatus="$?" if [ "${querystatus}" == "0" ]; then - echo "TCP query PASS" + echo -e "TCP query PASS" else - echo "TCP query FAIL" + echo -e "TCP query FAIL" fi echo"" -echo "UDP Raw Output" -echo "=================================" +echo -e "UDP Raw Output" +echo -e "=================================" echo"" -echo "bash -c 'exec 3<> /dev/udp/'${ip}'/'${port}''" +echo -e "bash -c 'exec 3<> /dev/udp/'${ip}'/'${port}''" bash -c 'exec 3<> /dev/udp/'${ip}'/'${port}'' querystatus="$?" if [ "${querystatus}" == "0" ]; then - echo "UDP query PASS" + echo -e "UDP query PASS" else - echo "UDP query FAIL" + echo -e "UDP query FAIL" fi diff --git a/lgsm/functions/command_donate.sh b/lgsm/functions/command_donate.sh index 0cb3a0aee..036307051 100644 --- a/lgsm/functions/command_donate.sh +++ b/lgsm/functions/command_donate.sh @@ -3,16 +3,15 @@ # Author: Daniel Gibbs # Website: https://linuxgsm.com # Description: Shows ways to donate - -echo -e "" +fn_print_ascii_logo echo -e "${lightyellow}Support LinuxGSM${default}" echo -e "=================================" echo -e "" echo -e "Been using LinuxGSM?" echo -e "Consider donating to support development." echo -e "" -echo -e "* ${blue}Patreon:${default} https://linuxgsm.com/patreon" -echo -e "* ${blue}PayPal:${default} https://linuxgsm.com/paypal" -echo -e "* ${blue}Flattr:${default} https://linuxgsm.com/flattr" +echo -e "* ${lightblue}Patreon:${default} https://linuxgsm.com/patreon" +echo -e "* ${lightblue}PayPal:${default} https://linuxgsm.com/paypal" +echo -e "* ${lightblue}Ko-Fi:${default} https://linuxgsm.com/ko-fi" echo -e "" -echo -e "LinuxGSM has been going since 2012" +echo -e "LinuxGSM est. 2012" diff --git a/lgsm/functions/command_fastdl.sh b/lgsm/functions/command_fastdl.sh index 5dba7ba53..b8b43785c 100644 --- a/lgsm/functions/command_fastdl.sh +++ b/lgsm/functions/command_fastdl.sh @@ -31,18 +31,18 @@ fi # Header fn_print_header -echo "More info: https://docs.linuxgsm.com/commands/fastdl" -echo "" +echo -e "More info: https://docs.linuxgsm.com/commands/fastdl" +echo -e "" # Prompts user for FastDL creation settings. -echo "${commandaction} setup" -echo "=================================" +echo -e "${commandaction} setup" +echo -e "=================================" # Prompt for clearing old files if directory was already here. if [ -d "${fastdldir}" ]; then fn_print_warning_nl "FastDL directory already exists." - echo "${fastdldir}" - echo "" + echo -e "${fastdldir}" + echo -e "" if fn_prompt_yn "Overwrite existing directory?" Y; then fn_script_log_info "Overwrite existing directory: YES" else @@ -129,7 +129,7 @@ fn_human_readable_file_size(){ local precision="${2}" if [[ "${bytes}" == "1" ]]; then - echo "1 byte" + echo -e "1 byte" else for item in "${abbrevs[@]}"; do local factor="${item%:*}" @@ -162,7 +162,7 @@ fn_fastdl_preview(){ ((fileswc++)) tput rc; tput el printf "gathering ${allowed_extention} : ${fileswc}..." - echo "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt" + echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt" done < <(find . -type f -iname ${allowed_extention}) if [ ${fileswc} != 0 ]; then fn_print_ok_eol_nl @@ -193,10 +193,10 @@ fn_fastdl_preview(){ ((fileswc++)) tput rc; tput el printf "gathering ${directory} ${allowed_extention} : ${fileswc}..." - echo "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt" + echo -e "${ext}" >> "${tmpdir}/fastdl_files_to_compress.txt" done < <(find "${systemdir}/${directory}" -type f -iname ${allowed_extention}) tput rc; tput el - echo "gathering ${directory} ${allowed_extention} : ${fileswc}..." + echo -e "gathering ${directory} ${allowed_extention} : ${fileswc}..." if [ ${fileswc} != 0 ]; then fn_print_ok_eol_nl else @@ -207,7 +207,7 @@ fn_fastdl_preview(){ done fi if [ -f "${tmpdir}/fastdl_files_to_compress.txt" ]; then - echo "calculating total file size..." + echo -e "calculating total file size..." fn_sleep_time totalfiles=$(wc -l < "${tmpdir}/fastdl_files_to_compress.txt") # Calculates total file size. @@ -226,7 +226,7 @@ fn_fastdl_preview(){ fn_script_log_fatal "Generating file list." core_exit.sh fi - echo "about to compress ${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)" + echo -e "about to compress ${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)" fn_script_log_info "${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)" rm "${tmpdir}/fastdl_files_to_compress.txt" if ! fn_prompt_yn "Continue?" Y; then @@ -245,7 +245,7 @@ fn_fastdl_gmod(){ while read -r fastdlfile; do ((fileswc++)) tput rc; tput el - echo "copying ${allowed_extention} : ${fileswc}..." + echo -e "copying ${allowed_extention} : ${fileswc}..." cp --parents "${fastdlfile}" "${fastdldir}" exitcode=$? if [ ${exitcode} -ne 0 ]; then @@ -396,7 +396,7 @@ fn_fastdl_gmod_dl_enforcer(){ touch "${luafastdlfullpath}" # Read all filenames and put them into a lua file at the right path. while read -r line; do - echo "resource.AddFile( \"${line}\" )" >> "${luafastdlfullpath}" + echo -e "resource.AddFile( \"${line}\" )" >> "${luafastdlfullpath}" done < <(find "${fastdldir:?}" \( -type f ! -name "*.bz2" \) -printf '%P\n') exitcode=$? if [ ${exitcode} -ne 0 ]; then @@ -434,8 +434,8 @@ fn_fastdl_dirs fn_fastdl_build fn_fastdl_bzip2 # Finished message. -echo "FastDL files are located in:" -echo "${fastdldir}" -echo "FastDL completed" +echo -e "FastDL files are located in:" +echo -e "${fastdldir}" +echo -e "FastDL completed" fn_script_log_info "FastDL completed" core_exit.sh diff --git a/lgsm/functions/command_install_resources_mta.sh b/lgsm/functions/command_install_resources_mta.sh index 85fe20197..0eaa378bd 100644 --- a/lgsm/functions/command_install_resources_mta.sh +++ b/lgsm/functions/command_install_resources_mta.sh @@ -9,12 +9,12 @@ local commandaction="Default Resources" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_install_resources(){ - echo "" - echo "Installing Default Resources" - echo "=================================" + echo -e "" + echo -e "Installing Default Resources" + echo -e "=================================" fn_fetch_file "http://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip" "${tmpdir}" "mtasa-resources-latest.zip" "nochmodx" "norun" "noforce" "nomd5" fn_dl_extract "${tmpdir}" "mtasa-resources-latest.zip" "${resourcesdir}" - echo "Default Resources Installed." + echo -e "Default Resources Installed." } fn_print_header diff --git a/lgsm/functions/command_mods_install.sh b/lgsm/functions/command_mods_install.sh index cac08929d..16ba9956f 100644 --- a/lgsm/functions/command_mods_install.sh +++ b/lgsm/functions/command_mods_install.sh @@ -17,8 +17,8 @@ fn_print_header # Displays a list of installed mods. fn_mods_installed_list if [ "${installedmodscount}" -gt "0" ]; then - echo "Installed addons/mods" - echo "=================================" + echo -e "Installed addons/mods" + echo -e "=================================" # Go through all available commands, get details and display them to the user. for ((llindex=0; llindex < ${#installedmodslist[@]}; llindex++)); do # Current mod is the "llindex" value of the array we're going through. @@ -27,11 +27,11 @@ if [ "${installedmodscount}" -gt "0" ]; then # Display mod info to the user. echo -e " * ${green}${modcommand}${default}${default}" done - echo "" + echo -e "" fi -echo "Available addons/mods" -echo "=================================" +echo -e "Available addons/mods" +echo -e "=================================" # Display available mods from mods_list.sh. # Set and reset vars compatiblemodslistindex=0 @@ -59,7 +59,7 @@ fi fn_script_log_info "${totalmodsavailable} addons/mods are available for install" ## User selects a mod. -echo "" +echo -e "" while [[ ! " ${availablemodscommands[@]} " =~ " ${usermodselect} " ]]; do echo -en "Enter an ${cyan}addon/mod${default} to ${green}install${default} (or exit to abort): " read -r usermodselect @@ -75,9 +75,9 @@ done currentmod="${usermodselect}" fn_mod_get_info -echo "" -echo "Installing ${modprettyname}" -echo "=================================" +echo -e "" +echo -e "Installing ${modprettyname}" +echo -e "=================================" fn_script_log_info "${modprettyname} selected for install" # Check if the mod is already installed and warn the user. @@ -85,7 +85,7 @@ if [ -f "${modsinstalledlistfullpath}" ]; then if [ -n "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then fn_print_warning_nl "${modprettyname} is already installed" fn_script_log_warn "${modprettyname} is already installed" - echo " * Any configs may be overwritten." + echo -e " * Any configs may be overwritten." if ! fn_prompt_yn "Continue?" Y; then echo Exiting; core_exit.sh fi @@ -105,7 +105,7 @@ fn_mod_copy_destination fn_mod_add_list fn_mod_tidy_files_list fn_mods_clear_tmp_dir -echo "${modprettyname} installed" +echo -e "${modprettyname} installed" fn_script_log_pass "${modprettyname} installed." core_exit.sh diff --git a/lgsm/functions/command_mods_remove.sh b/lgsm/functions/command_mods_remove.sh index 9c64d4808..3d2dae54b 100644 --- a/lgsm/functions/command_mods_remove.sh +++ b/lgsm/functions/command_mods_remove.sh @@ -14,8 +14,8 @@ mods_core.sh fn_mods_check_installed fn_print_header -echo "Remove addons/mods" -echo "=================================" +echo -e "Remove addons/mods" +echo -e "=================================" # Displays list of installed mods. # Generates list to display to user. @@ -29,7 +29,7 @@ for ((mlindex=0; mlindex < ${#installedmodslist[@]}; mlindex++)); do echo -e "${red}${modcommand}${default} - ${modprettyname} - ${moddescription}" done -echo "" +echo -e "" # Keep prompting as long as the user input doesn't correspond to an available mod. while [[ ! " ${installedmodslist[@]} " =~ " ${usermodselect} " ]]; do echo -en "Enter an ${cyan}addon/mod${default} to ${red}remove${default} (or exit to abort): " @@ -44,7 +44,7 @@ while [[ ! " ${installedmodslist[@]} " =~ " ${usermodselect} " ]]; do done fn_print_warning_nl "You are about to remove ${cyan}${usermodselect}${default}." -echo " * Any custom files/configuration will be removed." +echo -e " * Any custom files/configuration will be removed." if ! fn_prompt_yn "Continue?" Y; then echo Exiting; exit fi @@ -78,7 +78,7 @@ while [ "${modfileline}" -le "${modsfilelistsize}" ]; do fi fi tput rc; tput el - echo "removing ${modprettyname} ${modfileline} / ${modsfilelistsize} : ${currentfileremove}..." + echo -e "removing ${modprettyname} ${modfileline} / ${modsfilelistsize} : ${currentfileremove}..." ((modfileline++)) done if [ ${exitcode} -ne 0 ]; then @@ -126,7 +126,7 @@ if [ "${engine}" == "unity3d" ]&&[[ "${modprettyname}" == *"Oxide"* ]]; then command_validate.sh unset exitbypass fi -echo "${modprettyname} removed" +echo -e "${modprettyname} removed" fn_script_log "${modprettyname} removed" core_exit.sh diff --git a/lgsm/functions/command_mods_update.sh b/lgsm/functions/command_mods_update.sh index 70a91cf5e..5faa2f313 100644 --- a/lgsm/functions/command_mods_update.sh +++ b/lgsm/functions/command_mods_update.sh @@ -19,11 +19,11 @@ fn_remove_cfg_files(){ echo -e "the following files/directories will be preserved:" fn_sleep_time # Count how many files there are to remove. - filestopreserve="$(echo "${modkeepfiles}" | awk -F ';' '{ print NF }')" + filestopreserve="$(echo -e "${modkeepfiles}" | awk -F ';' '{ print NF }')" # Test all subvalues of "modkeepfiles" using the ";" separator. for ((preservefilesindex=1; preservefilesindex < ${filestopreserve}; preservefilesindex++)); do # Put the current file we are looking for into a variable. - filetopreserve="$(echo "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }' )" + filetopreserve="$(echo -e "${modkeepfiles}" | awk -F ';' -v x=${preservefilesindex} '{ print $x }' )" echo -e " * serverfiles/${filetopreserve}" # If it matches an existing file that have been extracted delete the file. if [ -f "${extractdir}/${filetopreserve}" ]||[ -d "${extractdir}/${filetopreserve}" ]; then @@ -32,7 +32,7 @@ fn_remove_cfg_files(){ if [ ! -f "${modsdir}/.removedfiles.tmp" ]; then touch "${modsdir}/.removedfiles.tmp" fi - echo "${filetopreserve}" >> "${modsdir}/.removedfiles.tmp" + echo -e "${filetopreserve}" >> "${modsdir}/.removedfiles.tmp" fi done fi @@ -79,8 +79,8 @@ while [ "${installedmodsline}" -le "${installedmodscount}" ]; do fn_print_info "${modprettyname} will not be updated to preserve custom files" fn_script_log_info "${modprettyname} will not be updated to preserve custom files" else - echo "" - echo "==> Updating ${modprettyname}" + echo -e "" + echo -e "==> Updating ${modprettyname}" fn_create_mods_dir fn_mods_clear_tmp_dir fn_mods_create_tmp_dir @@ -101,7 +101,7 @@ while [ "${installedmodsline}" -le "${installedmodscount}" ]; do core_exit.sh fi done -echo "" +echo -e "" fn_print_ok_nl "Mods update complete" fn_script_log_info "Mods update complete" diff --git a/lgsm/functions/command_monitor.sh b/lgsm/functions/command_monitor.sh index 8382d1fb7..9cbe30069 100644 --- a/lgsm/functions/command_monitor.sh +++ b/lgsm/functions/command_monitor.sh @@ -90,7 +90,7 @@ fn_monitor_check_lockfile(){ if [ ! -f "${rootdir}/${lockselfname}" ]; then fn_print_error_nl "Disabled: No lockfile found" fn_script_log_error "Disabled: No lockfile found" - echo " * To enable monitor run ./${selfname} start" + echo -e " * To enable monitor run ./${selfname} start" core_exit.sh fi } @@ -133,7 +133,7 @@ fn_monitor_check_session(){ fn_monitor_query(){ fn_script_log_info "Querying port: query enabled" # Engines that work with query. - local allowed_engines_array=( avalanche2.0 avalanche3.0 barotrauma goldsource idtech2 idtech3 idtech3_ql ioquake3 iw2.0 iw3.0 lwjgl2 madness quake refractor realvirtuality source spark starbound unity3d unreal unreal2 unreal4 wurm ) + local allowed_engines_array=( avalanche2.0 avalanche3.0 barotrauma goldsource idtech2 idtech3 idtech3_ql ioquake3 iw2.0 iw3.0 lwjgl2 madness quake qfusion refractor realvirtuality source spark starbound unity3d unreal unreal2 unreal4 wurm ) for allowed_engine in "${allowed_engines_array[@]}" do if [ "${allowed_engine}" == "${engine}" ]; then @@ -209,6 +209,9 @@ if [ "${shortname}" == "sb" ]; then fi elif [ "${shortname}" == "ts3" ]||[ "${shortname}" == "eco" ]||[ "${shortname}" == "mumble" ]; then fn_monitor_query_tcp +elif [ "${shortname}" == "mohaa" ]; then + # prevent game from using query. Only used if specific game server cant query but engine can + : else fn_monitor_query fi diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh index 817d8d6c0..9ce9920a4 100644 --- a/lgsm/functions/command_postdetails.sh +++ b/lgsm/functions/command_postdetails.sh @@ -61,8 +61,8 @@ else touch "${postdetailslog}" || fn_bad_postdetailslog { fn_info_message_distro - fn_info_message_performance - fn_info_message_disk + fn_info_message_server_resource + fn_info_message_gameserver_resource fn_info_message_gameserver fn_info_message_script fn_info_message_backup @@ -95,7 +95,7 @@ if [ "${posttarget}" == "http://pastebin.com" ] ; then # Output the resulting link. fn_print_ok_nl "Posting details to pastbin.com for ${postexpire}" pdurl="${posttarget}${link}" - echo " Please share the following url for support: ${pdurl}" + echo -e " Please share the following url for support: ${pdurl}" elif [ "${posttarget}" == "https://hastebin.com" ] ; then fn_print_dots "Posting details to hastebin.com" # hastebin is a bit simpler. If successful, the returned result @@ -104,13 +104,14 @@ elif [ "${posttarget}" == "https://hastebin.com" ] ; then link=$(${curlpath} -H "HTTP_X_REQUESTED_WITH:XMLHttpRequest" -s -d "$(<${postdetailslog})" "${posttarget}/documents" | cut -d\" -f4) fn_print_ok_nl "Posting details to hastebin.com for ${postexpire}" pdurl="${posttarget}/${link}" - echo " Please share the following url for support: ${pdurl}" + echo -e "Please share the following url for support: ${pdurl}" elif [ "${posttarget}" == "https://termbin.com" ] ; then fn_print_dots "Posting details to termbin.com" link=$(cat "${postdetailslog}" | nc termbin.com 9999 | tr -d '\n\0') fn_print_ok_nl "Posting details to termbin.com" pdurl="${link}" - echo " Please share the following url for support: ${pdurl}" + echo -e "Please share the following url for support: " + echo -e "${pdurl}" else fn_print_warn_nl "Review output in: ${postdetailslog}" core_exit.sh diff --git a/lgsm/functions/command_start.sh b/lgsm/functions/command_start.sh index ed81fe63e..dac7aa2c3 100644 --- a/lgsm/functions/command_start.sh +++ b/lgsm/functions/command_start.sh @@ -97,7 +97,7 @@ fn_start_tmux(){ # Tmux compiled from source will return "master", therefore ignore it. if [ "$(tmux -V | sed "s/tmux //" | sed -n '1 p')" == "master" ]; then fn_script_log "Tmux version: master (user compiled)" - echo "Tmux version: master (user compiled)" >> "${consolelog}" + echo -e "Tmux version: master (user compiled)" >> "${consolelog}" if [ "${consolelogging}" == "on" ]||[ -z "${consolelogging}" ]; then tmux pipe-pane -o -t "${servicename}" "exec cat >> '${consolelog}'" fi @@ -106,13 +106,13 @@ fn_start_tmux(){ tmuxversion="$(tmux -V | sed "s/tmux //" | sed -n '1 p' | tr -cd '[:digit:]')" # tmux pipe-pane not supported in tmux versions < 1.6. if [ "${tmuxversion}" -lt "16" ]; then - echo "Console logging disabled: Tmux => 1.6 required + echo -e "Console logging disabled: Tmux => 1.6 required https://linuxgsm.com/tmux-upgrade Currently installed: $(tmux -V)" > "${consolelog}" # Console logging disabled: Bug in tmux 1.8 breaks logging. elif [ "${tmuxversion}" -eq "18" ]; then - echo "Console logging disabled: Bug in tmux 1.8 breaks logging + echo -e "Console logging disabled: Bug in tmux 1.8 breaks logging https://linuxgsm.com/tmux-upgrade Currently installed: $(tmux -V)" > "${consolelog}" # Console logging enable or not set. @@ -120,13 +120,13 @@ fn_start_tmux(){ tmux pipe-pane -o -t "${servicename}" "exec cat >> '${consolelog}'" fi else - echo "Unable to detect tmux version" >> "${consolelog}" + echo -e "Unable to detect tmux version" >> "${consolelog}" fn_script_log_warn "Unable to detect tmux version" fi # Console logging disabled. if [ "${consolelogging}" == "off" ]; then - echo "Console logging disabled by user" >> "${consolelog}" + echo -e "Console logging disabled by user" >> "${consolelog}" fn_script_log_info "Console logging disabled by user" fi fn_sleep_time @@ -139,39 +139,39 @@ fn_sleep_time if [ -s "${lgsmlogdir}/.${servicename}-tmux-error.tmp" ]; then fn_print_fail_nl "Unable to start ${servername}: Tmux error:" fn_script_log_fatal "Unable to start ${servername}: Tmux error:" - echo "" - echo "Command" - echo "=================================" - echo "tmux new-session -d -s \"${servicename}\" \"${executable} ${parms}\"" | tee -a "${lgsmlog}" - echo "" - echo "Error" - echo "=================================" + echo -e "" + echo -e "Command" + echo -e "=================================" + echo -e "tmux new-session -d -s \"${servicename}\" \"${executable} ${parms}\"" | tee -a "${lgsmlog}" + echo -e "" + echo -e "Error" + echo -e "=================================" cat "${lgsmlogdir}/.${servicename}-tmux-error.tmp" | tee -a "${lgsmlog}" # Detected error https://linuxgsm.com/support if grep -c "Operation not permitted" "${lgsmlogdir}/.${servicename}-tmux-error.tmp" then - echo "" - echo "Fix" - echo "=================================" + echo -e "" + echo -e "Fix" + echo -e "=================================" if [ ! "$(grep "tty:" /etc/group|grep "$(whoami)")" ]; then - echo "$(whoami) is not part of the tty group." + echo -e "$(whoami) is not part of the tty group." fn_script_log_info "$(whoami) is not part of the tty group." group=$(grep tty /etc/group) - echo "" - echo " ${group}" + echo -e "" + echo -e " ${group}" fn_script_log_info "${group}" - echo "" - echo "Run the following command with root privileges." - echo "" - echo " usermod -G tty $(whoami)" - echo "" - echo "https://linuxgsm.com/tmux-op-perm" + echo -e "" + echo -e "Run the following command with root privileges." + echo -e "" + echo -e " usermod -G tty $(whoami)" + echo -e "" + echo -e "https://linuxgsm.com/tmux-op-perm" fn_script_log_info "https://linuxgsm.com/tmux-op-perm" else - echo "No known fix currently. Please log an issue." + echo -e "No known fix currently. Please log an issue." fn_script_log_info "No known fix currently. Please log an issue." - echo "https://linuxgsm.com/support" + echo -e "https://linuxgsm.com/support" fn_script_log_info "https://linuxgsm.com/support" fi fi diff --git a/lgsm/functions/command_stop.sh b/lgsm/functions/command_stop.sh index 3aae20992..01cce6a4a 100644 --- a/lgsm/functions/command_stop.sh +++ b/lgsm/functions/command_stop.sh @@ -83,7 +83,8 @@ fn_stop_graceful_goldsource(){ fn_script_log_pass "Graceful: sending \"quit\": OK: ${seconds} seconds" } -fn_stop_telnet_sdtd(){ +# telnet command for sdtd graceful shutdown. +fn_stop_graceful_sdtd_telnet(){ if [ -z "${telnetpass}" ]||[ "${telnetpass}" == "NOT SET" ]; then sdtd_telnet_shutdown=$( expect -c ' proc abort {} { @@ -130,7 +131,7 @@ fn_stop_graceful_sdtd(){ for telnetip in 127.0.0.1 ${ip}; do fn_print_dots "Graceful: telnet: ${telnetip}:${telnetport}" fn_script_log_info "Graceful: telnet: ${telnetip}:${telnetport}" - fn_stop_telnet_sdtd + fn_stop_graceful_sdtd_telnet completed=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Completed.") refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") if [ -n "${refused}" ]; then @@ -146,7 +147,7 @@ fn_stop_graceful_sdtd(){ # the connection has closed, confirming that the tmux session can now be killed. if [ -n "${completed}" ]; then for seconds in {1..30}; do - fn_stop_telnet_sdtd + fn_stop_graceful_sdtd_telnet refused=$(echo -en "\n ${sdtd_telnet_shutdown}" | grep "Timeout or EOF") if [ -n "${refused}" ]; then fn_print_ok "Graceful: telnet: ${telnetip}:${telnetport} : " @@ -181,63 +182,26 @@ fn_stop_graceful_sdtd(){ } fn_stop_graceful_select(){ - if [ "${shortname}" == "sdtd" ]; then - fn_stop_graceful_sdtd - elif [ "${engine}" == "spark" ]; then + if [ "${stopmode}" == "1" ]; then + fn_stop_tmux + elif [ "${stopmode}" == "2" ]; then + fn_stop_graceful_ctrlc + elif [ "${stopmode}" == "3" ]; then + fn_stop_graceful_cmd "quit" 30 + elif [ "${stopmode}" == "4" ]; then + fn_stop_graceful_cmd "quit" 120 + elif [ "${stopmode}" == "5" ]; then + fn_stop_graceful_cmd "stop" 30 + elif [ "${stopmode}" == "6" ]; then fn_stop_graceful_cmd "q" 30 - elif [ "${shortname}" == "terraria" ]; then + elif [ "${stopmode}" == "7" ]; then fn_stop_graceful_cmd "exit" 30 - elif [ "${shortname}" == "mc" ]; then - fn_stop_graceful_cmd "stop" 30 - elif [ "${shortname}" == "mta" ]; then - # Long wait time required for mta - # as resources shutdown individually. - fn_stop_graceful_cmd "quit" 120 - elif [ "${engine}" == "goldsource" ]; then + elif [ "${stopmode}" == "8" ]; then + fn_stop_graceful_sdtd + elif [ "${stopmode}" == "9" ]; then fn_stop_graceful_goldsource - elif [ "${engine}" == "unity3d" ]||[ "${engine}" == "unreal4" ]||[ "${engine}" == "unreal3" ]||[ "${engine}" == "unreal2" ]||[ "${engine}" == "unreal" ]||[ "${shortname}" == "fctr" ]||[ "${shortname}" == "mumble" ]||[ "${shortname}" == "wurm" ]||[ "${shortname}" == "jc2" ]||[ "${shortname}" == "jc3" ]||[ "${shortname}" == "sol" ]; then - fn_stop_graceful_ctrlc - elif [ "${engine}" == "source" ]||[ "${engine}" == "quake" ]||[ "${engine}" == "idtech2" ]||[ "${engine}" == "idtech3" ]||[ "${engine}" == "idtech3_ql" ]||[ "${shortname}" == "pz" ]||[ "${shortname}" == "rw" ]; then - fn_stop_graceful_cmd "quit" 30 - fi -} - -fn_stop_ark(){ - # The maximum number of times to check if the ark pid has closed gracefully. - maxpiditer=15 - info_config.sh - if [ -z "${queryport}" ]; then - fn_print_warn "No queryport found using info_config.sh" - fn_script_log_warn "No queryport found using info_config.sh" - userconfigfile="${serverfiles}" - userconfigfile+="/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini" - queryport=$(grep ^QueryPort= ${userconfigfile} | cut -d= -f2 | sed "s/[^[:digit:].*].*//g") - fi - if [ -z "${queryport}" ]; then - fn_print_warn "No queryport found in the GameUsersettings.ini file" - fn_script_log_warn "No queryport found in the GameUsersettings.ini file" - return - fi - - if [ "${#queryport}" -gt 0 ] ; then - for (( pidcheck=0 ; pidcheck < ${maxpiditer} ; pidcheck++ )) ; do - pid=$(netstat -nap 2>/dev/null | grep "^udp[[:space:]]" | grep ":${queryport}[[:space:]]" | rev | awk '{print $1}' | rev | cut -d\/ -f1) - # Check for a valid pid. - pid=${pid//[!0-9]/} - let pid+=0 # turns an empty string into a valid number, '0', - # and a valid numeric pid remains unchanged. - if [ "${pid}" -gt 1 ]&&[ "${pid}" -le "$(cat "/proc/sys/kernel/pid_max")" ]; then - fn_print_dots "Process still bound. Awaiting graceful exit: ${pidcheck}" - else - break - fi - done - if [[ ${pidcheck} -eq ${maxpiditer} ]] ; then - # The process doesn't want to close after 20 seconds. - # kill it hard. - fn_print_error "Terminating reluctant Ark process: ${pid}" - kill -9 ${pid} - fi + elif [ "${stopmode}" == "10" ]; then + fn_stop_teamspeak3 fi } @@ -258,16 +222,11 @@ fn_stop_teamspeak3(){ fn_stop_tmux(){ fn_print_dots "${servername}" fn_script_log_info "tmux kill-session: ${servername}" - # Kill tmux session + # Kill tmux session. tmux kill-session -t "${servicename}" > /dev/null 2>&1 fn_sleep_time check_status.sh if [ "${status}" == "0" ]; then - # ARK does not clean up immediately after tmux is killed. - # Make certain the ports are cleared before continuing. - if [ "${shortname}" == "ark" ]; then - fn_stop_ark - fi fn_print_ok_nl "${servername}" fn_script_log_pass "Stopped ${servername}" else @@ -284,9 +243,10 @@ fn_stop_pre_check(){ elif [ "${shortname}" == "ts3" ]; then fn_stop_teamspeak3 else + # Select graceful shutdown. fn_stop_graceful_select fi - # Check status again, a stop tmux session if needed. + # Check status again, a kill tmux session if graceful shutdown failed. check_status.sh if [ "${status}" != "0" ]; then fn_stop_tmux diff --git a/lgsm/functions/command_ts3_server_pass.sh b/lgsm/functions/command_ts3_server_pass.sh index f1b18560e..d05dfdfc5 100644 --- a/lgsm/functions/command_ts3_server_pass.sh +++ b/lgsm/functions/command_ts3_server_pass.sh @@ -11,10 +11,10 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_serveradmin_password_prompt(){ fn_print_header - echo "Press \"CTRL+b d\" to exit console." + echo -e "Press \"CTRL+b d\" to exit console." fn_print_information_nl "You are about to change the ${gamename} ServerAdmin password." fn_print_warning_nl "${gamename} will restart during this process." - echo "" + echo -e "" if ! fn_prompt_yn "Continue?" Y; then echo Exiting; exit fi diff --git a/lgsm/functions/command_validate.sh b/lgsm/functions/command_validate.sh index f6be3f5b6..78210ff4b 100644 --- a/lgsm/functions/command_validate.sh +++ b/lgsm/functions/command_validate.sh @@ -10,7 +10,7 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_validation(){ fn_print_info "Validating files: SteamCMD" - echo "" + echo -e "" echo -e "* Validating may overwrite some customised files." echo -e "* https://docs.linuxgsm.com/commands/validate" fn_script_log_info "Validating files: SteamCMD" @@ -23,9 +23,9 @@ fn_validation(){ fi if [ "${appid}" == "90" ]; then - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +app_update "${appid}" ${branch} validate +quit | tee -a "${lgsmlog}" + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +app_update "${appid}" -beta ${branch} validate +quit | tee -a "${lgsmlog}" else - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" ${branch} validate +quit | tee -a "${lgsmlog}" + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} validate +quit | tee -a "${lgsmlog}" fi if [ $? != 0 ]; then fn_print_fail_nl "Validating files: SteamCMD" diff --git a/lgsm/functions/command_wipe.sh b/lgsm/functions/command_wipe.sh index 12e85d90d..9c83d2897 100644 --- a/lgsm/functions/command_wipe.sh +++ b/lgsm/functions/command_wipe.sh @@ -25,7 +25,7 @@ fn_wipe_server_process(){ else fn_wipe_server_remove_files fi - echo "server data wiped" + echo -e "server data wiped" fn_script_log "server data wiped." } diff --git a/lgsm/functions/compress_unreal2_maps.sh b/lgsm/functions/compress_unreal2_maps.sh index 856bc5086..e5868bfbb 100644 --- a/lgsm/functions/compress_unreal2_maps.sh +++ b/lgsm/functions/compress_unreal2_maps.sh @@ -9,14 +9,14 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" check.sh fn_print_header -echo "Will compress all maps in:" -echo "" +echo -e "Will compress all maps in:" +echo -e "" pwd -echo "" -echo "Compressed maps saved to:" -echo "" -echo "${compressedmapsdir}" -echo "" +echo -e "" +echo -e "Compressed maps saved to:" +echo -e "" +echo -e "${compressedmapsdir}" +echo -e "" if ! fn_prompt_yn "Start compression?" Y; then echo Exiting; return fi diff --git a/lgsm/functions/compress_ut99_maps.sh b/lgsm/functions/compress_ut99_maps.sh index 0832ae997..f3f5449a5 100644 --- a/lgsm/functions/compress_ut99_maps.sh +++ b/lgsm/functions/compress_ut99_maps.sh @@ -9,14 +9,14 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" check.sh fn_print_header -echo "Will compress all maps in:" -echo "" +echo -e "Will compress all maps in:" +echo -e "" pwd -echo "" -echo "Compressed maps saved to:" -echo "" -echo "${compressedmapsdir}" -echo "" +echo -e "" +echo -e "Compressed maps saved to:" +echo -e "" +echo -e "${compressedmapsdir}" +echo -e "" if ! fn_prompt_yn "Start compression?" Y; then echo Exiting; return fi diff --git a/lgsm/functions/core_dl.sh b/lgsm/functions/core_dl.sh index 86eb202d8..162f66247 100644 --- a/lgsm/functions/core_dl.sh +++ b/lgsm/functions/core_dl.sh @@ -45,8 +45,8 @@ fn_dl_md5(){ local md5sumcmd=$(md5sum "${local_filedir}/${local_filename}"|awk '{print $1;}') if [ "${md5sumcmd}" != "${md5}" ]; then fn_print_fail_eol_nl - echo "${local_filename} returned MD5 checksum: ${md5sumcmd}" - echo "expected MD5 checksum: ${md5}" + echo -e "${local_filename} returned MD5 checksum: ${md5sumcmd}" + echo -e "expected MD5 checksum: ${md5}" fn_script_log_fatal "Verifying ${local_filename} with MD5" fn_script_log_info "${local_filename} returned MD5 checksum: ${md5sumcmd}" fn_script_log_info "Expected MD5 checksum: ${md5}" @@ -88,9 +88,9 @@ fn_dl_extract(){ fn_print_fail_eol_nl fn_script_log_fatal "Extracting download" if [ -f "${lgsmlog}" ]; then - echo "${extractcmd}" >> "${lgsmlog}" + echo -e "${extractcmd}" >> "${lgsmlog}" fi - echo "${extractcmd}" + echo -e "${extractcmd}" core_exit.sh else fn_print_ok_eol_nl @@ -100,7 +100,7 @@ fn_dl_extract(){ # Trap to remove file download if canceled before completed. fn_fetch_trap(){ - echo "" + echo -e "" echo -en "downloading ${local_filename}..." fn_print_canceled_eol_nl fn_script_log_info "Downloading ${local_filename}...CANCELED" @@ -145,10 +145,10 @@ fn_fetch_file(){ if [ -f "${lgsmlog}" ]; then fn_script_log_fatal "Downloading ${local_filename}" echo -e "${remote_fileurl}" >> "${lgsmlog}" - echo "${curlcmd}" >> "${lgsmlog}" + echo -e "${curlcmd}" >> "${lgsmlog}" fi echo -e "${remote_fileurl}" - echo "${curlcmd}" + echo -e "${curlcmd}" core_exit.sh else fn_print_ok_eol_nl @@ -258,6 +258,6 @@ fn_update_function(){ curlpath=$(command -v curl 2>/dev/null) if [ "$(basename "${curlpath}")" != "curl" ]; then - echo "[ FAIL ] Curl is not installed" + echo -e "[ FAIL ] Curl is not installed" exit 1 fi diff --git a/lgsm/functions/core_exit.sh b/lgsm/functions/core_exit.sh index f92d3b129..8c10d77e0 100644 --- a/lgsm/functions/core_exit.sh +++ b/lgsm/functions/core_exit.sh @@ -6,8 +6,8 @@ fn_exit_dev_debug(){ if [ -f "${rootdir}/.dev-debug" ]; then - echo "" - echo "${function_selfname} exiting with code: ${exitcode}" + echo -e "" + echo -e "${function_selfname} exiting with code: ${exitcode}" if [ -f "${rootdir}/dev-debug.log" ]; then grep "functionfile=" "${rootdir}/dev-debug.log" | sed 's/functionfile=//g' > "${rootdir}/dev-debug-function-order.log" fi diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh index 713114cb0..f4c973800 100644 --- a/lgsm/functions/core_functions.sh +++ b/lgsm/functions/core_functions.sh @@ -495,6 +495,10 @@ functionfile="${FUNCNAME}" fn_fetch_function } +alert_slack.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} # Logs logs.sh(){ diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh index dbd240bbb..d45072862 100644 --- a/lgsm/functions/core_getopt.sh +++ b/lgsm/functions/core_getopt.sh @@ -145,18 +145,18 @@ currentopt+=( "${cmd_donate[@]}" ) optcommands=() index="0" for ((index="0"; index < ${#currentopt[@]}; index+=3)); do - cmdamount="$(echo "${currentopt[index]}" | awk -F ';' '{ print NF }')" + cmdamount="$(echo -e "${currentopt[index]}" | awk -F ';' '{ print NF }')" for ((cmdindex=1; cmdindex <= ${cmdamount}; cmdindex++)); do - optcommands+=( "$(echo "${currentopt[index]}" | awk -F ';' -v x=${cmdindex} '{ print $x }')" ) + optcommands+=( "$(echo -e "${currentopt[index]}" | awk -F ';' -v x=${cmdindex} '{ print $x }')" ) done done # Shows LinuxGSM usage. fn_opt_usage(){ - echo "Usage: $0 [option]" + echo -e "Usage: $0 [option]" echo -e "" - echo "LinuxGSM - ${gamename} - Version ${version}" - echo "https://linuxgsm.com/${gameservername}" + echo -e "LinuxGSM - ${gamename} - Version ${version}" + echo -e "https://linuxgsm.com/${gameservername}" echo -e "" echo -e "${lightyellow}Commands${default}" # Display available commands. @@ -165,7 +165,7 @@ fn_opt_usage(){ for ((index="0"; index < ${#currentopt[@]}; index+=3)); do # Hide developer commands. if [ "${currentopt[index+2]}" != "DEVCOMMAND" ]; then - echo -e "${cyan}$(echo "${currentopt[index]}" | awk -F ';' '{ print $2 }')\t${default}$(echo "${currentopt[index]}" | awk -F ';' '{ print $1 }')\t| ${currentopt[index+2]}" + echo -e "${cyan}$(echo -e "${currentopt[index]}" | awk -F ';' '{ print $2 }')\t${default}$(echo -e "${currentopt[index]}" | awk -F ';' '{ print $1 }')\t| ${currentopt[index+2]}" fi done } | column -s $'\t' -t @@ -182,9 +182,9 @@ for i in "${optcommands[@]}"; do # Seek and run command. index="0" for ((index="0"; index < ${#currentopt[@]}; index+=3)); do - currcmdamount="$(echo "${currentopt[index]}" | awk -F ';' '{ print NF }')" + currcmdamount="$(echo -e "${currentopt[index]}" | awk -F ';' '{ print NF }')" for ((currcmdindex=1; currcmdindex <= ${currcmdamount}; currcmdindex++)); do - if [ "$(echo "${currentopt[index]}" | awk -F ';' -v x=${currcmdindex} '{ print $x }')" == "${getopt}" ]; then + if [ "$(echo -e "${currentopt[index]}" | awk -F ';' -v x=${currcmdindex} '{ print $x }')" == "${getopt}" ]; then # Run command. eval "${currentopt[index+1]}" core_exit.sh diff --git a/lgsm/functions/core_messages.sh b/lgsm/functions/core_messages.sh index 51b9a4817..e1d394834 100644 --- a/lgsm/functions/core_messages.sh +++ b/lgsm/functions/core_messages.sh @@ -11,6 +11,7 @@ fn_ansi_loader(){ if [ "${ansi}" != "off" ]; then # echo colors default="\e[0m" + black="\e[30m" red="\e[31m" lightred="\e[91m" green="\e[32m" @@ -23,6 +24,9 @@ fn_ansi_loader(){ lightmagenta="\e[95m" cyan="\e[36m" lightcyan="\e[96m" + darkgrey="\e[90m" + lightgrey="\e[37m" + white="\e[97m" fi # carriage return & erase to end of line. creeol="\r\033[K" @@ -195,18 +199,18 @@ fn_print_error_nl(){ # [ WARN ] fn_print_warn(){ if [ -n "${commandaction}" ]; then - echo -en "${creeol}[${yellow} WARN ${default}] ${commandaction} ${servicename}: $@" + echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${servicename}: $@" else - echo -en "${creeol}[${yellow} WARN ${default}] $@" + echo -en "${creeol}[${lightyellow} WARN ${default}] $@" fi fn_sleep_time } fn_print_warn_nl(){ if [ -n "${commandaction}" ]; then - echo -en "${creeol}[${yellow} WARN ${default}] ${commandaction} ${servicename}: $@" + echo -en "${creeol}[${lightyellow} WARN ${default}] ${commandaction} ${servicename}: $@" else - echo -en "${creeol}[${yellow} WARN ${default}] $@" + echo -en "${creeol}[${lightyellow} WARN ${default}] $@" fi fn_sleep_time echo -en "\n" @@ -239,9 +243,8 @@ fn_print_info_nl(){ # ================================= fn_print_header(){ echo -e "" - echo -e "${gamename} ${commandaction}" + echo -e "${lightyellow}${gamename} ${commandaction}${default}" echo -e "=================================${default}" - echo -e "" } # Complete! @@ -279,12 +282,12 @@ fn_print_error2_nl(){ # Warning! fn_print_warning(){ - echo -en "${yellow}Warning!${default} $@" + echo -en "${lightyellow}Warning!${default} $@" fn_sleep_time } fn_print_warning_nl(){ - echo -e "${yellow}Warning!${default} $@" + echo -e "${lightyellow}Warning!${default} $@" fn_sleep_time } @@ -317,7 +320,7 @@ fn_prompt_yn(){ case "${yn}" in [Yy]|[Yy][Ee][Ss]) return 0 ;; [Nn]|[Nn][Oo]) return 1 ;; - *) echo "Please answer yes or no." ;; + *) echo -e "Please answer yes or no." ;; esac done } @@ -350,11 +353,11 @@ fn_print_error_eol(){ # WARN fn_print_warn_eol(){ - echo -en "${red}WARN${default}" + echo -en "${lightyellow}WARN${default}" } fn_print_warn_eol_nl(){ - echo -e "${red}WARN${default}" + echo -e "${lightyellow}WARN${default}" } # INFO @@ -419,3 +422,39 @@ fn_print_update_eol(){ fn_print_update_eol_nl(){ echo -e "${cyan}UPDATE${default}" } + +fn_print_ascii_logo(){ + echo -e "" + echo -e " mdMMMMbm" + echo -e " mMMMMMMMMMMm" + echo -e " mMMMMMMMMMMMMm" + echo -e " mMMMMMMMMMMMMMMm" + echo -e " hMMMV^VMMV^VMMMh" + echo -e " MMMMM MM MMMMM" + echo -e " hMMs vv sMMh" + echo -e " hMMM: :MMMh" + echo -e " .hMMMh hMMMh." + echo -e " -dMMMh ${lightgrey}__${default} hMMMd-" + echo -e " :mMMMs ${lightgrey}||${default} sMMMm:" + echo -e " :MMMM+ ${lightgrey}||${default} ${red}_${default} +NMMN:" + echo -e " .mMMM+ ${lightgrey}========${default} +MMMm." + echo -e " yMMMy ${darkgrey}##############${default} yMMMy" + echo -e " mMMM: ${darkgrey}##############${default} :MMMm" + echo -e " mMM ${lightyellow}nn${default} ${lightyellow}nn${default} ${lightyellow}nn${default} ${lightyellow}nn${default} MMm" + echo -e " o ${lightyellow}nNNNNNNNn${default} ${lightyellow}nNNNNNNNn${default} o" + echo -e " ${lightyellow}nNNNNNNNNNn${default} ${lightyellow}nNNNNNNNNNn${default}" + echo -e " ${lightyellow}nNNNNNNNNNNN${default} ${lightyellow}NNNNNNNNNNNn${default}" + echo -e " ${lightyellow}+NNNNNNNNN:${default} ${lightyellow}:NNNNNNNNN+${default}" + echo -e " ${lightyellow}nNNNNNNN${default} /\ ${lightyellow}NNNNNNNn${default}" + echo -e " ${lightyellow}nnnnn${default} db ${lightyellow}nnnnn${default}" + echo -e "" + echo -e "${lightyellow}888${default} ${lightyellow}d8b${default} ${default}.d8888b. .d8888b. 888b d888" + echo -e "${lightyellow}888 Y8P ${default}d88P Y88b d88P Y88b 8888b d8888" + echo -e "${lightyellow}888${default} ${default}888${default} 888 Y88b. 88888b.d88888" + echo -e "${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}88888b.${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} 888 Y888b. 888Y88888P888" + echo -e "${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}88b${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}Y8bd8P${default} 888 88888 Y88b. 888 Y888P 888" + echo -e "${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}X88K${default} 888 888 888 888 Y8P 888" + echo -e "${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}Y88b${default} ${lightyellow}88Y${default} ${lightyellow}.d8pq8b.${default} Y88b d88P Y88b d88P 888 * 888" + echo -e "${lightyellow}LinuxGSM${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}888${default} ${lightyellow}Y8888Y${default} ${lightyellow}888${default} ${lightyellow}888${default} Y2012P88 Y8888P 888 888" + echo -e "" +} diff --git a/lgsm/functions/core_trap.sh b/lgsm/functions/core_trap.sh index 54f2ef2c5..4c9db3579 100644 --- a/lgsm/functions/core_trap.sh +++ b/lgsm/functions/core_trap.sh @@ -5,7 +5,7 @@ # Description: Handles CTRL-C trap to give an exit code. fn_exit_trap(){ - echo "" + echo -e "" core_exit.sh } diff --git a/lgsm/functions/fix.sh b/lgsm/functions/fix.sh index 23153d87c..04d5c09b5 100644 --- a/lgsm/functions/fix.sh +++ b/lgsm/functions/fix.sh @@ -81,9 +81,9 @@ fi # Fixes that are run on install only. if [ "${function_selfname}" == "command_install.sh" ]; then if [ "${shortname}" == "kf" ]||[ "${shortname}" == "kf2" ]||[ "${shortname}" == "ro" ]||[ "${shortname}" == "ut2k4" ]||[ "${shortname}" == "ut" ]||[ "${shortname}" == "ut3" ]; then - echo "" - echo "Applying Post-Install Fixes" - echo "=================================" + echo -e "" + echo -e "Applying Post-Install Fixes" + echo -e "=================================" fn_sleep_time if [ "${shortname}" == "kf" ]; then fix_kf.sh diff --git a/lgsm/functions/fix_kf.sh b/lgsm/functions/fix_kf.sh index bb5a8b6ca..125252f06 100644 --- a/lgsm/functions/fix_kf.sh +++ b/lgsm/functions/fix_kf.sh @@ -8,18 +8,18 @@ local commandname="FIX" local commandaction="Fix" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "Applying WebAdmin ROOst.css fix." -echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13" +echo -e "Applying WebAdmin ROOst.css fix." +echo -e "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13" sed -i 's/none}/none;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css" sed -i 's/underline}/underline;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css" fn_sleep_time -echo "Applying WebAdmin CharSet fix." -echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1" +echo -e "Applying WebAdmin CharSet fix." +echo -e "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1" sed -i 's/CharSet="iso-8859-1"/CharSet="utf-8"/g' "${systemdir}/UWeb.int" fn_sleep_time -echo "applying server name fix." +echo -e "applying server name fix." fn_sleep_time -echo "forcing server restart..." +echo -e "forcing server restart..." fn_sleep_time exitbypass=1 command_start.sh diff --git a/lgsm/functions/fix_ro.sh b/lgsm/functions/fix_ro.sh index 1ded9824b..e354ce002 100644 --- a/lgsm/functions/fix_ro.sh +++ b/lgsm/functions/fix_ro.sh @@ -8,21 +8,21 @@ local commandname="FIX" local commandaction="Fix" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "Applying WebAdmin ROOst.css fix." -echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13" +echo -e "Applying WebAdmin ROOst.css fix." +echo -e "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13" sed -i 's/none}/none;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css" sed -i 's/underline}/underline;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css" fn_sleep_time -echo "Applying WebAdmin CharSet fix." -echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1" +echo -e "Applying WebAdmin CharSet fix." +echo -e "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1" sed -i 's/CharSet="iso-8859-1"/CharSet="utf-8"/g' "${systemdir}/uweb.int" fn_sleep_time -echo "Applying Steam AppID fix." +echo -e "Applying Steam AppID fix." sed -i 's/1210/1200/g' "${systemdir}/steam_appid.txt" fn_sleep_time -echo "applying server name fix." +echo -e "applying server name fix." fn_sleep_time -echo "forcing server restart..." +echo -e "forcing server restart..." fn_sleep_time exitbypass=1 command_start.sh diff --git a/lgsm/functions/fix_ut.sh b/lgsm/functions/fix_ut.sh index 5632c86e4..4d1b96355 100644 --- a/lgsm/functions/fix_ut.sh +++ b/lgsm/functions/fix_ut.sh @@ -9,6 +9,6 @@ local commandaction="Fix" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" #Set Binary Executable -echo "chmod +x ${executabledir}/${executable}" +echo -e "chmod +x ${executabledir}/${executable}" chmod +x "${executabledir}/${executable}" fn_sleep_time diff --git a/lgsm/functions/fix_ut2k4.sh b/lgsm/functions/fix_ut2k4.sh index cc517e1f3..4f966d80b 100644 --- a/lgsm/functions/fix_ut2k4.sh +++ b/lgsm/functions/fix_ut2k4.sh @@ -8,18 +8,18 @@ local commandname="FIX" local commandaction="Fix" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "applying WebAdmin ut2003.css fix." -echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13" +echo -e "applying WebAdmin ut2003.css fix." +echo -e "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13" sed -i 's/none}/none;/g' "${serverfiles}/Web/ServerAdmin/ut2003.css" sed -i 's/underline}/underline;/g' "${serverfiles}/Web/ServerAdmin/ut2003.css" fn_sleep_time -echo "applying WebAdmin CharSet fix." -echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1" +echo -e "applying WebAdmin CharSet fix." +echo -e "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1" sed -i 's/CharSet="iso-8859-1"/CharSet="utf-8"/g' "${systemdir}/UWeb.int" fn_sleep_time -echo "applying server name fix." +echo -e "applying server name fix." fn_sleep_time -echo "forcing server restart." +echo -e "forcing server restart." fn_sleep_time exitbypass=1 command_start.sh diff --git a/lgsm/functions/info_config.sh b/lgsm/functions/info_config.sh index 15d91de7e..9c12907f8 100644 --- a/lgsm/functions/info_config.sh +++ b/lgsm/functions/info_config.sh @@ -386,16 +386,36 @@ fn_info_config_minecraft(){ fi } +fn_info_config_mohaa(){ + if [ ! -f "${servercfgfullpath}" ]; then + rconpassword="${unavailable}" + servername="${unavailable}" + serverpassword="${unavailable}" + maxplayers="${zero}" + else + rconpassword=$(grep "rconpassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta rconpassword//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + serverpassword=$(grep "g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/seta g_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + + # Not Set + rconpassword=${rconpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} + serverpassword=${serverpassword:-"NOT SET"} + maxplayers=${maxplayers:-"0"} + fi +} + #Post Scriptum: The bloody Seventh fn_info_config_pstbs(){ if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" maxplayers="${unavailable}" - numreservedslots="${unavailable}" + reservedslots="${unavailable}" else servername="$(grep "ServerName=" "${servercfgfullpath}" | sed -e 's/^[ \t]//g' -e '/^#/d' -e 's/ServerName//g' | tr -d '=";,:' | sed -e 's/^[ \t]//' -e 's/[ \t]*$//')" maxplayers="$(grep "MaxPlayers=" "${servercfgfullpath}" | tr -cd '[:digit:]')" - numreservedslots="$(grep "NumReservedSlots=" "${servercfgfullpath}" | tr -cd '[:digit:]')" + reservedslots="$(grep "NumReservedSlots=" "${servercfgfullpath}" | tr -cd '[:digit:]')" fi if [ ! -f "${servercfgdir}/Rcon.cfg" ]; then @@ -935,6 +955,24 @@ fn_info_config_unreal3(){ fi } + +fn_info_config_warfork(){ + if [ ! -f "${servercfgfullpath}" ]; then + rconpassword="${unavailable}" + servername="${unavailable}" + maxplayers="${zero}" + else + rconpassword=$(grep "rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set rcon_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + servername=$(grep "sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//') + maxplayers=$(grep "sv_maxclients" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]') + + # Not Set + rconpassword=${rconpassword:-"NOT SET"} + servername=${servername:-"NOT SET"} + maxplayers=${maxplayers:-"0"} + fi +} + fn_info_config_kf2(){ if [ ! -f "${servercfgfullpath}" ]; then servername="${unavailable}" @@ -1272,6 +1310,9 @@ elif [ "${shortname}" == "jc3" ]; then # Killing Floor 2 elif [ "${shortname}" == "kf2" ]; then fn_info_config_kf2 +# Medal of Honor: Allied Assault +elif [ "${shortname}" == "mohaa" ]; then + fn_info_config_mohaa # QuakeWorld elif [ "${shortname}" == "qw" ]; then fn_info_config_quakeworld @@ -1320,7 +1361,7 @@ elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then # Starbound elif [ "${shortname}" == "sb" ]; then fn_info_config_starbound -# TeamSpeak 3 +# Teamspeak 3 elif [ "${shortname}" == "ts3" ]; then fn_info_config_teamspeak3 # Mumble @@ -1352,6 +1393,8 @@ elif [ "${shortname}" == "sdtd" ]; then fn_info_config_sdtd elif [ "${shortname}" == "wet" ]; then fn_info_config_wolfensteinenemyterritory +elif [ "${shortname}" == "wf" ]; then + fn_info_config_warfork elif [ "${shortname}" == "etl" ]; then fn_info_config_etlegacy elif [ "${shortname}" == "wurm" ]; then diff --git a/lgsm/functions/info_distro.sh b/lgsm/functions/info_distro.sh index 76445050f..c7bf38a28 100644 --- a/lgsm/functions/info_distro.sh +++ b/lgsm/functions/info_distro.sh @@ -7,6 +7,12 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" +### Game Server pid +if [ "${status}" == "1" ]; then + if [ "${shortname}" != "ts3" ]; then + gameserverpid=$(tmux list-sessions -F "#{session_name} #{pane_pid}"| grep "^${servicename}"|awk '{print $2}') + fi +fi ### Distro information ## Distro @@ -92,7 +98,11 @@ load=$(uptime|awk -F 'load average: ' '{ print $2 }') ## CPU information cpumodel=$(awk -F: '/model name/ {name=$2} END {print name}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') cpucores=$(awk -F: '/model name/ {core++} END {print core}' /proc/cpuinfo) -cpufreuency=$(awk -F: ' /cpu MHz/ {freq=$2} END {print freq " MHz"}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') +cpufreqency=$(awk -F: ' /cpu MHz/ {freq=$2} END {print freq " MHz"}' /proc/cpuinfo | sed 's/^[ \t]*//;s/[ \t]*$//') +# CPU usage of the game server pid +if [ "${status}" == "1" ]; then + cpuused=$(ps --forest -o pcpu -g "${gameserverpid}"|awk '{s+=$1} END {print s}') +fi ## Memory information # Available RAM and swap. @@ -126,6 +136,13 @@ if [ -n "$(command -v numfmt 2>/dev/null)" ]; then swaptotal=$(numfmt --to=iec --from=iec --suffix=B "$(grep ^SwapTotal /proc/meminfo | awk '{print $2}')K") swapfree=$(numfmt --to=iec --from=iec --suffix=B "$(grep ^SwapFree /proc/meminfo | awk '{print $2}')K") swapused=$(numfmt --to=iec --from=iec --suffix=B "$(($(grep ^SwapTotal /proc/meminfo | awk '{print $2}')-$(grep ^SwapFree /proc/meminfo | awk '{print $2}')))K") + # RAM usage of the game server pid + # MB + if [ "${status}" == "1" ]; then + memused=$(ps --forest -o rss -g "${gameserverpid}" | awk '{s+=$1} END {print s}'| awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}') + # % + pmemused=$(ps --forest -o %mem -g "${gameserverpid}" | awk '{s+=$1} END {print s}') + fi else # Older distros will need to use free. # Older versions of free do not support -h option. @@ -206,18 +223,22 @@ if [ -d "${backupdir}" ]; then fi fi +# Network Interface name +netint=$(ip -o addr | grep "${ip}" | awk '{print $2}') +netlink=$(ethtool "${netint}" 2>/dev/null| grep Speed | awk '{print $2}') + # External IP address if [ -z "${extip}" ]; then extip=$(${curlpath} -4 -m 3 ifconfig.co 2>/dev/null) exitcode=$? # Should ifconfig.co return an error will use last known IP. if [ ${exitcode} -eq 0 ]; then - echo "${extip}" > "${tmpdir}/extip.txt" + echo -e "${extip}" > "${tmpdir}/extip.txt" else if [ -f "${tmpdir}/extip.txt" ]; then extip=$(cat ${tmpdir}/extip.txt) else - echo "x.x.x.x" + echo -e "x.x.x.x" fi fi fi diff --git a/lgsm/functions/info_messages.sh b/lgsm/functions/info_messages.sh index dfe75c037..63deff33f 100644 --- a/lgsm/functions/info_messages.sh +++ b/lgsm/functions/info_messages.sh @@ -46,85 +46,127 @@ fn_info_message_distro(){ echo -e "${lightyellow}Distro Details${default}" fn_messages_separator { - echo -e "${blue}Distro:\t${default}${distroname}" - echo -e "${blue}Arch:\t${default}${arch}" - echo -e "${blue}Kernel:\t${default}${kernel}" - echo -e "${blue}Hostname:\t${default}${HOSTNAME}" - echo -e "${blue}tmux:\t${default}${tmuxv}" - echo -e "${blue}glibc:\t${default}${glibcversion}" + echo -e "${lightblue}Distro:\t${default}${distroname}" + echo -e "${lightblue}Arch:\t${default}${arch}" + echo -e "${lightblue}Kernel:\t${default}${kernel}" + echo -e "${lightblue}Hostname:\t${default}${HOSTNAME}" + echo -e "${lightblue}Uptime:\t${default}${days}d, ${hours}h, ${minutes}m" + echo -e "${lightblue}tmux:\t${default}${tmuxv}" + echo -e "${lightblue}glibc:\t${default}${glibcversion}" } | column -s $'\t' -t } -fn_info_message_performance(){ +fn_info_message_server_resource(){ # - # Performance - # ===================================== - # Uptime: 55d, 3h, 38m - # Avg Load: 1.00, 1.01, 0.78 + # Server Resource + # ========================================================================================================================================================================================================================================== + # CPU + # Model: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz + # Cores: 4 + # Frequency: 2499.994 MHz + # Avg Load: 0.20, 0.08, 0.01 + # + # Memory + # Mem: total used free cached available + # Physical: 7.8GB 598MB 7.0GB 4.0GB 7.0GB + # Swap: 512MB 0B 512MB # - # Mem: total used free cached - # Physical: 741M 656M 85M 256M - # Swap: 0B 0B 0B + # Storage + # Filesystem: /dev/sda + # Total: 157G + # Used: 138G + # Available: 12G echo -e "" - echo -e "${lightyellow}Performance${default}" - + echo -e "${lightyellow}Server Resource${default}" + fn_messages_separator { - echo -e "${blue}Uptime:\t${default}${days}d, ${hours}h, ${minutes}m" - echo -e "${blue}Avg Load:\t${default}${load}" + echo -e "${lightyellow}CPU\t${default}" + echo -e "${lightblue}Model:\t${default}${cpumodel}" + echo -e "${lightblue}Cores:\t${default}${cpucores}" + echo -e "${lightblue}Frequency:\t${default}${cpufreqency}" + echo -e "${lightblue}Avg Load:\t${default}${load}" } | column -s $'\t' -t echo -e "" { - echo -e "${blue}CPU Model:\t${default}${cpumodel}" - echo -e "${blue}CPU Cores:\t${default}${cpucores}" - echo -e "${blue}CPU Frequency:\t${default}${cpufreuency}" + echo -e "${lightyellow}Memory\t${default}" + echo -e "${lightblue}Mem:\t${lightblue}total\tused\tfree\tcached\tavailable${default}" + echo -e "${lightblue}Physical:\t${default}${physmemtotal}\t${physmemused}\t${physmemfree}\t${physmemcached}\t${physmemavailable}${default}" + echo -e "${lightblue}Swap:\t${default}${swaptotal}\t${swapused}\t${swapfree}${default}" } | column -s $'\t' -t echo -e "" { - echo -e "${blue}Mem:\t${blue}total\tused\tfree\tcached\tavailable${default}" - echo -e "${blue}Physical:\t${default}${physmemtotal}\t${physmemused}\t${physmemfree}\t${physmemcached}\t${physmemavailable}${default}" - echo -e "${blue}Swap:\t${default}${swaptotal}\t${swapused}\t${swapfree}${default}" + echo -e "${lightyellow}Storage${default}" + echo -e "${lightblue}Filesystem:\t${default}${filesystem}" + echo -e "${lightblue}Total:\t\t${default}${totalspace}" + echo -e "${lightblue}Used:\t\t${default}${usedspace}" + echo -e "${lightblue}Available:\t${default}${availspace}" + } | column -s $'\t' -t + echo -e "" + { + echo -e "${lightyellow}Network${default}" + if [ "${netint}" ]; then + echo -e "${lightblue}Interface:\t${default}${netint}" + fi + if [ "${netlink}" ]; then + echo -e "${lightblue}Link Speed:\t${default}${netlink}" + fi + echo -e "${lightblue}IP:\t${default}${ip}" + if [ "${ip}" != "${extip}" ]; then + echo -e "${lightblue}Internet IP:\t${default}${extip}" + fi } | column -s $'\t' -t } -fn_info_message_disk(){ +fn_info_message_gameserver_resource(){ + # Game Server Resource Usage + # ========================================================================================================================================================================================================================================== + # CPU Used: 2.5% + # Mem Used: 2.1% 171MB # # Storage - # ===================================== - # Filesystem: /dev/disk/by-uuid/320c8edd-a2ce-4a23-8c9d-e00a7af2d6ff - # Total: 15G - # Used: 8.4G - # Available: 5.7G - # LinuxGSM Total: 1G - # Serverfiles: 961M - # Backups: 2G + # Total: 21G + # Serverfiles: 20G + # Backups: 20K echo -e "" - echo -e "${lightyellow}Storage${default}" + echo -e "${lightyellow}Game Server Resource Usage${default}" fn_messages_separator { - echo -e "${blue}Filesystem:\t${default}${filesystem}" - echo -e "${blue}Total:\t${default}${totalspace}" - echo -e "${blue}Used:\t${default}${usedspace}" - echo -e "${blue}Available:\t${default}${availspace}" - echo -e "${blue}LinuxGSM Total:\t${default}${rootdirdu}" - echo -e "${blue}Serverfiles:\t${default}${serverfilesdu}" + if [ "${status}" == "1" ]; then + echo -e "${lightblue}CPU Used:\t${default}${cpuused}%${default}" + echo -e "${lightblue}Mem Used:\t${default}${pmemused}%\t${memused}${default}" + else + echo -e "${lightblue}CPU Used:\t${default}0%${default}" + echo -e "${lightblue}Mem Used:\t${default}0%\t0MB${default}" + fi + } | column -s $'\t' -t + echo -e "" + { + echo -e "${lightyellow}Storage${default}" + echo -e "${lightblue}Total:\t${default}${rootdirdu}" + echo -e "${lightblue}Serverfiles:\t${default}${serverfilesdu}" if [ -d "${backupdir}" ]; then - echo -e "${blue}Backups:\t${default}${backupdirdu}" + echo -e "${lightblue}Backups:\t${default}${backupdirdu}" fi } | column -s $'\t' -t } fn_info_message_gameserver(){ - # - # Quake Live Server Details - # ===================================== - # Server name: ql-server - # Server IP: 1.2.3.4:27960 - # RCON password: CHANGE_ME + # Counter-Strike: Global Offensive Server Details + # ========================================================================================================================================================================================================================================== + # Server name: LinuxGSM + # Server IP: 80.70.189.230:27015 # Server password: NOT SET - # Maxplayers: 16 - # Status: OFFLINE + # RCON password: adminF54CC0VR + # Players: 0/16 + # Current Map: de_mirage + # Default Map: de_mirage + # Game type: 0 + # Game mode: 0 + # Tick rate: 64 + # Master Server: true + # Status: ONLINE echo -e "" echo -e "${lightgreen}${gamename} Server Details${default}" @@ -133,215 +175,215 @@ fn_info_message_gameserver(){ { # Server name if [ -n "${gdname}" ]; then - echo -e "${blue}Server name:\t${default}${gdname}" + echo -e "${lightblue}Server name:\t${default}${gdname}" elif [ -n "${servername}" ]; then - echo -e "${blue}Server name:\t${default}${servername}" + echo -e "${lightblue}Server name:\t${default}${servername}" fi # Server description if [ -n "${serverdescription}" ]; then - echo -e "${blue}Server Description:\t${default}${serverdescription}" + echo -e "${lightblue}Server Description:\t${default}${serverdescription}" fi # Branch if [ -n "${branch}" ]; then - echo -e "${blue}Branch:\t${default}${branch}" + echo -e "${lightblue}Branch:\t${default}${branch}" fi # Server ip if [ "${multiple_ip}" == "1" ]; then - echo -e "${blue}Server IP:\t${default}NOT SET" + echo -e "${lightblue}Server IP:\t${default}NOT SET" else - echo -e "${blue}Server IP:\t${default}${ip}:${port}" + echo -e "${lightblue}Server IP:\t${default}${ip}:${port}" fi # Internet ip if [ -n "${extip}" ]; then if [ "${ip}" != "${extip}" ]; then - echo -e "${blue}Internet IP:\t${default}${extip}:${port}" + echo -e "${lightblue}Internet IP:\t${default}${extip}:${port}" fi fi # Display ip if [ -n "${displayip}" ]; then - echo -e "${blue}Display IP:\t${default}${displayip}:${port}" + echo -e "${lightblue}Display IP:\t${default}${displayip}:${port}" fi # Server password if [ -n "${serverpassword}" ]; then - echo -e "${blue}Server password:\t${default}${serverpassword}" + echo -e "${lightblue}Server password:\t${default}${serverpassword}" fi # Query enabled (Starbound) if [ -n "${queryenabled}" ]; then - echo -e "${blue}Query enabled:\t${default}${queryenabled}" + echo -e "${lightblue}Query enabled:\t${default}${queryenabled}" fi # RCON enabled (Starbound) if [ -n "${rconenabled}" ]; then - echo -e "${blue}RCON enabled:\t${default}${rconpassword}" + echo -e "${lightblue}RCON enabled:\t${default}${rconpassword}" fi # RCON password if [ -n "${rconpassword}" ]; then - echo -e "${blue}RCON password:\t${default}${rconpassword}" + echo -e "${lightblue}RCON password:\t${default}${rconpassword}" fi # RCON web (Rust) if [ -n "${rconweb}" ]; then - echo -e "${blue}RCON web:\t${default}${rconweb}" + echo -e "${lightblue}RCON web:\t${default}${rconweb}" fi # Admin password if [ -n "${adminpassword}" ]; then - echo -e "${blue}Admin password:\t${default}${adminpassword}" + echo -e "${lightblue}Admin password:\t${default}${adminpassword}" fi # Stats password (Quake Live) if [ -n "${statspassword}" ]; then - echo -e "${blue}Stats password:\t${default}${statspassword}" + echo -e "${lightblue}Stats password:\t${default}${statspassword}" fi # Players if [ "${querystatus}" != "0" ]; then if [ -n "${maxplayers}" ]; then - echo -e "${blue}Maxplayers:\t${default}${maxplayers}" + echo -e "${lightblue}Maxplayers:\t${default}${maxplayers}" fi else if [ -n "${gdplayers}" ]&&[ -n "${gdmaxplayers}" ]; then - echo -e "${blue}Players:\t${default}${gdplayers}/${gdmaxplayers}" + echo -e "${lightblue}Players:\t${default}${gdplayers}/${gdmaxplayers}" elif [ -n "${gdplayers}" ]&&[ -n "${maxplayers}" ]; then - echo -e "${blue}Players:\t${default}${gdplayers}/${maxplayers}" + echo -e "${lightblue}Players:\t${default}${gdplayers}/${maxplayers}" elif [ -z "${gdplayers}" ]&&[ -n "${gdmaxplayers}" ]; then - echo -e "${blue}Players:\t${default}0/${gdmaxplayers}" + echo -e "${lightblue}Players:\t${default}0/${gdmaxplayers}" elif [ -n "${gdplayers}" ]&&[ -z "${gdmaxplayers}" ]; then - echo -e "${blue}Players:\t${default}${gdplayers}|∞" + echo -e "${lightblue}Players:\t${default}${gdplayers}|∞" elif [ -z "${gdplayers}" ]&&[ -z "${gdmaxplayers}" ]&&[ -n "${maxplayers}" ]; then - echo -e "${blue}Maxplayers:\t${default}${maxplayers}" + echo -e "${lightblue}Maxplayers:\t${default}${maxplayers}" fi fi # Bots if [ -n "${gdbots}" ]; then - echo -e "${blue}Bots:\t${default}${gdbots}" + echo -e "${lightblue}Bots:\t${default}${gdbots}" fi # Current Map if [ -n "${gdmap}" ]; then - echo -e "${blue}Current Map:\t${default}${gdmap}" + echo -e "${lightblue}Current Map:\t${default}${gdmap}" fi if [ -n "${defaultscenario}" ]; then # Current Scenario if [ -n "${gdgamemode}" ]; then - echo -e "${blue}Current Scenario:\t${default}${gdgamemode}" + echo -e "${lightblue}Current Scenario:\t${default}${gdgamemode}" fi else # Current Scenario if [ -n "${gdgamemode}" ]; then - echo -e "${blue}Current Game Mode:\t${default}${gdgamemode}" + echo -e "${lightblue}Current Game Mode:\t${default}${gdgamemode}" fi fi # Default Map if [ -n "${defaultmap}" ]; then - echo -e "${blue}Default Map:\t${default}${defaultmap}" + echo -e "${lightblue}Default Map:\t${default}${defaultmap}" fi # Default Scenario if [ -n "${defaultscenario}" ]; then - echo -e "${blue}Default Scenario:\t${default}${defaultscenario}" + echo -e "${lightblue}Default Scenario:\t${default}${defaultscenario}" fi # Game type if [ -n "${gametype}" ]; then - echo -e "${blue}Game type:\t${default}${gametype}" + echo -e "${lightblue}Game type:\t${default}${gametype}" fi # Game mode if [ -n "${gamemode}" ]; then - echo -e "${blue}Game mode:\t${default}${gamemode}" + echo -e "${lightblue}Game mode:\t${default}${gamemode}" fi # Game world if [ -n "${gameworld}" ]; then - echo -e "${blue}Game world:\t${default}${gameworld}" + echo -e "${lightblue}Game world:\t${default}${gameworld}" fi # Tick rate if [ -n "${tickrate}" ]; then - echo -e "${blue}Tick rate:\t${default}${tickrate}" + echo -e "${lightblue}Tick rate:\t${default}${tickrate}" fi # Sharding (Don't Starve Together) if [ -n "${sharding}" ]; then - echo -e "${blue}Sharding:\t${default}${sharding}" + echo -e "${lightblue}Sharding:\t${default}${sharding}" fi # Master (Don't Starve Together) if [ -n "${master}" ]; then - echo -e "${blue}Master:\t${default}${master}" + echo -e "${lightblue}Master:\t${default}${master}" fi # Shard (Don't Starve Together) if [ -n "${shard}" ]; then - echo -e "${blue}Shard:\t${default}${shard}" + echo -e "${lightblue}Shard:\t${default}${shard}" fi # Cluster (Don't Starve Together) if [ -n "${cluster}" ]; then - echo -e "${blue}Cluster:\t${default}${cluster}" + echo -e "${lightblue}Cluster:\t${default}${cluster}" fi # Cave (Don't Starve Together) if [ -n "${cave}" ]; then - echo -e "${blue}Cave:\t${default}${cave}" + echo -e "${lightblue}Cave:\t${default}${cave}" fi # Creativemode (Hurtworld) if [ -n "${creativemode}" ]; then - echo -e "${blue}Creativemode:\t${default}${creativemode}" + echo -e "${lightblue}Creativemode:\t${default}${creativemode}" fi # TeamSpeak dbplugin if [ -n "${dbplugin}" ]; then - echo -e "${blue}dbplugin:\t${default}${dbplugin}" + echo -e "${lightblue}dbplugin:\t${default}${dbplugin}" fi # ASE (Multi Theft Auto) if [ -n "${ase}" ]; then - echo -e "${blue}ASE:\t${default}${ase}" + echo -e "${lightblue}ASE:\t${default}${ase}" fi # Save interval (Rust) if [ -n "${saveinterval}" ]; then - echo -e "${blue}ASE:\t${default}${saveinterval} s" + echo -e "${lightblue}ASE:\t${default}${saveinterval} s" fi # Random map rotation mode (Squad and Post Scriptum) if [ -n "${randommap}" ]; then - echo -e "${blue}Map rotation:\t${default}${randommap}" + echo -e "${lightblue}Map rotation:\t${default}${randommap}" fi # Listed on Master Server if [ "${displaymasterserver}" ];then if [ "${displaymasterserver}" == "true" ];then - echo -e "${blue}Master Server:\t${green}${displaymasterserver}${default}" + echo -e "${lightblue}Master Server:\t${green}${displaymasterserver}${default}" else - echo -e "${blue}Master Server:\t${red}${displaymasterserver}${default}" + echo -e "${lightblue}Master Server:\t${red}${displaymasterserver}${default}" fi fi # Online status if [ "${status}" == "0" ]; then - echo -e "${blue}Status:\t${red}OFFLINE${default}" + echo -e "${lightblue}Status:\t${red}OFFLINE${default}" else - echo -e "${blue}Status:\t${green}ONLINE${default}" + echo -e "${lightblue}Status:\t${green}ONLINE${default}" fi } | column -s $'\t' -t echo -e "" @@ -349,80 +391,91 @@ fn_info_message_gameserver(){ fn_info_message_script(){ # - # qlserver Script Details - # ===================================== - # Service name: ql-server - # qlserver version: 150316 - # User: lgsm - # Email alert: off - # Update on start: off - # Location: /home/lgsm/qlserver - # Config file: /home/lgsm/qlserver/serverfiles/baseq3/ql-server.cfg + # csgoserver Script Details + #========================================================================================================================================================================================================================================== + # Script name: csgoserver + # LinuxGSM version: v19.9.0 + # glibc required: 2.15 + # Discord alert: off + # Slack alert: off + # Email alert: off + # Pushbullet alert: off + # IFTTT alert: off + # Mailgun (email) alert: off + # Pushover alert: off + # Telegram alert: off + # Update on start: off + # User: lgsm + # Location: /home/lgsm/csgoserver + # Config file: /home/lgsm/csgoserver/serverfiles/csgo/cfg/csgoserver.cfg + echo -e "${lightgreen}${selfname} Script Details${default}" fn_messages_separator { - # Service name - echo -e "${blue}Service name:\t${default}${servicename}" + # Script name + echo -e "${lightblue}Script name:\t${default}${servicename}" - # Script version + # LinuxGSM version if [ -n "${version}" ]; then - echo -e "${blue}${selfname} version:\t${default}${version}" + echo -e "${lightblue}LinuxGSM version:\t${default}${version}" fi - # User - echo -e "${blue}User:\t${default}$(whoami)" - # glibc required if [ -n "${glibc}" ]; then if [ "${glibc}" == "null" ]; then # Glibc is not required. : elif [ -z "${glibc}" ]; then - echo -e "${blue}glibc required:\t${red}UNKNOWN${default}" + echo -e "${lightblue}glibc required:\t${red}UNKNOWN${default}" elif [ "$(printf '%s\n'${glibc}'\n' ${glibcversion} | sort -V | head -n 1)" != "${glibc}" ]; then - echo -e "${blue}glibc required:\t${red}${glibc} ${default}(${red}distro glibc ${glibcversion} too old${default})" + echo -e "${lightblue}glibc required:\t${red}${glibc} ${default}(${red}distro glibc ${glibcversion} too old${default})" else - echo -e "${blue}glibc required:\t${green}${glibc}${default}" + echo -e "${lightblue}glibc required:\t${green}${glibc}${default}" fi fi # Discord alert - echo -e "${blue}Discord alert:\t${default}${discordalert}" + echo -e "${lightblue}Discord alert:\t${default}${discordalert}" + # Slack alert + echo -e "${lightblue}Slack alert:\t${default}${slackalert}" # Email alert - echo -e "${blue}Email alert:\t${default}${emailalert}" + echo -e "${lightblue}Email alert:\t${default}${emailalert}" # Pushbullet alert - echo -e "${blue}Pushbullet alert:\t${default}${pushbulletalert}" + echo -e "${lightblue}Pushbullet alert:\t${default}${pushbulletalert}" # IFTTT alert - echo -e "${blue}IFTTT alert:\t${default}${iftttalert}" + echo -e "${lightblue}IFTTT alert:\t${default}${iftttalert}" # Mailgun alert - echo -e "${blue}Mailgun (email) alert:\t${default}${mailgunalert}" + echo -e "${lightblue}Mailgun (email) alert:\t${default}${mailgunalert}" # Pushover alert - echo -e "${blue}Pushover alert:\t${default}${pushoveralert}" + echo -e "${lightblue}Pushover alert:\t${default}${pushoveralert}" # Telegram alert - echo -e "${blue}Telegram alert:\t${default}${telegramalert}" + echo -e "${lightblue}Telegram alert:\t${default}${telegramalert}" # Update on start if [ -n "${updateonstart}" ]; then - echo -e "${blue}Update on start:\t${default}${updateonstart}" + echo -e "${lightblue}Update on start:\t${default}${updateonstart}" fi + # User + echo -e "${lightblue}User:\t${default}$(whoami)" + # Script location - echo -e "${blue}Location:\t${default}${rootdir}" + echo -e "${lightblue}Location:\t${default}${rootdir}" # Config file location if [ -n "${servercfgfullpath}" ]; then if [ -f "${servercfgfullpath}" ]; then - echo -e "${blue}Config file:\t${default}${servercfgfullpath}" + echo -e "${lightblue}Config file:\t${default}${servercfgfullpath}" elif [ -d "${servercfgfullpath}" ]; then - echo -e "${blue}Config dir:\t${default}${servercfgfullpath}" + echo -e "${lightblue}Config dir:\t${default}${servercfgfullpath}" else - echo -e "${blue}Config file:\t${default}${red}${servercfgfullpath}${default} (${red}FILE MISSING${default})" + echo -e "${lightblue}Config file:\t${default}${red}${servercfgfullpath}${default} (${red}FILE MISSING${default})" fi fi # Network config file location (ARMA 3) if [ -n "${networkcfgfullpath}" ]; then - echo -e "${blue}Network config file:\t${default}${networkcfgfullpath}" + echo -e "${lightblue}Network config file:\t${default}${networkcfgfullpath}" fi } | column -s $'\t' -t } @@ -444,17 +497,17 @@ fn_info_message_backup(){ echo -e "No Backups created" else { - echo -e "${blue}No. of backups:\t${default}${backupcount}" - echo -e "${blue}Latest backup:${default}" + echo -e "${lightblue}No. of backups:\t${default}${backupcount}" + echo -e "${lightblue}Latest backup:${default}" if [ "${lastbackupdaysago}" == "0" ]; then - echo -e "${blue} date:\t${default}${lastbackupdate} (less than 1 day ago)" + echo -e "${lightblue} date:\t${default}${lastbackupdate} (less than 1 day ago)" elif [ "${lastbackupdaysago}" == "1" ]; then - echo -e "${blue} date:\t${default}${lastbackupdate} (1 day ago)" + echo -e "${lightblue} date:\t${default}${lastbackupdate} (1 day ago)" else - echo -e "${blue} date:\t${default}${lastbackupdate} (${lastbackupdaysago} days ago)" + echo -e "${lightblue} date:\t${default}${lastbackupdate} (${lastbackupdaysago} days ago)" fi - echo -e "${blue} file:\t${default}${lastbackup}" - echo -e "${blue} size:\t${default}${lastbackupsize}" + echo -e "${lightblue} file:\t${default}${lastbackup}" + echo -e "${lightblue} size:\t${default}${lastbackupsize}" } | column -s $'\t' -t fi } @@ -485,11 +538,11 @@ fn_info_message_ports(){ echo -e "" echo -e "${lightgreen}Ports${default}" fn_messages_separator - echo -e "Change ports by editing the parameters in:" + echo -e "${lightblue}Change ports by editing the parameters in:${default}" parmslocation="${red}UNKNOWN${default}" # engines/games that require editing in the config file - local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" "wurm" ) + local ports_edit_array=( "avalanche2.0" "avalanche3.0" "Ballistic Overkill" "dontstarve" "Eco" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "Project Cars" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "Stationeers" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" "wurm") for port_edit in "${ports_edit_array[@]}" do if [ "${shortname}" == "ut3" ]; then @@ -501,7 +554,7 @@ fn_info_message_ports(){ fi done # engines/games that require editing the parms - local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "ioquake3" "Rust" "Soldat" "spark" "source" "starbound" "unreal4" "realvirtuality" "Unturned" ) + local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "ioquake3" "qfusion" "Rust" "Soldat" "spark" "source" "starbound" "unreal4" "realvirtuality" "Unturned" ) for port_edit in "${ports_edit_array[@]}" do if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]||[ "${shortname}" == "${port_edit}" ]; then @@ -510,15 +563,15 @@ fn_info_message_ports(){ done echo -e "${parmslocation}" echo -e "" - echo -e "Useful port diagnostic command:" + echo -e "${lightblue}Useful port diagnostic command:${default}" } fn_info_message_statusbottom(){ echo -e "" if [ "${status}" == "0" ]; then - echo -e "${blue}Status:\t${red}OFFLINE${default}" + echo -e "${lightblue}Status:\t${red}OFFLINE${default}" else - echo -e "${blue}Status:\t${green}ONLINE${default}" + echo -e "${lightblue}Status:\t${green}ONLINE${default}" fi echo -e "" } @@ -531,39 +584,39 @@ fn_info_logs(){ if [ -n "${lgsmlog}" ]; then echo -e "\nScript log\n===================" if [ ! "$(ls -A "${lgsmlogdir}")" ]; then - echo "${lgsmlogdir} (NO LOG FILES)" + echo -e "${lgsmlogdir} (NO LOG FILES)" elif [ ! -s "${lgsmlog}" ]; then - echo "${lgsmlog} (LOG FILE IS EMPTY)" + echo -e "${lgsmlog} (LOG FILE IS EMPTY)" else - echo "${lgsmlog}" + echo -e "${lgsmlog}" tail -25 "${lgsmlog}" fi - echo "" + echo -e "" fi if [ -n "${consolelog}" ]; then echo -e "\nConsole log\n====================" if [ ! "$(ls -A "${consolelogdir}")" ]; then - echo "${consolelogdir} (NO LOG FILES)" + echo -e "${consolelogdir} (NO LOG FILES)" elif [ ! -s "${consolelog}" ]; then - echo "${consolelog} (LOG FILE IS EMPTY)" + echo -e "${consolelog} (LOG FILE IS EMPTY)" else - echo "${consolelog}" + echo -e "${consolelog}" tail -25 "${consolelog}" | awk '{ sub("\r$", ""); print }' fi - echo "" + echo -e "" fi if [ -n "${gamelogdir}" ]; then echo -e "\nServer log\n===================" if [ ! "$(ls -A "${gamelogdir}")" ]; then - echo "${gamelogdir} (NO LOG FILES)" + echo -e "${gamelogdir} (NO LOG FILES)" else - echo "${gamelogdir}" + echo -e "${gamelogdir}" # dos2unix sed 's/\r//' tail "${gamelogdir}"/* 2>/dev/null | grep -v "==>" | sed '/^$/d' | sed 's/\r//' | tail -25 fi - echo "" + echo -e "" fi } @@ -573,7 +626,7 @@ fn_info_message_ark(){ echo -e "netstat -atunp | grep ShooterGame" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" # Don't do arithmetics if ever the port wasn't a numeric value if [ "${port}" -eq "${port}" ]; then @@ -588,7 +641,7 @@ fn_info_message_ballisticoverkill(){ echo -e "netstat -atunp | grep BODS.x86" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t @@ -598,7 +651,7 @@ fn_info_message_battalion1944(){ echo -e "netstat -atunp | grep BattalionServ" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" # Don't do arithmetics if ever the port wasn't a numeric value # unconfirmed - http://wiki.battaliongame.com/Community_Servers#Firewalls_.2F_Port_Forwarding @@ -614,7 +667,7 @@ fn_info_message_cod(){ echo -e "netstat -atunp | grep cod_lnxded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -623,7 +676,7 @@ fn_info_message_coduo(){ echo -e "netstat -atunp | grep coduo_lnxded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -632,7 +685,7 @@ fn_info_message_cod2(){ echo -e "netstat -atunp | grep cod2_lnxded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -641,7 +694,7 @@ fn_info_message_cod4(){ echo -e "netstat -atunp" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -650,7 +703,7 @@ fn_info_message_codwaw(){ echo -e "netstat -atunp | grep codwaw_lnxded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -659,7 +712,7 @@ fn_info_message_dontstarve(){ echo -e "netstat -atunp | grep dontstarve" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game: Server\tINBOUND\t${port}\tudp" echo -e "> Game: Master\tINBOUND\t${masterport}\tudp" echo -e "> Steam: Auth\tINBOUND\t${steamauthenticationport}\tudp" @@ -671,17 +724,27 @@ fn_info_message_eco(){ echo -e "netstat -atunp | grep mono" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp" } | column -s $'\t' -t } + +fn_info_message_etlegacy(){ + echo -e "netstat -atunp | grep etlded" + echo -e "" + { + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" + echo -e "> Game/Query\tINBOUND\t${port}\tudp" + } | column -s $'\t' -t +} + fn_info_message_factorio(){ echo -e "netstat -atunp | grep factorio" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" } | column -s $'\t' -t } @@ -690,7 +753,7 @@ fn_info_message_goldsource(){ echo -e "netstat -atunp | grep hlds_linux" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp" echo -e "< Client\tOUTBOUND\t${clientport}\tudp" } | column -s $'\t' -t @@ -700,7 +763,7 @@ fn_info_message_hurtworld(){ echo -e "netstat -atunp | grep Hurtworld" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t @@ -710,7 +773,7 @@ fn_info_message_inss(){ echo -e "netstat -atunp | grep Insurgency" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" @@ -721,7 +784,7 @@ fn_info_message_justcause2(){ echo -e "netstat -atunp | grep Jcmp-Server" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -730,7 +793,7 @@ fn_info_message_justcause3(){ echo -e "netstat -atunp | grep Server" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> Steam\tINBOUND\t${steamport}\tudp" @@ -741,18 +804,27 @@ fn_info_message_minecraft(){ echo -e "netstat -atunp | grep java" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> Rcon\tINBOUND\t${rconport}\ttcp" } | column -s $'\t' -t } +fn_info_message_mohaa(){ + echo -e "netstat -atunp | grep mohaa_lnxded" + echo -e "" + { + echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "> Game\tINBOUND\t${port}\tudp" + } | column -s $'\t' -t +} + fn_info_message_mumble(){ echo -e "netstat -atunp | grep murmur" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Voice\tINBOUND\t${port}\tudp" echo -e "> ServerQuery\tINBOUND\t${port}\ttcp" } | column -s $'\t' -t @@ -761,7 +833,7 @@ fn_info_message_pstbs(){ echo -e "netstat -atunp | grep PostScriptum" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" @@ -772,7 +844,7 @@ fn_info_message_projectcars(){ echo -e "netstat -atunp | grep DedicatedS" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> Steam\tINBOUND\t${steamport}\tudp" @@ -783,7 +855,7 @@ fn_info_message_projectzomboid(){ echo -e "netstat -atunp | grep java" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -792,7 +864,7 @@ fn_info_message_quake(){ echo -e "netstat -atunp | grep mvdsv" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -801,7 +873,7 @@ fn_info_message_quake2(){ echo -e "netstat -atunp | grep quake2" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -810,7 +882,7 @@ fn_info_message_quake3(){ echo -e "netstat -atunp | grep q3ded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -823,7 +895,7 @@ fn_info_message_quakelive(){ echo -e "" fi { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\tudp" echo -e "> Rcon\tINBOUND\t${rconport}\tudp" echo -e "> Stats\tINBOUND\t${statsport}\tudp" @@ -838,7 +910,7 @@ fn_info_message_realvirtuality(){ port="2302" fi { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" # Don't do arithmetics if ever the port wasn't a numeric value if [ "${port}" -eq "${port}" ]; then @@ -853,7 +925,7 @@ fn_info_message_refractor(){ echo -e "netstat -atunp | grep bf1942_lnxd" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\tudp" echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t @@ -863,7 +935,7 @@ fn_info_message_risingworld(){ echo -e "netstat -atunp | grep java" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp" echo -e "> http query\tINBOUND\t${httpqueryport}\ttcp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" @@ -874,7 +946,7 @@ fn_info_message_rtcw(){ echo -e "netstat -atunp | grep iowolfded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -883,7 +955,7 @@ fn_info_message_rust(){ echo -e "netstat -atunp | grep Rust" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" } | column -s $'\t' -t @@ -893,7 +965,7 @@ fn_info_message_samp(){ echo -e "netstat -atunp | grep samp03svr" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp" } | column -s $'\t' -t } @@ -903,7 +975,7 @@ fn_info_message_seriousengine35(){ echo -e "netstat -atunp | grep Sam3_Dedicate" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\ttcp" echo -e "> Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t @@ -913,7 +985,7 @@ fn_info_message_sbots(){ echo -e "netstat -atunp | grep blank1" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t @@ -924,7 +996,7 @@ fn_info_message_sdtd(){ echo -e "netstat -atunp | grep 7DaysToDie" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp" @@ -934,17 +1006,17 @@ fn_info_message_sdtd(){ echo -e "${lightgreen}${servername} WebAdmin${default}" fn_messages_separator { - echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}" - echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}" - echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" + echo -e "${lightblue}WebAdmin enabled:\t${default}${webadminenabled}" + echo -e "${lightblue}WebAdmin url:\t${default}http://${ip}:${webadminport}" + echo -e "${lightblue}WebAdmin password:\t${default}${webadminpass}" } | column -s $'\t' -t echo -e "" echo -e "${lightgreen}${servername} Telnet${default}" fn_messages_separator { - echo -e "${blue}Telnet enabled:\t${default}${telnetenabled}" - echo -e "${blue}Telnet address:\t${default}${ip} ${telnetport}" - echo -e "${blue}Telnet password:\t${default}${telnetpass}" + echo -e "${lightblue}Telnet enabled:\t${default}${telnetenabled}" + echo -e "${lightblue}Telnet address:\t${default}${ip} ${telnetport}" + echo -e "${lightblue}Telnet password:\t${default}${telnetpass}" } | column -s $'\t' -t } @@ -952,7 +1024,7 @@ fn_info_message_sof2(){ echo -e "netstat -atunp | grep sof2ded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } @@ -961,7 +1033,7 @@ fn_info_message_source(){ echo -e "netstat -atunp | grep srcds_linux" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp" echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp" echo -e "< Client\tOUTBOUND\t${clientport}\tudp" @@ -973,7 +1045,7 @@ fn_info_message_spark(){ echo -e "netstat -atunp | grep server_linux" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/RCON\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp" @@ -982,9 +1054,9 @@ fn_info_message_spark(){ echo -e "${lightgreen}${servername} WebAdmin${default}" fn_messages_separator { - echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}/index.html" - echo -e "${blue}WebAdmin username:\t${default}${webadminuser}" - echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" + echo -e "${lightblue}WebAdmin url:\t${default}http://${ip}:${webadminport}/index.html" + echo -e "${lightblue}WebAdmin username:\t${default}${webadminuser}" + echo -e "${lightblue}WebAdmin password:\t${default}${webadminpass}" } | column -s $'\t' -t } @@ -992,7 +1064,7 @@ fn_info_message_squad(){ echo -e "netstat -atunp | grep SquadServer" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" @@ -1003,7 +1075,7 @@ fn_info_message_starbound(){ echo -e "netstat -atunp | grep starbound" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" echo -e "> Query\tINBOUND\t${queryport}\ttcp" echo -e "> RCON\tINBOUND\t${rconport}\ttcp" @@ -1014,7 +1086,7 @@ fn_info_message_stationeers(){ echo -e "netstat -atunp | grep rocketstation" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" echo -e "> Query\tINBOUND\t${queryport}\ttcp" } | column -s $'\t' -t @@ -1024,7 +1096,7 @@ fn_info_message_teamspeak3(){ echo -e "netstat -atunp | grep ts3server" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Voice\tINBOUND\t${port}\tudp" echo -e "> ServerQuery\tINBOUND\t${queryport}\ttcp" echo -e "> File transfer\tINBOUND\t${fileport}\ttcp" @@ -1035,7 +1107,7 @@ fn_info_message_teeworlds(){ echo -e "netstat -atunp | grep teeworlds_srv" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" } | column -s $'\t' -t } @@ -1044,7 +1116,7 @@ fn_info_message_terraria(){ echo -e "netstat -atunp | grep TerrariaServer" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" } | column -s $'\t' -t } @@ -1053,7 +1125,7 @@ fn_info_message_towerunite(){ echo -e "netstat -atunp | grep TowerServer" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" # Don't do arithmetics if ever the port wasn't a numeric value if [ "${port}" -eq "${port}" ]; then @@ -1095,18 +1167,19 @@ fn_info_message_unreal(){ echo -e "${lightgreen}${servername} WebAdmin${default}" fn_messages_separator { - echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}" - echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}" - echo -e "${blue}WebAdmin username:\t${default}${webadminuser}" - echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" + echo -e "${lightblue}WebAdmin enabled:\t${default}${webadminenabled}" + echo -e "${lightblue}WebAdmin url:\t${default}http://${ip}:${webadminport}" + echo -e "${lightblue}WebAdmin username:\t${default}${webadminuser}" + echo -e "${lightblue}WebAdmin password:\t${default}${webadminpass}" } | column -s $'\t' -t } fn_info_message_unreal3(){ + fn_info_message_password_strip echo -e "netstat -atunp | grep ut3-bin" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp\tListenPort=${webadminport}" @@ -1115,10 +1188,10 @@ fn_info_message_unreal3(){ echo -e "${lightgreen}${servername} WebAdmin${default}" fn_messages_separator { - echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}" - echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}" - echo -e "${blue}WebAdmin username:\t${default}${webadminuser}" - echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" + echo -e "${lightblue}WebAdmin enabled:\t${default}${webadminenabled}" + echo -e "${lightblue}WebAdmin url:\t${default}http://${ip}:${webadminport}" + echo -e "${lightblue}WebAdmin username:\t${default}${webadminuser}" + echo -e "${lightblue}WebAdmin password:\t${default}${webadminpass}" } | column -s $'\t' -t } @@ -1126,17 +1199,20 @@ fn_info_message_unturned(){ echo -e "netstat -atunp | grep Unturned" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t } + + fn_info_message_kf2(){ + fn_info_message_password_strip echo -e "netstat -atunp | grep KFGame" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp\tPort=${port}" echo -e "> Query\tINBOUND\t${queryport}\tudp" echo -e "> Steam\tINBOUND\t20560\tudp" @@ -1146,10 +1222,10 @@ fn_info_message_kf2(){ echo -e "${lightgreen}${servername} WebAdmin${default}" fn_messages_separator { - echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}" - echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}" - echo -e "${blue}WebAdmin username:\t${default}${webadminuser}" - echo -e "${blue}WebAdmin password:\t${default}${webadminpass}" + echo -e "${lightblue}WebAdmin enabled:\t${default}${webadminenabled}" + echo -e "${lightblue}WebAdmin url:\t${default}http://${ip}:${webadminport}" + echo -e "${lightblue}WebAdmin username:\t${default}${webadminuser}" + echo -e "${lightblue}WebAdmin password:\t${default}${webadminpass}" } | column -s $'\t' -t } @@ -1157,25 +1233,17 @@ fn_info_message_wolfensteinenemyterritory(){ echo -e "netstat -atunp | grep etded" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game/Query\tINBOUND\t${port}\tudp" } | column -s $'\t' -t } -fn_info_message_etlegacy(){ - echo -e "netstat -atunp | grep etlded" - echo -e "" - { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" - echo -e "> Game/Query\tINBOUND\t${port}\tudp" - } | column -s $'\t' -t -} fn_info_message_wurmunlimited(){ echo -e "netstat -atunp | grep WurmServer" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\ttcp" echo -e "> Game/Query\tINBOUND\t${queryport}\tudp" } | column -s $'\t' -t @@ -1185,7 +1253,7 @@ fn_info_message_mta(){ echo -e "netstat -atunp | grep mta-server64" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tOUTBOUND\t${port}\tudp" echo -e "> HTTP Server\tINBOUND\t${httpport}\ttcp" if [ "${ase}" == "Enabled" ]; then @@ -1198,7 +1266,7 @@ fn_info_message_mordhau(){ echo -e "netstat -atunp | grep Mord" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> BeaconPort\tINBOUND\t${beaconport}\tudp" echo -e "> Query\tINBOUND\t${queryport}\tudp" @@ -1206,26 +1274,36 @@ fn_info_message_mordhau(){ } fn_info_message_barotrauma(){ - echo "netstat -atunp | grep /./Server.bin" + echo -e "netstat -atunp | grep /./Server.bin" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> Query\tINBOUND\t$((port+1))\tudp" } | column -s $'\t' -t } fn_info_message_soldat() { - echo "netstat -atunp | grep soldat" + echo -e "netstat -atunp | grep soldat" echo -e "" { - echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL" + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" echo -e "> Game\tINBOUND\t${port}\tudp" echo -e "> RCON\tINBOUND\t${port}\ttcp" echo -e "> FILES\tINBOUND\t$((port+10))\ttcp" } | column -s $'\t' -t } +fn_info_message_warfork(){ + echo -e "netstat -atunp | grep wf_server" + echo -e "" + { + echo -e "${lightblue}DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL${default}" + echo -e "> Game\tINBOUND\t${port}\tudp" + echo -e "> HTTP\tINBOUND\t${httpport}\ttcp" + } | column -s $'\t' -t +} + fn_info_message_select_engine(){ # Display details depending on game or engine. if [ "${shortname}" == "sdtd" ]; then @@ -1294,6 +1372,8 @@ fn_info_message_select_engine(){ fn_info_message_towerunite elif [ "${shortname}" == "unt" ]; then fn_info_message_unturned + elif [ "${shortname}" == "mohaa" ]; then + fn_info_message_mohaa elif [ "${shortname}" == "mh" ]; then fn_info_message_mordhau elif [ "${shortname}" == "mta" ]; then @@ -1304,6 +1384,8 @@ fn_info_message_select_engine(){ fn_info_message_rtcw elif [ "${shortname}" == "rust" ]; then fn_info_message_rust + elif [ "${shortname}" == "wf" ]; then + fn_info_message_warfork elif [ "${shortname}" == "wurm" ]; then fn_info_message_wurmunlimited elif [ "${shortname}" == "rw" ]; then diff --git a/lgsm/functions/info_parms.sh b/lgsm/functions/info_parms.sh index f902f2e23..bcc5a0d9d 100644 --- a/lgsm/functions/info_parms.sh +++ b/lgsm/functions/info_parms.sh @@ -27,11 +27,6 @@ fn_info_parms_barotrauma(){ queryport=${queryport:-"0"} } -fn_info_parms_realvirtuality(){ - port=${port:-"0"} - queryport=$((port + 1)) -} - fn_info_parms_cod(){ defaultmap=${defaultmap:-"NOT SET"} maxplayers=${maxplayers:-"0"} @@ -57,6 +52,15 @@ fn_info_parms_factorio(){ rconpassword=${rconpassword:-"NOT SET"} } +fn_info_parms_hurtworld(){ + servername=${servername:-"NOT SET"} + port=${port:-"0"} + queryport=${queryport:-"0"} + maxplayers=${maxplayers:-"0"} + defaultmap=${defaultmap:-"NOT SET"} + creativemode=${creativemode:-"NOT SET"} +} + fn_info_parms_inss(){ port=${port:-"0"} queryport=${queryport:-"0"} @@ -67,13 +71,22 @@ fn_info_parms_inss(){ maxplayers=${maxplayers:-"0"} } -fn_info_parms_hurtworld(){ - servername=${servername:-"NOT SET"} +fn_info_parms_kf2(){ + queryport=${queryport:-"0"} + defaultmap=${defaultmap:-"NOT SET"} +} + + +fn_info_parms_mordhau(){ port=${port:-"0"} queryport=${queryport:-"0"} - maxplayers=${maxplayers:-"0"} + beaconport=${beaconport:-"0"} +} + +fn_info_parms_mohaa(){ + port=${port:-"0"} + queryport=${port:-"0"} defaultmap=${defaultmap:-"NOT SET"} - creativemode=${creativemode:-"NOT SET"} } fn_info_parms_projectzomboid(){ @@ -87,15 +100,20 @@ fn_info_parms_quakeworld(){ fn_info_parms_quake2(){ port=${port:-"0"} + queryport=${port} defaultmap=${defaultmap:-"NOT SET"} } +fn_info_parms_realvirtuality(){ + port=${port:-"0"} + queryport=$((port + 1)) +} + fn_info_parms_risingworld(){ servername=${servername:-"NOT SET"} port=${port:-"0"} queryport=${port} httpqueryport=$((port - 1)) - } fn_info_parms_rtcw(){ @@ -171,12 +189,6 @@ fn_info_parms_towerunite(){ queryport=${queryport:-"0"} } -fn_info_parms_mordhau(){ - port=${port:-"0"} - queryport=${queryport:-"0"} - beaconport=${beaconport:-"0"} -} - fn_info_parms_unreal(){ defaultmap=${defaultmap:-"NOT SET"} queryport=$((port + 1)) @@ -200,9 +212,11 @@ fn_info_parms_unturned(){ port=${port:-"0"} queryport=$((port + 1)) } -fn_info_parms_kf2(){ - queryport=${queryport:-"0"} - defaultmap=${defaultmap:-"NOT SET"} + +fn_info_parms_wf(){ + port=${port:-"0"} + queryport="${port}" + webadminport=${webadminport:-"0"} } # ARK: Survival Evolved @@ -227,6 +241,8 @@ elif [ "${shortname}" == "inss" ]; then fn_info_parms_inss elif [ "${shortname}" == "kf2" ]; then fn_info_parms_kf2 +elif [ "${shortname}" == "mohaa" ]; then + fn_info_parms_mohaa # Project Zomboid elif [ "${shortname}" == "pz" ]; then fn_info_parms_projectzomboid @@ -270,4 +286,7 @@ elif [ "${engine}" == "unreal3" ]; then fn_info_parms_unreal3 elif [ "${shortname}" == "unt" ]; then fn_info_parms_unturned +# Warfork +elif [ "${shortname}" == "wf" ]; then + fn_info_parms_wf fi diff --git a/lgsm/functions/install_complete.sh b/lgsm/functions/install_complete.sh index 18cfc16e5..63ba28d4f 100644 --- a/lgsm/functions/install_complete.sh +++ b/lgsm/functions/install_complete.sh @@ -8,12 +8,12 @@ local commandname="INSTALL" local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "=================================" -echo "Install Complete!" +echo -e "" +echo -e "=================================" +echo -e "Install Complete!" fn_script_log_info "Install Complete!" -echo "" -echo "To start server type:" -echo "./${selfname} start" -echo "" +echo -e "" +echo -e "To start server type:" +echo -e "./${selfname} start" +echo -e "" core_exit.sh diff --git a/lgsm/functions/install_config.sh b/lgsm/functions/install_config.sh index 33779d1c4..7cffbff4e 100644 --- a/lgsm/functions/install_config.sh +++ b/lgsm/functions/install_config.sh @@ -11,7 +11,7 @@ local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" # Checks if server cfg dir exists, creates it if it doesn't. fn_check_cfgdir(){ if [ ! -d "${servercfgdir}" ]; then - echo "creating ${servercfgdir} config directory." + echo -e "creating ${servercfgdir} config directory." fn_script_log_info "creating ${servercfgdir} config directory." mkdir -pv "${servercfgdir}" fi @@ -19,10 +19,10 @@ fn_check_cfgdir(){ # Downloads default configs from Game-Server-Configs repo to lgsm/config-default. fn_fetch_default_config(){ - echo "" - echo "Downloading ${gamename} Configs" - echo "=================================" - echo "default configs from https://github.com/GameServerManagers/Game-Server-Configs" + echo -e "" + echo -e "${lightyellow}Downloading ${gamename} Configs${default}" + echo -e "=================================" + echo -e "default configs from https://github.com/GameServerManagers/Game-Server-Configs" fn_sleep_time mkdir -p "${lgsmdir}/config-default/config-game" githuburl="https://raw.githubusercontent.com/GameServerManagers/Game-Server-Configs/master" @@ -35,7 +35,7 @@ fn_fetch_default_config(){ fn_default_config_remote(){ for config in "${array_configs[@]}"; do # every config is copied - echo "copying ${config} config file." + echo -e "copying ${config} config file." fn_script_log_info "copying ${servercfg} config file." if [ "${config}" == "${servercfgdefault}" ]; then mkdir -p "${servercfgdir}" @@ -55,7 +55,7 @@ fn_default_config_remote(){ # Copys local default config to server config location. fn_default_config_local(){ - echo "copying ${servercfgdefault} config file." + echo -e "copying ${servercfgdefault} config file." cp -nv "${servercfgfullpathdefault}" "${servercfgfullpath}" fn_sleep_time } @@ -68,7 +68,7 @@ fn_set_config_vars(){ random=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs) servername="LinuxGSM" rconpass="admin${random}" - echo "changing hostname." + echo -e "changing hostname." fn_script_log_info "changing hostname." fn_sleep_time # prevents var from being overwritten with the servername. @@ -79,7 +79,7 @@ fn_set_config_vars(){ else sed -i "s/SERVERNAME/${servername}/g" "${servercfgfullpath}" fi - echo "changing rcon/admin password." + echo -e "changing rcon/admin password." fn_script_log_info "changing rcon/admin password." if [ "${shortname}" == "squad" ]; then sed -i "s/ADMINPASSWORD/${rconpass}/g" "${servercfgdir}/Rcon.cfg" @@ -89,7 +89,7 @@ fn_set_config_vars(){ fn_sleep_time else fn_script_log_warn "Config file not found, cannot alter it." - echo "Config file not found, cannot alter it." + echo -e "Config file not found, cannot alter it." fn_sleep_time fi } @@ -98,21 +98,21 @@ fn_set_config_vars(){ fn_set_dst_config_vars(){ ## cluster.ini if grep -Fq "SERVERNAME" "${clustercfgfullpath}"; then - echo "changing server name." + echo -e "changing server name." fn_script_log_info "changing server name." sed -i "s/SERVERNAME/LinuxGSM/g" "${clustercfgfullpath}" fn_sleep_time - echo "changing shard mode." + echo -e "changing shard mode." fn_script_log_info "changing shard mode." sed -i "s/USESHARDING/${sharding}/g" "${clustercfgfullpath}" fn_sleep_time - echo "randomizing cluster key." + echo -e "randomizing cluster key." fn_script_log_info "randomizing cluster key." randomkey=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs) sed -i "s/CLUSTERKEY/${randomkey}/g" "${clustercfgfullpath}" fn_sleep_time else - echo "${clustercfg} is already configured." + echo -e "${clustercfg} is already configured." fn_script_log_info "${clustercfg} is already configured." fi @@ -125,23 +125,23 @@ fn_set_dst_config_vars(){ sed -i "/SHARDNAME/d" "${servercfgfullpath}" fi - echo "changing shard name." + echo -e "changing shard name." fn_script_log_info "changing shard name." sed -i "s/SHARDNAME/${shard}/g" "${servercfgfullpath}" fn_sleep_time - echo "changing master setting." + echo -e "changing master setting." fn_script_log_info "changing master setting." sed -i "s/ISMASTER/${master}/g" "${servercfgfullpath}" fn_sleep_time ## worldgenoverride.lua if [ "${cave}" == "true" ]; then - echo "defining ${shard} as cave in ${servercfgdir}/worldgenoverride.lua." + echo -e "defining ${shard} as cave in ${servercfgdir}/worldgenoverride.lua." fn_script_log_info "defining ${shard} as cave in ${servercfgdir}/worldgenoverride.lua." echo 'return { override_enabled = true, preset = "DST_CAVE", }' > "${servercfgdir}/worldgenoverride.lua" fi fn_sleep_time - echo "" + echo -e "" } if [ "${shortname}" == "sdtd" ]; then @@ -153,6 +153,12 @@ elif [ "${shortname}" == "ahl" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars +elif [ "${shortname}" == "ahl2" ]; then + gamedirname="ActionSource" + array_configs+=( server.cfg ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${shortname}" == "ark" ]; then gamedirname="ARKSurvivalEvolved" fn_check_cfgdir @@ -193,7 +199,7 @@ elif [ "${shortname}" == "bt1944" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars -elif [ "${shortname}" == "bt1942" ]; then +elif [ "${shortname}" == "bf1942" ]; then gamedirname="Battlefield1942" array_configs+=( serversettings.con ) fn_fetch_default_config @@ -434,6 +440,12 @@ elif [ "${shortname}" == "mc" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars +elif [ "${shortname}" == "mohaa" ]; then + gamedirname="MedalOfHonorAlliedAssault" + array_configs+=( server.cfg ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${shortname}" == "mh" ]; then gamedirname="Mordhau" fn_check_cfgdir @@ -663,6 +675,12 @@ elif [ "${shortname}" == "wet" ]; then fn_fetch_default_config fn_default_config_remote fn_set_config_vars +elif [ "${shortname}" == "wf" ]; then + gamedirname="Warfork" + array_configs+=( server.cfg ) + fn_fetch_default_config + fn_default_config_remote + fn_set_config_vars elif [ "${shortname}" == "wurm" ]; then gamedirname="WurmUnlimited" array_configs+=( server.cfg ) diff --git a/lgsm/functions/install_dst_token.sh b/lgsm/functions/install_dst_token.sh index 616a6469b..55e83ffe4 100644 --- a/lgsm/functions/install_dst_token.sh +++ b/lgsm/functions/install_dst_token.sh @@ -8,18 +8,18 @@ local commandname="INSTALL" local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "Enter ${gamename} Cluster Token" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Enter ${gamename} Cluster Token${default}" +echo -e "=================================" fn_sleep_time -echo "A cluster token is required to run this server!" -echo "Follow the instructions in this link to obtain this key:" -echo "https://linuxgsm.com/dst-auth-token" -echo "" +echo -e "A cluster token is required to run this server!" +echo -e "Follow the instructions in this link to obtain this key:" +echo -e "https://linuxgsm.com/dst-auth-token" +echo -e "" if [ -z "${autoinstall}" ]; then overwritetoken="true" if [ -s "${clustercfgdir}/cluster_token.txt" ]; then - echo "The cluster token is already set. Do you want to overwrite it?" + echo -e "The cluster token is already set. Do you want to overwrite it?" fn_script_log_info "Don't Starve Together cluster token is already set" if fn_prompt_yn "Continue?" N; then overwritetoken="true" @@ -28,19 +28,19 @@ if [ -z "${autoinstall}" ]; then fi fi if [ "${overwritetoken}" == "true" ]; then - echo "Once you have the cluster token, enter it below" + echo -e "Once you have the cluster token, enter it below" echo -n "Cluster Token: " read -r token mkdir -pv "${clustercfgdir}" - echo "${token}" > "${clustercfgdir}/cluster_token.txt" + echo -e "${token}" > "${clustercfgdir}/cluster_token.txt" if [ -f "${clustercfgdir}/cluster_token.txt" ]; then - echo "Don't Starve Together cluster token created" + echo -e "Don't Starve Together cluster token created" fn_script_log_info "Don't Starve Together cluster token created" fi unset overwritetoken fi else - echo "You can add your cluster token using the following command" - echo "./${selfname} cluster-token" + echo -e "You can add your cluster token using the following command" + echo -e "./${selfname} cluster-token" fi -echo "" +echo -e "" diff --git a/lgsm/functions/install_eula.sh b/lgsm/functions/install_eula.sh index fca4838af..d7893b16c 100644 --- a/lgsm/functions/install_eula.sh +++ b/lgsm/functions/install_eula.sh @@ -12,26 +12,26 @@ elif [ "${shortname}" == "ut" ]; then eulaurl="https://www.epicgames.com/unrealtournament/unreal-tournament-pre-alpha-test-development-build-eula" fi -echo "" -echo "Accept ${gamename} EULA" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Accept ${gamename} EULA${default}" +echo -e "=================================" fn_sleep_time -echo "You are required to accept the EULA:" -echo "${eulaurl}" -echo "" +echo -e "You are required to accept the EULA:" +echo -e "${eulaurl}" +echo -e "" if [ -z "${autoinstall}" ]; then - echo "By continuing you are indicating your agreement to the EULA." - echo "" + echo -e "By continuing you are indicating your agreement to the EULA." + echo -e "" if ! fn_prompt_yn "Continue?" Y; then core_exit.sh fi elif [ "${function_selfname}" == "command_start.sh" ]; then fn_print_info "By continuing you are indicating your agreement to the EULA." - echo "" + echo -e "" sleep 5 else - echo "By using auto-install you are indicating your agreement to the EULA." - echo "" + echo -e "By using auto-install you are indicating your agreement to the EULA." + echo -e "" sleep 5 fi @@ -39,7 +39,7 @@ if [ "${shortname}" == "ts3" ]; then touch "${executabledir}/.ts3server_license_accepted" elif [ "${shortname}" == "mc" ]; then touch "${serverfiles}/eula.txt" - echo "eula=true" > "${serverfiles}/eula.txt" + echo -e "eula=true" > "${serverfiles}/eula.txt" elif [ "${shortname}" == "ut" ]; then : fi diff --git a/lgsm/functions/install_factorio_save.sh b/lgsm/functions/install_factorio_save.sh index 804ef88e7..fd9e634a1 100644 --- a/lgsm/functions/install_factorio_save.sh +++ b/lgsm/functions/install_factorio_save.sh @@ -7,9 +7,9 @@ local commandname="INSTALL" local commandaction="Install" -echo "" -echo "Creating initial Factorio savefile" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Creating initial Factorio savefile${default}" +echo -e "=================================" fn_sleep_time check_glibc.sh "${executabledir}"/factorio --create "${serverfiles}/save1" diff --git a/lgsm/functions/install_gslt.sh b/lgsm/functions/install_gslt.sh index 87fccae70..425fcb2b9 100644 --- a/lgsm/functions/install_gslt.sh +++ b/lgsm/functions/install_gslt.sh @@ -8,26 +8,26 @@ local commandname="INSTALL" local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "Game Server Login Token" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Game Server Login Token${default}" +echo -e "=================================" fn_sleep_time if [ "${shortname}" == "csgo" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "nmrih" ]||[ "${shortname}" == "bs" ]; then - echo "GSLT is required to run a public ${gamename} server" + echo -e "GSLT is required to run a public ${gamename} server" fn_script_log_info "GSLT is required to run a public ${gamename} server" else - echo "GSLT is an optional feature for ${gamename} server" + echo -e "GSLT is an optional feature for ${gamename} server" fn_script_log_info "GSLT is an optional feature for ${gamename} server" fi -echo "Get more info and a token here:" -echo "https://linuxgsm.com/gslt" +echo -e "Get more info and a token here:" +echo -e "https://linuxgsm.com/gslt" fn_script_log_info "Get more info and a token here:" fn_script_log_info "https://linuxgsm.com/gslt" -echo "" +echo -e "" if [ -z "${autoinstall}" ]; then if [ "${shortname}" != "tu" ]; then - echo "Enter token below (Can be blank)." + echo -e "Enter token below (Can be blank)." echo -n "GSLT TOKEN: " read -r token if ! grep -q "^gslt=" "${configdirserver}/${servicename}.cfg" > /dev/null 2>&1; then @@ -39,10 +39,10 @@ if [ -z "${autoinstall}" ]; then fi fn_sleep_time if [ "${shortname}" == "tu" ]; then - echo "The GSLT can be changed by editing ${servercfgdir}/${servercfg}." + echo -e "The GSLT can be changed by editing ${servercfgdir}/${servercfg}." fn_script_log_info "The GSLT can be changed by editing ${servercfgdir}/${servercfg}." else - echo "The GSLT can be changed by editing ${configdirserver}/${servicename}.cfg." + echo -e "The GSLT can be changed by editing ${configdirserver}/${servicename}.cfg." fn_script_log_info "The GSLT can be changed by editing ${configdirserver}/${servicename}.cfg." fi -echo "" +echo -e "" diff --git a/lgsm/functions/install_header.sh b/lgsm/functions/install_header.sh index 40c2845fc..0b5febae1 100644 --- a/lgsm/functions/install_header.sh +++ b/lgsm/functions/install_header.sh @@ -9,10 +9,14 @@ local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" clear -echo "=================================" -echo "LinuxGSM - ${gamename}" -echo "by Daniel Gibbs" -echo "Website: https://linuxgsm.com" -echo "Contributors: https://linuxgsm.com/contrib" -echo "Donate: https://linuxgsm.com/donate" -echo "=================================" +fn_print_ascii_logo +fn_sleep_time +echo -e "=================================" +echo -e "${lightyellow}Linux${default}GSM_" +echo -e "by Daniel Gibbs" +echo -e "${lightblue}Game:${default}${gamename}" +echo -e "${lightblue}Website:${default} https://linuxgsm.com" +echo -e "${lightblue}Contributors:${default} https://linuxgsm.com/contrib" +echo -e "${lightblue}Donate:${default} https://linuxgsm.com/donate" +echo -e "=================================" +fn_sleep_time diff --git a/lgsm/functions/install_logs.sh b/lgsm/functions/install_logs.sh index c886c9140..996e05f93 100644 --- a/lgsm/functions/install_logs.sh +++ b/lgsm/functions/install_logs.sh @@ -9,9 +9,9 @@ local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" if [ "${checklogs}" != "1" ]; then - echo "" - echo "Creating log directories" - echo "=================================" + echo -e "" + echo -e "${lightyellow}Creating log directories${default}" + echo -e "=================================" fi fn_sleep_time # Create LinuxGSM logs. diff --git a/lgsm/functions/install_mta_resources.sh b/lgsm/functions/install_mta_resources.sh index b4ff2bece..d21de7f9c 100644 --- a/lgsm/functions/install_mta_resources.sh +++ b/lgsm/functions/install_mta_resources.sh @@ -10,5 +10,5 @@ local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_print_information_nl "${gamename} will not function without resources!" -echo " * install default resources using ./${selfname} install-default-resources" -echo " * download resources from https://community.multitheftauto.com" +echo -e " * install default resources using ./${selfname} install-default-resources" +echo -e " * download resources from https://community.multitheftauto.com" diff --git a/lgsm/functions/install_server_dir.sh b/lgsm/functions/install_server_dir.sh index cd8fe8c21..ee918c0e5 100644 --- a/lgsm/functions/install_server_dir.sh +++ b/lgsm/functions/install_server_dir.sh @@ -8,15 +8,15 @@ local commandname="INSTALL" local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "Server Directory" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Server Directory${default}" +echo -e "=================================" fn_sleep_time if [ -d "${serverfiles}" ]; then fn_print_warning_nl "A server is already installed here." fi pwd -echo "" +echo -e "" if [ -z "${autoinstall}" ]; then if ! fn_prompt_yn "Continue?" Y; then exit diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh index 4046798c0..73c375fbb 100644 --- a/lgsm/functions/install_server_files.sh +++ b/lgsm/functions/install_server_files.sh @@ -29,6 +29,8 @@ fn_install_server_files(){ remote_fileurl="https://files.linuxgsm.com/WolfensteinEnemyTerritory/etlegacy-v2.75-i386-et-260b.tar.bz2"; local_filedir="${tmpdir}"; local_filename="etlegacy-v2.75-i386-et-260b.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="92d7d4c26e0a295daed78cef623eeabb" elif [ "${shortname}" == "ges" ]; then remote_fileurl="https://files.linuxgsm.com/GoldenEyeSource/GoldenEye_Source_v5.0.6_full_server.tar.bz2"; local_filedir="${tmpdir}"; local_filename="GoldenEye_Source_v5.0.6_full_server.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="c45c16293096706e8b5e2cd64a6f2931" + elif [ "${shortname}" == "mohaa" ]; then + remote_fileurl="https://files.linuxgsm.com/MedalofHonorAlliedAssault/moh_revival_v1.12_RC3.5.1.tar.bz2"; local_filedir="${tmpdir}"; local_filename="moh_revival_v1.12_RC3.5.1.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="9d5924486a0cf5e46dd063216aad05c1" elif [ "${shortname}" == "ns" ]; then remote_fileurl="https://files.linuxgsm.com/NaturalSelection/ns_dedicated_server_v32.tar.bz2"; local_filedir="${tmpdir}"; local_filename="ns_dedicated_server_v32.tar.bz2"; chmodx="nochmodx" run="norun"; force="noforce"; md5="499cf63324b76925ada6baf5f2eacd67" elif [ "${shortname}" == "q2" ]; then @@ -86,7 +88,7 @@ fn_install_server_files_steamcmd(){ fi if [ "${counter}" -ge "7" ]; then - echo "Removing $(find "${serverfiles}" -type d -print0 | grep -Ez '[^/]{30}$')" + echo -e "Removing $(find "${serverfiles}" -type d -print0 | grep -Ez '[^/]{30}$')" find "${serverfiles}" -type d -print0 | grep -Ez '[^/]{30}$' | xargs -0 rm -rf fi if [ "${counter}" -ge "9" ]; then @@ -102,18 +104,18 @@ fn_install_server_files_steamcmd(){ if [ "${counter}" -le "4" ]; then if [ "${appid}" == "90" ]; then - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +quit + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta ${branch} +quit local exitcode=$? else - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" ${branch} +quit + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} +quit local exitcode=$? fi elif [ "${counter}" -ge "5" ]; then if [ "${engine}" == "goldsource" ]; then - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} validate +quit + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta ${branch} validate +quit local exitcode=$? else - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" ${branch} validate +quit + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} validate +quit local exitcode=$? fi fi @@ -137,9 +139,9 @@ fn_install_server_files_steamcmd(){ fi } -echo "" -echo "Installing ${gamename} Server" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Installing ${gamename} Server${default}" +echo -e "=================================" fn_sleep_time if [ -n "${appid}" ]; then @@ -166,8 +168,8 @@ elif [ -z "${appid}" ]||[ "${shortname}" == "ahl" ]||[ "${shortname}" == "bd" ]| fi if [ -z "${autoinstall}" ]; then - echo "" - echo "=================================" + echo -e "" + echo -e "=================================" if ! fn_prompt_yn "Was the install successful?" Y; then install_retry.sh fi diff --git a/lgsm/functions/install_squad_license.sh b/lgsm/functions/install_squad_license.sh index f5d5dc457..b1e15e419 100644 --- a/lgsm/functions/install_squad_license.sh +++ b/lgsm/functions/install_squad_license.sh @@ -8,19 +8,19 @@ local commandname="INSTALL" local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "Squad Server License" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Squad Server License${default}" +echo -e "=================================" fn_sleep_time -echo "Server license is an optional feature for ${gamename} server" +echo -e "Server license is an optional feature for ${gamename} server" fn_script_log_info "Server license is an optional feature for ${gamename} server" -echo "Get more info and a server license here:" -echo "http://forums.joinsquad.com/topic/16519-server-licensing-general-info/" +echo -e "Get more info and a server license here:" +echo -e "http://forums.joinsquad.com/topic/16519-server-licensing-general-info/" fn_script_log_info "Get more info and a server license here:" fn_script_log_info "http://forums.joinsquad.com/topic/16519-server-licensing-general-info/" -echo "" +echo -e "" fn_sleep_time -echo "The Squad server license can be changed by editing ${servercfgdir}/License.cfg." +echo -e "The Squad server license can be changed by editing ${servercfgdir}/License.cfg." fn_script_log_info "The Squad server license can be changed by editing ${selfname}." -echo "" +echo -e "" diff --git a/lgsm/functions/install_steamcmd.sh b/lgsm/functions/install_steamcmd.sh index 4b24c4274..e56c9b8aa 100644 --- a/lgsm/functions/install_steamcmd.sh +++ b/lgsm/functions/install_steamcmd.sh @@ -7,8 +7,8 @@ local commandname="INSTALL" local commandaction="Install" -echo "" -echo "Installing SteamCMD" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Installing SteamCMD${default}" +echo -e "=================================" fn_sleep_time check_steamcmd.sh diff --git a/lgsm/functions/install_ts3db.sh b/lgsm/functions/install_ts3db.sh index 6fbe45724..cd2ef8653 100644 --- a/lgsm/functions/install_ts3db.sh +++ b/lgsm/functions/install_ts3db.sh @@ -24,9 +24,9 @@ fn_install_ts3db_mariadb(){ fi fi - echo "" - echo "Configure ${gamename} Server for MariaDB" - echo "=================================" + echo -e "" + echo -e "${lightyellow}Configure ${gamename} Server for MariaDB${default}" + echo -e "=================================" fn_sleep_time read -rp "Enter MariaDB hostname: " mariahostname read -rp "Enter MariaDB port: " mariaport @@ -36,24 +36,24 @@ fn_install_ts3db_mariadb(){ read -rp "Enter MariaDB socket path: " mariadbsocket { - echo "[config]" - echo "host='${mariahostname}'" - echo "port='${mariaport}'" - echo "username='${mariausername}'" - echo "password='${mariapassword}'" - echo "database='${mariadbname}'" - echo "socket='${mariadbsocket}'" + echo -e "[config]" + echo -e "host='${mariahostname}'" + echo -e "port='${mariaport}'" + echo -e "username='${mariausername}'" + echo -e "password='${mariapassword}'" + echo -e "database='${mariadbname}'" + echo -e "socket='${mariadbsocket}'" } >> "${servercfgdir}/ts3db_mariadb.ini" sed -i "s/dbplugin=ts3db_sqlite3/dbplugin=ts3db_mariadb/g" "${servercfgfullpath}" sed -i "s/dbpluginparameter=/dbpluginparameter=ts3db_mariadb.ini/g" "${servercfgfullpath}" sed -i "s/dbsqlcreatepath=create_sqlite\//dbsqlcreatepath=create_mariadb\//g" "${servercfgfullpath}" - echo "updating ts3db_mariadb.ini." + echo -e "updating ts3db_mariadb.ini." fn_sleep_time } -echo "" -echo "Select Database" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Select Database${default}" +echo -e "=================================" fn_sleep_time if [ -z "${autoinstall}" ]; then if fn_prompt_yn "Do you want to use MariaDB instead of sqlite? (MariaDB must be pre-configured)" N; then @@ -65,9 +65,9 @@ fi install_eula.sh -echo "" -echo "Getting privilege key" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Getting privilege key${default}" +echo -e "=================================" fn_sleep_time fn_print_information_nl "Save these details for later." cd "${executabledir}" || exit diff --git a/lgsm/functions/install_ut2k4_key.sh b/lgsm/functions/install_ut2k4_key.sh index 79066167e..ea9f0ac82 100644 --- a/lgsm/functions/install_ut2k4_key.sh +++ b/lgsm/functions/install_ut2k4_key.sh @@ -8,24 +8,24 @@ local commandname="INSTALL" local commandaction="Install" local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -echo "" -echo "Enter ${gamename} CD Key" -echo "=================================" +echo -e "" +echo -e "${lightyellow}Enter ${gamename} CD Key${default}" +echo -e "=================================" fn_sleep_time -echo "To get your server listed on the Master Server list" -echo "you must get a free CD key. Get a key here:" -echo "https://www.epicgames.com/unrealtournament/forums/cdkey.php?2004" -echo "" +echo -e "To get your server listed on the Master Server list" +echo -e "you must get a free CD key. Get a key here:" +echo -e "https://www.epicgames.com/unrealtournament/forums/cdkey.php?2004" +echo -e "" if [ -z "${autoinstall}" ]; then - echo "Once you have the key enter it below" + echo -e "Once you have the key enter it below" echo -n "KEY: " read -r CODE - echo ""\""CDKey"\""="\""${CODE}"\""" > "${systemdir}/cdkey" + echo -e ""\""CDKey"\""="\""${CODE}"\""" > "${systemdir}/cdkey" if [ -f "${systemdir}/cdkey" ]; then fn_script_log_info "UT2K4 Server CD Key created" fi else - echo "You can add your key using the following command" - echo "./${selfname} server-cd-key" + echo -e "You can add your key using the following command" + echo -e "./${selfname} server-cd-key" fi -echo "" +echo -e "" diff --git a/lgsm/functions/mods_core.sh b/lgsm/functions/mods_core.sh index 02d95c2f0..f0b056b28 100644 --- a/lgsm/functions/mods_core.sh +++ b/lgsm/functions/mods_core.sh @@ -46,7 +46,7 @@ fn_mod_lowercase(){ dst="$(dirname "${src}$(/)basename" "${src}" | tr 'A-Z' 'a-z')" if [ "${src}" != "${dst}" ] then - [ ! -e "${dst}" ] && mv -T "${src}" "${dst}" || echo "${src} was not renamed" + [ ! -e "${dst}" ] && mv -T "${src}" "${dst}" || echo -e "${src} was not renamed" local exitcode=$? ((renamedwc++)) fi @@ -105,7 +105,7 @@ fn_mod_copy_destination(){ # Add the mod to the installed-mods.txt. fn_mod_add_list(){ if [ ! -n "$(sed -n "/^${modcommand}$/p" "${modsinstalledlistfullpath}")" ]; then - echo "${modcommand}" >> "${modsinstalledlistfullpath}" + echo -e "${modcommand}" >> "${modsinstalledlistfullpath}" fn_script_log_info "${modcommand} added to ${modsinstalledlist}" fi } @@ -122,11 +122,11 @@ fn_mod_tidy_files_list(){ removefromlist="cfg;addons;RustDedicated_Data;RustDedicated_Data\/Managed;RustDedicated_Data\/Managed\/x86;RustDedicated_Data\/Managed\/x64;" # Loop through files to remove from file list, # generate elements to remove from list. - removefromlistamount="$(echo "${removefromlist}" | awk -F ';' '{ print NF }')" + removefromlistamount="$(echo -e "${removefromlist}" | awk -F ';' '{ print NF }')" # Test all subvalue of "removefromlist" using the ";" separator. for ((filesindex=1; filesindex < removefromlistamount; filesindex++)); do # Put current file into test variable. - removefilevar="$(echo "${removefromlist}" | awk -F ';' -v x=${filesindex} '{ print $x }')" + removefilevar="$(echo -e "${removefromlist}" | awk -F ';' -v x=${filesindex} '{ print $x }')" # Delete line(s) matching exactly. sed -i "/^${removefilevar}$/d" "${modsdir}/${modcommand}-files.txt" # Exit on error. @@ -228,7 +228,7 @@ fn_mods_define(){ if [ -z "$index" ]; then fn_script_log_fatal "index variable not set. Please report an issue." fn_print_error "index variable not set. Please report an issue." - echo "* https://github.com/GameServerManagers/LinuxGSM/issues" + echo -e "* https://github.com/GameServerManagers/LinuxGSM/issues" core_exit.sh fi modcommand="${mods_global_array[index+1]}" @@ -306,11 +306,11 @@ fn_compatible_mod_games(){ # If value is set to GAMES (ignore). if [ "${modgames}" != "GAMES" ]; then # How many games we need to test. - gamesamount="$(echo "${modgames}" | awk -F ';' '{ print NF }')" + gamesamount="$(echo -e "${modgames}" | awk -F ';' '{ print NF }')" # Test all subvalue of "modgames" using the ";" separator. for ((gamevarindex=1; gamevarindex < gamesamount; gamevarindex++)); do # Put current game name into modtest variable. - gamemodtest="$( echo "${modgames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )" + gamemodtest="$( echo -e "${modgames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )" # If game name matches. if [ "${gamemodtest}" == "${gamename}" ]; then # Mod is compatible. @@ -327,11 +327,11 @@ fn_compatible_mod_engines(){ # If value is set to ENGINES (ignore). if [ "${modengines}" != "ENGINES" ]; then # How many engines we need to test. - enginesamount="$(echo "${modengines}" | awk -F ';' '{ print NF }')" + enginesamount="$(echo -e "${modengines}" | awk -F ';' '{ print NF }')" # Test all subvalue of "modengines" using the ";" separator. for ((gamevarindex=1; gamevarindex < ${enginesamount}; gamevarindex++)); do # Put current engine name into modtest variable. - enginemodtest="$( echo "${modengines}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )" + enginemodtest="$( echo -e "${modengines}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )" # If engine name matches. if [ "${enginemodtest}" == "${engine}" ]; then # Mod is compatible. @@ -348,11 +348,11 @@ fn_not_compatible_mod_games(){ # If value is set to NOTGAMES (ignore). if [ "${modexcludegames}" != "NOTGAMES" ]; then # How many engines we need to test. - excludegamesamount="$(echo "${modexcludegames}" | awk -F ';' '{ print NF }')" + excludegamesamount="$(echo -e "${modexcludegames}" | awk -F ';' '{ print NF }')" # Test all subvalue of "modexcludegames" using the ";" separator. for ((gamevarindex=1; gamevarindex < excludegamesamount; gamevarindex++)); do # Put current engine name into modtest variable. - excludegamemodtest="$( echo "${modexcludegames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )" + excludegamemodtest="$( echo -e "${modexcludegames}" | awk -F ';' -v x=${gamevarindex} '{ print $x }' )" # If engine name matches. if [ "${excludegamemodtest}" == "${gamename}" ]; then # Mod is compatible. @@ -473,9 +473,9 @@ fn_mods_check_installed(){ fn_mods_count_installed # If no mods are found. if [ ${installedmodscount} -eq 0 ]; then - echo "" + echo -e "" fn_print_failure_nl "No installed mods or addons were found" - echo " * Install mods using LinuxGSM first with: ./${selfname} mods-install" + echo -e " * Install mods using LinuxGSM first with: ./${selfname} mods-install" fn_script_log_error "No installed mods or addons were found." core_exit.sh fi @@ -490,7 +490,7 @@ fn_check_mod_files_list(){ # If file list is empty. if [ "${modsfilelistsize}" -eq 0 ]; then fn_print_failure "${modcommand}-files.txt is empty" - echo "* Unable to remove ${modprettyname}" + echo -e "* Unable to remove ${modprettyname}" fn_script_log_fatal "${modcommand}-files.txt is empty: Unable to remove ${modprettyname}." core_exit.sh fi diff --git a/lgsm/functions/mods_list.sh b/lgsm/functions/mods_list.sh index 0be790e7b..19ce5abb0 100644 --- a/lgsm/functions/mods_list.sh +++ b/lgsm/functions/mods_list.sh @@ -33,7 +33,7 @@ steamworksdownloadurl="${steamworksscrapeurl}/${steamworkslatestfile}" steamworksurl="${steamworksdownloadurl}" # CS:GO Mods get5scrapepath="$(curl -sL https://ci.splewis.net/job/get5/lastSuccessfulBuild/api/xml | grep -oP "\K(.+)(?=)")" -get5latestfile="$(echo "${get5scrapepath}" | xargs -n 1 -I @ sh -c "echo "basename "@""")" +get5latestfile="$(echo -e "${get5scrapepath}" | xargs -n 1 -I @ sh -c "echo -e "basename "@""")" get5downloadurl="https://ci.splewis.net/job/get5/lastSuccessfulBuild/artifact/${get5scrapepath}" get5url="${get5downloadurl}" # Oxide diff --git a/lgsm/functions/query_gamedig.sh b/lgsm/functions/query_gamedig.sh index 39e8d884a..0a256bcab 100644 --- a/lgsm/functions/query_gamedig.sh +++ b/lgsm/functions/query_gamedig.sh @@ -46,7 +46,7 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; fi done - local engine_query_array=( idtech3 iw3.0 ioquake3 ) + local engine_query_array=( idtech3 iw3.0 ioquake3 qfusion ) for engine_query in "${engine_query_array[@]}" do if [ "${engine_query}" == "${engine}" ]; then @@ -82,50 +82,54 @@ if [ "$(command -v gamedig 2>/dev/null)" ]&&[ "$(command -v jq 2>/dev/null)" ]; check_status.sh if [ "${status}" != "0" ]; then # checks if query is working null = pass. - gamedigcmd=$(echo "gamedig --type \"${gamedigengine}\" --host \"${ip}\" --query_port \"${queryport}\"|jq") + gamedigcmd=$(echo -e "gamedig --type \"${gamedigengine}\" --host \"${ip}\" --query_port \"${queryport}\"|jq") gamedigraw=$(gamedig --type "${gamedigengine}" --host "${ip}" --query_port "${queryport}") - querystatus=$(echo "${gamedigraw}" | jq '.error|length') + querystatus=$(echo -e "${gamedigraw}" | jq '.error|length') if [ "${querystatus}" != "null" ]; then - gamedigcmd=$(echo "gamedig --type \"${gamedigengine}\" --host \"${ip}\" --port \"${queryport}\"|jq") + gamedigcmd=$(echo -e "gamedig --type \"${gamedigengine}\" --host \"${ip}\" --port \"${queryport}\"|jq") gamedigraw=$(gamedig --type "${gamedigengine}" --host "${ip}" --port "${queryport}") - querystatus=$(echo "${gamedigraw}" | jq '.error|length') + querystatus=$(echo -e "${gamedigraw}" | jq '.error|length') fi # server name. - gdname=$(echo "${gamedigraw}" | jq -re '.name') + gdname=$(echo -e "${gamedigraw}" | jq -re '.name') if [ "${gdname}" == "null" ]; then unset gdname fi # numplayers. - gdplayers=$(echo "${gamedigraw}" | jq -re '.players|length') + gdplayers=$(echo -e "${gamedigraw}" | jq -re '.players') if [ "${gdplayers}" == "null" ]; then unset gdplayers + elif [ "${gdplayers}" == "[]" ]; then + gdplayers=0 fi # maxplayers. - gdmaxplayers=$(echo "${gamedigraw}" | jq -re '.maxplayers|length') + gdmaxplayers=$(echo -e "${gamedigraw}" | jq -re '.maxplayers') if [ "${gdmaxplayers}" == "null" ]; then unset maxplayers + elif [ "${gdmaxplayers}" == "[]" ]; then + gdmaxplayers=0 fi # current map. - gdmap=$(echo "${gamedigraw}" | jq -re '.map') + gdmap=$(echo -e "${gamedigraw}" | jq -re '.map') if [ "${gdmap}" == "null" ]; then unset gdmap fi # current gamemode. - gdgamemode=$(echo "${gamedigraw}" | jq -re '.raw.rules.GameMode_s') + gdgamemode=$(echo -e "${gamedigraw}" | jq -re '.raw.rules.GameMode_s') if [ "${gdgamemode}" == "null" ]; then unset gdgamemode fi # numbots. - gdbots=$(echo "${gamedigraw}" | jq -re '.raw.numbots') + gdbots=$(echo -e "${gamedigraw}" | jq -re '.raw.numbots') if [ "${gdbots}" == "null" ]||[ "${gdbots}" == "0" ]; then unset gdbots fi diff --git a/lgsm/functions/query_gsquery.py b/lgsm/functions/query_gsquery.py index b02262382..fcfd4edc3 100644 --- a/lgsm/functions/query_gsquery.py +++ b/lgsm/functions/query_gsquery.py @@ -1,4 +1,4 @@ -#! /usr/bin/env python +#! /usr/bin/env python3 # -*- coding: utf-8 -*- # query_gsquery.py # Author: Anonymous & Daniel Gibbs @@ -18,7 +18,7 @@ class gsquery: self.default_buffer_length = 1024 # sourcequery=[ 'avalanche3.0','barotrauma''madness','quakelive','realvirtuality','refractor','source','goldsource','spark','starbound','unity3d', 'unreal4', 'wurm' ] - idtech3query=['idtech3','iw3.0','ioquake3'] + idtech3query=['idtech3','iw3.0','ioquake3','qfusion'] idtech2query=['idtech2','quake','iw2.0'] minecraftquery=['minecraft','lwjgl2'] if self.option.engine in sourcequery: @@ -82,7 +82,7 @@ class gsquery: if __name__ == '__main__': parser = optparse.OptionParser( - usage='usage: python %prog [options]', + usage='usage: python3 %prog [options]', version='%prog 0.0.1' ) parser.add_option( diff --git a/lgsm/functions/update_factorio.sh b/lgsm/functions/update_factorio.sh index c6d27ee65..fc79cde2d 100644 --- a/lgsm/functions/update_factorio.sh +++ b/lgsm/functions/update_factorio.sh @@ -68,8 +68,8 @@ fn_update_factorio_remotebuild(){ fn_update_factorio_compare(){ fn_print_dots "Checking for update: ${remotelocation}" # Removes dots so if statement can compare version numbers. - localbuilddigit=$(echo "${localbuild}" | tr -cd '[:digit:]') - remotebuilddigit=$(echo "${remotebuild}" | tr -cd '[:digit:]') + localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]') + remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]') if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then fn_print_ok_nl "Checking for update: ${remotelocation}" echo -en "\n" diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh index 8fa3ef40a..e75a38dcc 100644 --- a/lgsm/functions/update_minecraft.sh +++ b/lgsm/functions/update_minecraft.sh @@ -123,8 +123,8 @@ fn_update_minecraft_remotebuild(){ fn_update_minecraft_compare(){ # Removes dots so if statement can compare version numbers. fn_print_dots "Checking for update: ${remotelocation}" - localbuilddigit=$(echo "${localbuild}" | tr -cd '[:digit:]') - remotebuilddigit=$(echo "${remotebuild}" | tr -cd '[:digit:]') + localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]') + remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]') if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then fn_print_ok_nl "Checking for update: ${remotelocation}" echo -en "\n" diff --git a/lgsm/functions/update_mta.sh b/lgsm/functions/update_mta.sh index 935ab474e..95461ab04 100644 --- a/lgsm/functions/update_mta.sh +++ b/lgsm/functions/update_mta.sh @@ -127,8 +127,8 @@ fn_update_mta_remotebuild(){ fn_update_mta_compare(){ # Removes dots so if statement can compare version numbers. fn_print_dots "Checking for update: ${remotelocation}" - localbuilddigit=$(echo "${localbuild}" | tr -cd '[:digit:]') - remotebuilddigit=$(echo "${remotebuild}" | tr -cd '[:digit:]') + localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]') + remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]') if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then fn_print_ok_nl "Checking for update: ${remotelocation}" if [ "${forceupdate}" == "1" ]; then diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh index eb0bdcda3..9dd504ad0 100644 --- a/lgsm/functions/update_mumble.sh +++ b/lgsm/functions/update_mumble.sh @@ -68,8 +68,8 @@ fn_update_mumble_remotebuild(){ fn_update_mumble_compare(){ # Removes dots so if statement can compare version numbers. fn_print_dots "Checking for update: ${remotelocation}" - localbuilddigit=$(echo "${localbuild}" | tr -cd '[:digit:]') - remotebuilddigit=$(echo "${remotebuild}" | tr -cd '[:digit:]') + localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]') + remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]') if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then fn_print_ok_nl "Checking for update: ${remotelocation}" echo -en "\n" diff --git a/lgsm/functions/update_steamcmd.sh b/lgsm/functions/update_steamcmd.sh index 8f27cd3fe..b27884513 100644 --- a/lgsm/functions/update_steamcmd.sh +++ b/lgsm/functions/update_steamcmd.sh @@ -19,9 +19,9 @@ fn_update_steamcmd_dl(){ cd "${steamcmddir}" || exit if [ "${appid}" == "90" ]; then - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +quit | tee -a "${lgsmlog}" + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" -beta ${branch} +quit | tee -a "${lgsmlog}" else - ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" ${branch} +quit | tee -a "${lgsmlog}" + ${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta ${branch} +quit | tee -a "${lgsmlog}" fi fix.sh } @@ -160,9 +160,9 @@ fn_appmanifest_check(){ if [ "${appmanifestfilewc}" -ge "2" ]; then fn_print_fail "Unable to remove x${appmanifestfilewc} appmanifest_${appid}.acf files" fn_script_log_fatal "Unable to remove x${appmanifestfilewc} appmanifest_${appid}.acf files" - echo " * Check user permissions" + echo -e " * Check user permissions" for appfile in ${appmanifestfile}; do - echo " ${appfile}" + echo -e " ${appfile}" done core_exit.sh else diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh index 31a015e6e..18768997c 100644 --- a/lgsm/functions/update_ts3.sh +++ b/lgsm/functions/update_ts3.sh @@ -132,8 +132,8 @@ fn_update_ts3_remotebuild(){ fn_update_ts3_compare(){ # Removes dots so if statement can compare version numbers. fn_print_dots "Checking for update: ${remotelocation}" - localbuilddigit=$(echo "${localbuild}" | tr -cd '[:digit:]') - remotebuilddigit=$(echo "${remotebuild}" | tr -cd '[:digit:]') + localbuilddigit=$(echo -e "${localbuild}" | tr -cd '[:digit:]') + remotebuilddigit=$(echo -e "${remotebuild}" | tr -cd '[:digit:]') if [ "${localbuilddigit}" -ne "${remotebuilddigit}" ]||[ "${forceupdate}" == "1" ]; then fn_print_ok_nl "Checking for update: ${remotelocation}" echo -en "\n" diff --git a/linuxgsm.sh b/linuxgsm.sh index 143493712..d3e762851 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -20,7 +20,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v19.10.2" +version="v19.11.0" shortname="core" gameservername="core" rootdir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" @@ -84,14 +84,14 @@ fn_bootstrap_fetch_file(){ echo -e "FAIL" if [ -f "${lgsmlog}" ]; then echo -e "${remote_fileurl}" | tee -a "${lgsmlog}" - echo "${curlcmd}" | tee -a "${lgsmlog}" + echo -e "${curlcmd}" | tee -a "${lgsmlog}" fi exit 1 else echo -e "OK" fi else - echo "[ FAIL ] Curl is not installed" + echo -e "[ FAIL ] Curl is not installed" exit 1 fi # Make file chmodx if chmodx is set. @@ -149,7 +149,7 @@ fn_install_menu_bash() { fn_print_horizontal menu_options=() while read -r line || [[ -n "${line}" ]]; do - var=$(echo "${line}" | awk -F "," '{print $2 " - " $3}') + var=$(echo -e "${line}" | awk -F "," '{print $2 " - " $3}') menu_options+=( "${var}" ) done < "${options}" menu_options+=( "Cancel" ) @@ -174,8 +174,8 @@ fn_install_menu_whiptail() { IFS="," menu_options=() while read -r line; do - key=$(echo "${line}" | awk -F "," '{print $3}') - val=$(echo "${line}" | awk -F "," '{print $2}') + key=$(echo -e "${line}" | awk -F "," '{print $3}') + val=$(echo -e "${line}" | awk -F "," '{print $2}') menu_options+=( "${val//\"}" "${key//\"}" ) done < "${options}" OPTION=$(${menucmd} --title "${title}" --menu "${caption}" "${height}" "${width}" "${menuheight}" "${menu_options[@]}" 3>&1 1>&2 2>&3) @@ -220,10 +220,10 @@ fn_server_info(){ fn_install_getopt(){ userinput="empty" - echo "Usage: $0 [option]" + echo -e "Usage: $0 [option]" echo -e "" - echo "Installer - Linux Game Server Managers - Version ${version}" - echo "https://linuxgsm.com" + echo -e "Installer - Linux Game Server Managers - Version ${version}" + echo -e "https://linuxgsm.com" echo -e "" echo -e "Commands" echo -e "install\t\t| Select server to install." @@ -244,15 +244,15 @@ fn_install_file(){ cp -R "${selfname}" "${local_filename}" sed -i -e "s/shortname=\"core\"/shortname=\"${shortname}\"/g" "${local_filename}" sed -i -e "s/gameservername=\"core\"/gameservername=\"${gameservername}\"/g" "${local_filename}" - echo "Installed ${gamename} server as ${local_filename}" - echo "" + echo -e "Installed ${gamename} server as ${local_filename}" + echo -e "" if [ ! -d "${serverfiles}" ]; then - echo "./${local_filename} install" + echo -e "./${local_filename} install" else - echo "Remember to check server ports" - echo "./${local_filename} details" + echo -e "Remember to check server ports" + echo -e "./${local_filename} details" fi - echo "" + echo -e "" exit } @@ -260,11 +260,11 @@ fn_install_file(){ if [ "$(whoami)" == "root" ]; then if [ "${userinput}" == "install" ]||[ "${userinput}" == "auto-install" ]||[ "${userinput}" == "i" ]||[ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 fi elif [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 else core_functions.sh @@ -277,7 +277,7 @@ if [ "${shortname}" == "core" ]; then # Download the latest serverlist. This is the complete list of all supported servers. fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5" if [ ! -f "${serverlist}" ]; then - echo "[ FAIL ] serverlist.csv could not be loaded." + echo -e "[ FAIL ] serverlist.csv could not be loaded." exit 1 fi @@ -294,18 +294,18 @@ if [ "${shortname}" == "core" ]; then if [ "${result}" == "${gameservername}" ]; then fn_install_file elif [ "${result}" == "" ]; then - echo "Install canceled" + echo -e "Install canceled" else - echo "[ FAIL ] menu result does not match gameservername" - echo "result: ${result}" - echo "gameservername: ${gameservername}" + echo -e "[ FAIL ] menu result does not match gameservername" + echo -e "result: ${result}" + echo -e "gameservername: ${gameservername}" fi elif [ -n "${userinput}" ]; then fn_server_info if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then fn_install_file else - echo "[ FAIL ] unknown game server" + echo -e "[ FAIL ] unknown game server" fi else fn_install_getopt diff --git a/tests/tests_fctrserver.sh b/tests/tests_fctrserver.sh index 6c74712cc..2496cbcda 100644 --- a/tests/tests_fctrserver.sh +++ b/tests/tests_fctrserver.sh @@ -95,14 +95,14 @@ fn_bootstrap_fetch_file(){ echo -e "FAIL" if [ -f "${lgsmlog}" ]; then echo -e "${remote_fileurl}" | tee -a "${lgsmlog}" - echo "${curlcmd}" | tee -a "${lgsmlog}" + echo -e "${curlcmd}" | tee -a "${lgsmlog}" fi exit 1 else echo -e "OK" fi else - echo "[ FAIL ] Curl is not installed" + echo -e "[ FAIL ] Curl is not installed" exit 1 fi # Make file chmodx if chmodx is set. @@ -160,7 +160,7 @@ fn_install_menu_bash() { fn_print_horizontal menu_options=() while read -r line || [[ -n "${line}" ]]; do - var=$(echo "${line}" | awk -F "," '{print $2 " - " $3}') + var=$(echo -e "${line}" | awk -F "," '{print $2 " - " $3}') menu_options+=( "${var}" ) done < "${options}" menu_options+=( "Cancel" ) @@ -185,8 +185,8 @@ fn_install_menu_whiptail() { IFS="," menu_options=() while read -r line; do - key=$(echo "${line}" | awk -F "," '{print $3}') - val=$(echo "${line}" | awk -F "," '{print $2}') + key=$(echo -e "${line}" | awk -F "," '{print $3}') + val=$(echo -e "${line}" | awk -F "," '{print $2}') menu_options+=( "${val//\"}" "${key//\"}" ) done < "${options}" OPTION=$(${menucmd} --title "${title}" --menu "${caption}" "${height}" "${width}" "${menuheight}" "${menu_options[@]}" 3>&1 1>&2 2>&3) @@ -231,10 +231,10 @@ fn_server_info(){ fn_install_getopt(){ userinput="empty" - echo "Usage: $0 [option]" + echo -e "Usage: $0 [option]" echo -e "" - echo "Installer - Linux Game Server Managers - Version ${version}" - echo "https://linuxgsm.com" + echo -e "Installer - Linux Game Server Managers - Version ${version}" + echo -e "https://linuxgsm.com" echo -e "" echo -e "Commands" echo -e "install\t\t| Select server to install." @@ -255,15 +255,15 @@ fn_install_file(){ cp -R "${selfname}" "${local_filename}" sed -i -e "s/shortname=\"core\"/shortname=\"${shortname}\"/g" "${local_filename}" sed -i -e "s/gameservername=\"core\"/gameservername=\"${gameservername}\"/g" "${local_filename}" - echo "Installed ${gamename} server as ${local_filename}" - echo "" + echo -e "Installed ${gamename} server as ${local_filename}" + echo -e "" if [ ! -d "${serverfiles}" ]; then - echo "./${local_filename} install" + echo -e "./${local_filename} install" else - echo "Remember to check server ports" - echo "./${local_filename} details" + echo -e "Remember to check server ports" + echo -e "./${local_filename} details" fi - echo "" + echo -e "" exit } @@ -271,11 +271,11 @@ fn_install_file(){ if [ "$(whoami)" == "root" ]; then if [ "${userinput}" == "install" ]||[ "${userinput}" == "auto-install" ]||[ "${userinput}" == "i" ]||[ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 fi elif [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 else core_functions.sh @@ -286,7 +286,7 @@ fi # Download the latest serverlist. This is the complete list of all supported servers. fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5" if [ ! -f "${serverlist}" ]; then - echo "[ FAIL ] serverlist.csv could not be loaded." + echo -e "[ FAIL ] serverlist.csv could not be loaded." exit 1 fi @@ -305,18 +305,18 @@ if [ "${shortname}" == "core" ]; then if [ "${result}" == "${gameservername}" ]; then fn_install_file elif [ "${result}" == "" ]; then - echo "Install canceled" + echo -e "Install canceled" else - echo "[ FAIL ] menu result does not match gameservername" - echo "result: ${result}" - echo "gameservername: ${gameservername}" + echo -e "[ FAIL ] menu result does not match gameservername" + echo -e "result: ${result}" + echo -e "gameservername: ${gameservername}" fi elif [ -n "${userinput}" ]; then fn_server_info if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then fn_install_file else - echo "[ FAIL ] unknown game server" + echo -e "[ FAIL ] unknown game server" fi else fn_install_getopt @@ -410,9 +410,9 @@ fn_currentstatus_ts3(){ fn_setstatus(){ fn_currentstatus_tmux echo"" - echo "Required status: ${requiredstatus}" + echo -e "Required status: ${requiredstatus}" counter=0 - echo "Current status: ${currentstatus}" + echo -e "Current status: ${currentstatus}" while [ "${requiredstatus}" != "${currentstatus}" ]; do counter=$((counter+1)) fn_currentstatus_tmux @@ -425,16 +425,16 @@ fn_setstatus(){ fi if [ "${counter}" -gt "5" ]; then currentstatus="FAIL" - echo "Current status: ${currentstatus}" - echo "" - echo "Unable to start or stop server." + echo -e "Current status: ${currentstatus}" + echo -e "" + echo -e "Unable to start or stop server." exit 1 fi done echo -en "New status: ${currentstatus}\\r" echo -e "\n" - echo "Test starting:" - echo "" + echo -e "Test starting:" + echo -e "" } # End of every test will expect the result to either pass or fail @@ -442,88 +442,88 @@ fn_setstatus(){ # if expecting a pass fn_test_result_pass(){ if [ $? != 0 ]; then - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: FAIL" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: PASS" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # if expecting a fail fn_test_result_fail(){ if [ $? == 0 ]; then - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: PASS" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: FAIL" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # test result n/a fn_test_result_na(){ - echo "=================================" - echo "Expected result: N/A" - echo "Actual result: N/A" + echo -e "=================================" + echo -e "Expected result: N/A" + echo -e "Actual result: N/A" fn_print_fail_nl "TEST N/A" } -echo "=================================" -echo "Travis CI Tests" -echo "Linux Game Server Manager" -echo "by Daniel Gibbs" -echo "Contributors: http://goo.gl/qLmitD" -echo "https://linuxgsm.com" -echo "=================================" -echo "" -echo "=================================" -echo "Server Tests" -echo "Using: ${gamename}" -echo "Testing Branch: $TRAVIS_BRANCH" -echo "=================================" - -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 "" +echo -e "=================================" +echo -e "Travis CI Tests" +echo -e "Linux Game Server Manager" +echo -e "by Daniel Gibbs" +echo -e "Contributors: http://goo.gl/qLmitD" +echo -e "https://linuxgsm.com" +echo -e "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests" +echo -e "Using: ${gamename}" +echo -e "Testing Branch: $TRAVIS_BRANCH" +echo -e "=================================" + +echo -e "" +echo -e "0.0 - Pre-test Tasks" +echo -e "==================================================================" +echo -e "Description:" +echo -e "Create log dir's" +echo -e "" + +echo -e "" +echo -e "0.1 - Create log dir's" +echo -e "=================================" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" set -x install_logs.sh ) -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "0.2 - Enable dev-debug" -echo "=================================" -echo "Description:" -echo "Enable dev-debug" -echo "" +echo -e "" +echo -e "0.2 - Enable dev-debug" +echo -e "=================================" +echo -e "Description:" +echo -e "Enable dev-debug" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -531,21 +531,21 @@ echo "" command_dev_debug.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -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: ./${gameservername} start" -echo "" +echo -e "" +echo -e "1.0 - Pre-install tests" +echo -e "==================================================================" +echo -e "" + +echo -e "1.1 - start - no files" +echo -e "=================================" +echo -e "Description:" +echo -e "test script reaction to missing server files." +echo -e "Command: ./${gameservername} start" +echo -e "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then ( @@ -556,20 +556,20 @@ if [ ! -v TRAVIS ]; then ) fn_test_result_fail else - echo "Test bypassed" + echo -e "Test bypassed" fi -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.2 - getopt" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername}" -echo "" +echo -e "" +echo -e "1.2 - getopt" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername}" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -577,17 +577,17 @@ echo "" core_getopt.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.3 - getopt with incorrect args" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername} abc123" -echo "" +echo -e "" +echo -e "1.3 - getopt with incorrect args" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername} abc123" +echo -e "" getopt="abc123" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -596,20 +596,20 @@ getopt="abc123" core_getopt.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "2.0 - Installation" -echo "==================================================================" +echo -e "" +echo -e "2.0 - Installation" +echo -e "==================================================================" -echo "" -echo "2.0 - install" -echo "=================================" -echo "Description:" -echo "install ${gamename} server." -echo "Command: ./${gameservername} auto-install" +echo -e "" +echo -e "2.0 - install" +echo -e "=================================" +echo -e "Description:" +echo -e "install ${gamename} server." +echo -e "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -617,20 +617,20 @@ echo "Command: ./${gameservername} auto-install" fn_autoinstall ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.0 - Start/Stop/Restart Tests" -echo "==================================================================" +echo -e "" +echo -e "3.0 - Start/Stop/Restart Tests" +echo -e "==================================================================" -echo "" -echo "3.1 - start" -echo "=================================" -echo "Description:" -echo "start ${gamename} server." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.1 - start" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -640,16 +640,16 @@ fn_setstatus command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.2 - start - online" -echo "=================================" -echo "Description:" -echo "start ${gamename} server while already running." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.2 - start - online" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server while already running." +echo -e "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -659,16 +659,16 @@ fn_setstatus command_start.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.3 - start - updateonstart" -echo "=================================" -echo "Description:" -echo "will update server on start." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.3 - start - updateonstart" +echo -e "=================================" +echo -e "Description:" +echo -e "will update server on start." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -678,16 +678,16 @@ fn_setstatus updateonstart="on";command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.4 - stop" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.4 - stop" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server." +echo -e "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -697,16 +697,16 @@ fn_setstatus command_stop.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.5 - stop - offline" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server while already stopped." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.5 - stop - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server while already stopped." +echo -e "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -716,16 +716,16 @@ fn_setstatus command_stop.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.6 - restart" -echo "=================================" -echo "Description:" -echo "restart ${gamename}." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.6 - restart" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename}." +echo -e "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -735,16 +735,16 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.7 - restart - offline" -echo "=================================" -echo "Description:" -echo "restart ${gamename} while already stopped." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.7 - restart - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename} while already stopped." +echo -e "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -754,20 +754,20 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.0 - Update Tests" -echo "==================================================================" +echo -e "" +echo -e "4.0 - Update Tests" +echo -e "==================================================================" -echo "" -echo "4.1 - update" -echo "=================================" -echo "Description:" -echo "check for updates." -echo "Command: ./${gameservername} update" +echo -e "" +echo -e "4.1 - update" +echo -e "=================================" +echo -e "Description:" +echo -e "check for updates." +echo -e "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -777,23 +777,23 @@ fn_setstatus command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" 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: ./${gameservername} monitor" +echo -e "" +echo -e "5.0 - Monitor Tests" +echo -e "==================================================================" +echo -e "" +echo -e "Server IP - Port: ${ip}:${port}" +echo -e "Server IP - Query Port: ${ip}:${queryport}" + +echo -e "" +echo -e "5.1 - monitor - online" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor server while already running." +echo -e "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -803,16 +803,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.2 - monitor - offline - with lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.2 - monitor - offline - with lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -824,16 +824,16 @@ date '+%s' > "${rootdir}/${lockselfname}" command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.3 - monitor - offline - no lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.3 - monitor - offline - no lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -843,16 +843,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.4 - test-alert" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} test-alert" +echo -e "" +echo -e "5.4 - test-alert" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} test-alert" requiredstatus="OFFLINE" fn_setstatus ( @@ -862,20 +862,20 @@ fn_setstatus command_test_alert.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.0 - Details Tests" -echo "==================================================================" +echo -e "" +echo -e "6.0 - Details Tests" +echo -e "==================================================================" -echo "" -echo "6.1 - details" -echo "=================================" -echo "Description:" -echo "display details." -echo "Command: ./${gameservername} details" +echo -e "" +echo -e "6.1 - details" +echo -e "=================================" +echo -e "Description:" +echo -e "display details." +echo -e "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -885,16 +885,16 @@ fn_setstatus command_details.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.2 - postdetails" -echo "=================================" -echo "Description:" -echo "post details." -echo "Command: ./${gameservername} postdetails" +echo -e "" +echo -e "6.2 - postdetails" +echo -e "=================================" +echo -e "Description:" +echo -e "post details." +echo -e "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -904,39 +904,39 @@ fn_setstatus command_postdetails.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "7.0 - Backup Tests" -echo "==================================================================" +echo -e "" +echo -e "7.0 - Backup Tests" +echo -e "==================================================================" -echo "" -echo "7.1 - backup" -echo "=================================" -echo "Description:" -echo "run a backup." -echo "Command: ./${gameservername} backup" +echo -e "" +echo -e "7.1 - backup" +echo -e "=================================" +echo -e "Description:" +echo -e "run a backup." +echo -e "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus -echo "test de-activated until issue #1839 fixed" +echo -e "test de-activated until issue #1839 fixed" #(command_backup.sh) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.0 - Development Tools Tests" -echo "==================================================================" +echo -e "" +echo -e "8.0 - Development Tools Tests" +echo -e "==================================================================" -echo "" -echo "8.1 - dev - detect glibc" -echo "=================================" -echo "Description:" -echo "detect glibc." -echo "Command: ./${gameservername} detect-glibc" +echo -e "" +echo -e "8.1 - dev - detect glibc" +echo -e "=================================" +echo -e "Description:" +echo -e "detect glibc." +echo -e "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -946,16 +946,16 @@ fn_setstatus command_dev_detect_glibc.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.2 - dev - detect ldd" -echo "=================================" -echo "Description:" -echo "detect ldd." -echo "Command: ./${gameservername} detect-ldd" +echo -e "" +echo -e "8.2 - dev - detect ldd" +echo -e "=================================" +echo -e "Description:" +echo -e "detect ldd." +echo -e "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -965,16 +965,16 @@ fn_setstatus command_dev_detect_ldd.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.3 - dev - detect deps" -echo "=================================" -echo "Description:" -echo "detect dependencies." -echo "Command: ./${gameservername} detect-deps" +echo -e "" +echo -e "8.3 - dev - detect deps" +echo -e "=================================" +echo -e "Description:" +echo -e "detect dependencies." +echo -e "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -984,16 +984,16 @@ fn_setstatus command_dev_detect_deps.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" 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" +echo -e "" +echo -e "8.4 - dev - query-raw" +echo -e "=================================" +echo -e "Description:" +echo -e "raw query output." +echo -e "Command: ./${gameservername} query-raw" requiredstatus="ONLINE" fn_setstatus ( @@ -1003,15 +1003,15 @@ fn_setstatus command_dev_query_raw.sh ) fn_test_result_na -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "=================================" -echo "Server Tests - Complete!" -echo "Using: ${gamename}" -echo "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests - Complete!" +echo -e "Using: ${gamename}" +echo -e "=================================" requiredstatus="OFFLINE" fn_setstatus fn_print_info "Tidying up directories." diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh index 8aa9e09cc..973ab7eb2 100644 --- a/tests/tests_jc2server.sh +++ b/tests/tests_jc2server.sh @@ -93,14 +93,14 @@ fn_bootstrap_fetch_file(){ echo -e "FAIL" if [ -f "${lgsmlog}" ]; then echo -e "${remote_fileurl}" | tee -a "${lgsmlog}" - echo "${curlcmd}" | tee -a "${lgsmlog}" + echo -e "${curlcmd}" | tee -a "${lgsmlog}" fi exit 1 else echo -e "OK" fi else - echo "[ FAIL ] Curl is not installed" + echo -e "[ FAIL ] Curl is not installed" exit 1 fi # Make file chmodx if chmodx is set. @@ -158,7 +158,7 @@ fn_install_menu_bash() { fn_print_horizontal menu_options=() while read -r line || [[ -n "${line}" ]]; do - var=$(echo "${line}" | awk -F "," '{print $2 " - " $3}') + var=$(echo -e "${line}" | awk -F "," '{print $2 " - " $3}') menu_options+=( "${var}" ) done < "${options}" menu_options+=( "Cancel" ) @@ -183,8 +183,8 @@ fn_install_menu_whiptail() { IFS="," menu_options=() while read -r line; do - key=$(echo "${line}" | awk -F "," '{print $3}') - val=$(echo "${line}" | awk -F "," '{print $2}') + key=$(echo -e "${line}" | awk -F "," '{print $3}') + val=$(echo -e "${line}" | awk -F "," '{print $2}') menu_options+=( "${val//\"}" "${key//\"}" ) done < "${options}" OPTION=$(${menucmd} --title "${title}" --menu "${caption}" "${height}" "${width}" "${menuheight}" "${menu_options[@]}" 3>&1 1>&2 2>&3) @@ -229,10 +229,10 @@ fn_server_info(){ fn_install_getopt(){ userinput="empty" - echo "Usage: $0 [option]" + echo -e "Usage: $0 [option]" echo -e "" - echo "Installer - Linux Game Server Managers - Version ${version}" - echo "https://linuxgsm.com" + echo -e "Installer - Linux Game Server Managers - Version ${version}" + echo -e "https://linuxgsm.com" echo -e "" echo -e "Commands" echo -e "install\t\t| Select server to install." @@ -253,15 +253,15 @@ fn_install_file(){ cp -R "${selfname}" "${local_filename}" sed -i -e "s/shortname=\"core\"/shortname=\"${shortname}\"/g" "${local_filename}" sed -i -e "s/gameservername=\"core\"/gameservername=\"${gameservername}\"/g" "${local_filename}" - echo "Installed ${gamename} server as ${local_filename}" - echo "" + echo -e "Installed ${gamename} server as ${local_filename}" + echo -e "" if [ ! -d "${serverfiles}" ]; then - echo "./${local_filename} install" + echo -e "./${local_filename} install" else - echo "Remember to check server ports" - echo "./${local_filename} details" + echo -e "Remember to check server ports" + echo -e "./${local_filename} details" fi - echo "" + echo -e "" exit } @@ -269,11 +269,11 @@ fn_install_file(){ if [ "$(whoami)" == "root" ]; then if [ "${userinput}" == "install" ]||[ "${userinput}" == "auto-install" ]||[ "${userinput}" == "i" ]||[ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 fi elif [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 else core_functions.sh @@ -286,7 +286,7 @@ if [ "${shortname}" == "core" ]; then # Download the latest serverlist. This is the complete list of all supported servers. fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5" if [ ! -f "${serverlist}" ]; then - echo "[ FAIL ] serverlist.csv could not be loaded." + echo -e "[ FAIL ] serverlist.csv could not be loaded." exit 1 fi @@ -303,18 +303,18 @@ if [ "${shortname}" == "core" ]; then if [ "${result}" == "${gameservername}" ]; then fn_install_file elif [ "${result}" == "" ]; then - echo "Install canceled" + echo -e "Install canceled" else - echo "[ FAIL ] menu result does not match gameservername" - echo "result: ${result}" - echo "gameservername: ${gameservername}" + echo -e "[ FAIL ] menu result does not match gameservername" + echo -e "result: ${result}" + echo -e "gameservername: ${gameservername}" fi elif [ -n "${userinput}" ]; then fn_server_info if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then fn_install_file else - echo "[ FAIL ] unknown game server" + echo -e "[ FAIL ] unknown game server" fi else fn_install_getopt @@ -408,9 +408,9 @@ fn_currentstatus_ts3(){ fn_setstatus(){ fn_currentstatus_tmux echo"" - echo "Required status: ${requiredstatus}" + echo -e "Required status: ${requiredstatus}" counter=0 - echo "Current status: ${currentstatus}" + echo -e "Current status: ${currentstatus}" while [ "${requiredstatus}" != "${currentstatus}" ]; do counter=$((counter+1)) fn_currentstatus_tmux @@ -423,16 +423,16 @@ fn_setstatus(){ fi if [ "${counter}" -gt "5" ]; then currentstatus="FAIL" - echo "Current status: ${currentstatus}" - echo "" - echo "Unable to start or stop server." + echo -e "Current status: ${currentstatus}" + echo -e "" + echo -e "Unable to start or stop server." exit 1 fi done echo -en "New status: ${currentstatus}\\r" echo -e "\n" - echo "Test starting:" - echo "" + echo -e "Test starting:" + echo -e "" } # End of every test will expect the result to either pass or fail @@ -440,88 +440,88 @@ fn_setstatus(){ # if expecting a pass fn_test_result_pass(){ if [ $? != 0 ]; then - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: FAIL" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: PASS" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # if expecting a fail fn_test_result_fail(){ if [ $? == 0 ]; then - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: PASS" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: FAIL" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # test result n/a fn_test_result_na(){ - echo "=================================" - echo "Expected result: N/A" - echo "Actual result: N/A" + echo -e "=================================" + echo -e "Expected result: N/A" + echo -e "Actual result: N/A" fn_print_fail_nl "TEST N/A" } -echo "=================================" -echo "Travis CI Tests" -echo "Linux Game Server Manager" -echo "by Daniel Gibbs" -echo "Contributors: http://goo.gl/qLmitD" -echo "https://linuxgsm.com" -echo "=================================" -echo "" -echo "=================================" -echo "Server Tests" -echo "Using: ${gamename}" -echo "Testing Branch: $TRAVIS_BRANCH" -echo "=================================" - -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 "" +echo -e "=================================" +echo -e "Travis CI Tests" +echo -e "Linux Game Server Manager" +echo -e "by Daniel Gibbs" +echo -e "Contributors: http://goo.gl/qLmitD" +echo -e "https://linuxgsm.com" +echo -e "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests" +echo -e "Using: ${gamename}" +echo -e "Testing Branch: $TRAVIS_BRANCH" +echo -e "=================================" + +echo -e "" +echo -e "0.0 - Pre-test Tasks" +echo -e "==================================================================" +echo -e "Description:" +echo -e "Create log dir's" +echo -e "" + +echo -e "" +echo -e "0.1 - Create log dir's" +echo -e "=================================" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" set -x install_logs.sh ) -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "0.2 - Enable dev-debug" -echo "=================================" -echo "Description:" -echo "Enable dev-debug" -echo "" +echo -e "" +echo -e "0.2 - Enable dev-debug" +echo -e "=================================" +echo -e "Description:" +echo -e "Enable dev-debug" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -529,21 +529,21 @@ echo "" command_dev_debug.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -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: ./${gameservername} start" -echo "" +echo -e "" +echo -e "1.0 - Pre-install tests" +echo -e "==================================================================" +echo -e "" + +echo -e "1.1 - start - no files" +echo -e "=================================" +echo -e "Description:" +echo -e "test script reaction to missing server files." +echo -e "Command: ./${gameservername} start" +echo -e "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then ( @@ -554,20 +554,20 @@ if [ ! -v TRAVIS ]; then ) fn_test_result_fail else - echo "Test bypassed" + echo -e "Test bypassed" fi -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.2 - getopt" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername}" -echo "" +echo -e "" +echo -e "1.2 - getopt" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername}" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -575,17 +575,17 @@ echo "" core_getopt.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.3 - getopt with incorrect args" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername} abc123" -echo "" +echo -e "" +echo -e "1.3 - getopt with incorrect args" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername} abc123" +echo -e "" getopt="abc123" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -594,20 +594,20 @@ getopt="abc123" core_getopt.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "2.0 - Installation" -echo "==================================================================" +echo -e "" +echo -e "2.0 - Installation" +echo -e "==================================================================" -echo "" -echo "2.0 - install" -echo "=================================" -echo "Description:" -echo "install ${gamename} server." -echo "Command: ./${gameservername} auto-install" +echo -e "" +echo -e "2.0 - install" +echo -e "=================================" +echo -e "Description:" +echo -e "install ${gamename} server." +echo -e "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -615,20 +615,20 @@ echo "Command: ./${gameservername} auto-install" fn_autoinstall ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.0 - Start/Stop/Restart Tests" -echo "==================================================================" +echo -e "" +echo -e "3.0 - Start/Stop/Restart Tests" +echo -e "==================================================================" -echo "" -echo "3.1 - start" -echo "=================================" -echo "Description:" -echo "start ${gamename} server." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.1 - start" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -638,16 +638,16 @@ fn_setstatus command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.2 - start - online" -echo "=================================" -echo "Description:" -echo "start ${gamename} server while already running." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.2 - start - online" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server while already running." +echo -e "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -657,16 +657,16 @@ fn_setstatus command_start.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.3 - start - updateonstart" -echo "=================================" -echo "Description:" -echo "will update server on start." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.3 - start - updateonstart" +echo -e "=================================" +echo -e "Description:" +echo -e "will update server on start." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -676,16 +676,16 @@ fn_setstatus updateonstart="on";command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.4 - stop" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.4 - stop" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server." +echo -e "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -695,16 +695,16 @@ fn_setstatus command_stop.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.5 - stop - offline" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server while already stopped." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.5 - stop - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server while already stopped." +echo -e "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -714,16 +714,16 @@ fn_setstatus command_stop.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.6 - restart" -echo "=================================" -echo "Description:" -echo "restart ${gamename}." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.6 - restart" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename}." +echo -e "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -733,16 +733,16 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.7 - restart - offline" -echo "=================================" -echo "Description:" -echo "restart ${gamename} while already stopped." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.7 - restart - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename} while already stopped." +echo -e "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -752,20 +752,20 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.0 - Update Tests" -echo "==================================================================" +echo -e "" +echo -e "4.0 - Update Tests" +echo -e "==================================================================" -echo "" -echo "4.1 - update" -echo "=================================" -echo "Description:" -echo "check for updates." -echo "Command: ./${gameservername} update" +echo -e "" +echo -e "4.1 - update" +echo -e "=================================" +echo -e "Description:" +echo -e "check for updates." +echo -e "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -775,16 +775,16 @@ fn_setstatus command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.2 - update - change buildid" -echo "=================================" -echo "Description:" -echo "change the buildid tricking SteamCMD to update." -echo "Command: ./jc2server update" +echo -e "" +echo -e "4.2 - update - change buildid" +echo -e "=================================" +echo -e "Description:" +echo -e "change the buildid tricking SteamCMD to update." +echo -e "Command: ./jc2server update" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "changed buildid to 0." @@ -796,16 +796,16 @@ sed -i 's/[0-9]\+/0/' "${serverfiles}/steamapps/appmanifest_${appid}.acf" command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.3 - update - change buildid - online" -echo "=================================" -echo "Description:" -echo "change the buildid tricking SteamCMD to update server while already running." -echo "Command: ./jc2server update" +echo -e "" +echo -e "4.3 - update - change buildid - online" +echo -e "=================================" +echo -e "Description:" +echo -e "change the buildid tricking SteamCMD to update server while already running." +echo -e "Command: ./jc2server update" requiredstatus="ONLINE" fn_setstatus fn_print_info_nl "changed buildid to 0." @@ -817,16 +817,16 @@ sed -i 's/[0-9]\+/0/' "${serverfiles}/steamapps/appmanifest_${appid}.acf" command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.4 - update - remove appmanifest file" -echo "=================================" -echo "Description:" -echo "removing appmanifest file will cause script to repair." -echo "Command: ./jc2server update" +echo -e "" +echo -e "4.4 - update - remove appmanifest file" +echo -e "=================================" +echo -e "Description:" +echo -e "removing appmanifest file will cause script to repair." +echo -e "Command: ./jc2server update" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "removed appmanifest_${appid}.acf." @@ -838,16 +838,16 @@ rm --verbose "${serverfiles}/steamapps/appmanifest_${appid}.acf" command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.5 - force-update" -echo "=================================" -echo "Description:" -echo "force-update bypassing update check." -echo "Command: ./jc2server force-update" +echo -e "" +echo -e "4.5 - force-update" +echo -e "=================================" +echo -e "Description:" +echo -e "force-update bypassing update check." +echo -e "Command: ./jc2server force-update" requiredstatus="OFFLINE" fn_setstatus ( @@ -857,16 +857,16 @@ fn_setstatus forceupdate=1;command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.6 - force-update - online" -echo "=================================" -echo "Description:" -echo "force-update bypassing update check server while already running." -echo "Command: ./jc2server force-update" +echo -e "" +echo -e "4.6 - force-update - online" +echo -e "=================================" +echo -e "Description:" +echo -e "force-update bypassing update check server while already running." +echo -e "Command: ./jc2server force-update" requiredstatus="ONLINE" fn_setstatus ( @@ -876,16 +876,16 @@ fn_setstatus forceupdate=1;command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.7 - validate" -echo "=================================" -echo "Description:" -echo "validate server files." -echo "Command: ./jc2server validate" +echo -e "" +echo -e "4.7 - validate" +echo -e "=================================" +echo -e "Description:" +echo -e "validate server files." +echo -e "Command: ./jc2server validate" requiredstatus="OFFLINE" fn_setstatus ( @@ -895,17 +895,17 @@ fn_setstatus command_validate.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.8 - validate - online" -echo "=================================" -echo "Description:" -echo "validate server files while server already running." -echo "" -echo "Command: ./jc2server validate" +echo -e "" +echo -e "4.8 - validate - online" +echo -e "=================================" +echo -e "Description:" +echo -e "validate server files while server already running." +echo -e "" +echo -e "Command: ./jc2server validate" requiredstatus="ONLINE" fn_setstatus ( @@ -915,37 +915,37 @@ fn_setstatus command_validate.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "Inserting IP address" -echo "=================================" -echo "Description:" -echo "Inserting Travis IP in to config." -echo "Allows monitor to work" +echo -e "" +echo -e "Inserting IP address" +echo -e "=================================" +echo -e "Description:" +echo -e "Inserting Travis IP in to config." +echo -e "Allows monitor to work" if [ "$(ip -o -4 addr|grep eth0)" ]; then travisip=$(ip -o -4 addr | grep eth0 | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | grep -v 127.0.0) else travisip=$(ip -o -4 addr | grep ens | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | sort -u | grep -v 127.0.0) fi 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: ./${gameservername} monitor" +echo -e "IP: ${travisip}" + +echo -e "" +echo -e "5.0 - Monitor Tests" +echo -e "==================================================================" +echo -e "" +echo -e "Server IP - Port: ${ip}:${port}" +echo -e "Server IP - Query Port: ${ip}:${queryport}" + +echo -e "" +echo -e "5.1 - monitor - online" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor server while already running." +echo -e "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -955,16 +955,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.2 - monitor - offline - with lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.2 - monitor - offline - with lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -976,16 +976,16 @@ date '+%s' > "${rootdir}/${lockselfname}" command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.3 - monitor - offline - no lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.3 - monitor - offline - no lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -995,16 +995,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.4 - test-alert" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} test-alert" +echo -e "" +echo -e "5.4 - test-alert" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} test-alert" requiredstatus="OFFLINE" fn_setstatus cp "${servercfgfullpath}" "config.lua" @@ -1016,25 +1016,25 @@ sed -i 's/[0-9]\+/0/' "${servercfgfullpath}" command_test_alert.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" +echo -e "" fn_print_info_nl "Re-generating ${servercfg}." cp -v "config.lua" "${servercfgfullpath}" -echo "=================================" - -echo "" -echo "6.0 - Details Tests" -echo "==================================================================" - -echo "" -echo "6.1 - details" -echo "=================================" -echo "Description:" -echo "display details." -echo "Command: ./${gameservername} details" +echo -e "=================================" + +echo -e "" +echo -e "6.0 - Details Tests" +echo -e "==================================================================" + +echo -e "" +echo -e "6.1 - details" +echo -e "=================================" +echo -e "Description:" +echo -e "display details." +echo -e "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -1044,16 +1044,16 @@ fn_setstatus command_details.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.2 - postdetails" -echo "=================================" -echo "Description:" -echo "post details." -echo "Command: ./${gameservername} postdetails" +echo -e "" +echo -e "6.2 - postdetails" +echo -e "=================================" +echo -e "Description:" +echo -e "post details." +echo -e "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -1063,39 +1063,39 @@ fn_setstatus command_postdetails.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "7.0 - Backup Tests" -echo "==================================================================" +echo -e "" +echo -e "7.0 - Backup Tests" +echo -e "==================================================================" -echo "" -echo "7.1 - backup" -echo "=================================" -echo "Description:" -echo "run a backup." -echo "Command: ./${gameservername} backup" +echo -e "" +echo -e "7.1 - backup" +echo -e "=================================" +echo -e "Description:" +echo -e "run a backup." +echo -e "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus -echo "test de-activated until issue #1839 fixed" +echo -e "test de-activated until issue #1839 fixed" #(command_backup.sh) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.0 - Development Tools Tests" -echo "==================================================================" +echo -e "" +echo -e "8.0 - Development Tools Tests" +echo -e "==================================================================" -echo "" -echo "8.1 - dev - detect glibc" -echo "=================================" -echo "Description:" -echo "detect glibc." -echo "Command: ./${gameservername} detect-glibc" +echo -e "" +echo -e "8.1 - dev - detect glibc" +echo -e "=================================" +echo -e "Description:" +echo -e "detect glibc." +echo -e "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -1105,16 +1105,16 @@ fn_setstatus command_dev_detect_glibc.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.2 - dev - detect ldd" -echo "=================================" -echo "Description:" -echo "detect ldd." -echo "Command: ./${gameservername} detect-ldd" +echo -e "" +echo -e "8.2 - dev - detect ldd" +echo -e "=================================" +echo -e "Description:" +echo -e "detect ldd." +echo -e "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -1124,16 +1124,16 @@ fn_setstatus command_dev_detect_ldd.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.3 - dev - detect deps" -echo "=================================" -echo "Description:" -echo "detect dependencies." -echo "Command: ./${gameservername} detect-deps" +echo -e "" +echo -e "8.3 - dev - detect deps" +echo -e "=================================" +echo -e "Description:" +echo -e "detect dependencies." +echo -e "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -1143,16 +1143,16 @@ fn_setstatus command_dev_detect_deps.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" 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" +echo -e "" +echo -e "8.4 - dev - query-raw" +echo -e "=================================" +echo -e "Description:" +echo -e "raw query output." +echo -e "Command: ./${gameservername} query-raw" requiredstatus="ONLINE" fn_setstatus ( @@ -1162,15 +1162,15 @@ fn_setstatus command_dev_query_raw.sh ) fn_test_result_na -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "=================================" -echo "Server Tests - Complete!" -echo "Using: ${gamename}" -echo "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests - Complete!" +echo -e "Using: ${gamename}" +echo -e "=================================" requiredstatus="OFFLINE" fn_setstatus fn_print_info "Tidying up directories." diff --git a/tests/tests_mcserver.sh b/tests/tests_mcserver.sh index df76274fb..0ddb2143b 100644 --- a/tests/tests_mcserver.sh +++ b/tests/tests_mcserver.sh @@ -93,14 +93,14 @@ fn_bootstrap_fetch_file(){ echo -e "FAIL" if [ -f "${lgsmlog}" ]; then echo -e "${remote_fileurl}" | tee -a "${lgsmlog}" - echo "${curlcmd}" | tee -a "${lgsmlog}" + echo -e "${curlcmd}" | tee -a "${lgsmlog}" fi exit 1 else echo -e "OK" fi else - echo "[ FAIL ] Curl is not installed" + echo -e "[ FAIL ] Curl is not installed" exit 1 fi # Make file chmodx if chmodx is set. @@ -158,7 +158,7 @@ fn_install_menu_bash() { fn_print_horizontal menu_options=() while read -r line || [[ -n "${line}" ]]; do - var=$(echo "${line}" | awk -F "," '{print $2 " - " $3}') + var=$(echo -e "${line}" | awk -F "," '{print $2 " - " $3}') menu_options+=( "${var}" ) done < "${options}" menu_options+=( "Cancel" ) @@ -183,8 +183,8 @@ fn_install_menu_whiptail() { IFS="," menu_options=() while read -r line; do - key=$(echo "${line}" | awk -F "," '{print $3}') - val=$(echo "${line}" | awk -F "," '{print $2}') + key=$(echo -e "${line}" | awk -F "," '{print $3}') + val=$(echo -e "${line}" | awk -F "," '{print $2}') menu_options+=( "${val//\"}" "${key//\"}" ) done < "${options}" OPTION=$(${menucmd} --title "${title}" --menu "${caption}" "${height}" "${width}" "${menuheight}" "${menu_options[@]}" 3>&1 1>&2 2>&3) @@ -229,10 +229,10 @@ fn_server_info(){ fn_install_getopt(){ userinput="empty" - echo "Usage: $0 [option]" + echo -e "Usage: $0 [option]" echo -e "" - echo "Installer - Linux Game Server Managers - Version ${version}" - echo "https://linuxgsm.com" + echo -e "Installer - Linux Game Server Managers - Version ${version}" + echo -e "https://linuxgsm.com" echo -e "" echo -e "Commands" echo -e "install\t\t| Select server to install." @@ -253,15 +253,15 @@ fn_install_file(){ cp -R "${selfname}" "${local_filename}" sed -i -e "s/shortname=\"core\"/shortname=\"${shortname}\"/g" "${local_filename}" sed -i -e "s/gameservername=\"core\"/gameservername=\"${gameservername}\"/g" "${local_filename}" - echo "Installed ${gamename} server as ${local_filename}" - echo "" + echo -e "Installed ${gamename} server as ${local_filename}" + echo -e "" if [ ! -d "${serverfiles}" ]; then - echo "./${local_filename} install" + echo -e "./${local_filename} install" else - echo "Remember to check server ports" - echo "./${local_filename} details" + echo -e "Remember to check server ports" + echo -e "./${local_filename} details" fi - echo "" + echo -e "" exit } @@ -269,11 +269,11 @@ fn_install_file(){ if [ "$(whoami)" == "root" ]; then if [ "${userinput}" == "install" ]||[ "${userinput}" == "auto-install" ]||[ "${userinput}" == "i" ]||[ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 fi elif [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 else core_functions.sh @@ -286,7 +286,7 @@ if [ "${shortname}" == "core" ]; then # Download the latest serverlist. This is the complete list of all supported servers. fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5" if [ ! -f "${serverlist}" ]; then - echo "[ FAIL ] serverlist.csv could not be loaded." + echo -e "[ FAIL ] serverlist.csv could not be loaded." exit 1 fi @@ -303,18 +303,18 @@ if [ "${shortname}" == "core" ]; then if [ "${result}" == "${gameservername}" ]; then fn_install_file elif [ "${result}" == "" ]; then - echo "Install canceled" + echo -e "Install canceled" else - echo "[ FAIL ] menu result does not match gameservername" - echo "result: ${result}" - echo "gameservername: ${gameservername}" + echo -e "[ FAIL ] menu result does not match gameservername" + echo -e "result: ${result}" + echo -e "gameservername: ${gameservername}" fi elif [ -n "${userinput}" ]; then fn_server_info if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then fn_install_file else - echo "[ FAIL ] unknown game server" + echo -e "[ FAIL ] unknown game server" fi else fn_install_getopt @@ -408,9 +408,9 @@ fn_currentstatus_ts3(){ fn_setstatus(){ fn_currentstatus_tmux echo"" - echo "Required status: ${requiredstatus}" + echo -e "Required status: ${requiredstatus}" counter=0 - echo "Current status: ${currentstatus}" + echo -e "Current status: ${currentstatus}" while [ "${requiredstatus}" != "${currentstatus}" ]; do counter=$((counter+1)) fn_currentstatus_tmux @@ -423,16 +423,16 @@ fn_setstatus(){ fi if [ "${counter}" -gt "5" ]; then currentstatus="FAIL" - echo "Current status: ${currentstatus}" - echo "" - echo "Unable to start or stop server." + echo -e "Current status: ${currentstatus}" + echo -e "" + echo -e "Unable to start or stop server." exit 1 fi done echo -en "New status: ${currentstatus}\\r" echo -e "\n" - echo "Test starting:" - echo "" + echo -e "Test starting:" + echo -e "" } # End of every test will expect the result to either pass or fail @@ -440,88 +440,88 @@ fn_setstatus(){ # if expecting a pass fn_test_result_pass(){ if [ $? != 0 ]; then - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: FAIL" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: PASS" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # if expecting a fail fn_test_result_fail(){ if [ $? == 0 ]; then - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: PASS" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: FAIL" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # test result n/a fn_test_result_na(){ - echo "=================================" - echo "Expected result: N/A" - echo "Actual result: N/A" + echo -e "=================================" + echo -e "Expected result: N/A" + echo -e "Actual result: N/A" fn_print_fail_nl "TEST N/A" } -echo "=================================" -echo "Travis CI Tests" -echo "Linux Game Server Manager" -echo "by Daniel Gibbs" -echo "Contributors: http://goo.gl/qLmitD" -echo "https://linuxgsm.com" -echo "=================================" -echo "" -echo "=================================" -echo "Server Tests" -echo "Using: ${gamename}" -echo "Testing Branch: $TRAVIS_BRANCH" -echo "=================================" - -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 "" +echo -e "=================================" +echo -e "Travis CI Tests" +echo -e "Linux Game Server Manager" +echo -e "by Daniel Gibbs" +echo -e "Contributors: http://goo.gl/qLmitD" +echo -e "https://linuxgsm.com" +echo -e "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests" +echo -e "Using: ${gamename}" +echo -e "Testing Branch: $TRAVIS_BRANCH" +echo -e "=================================" + +echo -e "" +echo -e "0.0 - Pre-test Tasks" +echo -e "==================================================================" +echo -e "Description:" +echo -e "Create log dir's" +echo -e "" + +echo -e "" +echo -e "0.1 - Create log dir's" +echo -e "=================================" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" set -x install_logs.sh ) -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "0.2 - Enable dev-debug" -echo "=================================" -echo "Description:" -echo "Enable dev-debug" -echo "" +echo -e "" +echo -e "0.2 - Enable dev-debug" +echo -e "=================================" +echo -e "Description:" +echo -e "Enable dev-debug" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -529,21 +529,21 @@ echo "" command_dev_debug.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -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: ./${gameservername} start" -echo "" +echo -e "" +echo -e "1.0 - Pre-install tests" +echo -e "==================================================================" +echo -e "" + +echo -e "1.1 - start - no files" +echo -e "=================================" +echo -e "Description:" +echo -e "test script reaction to missing server files." +echo -e "Command: ./${gameservername} start" +echo -e "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then ( @@ -554,20 +554,20 @@ if [ ! -v TRAVIS ]; then ) fn_test_result_fail else - echo "Test bypassed" + echo -e "Test bypassed" fi -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.2 - getopt" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername}" -echo "" +echo -e "" +echo -e "1.2 - getopt" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername}" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -575,17 +575,17 @@ echo "" core_getopt.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.3 - getopt with incorrect args" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername} abc123" -echo "" +echo -e "" +echo -e "1.3 - getopt with incorrect args" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername} abc123" +echo -e "" getopt="abc123" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -594,20 +594,20 @@ getopt="abc123" core_getopt.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "2.0 - Installation" -echo "==================================================================" +echo -e "" +echo -e "2.0 - Installation" +echo -e "==================================================================" -echo "" -echo "2.0 - install" -echo "=================================" -echo "Description:" -echo "install ${gamename} server." -echo "Command: ./${gameservername} auto-install" +echo -e "" +echo -e "2.0 - install" +echo -e "=================================" +echo -e "Description:" +echo -e "install ${gamename} server." +echo -e "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -615,20 +615,20 @@ echo "Command: ./${gameservername} auto-install" fn_autoinstall ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.0 - Start/Stop/Restart Tests" -echo "==================================================================" +echo -e "" +echo -e "3.0 - Start/Stop/Restart Tests" +echo -e "==================================================================" -echo "" -echo "3.1 - start" -echo "=================================" -echo "Description:" -echo "start ${gamename} server." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.1 - start" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -638,16 +638,16 @@ fn_setstatus command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.2 - start - online" -echo "=================================" -echo "Description:" -echo "start ${gamename} server while already running." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.2 - start - online" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server while already running." +echo -e "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -657,16 +657,16 @@ fn_setstatus command_start.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.3 - start - updateonstart" -echo "=================================" -echo "Description:" -echo "will update server on start." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.3 - start - updateonstart" +echo -e "=================================" +echo -e "Description:" +echo -e "will update server on start." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -676,25 +676,25 @@ fn_setstatus updateonstart="on";command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "30s Pause" -echo "=================================" -echo "Description:" -echo "give time for server to fully start." -echo "Command: sleep 30" +echo -e "" +echo -e "30s Pause" +echo -e "=================================" +echo -e "Description:" +echo -e "give time for server to fully start." +echo -e "Command: sleep 30" requiredstatus="ONLINE" fn_setstatus sleep 30 -echo "" -echo "3.4 - stop" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.4 - stop" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server." +echo -e "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -704,16 +704,16 @@ fn_setstatus command_stop.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.5 - stop - offline" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server while already stopped." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.5 - stop - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server while already stopped." +echo -e "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -723,16 +723,16 @@ fn_setstatus command_stop.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.6 - restart" -echo "=================================" -echo "Description:" -echo "restart ${gamename}." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.6 - restart" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename}." +echo -e "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -742,16 +742,16 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.7 - restart - offline" -echo "=================================" -echo "Description:" -echo "restart ${gamename} while already stopped." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.7 - restart - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename} while already stopped." +echo -e "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -761,20 +761,20 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.0 - Update Tests" -echo "==================================================================" +echo -e "" +echo -e "4.0 - Update Tests" +echo -e "==================================================================" -echo "" -echo "4.1 - update" -echo "=================================" -echo "Description:" -echo "check for updates." -echo "Command: ./${gameservername} update" +echo -e "" +echo -e "4.1 - update" +echo -e "=================================" +echo -e "Description:" +echo -e "check for updates." +echo -e "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -784,47 +784,47 @@ fn_setstatus command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "Inserting IP address" -echo "=================================" -echo "Description:" -echo "Inserting Travis IP in to config." -echo "Allows monitor to work" +echo -e "" +echo -e "Inserting IP address" +echo -e "=================================" +echo -e "Description:" +echo -e "Inserting Travis IP in to config." +echo -e "Allows monitor to work" if [ "$(ip -o -4 addr|grep eth0)" ]; then travisip=$(ip -o -4 addr | grep eth0 | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | grep -v 127.0.0) else travisip=$(ip -o -4 addr | grep ens | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | sort -u | grep -v 127.0.0) fi sed -i "/server-ip=/c\server-ip=${travisip}" "${serverfiles}/server.properties" -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 "30s Pause" -echo "=================================" -echo "Description:" -echo "give time for server to fully start." -echo "Command: sleep 30" +echo -e "IP: ${travisip}" + +echo -e "" +echo -e "5.0 - Monitor Tests" +echo -e "==================================================================" +echo -e "" +echo -e "Server IP - Port: ${ip}:${port}" +echo -e "Server IP - Query Port: ${ip}:${queryport}" + +echo -e "" +echo -e "30s Pause" +echo -e "=================================" +echo -e "Description:" +echo -e "give time for server to fully start." +echo -e "Command: sleep 30" requiredstatus="ONLINE" fn_setstatus sleep 30 -echo "" -echo "5.1 - monitor - online" -echo "=================================" -echo "Description:" -echo "run monitor server while already running." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.1 - monitor - online" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor server while already running." +echo -e "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -834,16 +834,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.2 - monitor - offline - with lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.2 - monitor - offline - with lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -855,16 +855,16 @@ date '+%s' > "${rootdir}/${lockselfname}" command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.3 - monitor - offline - no lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.3 - monitor - offline - no lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -874,16 +874,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.4 - test-alert" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} test-alert" +echo -e "" +echo -e "5.4 - test-alert" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} test-alert" requiredstatus="OFFLINE" fn_setstatus ( @@ -893,20 +893,20 @@ fn_setstatus command_test_alert.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.0 - Details Tests" -echo "==================================================================" +echo -e "" +echo -e "6.0 - Details Tests" +echo -e "==================================================================" -echo "" -echo "6.1 - details" -echo "=================================" -echo "Description:" -echo "display details." -echo "Command: ./${gameservername} details" +echo -e "" +echo -e "6.1 - details" +echo -e "=================================" +echo -e "Description:" +echo -e "display details." +echo -e "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -916,16 +916,16 @@ fn_setstatus command_details.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.2 - postdetails" -echo "=================================" -echo "Description:" -echo "post details." -echo "Command: ./${gameservername} postdetails" +echo -e "" +echo -e "6.2 - postdetails" +echo -e "=================================" +echo -e "Description:" +echo -e "post details." +echo -e "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -935,39 +935,39 @@ fn_setstatus command_postdetails.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "7.0 - Backup Tests" -echo "==================================================================" +echo -e "" +echo -e "7.0 - Backup Tests" +echo -e "==================================================================" -echo "" -echo "7.1 - backup" -echo "=================================" -echo "Description:" -echo "run a backup." -echo "Command: ./${gameservername} backup" +echo -e "" +echo -e "7.1 - backup" +echo -e "=================================" +echo -e "Description:" +echo -e "run a backup." +echo -e "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus -echo "test de-activated until issue #1839 fixed" +echo -e "test de-activated until issue #1839 fixed" #(command_backup.sh) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.0 - Development Tools Tests" -echo "==================================================================" +echo -e "" +echo -e "8.0 - Development Tools Tests" +echo -e "==================================================================" -echo "" -echo "8.1 - dev - detect glibc" -echo "=================================" -echo "Description:" -echo "detect glibc." -echo "Command: ./${gameservername} detect-glibc" +echo -e "" +echo -e "8.1 - dev - detect glibc" +echo -e "=================================" +echo -e "Description:" +echo -e "detect glibc." +echo -e "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -977,16 +977,16 @@ fn_setstatus command_dev_detect_glibc.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.2 - dev - detect ldd" -echo "=================================" -echo "Description:" -echo "detect ldd." -echo "Command: ./${gameservername} detect-ldd" +echo -e "" +echo -e "8.2 - dev - detect ldd" +echo -e "=================================" +echo -e "Description:" +echo -e "detect ldd." +echo -e "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -996,16 +996,16 @@ fn_setstatus command_dev_detect_ldd.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.3 - dev - detect deps" -echo "=================================" -echo "Description:" -echo "detect dependencies." -echo "Command: ./${gameservername} detect-deps" +echo -e "" +echo -e "8.3 - dev - detect deps" +echo -e "=================================" +echo -e "Description:" +echo -e "detect dependencies." +echo -e "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -1015,30 +1015,30 @@ fn_setstatus command_dev_detect_deps.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "Inserting IP address" -echo "=================================" -echo "Description:" -echo "Inserting Travis IP in to config." -echo "Allows monitor to work" +echo -e "" +echo -e "Inserting IP address" +echo -e "=================================" +echo -e "Description:" +echo -e "Inserting Travis IP in to config." +echo -e "Allows monitor to work" if [ "$(ip -o -4 addr|grep eth0)" ]; then travisip=$(ip -o -4 addr | grep eth0 | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | grep -v 127.0.0) else travisip=$(ip -o -4 addr | grep ens | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | sort -u | grep -v 127.0.0) fi sed -i "/server-ip=/c\server-ip=${travisip}" "${serverfiles}/server.properties" -echo "IP: ${travisip}" - -echo "" -echo "8.4 - dev - query-raw" -echo "=================================" -echo "Description:" -echo "raw query output." -echo "Command: ./${gameservername} query-raw" +echo -e "IP: ${travisip}" + +echo -e "" +echo -e "8.4 - dev - query-raw" +echo -e "=================================" +echo -e "Description:" +echo -e "raw query output." +echo -e "Command: ./${gameservername} query-raw" requiredstatus="ONLINE" fn_setstatus ( @@ -1048,15 +1048,15 @@ fn_setstatus command_dev_query_raw.sh ) fn_test_result_na -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "=================================" -echo "Server Tests - Complete!" -echo "Using: ${gamename}" -echo "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests - Complete!" +echo -e "Using: ${gamename}" +echo -e "=================================" requiredstatus="OFFLINE" fn_setstatus fn_print_info "Tidying up directories." diff --git a/tests/tests_shellcheck.sh b/tests/tests_shellcheck.sh index 6d33507e6..51784906c 100644 --- a/tests/tests_shellcheck.sh +++ b/tests/tests_shellcheck.sh @@ -7,26 +7,26 @@ # Documentation: https://docs.linuxgsm.com/ # Website: https://linuxgsm.com -echo "=================================" -echo "Travis CI Tests" -echo "Linux Game Server Manager" -echo "by Daniel Gibbs" -echo "Contributors: http://goo.gl/qLmitD" -echo "https://linuxgsm.com" -echo "=================================" -echo "" -echo "=================================" -echo "Bash Analysis Tests" -echo "Using: Shellcheck" -echo "Testing Branch: $TRAVIS_BRANCH" -echo "=================================" -echo "" +echo -e "=================================" +echo -e "Travis CI Tests" +echo -e "Linux Game Server Manager" +echo -e "by Daniel Gibbs" +echo -e "Contributors: http://goo.gl/qLmitD" +echo -e "https://linuxgsm.com" +echo -e "=================================" +echo -e "" +echo -e "=================================" +echo -e "Bash Analysis Tests" +echo -e "Using: Shellcheck" +echo -e "Testing Branch: $TRAVIS_BRANCH" +echo -e "=================================" +echo -e "" scissues=$(find . -type f \( -name "*.sh" -o -name "*.cfg" \) -not -path "./shunit2-2.1.6/*" -exec shellcheck --shell=bash --exclude=SC2154,SC2034 {} \; | grep -F "^--" | wc -l) -echo "Found issues: ${scissues}" -echo "=================================" +echo -e "Found issues: ${scissues}" +echo -e "=================================" find . -type f \( -name "*.sh" -o -name "*.cfg" \) -not -path "./shunit2-2.1.6/*" -exec shellcheck --shell=bash --exclude=SC2154,SC2034 {} \; -echo "" -echo "=================================" -echo "Bash Analysis Tests - Complete!" -echo "Using: Shellcheck" -echo "=================================" +echo -e "" +echo -e "=================================" +echo -e "Bash Analysis Tests - Complete!" +echo -e "Using: Shellcheck" +echo -e "=================================" diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh index c0d257059..3df1b4a96 100644 --- a/tests/tests_ts3server.sh +++ b/tests/tests_ts3server.sh @@ -93,14 +93,14 @@ fn_bootstrap_fetch_file(){ echo -e "FAIL" if [ -f "${lgsmlog}" ]; then echo -e "${remote_fileurl}" | tee -a "${lgsmlog}" - echo "${curlcmd}" | tee -a "${lgsmlog}" + echo -e "${curlcmd}" | tee -a "${lgsmlog}" fi exit 1 else echo -e "OK" fi else - echo "[ FAIL ] Curl is not installed" + echo -e "[ FAIL ] Curl is not installed" exit 1 fi # Make file chmodx if chmodx is set. @@ -158,7 +158,7 @@ fn_install_menu_bash() { fn_print_horizontal menu_options=() while read -r line || [[ -n "${line}" ]]; do - var=$(echo "${line}" | awk -F "," '{print $2 " - " $3}') + var=$(echo -e "${line}" | awk -F "," '{print $2 " - " $3}') menu_options+=( "${var}" ) done < "${options}" menu_options+=( "Cancel" ) @@ -183,8 +183,8 @@ fn_install_menu_whiptail() { IFS="," menu_options=() while read -r line; do - key=$(echo "${line}" | awk -F "," '{print $3}') - val=$(echo "${line}" | awk -F "," '{print $2}') + key=$(echo -e "${line}" | awk -F "," '{print $3}') + val=$(echo -e "${line}" | awk -F "," '{print $2}') menu_options+=( "${val//\"}" "${key//\"}" ) done < "${options}" OPTION=$(${menucmd} --title "${title}" --menu "${caption}" "${height}" "${width}" "${menuheight}" "${menu_options[@]}" 3>&1 1>&2 2>&3) @@ -229,10 +229,10 @@ fn_server_info(){ fn_install_getopt(){ userinput="empty" - echo "Usage: $0 [option]" + echo -e "Usage: $0 [option]" echo -e "" - echo "Installer - Linux Game Server Managers - Version ${version}" - echo "https://linuxgsm.com" + echo -e "Installer - Linux Game Server Managers - Version ${version}" + echo -e "https://linuxgsm.com" echo -e "" echo -e "Commands" echo -e "install\t\t| Select server to install." @@ -253,15 +253,15 @@ fn_install_file(){ cp -R "${selfname}" "${local_filename}" sed -i -e "s/shortname=\"core\"/shortname=\"${shortname}\"/g" "${local_filename}" sed -i -e "s/gameservername=\"core\"/gameservername=\"${gameservername}\"/g" "${local_filename}" - echo "Installed ${gamename} server as ${local_filename}" - echo "" + echo -e "Installed ${gamename} server as ${local_filename}" + echo -e "" if [ ! -d "${serverfiles}" ]; then - echo "./${local_filename} install" + echo -e "./${local_filename} install" else - echo "Remember to check server ports" - echo "./${local_filename} details" + echo -e "Remember to check server ports" + echo -e "./${local_filename} details" fi - echo "" + echo -e "" exit } @@ -269,11 +269,11 @@ fn_install_file(){ if [ "$(whoami)" == "root" ]; then if [ "${userinput}" == "install" ]||[ "${userinput}" == "auto-install" ]||[ "${userinput}" == "i" ]||[ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 fi elif [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]; then - echo "[ FAIL ] Do NOT run this script as root!" + echo -e "[ FAIL ] Do NOT run this script as root!" exit 1 else core_functions.sh @@ -286,7 +286,7 @@ if [ "${shortname}" == "core" ]; then # Download the latest serverlist. This is the complete list of all supported servers. fn_bootstrap_fetch_file_github "lgsm/data" "serverlist.csv" "${datadir}" "nochmodx" "norun" "forcedl" "nomd5" if [ ! -f "${serverlist}" ]; then - echo "[ FAIL ] serverlist.csv could not be loaded." + echo -e "[ FAIL ] serverlist.csv could not be loaded." exit 1 fi @@ -303,18 +303,18 @@ if [ "${shortname}" == "core" ]; then if [ "${result}" == "${gameservername}" ]; then fn_install_file elif [ "${result}" == "" ]; then - echo "Install canceled" + echo -e "Install canceled" else - echo "[ FAIL ] menu result does not match gameservername" - echo "result: ${result}" - echo "gameservername: ${gameservername}" + echo -e "[ FAIL ] menu result does not match gameservername" + echo -e "result: ${result}" + echo -e "gameservername: ${gameservername}" fi elif [ -n "${userinput}" ]; then fn_server_info if [ "${userinput}" == "${gameservername}" ]||[ "${userinput}" == "${gamename}" ]||[ "${userinput}" == "${shortname}" ]; then fn_install_file else - echo "[ FAIL ] unknown game server" + echo -e "[ FAIL ] unknown game server" fi else fn_install_getopt @@ -408,9 +408,9 @@ fn_currentstatus_ts3(){ fn_setstatus(){ fn_currentstatus_ts3 echo"" - echo "Required status: ${requiredstatus}" + echo -e "Required status: ${requiredstatus}" counter=0 - echo "Current status: ${currentstatus}" + echo -e "Current status: ${currentstatus}" while [ "${requiredstatus}" != "${currentstatus}" ]; do counter=$((counter+1)) fn_currentstatus_ts3 @@ -423,16 +423,16 @@ fn_setstatus(){ fi if [ "${counter}" -gt "5" ]; then currentstatus="FAIL" - echo "Current status: ${currentstatus}" - echo "" - echo "Unable to start or stop server." + echo -e "Current status: ${currentstatus}" + echo -e "" + echo -e "Unable to start or stop server." exit 1 fi done echo -en "New status: ${currentstatus}\\r" echo -e "\n" - echo "Test starting:" - echo "" + echo -e "Test starting:" + echo -e "" } # End of every test will expect the result to either pass or fail @@ -440,88 +440,88 @@ fn_setstatus(){ # if expecting a pass fn_test_result_pass(){ if [ $? != 0 ]; then - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: FAIL" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: PASS" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: PASS" + echo -e "Actual result: PASS" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # if expecting a fail fn_test_result_fail(){ if [ $? == 0 ]; then - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: PASS" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: PASS" fn_print_fail_nl "TEST FAILED" exitcode=1 core_exit.sh else - echo "=================================" - echo "Expected result: FAIL" - echo "Actual result: FAIL" + echo -e "=================================" + echo -e "Expected result: FAIL" + echo -e "Actual result: FAIL" fn_print_ok_nl "TEST PASSED" - echo "" + echo -e "" fi } # test result n/a fn_test_result_na(){ - echo "=================================" - echo "Expected result: N/A" - echo "Actual result: N/A" + echo -e "=================================" + echo -e "Expected result: N/A" + echo -e "Actual result: N/A" fn_print_fail_nl "TEST N/A" } -echo "=================================" -echo "Travis CI Tests" -echo "Linux Game Server Manager" -echo "by Daniel Gibbs" -echo "Contributors: http://goo.gl/qLmitD" -echo "https://linuxgsm.com" -echo "=================================" -echo "" -echo "=================================" -echo "Server Tests" -echo "Using: ${gamename}" -echo "Testing Branch: $TRAVIS_BRANCH" -echo "=================================" - -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 "" +echo -e "=================================" +echo -e "Travis CI Tests" +echo -e "Linux Game Server Manager" +echo -e "by Daniel Gibbs" +echo -e "Contributors: http://goo.gl/qLmitD" +echo -e "https://linuxgsm.com" +echo -e "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests" +echo -e "Using: ${gamename}" +echo -e "Testing Branch: $TRAVIS_BRANCH" +echo -e "=================================" + +echo -e "" +echo -e "0.0 - Pre-test Tasks" +echo -e "==================================================================" +echo -e "Description:" +echo -e "Create log dir's" +echo -e "" + +echo -e "" +echo -e "0.1 - Create log dir's" +echo -e "=================================" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" set -x install_logs.sh ) -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "0.2 - Enable dev-debug" -echo "=================================" -echo "Description:" -echo "Enable dev-debug" -echo "" +echo -e "" +echo -e "0.2 - Enable dev-debug" +echo -e "=================================" +echo -e "Description:" +echo -e "Enable dev-debug" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -529,21 +529,21 @@ echo "" command_dev_debug.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -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: ./${gameservername} start" -echo "" +echo -e "" +echo -e "1.0 - Pre-install tests" +echo -e "==================================================================" +echo -e "" + +echo -e "1.1 - start - no files" +echo -e "=================================" +echo -e "Description:" +echo -e "test script reaction to missing server files." +echo -e "Command: ./${gameservername} start" +echo -e "" # Allows for testing not on Travis CI if [ ! -v TRAVIS ]; then ( @@ -554,20 +554,20 @@ if [ ! -v TRAVIS ]; then ) fn_test_result_fail else - echo "Test bypassed" + echo -e "Test bypassed" fi -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.2 - getopt" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername}" -echo "" +echo -e "" +echo -e "1.2 - getopt" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername}" +echo -e "" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -575,17 +575,17 @@ echo "" core_getopt.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "1.3 - getopt with incorrect args" -echo "=================================" -echo "Description:" -echo "displaying options messages." -echo "Command: ./${gameservername} abc123" -echo "" +echo -e "" +echo -e "1.3 - getopt with incorrect args" +echo -e "=================================" +echo -e "Description:" +echo -e "displaying options messages." +echo -e "Command: ./${gameservername} abc123" +echo -e "" getopt="abc123" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" @@ -594,20 +594,20 @@ getopt="abc123" core_getopt.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "2.0 - Installation" -echo "==================================================================" +echo -e "" +echo -e "2.0 - Installation" +echo -e "==================================================================" -echo "" -echo "2.0 - install" -echo "=================================" -echo "Description:" -echo "install ${gamename} server." -echo "Command: ./${gameservername} auto-install" +echo -e "" +echo -e "2.0 - install" +echo -e "=================================" +echo -e "Description:" +echo -e "install ${gamename} server." +echo -e "Command: ./${gameservername} auto-install" ( exec 5>"${TRAVIS_BUILD_DIR}/dev-debug.log" BASH_XTRACEFD="5" @@ -615,20 +615,20 @@ echo "Command: ./${gameservername} auto-install" fn_autoinstall ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.0 - Start/Stop/Restart Tests" -echo "==================================================================" +echo -e "" +echo -e "3.0 - Start/Stop/Restart Tests" +echo -e "==================================================================" -echo "" -echo "3.1 - start" -echo "=================================" -echo "Description:" -echo "start ${gamename} server." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.1 - start" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -638,16 +638,16 @@ fn_setstatus command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.2 - start - online" -echo "=================================" -echo "Description:" -echo "start ${gamename} server while already running." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.2 - start - online" +echo -e "=================================" +echo -e "Description:" +echo -e "start ${gamename} server while already running." +echo -e "Command: ./${gameservername} start" requiredstatus="ONLINE" fn_setstatus ( @@ -657,16 +657,16 @@ fn_setstatus command_start.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.3 - start - updateonstart" -echo "=================================" -echo "Description:" -echo "will update server on start." -echo "Command: ./${gameservername} start" +echo -e "" +echo -e "3.3 - start - updateonstart" +echo -e "=================================" +echo -e "Description:" +echo -e "will update server on start." +echo -e "Command: ./${gameservername} start" requiredstatus="OFFLINE" fn_setstatus ( @@ -676,16 +676,16 @@ fn_setstatus updateonstart="on";command_start.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.4 - stop" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.4 - stop" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server." +echo -e "Command: ./${gameservername} stop" requiredstatus="ONLINE" fn_setstatus ( @@ -695,16 +695,16 @@ fn_setstatus command_stop.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.5 - stop - offline" -echo "=================================" -echo "Description:" -echo "stop ${gamename} server while already stopped." -echo "Command: ./${gameservername} stop" +echo -e "" +echo -e "3.5 - stop - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "stop ${gamename} server while already stopped." +echo -e "Command: ./${gameservername} stop" requiredstatus="OFFLINE" fn_setstatus ( @@ -714,16 +714,16 @@ fn_setstatus command_stop.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.6 - restart" -echo "=================================" -echo "Description:" -echo "restart ${gamename}." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.6 - restart" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename}." +echo -e "Command: ./${gameservername} restart" requiredstatus="ONLINE" fn_setstatus ( @@ -733,16 +733,16 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "3.7 - restart - offline" -echo "=================================" -echo "Description:" -echo "restart ${gamename} while already stopped." -echo "Command: ./${gameservername} restart" +echo -e "" +echo -e "3.7 - restart - offline" +echo -e "=================================" +echo -e "Description:" +echo -e "restart ${gamename} while already stopped." +echo -e "Command: ./${gameservername} restart" requiredstatus="OFFLINE" fn_setstatus ( @@ -752,20 +752,20 @@ fn_setstatus command_restart.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "4.0 - Update Tests" -echo "==================================================================" +echo -e "" +echo -e "4.0 - Update Tests" +echo -e "==================================================================" -echo "" -echo "4.1 - update" -echo "=================================" -echo "Description:" -echo "check for updates." -echo "Command: ./${gameservername} update" +echo -e "" +echo -e "4.1 - update" +echo -e "=================================" +echo -e "Description:" +echo -e "check for updates." +echo -e "Command: ./${gameservername} update" requiredstatus="OFFLINE" fn_setstatus ( @@ -775,23 +775,23 @@ fn_setstatus command_update.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" 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: ./${gameservername} monitor" +echo -e "" +echo -e "5.0 - Monitor Tests" +echo -e "==================================================================" +echo -e "" +echo -e "Server IP - Port: ${ip}:${port}" +echo -e "Server IP - Query Port: ${ip}:${queryport}" + +echo -e "" +echo -e "5.1 - monitor - online" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor server while already running." +echo -e "Command: ./${gameservername} monitor" requiredstatus="ONLINE" fn_setstatus ( @@ -801,16 +801,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.2 - monitor - offline - with lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.2 - monitor - offline - with lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus fn_print_info_nl "creating lockfile." @@ -822,16 +822,16 @@ date '+%s' > "${rootdir}/${lockselfname}" command_monitor.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.3 - monitor - offline - no lockfile" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} monitor" +echo -e "" +echo -e "5.3 - monitor - offline - no lockfile" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} monitor" requiredstatus="OFFLINE" fn_setstatus ( @@ -841,16 +841,16 @@ fn_setstatus command_monitor.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "5.4 - test-alert" -echo "=================================" -echo "Description:" -echo "run monitor while server is offline with no lockfile." -echo "Command: ./${gameservername} test-alert" +echo -e "" +echo -e "5.4 - test-alert" +echo -e "=================================" +echo -e "Description:" +echo -e "run monitor while server is offline with no lockfile." +echo -e "Command: ./${gameservername} test-alert" requiredstatus="OFFLINE" fn_setstatus ( @@ -860,20 +860,20 @@ fn_setstatus command_test_alert.sh ) fn_test_result_fail -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.0 - Details Tests" -echo "==================================================================" +echo -e "" +echo -e "6.0 - Details Tests" +echo -e "==================================================================" -echo "" -echo "6.1 - details" -echo "=================================" -echo "Description:" -echo "display details." -echo "Command: ./${gameservername} details" +echo -e "" +echo -e "6.1 - details" +echo -e "=================================" +echo -e "Description:" +echo -e "display details." +echo -e "Command: ./${gameservername} details" requiredstatus="ONLINE" fn_setstatus ( @@ -883,16 +883,16 @@ fn_setstatus command_details.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "6.2 - postdetails" -echo "=================================" -echo "Description:" -echo "post details." -echo "Command: ./${gameservername} postdetails" +echo -e "" +echo -e "6.2 - postdetails" +echo -e "=================================" +echo -e "Description:" +echo -e "post details." +echo -e "Command: ./${gameservername} postdetails" requiredstatus="ONLINE" fn_setstatus ( @@ -902,39 +902,39 @@ fn_setstatus command_postdetails.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "7.0 - Backup Tests" -echo "==================================================================" +echo -e "" +echo -e "7.0 - Backup Tests" +echo -e "==================================================================" -echo "" -echo "7.1 - backup" -echo "=================================" -echo "Description:" -echo "run a backup." -echo "Command: ./${gameservername} backup" +echo -e "" +echo -e "7.1 - backup" +echo -e "=================================" +echo -e "Description:" +echo -e "run a backup." +echo -e "Command: ./${gameservername} backup" requiredstatus="ONLINE" fn_setstatus -echo "test de-activated until issue #1839 fixed" +echo -e "test de-activated until issue #1839 fixed" #(command_backup.sh) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.0 - Development Tools Tests" -echo "==================================================================" +echo -e "" +echo -e "8.0 - Development Tools Tests" +echo -e "==================================================================" -echo "" -echo "8.1 - dev - detect glibc" -echo "=================================" -echo "Description:" -echo "detect glibc." -echo "Command: ./${gameservername} detect-glibc" +echo -e "" +echo -e "8.1 - dev - detect glibc" +echo -e "=================================" +echo -e "Description:" +echo -e "detect glibc." +echo -e "Command: ./${gameservername} detect-glibc" requiredstatus="ONLINE" fn_setstatus ( @@ -944,16 +944,16 @@ fn_setstatus command_dev_detect_glibc.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.2 - dev - detect ldd" -echo "=================================" -echo "Description:" -echo "detect ldd." -echo "Command: ./${gameservername} detect-ldd" +echo -e "" +echo -e "8.2 - dev - detect ldd" +echo -e "=================================" +echo -e "Description:" +echo -e "detect ldd." +echo -e "Command: ./${gameservername} detect-ldd" requiredstatus="ONLINE" fn_setstatus ( @@ -963,16 +963,16 @@ fn_setstatus command_dev_detect_ldd.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "8.3 - dev - detect deps" -echo "=================================" -echo "Description:" -echo "detect dependencies." -echo "Command: ./${gameservername} detect-deps" +echo -e "" +echo -e "8.3 - dev - detect deps" +echo -e "=================================" +echo -e "Description:" +echo -e "detect dependencies." +echo -e "Command: ./${gameservername} detect-deps" requiredstatus="ONLINE" fn_setstatus ( @@ -982,16 +982,16 @@ fn_setstatus command_dev_detect_deps.sh ) fn_test_result_pass -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" 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" +echo -e "" +echo -e "8.4 - dev - query-raw" +echo -e "=================================" +echo -e "Description:" +echo -e "raw query output." +echo -e "Command: ./${gameservername} query-raw" requiredstatus="ONLINE" fn_setstatus ( @@ -1001,15 +1001,15 @@ fn_setstatus command_dev_query_raw.sh ) fn_test_result_na -echo "run order" -echo "=================" +echo -e "run order" +echo -e "=================" grep functionfile= "${TRAVIS_BUILD_DIR}/dev-debug.log" | sed 's/functionfile=//g' -echo "" -echo "=================================" -echo "Server Tests - Complete!" -echo "Using: ${gamename}" -echo "=================================" +echo -e "" +echo -e "=================================" +echo -e "Server Tests - Complete!" +echo -e "Using: ${gamename}" +echo -e "=================================" requiredstatus="OFFLINE" fn_setstatus fn_print_info "Tidying up directories."