Daniel Gibbs 9 лет назад
Родитель
Сommit
0277014c23
100 измененных файлов с 997 добавлено и 670 удалено
  1. 9 2
      7DaysToDie/sdtdserver
  2. 9 2
      ARKSurvivalEvolved/arkserver
  3. 14 10
      Arma3/arma3server
  4. 7 5
      Battlefield1942/bf1942server
  5. 9 2
      BlackMesa/bmdmserver
  6. 9 2
      BladeSymphony/bsserver
  7. 9 2
      BrainBread2/bb2server
  8. 9 2
      CodenameCURE/ccserver
  9. 4 2
      CounterStrike/csserver
  10. 4 2
      CounterStrikeConditionZero/csczserver
  11. 4 2
      CounterStrikeGlobalOffensive/csgoserver
  12. 9 2
      CounterStrikeSource/cssserver
  13. 4 2
      DayOfDefeat/dodserver
  14. 9 2
      DayOfDefeatSource/dodsserver
  15. 9 2
      DayOfInfamy/doiserver
  16. 4 2
      DeathmatchClassic/dmcserver
  17. 9 1
      DontStarveTogether/dstserver
  18. 9 2
      DoubleActionBoogaloo/dabserver
  19. 9 2
      EmpiresMod/emserver
  20. BIN
      FistfulOfFrags/dependencies/libm.so.6
  21. 9 2
      FistfulOfFrags/fofserver
  22. BIN
      GarrysMod/dependencies/libc.so.6
  23. BIN
      GarrysMod/dependencies/libm.so.6
  24. BIN
      GarrysMod/dependencies/libpthread.so.0
  25. BIN
      GarrysMod/dependencies/libstdc++.so.6
  26. 9 2
      GarrysMod/gmodserver
  27. 4 2
      GoldenEyeSource/gesserver
  28. 4 2
      HalfLife2Deathmatch/hl2dmserver
  29. 4 2
      HalfLifeDeathmatch/hldmserver
  30. 4 2
      HalfLifeDeathmatchSource/hldmsserver
  31. 8 1
      Hurtworld/hwserver
  32. 10 3
      Insurgency/insserver
  33. 1 0
      JustCause2/cfg/config.lua
  34. 9 3
      JustCause2/jc2server
  35. 9 2
      KillingFloor/kfserver
  36. 1 1
      LICENSE
  37. 9 2
      Left4Dead/l4dserver
  38. 9 2
      Left4Dead2/l4d2server
  39. 36 34
      Minecraft/mcserver
  40. 5 3
      Mumble/mumbleserver
  41. BIN
      NS2Combat/dependencies/libc.so.6
  42. BIN
      NS2Combat/dependencies/libm.so.6
  43. BIN
      NS2Combat/dependencies/libstdc++.so.6
  44. 8 1
      NS2Combat/ns2cserver
  45. BIN
      NaturalSelection2/dependencies/libc.so.6
  46. BIN
      NaturalSelection2/dependencies/libm.so.6
  47. BIN
      NaturalSelection2/dependencies/libstdc++.so.6
  48. 4 2
      NaturalSelection2/ns2server
  49. BIN
      NoMoreRoomInHell/dependencies/libm.so.6
  50. 9 2
      NoMoreRoomInHell/nmrihserver
  51. 4 2
      OpposingForce/opforserver
  52. 9 2
      PiratesVikingandKnightsII/pvkiiserver
  53. 9 5
      ProjectZomboid/pzserver
  54. 36 0
      Quake3/cfg/lgsm-default.cfg
  55. 145 0
      Quake3/q3server
  56. 11 4
      QuakeLive/qlserver
  57. 4 2
      RedOrchestra/roserver
  58. 4 2
      Ricochet/ricochetserver
  59. 9 2
      Rust/rustserver
  60. 9 2
      SeriousSam3BFE/ss3sserver
  61. 9 2
      Starbound/sbserver
  62. 9 2
      SvenCoop/svenserver
  63. 9 2
      TeamFortress2/tf2server
  64. 4 2
      TeamFortressClassic/tfcserver
  65. 4 2
      TeamSpeak3/ts3server
  66. 4 2
      Teeworlds/twserver
  67. 4 2
      Terraria/terrariaserver
  68. 3 1
      UnrealTournament/utserver
  69. 4 2
      UnrealTournament2004/ut2k4server
  70. 14 10
      UnrealTournament3/ut3server
  71. 4 2
      UnrealTournament99/ut99server
  72. 6 4
      WolfensteinEnemyTerritory/wetserver
  73. 0 22
      appmanifest/appmanifest_10.acf
  74. 0 22
      appmanifest/appmanifest_70.acf
  75. 0 28
      appmanifest/appmanifest_90.acf
  76. 0 31
      appmanifest/czero/appmanifest_90.acf
  77. 0 31
      appmanifest/dod/appmanifest_90.acf
  78. 0 31
      appmanifest/tfc/appmanifest_90.acf
  79. 0 38
      functions/command_update_functions.sh
  80. 0 72
      functions/core_functions.sh
  81. 0 14
      functions/core_getopt.sh
  82. 0 15
      functions/fn_functions
  83. 0 14
      functions/fn_getopt
  84. 0 15
      functions/fn_update_functions
  85. 0 15
      functions/update_functions.sh
  86. 5 1
      lgsm/functions/alert_email.sh
  87. 1 1
      lgsm/functions/alert_pushbullet.sh
  88. 2 1
      lgsm/functions/check.sh
  89. 32 13
      lgsm/functions/check_deps.sh
  90. 9 3
      lgsm/functions/check_ip.sh
  91. 50 6
      lgsm/functions/check_permissions.sh
  92. 3 1
      lgsm/functions/check_status.sh
  93. 2 2
      lgsm/functions/check_steamcmd.sh
  94. 5 6
      lgsm/functions/check_system_requirements.sh
  95. 32 0
      lgsm/functions/check_tmuxception.sh
  96. 7 1
      lgsm/functions/command_debug.sh
  97. 120 65
      lgsm/functions/command_details.sh
  98. 48 48
      lgsm/functions/command_dev_detect_deps.sh
  99. 13 4
      lgsm/functions/command_dev_detect_glibc.sh
  100. 53 0
      lgsm/functions/command_dev_detect_ldd.sh

+ 9 - 2
7DaysToDie/sdtdserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -50,6 +51,11 @@ githubbranch="master"
 # Steam
 appid="294420"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta latest_experimental"
+branch=""
+
 # Server Details
 servicename="sdtd-server"
 gamename="7 Days To Die"
@@ -62,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./7DaysToDieServer.x86"
 servercfg="${servicename}.xml"
+servercfgdefault="serverconfig.xml"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/serverconfig.xml"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
ARKSurvivalEvolved/arkserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="376030"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="ark-server"
 gamename="ARK: Survivial Evolved"
@@ -67,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/ShooterGame"
 executabledir="${systemdir}/Binaries/Linux"
@@ -74,7 +81,7 @@ executable="./ShooterGameServer"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"
 servercfg="GameUserSettings.ini"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.ini"
+servercfgdefault="${servercfgdir}/GameUserSettings.ini"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 14 - 10
Arma3/arma3server

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -41,10 +42,10 @@ parms="-netlog -ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${serv
 
 # ARMA 3 Modules
 # add mods with relative paths:
-# mods/\@CBA_A3\;
-# or several mods as:
-# mods/\@CBA_A3\;mods/\@task_force_radio
-# and chmod modules directories to 775
+# mods/@cba_a3
+# to load the "Community Base Addons v3" module found in the
+# directory serverfiles/mods/@cba_a3.  Load several mods as:
+# mods="mods/@ace\;mods/@acex\;mods/@cba_a3"
 mods=""
 
 # Server-side Mods
@@ -64,10 +65,12 @@ githubrepo="LinuxGSM"
 githubbranch="master"
 
 # Steam
-# Stable
 appid="233780"
-# Development
-# appid="233780 -beta development"
+
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta development"
+branch=""
 
 # Server Details
 servicename="arma3-server"
@@ -81,17 +84,18 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./arma3server"
 servercfg="${servicename}.server.cfg"
 networkcfg="${servicename}.network.cfg"
+servercfgdefault="server.cfg"
+networkcfgdefault="network.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 networkcfgfullpath="${servercfgdir}/${networkcfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.server.cfg"
-networkcfgdefault="${servercfgdir}/lgsm-default.network.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 7 - 5
Battlefield1942/bf1942server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -26,10 +27,9 @@ pushbulletalert="off"
 pushbullettoken="accesstoken"
 
 # Start Variables
-ip="0.0.0.0"
 
 fn_parms(){
-parms=" +hostServer 1 +dedicated 1"
+parms="+hostServer 1 +dedicated 1"
 }
 
 #### Advanced Variables ####
@@ -37,8 +37,8 @@ parms=" +hostServer 1 +dedicated 1"
 # Github Branch Select
 # Allows for the use of different function files
 # from a different repo and/or branch.
-githubuser="dgibbs64"
-githubrepo="linuxgsm"
+githubuser="GameServerManagers"
+githubrepo="LinuxGSM"
 githubbranch="master"
 
 # Server Details
@@ -53,11 +53,13 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${systemdir}"
 executable="./start.sh"
 servercfg="serversettings.con"
+servercfgdefault="serversettings.con"
 servercfgdir="${systemdir}/mods/bf1942/settings"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 backupdir="${rootdir}/backups"

+ 9 - 2
BlackMesa/bmdmserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -60,6 +61,11 @@ githubbranch="master"
 # Steam
 appid="346680"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta public-beta"
+branch=""
+
 # Server Details
 servicename="bmdm-server"
 gamename="Black Mesa: Deathmatch"
@@ -72,14 +78,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/bms"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
BladeSymphony/bsserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="228780"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta nightly -betapassword winteriscoming"
+branch=""
+
 # Server Details
 servicename="bs-server"
 gamename="Blade Symphony"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/berimbau"
 executabledir="${filesdir}"
 executable="./srcds_run.sh"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
BrainBread2/bb2server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="030616"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="030616"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -60,6 +61,11 @@ githubbranch="master"
 # Steam
 appid="475370"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta_branch"
+branch=""
+
 # Server Details
 servicename="bb2-server"
 gamename="BrainBread 2"
@@ -72,14 +78,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/brainbread2"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
CodenameCURE/ccserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="383410"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="cc-server"
 gamename="Codename CURE"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/cure"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
CounterStrike/csserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="060816"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="060816"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/cstrike"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
CounterStrikeConditionZero/csczserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/czero"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
CounterStrikeGlobalOffensive/csgoserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -95,14 +96,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/csgo"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
CounterStrikeSource/cssserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -60,6 +61,11 @@ githubbranch="master"
 # Steam
 appid="232330"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta prerelease"
+branch=""
+
 # Server Details
 servicename="css-server"
 gamename="Counter-Strike: Source"
@@ -72,14 +78,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/cstrike"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
DayOfDefeat/dodserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dod"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
DayOfDefeatSource/dodsserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="232290"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta prerelease"
+branch=""
+
 # Server Details
 servicename="dods-server"
 gamename="Day of Defeat: Source"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dod"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
DayOfInfamy/doiserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -57,6 +58,11 @@ githubbranch="master"
 # Steam
 appid="462310"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="doi-server"
 gamename="Day of Infamy"
@@ -69,14 +75,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/doi"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
DeathmatchClassic/dmcserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dmc"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 1
DontStarveTogether/dstserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="130516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="130516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -53,6 +54,11 @@ githubbranch="master"
 # Steam
 appid="343050"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta anewreignbeta"
+branch=""
+
 # Server Details
 servicename="dst-server"
 gamename="Don't Starve Together"
@@ -65,11 +71,13 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}/bin"
 executable="./dontstarve_dedicated_server_nullrenderer"
 servercfg="settings.ini"
