Browse Source

Merge branch 'release/180718'

Daniel Gibbs 7 years ago
parent
commit
070bd4042d
100 changed files with 1224 additions and 130 deletions
  1. 28 0
      .github/lock.yml
  2. 10 0
      .github/no-response.yml
  3. 13 0
      .github/potential-duplicates.yml
  4. 1 1
      .github/request-info.yml
  5. 3 3
      .github/support.yml
  6. 4 0
      lgsm/config-default/config-lgsm/arkserver/_default.cfg
  7. 4 0
      lgsm/config-default/config-lgsm/arma3server/_default.cfg
  8. 5 1
      lgsm/config-default/config-lgsm/bb2server/_default.cfg
  9. 127 0
      lgsm/config-default/config-lgsm/bbserver/_default.cfg
  10. 5 1
      lgsm/config-default/config-lgsm/bdserver/_default.cfg
  11. 4 0
      lgsm/config-default/config-lgsm/bf1942server/_default.cfg
  12. 5 1
      lgsm/config-default/config-lgsm/bmdmserver/_default.cfg
  13. 5 1
      lgsm/config-default/config-lgsm/boserver/_default.cfg
  14. 5 1
      lgsm/config-default/config-lgsm/bsserver/_default.cfg
  15. 4 0
      lgsm/config-default/config-lgsm/bt1944server/_default.cfg
  16. 5 1
      lgsm/config-default/config-lgsm/ccserver/_default.cfg
  17. 5 1
      lgsm/config-default/config-lgsm/cod2server/_default.cfg
  18. 5 1
      lgsm/config-default/config-lgsm/cod4server/_default.cfg
  19. 5 1
      lgsm/config-default/config-lgsm/codserver/_default.cfg
  20. 5 1
      lgsm/config-default/config-lgsm/coduoserver/_default.cfg
  21. 5 1
      lgsm/config-default/config-lgsm/codwawserver/_default.cfg
  22. 4 0
      lgsm/config-default/config-lgsm/csczserver/_default.cfg
  23. 10 7
      lgsm/config-default/config-lgsm/csgoserver/_default.cfg
  24. 5 1
      lgsm/config-default/config-lgsm/csserver/_default.cfg
  25. 4 0
      lgsm/config-default/config-lgsm/cssserver/_default.cfg
  26. 4 0
      lgsm/config-default/config-lgsm/dabserver/_default.cfg
  27. 4 0
      lgsm/config-default/config-lgsm/dmcserver/_default.cfg
  28. 4 0
      lgsm/config-default/config-lgsm/dodserver/_default.cfg
  29. 4 0
      lgsm/config-default/config-lgsm/dodsserver/_default.cfg
  30. 4 0
      lgsm/config-default/config-lgsm/doiserver/_default.cfg
  31. 4 0
      lgsm/config-default/config-lgsm/dstserver/_default.cfg
  32. 116 0
      lgsm/config-default/config-lgsm/ecoserver/_default.cfg
  33. 4 0
      lgsm/config-default/config-lgsm/emserver/_default.cfg
  34. 4 0
      lgsm/config-default/config-lgsm/etlserver/_default.cfg
  35. 4 0
      lgsm/config-default/config-lgsm/fctrserver/_default.cfg
  36. 4 0
      lgsm/config-default/config-lgsm/fofserver/_default.cfg
  37. 4 0
      lgsm/config-default/config-lgsm/gesserver/_default.cfg
  38. 9 4
      lgsm/config-default/config-lgsm/gmodserver/_default.cfg
  39. 4 0
      lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg
  40. 4 0
      lgsm/config-default/config-lgsm/hldmserver/_default.cfg
  41. 4 0
      lgsm/config-default/config-lgsm/hldmsserver/_default.cfg
  42. 4 0
      lgsm/config-default/config-lgsm/hwserver/_default.cfg
  43. 4 0
      lgsm/config-default/config-lgsm/insserver/_default.cfg
  44. 4 0
      lgsm/config-default/config-lgsm/jc2server/_default.cfg
  45. 4 0
      lgsm/config-default/config-lgsm/jc3server/_default.cfg
  46. 4 0
      lgsm/config-default/config-lgsm/kf2server/_default.cfg
  47. 4 0
      lgsm/config-default/config-lgsm/kfserver/_default.cfg
  48. 4 0
      lgsm/config-default/config-lgsm/l4d2server/_default.cfg
  49. 4 0
      lgsm/config-default/config-lgsm/l4dserver/_default.cfg
  50. 5 1
      lgsm/config-default/config-lgsm/mcserver/_default.cfg
  51. 4 0
      lgsm/config-default/config-lgsm/mtaserver/_default.cfg
  52. 4 0
      lgsm/config-default/config-lgsm/mumbleserver/_default.cfg
  53. 4 0
      lgsm/config-default/config-lgsm/nmrihserver/_default.cfg
  54. 4 0
      lgsm/config-default/config-lgsm/ns2cserver/_default.cfg
  55. 4 0
      lgsm/config-default/config-lgsm/ns2server/_default.cfg
  56. 127 0
      lgsm/config-default/config-lgsm/nsserver/_default.cfg
  57. 4 0
      lgsm/config-default/config-lgsm/opforserver/_default.cfg
  58. 4 0
      lgsm/config-default/config-lgsm/pcserver/_default.cfg
  59. 4 0
      lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg
  60. 4 0
      lgsm/config-default/config-lgsm/pzserver/_default.cfg
  61. 4 0
      lgsm/config-default/config-lgsm/q2server/_default.cfg
  62. 4 0
      lgsm/config-default/config-lgsm/q3server/_default.cfg
  63. 4 0
      lgsm/config-default/config-lgsm/qlserver/_default.cfg
  64. 4 0
      lgsm/config-default/config-lgsm/qwserver/_default.cfg
  65. 4 0
      lgsm/config-default/config-lgsm/ricochetserver/_default.cfg
  66. 4 0
      lgsm/config-default/config-lgsm/roserver/_default.cfg
  67. 4 0
      lgsm/config-default/config-lgsm/rustserver/_default.cfg
  68. 4 0
      lgsm/config-default/config-lgsm/rwserver/_default.cfg
  69. 4 0
      lgsm/config-default/config-lgsm/sampserver/_default.cfg
  70. 4 0
      lgsm/config-default/config-lgsm/sbserver/_default.cfg
  71. 5 1
      lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
  72. 5 1
      lgsm/config-default/config-lgsm/squadserver/_default.cfg
  73. 4 0
      lgsm/config-default/config-lgsm/ss3server/_default.cfg
  74. 4 0
      lgsm/config-default/config-lgsm/stserver/_default.cfg
  75. 5 1
      lgsm/config-default/config-lgsm/svenserver/_default.cfg
  76. 4 0
      lgsm/config-default/config-lgsm/terrariaserver/_default.cfg
  77. 4 0
      lgsm/config-default/config-lgsm/tf2server/_default.cfg
  78. 4 0
      lgsm/config-default/config-lgsm/tfcserver/_default.cfg
  79. 4 0
      lgsm/config-default/config-lgsm/ts3server/_default.cfg
  80. 4 0
      lgsm/config-default/config-lgsm/tuserver/_default.cfg
  81. 4 0
      lgsm/config-default/config-lgsm/twserver/_default.cfg
  82. 4 0
      lgsm/config-default/config-lgsm/ut2k4server/_default.cfg
  83. 4 0
      lgsm/config-default/config-lgsm/ut3server/_default.cfg
  84. 4 0
      lgsm/config-default/config-lgsm/ut99server/_default.cfg
  85. 4 0
      lgsm/config-default/config-lgsm/utserver/_default.cfg
  86. 127 0
      lgsm/config-default/config-lgsm/vsserver/_default.cfg
  87. 4 0
      lgsm/config-default/config-lgsm/wetserver/_default.cfg
  88. 4 0
      lgsm/config-default/config-lgsm/zpsserver/_default.cfg
  89. BIN
      lgsm/data/alert_discord_logo.png
  90. 5 1
      lgsm/data/serverlist.csv
  91. 4 4
      lgsm/functions/alert_discord.sh
  92. 1 1
      lgsm/functions/alert_telegram.sh
  93. 1 1
      lgsm/functions/check.sh
  94. 234 67
      lgsm/functions/check_deps.sh
  95. 2 2
      lgsm/functions/check_ip.sh
  96. 1 1
      lgsm/functions/check_status.sh
  97. 3 2
      lgsm/functions/command_debug.sh
  98. 2 1
      lgsm/functions/command_dev_clear_functions.sh
  99. 19 4
      lgsm/functions/command_dev_detect_deps.sh
  100. 57 15
      lgsm/functions/command_dev_detect_glibc.sh

