Просмотр исходного кода

Merge pull request #1065 from GameServerManagers/pastebin

{p,h}astebin posting of stripped details
Daniel Gibbs 9 лет назад
Родитель
Сommit
c02715b25d
69 измененных файлов с 388 добавлено и 159 удалено
  1. 1 0
      7DaysToDie/sdtdserver
  2. 1 0
      ARKSurvivalEvolved/arkserver
  3. 1 0
      Arma3/arma3server
  4. 1 0
      Battlefield1942/bf1942server
  5. 1 0
      BlackMesa/bmdmserver
  6. 1 0
      BladeSymphony/bsserver
  7. 1 0
      BrainBread2/bb2server
  8. 1 0
      CodenameCURE/ccserver
  9. 1 0
      CounterStrike/csserver
  10. 1 0
      CounterStrikeConditionZero/csczserver
  11. 1 0
      CounterStrikeGlobalOffensive/csgoserver
  12. 1 0
      CounterStrikeSource/cssserver
  13. 1 0
      DayOfDefeat/dodserver
  14. 1 0
      DayOfDefeatSource/dodsserver
  15. 1 0
      DayOfInfamy/doiserver
  16. 1 0
      DeathmatchClassic/dmcserver
  17. 1 0
      DontStarveTogether/dstserver
  18. 1 0
      DoubleActionBoogaloo/dabserver
  19. 1 0
      EmpiresMod/emserver
  20. 1 0
      FistfulOfFrags/fofserver
  21. 1 0
      GarrysMod/gmodserver
  22. 1 0
      GoldenEyeSource/gesserver
  23. 1 0
      HalfLife2Deathmatch/hl2dmserver
  24. 1 0
      HalfLifeDeathmatch/hldmserver
  25. 1 0
      HalfLifeDeathmatchSource/hldmsserver
  26. 1 0
      Hurtworld/hwserver
  27. 1 0
      Insurgency/insserver
  28. 1 0
      JustCause2/jc2server
  29. 1 0
      KillingFloor/kfserver
  30. 1 0
      Left4Dead/l4dserver
  31. 1 0
      Left4Dead2/l4d2server
  32. 1 0
      Mumble/mumbleserver
  33. 1 0
      NS2Combat/ns2cserver
  34. 1 0
      NaturalSelection2/ns2server
  35. 1 0
      NoMoreRoomInHell/nmrihserver
  36. 1 0
      OpposingForce/opforserver
  37. 1 0
      PiratesVikingandKnightsII/pvkiiserver
  38. 1 0
      ProjectZomboid/pzserver
  39. 1 0
      QuakeLive/qlserver
  40. 1 0
      RedOrchestra/roserver
  41. 1 0
      Ricochet/ricochetserver
  42. 1 0
      Rust/rustserver
  43. 1 0
      SeriousSam3BFE/ss3sserver
  44. 1 0
      Starbound/sbserver
  45. 1 0
      SvenCoop/svencoopserver
  46. 1 0
      TeamFortress2/tf2server
  47. 1 0
      TeamFortressClassic/tfcserver
  48. 1 0
      TeamSpeak3/ts3server
  49. 1 0
      Teeworlds/twserver
  50. 1 0
      Terraria/terrariaserver
  51. 1 0
      UnrealTournament/utserver
  52. 1 0
      UnrealTournament2004/ut2k4server
  53. 1 0
      UnrealTournament3/ut3server
  54. 1 0
      UnrealTournament99/ut99server
  55. 1 0
      WolfensteinEnemyTerritory/wetserver
  56. 2 2
      lgsm/functions/check_steamcmd.sh
  57. 70 62
      lgsm/functions/command_details.sh
  58. 48 48
      lgsm/functions/command_dev_detect_deps.sh
  59. 3 3
      lgsm/functions/command_dev_detect_glibc.sh
  60. 9 9
      lgsm/functions/command_dev_detect_ldd.sh
  61. 146 0
      lgsm/functions/command_postdetails.sh
  62. 18 9
      lgsm/functions/core_functions.sh
  63. 15 1
      lgsm/functions/core_getopt.sh
  64. 7 7
      lgsm/functions/install_server_files.sh
  65. 2 2
      lgsm/functions/update_minecraft.sh
  66. 3 3
      lgsm/functions/update_mumble.sh
  67. 8 13
      lgsm/functions/update_ts3.sh
  68. 1 0
      tests/tests_jc2server.sh
  69. 1 0
      tests/tests_ts3server.sh

+ 1 - 0
7DaysToDie/sdtdserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
ARKSurvivalEvolved/arkserver