+servercfgdefault="settings.ini"
 servercfgdir="${HOME}/.klei/DoNotStarveTogether"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 servercfgdefault="${servercfgdir}/lgsm-default.ini"

+ 9 - 2
DoubleActionBoogaloo/dabserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="317800"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="dab-server"
 gamename="Double Action: Boogaloo"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dab"
 executabledir="${filesdir}"
 executable="./dabds.sh"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
EmpiresMod/emserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -60,6 +61,11 @@ githubbranch="master"
 # Steam
 appid="460040"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="em-server"
 gamename="Empires Mod"
@@ -72,14 +78,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/empires"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/server.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

BIN
FistfulOfFrags/dependencies/libm.so.6


+ 9 - 2
FistfulOfFrags/fofserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="295230"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="fof-server"
 gamename="Fistful of Frags"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/fof"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

BIN
GarrysMod/dependencies/libc.so.6


BIN
GarrysMod/dependencies/libm.so.6


BIN
GarrysMod/dependencies/libpthread.so.0


BIN
GarrysMod/dependencies/libstdc++.so.6


+ 9 - 2
GarrysMod/gmodserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -76,6 +77,11 @@ githubbranch="master"
 # Steam
 appid="4020"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta dev"
+branch=""
+
 # Server Details
 servicename="gmod-server"
 gamename="Garry's Mod"
@@ -88,15 +94,16 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/garrysmod"
 addonsdir="${systemdir}/addons"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
GoldenEyeSource/gesserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="300816"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="300816"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/gesource"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
HalfLife2Deathmatch/hl2dmserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/hl2mp"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
HalfLifeDeathmatch/hldmserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -66,14 +67,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/valve"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
HalfLifeDeathmatchSource/hldmsserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/hl1mp"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 8 - 1
Hurtworld/hwserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -69,6 +70,11 @@ githubbranch="master"
 # Steam
 appid="405100"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta devtest"
+branch=""
+
 # Server Details
 servicename="hurtworld-server"
 gamename="Hurtworld"
@@ -81,6 +87,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 10 - 3
Insurgency/insserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -42,7 +43,7 @@ workshop="0"
 
 # https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server
 fn_parms(){
-parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +sv_workshop_enabled ${workshop}"
+parms="-game insurgency -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers} +sv_workshop_enabled ${workshop} -norestart"
 }
 
 #### Advanced Variables ####
@@ -57,6 +58,11 @@ githubbranch="master"
 # Steam
 appid="237410"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="ins-server"
 gamename="Insurgency"
@@ -69,14 +75,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/insurgency"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 1 - 0
JustCause2/cfg/config.lua

@@ -177,3 +177,4 @@ World =
     -- The default weather severity at world creation.
     -- Default value: 0
     WeatherSeverity             = 0
+}

+ 9 - 3
JustCause2/jc2server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -30,7 +31,6 @@ steamuser="anonymous"
 steampass=""
 
 # Start Variables
-ip="0.0.0.0"
 updateonstart="off"
 
 fn_parms(){
@@ -49,6 +49,11 @@ githubbranch="master"
 # Steam
 appid="261140"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta publicbeta"
+branch=""
+
 # Server Details
 servicename="jc2-server"
 gamename="Just Cause 2"
@@ -61,14 +66,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./Jcmp-Server"
 servercfg="config.lua"
+servercfgdefault="config.lua"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/default_config.lua"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
KillingFloor/kfserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -54,6 +55,11 @@ githubbranch="master"
 # Steam
 appid="215360"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="kf-server"
 gamename="Killing Floor"
@@ -66,14 +72,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/System"
 executabledir="${systemdir}"
 executable="./ucc-bin"
 servercfg="${servicename}.ini"
+servercfgdefault="Default.ini"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/Default.ini"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 backupdir="${rootdir}/backups"
 

+ 1 - 1
LICENSE

@@ -1,6 +1,6 @@
 The MIT License (MIT)
 
-Copyright (c) 2015 Daniel Gibbs
+Copyright (c) 2016 Daniel Gibbs
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 9 - 2
Left4Dead/l4dserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="222840"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="l4d-server"
 gamename="Left 4 Dead"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/left4dead"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
Left4Dead2/l4d2server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -54,6 +55,11 @@ githubbranch="master"
 # Steam
 appid="222860"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="l4d2-server"
 gamename="Left 4 Dead 2"
@@ -66,14 +72,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/left4dead2"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 36 - 34
Minecraft/mcserver

@@ -4,12 +4,12 @@
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 if [ -f ".dev-debug" ]; then
-        exec 5>dev-debug.log
-        BASH_XTRACEFD="5"
-        set -x
+	exec 5>dev-debug.log
+	BASH_XTRACEFD="5"
+	set -x
 fi
 
-version="210816"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210816"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -58,6 +59,7 @@ systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="java -Xmx${javaram}M -jar minecraft_server.jar"
 servercfg="server.properties"
+servercfgdefault="server.properties"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 servercfgdefault="${servercfgdir}/lgsm-default.ini"
@@ -89,36 +91,36 @@ filename="${github_file_url_name}"
 githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
 # If the file is missing, then download
 if [ ! -f "${filedir}/${filename}" ]; then
-        if [ ! -d "${filedir}" ]; then
-                mkdir -p "${filedir}"
-        fi
-        echo -e "    fetching ${filename}...\c"
-        # Check curl exists and use available path
-        curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)"
-        for curlcmd in ${curlpaths}
-        do
-                if [ -x "${curlcmd}" ]; then
-                        break
-                fi
-        done
-        # If curl exists download file
-        if [ "$(basename ${curlcmd})" == "curl" ]; then
-                curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1)
-                if [ $? -ne 0 ]; then
-                        echo -e "\e[0;31mFAIL\e[0m\n"
-                        echo "${curlfetch}"
-                        echo -e "${githuburl}\n"
-                        exit 1
-                else
-                        echo -e "\e[0;32mOK\e[0m"
-                fi
-        else
-                echo -e "\e[0;31mFAIL\e[0m\n"
-                echo "Curl is not installed!"
-                echo -e ""
-                exit 1
-        fi
-        chmod +x "${filedir}/${filename}"
+	if [ ! -d "${filedir}" ]; then
+		mkdir -p "${filedir}"
+	fi
+	echo -e "    fetching ${filename}...\c"
+	# Check curl exists and use available path
+	curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)"
+	for curlcmd in ${curlpaths}
+	do
+		if [ -x "${curlcmd}" ]; then
+			break
+		fi
+	done
+	# If curl exists download file
+	if [ "$(basename ${curlcmd})" == "curl" ]; then
+		curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1)
+		if [ $? -ne 0 ]; then
+			echo -e "\e[0;31mFAIL\e[0m\n"
+			echo "${curlfetch}"
+			echo -e "${githuburl}\n"
+			exit 1
+		else
+			echo -e "\e[0;32mOK\e[0m"
+		fi
+	else
+		echo -e "\e[0;31mFAIL\e[0m\n"
+		echo "Curl is not installed!"
+		echo -e ""
+		exit 1
+	fi
+	chmod +x "${filedir}/${filename}"
 fi
 source "${filedir}/${filename}"
 }

+ 5 - 3
Mumble/mumbleserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="290716"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="290716"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -42,7 +43,6 @@ githubuser="GameServerManagers"
 githubrepo="LinuxGSM"
 githubbranch="master"
 
-
 # Server Details
 gamename="Mumble"
 servicename="mumble-server"
@@ -54,11 +54,13 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./murmur.x86"
-servercfg="murmur.ini"
+servercfg="${servicename}.ini"
+servercfgdefault="murmur.ini"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 backupdir="${rootdir}/backups"

BIN
NS2Combat/dependencies/libc.so.6


BIN
NS2Combat/dependencies/libm.so.6


BIN
NS2Combat/dependencies/libstdc++.so.6


+ 8 - 1
NS2Combat/ns2cserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="220416"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="220416"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -62,6 +63,11 @@ githubbranch="master"
 # Steam
 appid="313900"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="ns2c-server"
 gamename="NS2: Combat"
@@ -74,6 +80,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}/ia32"

BIN
NaturalSelection2/dependencies/libc.so.6


BIN
NaturalSelection2/dependencies/libm.so.6


BIN
NaturalSelection2/dependencies/libstdc++.so.6


+ 4 - 2
NaturalSelection2/ns2server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="220416"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="220416"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -47,7 +48,7 @@ password=""
 
 # http://wiki.unknownworlds.com/ns2/Dedicated_Server
 fn_parms(){
-parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser ${webadminuser} -webpassword \"${webadminpass}\" -webport ${webadminport} -map ${defaultmap} -limit ${maxplayers} -config_path \"${servercfgdir}\" -modstorage \"${modstoragedir}\" -mods \"${mods}\""
+parms="-name \"${servername}\" -port ${port} -webadmin -webdomain ${ip} -webuser ${webadminuser} -webpassword \"${webadminpass}\" -webport ${webadminport} -map ${defaultmap} -limit ${maxplayers} -config_path \"${servercfgdir}\" -logdir \"${gamelogdir}\" -modstorage \"${modstoragedir}\" -mods \"${mods}\""
 }
 
 #### Advanced Variables ####
@@ -79,6 +80,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

BIN
NoMoreRoomInHell/dependencies/libm.so.6


+ 9 - 2
NoMoreRoomInHell/nmrihserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="130716"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="130716"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -60,6 +61,11 @@ githubbranch="master"
 # Steam
 appid="317670"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="nmrih-server"
 gamename="No More Room in Hell"
@@ -72,14 +78,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/nmrih"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
OpposingForce/opforserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/gearbox"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-defaultcfg="${servercfgdir}/server.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
PiratesVikingandKnightsII/pvkiiserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -55,6 +56,11 @@ githubbranch="master"
 # Steam
 appid="17575"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="pvkii-server"
 gamename="Pirates, Vikings, and Knights II"
@@ -67,14 +73,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/pvkii"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 5
ProjectZomboid/pzserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="290716"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="290716"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -50,8 +51,10 @@ githubbranch="master"
 
 # Steam
 appid="380870"