+ 28 - 0
.github/lock.yml

@@ -0,0 +1,28 @@
+# Configuration for lock-threads - https://github.com/dessant/lock-threads
+
+# Number of days of inactivity before a closed issue or pull request is locked
+daysUntilLock: 365
+
+# Issues and pull requests with these labels will not be locked. Set to `[]` to disable
+exemptLabels: []
+
+# Label to add before locking, such as `outdated`. Set to `false` to disable
+lockLabel: false
+
+# Comment to post before locking. Set to `false` to disable
+lockComment: >
+  This thread has been automatically locked since there has not been
+  any recent activity after it was closed. Please open a new issue for
+  related bugs.
+
+# Limit to only `issues` or `pulls`
+# only: issues
+
+# Optionally, specify configuration settings just for `issues` or `pulls`
+# issues:
+#   exemptLabels:
+#     - help-wanted
+#   lockLabel: outdated
+
+# pulls:
+#   daysUntilLock: 30

+ 10 - 0
.github/no-response.yml

@@ -0,0 +1,10 @@
+# Configuration for probot-no-response - https://github.com/probot/no-response
+
+# Number of days of inactivity before an Issue is closed for lack of response
+daysUntilClose: 30
+# Label requiring a response
+responseRequiredLabel: "Status: waiting response"
+# Comment to post when closing an Issue for lack of response. Set to `false` to disable
+closeComment: >
+  This issue has been automatically closed because there has been no response
+  to this issue and is now stale.

+ 13 - 0
.github/potential-duplicates.yml

