diff --git a/7DaysToDie/sdtdserver b/7DaysToDie/sdtdserver
index f46c1ce5c..be8388813 100644
--- a/7DaysToDie/sdtdserver
+++ b/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}"
diff --git a/ARKSurvivalEvolved/arkserver b/ARKSurvivalEvolved/arkserver
index 62c756189..905a48b78 100644
--- a/ARKSurvivalEvolved/arkserver
+++ b/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"
diff --git a/Arma3/arma3server b/Arma3/arma3server
index 5a71d4642..a27a49be2 100644
--- a/Arma3/arma3server
+++ b/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}"
diff --git a/Battlefield1942/bf1942server b/Battlefield1942/bf1942server
index b0686992e..97851c553 100644
--- a/Battlefield1942/bf1942server
+++ b/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}"
diff --git a/BlackMesa/bmdmserver b/BlackMesa/bmdmserver
index 1fd97ff82..c28e35b1d 100644
--- a/BlackMesa/bmdmserver
+++ b/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}"
diff --git a/BladeSymphony/bsserver b/BladeSymphony/bsserver
index 57ee13f2f..837ef62c8 100644
--- a/BladeSymphony/bsserver
+++ b/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}"
diff --git a/BrainBread2/bb2server b/BrainBread2/bb2server
index d3a8c37df..78b57708e 100644
--- a/BrainBread2/bb2server
+++ b/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}"
diff --git a/CodenameCURE/ccserver b/CodenameCURE/ccserver
index 7a7f299dd..150a8d3ac 100644
--- a/CodenameCURE/ccserver
+++ b/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}"
diff --git a/CounterStrike/csserver b/CounterStrike/csserver
index 884d22c23..601a3eb93 100644
--- a/CounterStrike/csserver
+++ b/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}"
diff --git a/CounterStrikeConditionZero/csczserver b/CounterStrikeConditionZero/csczserver
index e01bb06c1..5d58f2314 100644
--- a/CounterStrikeConditionZero/csczserver
+++ b/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}"
diff --git a/CounterStrikeGlobalOffensive/csgoserver b/CounterStrikeGlobalOffensive/csgoserver
index 95b0c8fb0..6fb3d9313 100755
--- a/CounterStrikeGlobalOffensive/csgoserver
+++ b/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}"
diff --git a/CounterStrikeSource/cssserver b/CounterStrikeSource/cssserver
index be91fa277..f2a7cd590 100644
--- a/CounterStrikeSource/cssserver
+++ b/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}"
diff --git a/DayOfDefeat/dodserver b/DayOfDefeat/dodserver
index 1da45e816..ceedba772 100644
--- a/DayOfDefeat/dodserver
+++ b/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}"
diff --git a/DayOfDefeatSource/dodsserver b/DayOfDefeatSource/dodsserver
index 2e4dae73f..9e576bcd7 100644
--- a/DayOfDefeatSource/dodsserver
+++ b/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}"
diff --git a/DayOfInfamy/doiserver b/DayOfInfamy/doiserver
index 532fef76e..2b7fdb4ec 100644
--- a/DayOfInfamy/doiserver
+++ b/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}"
diff --git a/DeathmatchClassic/dmcserver b/DeathmatchClassic/dmcserver
index 3aa5abbf8..6d6425929 100644
--- a/DeathmatchClassic/dmcserver
+++ b/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}"
diff --git a/DontStarveTogether/dstserver b/DontStarveTogether/dstserver
index 8b41b9403..92002f8fb 100644
--- a/DontStarveTogether/dstserver
+++ b/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"
diff --git a/DoubleActionBoogaloo/dabserver b/DoubleActionBoogaloo/dabserver
index 1b59fd369..e8db62c58 100644
--- a/DoubleActionBoogaloo/dabserver
+++ b/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}"
diff --git a/EmpiresMod/emserver b/EmpiresMod/emserver
index 02897b313..5dfa54af1 100644
--- a/EmpiresMod/emserver
+++ b/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}"
diff --git a/FistfulOfFrags/fofserver b/FistfulOfFrags/fofserver
index 3eaa08911..59a896a20 100644
--- a/FistfulOfFrags/fofserver
+++ b/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}"
diff --git a/GarrysMod/gmodserver b/GarrysMod/gmodserver
index 3aeb63c62..1eab6d643 100644
--- a/GarrysMod/gmodserver
+++ b/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"
diff --git a/GoldenEyeSource/gesserver b/GoldenEyeSource/gesserver
index 8e887476f..9b9495e0c 100644
--- a/GoldenEyeSource/gesserver
+++ b/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}"
diff --git a/HalfLife2Deathmatch/hl2dmserver b/HalfLife2Deathmatch/hl2dmserver
index f6c2789a9..e26a2b11c 100644
--- a/HalfLife2Deathmatch/hl2dmserver
+++ b/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}"
diff --git a/HalfLifeDeathmatch/hldmserver b/HalfLifeDeathmatch/hldmserver
index 239ebefe2..10a32f7d7 100644
--- a/HalfLifeDeathmatch/hldmserver
+++ b/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}"
diff --git a/HalfLifeDeathmatchSource/hldmsserver b/HalfLifeDeathmatchSource/hldmsserver
index cdb79c320..ff040ab27 100644
--- a/HalfLifeDeathmatchSource/hldmsserver
+++ b/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}"
diff --git a/Hurtworld/hwserver b/Hurtworld/hwserver
index 253a4ce81..2e28481b6 100644
--- a/Hurtworld/hwserver
+++ b/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}"
diff --git a/Insurgency/insserver b/Insurgency/insserver
index e5cfcb520..3082d832a 100644
--- a/Insurgency/insserver
+++ b/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}"
diff --git a/JustCause2/jc2server b/JustCause2/jc2server
index ab1b81d19..7ac9b3b3a 100644
--- a/JustCause2/jc2server
+++ b/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}"
diff --git a/KillingFloor/kfserver b/KillingFloor/kfserver
index 1c7093d34..a9ba85c33 100644
--- a/KillingFloor/kfserver
+++ b/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}"
diff --git a/Left4Dead/l4dserver b/Left4Dead/l4dserver
index 995308cd0..9a2f8fb47 100644
--- a/Left4Dead/l4dserver
+++ b/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}"
diff --git a/Left4Dead2/l4d2server b/Left4Dead2/l4d2server
index 1443327e5..2dda75759 100644
--- a/Left4Dead2/l4d2server
+++ b/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}"
diff --git a/Mumble/mumbleserver b/Mumble/mumbleserver
index 79a61ee01..ab9fdc22f 100644
--- a/Mumble/mumbleserver
+++ b/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}"
diff --git a/NS2Combat/ns2cserver b/NS2Combat/ns2cserver
index b935f7472..4dbc1e276 100644
--- a/NS2Combat/ns2cserver
+++ b/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"
diff --git a/NaturalSelection2/ns2server b/NaturalSelection2/ns2server
index 694dbd958..4a72f455d 100644
--- a/NaturalSelection2/ns2server
+++ b/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}"
diff --git a/NoMoreRoomInHell/nmrihserver b/NoMoreRoomInHell/nmrihserver
index 58dc2e024..d1fea24f0 100644
--- a/NoMoreRoomInHell/nmrihserver
+++ b/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}"
diff --git a/OpposingForce/opforserver b/OpposingForce/opforserver
index 9a283f014..7faa17c66 100644
--- a/OpposingForce/opforserver
+++ b/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}"
diff --git a/PiratesVikingandKnightsII/pvkiiserver b/PiratesVikingandKnightsII/pvkiiserver
index dacaca04a..def1a6c95 100644
--- a/PiratesVikingandKnightsII/pvkiiserver
+++ b/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}"
diff --git a/ProjectZomboid/pzserver b/ProjectZomboid/pzserver
index 60bf63bee..8683d84e8 100644
--- a/ProjectZomboid/pzserver
+++ b/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}"
diff --git a/QuakeLive/qlserver b/QuakeLive/qlserver
index 586788936..72fdc32d8 100755
--- a/QuakeLive/qlserver
+++ b/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}"
diff --git a/RedOrchestra/roserver b/RedOrchestra/roserver
index 4f1c416ff..0403a67a5 100644
--- a/RedOrchestra/roserver
+++ b/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}"
diff --git a/Ricochet/ricochetserver b/Ricochet/ricochetserver
index b35fbc86a..d3a285691 100644
--- a/Ricochet/ricochetserver
+++ b/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}"
diff --git a/Rust/rustserver b/Rust/rustserver
index 8d03b7019..43a621596 100644
--- a/Rust/rustserver
+++ b/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}"
diff --git a/SeriousSam3BFE/ss3sserver b/SeriousSam3BFE/ss3sserver
index a3d66ab3e..9d2420c60 100644
--- a/SeriousSam3BFE/ss3sserver
+++ b/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"
diff --git a/Starbound/sbserver b/Starbound/sbserver
index 3bfd2883c..9af94eae6 100644
--- a/Starbound/sbserver
+++ b/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"
diff --git a/SvenCoop/svencoopserver b/SvenCoop/svencoopserver
index 63667b3eb..1ae1a341e 100644
--- a/SvenCoop/svencoopserver
+++ b/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}"
diff --git a/TeamFortress2/tf2server b/TeamFortress2/tf2server
index f82451360..c9acadd43 100644
--- a/TeamFortress2/tf2server
+++ b/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}"
diff --git a/TeamFortressClassic/tfcserver b/TeamFortressClassic/tfcserver
index 7480e25c8..7dc68f971 100644
--- a/TeamFortressClassic/tfcserver
+++ b/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}"
diff --git a/TeamSpeak3/ts3server b/TeamSpeak3/ts3server
index 101b3552d..88f187663 100644
--- a/TeamSpeak3/ts3server
+++ b/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}"
diff --git a/Teeworlds/twserver b/Teeworlds/twserver
index 90f370d3f..c8d920d59 100644
--- a/Teeworlds/twserver
+++ b/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}"
diff --git a/Terraria/terrariaserver b/Terraria/terrariaserver
index b669fb968..2cbef2d13 100644
--- a/Terraria/terrariaserver
+++ b/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}"
diff --git a/UnrealTournament/utserver b/UnrealTournament/utserver
index 66cdb526a..a5ff70a61 100644
--- a/UnrealTournament/utserver
+++ b/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"
diff --git a/UnrealTournament2004/ut2k4server b/UnrealTournament2004/ut2k4server
index 9bf79457c..f28240414 100644
--- a/UnrealTournament2004/ut2k4server
+++ b/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}"
diff --git a/UnrealTournament3/ut3server b/UnrealTournament3/ut3server
index 55bd2a171..6af1c802e 100644
--- a/UnrealTournament3/ut3server
+++ b/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"
diff --git a/UnrealTournament99/ut99server b/UnrealTournament99/ut99server
index a6851fcaa..b40a41fdd 100644
--- a/UnrealTournament99/ut99server
+++ b/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}"
diff --git a/WolfensteinEnemyTerritory/wetserver b/WolfensteinEnemyTerritory/wetserver
index f9ef1fe91..28f4c510b 100644
--- a/WolfensteinEnemyTerritory/wetserver
+++ b/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}"
diff --git a/lgsm/functions/check_steamcmd.sh b/lgsm/functions/check_steamcmd.sh
index 1e0f66cd7..06e941ff4 100644
--- a/lgsm/functions/check_steamcmd.sh
+++ b/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"
}
diff --git a/lgsm/functions/command_details.sh b/lgsm/functions/command_details.sh
index 0cc18d692..fe7bfa154 100644
--- a/lgsm/functions/command_details.sh
+++ b/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
\ No newline at end of file
+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
diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh
index d5d556c6b..01c96ff47 100644
--- a/lgsm/functions/command_dev_detect_deps.sh
+++ b/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"
\ No newline at end of file
+rm -f "${tmpdir}/.depdetect_unknown"
+rm -f "${tmpdir}/.depdetect_unknown_uniq"
\ No newline at end of file
diff --git a/lgsm/functions/command_dev_detect_glibc.sh b/lgsm/functions/command_dev_detect_glibc.sh
index c039e44cb..7c247f888 100644
--- a/lgsm/functions/command_dev_detect_glibc.sh
+++ b/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"
\ No newline at end of file
+cat "${tmpdir}/detect_glibc.tmp"|sort|uniq|sort -r --version-sort
+rm "${tmpdir}/detect_glibc.tmp"
\ No newline at end of file
diff --git a/lgsm/functions/command_dev_detect_ldd.sh b/lgsm/functions/command_dev_detect_ldd.sh
index b9be9386a..07ad3f581 100644
--- a/lgsm/functions/command_dev_detect_ldd.sh
+++ b/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"
\ No newline at end of file
+rm "${tmpdir}/detect_ldd.tmp"
+rm "${tmpdir}/detect_ldd_not_found.tmp"
\ No newline at end of file
diff --git a/lgsm/functions/command_postdetails.sh b/lgsm/functions/command_postdetails.sh
new file mode 100644
index 000000000..fe46a251f
--- /dev/null
+++ b/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
diff --git a/lgsm/functions/core_functions.sh b/lgsm/functions/core_functions.sh
index de36e7a21..388846276 100644
--- a/lgsm/functions/core_functions.sh
+++ b/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(){
diff --git a/lgsm/functions/core_getopt.sh b/lgsm/functions/core_getopt.sh
index 3b9140385..aed1890b2 100644
--- a/lgsm/functions/core_getopt.sh
+++ b/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
\ No newline at end of file
+core_exit.sh
diff --git a/lgsm/functions/install_server_files.sh b/lgsm/functions/install_server_files.sh
index 65f32c134..e1b140bb8 100644
--- a/lgsm/functions/install_server_files.sh
+++ b/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}"
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index f4e140d6e..717e798cd 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/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
diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh
index 0a90384f7..338ad4545 100644
--- a/lgsm/functions/update_mumble.sh
+++ b/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
diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh
index 6dfdced1a..5e897f7b9 100644
--- a/lgsm/functions/update_ts3.sh
+++ b/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>' | 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>' | 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
diff --git a/tests/tests_jc2server.sh b/tests/tests_jc2server.sh
index dc6104b31..bc7516427 100644
--- a/tests/tests_jc2server.sh
+++ b/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}"
diff --git a/tests/tests_ts3server.sh b/tests/tests_ts3server.sh
index da9c7808a..3189ec872 100644
--- a/tests/tests_ts3server.sh
+++ b/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}"