-# Allows for opting into the various Steam branches that PZ has to offer
-# Example: -beta iwillbackupmysave -betapassword iaccepttheconsequences
+
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta iwillbackupmysave -betapassword iaccepttheconsequences"
 branch=""
 
 # Server Details
@@ -66,14 +69,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./start-server.sh"
-servercfg="servertest.ini"
+servercfg="server.ini"
+servercfgdefault="server.cfg"
 servercfgdir="${HOME}/Zomboid/Server"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.ini"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 36 - 0
Quake3/cfg/lgsm-default.cfg

@@ -0,0 +1,36 @@
+set sv_hostname "<hostname>"
+set sv_maxclients 16
+set g_motd "LGSM Quake3 Server"
+set g_forcerespawn 15
+set rconpassword "<rconpassword>"
+set g_gametype 0 //- Sets the type of game. 0 - Free for all, 1 - Tournament, 2 - Free for all(again), 3 - Team Deathmatch, 4 - Capture the Flag
+set fraglimit 50
+set timelimit 20
+
+//Here's the map-cycle. When fraglimit or timelimit is reached, the map is automatically changed.
+//Otherwise it would just play the same map again.
+set m1 "map q3dm1; set nextmap vstr m2"
+set m2 "map q3dm2; set nextmap vstr m3"
+set m3 "map q3dm3; set nextmap vstr m4"
+set m4 "map q3tourney1; set nextmap vstr m5"
+set m5 "map q3dm4; set nextmap vstr m6"
+set m6 "map q3dm5; set nextmap vstr m7"
+set m7 "map q3dm6; set nextmap vstr m8"
+set m8 "map q3tourney2; set nextmap vstr m9"
+set m9 "map q3dm7; set nextmap vstr m10"
+set m10 "map q3dm8; set nextmap vstr m11"
+set m11 "map q3dm9; set nextmap vstr m12"
+set m12 "map q3tourney3; set nextmap vstr m13"
+set m13 "map q3dm10; set nextmap vstr m14"
+set m14 "map q3dm11; set nextmap vstr m15"
+set m15 "map q3dm12; set nextmap vstr m16"
+set m16 "map q3tourney4; set nextmap vstr m17"
+set m17 "map q3dm13; set nextmap vstr m18"
+set m18 "map q3dm14; set nextmap vstr m19"
+set m19 "map q3dm15; set nextmap vstr m20"
+set m20 "map q3tourney5; set nextmap vstr m21"
+set m21 "map q3dm16; set nextmap vstr m22"
+set m22 "map q3dm17; set nextmap vstr m23"
+set m23 "map q3dm18; set nextmap vstr m24"
+set m24 "map q3dm19; set nextmap vstr m25"
+set m25 "map q3tourney6; set nextmap vstr m1"

+ 145 - 0
Quake3/q3server

@@ -0,0 +1,145 @@
+#!/bin/bash
+# Quake 3: Arena
+# Server Management Script
+# Author: Daniel Gibbs
+# Website: https://gameservermanagers.com
+if [ -f ".dev-debug" ]; then
+	exec 5>dev-debug.log
+	BASH_XTRACEFD="5"
+	set -x
+fi
+
+version="210516"
+
+#### Variables ####
+
+# Notification Alerts
+# (on|off)
+
+# Email
+emailalert="off"
+email="email@example.com"
+
+# Pushbullet
+# https://www.pushbullet.com/#settings
+pushbulletalert="off"
+pushbullettoken="accesstoken"
+
+# Start Variables
+defaultmap="q3dm17"
+ip="0.0.0.0"
+port="27960"
+
+fn_parms(){
+parms="+set sv_punkbuster 0 +set fs_basepath ${filesdir} +set dedicated 1 +set com_hunkMegs 32 +set net_ip ${ip} +set net_port ${port} +exec ${servercfg} +map ${defaultmap}"
+}
+
+#### Advanced Variables ####
+
+# Github Branch Select
+# Allows for the use of different function files
+# from a different repo and/or branch.
+githubuser="GameServerManagers"
+githubrepo="LinuxGSM"
+githubbranch="master"
+
+# Server Details
+servicename="quake3-server"
+gamename="Quake 3: Arena"
+engine="idtech3"
+
+# Directories
+rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
+selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
+lockselfname=".${servicename}.lock"
+lgsmdir="${rootdir}/lgsm"
+functionsdir="${lgsmdir}/functions"
+libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
+filesdir="${rootdir}/serverfiles"
+systemdir="${filesdir}/baseq3"
+executabledir="${filesdir}"
+executable="./q3ded"
+servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
+servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+backupdir="${rootdir}/backups"
+
+# Logging
+logdays="7"
+gamelogdir="${filesdir}/Logs"
+scriptlogdir="${rootdir}/log/script"
+consolelogdir="${rootdir}/log/console"
+consolelogging="on"
+
+scriptlog="${scriptlogdir}/${servicename}-script.log"
+consolelog="${consolelogdir}/${servicename}-console.log"
+emaillog="${scriptlogdir}/${servicename}-email.log"
+
+scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log"
+consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log"
+
+##### Script #####
+# Do not edit
+
+# Fetches core_dl for file downloads
+fn_fetch_core_dl(){
+github_file_url_dir="lgsm/functions"
+github_file_url_name="${functionfile}"
+filedir="${functionsdir}"
+filename="${github_file_url_name}"
+githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
+# If the file is missing, then download
+if [ ! -f "${filedir}/${filename}" ]; then
+	if [ ! -d "${filedir}" ]; then
+		mkdir -p "${filedir}"
+	fi
+	echo -e "    fetching ${filename}...\c"
+	# Check curl exists and use available path
+	curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)"
+	for curlcmd in ${curlpaths}
+	do
+		if [ -x "${curlcmd}" ]; then
+			break
+		fi
+	done
+	# If curl exists download file
+	if [ "$(basename ${curlcmd})" == "curl" ]; then
+		curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1)
+		if [ $? -ne 0 ]; then
+			echo -e "\e[0;31mFAIL\e[0m\n"
+			echo "${curlfetch}"
+			echo -e "${githuburl}\n"
+			exit 1
+		else
+			echo -e "\e[0;32mOK\e[0m"
+		fi
+	else
+		echo -e "\e[0;31mFAIL\e[0m\n"
+		echo "Curl is not installed!"
+		echo -e ""
+		exit 1
+	fi
+	chmod +x "${filedir}/${filename}"
+fi
+source "${filedir}/${filename}"
+}
+
+core_dl.sh(){
+# Functions are defined in core_functions.sh.
+functionfile="${FUNCNAME}"
+fn_fetch_core_dl
+}
+
+core_functions.sh(){
+# Functions are defined in core_functions.sh.
+functionfile="${FUNCNAME}"
+fn_fetch_core_dl
+}
+
+core_dl.sh
+core_functions.sh
+
+getopt=$1
+core_getopt.sh

+ 11 - 4
QuakeLive/qlserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="060516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="060516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -43,7 +44,7 @@ updateonstart="off"
 # Install/Config Guide : https://steamcommunity.com/sharedfiles/filedetails/?id=542966946
 # Console Commands : http://www.regurge.at/ql/
 fn_parms(){
-	parms="+set net_strict 1 +set net_ip ${ip} +set net_port ${port} +set fs_homepath ${filesdir}/${port} +set zmq_rcon_enable 1 +set zmq_rcon_port ${rconport} +set zmq_rcon_password ${rconpassword} +set zmq_stats_enable 1 +set zmq_stats_password ${statspassword} +set zmq_stats_port ${statsport} +set sv_mapPoolFile ${mappool} +exec ${servercfg}"
+parms="+set net_strict 1 +set net_ip ${ip} +set net_port ${port} +set fs_homepath ${filesdir}/${port} +set zmq_rcon_enable 1 +set zmq_rcon_port ${rconport} +set zmq_rcon_password ${rconpassword} +set zmq_stats_enable 1 +set zmq_stats_password ${statspassword} +set zmq_stats_port ${statsport} +set sv_mapPoolFile ${mappool} +exec ${servercfg}"
 }
 
 #### Advanced Variables ####
@@ -58,10 +59,15 @@ githubbranch="master"
 # Steam
 appid="349090"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="ql-server"
 gamename="Quake Live"
-engine="idtech3"
+engine="idtech3_ql"
 
 # Directories
 rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
@@ -70,14 +76,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable=$([ "${arch}" == 'x64' ] && echo "./run_server_x64.sh" || echo "./run_server_x86.sh")
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${filesdir}/baseq3"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
RedOrchestra/roserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -62,14 +63,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/system"
 executabledir="${systemdir}"
 executable="./ucc-bin"
 servercfg="${servicename}.ini"
+servercfgdefault="default.ini"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/default.ini"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 backupdir="${rootdir}/backups"
 

+ 4 - 2
Ricochet/ricochetserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/ricochet"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
Rust/rustserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -72,6 +73,11 @@ githubbranch="master"
 # Steam
 appid="258550"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta prerelease"
+branch=""
+
 # Server Details
 servicename="rust-server"
 gamename="Rust"
@@ -84,15 +90,16 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./RustDedicated"
 serveridentitydir="${systemdir}/server/${servicename}"
 servercfg="server.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${serveridentitydir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
SeriousSam3BFE/ss3sserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -50,6 +51,11 @@ githubbranch="master"
 # Steam
 appid="41080"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta publicbeta"
+branch=""
+
 # Server Details
 servicename="ss3-server"
 gamename="Serious Sam 3: BFE"
@@ -62,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/Bin"
 executable="./runSam3_DedicatedServer.sh"
 executabledir="${systemdir}"
 servercfg="${servicename}.ini"
+servercfgdefault="server.ini"
 servercfgdir="${filesdir}/Content/SeriousSam3/Config"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.ini"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
Starbound/sbserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="230716"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="230716"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -49,6 +50,11 @@ githubbranch="master"
 # Steam
 appid="211820"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="sb-server"
 gamename="Starbound"
@@ -61,14 +67,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}/linux"
 executable="./starbound_server"
 servercfg="starbound_server.config"
+servercfgdefault="starbound_server.config"
 servercfgdir="${filesdir}/storage"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.config"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
SvenCoop/svencoopserver → SvenCoop/svenserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -54,6 +55,11 @@ githubbranch="master"
 # Steam
 appid="276060"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta release_candidate_public"
+branch=""
+
 # Server Details
 servicename="svencoop-server"
 gamename="Sven Co-op"
@@ -66,14 +72,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/svencoop"
 executabledir="${filesdir}"
 executable="./svends_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 9 - 2
TeamFortress2/tf2server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -60,6 +61,11 @@ githubbranch="master"
 # Steam
 appid="232250"
 
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta beta"
+branch=""
+
 # Server Details
 servicename="tf2-server"
 gamename="Team Fortress 2"
@@ -72,14 +78,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/tf"
 executabledir="${filesdir}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/cfg"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
TeamFortressClassic/tfcserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -67,14 +68,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/tfc"
 executabledir="${filesdir}"
 executable="./hlds_run"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