@@ -0,0 +1,13 @@
+# Label name and color to set, when potential duplicates are detected
+issueLabel: "Type: potential duplicate"
+labelColor: D2DAE1
+
+# If similarity is higher than this threshold, issue will be marked as duplicate
+threshold: 0.60
+
+# Comment to post when potential duplicates are detected
+referenceComment: >
+  Potential duplicates:
+  {{#issues}}
+    - [#{{ number }}] {{ title }} ({{ accuracy }}%)
+  {{/issues}}

+ 1 - 1
.github/request-info.yml

@@ -12,4 +12,4 @@ requestInfoReplyComment: >
 #  - updates
 
 # *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given
-requestInfoLabelToAdd: Status: needs more info
+requestInfoLabelToAdd: "Status: needs more info"

+ 3 - 3
.github/support.yml

@@ -1,15 +1,15 @@
 # Configuration for support-requests - https://github.com/dessant/support-requests
 
 # Label used to mark issues as support requests
-supportLabel: Type: support
+supportLabel: "Outcome: wrong forum"
 # Comment to post on issues marked as support requests. Add a link
 # to a support page, or set to `false` to disable
 supportComment: >
   We use the issue tracker exclusively for bug reports and feature requests.
   However, this issue appears to be a support request. Please use our
   support channels to get help with the project.
-  https://linuxgsm.com/support/
+  https://linuxgsm.com/support
 # Whether to close issues marked as support requests
 close: true
 # Whether to lock issues marked as support requests
-lock: false
+lock: false

+ 4 - 0
lgsm/config-default/config-lgsm/arkserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/arma3server/_default.cfg

@@ -77,9 +77,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/bb2server/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -125,4 +129,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 127 - 0
lgsm/config-default/config-lgsm/bbserver/_default.cfg

@@ -0,0 +1,127 @@
+##################################
+######## 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://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
+ip="0.0.0.0"
+port="27015"
+clientport="27005"
+defaultmap="bb_chp4_slaywatch"
+maxplayers="16"
+
+## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
+fn_parms(){
+parms="-game brainbread -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
+}
+
+#### LinuxGSM Settings ####
+
+## Notification Alerts
+# (on|off)
+
+# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info
+postalert="off"
+postdays="7"
+posttarget="https://hastebin.com"
+
+# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord
+discordalert="off"
+discordwebhook="webhook"
+
+# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
+emailalert="off"
+email="email@example.com"
+emailfrom=""
+
+# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT
+iftttalert="off"
+ifttttoken="accesstoken"
+iftttevent="linuxgsm_alert"
+
+# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun
+mailgunalert="off"
+mailguntoken="accesstoken"
+mailgundomain="example.com"
+mailgunemailfrom="alert@example.com"
+mailgunemail="email@myemail.com"
+
+# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+channeltag=""
+
+# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover
+pushoveralert="off"
+pushovertoken="accesstoken"
+
+# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
+updateonstart="off"
+
+## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging
+consolelogging="on"
+logdays="7"
+
+#### LinuxGSM Advanced Settings ####
+
+## SteamCMD Settings
+# Server appid
+appid="90"
+appidmod="cstrike"
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta latest_experimental"
+branch=""
+
+## LinuxGSM Server Details
+# Do not edit
+gamename="BrainBread"
+engine="goldsource"
+
+#### Directories ####
+# Edit with care
+
+## Server Specific Directories
+systemdir="${serverfiles}/brainbread"
+executabledir="${serverfiles}"
+executable="./hlds_run"
+servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
+servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${rootdir}/backups"
+
+## 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"

+ 5 - 1
lgsm/config-default/config-lgsm/bdserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -115,4 +119,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 4 - 0
lgsm/config-default/config-lgsm/bf1942server/_default.cfg

@@ -54,9 +54,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/bmdmserver/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -125,4 +129,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/boserver/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -118,4 +122,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/bsserver/_default.cfg

@@ -66,9 +66,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -124,4 +128,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 4 - 0
lgsm/config-default/config-lgsm/bt1944server/_default.cfg

@@ -59,9 +59,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/ccserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -120,4 +124,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/cod2server/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"
@@ -107,4 +111,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/cod4server/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"
@@ -107,4 +111,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/codserver/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"
@@ -107,4 +111,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/coduoserver/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"
@@ -107,4 +111,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 5 - 1
lgsm/config-default/config-lgsm/codwawserver/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"
@@ -107,4 +111,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 4 - 0
lgsm/config-default/config-lgsm/csczserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 10 - 7
lgsm/config-default/config-lgsm/csgoserver/_default.cfg

@@ -33,16 +33,15 @@ tickrate="64"
 # More info: https://linuxgsm.com/gslt
 gslt=""
 
-## Optional: Workshop Parameters
-# https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators
-# To get an authkey visit - http://steamcommunity.com/dev/apikey
-authkey=""
-ws_collection_id=""
-ws_start_map=""
+## Workshop Parameters | https://developer.valvesoftware.com/wiki/CSGO_Workshop_For_Server_Operators
+# To get an API key visit - https://steamcommunity.com/dev/apikey
+wsapikey=""
+wscollectionid=""
+wsstartmap=""
 
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
-parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${ws_collection_id} +workshop_start_map ${ws_start_map} -authkey ${authkey} -nobreakpad"
+parms="-game csgo -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +sv_setsteamaccount ${gslt} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +mapgroup ${mapgroup} +game_mode ${gamemode} +game_type ${gametype} +host_workshop_collection ${wscollectionid} +workshop_start_map ${wsstartmap} -authkey ${wsapikey} -nobreakpad"
 }
 
 #### LinuxGSM Settings ####
@@ -86,9 +85,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/csserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -120,4 +124,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 4 - 0
lgsm/config-default/config-lgsm/cssserver/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/dabserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/dmcserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/dodserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/dodsserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/doiserver/_default.cfg

@@ -64,9 +64,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/dstserver/_default.cfg

@@ -65,9 +65,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 116 - 0
lgsm/config-default/config-lgsm/ecoserver/_default.cfg

@@ -0,0 +1,116 @@
+##################################
+######## 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 Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
+fn_parms(){
+    parms="-nogui"
+}
+
+#### LinuxGSM Settings ####
+
+## Notification Alerts
+# (on|off)
+
+# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info
+postalert="off"
+postdays="7"
+posttarget="https://hastebin.com"
+
+# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord
+discordalert="off"
+discordwebhook="webhook"
+
+# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
+emailalert="off"
+email="email@example.com"
+emailfrom=""
+
+# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT
+iftttalert="off"
+ifttttoken="accesstoken"
+iftttevent="linuxgsm_alert"
+
+# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun
+mailgunalert="off"
+mailguntoken="accesstoken"
+mailgundomain="example.com"
+mailgunemailfrom="alert@example.com"
+mailgunemail="email@myemail.com"
+
+# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+channeltag=""
+
+# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover
+pushoveralert="off"
+pushovertoken="accesstoken"
+
+# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Telegram
+telegramalert="off"
+telegramtoken="accesstoken"
+telegramchatid=""
+
+## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update
+updateonstart="off"
+
+## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging
+consolelogging="on"
+logdays="7"
+
+#### LinuxGSM Advanced Settings ####
+
+## SteamCMD Settings
+# Server appid
+appid="739590"
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta 7.3.0"
+branch=""
+
+## LinuxGSM Server Details
+# Do not edit
+gamename="Eco"
+engine="unity3d"
+
+#### Directories ####
+# Edit with care
+
+## Server Specific Directories
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
+executable="mono ./EcoServer.exe"
+servercfg="Network.eco"
+servercfgdefault="Network.eco"
+servercfgdir="${systemdir}/Configs"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${rootdir}/backups"
+
+## Logging Directories
+logdir="${rootdir}/log"
+gamelogdir="${logdir}/server"
+lgsmlogdir="${logdir}/script"
+consolelogdir="${logdir}/console"
+lgsmlog="${lgsmlogdir}/${servicename}-script.log"
+consolelog="${consolelogdir}/${servicename}-console.log"
+alertlog="${lgsmlogdir}/${servicename}-alert.log"
+postdetailslog="${lgsmlogdir}/${servicename}-postdetails.log"
+
+## Logs Naming
+lgsmlogdate="${lgsmlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
+gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 4 - 0
lgsm/config-default/config-lgsm/emserver/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/etlserver/_default.cfg

@@ -54,9 +54,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/fctrserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/fofserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/gesserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 9 - 4
lgsm/config-default/config-lgsm/gmodserver/_default.cfg

@@ -18,9 +18,10 @@ maxplayers="16"
 tickrate="66"
 gamemode="sandbox"
 
-## Workshop Parameters | http://wiki.garrysmod.com/page/Workshop_for_Dedicated_Servers
-workshopauth=""
-workshopcollectionid=""
+## Workshop Parameters | https://wiki.garrysmod.com/page/Workshop_for_Dedicated_Servers
+# To get an API key visit - https://steamcommunity.com/dev/apikey
+wsapikey=""
+wscollectionid=""
 
 ## Custom Start Parameters
 # Default +r_hunkalloclightmaps 0, fixes a start issue on maps with many lights
@@ -34,7 +35,7 @@ gslt=""
 
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
-parms="-game garrysmod -strictportbind -ip ${ip} -port ${port} -tickrate ${tickrate} +host_workshop_collection ${workshopcollectionid} -authkey ${workshopauth} +clientport ${clientport} +tv_port ${sourcetvport} +gamemode ${gamemode} +map ${defaultmap} +sv_setsteamaccount ${gslt} +servercfgfile ${servercfg} -maxplayers ${maxplayers} ${customparms}"
+parms="-game garrysmod -strictportbind -ip ${ip} -port ${port} -tickrate ${tickrate} +host_workshop_collection ${wscollectionid} -authkey ${wsapikey} +clientport ${clientport} +tv_port ${sourcetvport} +gamemode ${gamemode} +map ${defaultmap} +sv_setsteamaccount ${gslt} +servercfgfile ${servercfg} -maxplayers ${maxplayers} ${customparms}"
 }
 
 #### LinuxGSM Settings ####
@@ -78,9 +79,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/hldmserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/hldmsserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/hwserver/_default.cfg

@@ -75,9 +75,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/insserver/_default.cfg

@@ -69,9 +69,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/jc2server/_default.cfg

@@ -54,9 +54,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/jc3server/_default.cfg

@@ -54,9 +54,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/kf2server/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/kfserver/_default.cfg

@@ -66,9 +66,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/l4d2server/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/l4dserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/mcserver/_default.cfg

@@ -56,9 +56,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -85,7 +89,7 @@ engine="lwjgl2"
 ## Server Specific Directories
 systemdir="${serverfiles}"
 executabledir="${serverfiles}"
-executable="java -Xmx${javaram}M -jar ${serverfiles}/minecraft_server.jar"
+executable="java -Xmx${javaram}M -jar ${serverfiles}/minecraft_server.jar nogui"
 servercfg="server.properties"
 servercfgdefault="server.properties"
 servercfgdir="${serverfiles}"

+ 4 - 0
lgsm/config-default/config-lgsm/mtaserver/_default.cfg

@@ -55,9 +55,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/mumbleserver/_default.cfg

@@ -55,9 +55,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/nmrihserver/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/ns2cserver/_default.cfg

@@ -69,9 +69,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/ns2server/_default.cfg

@@ -73,9 +73,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 127 - 0
lgsm/config-default/config-lgsm/nsserver/_default.cfg

@@ -0,0 +1,127 @@
+##################################
+######## 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://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
+ip="0.0.0.0"
+port="27015"
+clientport="27005"
+defaultmap="ns_hera"
+maxplayers="16"
+
+## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
+fn_parms(){
+parms="-game ns -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
+}
+
+#### LinuxGSM Settings ####
+
+## Notification Alerts
+# (on|off)
+
+# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info
+postalert="off"
+postdays="7"
+posttarget="https://hastebin.com"
+
+# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord
+discordalert="off"
+discordwebhook="webhook"
+
+# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
+emailalert="off"
+email="email@example.com"
+emailfrom=""
+
+# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT
+iftttalert="off"
+ifttttoken="accesstoken"
+iftttevent="linuxgsm_alert"
+
+# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun
+mailgunalert="off"
+mailguntoken="accesstoken"
+mailgundomain="example.com"
+mailgunemailfrom="alert@example.com"
+mailgunemail="email@myemail.com"
+
+# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+channeltag=""
+
+# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover
+pushoveralert="off"
+pushovertoken="accesstoken"
+
+# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
+updateonstart="off"
+
+## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging
+consolelogging="on"
+logdays="7"
+
+#### LinuxGSM Advanced Settings ####
+
+## SteamCMD Settings
+# Server appid
+appid="90"
+appidmod="cstrike"
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta latest_experimental"
+branch=""
+
+## LinuxGSM Server Details
+# Do not edit
+gamename="Natural Selection"
+engine="goldsource"
+
+#### Directories ####
+# Edit with care
+
+## Server Specific Directories
+systemdir="${serverfiles}/ns"
+executabledir="${serverfiles}"
+executable="./hlds_run"
+servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
+servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${rootdir}/backups"
+
+## 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"

+ 4 - 0
lgsm/config-default/config-lgsm/opforserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/pcserver/_default.cfg

@@ -55,9 +55,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/pzserver/_default.cfg

@@ -57,9 +57,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/q2server/_default.cfg

@@ -59,9 +59,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/q3server/_default.cfg

@@ -59,9 +59,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/qlserver/_default.cfg

@@ -59,9 +59,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/qwserver/_default.cfg

@@ -58,9 +58,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/ricochetserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/roserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/rustserver/_default.cfg

@@ -86,9 +86,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/rwserver/_default.cfg

@@ -57,9 +57,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/sampserver/_default.cfg

@@ -58,9 +58,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/sbserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/sdtdserver/_default.cfg

@@ -13,7 +13,7 @@ ip="0.0.0.0"
 
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
-parms="-logfile ${gamelogdir}/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated -configfile=${servercfgfullpath}"
+parms="-logfile ${gamelogdir}/output_log__$(date +%Y-%m-%d__%H-%M-%S).txt -quit -batchmode -nographics -dedicated -configfile=${servercfgfullpath}"
 }
 
 #### LinuxGSM Settings ####