@@ -73,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"

+ 1 - 0
Arma3/arma3server

@@ -84,6 +84,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
Battlefield1942/bf1942server

@@ -54,6 +54,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${systemdir}"

+ 1 - 0
BlackMesa/bmdmserver

@@ -78,6 +78,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/bms"
 executabledir="${filesdir}"

+ 1 - 0
BladeSymphony/bsserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/berimbau"
 executabledir="${filesdir}"

+ 1 - 0
BrainBread2/bb2server

@@ -78,6 +78,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/brainbread2"
 executabledir="${filesdir}"

+ 1 - 0
CodenameCURE/ccserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/cure"
 executabledir="${filesdir}"

+ 1 - 0
CounterStrike/csserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/cstrike"
 executabledir="${filesdir}"

+ 1 - 0
CounterStrikeConditionZero/csczserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/czero"
 executabledir="${filesdir}"

+ 1 - 0
CounterStrikeGlobalOffensive/csgoserver

@@ -96,6 +96,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/csgo"
 executabledir="${filesdir}"

+ 1 - 0
CounterStrikeSource/cssserver

@@ -78,6 +78,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/cstrike"
 executabledir="${filesdir}"

+ 1 - 0
DayOfDefeat/dodserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dod"
 executabledir="${filesdir}"

+ 1 - 0
DayOfDefeatSource/dodsserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dod"
 executabledir="${filesdir}"

+ 1 - 0
DayOfInfamy/doiserver

@@ -75,6 +75,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/doi"
 executabledir="${filesdir}"

+ 1 - 0
DeathmatchClassic/dmcserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dmc"
 executabledir="${filesdir}"

+ 1 - 0
DontStarveTogether/dstserver

@@ -71,6 +71,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}/bin"

+ 1 - 0
DoubleActionBoogaloo/dabserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/dab"
 executabledir="${filesdir}"

+ 1 - 0
EmpiresMod/emserver

@@ -78,6 +78,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/empires"
 executabledir="${filesdir}"

+ 1 - 0
FistfulOfFrags/fofserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/fof"
 executabledir="${filesdir}"

+ 1 - 0
GarrysMod/gmodserver

@@ -94,6 +94,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/garrysmod"
 addonsdir="${systemdir}/addons"

+ 1 - 0
GoldenEyeSource/gesserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/gesource"
 executabledir="${filesdir}"

+ 1 - 0
HalfLife2Deathmatch/hl2dmserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/hl2mp"
 executabledir="${filesdir}"

+ 1 - 0
HalfLifeDeathmatch/hldmserver

@@ -67,6 +67,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/valve"
 executabledir="${filesdir}"

+ 1 - 0
HalfLifeDeathmatchSource/hldmsserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/hl1mp"
 executabledir="${filesdir}"

+ 1 - 0
Hurtworld/hwserver

@@ -87,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}"

+ 1 - 0
Insurgency/insserver

@@ -75,6 +75,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/insurgency"
 executabledir="${filesdir}"

+ 1 - 0
JustCause2/jc2server

@@ -67,6 +67,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
KillingFloor/kfserver

@@ -72,6 +72,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/System"
 executabledir="${systemdir}"

+ 1 - 0
Left4Dead/l4dserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/left4dead"
 executabledir="${filesdir}"

+ 1 - 0
Left4Dead2/l4d2server

@@ -72,6 +72,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/left4dead2"
 executabledir="${filesdir}"

+ 1 - 0
Mumble/mumbleserver

@@ -55,6 +55,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
NS2Combat/ns2cserver

@@ -80,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"

+ 1 - 0
NaturalSelection2/ns2server

@@ -80,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}"

+ 1 - 0
NoMoreRoomInHell/nmrihserver

@@ -78,6 +78,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/nmrih"
 executabledir="${filesdir}"

+ 1 - 0
OpposingForce/opforserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/gearbox"
 executabledir="${filesdir}"

+ 1 - 0
PiratesVikingandKnightsII/pvkiiserver

@@ -73,6 +73,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/pvkii"
 executabledir="${filesdir}"

+ 1 - 0
ProjectZomboid/pzserver

@@ -69,6 +69,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
QuakeLive/qlserver

@@ -76,6 +76,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
RedOrchestra/roserver

@@ -63,6 +63,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/system"
 executabledir="${systemdir}"

+ 1 - 0
Ricochet/ricochetserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/ricochet"
 executabledir="${filesdir}"

+ 1 - 0
Rust/rustserver