TeamSpeak3/ts3server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="290716"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="290716"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -40,14 +41,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./ts3server_startscript.sh"
 servercfg="${servicename}.ini"
+servercfgdefault="ts3server.ini"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.ini"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
Teeworlds/twserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -62,14 +63,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./teeworlds_srv"
 servercfg="${servicename}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir
+servercfgdefault="server.cfg"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 4 - 2
Terraria/terrariaserver

@@ -10,7 +10,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -20,6 +20,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -62,14 +63,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"
 executable="./TerrariaServer"
 servercfg="${servicename}.txt"
+servercfgdefault="serverconfig.txt"
 servercfgdir="${filesdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.txt"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 3 - 1
UnrealTournament/utserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -59,6 +60,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/LinuxServer"
 executabledir="${systemdir}/Engine/Binaries/Linux"

+ 4 - 2
UnrealTournament2004/ut2k4server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -45,14 +46,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/System"
 executabledir="${systemdir}"
 executable="./ucc-bin"
 servercfg="${servicename}.ini"
+servercfgdefault="UT2004.ini"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/UT2004.ini"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 backupdir="${rootdir}/backups"
 

+ 14 - 10
UnrealTournament3/ut3server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -45,6 +46,15 @@ fn_parms(){
 parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?MaxPlayers=${maxplayers}?Mutator=${mutators} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}"
 }
 
+#### Advanced Variables ####
+
+# Github Branch Select
+# Allows for the use of different function files
+# from a different repo and/or branch.
+githubuser="GameServerManagers"
+githubrepo="LinuxGSM"
+githubbranch="master"
+
 # Server Details
 servicename="ut3-server"
 gamename="Unreal Tournament 3"
@@ -57,11 +67,13 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${systemdir}/Binaries"
 executable="./ut3"
-servercfg="UTGame.ini"
+servercfg="${servicename}.ini"
+servercfgdefault="UTGame.ini"
 servercfgdir="${systemdir}/UTGame/Config"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 backupdir="${rootdir}/backups"
@@ -82,13 +94,6 @@ gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%d-%m-%Y-%H-%M-%S').log"
 scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log"
 consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log"
 
-# Github Branch Select
-# Allows for the use of different function files
-# from a different repo and/or branch.
-githubuser="GameServerManagers"
-githubrepo="LinuxGSM"
-githubbranch="master"
-
 ##### Script #####
 # Do not edit
 
@@ -152,4 +157,3 @@ core_functions.sh
 
 getopt=$1
 core_getopt.sh
-

+ 4 - 2
UnrealTournament99/ut99server

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -54,14 +55,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/System"
 executabledir="${systemdir}"
 executable="./ucc-bin"
 servercfg="${servicename}.ini"
+servercfgdefault="Default.ini"
 servercfgdir="${systemdir}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/Default.ini"
 compressedmapsdir="${rootdir}/Maps-Compressed"
 backupdir="${rootdir}/backups"
 

+ 6 - 4
WolfensteinEnemyTerritory/wetserver

@@ -9,7 +9,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="210516"
+version="211016"
 
 #### Variables ####
 
@@ -19,6 +19,7 @@ version="210516"
 # Email
 emailalert="off"
 email="email@example.com"
+#emailfrom="email@example.com"
 
 # Pushbullet
 # https://www.pushbullet.com/#settings
@@ -28,7 +29,7 @@ pushbullettoken="accesstoken"
 # Start Variables
 
 fn_parms(){
-	parms="+set net_strict 1 +set fs_homepath ${filesdir} +exec ${servercfgfullpath}"
+	parms="+set net_strict 1 +set fs_homepath ${filesdir} +exec ${servercfg}"
 }
 
 #### Advanced Variables ####
@@ -42,7 +43,7 @@ githubbranch="master"
 
 # Server Details
 servicename="et-server"
-gamename="Enemy Territory"
+gamename="Wolfenstein: Enemy Territory"
 engine="idtech3"
 
 # Directories
@@ -52,14 +53,15 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${systemdir}"
 executable="./etded"
 servercfg="${servicename}.cfg"
+servercfgdefault="server.cfg"
 servercfgdir="${systemdir}/etmain"
 servercfgfullpath="${servercfgdir}/${servercfg}"
-servercfgdefault="${servercfgdir}/lgsm-default.cfg"
 backupdir="${rootdir}/backups"
 
 # Logging

+ 0 - 22
appmanifest/appmanifest_10.acf

@@ -1,22 +0,0 @@
-"AppState"
-{
-	"AppID"		"10"
-	"Universe"		"1"
-	"StateFlags"		"1090"
-	"installdir"		"Half-Life"
-	"LastUpdated"		"0"
-	"UpdateResult"		"0"
-	"SizeOnDisk"		"0"
-	"buildid"		"0"
-	"LastOwner"		"0"
-	"BytesToDownload"		"0"
-	"BytesDownloaded"		"0"
-	"AutoUpdateBehavior"		"0"
-	"AllowOtherDownloadsWhileRunning"		"0"
-	"UserConfig"
-	{
-	}
-	"MountedDepots"
-	{
-	}
-}

+ 0 - 22
appmanifest/appmanifest_70.acf

@@ -1,22 +0,0 @@
-"AppState"
-{
-	"AppID"		"70"
-	"Universe"		"1"
-	"StateFlags"		"1090"
-	"installdir"		"Half-Life"
-	"LastUpdated"		"0"
-	"UpdateResult"		"0"
-	"SizeOnDisk"		"0"
-	"buildid"		"0"
-	"LastOwner"		"0"
-	"BytesToDownload"		"0"
-	"BytesDownloaded"		"0"
-	"AutoUpdateBehavior"		"0"
-	"AllowOtherDownloadsWhileRunning"		"0"
-	"UserConfig"
-	{
-	}
-	"MountedDepots"
-	{
-	}
-}

+ 0 - 28
appmanifest/appmanifest_90.acf

@@ -1,28 +0,0 @@
-"AppState"
-{
-	"AppID"		"90"
-	"Universe"		"1"
-	"StateFlags"		"1026"
-	"installdir"		"Half-Life"
-	"LastUpdated"		"0"
-	"UpdateResult"		"0"
-	"SizeOnDisk"		"0"
-	"buildid"		"0"
-	"LastOwner"		"0"
-	"BytesToDownload"		"0"
-	"BytesDownloaded"		"0"
-	"AutoUpdateBehavior"		"0"
-	"AllowOtherDownloadsWhileRunning"		"0"
-	"UserConfig"
-	{
-	}
-	"MountedDepots"
-	{
-	}
-	"SharedDepots"
-	{
-		"1"		"70"
-		"11"		"10"
-		"71"		"70"
-	}
-}

+ 0 - 31
appmanifest/czero/appmanifest_90.acf

@@ -1,31 +0,0 @@
-"AppState"
-{
-	"appid"		"90"
-	"Universe"		"1"
-	"StateFlags"		"4"
-	"installdir"		"Half-Life"
-	"LastUpdated"		"1390662869"
-	"UpdateResult"		"0"
-	"SizeOnDisk"		"41586625"
-	"buildid"		"63549"
-	"LastOwner"		"76561199609699388"
-	"BytesToDownload"		"224501136"
-	"BytesDownloaded"		"224501136"
-	"AutoUpdateBehavior"		"0"
-	"AllowOtherDownloadsWhileRunning"		"0"
-	"UserConfig"
-	{
-		"mod"		"czero"
-	}
-	"MountedDepots"
-	{
-		"4"		"3196956435784640171"
-	}
-	"SharedDepots"
-	{
-		"1"		"70"
-		"11"		"10"
-		"71"		"70"
-		"81"		"80"
-	}
-}

+ 0 - 31
appmanifest/dod/appmanifest_90.acf

@@ -1,31 +0,0 @@
-"AppState"
-{
-	"AppID"		"90"
-	"Universe"		"1"
-	"StateFlags"		"1030"
-	"installdir"		"Half-Life"
-	"LastUpdated"		"1390652241"
-	"UpdateResult"		"0"
-	"SizeOnDisk"		"41586625"
-	"buildid"		"63549"
-	"LastOwner"		"76561201453793332"
-	"BytesToDownload"		"236411088"
-	"BytesDownloaded"		"0"
-	"AutoUpdateBehavior"		"0"
-	"AllowOtherDownloadsWhileRunning"		"0"
-	"UserConfig"
-	{
-		"mod"		"dod"
-	}
-	"MountedDepots"
-	{
-		"4"		"3196956435784640171"
-	}
-	"SharedDepots"
-	{
-		"1"		"70"
-		"11"		"10"
-		"71"		"70"
-		"31"		"30"
-	}
-}

+ 0 - 31
appmanifest/tfc/appmanifest_90.acf

@@ -1,31 +0,0 @@
-"AppState"
-{
-	"AppID"		"90"
-	"Universe"		"1"
-	"StateFlags"		"4"
-	"installdir"		"Half-Life"
-	"LastUpdated"		"1390765182"
-	"UpdateResult"		"0"
-	"SizeOnDisk"		"41586625"
-	"buildid"		"63549"
-	"LastOwner"		"76561198445953036"
-	"BytesToDownload"		"62362560"
-	"BytesDownloaded"		"0"
-	"AutoUpdateBehavior"		"0"
-	"AllowOtherDownloadsWhileRunning"		"0"
-	"UserConfig"
-	{
-		"mod"		"tfc"
-	}
-	"MountedDepots"
-	{
-		"4"		"3196956435784640171"
-	}
-	"SharedDepots"
-	{
-		"1"		"70"
-		"11"		"10"
-		"71"		"70"
-		"21"		"20"
-	}
-}

+ 0 - 38
functions/command_update_functions.sh

@@ -1,38 +0,0 @@
-#!/bin/bash
-# LGSM command_update_functions.sh function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: Deletes the functions dir to allow re-downloading of functions from GitHub.
-
-local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
-check.sh
-fn_print_dots "Updating functions"
-fn_script_log "Updating functions"
-sleep 1
-echo -ne "\n"
-
-# Removed legecy functions dir
-if [ -n "${rootdir}" ]; then
-	if [ -d "${rootdir}/functions/" ]; then
-		rm -rfv "${rootdir}/functions/"
-		exitcode=$?
-	fi
-fi
-
-if [ -n "${functionsdir}" ]; then
-	if [ -d "${functionsdir}" ]; then
-		rm -rfv "${functionsdir}/"*
-		exitcode=$?
-	fi
-fi
-
-if [ "${exitcode}" == "0" ]; then
-	fn_print_ok "Updating functions"
-	fn_script_log "Success! Updating functions"
-else
-	fn_print_fail "Updating functions"
-	fn_script_log "Failure! Updating functions"
-fi
-echo -ne "\n"

+ 0 - 72
functions/core_functions.sh