@@ -57,9 +57,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/squadserver/_default.cfg

@@ -60,9 +60,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"
@@ -119,4 +123,4 @@ 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"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"

+ 4 - 0
lgsm/config-default/config-lgsm/ss3server/_default.cfg

@@ -58,9 +58,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/stserver/_default.cfg

@@ -64,9 +64,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 5 - 1
lgsm/config-default/config-lgsm/svenserver/_default.cfg

@@ -17,7 +17,7 @@ maxplayers="16"
 
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
-parms="-game svencoop -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
+parms="-game svencoop -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} +maxplayers ${maxplayers}"
 }
 
 #### LinuxGSM Settings ####
@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/terrariaserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/tf2server/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/tfcserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/ts3server/_default.cfg

@@ -50,9 +50,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/tuserver/_default.cfg

@@ -64,9 +64,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/twserver/_default.cfg

@@ -61,9 +61,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

+ 4 - 0
lgsm/config-default/config-lgsm/ut2k4server/_default.cfg

@@ -58,9 +58,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/ut3server/_default.cfg

@@ -69,9 +69,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/ut99server/_default.cfg

@@ -58,9 +58,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/utserver/_default.cfg

@@ -62,9 +62,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 127 - 0
lgsm/config-default/config-lgsm/vsserver/_default.cfg

@@ -0,0 +1,127 @@
+##################################
+######## 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://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
+ip="0.0.0.0"
+port="27015"
+clientport="27005"
+defaultmap="vs_frost"
+maxplayers="16"
+
+## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
+fn_parms(){
+parms="-game vs -strictportbind +ip ${ip} -port ${port} +clientport ${clientport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}"
+}
+
+#### LinuxGSM Settings ####
+
+## Notification Alerts
+# (on|off)
+
+# More info | https://github.com/GameServerManagers/LinuxGSM/wiki/Alerts#more-info
+postalert="off"
+postdays="7"
+posttarget="https://hastebin.com"
+
+# Discord Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Discord
+discordalert="off"
+discordwebhook="webhook"
+
+# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
+emailalert="off"
+email="email@example.com"
+emailfrom=""
+
+# IFTTT Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/IFTTT
+iftttalert="off"
+ifttttoken="accesstoken"
+iftttevent="linuxgsm_alert"
+
+# Mailgun Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/mailgun
+mailgunalert="off"
+mailguntoken="accesstoken"
+mailgundomain="example.com"
+mailgunemailfrom="alert@example.com"
+mailgunemail="email@myemail.com"
+
+# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+channeltag=""
+
+# Pushover Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushover
+pushoveralert="off"
+pushovertoken="accesstoken"
+
+# Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
+updateonstart="off"
+
+## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup
+maxbackups="4"
+maxbackupdays="30"
+stoponbackup="on"
+
+## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging
+consolelogging="on"
+logdays="7"
+
+#### LinuxGSM Advanced Settings ####
+
+## SteamCMD Settings
+# Server appid
+appid="90"
+appidmod="cstrike"
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta latest_experimental"
+branch=""
+
+## LinuxGSM Server Details
+# Do not edit
+gamename="Vampire Slayer"
+engine="goldsource"
+
+#### Directories ####
+# Edit with care
+
+## Server Specific Directories
+systemdir="${serverfiles}/vs"
+executabledir="${serverfiles}"
+executable="./hlds_run"
+servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
+servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+## Backup Directory
+backupdir="${rootdir}/backups"
+
+## 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"

+ 4 - 0
lgsm/config-default/config-lgsm/wetserver/_default.cfg

@@ -54,9 +54,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Backup
 maxbackups="4"

+ 4 - 0
lgsm/config-default/config-lgsm/zpsserver/_default.cfg

@@ -67,9 +67,13 @@ pushoveralert="off"
 pushovertoken="accesstoken"
 
 # Telegram Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/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://github.com/GameServerManagers/LinuxGSM/wiki/Update
 updateonstart="off"

BIN
lgsm/data/alert_discord_logo.png


+ 5 - 1
lgsm/data/serverlist.csv

@@ -6,6 +6,7 @@ bf1942,bf1942server,Battlefield 1942
 bd,bdserver,Base Defense
 bmdm,bmdmserver,Black Mesa: Deathmatch
 bs,bsserver,Blade Symphony
+bb,bbserver,BrainBread
 bb2,bb2server,BrainBread 2
 bt1944,bt1944server,Battalion 1944
 cod,codserver,Call of Duty
@@ -24,6 +25,7 @@ doi,doiserver,Day of Infamy
 dmc,dmcserver,Deathmatch Classic
 dst,dstserver,Don't Starve Together
 dab,dabserver,Double Action: Boogaloo
+eco,ecoserver,Eco
 em,emserver,Empires Mod
 fctr,fctrserver,Factorio
 fof,fofserver,Fistful of Frags
@@ -43,8 +45,9 @@ l4d2,l4d2server,Left 4 Dead 2
 mc,mcserver,Minecraft
 mta,mtaserver,Multi Theft Auto
 mumble,mumbleserver,Mumble
-ns2,ns2server,Natural Selection 2
 nmrih,nmrihserver,No More Room in Hell
+ns,nsserver,Natural Selection
+ns2,ns2server,Natural Selection 2
 ns2c,ns2cserver,NS2: Combat
 opfor,opforserver,Opposing Force
 pvkii,pvkiiserver,Pirates Vikings & Knights II
@@ -73,6 +76,7 @@ tu,tuserver,Tower Unite
 ut2k4,ut2k4server,Unreal Tournament 2004
 ut3,ut3server,Unreal Tournament 3
 ut99,ut99server,Unreal Tournament 99
+vs,vsserver,Vampire Slayer
 wet,wetserver,Wolfenstein: Enemy Territory
 etl,etlserver,ET: Legacy
 zps,zpsserver,Zombie Panic! Source

+ 4 - 4
lgsm/functions/alert_discord.sh