@@ -90,6 +90,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
SeriousSam3BFE/ss3sserver

@@ -68,6 +68,7 @@ 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"

+ 1 - 0
Starbound/sbserver

@@ -67,6 +67,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}/linux"

+ 1 - 0
SvenCoop/svencoopserver

@@ -72,6 +72,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/svencoop"
 executabledir="${filesdir}"

+ 1 - 0
TeamFortress2/tf2server

@@ -78,6 +78,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/tf"
 executabledir="${filesdir}"

+ 1 - 0
TeamFortressClassic/tfcserver

@@ -68,6 +68,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/tfc"
 executabledir="${filesdir}"

+ 1 - 0
TeamSpeak3/ts3server

@@ -41,6 +41,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
Teeworlds/twserver

@@ -63,6 +63,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
Terraria/terrariaserver

@@ -63,6 +63,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
UnrealTournament/utserver

@@ -60,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"

+ 1 - 0
UnrealTournament2004/ut2k4server

@@ -46,6 +46,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/System"
 executabledir="${systemdir}"

+ 1 - 0
UnrealTournament3/ut3server

@@ -58,6 +58,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${systemdir}/Binaries"

+ 1 - 0
UnrealTournament99/ut99server

@@ -55,6 +55,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}/System"
 executabledir="${systemdir}"

+ 1 - 0
WolfensteinEnemyTerritory/wetserver

@@ -53,6 +53,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${systemdir}"

+ 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"
 }
 

+ 70 - 62
lgsm/functions/command_details.sh

@@ -580,66 +580,74 @@ 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}" == "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
+}
+
+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"

+ 3 - 3
lgsm/functions/command_dev_detect_glibc.sh

@@ -25,10 +25,10 @@ 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
 echo ""
-cat "${lgsmdir}/tmp/detect_glibc.tmp"|sort|uniq|sort -r --version-sort
-rm "${lgsmdir}/tmp/detect_glibc.tmp"
+cat "${tmpdir}/detect_glibc.tmp"|sort|uniq|sort -r --version-sort
+rm "${tmpdir}/detect_glibc.tmp"

+ 9 - 9
lgsm/functions/command_dev_detect_ldd.sh

@@ -25,14 +25,14 @@ 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 "=>" >>"${lgsmdir}/tmp/detect_ldd.tmp"
+	#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" >> "${lgsmdir}/tmp/detect_ldd.tmp"
-		ldd $line 2>/dev/null |grep -v "not a dynamic executable" >> "${lgsmdir}/tmp/detect_ldd.tmp"
+		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" >> "${lgsmdir}/tmp/detect_ldd_not_found.tmp"
-			ldd $line 2>/dev/null |grep -v "not a dynamic executable"|grep "not found" >> "${lgsmdir}/tmp/detect_ldd_not_found.tmp"
+			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'
@@ -42,12 +42,12 @@ echo ""
 echo ""
 echo "All"
 echo "================================="
-cat "${lgsmdir}/tmp/detect_ldd.tmp"
+cat "${tmpdir}/detect_ldd.tmp"
 
 echo ""
 echo "Not Found"
 echo "================================="
-cat "${lgsmdir}/tmp/detect_ldd_not_found.tmp"
+cat "${tmpdir}/detect_ldd_not_found.tmp"
 
-rm "${lgsmdir}/tmp/detect_ldd.tmp"
-rm "${lgsmdir}/tmp/detect_ldd_not_found.tmp"
+rm "${tmpdir}/detect_ldd.tmp"
+rm "${tmpdir}/detect_ldd_not_found.tmp"

+ 146 - 0
lgsm/functions/command_postdetails.sh