@@ -1,72 +0,0 @@
-#!/bin/bash
-# LGSM core_functions.sh function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: REDIRECT FUNCTION to new location for core_functions.sh
-
-# fn_fetch_core_dl also placed here to allow legecy servers to still download core functions
-if [ -z "${lgsmdir}" ]; then
-	lgsmdir="${rootdir}/lgsm"
-	functionsdir="${lgsmdir}/functions"
-	libdir="${lgsmdir}/lib"
-fi
-
-fn_fetch_core_dl(){
-if [ -z "${githubuser}" ]; then
-	githubuser="GameServerManagers"
-fi
-if [ -z "${githubrepo}" ]; then
-	githubrepo="LinuxGSM"
-fi
-if [ -z "${githubbranch}" ]; then
-	githubbranch="master"
-fi
-github_file_url_dir="lgsm/functions"
-github_file_url_name="${functionfile}"
-filedir="${functionsdir}"
-filename="${github_file_url_name}"
-githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
-# If the file is missing, then download
-if [ ! -f "${filedir}/${filename}" ]; then
-	if [ ! -d "${filedir}" ]; then
-		mkdir -p "${filedir}"
-	fi
-	echo -e "    fetching ${filename}...\c"
-	# Check curl exists and use available path
-	curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)"
-	for curlcmd in ${curlpaths}
-	do
-		if [ -x "${curlcmd}" ]; then
-			break
-		fi
-	done
-	# If curl exists download file
-	if [ "$(basename ${curlcmd})" == "curl" ]; then
-		curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1)
-		if [ $? -ne 0 ]; then
-			echo -e "${red}FAIL${default}\n"
-			echo "${curlfetch}"
-			echo -e "${githuburl}\n"
-			exit 1
-		else
-			echo -e "${green}OK${default}"
-		fi
-	else
-		echo -e "${red}FAIL${default}\n"
-		echo "Curl is not installed!"
-		echo -e ""
-		exit 1
-	fi
-	chmod +x "${filedir}/${filename}"
-fi
-source "${filedir}/${filename}"
-}
-
-core_functions.sh(){
-functionfile="${FUNCNAME}"
-fn_fetch_core_dl
-}
-
-core_functions.sh

+ 0 - 14
functions/core_getopt.sh

@@ -1,14 +0,0 @@
-#!/bin/bash
-# LGSM core_getopt.sh function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: REDIRECT FUNCTION to new location for core_getopt.sh
-
-core_getopt.sh(){
-functionfile="${FUNCNAME}"
-fn_fetch_core_dl
-}
-
-core_getopt.sh

+ 0 - 15
functions/fn_functions

@@ -1,15 +0,0 @@
-#!/bin/bash
-# LGSM fn_functions function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: REDIRECT FUNCTION to new core_functions.sh
-
-core_functions.sh(){
-# Functions are defined in core_functions.sh.
-functionfile="${FUNCNAME}"
-fn_runfunction
-}
-
-core_functions.sh

+ 0 - 14
functions/fn_getopt

@@ -1,14 +0,0 @@
-#!/bin/bash
-# LGSM fn_getopt.sh function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: REDIRECT FUNCTION to new core_getopt.sh
-
-core_getopt.sh(){
-functionfile="${FUNCNAME}"
-fn_fetch_core_dl
-}
-
-core_getopt.sh

+ 0 - 15
functions/fn_update_functions

@@ -1,15 +0,0 @@
-#!/bin/bash
-# LGSM fn_update_functions function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: REDIRECT FUNCTION to new command_update_functions.sh
-
-command_update_functions.sh(){
-functionfile="${FUNCNAME}"
-fn_runfunction
-}
-
-command_update_functions.sh
-

+ 0 - 15
functions/update_functions.sh

@@ -1,15 +0,0 @@
-#!/bin/bash
-# LGSM fn_update_functions function
-# Author: Daniel Gibbs
-# Website: https://gameservermanagers.com
-lgsm_version="210516"
-
-# Description: REDIRECT FUNCTION to new command_update_functions.sh
-
-command_update_functions.sh(){
-functionfile="${FUNCNAME}"
-fn_runfunction
-}
-
-command_update_functions.sh
-

+ 5 - 1
lgsm/functions/alert_email.sh

@@ -230,7 +230,11 @@ fn_details_performance
 fn_details_disk
 fn_details_gameserver
 fn_alert_email_template_logs
-mail -s "${alertsubject}" "${email}" < "${emaillog}"
+if [ -n "${emailfrom}" ]; then
+	mail -s "${alertsubject}" -a "From: ${emailfrom}" "${email}" < "${emaillog}"
+else
+	mail -s "${alertsubject}" "${email}" < "${emaillog}"
+fi
 exitcode=$?
 if [ "${exitcode}" == "0" ]; then
 	fn_print_ok_nl "Sending alert: ${email}"

+ 1 - 1
lgsm/functions/alert_pushbullet.sh

@@ -11,7 +11,7 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 fn_print_dots "Sending Pushbullet alert"
 sleep 1
 
-pushbulletsend=$(curl --silent -u """${pushbullettoken}"":" -d type="note" -d body="${alertbody}" -d title="${alertsubject}" 'https://api.pushbullet.com/v2/pushes'|grep -o invalid_access_token|uniq)
+pushbulletsend=$(curl --silent -u """${pushbullettoken}"":" -d channel_tag="${channeltag}" -d type="note" -d body="${alertbody}" -d title="${alertsubject}" 'https://api.pushbullet.com/v2/pushes'|grep -o invalid_access_token|uniq)
 
 if [ "${pushbulletsend}" == "invalid_access_token" ]; then
 	fn_print_fail_nl "Sending Pushbullet alert: invalid_access_token"

+ 2 - 1
lgsm/functions/check.sh

@@ -11,6 +11,7 @@ local commandname="CHECK"
 # check.sh selects which checks to run by using arrays
 
 check_root.sh
+check_tmuxception.sh
 check_permissions.sh
 
 if [ "${function_selfname}" != "command_install.sh" ]&&[ "${function_selfname}" != "command_update_functions.sh" ]; then
@@ -25,7 +26,7 @@ do
 	fi
 done
 
-local allowed_commands_array=( command_backup.sh command_console.sh command_debug.sh command_details.sh command_unreal2_maps.sh command_ut99_maps.sh command_monitor.sh command_start.sh command_stop.sh update_check.sh command_validate.sh command_update_functions.sh command_email_test.sh )
+local allowed_commands_array=( command_backup.sh command_console.sh command_debug.sh command_details.sh command_unreal2_maps.sh command_ut99_maps.sh command_monitor.sh command_start.sh command_stop.sh command_update.sh command_validate.sh command_update_functions.sh command_email_test.sh )
 for allowed_command in "${allowed_commands_array[@]}"
 do
 	if [ "${allowed_command}" == "${function_selfname}" ]; then

+ 32 - 13
lgsm/functions/check_deps.sh

@@ -6,28 +6,37 @@
 
 local commandname="CHECK"
 
+
+
 fn_deps_detector(){
 	# Checks if dependency is missing
-	if [ -n "$(command -v dpkg-query)" ]; then
+	if [ "${tmuxcheck}" == "1" ]; then
+		# Added for users compiling tmux from source to bypass check.
+		depstatus=0
+		deptocheck="tmux"
+		unset tmuxcheck
+	elif [ "${javacheck}" == "1" ]; then
+		# Added for users using Oracle JRE to bypass check.
+		depstatus=0
+		deptocheck="${javaversion}"
+		unset javacheck
+	elif [ -n "$(command -v apt-get)" ]; then
 		dpkg-query -W -f='${Status}' ${deptocheck} 2>/dev/null | grep -q -P '^install ok installed$'
 		depstatus=$?
 	elif [ -n "$(command -v yum)" ]; then
 		yum -q list installed ${deptocheck} > /dev/null 2>&1
 		depstatus=$?
 	fi
+
 	if [ "${depstatus}" == "0" ]; then
+		# if dependency is found
 		missingdep=0
 		if [ "${function_selfname}" == "command_install.sh" ]; then
-			if [ "${tmuxcheck}" == "1" ]; then
-				# Added for users compiling tmux from source to bypass rpm check
-				echo -e "${green}tmux${default}"
-				unset tmuxcheck
-			fi
 			echo -e "${green}${deptocheck}${default}"
 			sleep 0.5
 		fi
 	else
-		# if missing dependency is found
+		# if dependency is not found
 		missingdep=1
 		if [ "${function_selfname}" == "command_install.sh" ]; then
 			echo -e "${red}${deptocheck}${default}"
@@ -141,9 +150,9 @@ if [ -n "$(command -v dpkg-query)" ]; then
 	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python bzip2 gzip )
 
 	# All servers except ts3 require tmux
-	if [ "${executable}" != "./ts3server_startscript.sh" ]; then
+	if [ "${gamename}" != "TeamSpeak 3" ]; then
 		if [ "$(command -v tmux)" ]||[ "$(which tmux 2>/dev/null)" ]||[ -f "/usr/bin/tmux" ]||[ -f "/bin/tmux" ]; then
-			tmuxcheck=1 # Added for users compiling tmux from source to bypass rpm check
+			tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
 		else
 			array_deps_required+=( tmux )
 		fi
@@ -181,7 +190,12 @@ if [ -n "$(command -v dpkg-query)" ]; then
 		array_deps_required+=( libncurses5:i386 )
 	# Project Zomboid and Minecraft
 	elif [ "${engine}" ==  "projectzomboid" ]||[ "${engine}" == "lwjgl2" ]; then
-		array_deps_required+=( default-jdk )
+		javaversion=$(java -version 2>&1 | grep "version")
+		if [ -n "${javaversion}" ]; then
+			javacheck=1 # Added for users using Oracle JRE to bypass the check.
+		else
+			array_deps_required+=( default-jre )
+		fi
 	# GoldenEye: Source
 	elif [ "${gamename}" ==  "GoldenEye: Source" ]; then
 		array_deps_required+=( zlib1g:i386 )
@@ -213,9 +227,9 @@ elif [ -n "$(command -v yum)" ]; then
 	fi
 
 	# All servers except ts3 require tmux
-	if [ "${executable}" != "./ts3server_startscript.sh" ]; then
+	if [ "${gamename}" != "TeamSpeak 3" ]; then
 		if [ "$(command -v tmux)" ]||[ "$(which tmux 2>/dev/null)" ]||[ -f "/usr/bin/tmux" ]||[ -f "/bin/tmux" ]; then
-			tmuxcheck=1 # Added for users compiling tmux from source to bypass rpm check
+			tmuxcheck=1 # Added for users compiling tmux from source to bypass check.
 		else
 			array_deps_required+=( tmux )
 		fi
@@ -242,7 +256,12 @@ elif [ -n "$(command -v yum)" ]; then
 		array_deps_required+=( libcurl.i686 )
 	# Project Zomboid and Minecraft
 	elif [ "${engine}" ==  "projectzomboid" ]||[ "${engine}" == "lwjgl2" ]; then
-		array_deps_required+=( java-1.8.0-openjdk )
+		javaversion=$(java -version 2>&1 | grep "version")
+		if [ -n "${javaversion}" ]; then
+			javacheck=1 # Added for users using Oracle JRE to bypass the check.
+		else
+			array_deps_required+=( java-1.8.0-openjdk )
+		fi
 	# GoldenEye: Source
 	elif [ "${gamename}" ==  "GoldenEye: Source" ]; then
 		array_deps_required+=( zlib.i686 )

+ 9 - 3
lgsm/functions/check_ip.sh

@@ -16,7 +16,7 @@ if [ "${gamename}" != "TeamSpeak 3" ] && [ "${gamename}" != "Mumble" ]; then
 	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)