@@ -8,18 +8,18 @@
 json=$(cat <<EOF
 {
 "username":"LinuxGSM",
-"avatar_url":"https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/images/logo/lgsm-dark-square-512.png",
+"avatar_url":"https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/data/alert_discord_logo.png",
 "file":"content",
 
 "embeds": [{
 	"color": "2067276",
-	"author": {"name": "${alertemoji} ${alertsubject} ${alertemoji}", "icon_url": "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/images/logo/lgsm-dark-square-512.png"},
+	"author": {"name": "${alertemoji} ${alertsubject} ${alertemoji}", "icon_url": "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.png"},
 	"title": "",
 	"description": "",
 	"url": "",
 	"type": "content",
-	"thumbnail": {"url": "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/images/logo/lgsm-dark-square-512.png"},
-	"footer": {"text": "LinuxGSM", "icon_url": "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/images/logo/lgsm-dark-square-512.png"},
+	"thumbnail": {"url": "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.png"},
+	"footer": {"text": "LinuxGSM", "icon_url": "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/lgsm/data/alert_discord_logo.png"},
 	"fields": [
 			{
 				"name": "Alert Message",

+ 1 - 1
lgsm/functions/alert_telegram.sh

@@ -19,7 +19,7 @@ EOF
 
 fn_print_dots "Sending Telegram alert"
 sleep 0.5
-telegramsend=$(${curlpath} -sSL -H "Content-Type: application/json" -X POST -d """${json}""" "https://api.telegram.org/bot${telegramtoken}/sendMessage" | grep "error_code")
+telegramsend=$(${curlpath} -sSL -H "Content-Type: application/json" -X POST -d """${json}""" "https://api.telegram.org/bot${telegramtoken}/sendMessage" ${curlcustomstring} | grep "error_code")
 
 if [ -n "${telegramsend}" ]; then
 	fn_print_fail_nl "Sending Telegram alert: ${telegramsend}"

+ 1 - 1
lgsm/functions/check.sh

@@ -61,7 +61,7 @@ do
 	fi
 done
 
-local allowed_commands_array=( command_debug.sh command_details.sh command_monitor.sh command_start.sh command_stop.sh )
+local allowed_commands_array=( command_debug.sh command_details.sh command_monitor.sh command_start.sh command_stop.sh command_dev_query_raw.sh )
 for allowed_command in "${allowed_commands_array[@]}"
 do
 	if [ "${allowed_command}" == "${function_selfname}" ]; then

+ 234 - 67
lgsm/functions/check_deps.sh

@@ -6,6 +6,95 @@
 
 local commandname="CHECK"
 
+fn_install_mono_repo(){
+	if [ "${monostatus}" != "0" ]; then
+		fn_print_dots "Adding Mono repository"
+		sleep 0.5
+		sudo -v > /dev/null 2>&1
+		if [ $? -eq 0 ]; then
+			fn_print_info_nl "Automatically adding Mono repository."
+			fn_script_log_info "Automatically adding Mono repository."
+			echo -en ".\r"
+			sleep 1
+			echo -en "..\r"
+			sleep 1
+			echo -en "...\r"
+			sleep 1
+			echo -en "   \r"
+			if [ "${distroid}" == "ubuntu" ]; then
+				if [ "${distroversion}" == "18.04" ]; then
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					eval ${cmd}
+				elif [ "${distroversion}" == "16.04" ]; then
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-xenial main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					eval ${cmd}
+				elif [ "${distroversion}" == "14.04" ]; then
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-trusty main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					eval ${cmd}
+				else
+					fn_print_warn_nl "Installing Mono repository"
+					echo "Mono auto install not available for ${distroname}"
+					echo "	Follow instructions on mono site to install the latest version of Mono."
+					echo "	https://www.mono-project.com/download/stable/#download-lin"
+					monoautoinstall="1"
+				fi
+			elif [ "${distroid}" == "debian" ]; then
+				if [ "${distroversion}" == "9" ]; then
+					cmd="sudo apt install apt-transport-https dirmngr;sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;echo 'deb https://download.mono-project.com/repo/debian stable-stretch main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					eval ${cmd}
+				elif [ "${distroversion}" == "8" ]; then
+					cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/debian stable-jessie main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update"
+					eval ${cmd}
+				else
+					echo "Mono auto install not available for ${distroname}"
+					echo "	Follow instructions on mono site to install the latest version of Mono."
+					echo "	https://www.mono-project.com/download/stable/#download-lin"
+					monoautoinstall="1"
+				fi
+			elif [ "${distroid}" == "centos" ]; then
+				if [ "${distroversion}" == "7" ]; then
+					cmd="rpm --import 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF';su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'"
+					eval ${cmd}
+				elif [ "${distroversion}" == "6" ]; then
+					cmd="rpm --import 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF';su -c 'curl https://download.mono-project.com/repo/centos6-stable.repo | tee /etc/yum.repos.d/mono-centos6-stable.repo'"
+					eval ${cmd}
+				else
+					echo "Mono auto install not available for ${distroname}"
+					echo "	Follow instructions on mono site to install the latest version of Mono."
+					echo "	https://www.mono-project.com/download/stable/#download-lin"
+					monoautoinstall="1"
+				fi
+			elif [ "${distroid}" == "fedora" ]; then
+				cmd="rpm --import 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF'; su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'; dnf update"
+				eval ${cmd}
+			else
+				echo "Mono auto install not available for ${distroname}"
+				echo "	Follow instructions on mono site to install the latest version of Mono."
+				echo "	https://www.mono-project.com/download/stable/#download-lin"
+				monoautoinstall="1"
+			fi
+			if [ "${monoautoinstall}" != "1" ];then
+				if [ $? != 0 ]; then
+					fn_print_failure_nl "Unable to install Mono repository."
+					fn_script_log_fatal "Unable to installMono repository."
+					monoautoinstall=1
+				else
+					fn_print_complete_nl "Installing Mono repository completed."
+					fn_script_log_pass "Installing Mono repository completed."
+					monoautoinstall=0
+				fi
+			fi
+		else
+			fn_print_information_nl "Installing Mono repository"
+			echo ""
+			fn_print_warning_nl "$(whoami) does not have sudo access. Manually install Mono repository."
+			fn_script_log_warn "$(whoami) does not have sudo access. Manually install Mono repository."
+			echo "	Follow instructions on mono site to install the latest version of Mono."
+			echo "	https://www.mono-project.com/download/stable/#download-lin"
+		fi
+	fi
+}
+
 fn_deps_detector(){
 	# Checks if dependency is missing
 	if [ "${tmuxcheck}" == "1" ]; then
@@ -18,11 +107,20 @@ fn_deps_detector(){
 		depstatus=0
 		deptocheck="${javaversion}"
 		unset javacheck
-	elif [ -n "$(command -v apt 2>/dev/null)" ]; then
+	elif [ "${deptocheck}" == "mono-complete" ]; then
+		if [ "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then
+			# Mono >= 5.0.0 already installed
+			depstatus=0
+		else
+			# Mono not installed or installed Mono < 5.0.0
+			depstatus=1
+			monostatus=1
+		fi
+	elif [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
 		dpkg-query -W -f='${Status}' "${deptocheck}" 2>/dev/null | grep -q -P '^install ok installed'
 		depstatus=$?
-	elif [ -n "$(command -v yum 2>/dev/null)" ]; then
-		yum -q list installed "${deptocheck}" > /dev/null 2>&1
+	elif [ -n "$(command -v rpm 2>/dev/null)" ]; then
+		rpm -q "${deptocheck}" > /dev/null 2>&1
 		depstatus=$?
 	fi
 
@@ -31,14 +129,17 @@ fn_deps_detector(){
 		missingdep=0
 		if [ "${function_selfname}" == "command_install.sh" ]; then
 			echo -e "${green}${deptocheck}${default}"
-			sleep 0.5
+			sleep 0.2
 		fi
 	else
 		# if dependency is not found
 		missingdep=1
 		if [ "${function_selfname}" == "command_install.sh" ]; then
 			echo -e "${red}${deptocheck}${default}"
-			sleep 0.5
+			sleep 0.2
+		fi
+		if [ "${deptocheck}" ==  "glibc.i686" ]||[ "${deptocheck}" ==  "libstdc++64.i686" ]||[ "${deptocheck}" ==  "lib32gcc1" ]||[ "${deptocheck}" ==  "libstdc++6:i386" ]; then
+			steamcmdfail=1
 		fi
 	fi
 
@@ -58,13 +159,13 @@ fn_deps_email(){
 				array_deps_required+=( sendmail )
 			elif [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
 				array_deps_required+=( mailutils postfix )
-			elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+			elif [ -n "$(command -v rpm 2>/dev/null)" ]; then
 				array_deps_required+=( mailx postfix )
 			fi
 		else
 			if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
 				array_deps_required+=( mailutils postfix )
-			elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+			elif [ -n "$(command -v rpm 2>/dev/null)" ]; then
 				array_deps_required+=( mailx postfix )
 			fi
 		fi
@@ -78,6 +179,9 @@ fn_found_missing_deps(){
 		fn_print_error_nl "Checking dependencies: missing: ${red}${array_deps_missing[@]}${default}"
 		fn_script_log_error "Checking dependencies: missing: ${array_deps_missing[@]}"
 		sleep 0.5
+		if [ -n "${monostatus}" ]; then
+			fn_install_mono_repo
+		fi
 		sudo -v > /dev/null 2>&1
 		if [ $? -eq 0 ]; then
 			fn_print_information_nl "Automatically installing missing dependencies."
@@ -92,6 +196,9 @@ fn_found_missing_deps(){
 			if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
 				cmd="sudo dpkg --add-architecture i386; sudo apt update; sudo apt -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
+			elif [ -n "$(command -v dnf 2>/dev/null)" ]; then
+				cmd="sudo dnf -y install ${array_deps_missing[@]}"
+				eval "${cmd}"
 			elif [ -n "$(command -v yum 2>/dev/null)" ]; then
 				cmd="sudo yum -y install ${array_deps_missing[@]}"
 				eval "${cmd}"
@@ -99,6 +206,22 @@ fn_found_missing_deps(){
 			if [ $? != 0 ]; then
 				fn_print_failure_nl "Unable to install dependencies"
 				fn_script_log_fatal "Unable to install dependencies"
+				echo ""
+				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[@]}"
+				elif [ -n "$(command -v dnf 2>/dev/null)" ]; then
+					echo "	sudo dnf install ${array_deps_missing[@]}"
+				elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+					echo "	sudo yum install ${array_deps_missing[@]}"
+				fi
+				if [ "${steamcmdfail}" ]; then
+					echo ""
+					fn_print_failure_nl "Missing dependencies required to run SteamCMD."
+					fn_script_log_fatal "Missing dependencies required to run SteamCMD."
+					core_exit.sh
+				fi
 			else
 				fn_print_complete_nl "Install dependencies completed"
 				fn_script_log_pass "Install dependencies completed"
@@ -109,9 +232,17 @@ fn_found_missing_deps(){
 			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[@]}"
+			elif [ -n "$(command -v dnf 2>/dev/null)" ]; then
+				echo "	sudo dnf install ${array_deps_missing[@]}"
 			elif [ -n "$(command -v yum 2>/dev/null)" ]; then
 				echo "	sudo yum install ${array_deps_missing[@]}"
 			fi
+			if [ "${steamcmdfail}" ]; then
+				echo ""
+				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 ""
 		fi
 		if [ "${function_selfname}" == "command_install.sh" ]; then
@@ -131,24 +262,16 @@ fn_check_loop(){
 	fn_found_missing_deps
 }
 
-info_distro.sh
-
-if [ "${function_selfname}" == "command_install.sh" ]; then
-	echo ""
-	echo "Checking Dependencies"
-	echo "================================="
-fi
-
-# Check will only run if using apt or yum
-if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
+# Generate require dependencies for debian based systems
+fn_deps_build_debian(){
 	# Generate array of missing deps
 	array_deps_missing=()
 
-	# LinuxGSM requirements
+	## LinuxGSM requirements
 	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python bzip2 gzip unzip binutils bc )
 
 	# All servers except ts3 require tmux
-	if [ "${gamename}" != "TeamSpeak 3" ]; then
+	if [ "${shortname}" != "ts3" ]; then
 		if [ "$(command -v tmux 2>/dev/null)" ]; then
 			tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
 		else
@@ -156,8 +279,8 @@ if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
 		fi
 	fi
 
-	# All servers except ts3,mumble,multitheftauto and minecraft servers require libstdc++6 and lib32gcc1
-	if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${gamename}" != "Mumble" ]&&[ "${engine}" != "lwjgl2" ]&&[ "${engine}" != "renderware" ]; then
+	# All servers except ts3, mumble, GTA and minecraft servers require libstdc++6 and lib32gcc1
+	if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "mc" ]&&[ "${engine}" != "renderware" ]; then
 		if [ "${arch}" == "x86_64" ]; then
 			array_deps_required+=( lib32gcc1 libstdc++6:i386 )
 		else
@@ -165,87 +288,102 @@ if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then
 		fi
 	fi
 
-	# Game Specific requirements
+	## Game Specific requirements
 
-	# Natural Selection 2
-	if [ "${gamename}" == "Natural Selection 2" ]; then
+	# Natural Selection 2 - x64 only
+	if [ "${shortname}" == "ns2" ]; then
 		array_deps_required+=( speex libtbb2 )
 	# NS2: Combat
-	elif [ "${gamename}" == "NS2: Combat" ]; then
+	elif [ "${shortname}" == "ns2c" ]; then
 		array_deps_required+=( speex:i386 libtbb2 )
 	# 7 Days to Die
-	elif [ "${gamename}" == "7 Days To Die" ]; then
+	elif [ "${shortname}" == "sdtd" ]; then
 		array_deps_required+=( telnet expect )
 	# No More Room in Hell, Counter-Strike: Source and Garry's Mod
-	elif [ "${gamename}" == "No More Room in Hell" ]||[ "${gamename}" == "Counter-Strike: Source" ]||[ "${gamename}" == "Garry's Mod" ]||[ "${gamename}" == "Zombie Panic! Source" ]; then
+	elif [ "${shortname}" == "nmrih" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "zps" ]; then
 		if [ "${arch}" == "x86_64" ]; then
 			array_deps_required+=( lib32tinfo5 )
 		else
 			array_deps_required+=( libtinfo5 )
 		fi
 	# Brainbread 2 ,Don't Starve Together & Team Fortress 2
-	elif [ "${gamename}" == "Brainbread 2" ]||[ "${gamename}" == "Don't Starve Together" ]||[ "${gamename}" == "Team Fortress 2" ]; then
+	elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
 		array_deps_required+=( libcurl4-gnutls-dev:i386 )
-		if [ "${gamename}" == "Team Fortress 2" ]; then
+		if [ "${shortname}" == "tf2" ]; then
 			array_deps_required+=( libtcmalloc-minimal4:i386 )
 		fi
 	# Battlefield: 1942
-	elif [ "${gamename}" == "Battlefield: 1942" ]; then
+	elif [ "${shortname}" == "bf1942" ]; then
 		array_deps_required+=( libncurses5:i386 )
 	# Call of Duty
-	elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${gamename}" == "Call of Duty 2" ]; then
+	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]; then
 		array_deps_required+=( libstdc++5:i386 )
 	# Factorio
-	elif [ "${gamename}" == "Factorio" ]; then
+	elif [ "${shortname}" == "fctr" ]; then
 		array_deps_required+=( xz-utils )
 	# Hurtword/Rust
-	elif [ "${gamename}" == "Hurtword" ]||[ "${gamename}" == "Rust" ]; then
+	elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
 		array_deps_required+=( lib32z1 )
-	# Project Zomboid and Minecraft
-	elif [ "${engine}" ==  "projectzomboid" ]||[ "${engine}" == "lwjgl2" ]; then
+	# Minecraft
+	elif [ "${shortname}" == "mc" ]; then
 		javaversion=$(java -version 2>&1 | grep "version")
-		if [ -n "${javaversion}" ]; then
+		if [ "${javaversion}" ]; then
 			javacheck=1 # Added for users using Oracle JRE to bypass the check.
 		else
-			array_deps_required+=( default-jre )
+			array_deps_required+=( openjdk-8-jre-headless )
+		fi
+	# Project Zomboid
+	elif [ "${shortname}" == "pz" ]; then
+		if [ -n "$(java -version 2>&1 | grep "version")" ]; then
+			javacheck=1 # Added for users using Oracle JRE to bypass the check.
+			array_deps_required+=( rng-tools )
+		else
+			array_deps_required+=( default-jre rng-tools )
 		fi
 	# GoldenEye: Source
-	elif [ "${gamename}" ==  "GoldenEye: Source" ]; then
+	elif [ "${shortname}" == "ges" ]; then
 		array_deps_required+=( zlib1g:i386 libldap-2.4-2:i386 )
 	# Serious Sam 3: BFE
-	elif [ "${gamename}" ==  "Serious Sam 3: BFE" ]; then
+	elif [ "${shortname}" == "ss3" ]; then
 		array_deps_required+=( libxrandr2:i386 libglu1-mesa:i386 libxtst6:i386 libusb-1.0-0-dev:i386 libxxf86vm1:i386 libopenal1:i386 libssl1.0.0:i386 libgtk2.0-0:i386 libdbus-glib-1-2:i386 libnm-glib-dev:i386 )
 	# Unreal Engine
-	elif [ "${executable}" ==  "./ucc-bin" ]; then
+	elif [ "${executable}" == "./ucc-bin" ]; then
 		#UT2K4
 		if [ -f "${executabledir}/ut2004-bin" ]; then
-			array_deps_required+=( libsdl1.2debian libstdc++5:i386 bzip2 )
+			array_deps_required+=( libsdl1.2debian libstdc++5:i386 )
 		#UT99
 		else
-			array_deps_required+=( libsdl1.2debian bzip2 )
+			array_deps_required+=( libsdl1.2debian )
 		fi
 	# Unreal Tournament
-	elif [ "${gamename}" == "Unreal Tournament" ]; then
+	elif [ "${shortname}" == "ut" ]; then
 		array_deps_required+=( unzip )
+	# Eco
+	elif [ "${shortname}" == "eco" ]; then
+		array_deps_required+=( mono-complete )
 	fi
 	fn_deps_email
 	fn_check_loop
+}
 
-elif [ -n "$(command -v yum 2>/dev/null)" ]; then
+fn_deps_build_redhat(){
 	# Generate array of missing deps
 	array_deps_missing=()
 
 	# LinuxGSM requirements
+	## CentOS 6
 	if [ "${distroversion}" == "6" ]; then
 		array_deps_required=( curl wget util-linux-ng python file gzip bzip2 unzip binutils bc )
+	elif [ "${distroid}" == "fedora" ]; then
+			array_deps_required=( curl wget util-linux python2 file gzip bzip2 unzip binutils bc )
 	elif [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then
-        	array_deps_required=( curl wget util-linux python27 file gzip bzip2 unzip binutils bc )
+			array_deps_required=( curl wget util-linux python27 file gzip bzip2 unzip binutils bc )
 	else
 		array_deps_required=( curl wget util-linux python file gzip bzip2 unzip binutils bc )
 	fi
 
 	# All servers except ts3 require tmux
-	if [ "${gamename}" != "TeamSpeak 3" ]; then
+	if [ "${shortname}" != "ts3" ]; then
 		if [ "$(command -v tmux 2>/dev/null)" ]; then
 			tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
 		else
@@ -254,58 +392,68 @@ elif [ -n "$(command -v yum 2>/dev/null)" ]; then
 	fi
 
 	# All servers except ts3,mumble,multitheftauto and minecraft servers require glibc.i686 and libstdc++.i686
-	if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${gamename}" != "Mumble" ]&&[ "${engine}" != "lwjgl2" ]&&[ "${engine}" != "renderware" ]; then
+	if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "nc" ]&&[ "${engine}" != "renderware" ]; then
 		if [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then
-            		array_deps_required+=( glibc.i686 libstdc++64.i686 )
-        	else
+			array_deps_required+=( glibc.i686 libstdc++64.i686 )
+		else
 			array_deps_required+=( glibc.i686 libstdc++.i686 )
 		fi
 	fi
 
 	# Game Specific requirements
 
-	# Natural Selection 2
-	if [ "${gamename}" == "Natural Selection 2" ]; then
+	# Natural Selection 2 (x64 only)
+	if [ "${shortname}" == "ns2" ]; then
 		array_deps_required+=( speex tbb )
 	# NS2: Combat
-	elif [ "${gamename}" == "NS2: Combat" ]; then
+	elif [ "${shortname}" == "ns2c" ]; then
 		array_deps_required+=( speex.i686 tbb.i686 )
 	# 7 Days to Die
-	elif [ "${gamename}" == "7 Days To Die" ]; then
+	elif [ "${shortname}" == "sdtd" ]; then
 		array_deps_required+=( telnet expect )
-	# No More Room in Hell, Counter-Strike: Source and Garry's Mod
-	elif [ "${gamename}" == "No More Room in Hell" ]||[ "${gamename}" == "Counter-Strike: Source" ]||[ "${gamename}" == "Garry's Mod" ]||[ "${gamename}" == "Zombie Panic! Source" ]; then
+	# No More Room in Hell, Counter-Strike: Source, Garry's Mod and Zombie Panic: Source
+	elif [ "${shortname}" == "nmrih" ]||[ "${shortname}" == "css" ]||[ "${shortname}" == "gmod" ]||[ "${shortname}" == "zps" ]; then
 		array_deps_required+=( ncurses-libs.i686 )
 	# Brainbread 2, Don't Starve Together & Team Fortress 2
-	elif [ "${gamename}" == "Brainbread 2" ]||[ "${gamename}" == "Don't Starve Together" ]||[ "${gamename}" == "Team Fortress 2" ]; then
+	elif [ "${shortname}" == "bb2" ]||[ "${shortname}" == "dst" ]||[ "${shortname}" == "tf2" ]; then
 		array_deps_required+=( libcurl.i686 )
 		if [ "${gamename}" == "Team Fortress 2" ]; then
 			array_deps_required+=( gperftools-libs.i686 )
 		fi
 	# Battlefield: 1942
-	elif [ "${gamename}" == "Battlefield: 1942" ]; then
+	elif [ "${shortname}" == "bf1942" ]; then
 		array_deps_required+=( ncurses-libs.i686 )
 	# Call of Duty
-	elif [ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${gamename}" == "Call of Duty 2" ]; then
+	elif [ "${shortname}" == "cod" ]||[ "${shortname}" == "coduo" ]||[ "${shortname}" == "cod2" ]; then
 		array_deps_required+=( compat-libstdc++-33.i686 )
 	# Factorio
-	elif [ "${gamename}" == "Factorio" ]; then
+	elif [ "${shortname}" == "fctr" ]; then
 		array_deps_required+=( xz )
-	elif [ "${gamename}" == "Hurtword" ]||[ "${gamename}" == "Rust" ]; then
+	elif [ "${shortname}" == "hw" ]||[ "${shortname}" == "rust" ]; then
 		array_deps_required+=( zlib-devel )
-	# Project Zomboid and Minecraft
-	elif [ "${engine}" ==  "projectzomboid" ]||[ "${engine}" == "lwjgl2" ]; then
+	# Minecraft
+	elif [ "${shortname}" == "mc" ]; then
 		javaversion=$(java -version 2>&1 | grep "version")
-		if [ -n "${javaversion}" ]; then
+		if [ "${javaversion}" ]; then
 			javacheck=1 # Added for users using Oracle JRE to bypass the check.
+			array_deps_required+=( rng-tools )
 		else
-			array_deps_required+=( java-1.8.0-openjdk )
+			array_deps_required+=( java-1.8.0-openjdk rng-tools )
+		fi
+	# Project Zomboid & Minecraft
+	elif [ "${shortname}" == "pz" ]; then
+		javaversion=$(java -version 2>&1 | grep "version")
+		if [ "${javaversion}" ]; then
+			javacheck=1 # Added for users using Oracle JRE to bypass the check.
+			array_deps_required+=( rng-tools )
+		else
+			array_deps_required+=( java-1.8.0-openjdk rng-tools )
 		fi
 	# GoldenEye: Source
-	elif [ "${gamename}" ==  "GoldenEye: Source" ]; then
+	elif [ "${shortname}" == "ges" ]; then
 		array_deps_required+=( zlib.i686 openldap.i686 )
 	# Unreal Engine
-	elif [ "${executable}" ==  "./ucc-bin" ]; then
+	elif [ "${executable}" == "./ucc-bin" ]; then
 		#UT2K4
 		if [ -f "${executabledir}/ut2004-bin" ]; then
 			array_deps_required+=( compat-libstdc++-33.i686 SDL.i686 bzip2 )
@@ -314,9 +462,28 @@ elif [ -n "$(command -v yum 2>/dev/null)" ]; then
 			array_deps_required+=( SDL.i686 bzip2 )
 		fi
 	# Unreal Tournament
-	elif [ "${gamename}" == "Unreal Tournament" ]; then
+	elif [ "${shortname}" == "ut" ]; then
 		array_deps_required+=( unzip )
+	# Eco
+	elif [ "${shortname}" == "eco" ]; then
+		array_deps_required+=( mono-complete )
 	fi
 	fn_deps_email
 	fn_check_loop
+}
+
+if [ "${function_selfname}" == "command_install.sh" ]; then
+	echo ""
+	echo "Checking Dependencies"
+	echo "================================="
 fi
+
+# Filter checking in to Debian or Red Hat Based
+info_distro.sh
+if [ -f "/etc/debian_version" ]; then
+	fn_deps_build_debian
+elif [ -f "/etc/redhat-release" ]; then
+	fn_deps_build_redhat
+else
+	fn_print_warning_nl "${distroname} dependency checking unavailable"
+fi

+ 2 - 2
lgsm/functions/check_ip.sh

@@ -14,8 +14,8 @@ if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${gamename}" != "Mumble" ]&&[ "${travi
 	else
 		ipcommand="ip"
 	fi
-	getip=$(${ipcommand} -o -4 addr| awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | grep -v 127.0.0)
-	getipwc=$(${ipcommand} -o -4 addr| awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}' | grep -vc 127.0.0)
+	getip=$(${ipcommand} -o -4 addr | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}'|sort -u|grep -v 127.0.0)
+	getipwc=$(${ipcommand} -o -4 addr | awk '{print $4}' | grep -oe '\([0-9]\{1,3\}\.\?\)\{4\}'|sort -u|grep -vc 127.0.0)
 	info_config.sh
 	info_parms.sh
 

+ 1 - 1
lgsm/functions/check_status.sh

@@ -32,5 +32,5 @@ elif [ "${gamename}" == "Mumble" ]; then
 		status=1
 	fi
 else
-	status=$(tmux list-sessions 2>&1 | awk '{print $1}' | grep -Ec "^${servicename}:")
+	status=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | grep -Ecx "^${servicename}")
 fi

+ 3 - 2
lgsm/functions/command_debug.sh

@@ -96,15 +96,16 @@ fn_script_log_info "${rootdir}/${lockselfname}"
 trap fn_lockfile_trap INT
 
 cd "${executabledir}" || exit
+# Note: do not add double quotes to ${executable} ${parms}
 if [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
 	${executable} ${parms} -debug
 elif [ "${engine}" == "realvirtuality" ]; then
 	# Arma3 requires semicolons in the module list, which need to
 	# be escaped for regular (tmux) loading, but need to be
 	# stripped when loading straight from the console.
-	"${executable}" "${parms//\\;/;}"
+	${executable} ${parms//\\;/;}
 else
-	"${executable}" "${parms}"
+	${executable} ${parms}
 fi
 
 fn_print_dots "Stopping debug"

+ 2 - 1
lgsm/functions/command_dev_clear_functions.sh

@@ -9,6 +9,7 @@ echo "Clear Functions"
 echo "================================="
 echo ""
 if fn_prompt_yn "Do you want to delete all functions?" Y; then
-	rm -rfv "${functionsdir}/*"
+	rm -rfv "${functionsdir}"/*
+	rm -rfv "${configdirdefault}"/*
 fi
 core_exit.sh

+ 19 - 4
lgsm/functions/command_dev_detect_deps.sh

@@ -4,8 +4,8 @@
 # Website: https://linuxgsm.com
 # Description: Detects dependencies the server binary requires.
 
-local commandname="DEPS-DETECT"
-local commandaction="Deps-Detect"
+local commandname="DETECT-DEPS"
+local commandaction="Detect-Deps"
 local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 echo "================================="
@@ -35,6 +35,7 @@ done
 sort "${tmpdir}/.depdetect_readelf" |uniq >"${tmpdir}/.depdetect_readelf_uniq"
 
 while read -r lib; do
+	echo "${lib}"
 	if [ "${lib}" == "libm.so.6" ]||[ "${lib}" == "libc.so.6" ]||[ "${lib}" == "libtcmalloc_minimal.so.4" ]||[ "${lib}" == "libpthread.so.0" ]||[ "${lib}" == "libdl.so.2" ]||[ "${lib}" == "libnsl.so.1" ]||[ "${lib}" == "libgcc_s.so.1" ]||[ "${lib}" == "librt.so.1" ]||[ "${lib}" == "ld-linux.so.2" ]; then
 		echo "glibc.i686" >> "${tmpdir}/.depdetect_centos_list"
 		echo "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list"
@@ -55,16 +56,30 @@ while read -r lib; do
 		echo "speex.i686" >> "${tmpdir}/.depdetect_centos_list"
 		echo "speex:i386" >> "${tmpdir}/.depdetect_ubuntu_list"
 		echo "speex:i386" >> "${tmpdir}/.depdetect_debian_list"
-
 	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"
-
 	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"
+	elif [ "${lib}" == "libawt.so" ]||[ "${lib}" == "libjava.so" ]||[ "${lib}" == "libjli.so" ]||[ "${lib}" == "libjvm.so" ]||[ "${lib}" == "libnet.so" ]||[ "${lib}" == "libnio.so" ]||[ "${lib}" == "libverify.so" ]; 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"
+	elif [ "${lib}" == "libXrandr.so.2" ]; then
+		echo "libXrandr" >> "${tmpdir}/.depdetect_centos_list"
+		echo "libxrandr2" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "libxrandr2" >> "${tmpdir}/.depdetect_debian_list"
+	elif [ "${lib}" == "libXext.so.6" ]; then
+		echo "libXext" >> "${tmpdir}/.depdetect_centos_list"
+		echo "libxext6" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "libxext6" >> "${tmpdir}/.depdetect_debian_list"
+	elif [ "${lib}" == "libXtst.so.6" ]; then
+		echo "libXtst" >> "${tmpdir}/.depdetect_centos_list"
+		echo "libxtst6" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "libxtst6" >> "${tmpdir}/.depdetect_debian_list"
 
 	elif [ "${lib}" == "libtier0.so" ]||[ "${lib}" == "libtier0_srv.so" ]||[ "${lib}" == "libvstdlib_srv.so" ]||[ "${lib}" == "Core.so" ]||[ "${lib}" == "libvstdlib.so" ]||[ "${lib}" == "libtier0_s.so" ]||[ "${lib}" == "Editor.so" ]||[ "${lib}" == "Engine.so" ]||[ "${lib}" == "liblua.so" ]||[ "${lib}" == "libsteam_api.so" ]||[ "${lib}" == "ld-linux-x86-64.so.2" ]||[ "${lib}" == "libPhysX3_x86.so" ]||[ "${lib}" == "libPhysX3Common_x86.so" ]||[ "${lib}" == "libPhysX3Cooking_x86.so" ]; then
 		# Known shared libs what dont requires dependencies

+ 57 - 15
lgsm/functions/command_dev_detect_glibc.sh

@@ -5,6 +5,10 @@
 # Description: Automatically detects the version of GLIBC that is required.
 # Can check a file or directory recursively.
 
+local commandname="DETECT-GLIBC"
+local commandaction="Detect-Glibc"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
 echo "================================="
 echo "GLIBC Requirements Checker"
 echo "================================="
@@ -28,22 +32,60 @@ elif [ -f "${serverfiles}" ]; then
 fi
 echo ""
 
-files=$(find "${serverfiles}" | wc -l)
-find "${serverfiles}" -type f -print0 |
-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.tmp"
+
+local glibc_check_dir_array=( steamcmddir serverfiles )
+for glibc_check_var in "${glibc_check_dir_array[@]}"
+do
+	if [ "${glibc_check_var}" == "serverfiles" ]; then
+		glibc_check_dir="${serverfiles}"
+		glibc_check_name="${gamename}"
+	elif [ "${glibc_check_var}" == "steamcmddir" ]; then
+		glibc_check_dir="${steamcmddir}"
+		glibc_check_name="SteamCMD"
+	fi
+
+	if [ -d "${glibc_check_dir}" ]; then
+		glibc_check_files=$(find "${glibc_check_dir}" | wc -l)
+		find "${glibc_check_dir}" -type f -print0 |
+		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"
+			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 "================================="
+		if [ -f "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp" ]; then
+			echo "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"
+			cat "${tmpdir}/detect_glibc_files_${glibc_check_var}.tmp"
+			echo ""
+			echo "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"
+		else
+			fn_print_information_nl "GLIBC is not required"
+		fi
+	else
+		fn_print_information_nl "${glibc_check_name} is not installed"
 	fi
-	objdump -T "${line}" 2>/dev/null | grep -oP "GLIBC[^ ]+" >>"${tmpdir}/detect_glibc.tmp"
-	echo -n "${i} / ${files}" $'\r'
-	((i++))
 done
 echo ""
-cat "${tmpdir}/detect_glibc_files.tmp"
-echo ""
-cat "${tmpdir}/detect_glibc.tmp" | sort | uniq | sort -r --version-sort
-rm "${tmpdir}/detect_glibc.tmp"
-rm "${tmpdir}/detect_glibc_files.tmp"
-
+echo "Final GLIBC Requirement"
+echo "================================="
+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"
+else
+	fn_print_information_nl "GLIBC is not required"
+fi
 core_exit.sh

Some files were not shown because too many files changed in this diff