@@ -0,0 +1,146 @@
+#!/bin/bash
+# LGSM command_postdetails.sh function
+# Author: CedarLUG
+# Contributor: CedarLUG
+# Website: https://gameservermanagers.com
+# Description: Strips sensitive information out of Details output
+
+local commandname="postdetails"
+local commandaction="Postdetails"
+local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
+
+# postdetails variable affects the output of command_details.sh.  Setting
+# it here silences the output from sourcing command_details.sh.
+postdetails=yes
+
+# Set posttarget to the appropriately-defined post destination.
+
+# The options for posttarget are:
+# The default destination - hastebin
+# posttarget="http://hastebin.com"
+#
+# Secondary destination - pastebin
+# posttarget="http://pastebin.com
+#
+# Third option - leave on the filesystem
+# posttarget=
+#
+# All of these options can be specified/overridden from the top-level
+# invocation, as in:
+#  rustserver@gamerig:~$ posttarget="http://pastebin.com" ./rustserver pd
+# to post to pastebin, or
+#  rustserver@gamerig:~$ posttarget= ./rustserver pd
+# to leave the output on the filesystem.
+posttarget=${posttarget="http://hastebin.com"}
+
+# For pastebin, you can set the expiration period.
+# use 1 week as the default, other options are '24h' for a day, etc.
+# This, too, may be overridden from the command line at the top-level
+postexpire="${postexpire="1W"}"
+
+# This file sources the command_details.sh file to leverage all
+# of the already-defined functions.  To keep the command_details.sh
+# from actually producing output, the main executable statements have
+# been wrapped in the equivalent of an ifdef clause, that looks
+# for the variable "postdetails" to be defined. -CedarLUG
+
+# source all of the functions defined in the details command
+command_details.sh
+
+# redefine as command_details.sh changes them
+local commandname="postdetails"
+local commandaction="Postdetails"
+local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
+
+fn_bad_tmpfile() {
+	echo "There was a problem creating a temporary file ${tmpfile}."
+	core_exit.sh
+}
+
+# Rather than a one-pass sed parser, default to using a temporary directory
+tmpfile="${tmpdir}/postdetails-$(date +"%Y-%d-%m_%H-%M-%S").tmp"
+
+touch "${tmpfile}" || fn_bad_tmpfile
+
+# fn_display_details is found in the command_details.sh file (which
+# was sourced above).  The output is parsed for passwords and other
+# confidential information. -CedarLUG
+
+# The numerous sed lines could certainly be condensed quite a bit,
+# but they are separated out to provide examples for how to add
+# additional criteria in a straight-forward manner.
+# (This was originally a sed one-liner.) -CedarLUG
+
+fn_display_details | sed -e 's/password="[^"]*/password="--stripped--/' |
+									sed -e 's/password "[^"]*/password "--stripped--/' |
+									sed -e 's/password: .*/password: --stripped--/' |
+									sed -e 's/gslt="[^"]*/gslt="--stripped--/' |
+									sed -e 's/gslt "[^"]*/gslt "--stripped--/' |
+									sed -e 's/pushbullettoken="[^"]*/pushbullettoken="--stripped--/' |
+									sed -e 's/pushbullettoken "[^"]*/pushbullettoken "--stripped--/' |
+									sed -e 's/authkey="[^"]*/authkey="--stripped--/' |
+									sed -e 's/authkey "[^"]*/authkey "--stripped--/' |
+									sed -e 's/authkey [A-Za-z0-9]\+/authkey --stripped--/' |
+									sed -e 's/rcts_strAdminPassword="[^"]*/rcts_strAdminPassword="--stripped--/' |
+									sed -e 's/rcts_strAdminPassword "[^"]*/rcts_strAdminPassword "--stripped--/' |
+									sed -e 's/sv_setsteamaccount [A-Za-z0-9]\+/sv_setsteamaccount --stripped--/' |
+									sed -e 's/sv_password="[^"]*/sv_password="--stripped--/' |
+									sed -e 's/sv_password "[^"]*/sv_password "--stripped--/' |
+									sed -e 's/zmq_stats_password="[^"]*/zmq_stats_password="--stripped--/' |
+									sed -e 's/zmq_stats_password "[^"]*/zmq_stats_password "--stripped--/' |
+									sed -e 's/zmq_rcon_password="[^"]*/zmq_rcon_password="--stripped--/' |
+									sed -e 's/zmq_rcon_password "[^"]*/zmq_rcon_password "--stripped--/' |
+									sed -e 's/pass="[^"]*/pass="--stripped--/' |
+									sed -e 's/pass "[^"]*/pass "--stripped--/' |
+									sed -e 's/rconServerPassword="[^"]*/rconServerPassword="--stripped--/' |
+									sed -e 's/rconServerPassword "[^"]*/rconServerPassword "--stripped--/' > "${tmpfile}"
+
+# strip off all console escape codes (colorization)
+sed -i -r "s/[\x1B,\x0B]\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" "${tmpfile}"
+
+# If the gameserver uses anonymous steam credentials, leave them displayed
+# in the output.  Otherwise, strip these out as well.
+if ! grep -q "^steampass[= ]\"\"" "${tmpfile}" ; then
+	sed -i -e 's/steampass[= ]"[^"]*/steampass "--stripped--/' "${tmpfile}"
+fi
+if ! grep -q "^steamuser[= ]\"anonymous\"" "${tmpfile}" ; then
+	sed -i -e 's/steamuser[= ]"[^"]*/steamuser "--stripped--/' "${tmpfile}"
+fi
+
+
+if [ "${posttarget}" == "http://pastebin.com" ] ; then
+	fn_print_dots "Posting details to pastbin.com for ${postexpire}"
+	sleep 1
+	# grab the return from 'value' from an initial visit to pastebin.
+	csrftoken=$(curl -s "${posttarget}" |
+					sed -n 's/^.*input type="hidden" name="csrf_token_post" value="\(.*\)".*$/\1/p')
+	#
+	# Use the csrftoken to then post the content.
+	#
+	link=$(curl -s "${posttarget}/post.php" -D - -F "submit_hidden=submit_hidden" \
+				-F "post_key=${csrftoken}" -F "paste_expire_date=${postexpire}" \
+				-F "paste_name=${gamename} Debug Info" \
+				-F "paste_format=8" -F "paste_private=0" \
+				-F "paste_type=bash" -F "paste_code=<${tmpfile}" |
+				awk '/^location: / { print $2 }' | sed "s/\n//g")
+
+	 # Output the resulting link.
+	fn_print_ok_nl "Posting details to pastbin.com for ${postexpire}"
+	echo "  * url: ${posttarget}${link}"
+elif [ "${posttarget}" == "http://hastebin.com" ] ; then
+	fn_print_dots "Posting details to hastbin.com for ${postexpire}"
+	sleep 1
+	# hastebin is a bit simpler.  If successful, the returned result
+	# should look like: {"something":"key"}, putting the reference that
+	# we need in "key".  TODO - error handling. -CedarLUG
+	link=$(curl -s -d "$(<${tmpfile})" "${posttarget}/documents" | cut -d\" -f4)
+	fn_print_ok_nl "Posting details to hastbin.com for ${postexpire}"
+	echo "  * url: ${posttarget}/${link}"
+else
+	 fn_print_warn_nl Review the output in "${tmpfile}"
+	 core_exit.sh
+fi
+
+# cleanup
+rm "${tmpfile}" || /bin/true
+core_exit.sh

+ 18 - 9
lgsm/functions/core_functions.sh

@@ -18,7 +18,7 @@ if [ "${emailnotification}" == "on" ]; then
     emailalert="on"
 fi
 
-# Code/functions for legacy servers
+## Code/functions for legacy servers
 fn_functions(){
 functionfile="${FUNCNAME}"
 fn_fetch_function
@@ -29,13 +29,15 @@ functionfile="${FUNCNAME}"
 fn_fetch_function
 }
 
-# fn_fetch_core_dl also placed here to allow legacy servers to still download core functions
-if [ -z "${lgsmdir}" ]||[ -z "${functionsdir}" ]||[ -z "${libdir}" ]; then
+## In case older versions are missing these vars
+if [ -z "${lgsmdir}" ]||[ -z "${functionsdir}" ]||[ -z "${libdir}" ]||[ -z "${tmpdir}" ]; then
 	lgsmdir="${rootdir}/lgsm"
 	functionsdir="${lgsmdir}/functions"
 	libdir="${lgsmdir}/lib"
+	tmpdir="${lgsmdir}/tmp"
 fi
 
+## fn_fetch_core_dl placed here to allow legacy servers to still download core functions
 fn_fetch_core_dl(){
 github_file_url_dir="lgsm/functions"
 github_file_url_name="${functionfile}"
@@ -78,6 +80,10 @@ fi
 source "${filedir}/${filename}"
 }
 
+# Creates tmp dir if missing
+if [ ! -d "${tmpdir}" ]; then
+	mkdir -p "${tmpdir}"
+fi
 
 # Core
 
@@ -121,12 +127,15 @@ fn_fetch_function
 }
 
 command_postdetails.sh(){
-functionfile="${FUNCNAME}"
-tempffname=$functionfile
-fn_fetch_function
-functionfile="command_details.sh"
-fn_fetch_function
-functionfile=$tempffname
+    functionfile="${FUNCNAME}"
+    tempffname="${functionfile}"
+    # First, grab the command_postdetails.sh file
+    fn_fetch_function
+    # But then next, command_details.sh needs to also be pulled
+    # because command_postdetails.sh sources its functions -CedarLUG
+    functionfile="command_details.sh"
+    fn_fetch_function
+    functionfile="${tempffname}"
 }
 
 command_details.sh(){

+ 15 - 1
lgsm/functions/core_getopt.sh

@@ -29,6 +29,8 @@ case "${getopt}" in
 		command_test_alert.sh;;
 	dt|details)
 		command_details.sh;;