-
+	info_config.sh
 	if [ "${ip}" == "0.0.0.0" ]||[ "${ip}" == "" ]; then
 		if [ "${getipwc}" -ge "2" ]; then
 			fn_print_dots "Check IP"
@@ -24,8 +24,14 @@ if [ "${gamename}" != "TeamSpeak 3" ] && [ "${gamename}" != "Mumble" ]; then
 			fn_print_fail "Check IP: Multiple active network interfaces found."
 			sleep 1
 			echo -en "\n"
-			fn_print_information "Specify the IP you want to use within the ${selfname} script.\n"
-			echo -en "Set ip=\"0.0.0.0\" to one of the following:\n"
+			if [ "${ipsetinconfig}" == "1" ]; then
+				fn_print_information "Specify the IP you want to use within the server config file ${servercfg}.\n"
+				echo -en "${servercfgfullpath}\n"
+				echo -en "Set ${ipinconfigvar} to one of the following:\n"
+			else
+				fn_print_information "Specify the IP you want to use within the ${selfname} script.\n"
+				echo -en "Set ip=\"0.0.0.0\" to one of the following:\n"
+			fi
 			echo -en "${getip}\n"
 			echo -en ""
 			echo -en "https://gameservermanagers.com/network-interfaces\n"

+ 50 - 6
lgsm/functions/check_permissions.sh

@@ -3,7 +3,7 @@
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
-# Description: Checks ownership & permissions of scripts, files and folders.
+# Description: Checks ownership & permissions of scripts, files and directories.
 
 local commandname="CHECK"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
@@ -43,8 +43,8 @@ fn_check_ownership(){
 
 		} | column -s $'\t' -t | tee -a "${scriptlog}"
 		echo ""
-		fn_print_information_nl "For more information, please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-permissions-issues-found"
-		fn_script_log "For more information, please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-permissions-issues-found"
+		fn_print_information_nl "For more information, please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-ownership-issues-found"
+		fn_script_log "For more information, please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-ownership-issues-found"
 		core_exit.sh
 	fi
 }
@@ -66,7 +66,7 @@ fn_check_permissions(){
 
 	# Check rootdir permissions
 	if [ -n "${rootdir}" ]; then
-		# Get permission numbers on folder under the form 775
+		# Get permission numbers on directory under the form 775
 		rootdirperm="$(stat -c %a "${rootdir}")"
 		# Grab the first and second digit for user and group permission
 		userrootdirperm="${rootdirperm:0:1}"
@@ -74,12 +74,56 @@ fn_check_permissions(){
 		if [ "${userrootdirperm}" != "7" ] && [ "${grouprootdirperm}" != "7" ]; then
 			fn_print_fail_nl "Permissions issues found"
 			fn_script_log_fatal "Permissions issues found"
-			fn_print_information_nl "The following directorys does not have the correct permissions:"
-			fn_script_log_info "The following directorys does not have the correct permissions:"
+			fn_print_information_nl "The following directory does not have the correct permissions:"
+			fn_script_log_info "The following directory does not have the correct permissions:"
+			fn_script_log_info "${rootdir}"
 			ls -l "${rootdir}"
 			core_exit.sh
 		fi
 	fi
+	# Check if executable is executable and attempt to fix it
+	# First get executable name
+	execname="$(basename "${executable}")"
+	if [ -f "${executabledir}/${execname}" ]; then
+		# Get permission numbers on file under the form 775
+		execperm="$(stat -c %a "${executabledir}/${execname}")"
+		# Grab the first and second digit for user and group permission
+		userexecperm="${execperm:0:1}"
+		groupexecperm="${execperm:1:1}"
+		# Check for invalid user permission
+		if [ "${userexecperm}" == "0" ] || [ "${userexecperm}" == "2" ] || [ "${userexecperm}" == "4" ]  || [ "${userexecperm}" == "6" ]; then
+			# If user permission is invalid, then check for invalid group permissions
+			if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ]  || [ "${groupexecperm}" == "6" ]; then
+				# If permission issues are found
+				fn_print_warn_nl "Permissions issue found"
+				fn_script_log_warn "Permissions issue found"
+				fn_print_information_nl "The following file is not executable:"
+				ls -l "${executabledir}/${execname}"
+				fn_script_log_info "The following file is not executable:"
+				fn_script_log_info "${executabledir}/${execname}"
+				fn_print_information_nl "Applying chmod u+x,g+x ${executabledir}/${execname}"
+				fn_script_log_info "Applying chmod u+x,g+x ${execperm}"
+				# Make the executable executable
+				chmod u+x,g+x "${executabledir}/${execname}"
+				# Second check to see if it's been successfully applied
+				# Get permission numbers on file under the form 775
+				execperm="$(stat -c %a "${executabledir}/${execname}")"
+				# Grab the first and second digit for user and group permission
+				userexecperm="${execperm:0:1}"
+				groupexecperm="${execperm:1:1}"
+				if [ "${userexecperm}" == "0" ] || [ "${userexecperm}" == "2" ] || [ "${userexecperm}" == "4" ]  || [ "${userexecperm}" == "6" ]; then
+					if [ "${groupexecperm}" == "0" ] || [ "${groupexecperm}" == "2" ] || [ "${groupexecperm}" == "4" ]  || [ "${groupexecperm}" == "6" ]; then
+					# If errors are still found
+					fn_print_fail_nl "The following file could not be set executable:"
+					ls -l "${executabledir}/${execname}"
+					fn_script_log_warn "The following file could not be set executable:"
+					fn_script_log_info "${executabledir}/${execname}"
+					core_exit.sh
+					fi
+				fi
+			fi
+		fi
+	fi
 }
 
 fn_check_ownership

+ 3 - 1
lgsm/functions/check_status.sh

@@ -21,9 +21,11 @@ if [ "${gamename}" == "TeamSpeak 3" ]; then
 	fi
 	
 elif [ "${gamename}" == "Mumble" ]; then
+	# Get config info
+	info_config.sh
 	# 1: Server is listening
 	# 0: Server is not listening, considered closed
-	mumblepid=$(netstat -nap  2>/dev/null | grep udp | grep 64738 | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }')
+	mumblepid=$(netstat -nap  2>/dev/null | grep udp | grep ${port} | grep murmur | awk '{ print $6 }' | awk -F'/' '{ print $1 }')
 	if [ -z "${mumblepid}" ]; then
 		status=0
 	else

+ 2 - 2
lgsm/functions/check_steamcmd.sh

@@ -10,8 +10,8 @@ fn_install_steamcmd(){
 	if [ ! -d "${steamcmddir}" ]; then
 		mkdir -v "${steamcmddir}"
 	fi
-	fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${lgsmdir}/tmp" "steamcmd_linux.tar.gz"
-	fn_dl_extract "${lgsmdir}/tmp" "steamcmd_linux.tar.gz" "${steamcmddir}"
+	fn_fetch_file "http://media.steampowered.com/client/steamcmd_linux.tar.gz" "${tmpdir}" "steamcmd_linux.tar.gz"
+	fn_dl_extract "${tmpdir}" "steamcmd_linux.tar.gz" "${steamcmddir}"
 	chmod +x "${steamcmddir}/steamcmd.sh"
 }
 

+ 5 - 6
lgsm/functions/check_system_requirements.sh

@@ -14,14 +14,13 @@ info_distro.sh
 if [ "${gamename}" == "Rust" ]; then
 	ramrequirementmb="4000"
 	ramrequirementgb="4"
-fi
-
-if [ "${gamename}" == "ARMA 3" ]; then
+elif [ "${gamename}" == "ARMA 3" ]; then
 	ramrequirementmb="1000"
 	ramrequirementgb="1"
-fi
-
-if [ "${gamename}" == "Minecraft" ]; then
+elif [ "${gamename}" == "Minecraft" ]; then
+	ramrequirementmb="1000"
+	ramrequirementgb="1"
+elif [ "${gamename}" == "Natural Selection 2" ]||[ "${gamename}" == "NS2: Combat" ]; then
 	ramrequirementmb="1000"
 	ramrequirementgb="1"
 fi

+ 32 - 0
lgsm/functions/check_tmuxception.sh

@@ -0,0 +1,32 @@
+#!/bin/bash
+# LGSM check_config.sh function
+# Author: Daniel Gibbs
+# Contributor: UltimateByte
+# Website: https://gameservermanagers.com
+# Description: Checks if run from tmux or screen
+
+local commandname="check"
+
+fn_check_is_in_tmux(){
+  if [ -n "${TMUX}" ];then
+		fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a tmux session."
+		fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a tmux session."
+		fn_print_information_nl "LGSM creates a tmux session when starting the server."
+		echo "It is not possible to run a tmux session inside another tmux session"
+		echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception"
+		core_exit.sh
+	fi
+}
+fn_check_is_in_screen(){
+	if [ "$TERM" == "screen" ];then
+		fn_print_fail_nl "tmuxception error: Sorry Cobb you cannot start a tmux session inside of a screen session."
+		fn_script_log_fatal "tmuxception error: Attempted to start a tmux session inside of a screen session."
+		fn_print_information_nl "LGSM creates a tmux session when starting the server."
+		echo "It is not possible to run a tmux session inside screen session"
+		echo "https://github.com/GameServerManagers/LinuxGSM/wiki/Tmux#tmuxception"
+		core_exit.sh
+	fi
+}
+
+fn_check_is_in_tmux
+fn_check_is_in_screen

+ 7 - 1
lgsm/functions/command_debug.sh