+	pd|postdetails)
+		command_postdetails.sh;;
 	b|backup)
 		command_backup.sh;;
 	c|console)
@@ -68,6 +70,7 @@ case "${getopt}" in
 		echo -e "${blue}monitor\t${default}m  |Checks that the server is running."
 		echo -e "${blue}test-alert\t${default}ta |Sends test alert."
 		echo -e "${blue}details\t${default}dt |Displays useful information about the server."
+		echo -e "${blue}postdetails\t${default}pd |Post stripped details to pastebin (for support)"
 		echo -e "${blue}backup\t${default}b  |Create archive of the server."
 		echo -e "${blue}console\t${default}c  |Console allows you to access the live view of a server."
 		echo -e "${blue}debug\t${default}d  |See the output of the server directly to your terminal."
@@ -95,6 +98,8 @@ case "${getopt}" in
 		command_test_alert.sh;;
 	dt|details)
 		command_details.sh;;
+	pd|postdetails)
+		command_postdetails.sh;;
 	b|backup)
 		command_backup.sh;;
 	pw|change-password)
@@ -130,6 +135,7 @@ case "${getopt}" in
 		echo -e "${blue}monitor\t${default}m  |Checks that the server is running."
 		echo -e "${blue}test-alert\t${default}ta |Sends test alert."
 		echo -e "${blue}details\t${default}dt |Displays useful information about the server."
+		echo -e "${blue}postdetails\t${default}pd |Post stripped details to pastebin (for support)"
 		echo -e "${blue}change-password\t${default}pw |Changes TS3 serveradmin password."
 		echo -e "${blue}backup\t${default}b  |Create archive of the server."
 		echo -e "${blue}install\t${default}i  |Install the server."
@@ -156,6 +162,8 @@ case "${getopt}" in
 		command_test_alert.sh;;
 	dt|details)
 		command_details.sh;;
+	pd|postdetails)
+		command_postdetails.sh;;
 	b|backup)
 		command_backup.sh;;
 	c|console)
@@ -193,6 +201,7 @@ case "${getopt}" in
 		echo -e "${blue}monitor\t${default}m  |Checks that the server is running."
 		echo -e "${blue}test-alert\t${default}ta |Sends test alert."
 		echo -e "${blue}details\t${default}dt |Displays useful infomation about the server."
+		echo -e "${blue}postdetails\t${default}pd |Post stripped details to pastebin (for support)"
 		echo -e "${blue}backup\t${default}b  |Create archive of the server."
 		echo -e "${blue}console\t${default}c  |Console allows you to access the live view of a server."
 		echo -e "${blue}debug\t${default}d  |See the output of the server directly to your terminal."
@@ -220,6 +229,8 @@ case "${getopt}" in
 		command_test_alert.sh;;
 	dt|details)
 		command_details.sh;;
+	pd|postdetails)
+		command_postdetails.sh;;
 	b|backup)
 		command_backup.sh;;
 	dev|dev-debug)
@@ -251,6 +262,7 @@ case "${getopt}" in
 		echo -e "${blue}monitor\t${default}m  |Checks that the server is running."
 		echo -e "${blue}test-alert\t${default}ta |Sends test alert."
 		echo -e "${blue}details\t${default}dt |Displays useful information about the server."
+		echo -e "${blue}postdetails\t${default}pd |Post stripped details to pastebin (for support)"
 		echo -e "${blue}backup\t${default}b  |Create archive of the server."
 		echo -e "${blue}install\t${default}i  |Install the server."
 	} | column -s $'\t' -t
@@ -280,6 +292,8 @@ case "${getopt}" in
 		command_test_alert.sh;;
 	dt|details)
 		command_details.sh;;
+	pd|postdetails)
+		command_postdetails.sh;;
 	b|backup)
 		command_backup.sh;;
 	c|console)
@@ -557,4 +571,4 @@ elif [ "${engine}" == "unreal" ]; then
 else
 	fn_getopt_generic
 fi
-core_exit.sh
+core_exit.sh

+ 7 - 7
lgsm/functions/install_server_files.sh