@@ -22,6 +22,7 @@ fn_lockfile_trap(){
 check.sh
 fix.sh
 info_distro.sh
+info_config.sh
 # NOTE: Check if works with server without parms. Could be intergrated in to info_parms.sh
 fn_parms
 fn_print_header
@@ -94,10 +95,15 @@ trap fn_lockfile_trap INT
 cd "${executabledir}"
 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//\\;/;}
 else
 	${executable} ${parms}
 fi
 
 # remove trap.
 trap - INT
-core_exit.sh
+core_exit.sh

+ 120 - 65
lgsm/functions/command_details.sh

@@ -227,6 +227,8 @@ fn_details_script(){
 		if [ -n "${servercfgfullpath}" ]; then
 			if [ -f "${servercfgfullpath}" ]; then
 				echo -e "${blue}Config file:\t${default}${servercfgfullpath}"
+			elif [ -d "${servercfgfullpath}" ]; then
+				echo -e "${blue}Config dir:\t${default}${servercfgfullpath}"
 			else
 				echo -e "${blue}Config file:\t${default}${red}${servercfgfullpath}${default} (${red}FILE MISSING${default})"
 			fi
@@ -290,7 +292,7 @@ fn_details_ports(){
 
 	parmslocation="${red}UNKNOWN${default}"
 	# engines that require editing in the config file
-	local ports_edit_array=( "avalanche" "dontstarve" "idtech3" "lwjgl2" "projectzomboid" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "TeamSpeak 3" "Mumble" "7 Days To Die" )
+	local ports_edit_array=( "avalanche" "dontstarve" "idtech3" "lwjgl2" "projectzomboid" "idtech3_ql" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" )
 	for port_edit in "${ports_edit_array[@]}"
 	do
 		if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then
@@ -374,7 +376,26 @@ fn_details_realvirtuality(){
 	} | column -s $'\t' -t
 }
 
-fn_details_idtech3(){
+fn_details_refractor(){
+	echo -e "netstat -atunp | grep bf1942_lnxd"
+	echo -e ""
+	{
+		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
+		echo -e "> Game/Query\tINBOUND\t${port}\tudp"
+		echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp"
+	} | column -s $'\t' -t
+}
+
+fn_details_quake3(){
+	echo -e "netstat -atunp | grep q3ded"
+	echo -e ""
+	{
+		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
+		echo -e "> Game\tINBOUND\t${port}\tudp"
+	} | column -s $'\t' -t
+}
+
+fn_details_quakelive(){
 	echo -e "netstat -atunp | grep qzeroded"
 	echo -e ""
 	if [ -z "${port}" ]||[ -z "${rconport}" ]||[ -z "${statsport}" ]; then
@@ -389,6 +410,15 @@ fn_details_idtech3(){
 	} | column -s $'\t' -t
 }
 
+fn_details_wolfensteinenemyterritory(){
+	echo -e "netstat -atunp | grep etded"
+	echo -e ""
+	{
+		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
+		echo -e "> Game/Query\tINBOUND\t${port}\tudp"
+	} | column -s $'\t' -t
+}
+
 
 fn_details_seriousengine35(){
 	echo -e "netstat -atunp | grep Sam3_Dedicate"
@@ -407,7 +437,7 @@ fn_details_source(){
 		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
 		echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp"
 		if [ -n "${sourcetvport}" ]; then
-		        echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp"
+			echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp"
 		fi
 		echo -e "< Client\tOUTBOUND\t${clientport}\tudp"
 	} | column -s $'\t' -t
@@ -568,6 +598,15 @@ fn_details_unreal(){
 	} | column -s $'\t' -t
 }
 
+fn_details_ut3(){
+	echo -e "netstat -atunp | grep ut3-bin"
+	echo -e ""
+	{
+		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
+		echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp"
+	} | column -s $'\t' -t
+}
+
 fn_details_ark(){
 	echo -e "netstat -atunp | grep ShooterGame"
 	echo -e ""
@@ -580,66 +619,82 @@ fn_details_ark(){
 
 
 # Run checks and gathers details to display.
-check.sh
-info_config.sh
-info_distro.sh
-info_glibc.sh
-info_parms.sh
-fn_details_os
-fn_details_performance
-fn_details_disk
-fn_details_gameserver
-fn_details_script
-fn_details_backup
-# Some game servers do not have parms.
-if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${engine}" != "avalanche" ]&&[ "${engine}" != "dontstarve" ]&&[ "${engine}" != "projectzomboid" ]; then
-	fn_parms
-	fn_details_commandlineparms
-fi
-fn_details_ports
-
-# Display details depending on game or engine.
-if [ "${engine}" == "avalanche" ]; then
-	fn_details_avalanche
-elif [ "${engine}" == "dontstarve" ]; then
-	fn_details_dontstarve
-elif [ "${engine}" == "lwjgl2" ]; then
-	fn_details_minecraft
-elif [ "${engine}" == "projectzomboid" ]; then
-	fn_details_projectzomboid
-elif [ "${engine}" == "idtech3" ]; then
-	fn_details_idtech3
-elif [ "${engine}" == "realvirtuality" ]; then
-	fn_details_realvirtuality
-elif [ "${engine}" == "seriousengine35" ]; then
-	fn_details_seriousengine35
-elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
-	fn_details_source
-elif [ "${engine}" == "spark" ]; then
-	fn_details_spark
-elif [ "${engine}" == "starbound" ]; then
-	fn_details_starbound
-elif [ "${engine}" == "teeworlds" ]; then
-	fn_details_teeworlds
-elif [ "${engine}" == "terraria" ]; then
-	fn_details_terraria
-elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
-	fn_details_unreal
-elif [ "${gamename}" == "ARK: Survivial Evolved" ]; then
-	fn_details_ark
-elif [ "${gamename}" == "Hurtworld" ]; then
-	fn_details_hurtworld
-elif [ "${gamename}" == "7 Days To Die" ]; then
-	fn_details_sdtd
-elif [ "${gamename}" == "TeamSpeak 3" ]; then
-	fn_details_teamspeak3
-elif [ "${gamename}" == "Mumble" ]; then
-	fn_details_mumble
-elif [ "${gamename}" == "Rust" ]; then
-	fn_details_rust
-else
-	fn_print_error_nl "Unable to detect server engine."
-fi
 
-fn_details_statusbottom
-core_exit.sh
+fn_display_details() {
+	check.sh
+	info_config.sh
+	info_distro.sh
+	info_glibc.sh
+	info_parms.sh
+	fn_details_os
+	fn_details_performance
+	fn_details_disk
+	fn_details_gameserver
+	fn_details_script
+	fn_details_backup
+	# Some game servers do not have parms.
+	if [ "${gamename}" != "TeamSpeak 3" ]&&[ "${engine}" != "avalanche" ]&&[ "${engine}" != "dontstarve" ]&&[ "${engine}" != "projectzomboid" ]; then
+		fn_parms
+		fn_details_commandlineparms
+	fi
+	fn_details_ports
+
+	# Display details depending on game or engine.
+	if [ "${engine}" == "avalanche" ]; then
+		fn_details_avalanche
+	elif [ "${engine}" == "refractor" ]; then
+		fn_details_refractor
+	elif [ "${engine}" == "dontstarve" ]; then
+		fn_details_dontstarve
+	elif [ "${engine}" == "lwjgl2" ]; then
+		fn_details_minecraft
+	elif [ "${engine}" == "projectzomboid" ]; then
+		fn_details_projectzomboid
+	elif [ "${engine}" == "realvirtuality" ]; then
+		fn_details_realvirtuality
+	elif [ "${engine}" == "seriousengine35" ]; then
+		fn_details_seriousengine35
+	elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
+		fn_details_source
+	elif [ "${engine}" == "spark" ]; then
+		fn_details_spark
+	elif [ "${engine}" == "starbound" ]; then
+		fn_details_starbound
+	elif [ "${engine}" == "teeworlds" ]; then
+		fn_details_teeworlds
+	elif [ "${engine}" == "terraria" ]; then
+		fn_details_terraria
+	elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
+		fn_details_unreal
+	elif [ "${engine}" == "unreal3" ]; then
+		fn_details_ut3
+	elif [ "${gamename}" == "7 Days To Die" ]; then
+		fn_details_sdtd
+	elif [ "${gamename}" == "ARK: Survivial Evolved" ]; then
+		fn_details_ark
+	elif [ "${gamename}" == "Hurtworld" ]; then
+		fn_details_hurtworld
+	elif [ "${gamename}" == "Quake 3: Arena" ]; then
+		fn_details_quake3
+	elif [ "${gamename}" == "Quake Live" ]; then
+		fn_details_quakelive
+	elif [ "${gamename}" == "TeamSpeak 3" ]; then
+		fn_details_teamspeak3
+	elif [ "${gamename}" == "Mumble" ]; then
+		fn_details_mumble
+	elif [ "${gamename}" == "Rust" ]; then
+		fn_details_rust
+	elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
+		fn_details_wolfensteinenemyterritory
+	else
+		fn_print_error_nl "Unable to detect server engine."
+	fi
+
+	fn_details_statusbottom
+}
+
+if [ -z "${postdetails}" ] ;
+then
+  fn_display_details
+  core_exit.sh
+fi

+ 48 - 48
lgsm/functions/command_dev_detect_deps.sh

@@ -42,62 +42,62 @@ else
 	echo "readelf/eu-readelf not installed"
 fi
 
-${readelf} -d ${executable} |grep NEEDED|awk '{ print $5 }'|sed 's/\[//g'|sed 's/\]//g' > "${lgsmdir}/tmp/.depdetect_readelf"
+${readelf} -d ${executable} |grep NEEDED|awk '{ print $5 }'|sed 's/\[//g'|sed 's/\]//g' > "${tmpdir}/.depdetect_readelf"
 
 
-echo "yum install " > "${lgsmdir}/tmp/.depdetect_centos_list_uniq"
-echo "apt-get install " > "${lgsmdir}/tmp/.depdetect_ubuntu_list_uniq"
-echo "apt-get install " > "${lgsmdir}/tmp/.depdetect_debian_list_uniq"
+echo "yum install " > "${tmpdir}/.depdetect_centos_list_uniq"
+echo "apt-get install " > "${tmpdir}/.depdetect_ubuntu_list_uniq"
+echo "apt-get install " > "${tmpdir}/.depdetect_debian_list_uniq"
 while read lib; do
 	sharedlib=${lib}
 	if [ "${lib}" == "libm.so.6" ]||[ "${lib}" == "libc.so.6" ]||[ "${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" >> "${lgsmdir}/tmp/.depdetect_centos_list"
-		echo "lib32gcc1" >> "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-		echo "lib32gcc1" >> "${lgsmdir}/tmp/.depdetect_debian_list"
+		echo "glibc.i686" >> "${tmpdir}/.depdetect_centos_list"
+		echo "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "lib32gcc1" >> "${tmpdir}/.depdetect_debian_list"
 
 	elif [ "${lib}" == "libstdc++.so.6" ]; then
-		echo "libstdc++.i686" >> "${lgsmdir}/tmp/.depdetect_centos_list"
-		echo "libstdc++6:i386" >> "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-		echo "libstdc++6:i386" >> "${lgsmdir}/tmp/.depdetect_debian_list"
+		echo "libstdc++.i686" >> "${tmpdir}/.depdetect_centos_list"
+		echo "libstdc++6:i386" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "libstdc++6:i386" >> "${tmpdir}/.depdetect_debian_list"
 
 	elif [ "${lib}" == "libstdc++.so.5" ]; then
-		echo "compat-libstdc++-33.i686" >> "${lgsmdir}/tmp/.depdetect_centos_list"
-		echo "libstdc++5:i386" >> "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-		echo "libstdc++5:i386" >> "${lgsmdir}/tmp/.depdetect_debian_list"
+		echo "compat-libstdc++-33.i686" >> "${tmpdir}/.depdetect_centos_list"
+		echo "libstdc++5:i386" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "libstdc++5:i386" >> "${tmpdir}/.depdetect_debian_list"
 
 	elif [ "${lib}" == "libspeex.so.1" ]||[ "${lib}" == "libspeexdsp.so.1" ]; then
-		echo "speex.i686" >> "${lgsmdir}/tmp/.depdetect_centos_list"
-		echo "speex:i386" >> "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-		echo "speex:i386" >> "${lgsmdir}/tmp/.depdetect_debian_list"
+		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" >> "${lgsmdir}/tmp/.depdetect_centos_list"
-		echo "libsdl1.2debian" >> "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-		echo "libsdl1.2debian" >> "${lgsmdir}/tmp/.depdetect_debian_list"
+		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" >> "${lgsmdir}/tmp/.depdetect_centos_list"
-		echo "libtbb2" >> "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-		echo "libtbb2" >> "${lgsmdir}/tmp/.depdetect_debian_list"
+		echo "tbb.i686" >> "${tmpdir}/.depdetect_centos_list"
+		echo "libtbb2" >> "${tmpdir}/.depdetect_ubuntu_list"
+		echo "libtbb2" >> "${tmpdir}/.depdetect_debian_list"
 
 	elif [ "${lib}" == "libtier0.so" ]||[ "${lib}" == "Core.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
 		:
 	else
 		unknownlib=1
-		echo "${lib}" >> "${lgsmdir}/tmp/.depdetect_unknown"
+		echo "${lib}" >> "${tmpdir}/.depdetect_unknown"
 	fi
-done < "${lgsmdir}/tmp/.depdetect_readelf"
-sort "${lgsmdir}/tmp/.depdetect_centos_list" | uniq >> "${lgsmdir}/tmp/.depdetect_centos_list_uniq"
-sort "${lgsmdir}/tmp/.depdetect_ubuntu_list" | uniq >> "${lgsmdir}/tmp/.depdetect_ubuntu_list_uniq"
-sort "${lgsmdir}/tmp/.depdetect_debian_list" | uniq >> "${lgsmdir}/tmp/.depdetect_debian_list_uniq"
+done < "${tmpdir}/.depdetect_readelf"
+sort "${tmpdir}/.depdetect_centos_list" | uniq >> "${tmpdir}/.depdetect_centos_list_uniq"
+sort "${tmpdir}/.depdetect_ubuntu_list" | uniq >> "${tmpdir}/.depdetect_ubuntu_list_uniq"
+sort "${tmpdir}/.depdetect_debian_list" | uniq >> "${tmpdir}/.depdetect_debian_list_uniq"
 if [ "${unknownlib}" == "1" ]; then
-	sort "${lgsmdir}/tmp/.depdetect_unknown" | uniq >> "${lgsmdir}/tmp/.depdetect_unknown_uniq"
+	sort "${tmpdir}/.depdetect_unknown" | uniq >> "${tmpdir}/.depdetect_unknown_uniq"
 fi
 
-awk -vORS=' ' '{ print $1, $2 }' "${lgsmdir}/tmp/.depdetect_centos_list_uniq" > "${lgsmdir}/tmp/.depdetect_centos_line"
-awk -vORS=' ' '{ print $1, $2 }' "${lgsmdir}/tmp/.depdetect_ubuntu_list_uniq" > "${lgsmdir}/tmp/.depdetect_ubuntu_line"
-awk -vORS=' ' '{ print $1, $2 }' "${lgsmdir}/tmp/.depdetect_debian_list_uniq" > "${lgsmdir}/tmp/.depdetect_debian_line"
+awk -vORS=' ' '{ print $1, $2 }' "${tmpdir}/.depdetect_centos_list_uniq" > "${tmpdir}/.depdetect_centos_line"
+awk -vORS=' ' '{ print $1, $2 }' "${tmpdir}/.depdetect_ubuntu_list_uniq" > "${tmpdir}/.depdetect_ubuntu_line"
+awk -vORS=' ' '{ print $1, $2 }' "${tmpdir}/.depdetect_debian_list_uniq" > "${tmpdir}/.depdetect_debian_line"
 
 echo ""
 echo "Required Dependencies"
@@ -106,46 +106,46 @@ echo "${executable}"
 echo ""
 echo "CentOS"
 echo "================================="
-cat "${lgsmdir}/tmp/.depdetect_centos_line"
+cat "${tmpdir}/.depdetect_centos_line"
 echo ""
 echo ""
 echo "Ubuntu"
 echo "================================="
-cat "${lgsmdir}/tmp/.depdetect_ubuntu_line"
+cat "${tmpdir}/.depdetect_ubuntu_line"
 echo ""
 echo ""
 echo "Debian"
 echo "================================="
-cat "${lgsmdir}/tmp/.depdetect_debian_line"
+cat "${tmpdir}/.depdetect_debian_line"
 echo ""
 if [ "${unknownlib}" == "1" ]; then
 	echo ""
 	echo "Unknown shared Library"
 	echo "================================="
-	cat "${lgsmdir}/tmp/.depdetect_unknown"
+	cat "${tmpdir}/.depdetect_unknown"
 fi
 echo ""
 echo "Required Librarys"
 echo "================================="
-sort "${lgsmdir}/tmp/.depdetect_readelf" |uniq
+sort "${tmpdir}/.depdetect_readelf" |uniq
 echo ""
 echo "ldd"
 echo "================================="
 ldd ${executable}
 echo -en "\n"
-rm -f "${lgsmdir}/tmp/.depdetect_centos_line"
-rm -f "${lgsmdir}/tmp/.depdetect_centos_list"
-rm -f "${lgsmdir}/tmp/.depdetect_centos_list_uniq"
+rm -f "${tmpdir}/.depdetect_centos_line"
+rm -f "${tmpdir}/.depdetect_centos_list"
+rm -f "${tmpdir}/.depdetect_centos_list_uniq"
 
-rm -f "${lgsmdir}/tmp/.depdetect_debian_line"
-rm -f "${lgsmdir}/tmp/.depdetect_debian_list"
-rm -f "${lgsmdir}/tmp/.depdetect_debian_list_uniq"
+rm -f "${tmpdir}/.depdetect_debian_line"
+rm -f "${tmpdir}/.depdetect_debian_list"
+rm -f "${tmpdir}/.depdetect_debian_list_uniq"
 
-rm -f "${lgsmdir}/tmp/.depdetect_ubuntu_line"
-rm -f "${lgsmdir}/tmp/.depdetect_ubuntu_list"
-rm -f "${lgsmdir}/tmp/.depdetect_ubuntu_list_uniq"
+rm -f "${tmpdir}/.depdetect_ubuntu_line"
+rm -f "${tmpdir}/.depdetect_ubuntu_list"
+rm -f "${tmpdir}/.depdetect_ubuntu_list_uniq"
 
-rm -f "${lgsmdir}/tmp/.depdetect_readelf"
+rm -f "${tmpdir}/.depdetect_readelf"
 
-rm -f "${lgsmdir}/tmp/.depdetect_unknown"
-rm -f "${lgsmdir}/tmp/.depdetect_unknown_uniq"
+rm -f "${tmpdir}/.depdetect_unknown"
+rm -f "${tmpdir}/.depdetect_unknown_uniq"

+ 13 - 4
lgsm/functions/command_dev_detect_glibc.sh

@@ -9,6 +9,12 @@ echo "================================="
 echo "GLIBC Requirements Checker"
 echo "================================="
 
+if [ -z "$(command -v objdump)" ]; then
+	fn_print_failure_nl "objdump is missing"
+	fn_script_log_fatal "objdump is missing"
+	core_exit.sh
+fi
+
 if [ -z "${filesdir}" ]; then
 	dir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
 fi
@@ -22,10 +28,13 @@ elif [ -f "${filesdir}" ]; then
 fi
 echo ""
 
+files=$(find ${filesdir} | wc -l)
 find ${filesdir} -type f -print0 |
 while IFS= read -r -d $'\0' line; do
-	objdump -T $line 2>/dev/null|grep -oP "GLIBC[^ ]+" >>"${lgsmdir}/tmp/detect_glibc.tmp"
+	objdump -T $line 2>/dev/null|grep -oP "GLIBC[^ ]+" >>"${tmpdir}/detect_glibc.tmp"
+	echo -n "$i / $files" $'\r'
+	((i++))
 done
-
-cat "${lgsmdir}/tmp/detect_glibc.tmp"|sort|uniq|sort -r --version-sort
-rm "${lgsmdir}/tmp/detect_glibc.tmp"
+echo ""
+cat "${tmpdir}/detect_glibc.tmp"|sort|uniq|sort -r --version-sort
+#rm "${tmpdir}/detect_glibc.tmp"

+ 53 - 0
lgsm/functions/command_dev_detect_ldd.sh

@@ -0,0 +1,53 @@
+#!/bin/bash
+# command_dev_detect_ldd.sh function
+# Author: Daniel Gibbs
+# Website: https://gameservermanagers.com
+# Description: Automatically detects required deps using ldd.
+# Can check a file or directory recursively.
+
+echo "================================="
+echo "Shared Object dependencies Checker"
+echo "================================="
+
+if [ -z "${filesdir}" ]; then
+	dir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
+fi
+
+if [ -d "${filesdir}" ]; then
+	echo "Checking directory: "
+	echo "${filesdir}"
+elif [ -f "${filesdir}" ]; then
+	echo "Checking file: "
+	echo "${filesdir}"
+fi
+echo ""
+
+files=$(find ${filesdir} | wc -l)
+find ${filesdir} -type f -print0 |
+while IFS= read -r -d $'\0' line; do
+	#ldd -v $line 2>/dev/null|grep "=>" >>"${tmpdir}/detect_ldd.tmp"
+	if [ -n "$(ldd $line 2>/dev/null |grep -v "not a dynamic executable")" ]; then
+		echo "$line" >> "${tmpdir}/detect_ldd.tmp"
+		ldd $line 2>/dev/null |grep -v "not a dynamic executable" >> "${tmpdir}/detect_ldd.tmp"
+
+		if [ -n "$(ldd $line 2>/dev/null |grep -v "not a dynamic executable"|grep "not found")" ]; then
+			echo "$line" >> "${tmpdir}/detect_ldd_not_found.tmp"
+			ldd $line 2>/dev/null |grep -v "not a dynamic executable"|grep "not found" >> "${tmpdir}/detect_ldd_not_found.tmp"
+		fi
+	fi
+	echo -n "$i / $files" $'\r'
+	((i++))
+done
+echo ""
+echo ""
+echo "All"
+echo "================================="
+cat "${tmpdir}/detect_ldd.tmp"
+
+echo ""
+echo "Not Found"
+echo "================================="
+cat "${tmpdir}/detect_ldd_not_found.tmp"
+
+rm "${tmpdir}/detect_ldd.tmp"
+rm "${tmpdir}/detect_ldd_not_found.tmp"

Некоторые файлы не были показаны из-за большого количества измененных файлов