@@ -10,19 +10,19 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 fn_install_server_files(){
 	if [ "${gamename}" == "Unreal Tournament 99" ]; then
-		fileurl="http://files.gameservermanagers.com/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="ut99-server-451-ultimate-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
+		fileurl="http://files.gameservermanagers.com/UnrealTournament99/ut99-server-451-ultimate-linux.tar.bz2"; filedir="${tmpdir}"; filename="ut99-server-451-ultimate-linux.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="49cb24d0550ff6ddeaba6007045c6edd"
 	elif [ "${gamename}" == "Unreal Tournament 2004" ]; then
-		fileurl="http://files.gameservermanagers.com/UnrealTournament2004/ut2004-server-3339-ultimate-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="ut2004-server-3339-ultimate-linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
+		fileurl="http://files.gameservermanagers.com/UnrealTournament2004/ut2004-server-3339-ultimate-linux.tar.bz2"; filedir="${tmpdir}"; filename="ut2004-server-3339-ultimate-linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
 	elif [ "${gamename}" == "Unreal Tournament 3" ]; then
-		fileurl="http://files.gameservermanagers.com/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="UT3-linux-server-2.1.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="6c22fcef9e2e03ed154df97569af540c"
+		fileurl="http://files.gameservermanagers.com/UnrealTournament3/UT3-linux-server-2.1.tar.bz2"; filedir="${tmpdir}"; filename="UT3-linux-server-2.1.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="6c22fcef9e2e03ed154df97569af540c"
 	elif [ "${gamename}" == "Battlefield: 1942" ]; then
-		fileurl="http://files.gameservermanagers.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.gz"; filedir="${lgsmdir}/tmp"; filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.gz";  executecmd="noexecute" run="norun"; force="noforce"; md5="7e9d2538a62b228f2de7176b44659aa9"
+		fileurl="http://files.gameservermanagers.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.gz"; filedir="${tmpdir}"; filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.gz";  executecmd="noexecute" run="norun"; force="noforce"; md5="7e9d2538a62b228f2de7176b44659aa9"
 	elif [ "${gamename}" == "Enemy Territory" ]; then
-		fileurl="http://files.gameservermanagers.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="enemy-territory.260b.tar.gz";  executecmd="noexecute" run="norun"; force="noforce"; md5="ded32053e470fe15d9403ec4a0ab7e89"
+		fileurl="http://files.gameservermanagers.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; filedir="${tmpdir}"; filename="enemy-territory.260b.tar.gz";  executecmd="noexecute" run="norun"; force="noforce"; md5="ded32053e470fe15d9403ec4a0ab7e89"
 	elif [ "${gamename}" == "Unreal Tournament" ]; then
-		fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${lgsmdir}/tmp"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip";  executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6"
+		fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3045522-Linux.zip"; filedir="${tmpdir}"; filename="UnrealTournament-Server-XAN-3045522-Linux.zip";  executecmd="noexecute" run="norun"; force="noforce"; md5="553fed5645a9fc623e92563049bf79f6"
 	elif [ "${gamename}" == "GoldenEye: Source" ]; then
-		fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c"
+		fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${tmpdir}"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c"
 	fi
 	fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
 	fn_dl_extract "${filedir}" "${filename}" "${filesdir}"

+ 2 - 2
lgsm/functions/update_minecraft.sh

@@ -9,10 +9,10 @@ local commandaction="Update"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 fn_update_dl(){
-	fn_fetch_file "https://s3.amazonaws.com/Minecraft.Download/versions/${availablebuild}/minecraft_server.${availablebuild}.jar" "${lgsmdir}/tmp" "minecraft_server.${availablebuild}.jar"
+	fn_fetch_file "https://s3.amazonaws.com/Minecraft.Download/versions/${availablebuild}/minecraft_server.${availablebuild}.jar" "${tmpdir}" "minecraft_server.${availablebuild}.jar"
 	echo -e "copying to ${filesdir}...\c"
 	fn_script_log "Copying to ${filesdir}"
-	cp "${lgsmdir}/tmp/minecraft_server.${availablebuild}.jar" "${filesdir}/minecraft_server.jar"
+	cp "${tmpdir}/minecraft_server.${availablebuild}.jar" "${filesdir}/minecraft_server.jar"
 	local exitcode=$?
 	if [ ${exitcode} -eq 0 ]; then
 		fn_print_ok_eol_nl

+ 3 - 3
lgsm/functions/update_mumble.sh

@@ -10,11 +10,11 @@ local commandaction="Update"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 fn_update_mumble_dl(){
-	fn_fetch_file "https://github.com/mumble-voip/mumble/releases/download/${availablebuild}/murmur-static_${mumblearch}-${availablebuild}.tar.bz2" "${lgsmdir}/tmp" "murmur-static_${mumblearch}-${availablebuild}.tar.bz2"
-	fn_dl_extract "${lgsmdir}/tmp" "murmur-static_${mumblearch}-${availablebuild}.tar.bz2" "${lgsmdir}/tmp"
+	fn_fetch_file "https://github.com/mumble-voip/mumble/releases/download/${availablebuild}/murmur-static_${mumblearch}-${availablebuild}.tar.bz2" "${tmpdir}" "murmur-static_${mumblearch}-${availablebuild}.tar.bz2"
+	fn_dl_extract "${tmpdir}" "murmur-static_${mumblearch}-${availablebuild}.tar.bz2" "${tmpdir}"
 	echo -e "copying to ${filesdir}...\c"
 	fn_script_log "Copying to ${filesdir}"
-	cp -R "${lgsmdir}/tmp/murmur-static_${mumblearch}-${availablebuild}/"* "${filesdir}"
+	cp -R "${tmpdir}/murmur-static_${mumblearch}-${availablebuild}/"* "${filesdir}"
 	local exitcode=$?
 	if [ ${exitcode} -eq 0 ]; then
 		fn_print_ok_eol_nl

+ 8 - 13
lgsm/functions/update_ts3.sh

@@ -9,11 +9,11 @@ local commandaction="Update"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 fn_update_ts3_dl(){
-	fn_fetch_file "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${lgsmdir}/tmp" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
-	fn_dl_extract "${lgsmdir}/tmp" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${lgsmdir}/tmp"
+	fn_fetch_file "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
+	fn_dl_extract "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}"
 	echo -e "copying to ${filesdir}...\c"
 	fn_script_log "Copying to ${filesdir}"
-	cp -R "${lgsmdir}/tmp/teamspeak3-server_linux_${ts3arch}/"* "${filesdir}"
+	cp -R "${tmpdir}/teamspeak3-server_linux_${ts3arch}/"* "${filesdir}"
 	local exitcode=$?
 	if [ ${exitcode} -eq 0 ]; then
 		fn_print_ok_eol_nl
@@ -86,16 +86,11 @@ fi
 fn_update_ts3_availablebuild(){
 	# Gets latest build info.
 
-	# Creates tmp dir if missing
-	if [ ! -d "${lgsmdir}/tmp" ]; then
-		mkdir -p "${lgsmdir}/tmp"
-	fi
-
 	# Grabs all version numbers but not in correct order.
-	wget "http://dl.4players.de/ts/releases/?C=M;O=D" -q -O -| grep -i dir | egrep -o '<a href=\".*\/\">.*\/<\/a>' | egrep -o '[0-9\.?]+'|uniq > "${lgsmdir}/tmp/.ts3_version_numbers_unsorted.tmp"
+	wget "http://dl.4players.de/ts/releases/?C=M;O=D" -q -O -| grep -i dir | egrep -o '<a href=\".*\/\">.*\/<\/a>' | egrep -o '[0-9\.?]+'|uniq > "${tmpdir}/.ts3_version_numbers_unsorted.tmp"
 
 	# Sort version numbers
-	cat "${lgsmdir}/tmp/.ts3_version_numbers_unsorted.tmp" | sort -r --version-sort -o "${lgsmdir}/tmp/.ts3_version_numbers_sorted.tmp"
+	cat "${tmpdir}/.ts3_version_numbers_unsorted.tmp" | sort -r --version-sort -o "${tmpdir}/.ts3_version_numbers_sorted.tmp"
 
 	# Finds directory with most recent server version.
 	while read ts3_version_number; do
@@ -105,11 +100,11 @@ fn_update_ts3_availablebuild(){
 			# Break while-loop, if the latest release could be found.
 			break
 		fi
-	done < "${lgsmdir}/tmp/.ts3_version_numbers_sorted.tmp"
+	done < "${tmpdir}/.ts3_version_numbers_sorted.tmp"
 
 	# Tidy up
-	rm -f "${lgsmdir}/tmp/.ts3_version_numbers_unsorted.tmp"
-	rm -f "${lgsmdir}/tmp/.ts3_version_numbers_sorted.tmp"
+	rm -f "${tmpdir}/.ts3_version_numbers_unsorted.tmp"
+	rm -f "${tmpdir}/.ts3_version_numbers_sorted.tmp"
 
 	# Checks availablebuild info is available
 	if [ -z "${availablebuild}" ]; then

+ 1 - 0
tests/tests_jc2server.sh

@@ -61,6 +61,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"

+ 1 - 0
tests/tests_ts3server.sh

@@ -54,6 +54,7 @@ lockselfname=".${servicename}.lock"
 lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
+tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 systemdir="${filesdir}"
 executabledir="${filesdir}"