Browse Source

Merge pull request #1123 from GameServerManagers/development

Development
pull/1128/head
Daniel Gibbs 9 years ago
committed by GitHub
parent
commit
175b0214b5
  1. 2
      ARKSurvivalEvolved/arkserver
  2. 4
      Arma3/arma3server
  3. 6
      Battlefield1942/bf1942server
  4. 2
      BlackMesa/bmdmserver
  5. 2
      BladeSymphony/bsserver
  6. 2
      BrainBread2/bb2server
  7. 2
      CodenameCURE/ccserver
  8. 2
      CounterStrike/csserver
  9. 2
      CounterStrikeConditionZero/csczserver
  10. 2
      CounterStrikeGlobalOffensive/csgoserver
  11. 2
      CounterStrikeSource/cssserver
  12. 2
      DayOfDefeat/dodserver
  13. 2
      DayOfDefeatSource/dodsserver
  14. 2
      DayOfInfamy/doiserver
  15. 2
      DeathmatchClassic/dmcserver
  16. 1
      DontStarveTogether/dstserver
  17. 2
      DoubleActionBoogaloo/dabserver
  18. 2
      EmpiresMod/emserver
  19. 2
      FistfulOfFrags/fofserver
  20. 2
      GarrysMod/gmodserver
  21. 2
      GoldenEyeSource/gesserver
  22. 2
      HalfLife2Deathmatch/hl2dmserver
  23. 2
      HalfLifeDeathmatch/hldmserver
  24. 2
      HalfLifeDeathmatchSource/hldmsserver
  25. 2
      Insurgency/insserver
  26. 2
      JustCause2/jc2server
  27. 2
      KillingFloor/kfserver
  28. 2
      Left4Dead/l4dserver
  29. 2
      Left4Dead2/l4d2server
  30. 1
      Minecraft/mcserver
  31. 1
      Mumble/mumbleserver
  32. 2
      NoMoreRoomInHell/nmrihserver
  33. 2
      OpposingForce/opforserver
  34. 2
      PiratesVikingandKnightsII/pvkiiserver
  35. 4
      ProjectZomboid/pzserver
  36. 4
      QuakeLive/qlserver
  37. 2
      RedOrchestra/roserver
  38. 2
      Ricochet/ricochetserver
  39. 2
      Rust/rustserver
  40. 2
      SeriousSam3BFE/ss3sserver
  41. 2
      Starbound/sbserver
  42. 2
      SvenCoop/svencoopserver
  43. 2
      TeamFortress2/tf2server
  44. 2
      TeamFortressClassic/tfcserver
  45. 2
      TeamSpeak3/ts3server
  46. 2
      Teeworlds/twserver
  47. 2
      Terraria/terrariaserver
  48. 2
      UnrealTournament2004/ut2k4server
  49. 20
      UnrealTournament3/ut3server
  50. 2
      UnrealTournament99/ut99server
  51. 7
      WolfensteinEnemyTerritory/wetserver
  52. 2
      lgsm/functions/alert_pushbullet.sh
  53. 1
      lgsm/functions/command_debug.sh
  54. 46
      lgsm/functions/command_details.sh
  55. 2
      lgsm/functions/command_install.sh
  56. 2
      lgsm/functions/command_monitor.sh
  57. 2
      lgsm/functions/core_functions.sh
  58. 67
      lgsm/functions/core_getopt.sh
  59. 6
      lgsm/functions/fix.sh
  60. 30
      lgsm/functions/fix_ut99.sh
  61. 21
      lgsm/functions/gsquery.py
  62. 84
      lgsm/functions/info_config.sh
  63. 9
      lgsm/functions/info_glibc.sh
  64. 6
      lgsm/functions/info_parms.sh
  65. 666
      lgsm/functions/install_config.sh
  66. 8
      lgsm/functions/install_server_files.sh
  67. 2
      lgsm/functions/monitor_gsquery.sh
  68. 2
      tests/tests_jc2server.sh
  69. 2
      tests/tests_ts3server.sh

2
ARKSurvivalEvolved/arkserver

@ -81,7 +81,7 @@ executable="./ShooterGameServer"
servercfgdir="${systemdir}/Saved/Config/LinuxServer"
servercfg="GameUserSettings.ini"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"
servercfgdefault="${servercfgdir}/GameUserSettings.ini"
backupdir="${rootdir}/backups"
# Logging

4
Arma3/arma3server

@ -91,11 +91,11 @@ executabledir="${filesdir}"
executable="./arma3server"
servercfg="${servicename}.server.cfg"
networkcfg="${servicename}.network.cfg"
servercfgdefault="server.cfg"
networkcfgdefault="network.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
networkcfgfullpath="${servercfgdir}/${networkcfg}"
servercfgdefault="${servercfgdir}/lgsm-default.server.cfg"
networkcfgdefault="${servercfgdir}/lgsm-default.network.cfg"
backupdir="${rootdir}/backups"
# Logging

6
Battlefield1942/bf1942server

@ -27,7 +27,6 @@ pushbulletalert="off"
pushbullettoken="accesstoken"
# Start Variables
ip="0.0.0.0"
fn_parms(){
parms=" +hostServer 1 +dedicated 1"
@ -38,8 +37,8 @@ parms=" +hostServer 1 +dedicated 1"
# Github Branch Select
# Allows for the use of different function files
# from a different repo and/or branch.
githubuser="dgibbs64"
githubrepo="linuxgsm"
githubuser="GameServerManagers"
githubrepo="LinuxGSM"
githubbranch="master"
# Server Details
@ -60,6 +59,7 @@ systemdir="${filesdir}"
executabledir="${systemdir}"
executable="./start.sh"
servercfg="serversettings.con"
servercfgdefault="serversettings.con"
servercfgdir="${systemdir}/mods/bf1942/settings"
servercfgfullpath="${servercfgdir}/${servercfg}"
backupdir="${rootdir}/backups"

2
BlackMesa/bmdmserver

@ -84,9 +84,9 @@ systemdir="${filesdir}/bms"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
BladeSymphony/bsserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/berimbau"
executabledir="${filesdir}"
executable="./srcds_run.sh"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
BrainBread2/bb2server

@ -84,9 +84,9 @@ systemdir="${filesdir}/brainbread2"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
CodenameCURE/ccserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/cure"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
CounterStrike/csserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/cstrike"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
CounterStrikeConditionZero/csczserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/czero"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
CounterStrikeGlobalOffensive/csgoserver

@ -102,9 +102,9 @@ systemdir="${filesdir}/csgo"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
CounterStrikeSource/cssserver

@ -84,9 +84,9 @@ systemdir="${filesdir}/cstrike"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
DayOfDefeat/dodserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/dod"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
DayOfDefeatSource/dodsserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/dod"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
DayOfInfamy/doiserver

@ -81,9 +81,9 @@ systemdir="${filesdir}/doi"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
DeathmatchClassic/dmcserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/dmc"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

1
DontStarveTogether/dstserver

@ -77,6 +77,7 @@ systemdir="${filesdir}"
executabledir="${filesdir}/bin"
executable="./dontstarve_dedicated_server_nullrenderer"
servercfg="settings.ini"
servercfgdefault="settings.ini"
servercfgdir="${HOME}/.klei/DoNotStarveTogether"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"

2
DoubleActionBoogaloo/dabserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/dab"
executabledir="${filesdir}"
executable="./dabds.sh"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
EmpiresMod/emserver

@ -84,9 +84,9 @@ systemdir="${filesdir}/empires"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/server.cfg"
backupdir="${rootdir}/backups"
# Logging

2
FistfulOfFrags/fofserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/fof"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
GarrysMod/gmodserver

@ -101,9 +101,9 @@ addonsdir="${systemdir}/addons"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
GoldenEyeSource/gesserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/gesource"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
HalfLife2Deathmatch/hl2dmserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/hl2mp"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
HalfLifeDeathmatch/hldmserver

@ -73,9 +73,9 @@ systemdir="${filesdir}/valve"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
HalfLifeDeathmatchSource/hldmsserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/hl1mp"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
Insurgency/insserver

@ -81,9 +81,9 @@ systemdir="${filesdir}/insurgency"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
JustCause2/jc2server

@ -73,9 +73,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./Jcmp-Server"
servercfg="config.lua"
servercfgdefault="config.lua"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/default_config.lua"
backupdir="${rootdir}/backups"
# Logging

2
KillingFloor/kfserver

@ -78,9 +78,9 @@ systemdir="${filesdir}/System"
executabledir="${systemdir}"
executable="./ucc-bin"
servercfg="${servicename}.ini"
servercfgdefault="Default.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/Default.ini"
compressedmapsdir="${rootdir}/Maps-Compressed"
backupdir="${rootdir}/backups"

2
Left4Dead/l4dserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/left4dead"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
Left4Dead2/l4d2server

@ -78,9 +78,9 @@ systemdir="${filesdir}/left4dead2"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

1
Minecraft/mcserver

@ -59,6 +59,7 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="java -Xmx${javaram}M -jar minecraft_server.jar"
servercfg="server.properties"
servercfgdefault="server.properties"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"

1
Mumble/mumbleserver

@ -61,6 +61,7 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./murmur.x86"
servercfg="murmur.ini"
servercfgdefault="murmur.ini"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
backupdir="${rootdir}/backups"

2
NoMoreRoomInHell/nmrihserver

@ -84,9 +84,9 @@ systemdir="${filesdir}/nmrih"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
OpposingForce/opforserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/gearbox"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
defaultcfg="${servercfgdir}/server.cfg"
backupdir="${rootdir}/backups"
# Logging

2
PiratesVikingandKnightsII/pvkiiserver

@ -79,9 +79,9 @@ systemdir="${filesdir}/pvkii"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

4
ProjectZomboid/pzserver

@ -74,10 +74,10 @@ filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./start-server.sh"
servercfg="servertest.ini"
servercfg="server.ini"
servercfgdefault="server.cfg"
servercfgdir="${HOME}/Zomboid/Server"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"
backupdir="${rootdir}/backups"
# Logging

4
QuakeLive/qlserver

@ -67,7 +67,7 @@ branch=""
# Server Details
servicename="ql-server"
gamename="Quake Live"
engine="idtech3"
engine="idtech3_ql"
# Directories
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
@ -82,9 +82,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable=$([ "${arch}" == 'x64' ] && echo "./run_server_x64.sh" || echo "./run_server_x86.sh")
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${filesdir}/baseq3"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
RedOrchestra/roserver

@ -69,9 +69,9 @@ systemdir="${filesdir}/system"
executabledir="${systemdir}"
executable="./ucc-bin"
servercfg="${servicename}.ini"
servercfgdefault="default.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/default.ini"
compressedmapsdir="${rootdir}/Maps-Compressed"
backupdir="${rootdir}/backups"

2
Ricochet/ricochetserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/ricochet"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
Rust/rustserver

@ -97,9 +97,9 @@ executabledir="${filesdir}"
executable="./RustDedicated"
serveridentitydir="${systemdir}/server/${servicename}"
servercfg="server.cfg"
servercfgdefault="server.cfg"
servercfgdir="${serveridentitydir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
SeriousSam3BFE/ss3sserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/Bin"
executable="./runSam3_DedicatedServer.sh"
executabledir="${systemdir}"
servercfg="${servicename}.ini"
servercfgdefault="server.ini"
servercfgdir="${filesdir}/Content/SeriousSam3/Config"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"
backupdir="${rootdir}/backups"
# Logging

2
Starbound/sbserver

@ -73,9 +73,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}/linux"
executable="./starbound_server"
servercfg="starbound_server.config"
servercfgdefault="starbound_server.config"
servercfgdir="${filesdir}/storage"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.config"
backupdir="${rootdir}/backups"
# Logging

2
SvenCoop/svencoopserver

@ -78,9 +78,9 @@ systemdir="${filesdir}/svencoop"
executabledir="${filesdir}"
executable="./svends_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
TeamFortress2/tf2server

@ -84,9 +84,9 @@ systemdir="${filesdir}/tf"
executabledir="${filesdir}"
executable="./srcds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/cfg"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
TeamFortressClassic/tfcserver

@ -74,9 +74,9 @@ systemdir="${filesdir}/tfc"
executabledir="${filesdir}"
executable="./hlds_run"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
TeamSpeak3/ts3server

@ -47,9 +47,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./ts3server_startscript.sh"
servercfg="${servicename}.ini"
servercfgdefault="ts3server.ini"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"
backupdir="${rootdir}/backups"
# Logging

2
Teeworlds/twserver

@ -69,9 +69,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./teeworlds_srv"
servercfg="${servicename}.cfg" # Teeworlds can also auto load any config if an autoexec.cfg file is present in the server dir
servercfgdefault="server.cfg"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
Terraria/terrariaserver

@ -69,9 +69,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./TerrariaServer"
servercfg="${servicename}.txt"
servercfgdefault="serverconfig.txt"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.txt"
backupdir="${rootdir}/backups"
# Logging

2
UnrealTournament2004/ut2k4server

@ -52,9 +52,9 @@ systemdir="${filesdir}/System"
executabledir="${systemdir}"
executable="./ucc-bin"
servercfg="${servicename}.ini"
servercfgdefault="UT2004.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/UT2004.ini"
compressedmapsdir="${rootdir}/Maps-Compressed"
backupdir="${rootdir}/backups"

20
UnrealTournament3/ut3server

@ -46,6 +46,15 @@ fn_parms(){
parms="server ${defaultmap}?Game=${game}?bIsDedicated=${isdedicated}?bIsLanMatch=${islanmatch}?bUsesStats=${usesstats}?bShouldAdvertise=${shouldadvertise}?PureServer=${pureserver}?bAllowJoinInProgress=${allowjoininprogress}?MaxPlayers=${maxplayers}?Mutator=${mutators} -port=${port} -queryport=${queryport} -multihome=${ip} -nohomedir -unattended -log=${gamelog}"
}
#### Advanced Variables ####
# Github Branch Select
# Allows for the use of different function files
# from a different repo and/or branch.
githubuser="GameServerManagers"
githubrepo="LinuxGSM"
githubbranch="master"
# Server Details
servicename="ut3-server"
gamename="Unreal Tournament 3"
@ -63,7 +72,8 @@ filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}"
executabledir="${systemdir}/Binaries"
executable="./ut3"
servercfg="UTGame.ini"
servercfg="${servicename}.ini"
servercfgdefault="UTGame.ini"
servercfgdir="${systemdir}/UTGame/Config"
servercfgfullpath="${servercfgdir}/${servercfg}"
backupdir="${rootdir}/backups"
@ -84,13 +94,6 @@ gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%d-%m-%Y-%H-%M-%S').log"
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log"
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log"
# Github Branch Select
# Allows for the use of different function files
# from a different repo and/or branch.
githubuser="GameServerManagers"
githubrepo="LinuxGSM"
githubbranch="master"
##### Script #####
# Do not edit
@ -154,4 +157,3 @@ core_functions.sh
getopt=$1
core_getopt.sh

2
UnrealTournament99/ut99server

@ -61,9 +61,9 @@ systemdir="${filesdir}/System"
executabledir="${systemdir}"
executable="./ucc-bin"
servercfg="${servicename}.ini"
servercfgdefault="Default.ini"
servercfgdir="${systemdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/Default.ini"
compressedmapsdir="${rootdir}/Maps-Compressed"
backupdir="${rootdir}/backups"

7
WolfensteinEnemyTerritory/wetserver

@ -27,9 +27,10 @@ pushbulletalert="off"
pushbullettoken="accesstoken"
# Start Variables
ip="0.0.0.0"
fn_parms(){
parms="+set net_strict 1 +set fs_homepath ${filesdir} +exec ${servercfgfullpath}"
parms="+set net_strict 1 +set fs_homepath ${filesdir} +exec ${servercfg}"
}
#### Advanced Variables ####
@ -43,7 +44,7 @@ githubbranch="master"
# Server Details
servicename="et-server"
gamename="Enemy Territory"
gamename="Wolfenstein: Enemy Territory"
engine="idtech3"
# Directories
@ -59,9 +60,9 @@ systemdir="${filesdir}"
executabledir="${systemdir}"
executable="./etded"
servercfg="${servicename}.cfg"
servercfgdefault="server.cfg"
servercfgdir="${systemdir}/etmain"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.cfg"
backupdir="${rootdir}/backups"
# Logging

2
lgsm/functions/alert_pushbullet.sh

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

1
lgsm/functions/command_debug.sh

@ -22,6 +22,7 @@ fn_lockfile_trap(){
check.sh
fix.sh
info_distro.sh
info_config.sh
# NOTE: Check if works with server without parms. Could be intergrated in to info_parms.sh
fn_parms
fn_print_header

46
lgsm/functions/command_details.sh

@ -290,7 +290,7 @@ fn_details_ports(){
parmslocation="${red}UNKNOWN${default}"
# engines that require editing in the config file
local ports_edit_array=( "avalanche" "dontstarve" "idtech3" "lwjgl2" "projectzomboid" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "TeamSpeak 3" "Mumble" "7 Days To Die" )
local ports_edit_array=( "avalanche" "dontstarve" "idtech3" "lwjgl2" "projectzomboid" "idtech3_ql" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" )
for port_edit in "${ports_edit_array[@]}"
do
if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then
@ -374,7 +374,17 @@ fn_details_realvirtuality(){
} | column -s $'\t' -t
}
fn_details_idtech3(){
fn_details_refractor(){
echo -e "netstat -atunp | grep bf1942_lnxd"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\tudp"
echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp"
} | column -s $'\t' -t
}
fn_details_quakelive(){
echo -e "netstat -atunp | grep qzeroded"
echo -e ""
if [ -z "${port}" ]||[ -z "${rconport}" ]||[ -z "${statsport}" ]; then
@ -389,6 +399,15 @@ fn_details_idtech3(){
} | column -s $'\t' -t
}
fn_details_wolfensteinenemyterritory(){
echo -e "netstat -atunp | grep etded"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\tudp"
} | column -s $'\t' -t
}
fn_details_seriousengine35(){
echo -e "netstat -atunp | grep Sam3_Dedicate"
@ -568,6 +587,15 @@ fn_details_unreal(){
} | column -s $'\t' -t
}
fn_details_ut3(){
echo -e "netstat -atunp | grep ut3-bin"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp"
} | column -s $'\t' -t
}
fn_details_ark(){
echo -e "netstat -atunp | grep ShooterGame"
echo -e ""
@ -603,14 +631,14 @@ fn_display_details() {
# Display details depending on game or engine.
if [ "${engine}" == "avalanche" ]; then
fn_details_avalanche
elif [ "${engine}" == "refractor" ]; then
fn_details_refractor
elif [ "${engine}" == "dontstarve" ]; then
fn_details_dontstarve
elif [ "${engine}" == "lwjgl2" ]; then
fn_details_minecraft
elif [ "${engine}" == "projectzomboid" ]; then
fn_details_projectzomboid
elif [ "${engine}" == "idtech3" ]; then
fn_details_idtech3
elif [ "${engine}" == "realvirtuality" ]; then
fn_details_realvirtuality
elif [ "${engine}" == "seriousengine35" ]; then
@ -627,18 +655,24 @@ fn_display_details() {
fn_details_terraria
elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
fn_details_unreal
elif [ "${engine}" == "unreal3" ]; then
fn_details_ut3
elif [ "${gamename}" == "7 Days To Die" ]; then
fn_details_sdtd
elif [ "${gamename}" == "ARK: Survivial Evolved" ]; then
fn_details_ark
elif [ "${gamename}" == "Hurtworld" ]; then
fn_details_hurtworld
elif [ "${gamename}" == "7 Days To Die" ]; then
fn_details_sdtd
elif [ "${gamename}" == "Quake Live" ]; then
fn_details_quakelive
elif [ "${gamename}" == "TeamSpeak 3" ]; then
fn_details_teamspeak3
elif [ "${gamename}" == "Mumble" ]; then
fn_details_mumble
elif [ "${gamename}" == "Rust" ]; then
fn_details_rust
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fn_details_wolfensteinenemyterritory
else
fn_print_error_nl "Unable to detect server engine."
fi

2
lgsm/functions/command_install.sh

@ -18,7 +18,7 @@ check_deps.sh
if [ "${gamename}" == "Unreal Tournament 2004" ]; then
install_server_files.sh
install_ut2k4_key.sh
elif [ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then
elif [ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Mumble" ]; then
installer=1
install_server_files.sh
elif [ -n "${appid}" ]; then

2
lgsm/functions/command_monitor.sh

@ -79,7 +79,7 @@ fn_monitor_tmux(){
fn_print_ok_eol_nl
fn_script_log_pass "Checking session: OK"
# runs gsquery check on game with specific engines.
local allowed_engines_array=( avalanche goldsource realvirtuality source spark unity3d unreal unreal2 )
local allowed_engines_array=( avalanche goldsource idtech3 idtech3_ql refractor realvirtuality source spark unity3d unreal unreal2 )
for allowed_engine in "${allowed_engines_array[@]}"
do
if [ "${allowed_engine}" == "${engine}" ]; then

2
lgsm/functions/core_functions.sh

@ -12,6 +12,8 @@ elif [ "${gamename}" == "Counter Strike: Global Offensive" ]; then
gamename="Counter-Strike: Global Offensive"
elif [ "${gamename}" == "Counter Strike: Source" ]; then
gamename="Counter-Strike: Source"
elif [ "${gamename}" == "Quake Live" ]; then
engine="idtech3_ql"
fi
if [ "${emailnotification}" == "on" ]; then

67
lgsm/functions/core_getopt.sh

@ -80,6 +80,71 @@ case "${getopt}" in
esac
}
fn_getopt_generic_no_update(){
case "${getopt}" in
st|start)
command_start.sh;;
sp|stop)
command_stop.sh;;
r|restart)
command_restart.sh;;
uf|update-functions)
command_update_functions.sh;;
m|monitor)
command_monitor.sh;;
ta|test-alert)
command_test_alert.sh;;
dt|details)
command_details.sh;;
pd|postdetails)
command_postdetails.sh;;
b|backup)
command_backup.sh;;
c|console)
command_console.sh;;
d|debug)
command_debug.sh;;
dev|dev-debug)
command_dev_debug.sh;;
i|install)
command_install.sh;;
ai|auto-install)
fn_autoinstall;;
dd|detect-deps)
command_dev_detect_deps.sh;;
dg|detect-glibc)
command_dev_detect_glibc.sh;;
dl|detect-ldd)
command_dev_detect_ldd.sh;;
*)
if [ -n "${getopt}" ]; then
echo -e "${red}Unknown command${default}: $0 ${getopt}"
exitcode=2
fi
echo "Usage: $0 [option]"
echo "${gamename} - Linux Game Server Manager - Version ${version}"
echo "https://gameservermanagers.com/${selfname}"
echo -e ""
echo -e "${lightyellow}Commands${default}"
{
echo -e "${blue}start\t${default}st |Start the server."
echo -e "${blue}stop\t${default}sp |Stop the server."
echo -e "${blue}restart\t${default}r |Restart the server."
echo -e "${blue}update-functions\t${default}uf |Removes all functions so latest can be downloaded."
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."
echo -e "${blue}install\t${default}i |Install the server."
echo -e "${blue}auto-install\t${default}ai |Install the server, without prompts."
} | column -s $'\t' -t
esac
}
fn_getopt_teamspeak3(){
case "${getopt}" in
st|start)
@ -554,6 +619,8 @@ case "${getopt}" in
if [ "${gamename}" == "Mumble" ]; then
fn_getopt_mumble
elif [ "${gamename}" == "Battlefield: 1942" ]|| [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fn_getopt_generic_no_update
elif [ "${engine}" == "lwjgl2" ]; then
fn_getopt_minecraft
elif [ "${gamename}" == "TeamSpeak 3" ]; then

6
lgsm/functions/fix.sh

@ -68,12 +68,6 @@ if [ "${function_selfname}" == "command_install.sh" ]; then
echo "================================="
sleep 1
fix_ut2k4.sh
elif [ "${gamename}" == "Unreal Tournament 99" ]; then
echo ""
echo "Applying ${gamename} Server Fixes"
echo "================================="
sleep 1
fix_ut99.sh
elif [ "${gamename}" == "Unreal Tournament" ]; then
echo ""
echo "Applying ${gamename} Server Fixes"

30
lgsm/functions/fix_ut99.sh

@ -1,30 +0,0 @@
#!/bin/bash
# LGSM fix_ut99.sh function
# Author: Daniel Gibbs
# Website: https://gameservermanagers.com
# Description: Resolves various issues with Unreal Tournament 99.
local commandname="FIX"
local commandaction="Fix"
local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
echo "${servercfgfullpath}"
echo "enabling UdpServerUplink."
{
echo "[IpServer.UdpServerUplink]"
echo "DoUplink=True"
echo "UpdateMinutes=1"
echo "MasterServerAddress=unreal.epicgames.com"
echo "MasterServerPort=27900"
echo "Region=0"
}| tee -a "${servercfgfullpath}" > /dev/null 2>&1
sleep 1
echo "removing dead gamespy.com master server."
sed -i '/master0.gamespy.com/d' "${servercfgfullpath}"
sleep 1
echo "removing dead mplayer.com master server."
sed -i '/master.mplayer.com/d' "${servercfgfullpath}"
sleep 1
echo "inserting qtracker.com master server."
sed -i '65i\ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900' "${servercfgfullpath}"
echo ""

21
lgsm/functions/gsquery.py

@ -17,24 +17,29 @@ class GameServer:
self.server_response_timeout = 5
self.default_buffer_length = 1024
#
if self.option.engine == 'source':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
if self.option.engine == 'avalanche':
self.query_prompt_string = b'\xFE\xFD\x09\x10\x20\x30\x40'
elif self.option.engine == 'goldsource':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'spark':
elif self.option.engine == 'idtech3':
self.query_prompt_string = b'\xff\xff\xff\xffgetstatus'
elif self.option.engine == 'quakelive':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'realvirtuality':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'refractor':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'source':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'spark':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'unity3d':
self.query_prompt_string = '\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'idtech3':
self.query_prompt_string = b'\xFF\xFF\xFF\xFFTSource Engine Query\0'
elif self.option.engine == 'unreal':
self.query_prompt_string = b'\x5C\x69\x6E\x66\x6F\x5C'
elif self.option.engine == 'unreal2':
self.query_prompt_string = b'\x79\x00\x00\x00\x00'
elif self.option.engine == 'avalanche':
self.query_prompt_string = b'\xFE\xFD\x09\x10\x20\x30\x40'
self.connected = False
self.response = None
self.sanity_checks()
@ -103,7 +108,7 @@ if __name__ == '__main__':
action = 'store',
dest = 'engine',
default = False,
help = 'Engine type: avalanche, goldsource, idtech3, realvirtuality, spark, source, unity3d, unreal, unreal2.'
help = 'Engine type: avalanche, goldsource, idtech3, realvirtuality, quakelive, refractor, spark, source, unity3d, unreal, unreal2.'
)
parser.add_option(
'-v', '--verbose',

84
lgsm/functions/info_config.sh

@ -41,6 +41,36 @@ fn_info_config_avalanche(){
fi
}
fn_info_config_bf1942(){
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
serverpassword="${unavailable}"
slots="${zero}"
port="${zero}"
queryport="${zero}"
else
servername=$(grep "game.serverName " "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverName //g' | tr -d '=\";,:' | xargs)
serverpassword=$(grep "game.serverPassword" "${servercfgfullpath}" | sed -e 's/^ *//g' -e '/^--/d' -e 's/game.serverPassword//g' | tr -d '=\";,:' | xargs)
slots=$(grep "game.serverMaxPlayers" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
port=$(grep "game.serverPort" "${servercfgfullpath}" | grep -v "\--" | tr -cd '[:digit:]')
queryport="22000"
# Not Set
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
slots=${slots:-"0"}
port=${port:-"0"}
# check if the ip exists in the config file. Failing this will fall back to the default.
ipconfigcheck=$(grep "game.serverIP" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^--/d' -e 's/game.serverIP//g' | tr -d '=\";,:' | xargs)
if [ -n "${ipconfigcheck}" ]; then
ip="${ipconfigcheck}"
fi
fi
}
fn_info_config_dontstarve(){
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
@ -129,12 +159,11 @@ fn_info_config_projectzomboid(){
fi
}
fn_info_config_idtech3(){
fn_info_config_quakelive(){
if [ ! -f "${servercfgfullpath}" ]; then
rconpassword="${unavailable}"
servername="${unavailable}"
serverpassword="${unavailable}"
slots="${zero}"
else
rconpassword=$(grep "zmq_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set zmq_rcon_password//g' | tr -d '=\";,:' | xargs -0)
@ -147,6 +176,38 @@ fn_info_config_idtech3(){
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
slots=${slots:-"0"}
ipconfigcheck=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | xargs -0)
if [ -n "${ipconfigcheck}" ]; then
ip="${ipconfigcheck}"
fi
fi
}
fn_info_config_wolfensteinenemyterritory(){
if [ ! -f "${servercfgfullpath}" ]; then
rconpassword="${unavailable}"
servername="${unavailable}"
serverpassword="${unavailable}"
slots="${zero}"
port="${zero}"
else
port=$(grep "set net_port" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
rconpassword=$(grep "set zmq_rcon_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set zmq_rcon_password //g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//g' -e '/^\//d' | xargs -0)
servername=$(grep "set sv_hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set sv_hostname //g' | tr -d '=\";,:' | xargs -0)
serverpassword=$(grep "set g_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set g_password //g' | tr -d '=\";,:' | xargs -0)
slots=$(grep "set sv_maxclients" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
# Not Set
rconpassword=${rconpassword:-"NOT SET"}
servername=${servername:-"NOT SET"}
serverpassword=${serverpassword:-"NOT SET"}
slots=${slots:-"0"}
port=${port:-"27960"}
ipconfigcheck=$(grep "set net_ip" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/set net_ip//g' | tr -d '=\";,:' | xargs -0)
if [ -n "${ipconfigcheck}" ]; then
ip="${ipconfigcheck}"
fi
fi
}
@ -160,7 +221,7 @@ fn_info_config_realvirtuality(){
servername=$(grep "hostname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/hostname//g' | tr -d '=\";,:' | xargs -0)
adminpassword=$(grep "passwordAdmin" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/passwordAdmin//g' | tr -d '=\";,:' | xargs -0)
serverpassword=$(grep "password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/password//g' | tr -d '=\";,:' | xargs -0)
slots=$(grep "maxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
slots=$(grep "maxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
# Not Set
servername=${servername:-"NOT SET"}
@ -181,8 +242,8 @@ fn_info_config_seriousengine35(){
servername=$(grep "prj_strMultiplayerSessionName" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/prj_strMultiplayerSessionName//g' | tr -d '=\";,:' | xargs -0)
rconpassword=$(grep "rcts_strAdminPassword" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/rcts_strAdminPassword//g' | tr -d '=\";,:' | xargs -0)
gamemode=$(grep "gam_idGameMode" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^\//d' -e 's/gam_idGameMode//g' | tr -d '=\";,:' | xargs -0)
slots=$(grep "gam_ctMaxPlayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
port=$(grep "prj_uwPort" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
slots=$(grep "gam_ctMaxPlayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
port=$(grep "prj_uwPort" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
# Not Set
servername=${servername:-"NOT SET"}
@ -315,8 +376,8 @@ fn_info_config_terraria(){
else
servername=$(grep "worldname" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/worldname//g' | tr -d '=\";,:' | xargs -0)
port=$(grep "port" "${servercfgfullpath}" | tr -cd '[:digit:]')
gameworld=$(grep "world=" "${servercfgfullpath}" | grep -v "#" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/world=//g' | tr -d '=\";,:' | xargs -0)
slots=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "#" | tr -cd '[:digit:]')
gameworld=$(grep "world=" "${servercfgfullpath}" | grep -v "//" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/world=//g' | tr -d '=\";,:' | xargs -0)
slots=$(grep "maxplayers" "${servercfgfullpath}" | grep -v "//" | tr -cd '[:digit:]')
# Not Set
servername=${servername:-"NOT SET"}
@ -418,12 +479,15 @@ fn_info_config_sdtd(){
# Just Cause 2
if [ "${engine}" == "avalanche" ]; then
fn_info_config_avalanche
# Battlefield: 1942
elif [ "${gamename}" == "Battlefield: 1942" ]; then
fn_info_config_bf1942
# Dont Starve Together
elif [ "${engine}" == "dontstarve" ]; then
fn_info_config_dontstarve
# Quake Live
elif [ "${engine}" == "idtech3" ]; then
fn_info_config_idtech3
elif [ "${gamename}" == "Quake Live" ]; then
fn_info_config_quakelive
# Minecraft
elif [ "${engine}" == "lwjgl2" ]; then
fn_info_config_minecraft
@ -459,4 +523,6 @@ elif [ "${engine}" == "unreal" ]||[ "${engine}" == "unreal2" ]; then
# 7 Day To Die (unity3d)
elif [ "${gamename}" == "7 Days To Die" ]; then
fn_info_config_sdtd
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fn_info_config_wolfensteinenemyterritory
fi

9
lgsm/functions/info_glibc.sh

@ -75,7 +75,7 @@ elif [ "${engine}" == "spark" ]; then
glibcrequired="2.15"
glibcfix="yes"
elif [ "${engine}" == "starbound" ]; then
glibcrequired="2.12"
glibcrequired="2.17"
glibcfix="no"
elif [ "${engine}" == "terraria" ]; then
glibcrequired="2.7"
@ -101,12 +101,13 @@ elif [ "${gamename}" == "TeamSpeak 3" ]; then
elif [ "${gamename}" == "Mumble" ]; then
glibcrequired="NOT REQUIRED"
glibcfix="no"
elif [ "${engine}" == "idtech3" ]; then
glibcrequired="2.0"
glibcfix="no"
elif [ "${engine}" == "refractor" ]; then
glibcrequired="2.0"
glibcfix="no"
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
glibcrequired="2.2.4"
glibcfix="no"
else
glibcrequired="UNKNOWN"
glibcfix="no"

6
lgsm/functions/info_parms.sh

@ -15,7 +15,7 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
unavailable="${red}UNAVAILABLE${default}"
zero="${red}0${default}"
fn_info_config_idtech3(){
fn_info_config_quakelive(){
# Not Set
port=${port:-"NOT SET"}
rconport=${rconport:-"0"}
@ -128,8 +128,8 @@ elif [ "${engine}" == "dontstarve" ]; then
elif [ "${engine}" == "projectzomboid" ]; then
fn_info_config_projectzomboid
# Quake Live
elif [ "${engine}" == "idtech3" ]; then
fn_info_config_idtech3
elif [ "${gamename}" == "Quake Live" ]; then
fn_info_config_quakelive
# ARMA 3
elif [ "${engine}" == "realvirtuality" ]; then
fn_info_config_realvirtuality

666
lgsm/functions/install_config.sh

@ -8,15 +8,19 @@ local commandname="INSTALL"
local commandaction="Install"
local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
fn_defaultconfig(){
echo "creating ${servercfg} config file."
fn_script_log_info "creating ${servercfg} config file."
cp -v "${servercfgdefault}" "${servercfgfullpath}"
sleep 1
fn_fetch_default_config(){
mkdir -pv "${lgsmdir}/default-configs"
githuburl="https://github.com/GameServerManagers/Game-Server-Configs/master"
for config in "${array_configs[@]}"
do
fileurl="https://raw.githubusercontent.com/GameServerManagers/Game-Server-Configs/master/${gamedirname}/${config}"; filedir="${lgsmdir}/default-configs"; filename="${config}"; executecmd="noexecute" run="norun"; force="noforce"
fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
done
}
fn_userinputconfig(){
# allow user to input server name and password
# allow user to input server name and password
fn_user_input_config(){
if [ -z "${autoinstall}" ]; then
echo ""
echo "Configuring ${gamename} Server"
@ -25,437 +29,333 @@ fn_userinputconfig(){
read -p "Enter server name: " servername
read -p "Enter rcon password: " rconpass
else
servername="${servicename}"
rconpass="rconpassword"
servername="LinuxGSM"
rconpass="rcon$RANDOM"
fi
echo "changing hostname."
fn_script_log_info "changing hostname."
sed -i "s/\"<hostname>\"/\"${servername}\"/g" "${servercfgfullpath}"
sleep 1
echo "changing rconpassword."
fn_script_log_info "changing rconpassword."
fn_script_log_info "changing RCON password."
sed -i "s/\"<rconpassword>\"/\"${rconpass}\"/g" "${servercfgfullpath}"
sleep 1
}
fn_arma3config(){
fn_defaultconfig
echo "creating ${networkcfg} config file."
fn_script_log_info "creating ${networkcfg} config file."
cp -v "${networkcfgdefault}" "${networkcfgfullpath}"
sleep 1
echo ""
}
fn_goldsourceconfig(){
fn_defaultconfig
# server.cfg redirects to ${servercfg} for added security
echo "creating server.cfg."
fn_script_log_info "creating server.cfg."
touch "server.cfg"
sleep 1
echo "creating redirect."
fn_script_log_info "creating redirect."
echo "server.cfg > ${servercfg}."
echo "exec ${servercfg}" > "server.cfg"
sleep 1
# creating other files required
echo "creating listip.cfg."
fn_script_log_info "creating listip.cfg."
touch "${systemdir}/listip.cfg"
sleep 1
echo "creating banned.cfg."
fn_script_log_info "creating banned.cfg."
touch "${systemdir}/banned.cfg"
sleep 1
fn_userinputconfig
echo ""
}
fn_serious3config(){
fn_defaultconfig
echo ""
echo "To edit ${gamename} server config use SS3 Server GUI 3 tool"
echo "http://mrag.nl/sgui3/"
fn_script_log_info "To edit ${gamename} server config use SS3 Server GUI 3 tool"
fn_script_log_info "http://mrag.nl/sgui3/"
sleep 1
echo ""
}
fn_sourceconfig(){
fn_defaultconfig
# server.cfg redirects to ${servercfg} for added security
echo "creating server.cfg."
fn_script_log_info "creating server.cfg."
touch "server.cfg"
sleep 1
echo "creating redirect."
fn_script_log_info "creating redirect."
echo "server.cfg > ${servercfg}."
echo "exec ${servercfg}" > "server.cfg"
sleep 1
fn_userinputconfig
echo ""
}
fn_teeworldsconfig(){
fn_defaultconfig
echo "adding logfile location to config."
fn_script_log_info "adding logfile location to config."
sed -i "s@\"<logfile>\"@\"${gamelog}\"@g" "${servercfgfullpath}"
sleep 1
echo "removing password holder."
fn_script_log_info "removing password holder."
sed -i "s/<password>//" "${servercfgfullpath}"
sleep 1
fn_userinputconfig
echo ""
}
fn_ut99config(){
echo "creating ${servercfg} config file."
fn_script_log_info "creating ${servercfg} config file."
echo "${servercfgdefault} > ${servercfgfullpath}"
tr -d '\r' < "${servercfgdefault}" > "${servercfgfullpath}"
sleep 1
echo ""
echo "Configuring ${gamename} Server"
echo "================================="
sleep 1
echo "enabling WebAdmin."
fn_script_log_info "enabling WebAdmin."
sed -i 's/bEnabled=False/bEnabled=True/g' "${servercfgfullpath}"
sleep 1
echo "setting WebAdmin port to 8076."
fn_script_log_info "setting WebAdmin port to 8076."
sed -i '467i\ListenPort=8076' "${servercfgfullpath}"
sleep 1
echo ""
}
fn_unreal2config(){
fn_defaultconfig
echo ""
echo "Configuring ${gamename} Server"
echo "================================="
sleep 1
echo "setting WebAdmin username and password."
fn_script_log_info "setting WebAdmin username and password."
sed -i 's/AdminName=/AdminName=admin/g' "${servercfgfullpath}"
sed -i 's/AdminPassword=/AdminPassword=admin/g' "${servercfgfullpath}"
sleep 1
echo "enabling WebAdmin."
fn_script_log_info "enabling WebAdmin."
sed -i 's/bEnabled=False/bEnabled=True/g' "${servercfgfullpath}"
if [ "${gamename}" == "Unreal Tournament 2004" ]; then
sleep 1
echo "setting WebAdmin port to 8075."
fn_script_log_info "setting WebAdmin port to 8075."
sed -i 's/ListenPort=80/ListenPort=8075/g' "${servercfgfullpath}"
fi
sleep 1
echo ""
}
fn_ut3config(){
echo ""
echo "Configuring ${gamename} Server"
echo "================================="
sleep 1
echo "setting ServerName to 'LinuxGSM UT3 Server'."
fn_script_log_info "setting ServerName to 'LinuxGSM UT3 Server'."
sleep 1
sed -i 's/ServerName=/ServerName=LinuxGSM UT3 Server/g' "${servercfgdir}/DefaultGame.ini"
echo "setting WebAdmin password to admin."
fn_script_log_info "setting WebAdmin password to admin."
echo '[Engine.AccessControl]' >> "${servercfgdir}/DefaultGame.ini"
echo 'AdminPassword=admin' >> "${servercfgdir}/DefaultGame.ini"
sleep 1
echo "enabling WebAdmin."
fn_script_log_info "enabling WebAdmin."
sed -i 's/bEnabled=false/bEnabled=True/g' "${servercfgdir}/DefaultWeb.ini"
if [ "${gamename}" == "Unreal Tournament 3" ]; then
sleep 1
echo "setting WebAdmin port to 8081."
fn_script_log_info "setting WebAdmin port to 8081."
sed -i 's/ListenPort=80/ListenPort=8081/g' "${servercfgdir}/DefaultWeb.ini"
fi
sleep 1
echo ""
}
fn_unrealtournament(){
# allow user to input server name and password
if [ -z "${autoinstall}" ]; then
echo ""
echo "Configuring ${gamename} Server"
echo "================================="
sleep 1
read -p "Enter server name: " servername
read -p "Enter rcon password: " rconpass
# Copys the default configs from Game-Server-Configs repo to the
# correct location
fn_default_config_remote(){
for config in "${array_configs[@]}"
do
# every config is copied
echo "copying ${servercfg} config file."
fn_script_log_info "copying ${servercfg} config file."
if [ "${config}" == "${servercfgdefault}" ]; then
cp -v "${lgsmdir}/default-configs/${config}" "${servercfgfullpath}"
elif [ "${config}" == "${networkcfgdefault}" ]; then
# ARMA 3
cp -v "${lgsmdir}/default-configs/${config}" "${networkcfgfullpath}"
else
servername="${servicename}"
rconpass="rconpassword"
cp -v "${lgsmdir}/default-configs/${config}" "${servercfgdir}/${config}"
fi
echo "changing hostname."
fn_script_log_info "changing hostname."
sed -i "s/\"<hostname>\"/\"${servername}\"/g" "${servercfgdir}/Game.ini"
sleep 1
echo "changing rconpassword."
fn_script_log_info "changing rconpassword."
sed -i "s/\"<rconpassword>\"/\"${rconpass}\"/g" "${servercfgdir}/Engine.ini"
done
sleep 1
}
echo ""
if [ "${gamename}" != "Hurtworld" ]; then
echo "Creating Configs"
echo "Downloading ${gamename} Config"
echo "================================="
sleep 1
mkdir -pv "${servercfgdir}"
cd "${servercfgdir}"
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}"
fi
echo "default configs from https://github.com/GameServerManagers/Game-Server-Configs"
sleep 2
if [ "${gamename}" == "7 Days To Die" ]; then
fn_defaultconfig
gamedirname="7DaysToDie"
array_configs+=( serverconfig.xml )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "ARK: Survivial Evolved" ]; then
wget -N /dev/null ${githuburl}/ARKSurvivalEvolved/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
echo -e "downloading lgsm-default.ini...\c"
fn_defaultconfig
gamedirname="ARKSurvivalEvolved"
array_configs+=( GameUserSettings.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "ARMA 3" ]; then
echo -e "downloading lgsm-default.server.cfg...\c"
wget -N /dev/null ${githuburl}/Arma3/cfg/lgsm-default.server.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
echo -e "downloading lgsm-default.network.cfg...\c"
wget -N /dev/null ${githuburl}/Arma3/cfg/lgsm-default.network.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_arma3config
gamedirname="Arma3"
array_configs+=( server.cfg network.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Battlefield: 1942" ]; then
gamedirname="Battlefield1942"
array_configs+=( serversettings.con )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Blade Symphony" ]; then
gamedirname="BladeSymphony"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "BrainBread 2" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/BrainBread2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="BrainBread2"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Black Mesa: Deathmatch" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/BlackMesa/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
elif [ "${gamename}" == "Blade Symphony" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/BladeSymphony/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="BlackMesa"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Codename CURE" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/CodenameCURE/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="CodenameCURE"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Counter-Strike 1.6" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/CounterStrike/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="CounterStrike"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Counter-Strike: Condition Zero" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/CounterStrikeConditionZero/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="CounterStrikeConditionZero"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Counter-Strike: Global Offensive" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/CounterStrikeGlobalOffensive/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="CounterStrikeGlobalOffensive"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Counter-Strike: Source" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/CounterStrikeSource/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="CounterStrikeSource"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Day of Defeat" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/DayOfDefeat/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="DayOfDefeat"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Day of Defeat: Source" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/DayOfDefeatSource/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="DayOfDefeatSource"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Day of Infamy" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/DayOfInfamy/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="DayOfInfamy"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Deathmatch Classic" ]; then
gamedirname="DeathmatchClassic"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Don't Starve Together" ]; then
echo -e "downloading lgsm-default.ini...\c"
wget -N /dev/null ${githuburl}/DontStarveTogether/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
gamedirname="DontStarveTogether"
array_configs+=( Settings.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Double Action: Boogaloo" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/DoubleActionBoogaloo/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
elif [ "${gamename}" == "Empires Mod" ]; then
fn_defaultconfig
elif [ "${gamename}" == "Enemy Territory" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/EnemyTerritory/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
fn_userinputconfig
echo ""
gamedirname="DoubleActionBoogaloo"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Fistful of Frags" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/FistfulOfFrags/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="FistfulofFrags"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Garry's Mod" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/GarrysMod/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="GarrysMod"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "GoldenEye: Source" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/GoldenEyeSource/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
elif [ "${gamename}" == "Half Life 2: Deathmatch" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/HalfLife2Deathmatch/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="GoldenEyeSource"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Half Life: Deathmatch" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/HalfLifeDeathmatch/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="HalfLifeDeathmatch"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Half-Life Deathmatch: Source" ]; then
gamedirname="HalfLifeDeathmatchSource"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Half-Life: Opposing Force" ]; then
gamedirname="OpposingForce"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Half Life 2: Deathmatch" ]; then
gamedirname="HalfLife2Deathmatch"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Insurgency" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/Insurgency/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="Insurgency"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Just Cause 2" ]; then
fn_defaultconfig
gamedirname="JustCause2"
array_configs+=( config.lua )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Killing Floor" ]; then
fn_unreal2config
gamedirname="KillingFloor"
array_configs+=( Default.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Left 4 Dead" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/Left4Dead/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="Left4Dead"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Left 4 Dead" ]; then
gamedirname="Left4Dead"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Left 4 Dead 2" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/Left4Dead2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="Left4Dead2"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Minecraft" ]; then
echo -e "downloading lgsm-default.ini...\c"
wget -N /dev/null ${githuburl}/Minecraft/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
gamedirname="Minecraft"
array_configs+=( server.properties )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "No More Room in Hell" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/NoMoreRoomInHell/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="NoMoreRoominHell"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Mumble" ]; then
:
elif [ "${gamename}" == "Natural Selection 2" ]; then
echo -e "no configs required."
sleep 1
echo ""
:
elif [ "${gamename}" == "NS2: Combat" ]; then
:
elif [ "${gamename}" == "Pirates, Vikings, and Knights II" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/PiratesVikingandKnightsII/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="PiratesVikingandKnightsII"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Project Zomboid" ]; then
echo -e "downloading lgsm-default.ini...\c"
wget -N /dev/null ${githuburl}/ProjectZomboid/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
gamedirname="ProjectZomboid"
array_configs+=( server.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Quake Live" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/QuakeLive/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
fn_userinputconfig
gamedirname="QuakeLive"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Red Orchestra: Ostfront 41-45" ]; then
fn_unreal2config
elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then
echo -e "downloading lgsm-default.ini...\c"
wget -N /dev/null ${githuburl}/SeriousSam3BFE/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_serious3config
:
elif [ "${gamename}" == "Ricochet" ]; then
gamedirname="Ricochet"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fn_user_input_config
elif [ "${gamename}" == "Rust" ]; then
echo -e "downloading server.cfg...\c"
wget -N /dev/null ${githuburl}/Rust/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
elif [ "${gamename}" == "Sven Co-op" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/SvenCoop/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="Rust"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then
gamedirname="SeriousSam3BFE"
array_configs+=( server.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Starbound" ]; then
echo -e "downloading lgsm-default.config...\c"
wget -N /dev/null ${githuburl}/Starbound/cfg/lgsm-default.config 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
fn_userinputconfig
elif [ "${gamename}" == "TeamSpeak 3" ]; then
echo -e "downloading lgsm-default.ini...\c"
wget -N /dev/null ${githuburl}/TeamSpeak3/cfg/lgsm-default.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
gamedirname="Starbound"
array_configs+=( starbound.config )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Sven Co-op" ]; then
gamedirname="SvenCoop"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Team Fortress 2" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/TeamFortress2/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_sourceconfig
gamedirname="TeamFortress2"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Team Fortress Classic" ]; then
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/TeamFortressClassic/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_goldsourceconfig
gamedirname="TeamFortressClassic"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "TeamSpeak 3" ]; then
gamedirname="TeamSpeak3"
array_configs+=( ts3server.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Teeworlds" ]; then
echo -e "downloading ctf.cfg...\c"
wget -N /dev/null ${githuburl}/Teeworlds/cfg/ctf.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
echo -e "downloading dm.cfg...\c"
wget -N /dev/null ${githuburl}/Teeworlds/cfg/dm.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
echo -e "downloading duel.cfg...\c"
wget -N /dev/null ${githuburl}/Teeworlds/cfg/duel.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
echo -e "downloading tdm.cfg...\c"
wget -N /dev/null ${githuburl}/Teeworlds/cfg/tdm.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
echo -e "downloading lgsm-default.cfg...\c"
wget -N /dev/null ${githuburl}/Teeworlds/cfg/lgsm-default.cfg 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_teeworldsconfig
gamedirname="Teeworlds"
array_configs+=( server.cfg ctf.cfg dm.cfg duel.cfg tdm.cfg )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Terraria" ]; then
echo -e "downloading lgsm-default.txt...\c"
wget -N /dev/null ${githuburl}/Terraria/cfg/lgsm-default.txt 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_defaultconfig
gamedirname="Terraria"
array_configs+=( serverconfig.txt )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Unreal Tournament" ]; then
echo -e "downloading Engine.ini...\c"
wget -N /dev/null ${githuburl}/UnrealTournament/cfg/Engine.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
echo -e "downloading Game.ini...\c"
wget -N /dev/null ${githuburl}/UnrealTournament/cfg/Game.ini 2>&1 | grep -F HTTP | cut -c45- | uniq
sleep 1
fn_unrealtournament
elif [ "${gamename}" == "Unreal Tournament 3" ]; then
fn_ut3config
gamedirname="UnrealTournament"
array_configs+=( Game.ini Engine.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Unreal Tournament 2004" ]; then
fn_unreal2config
gamedirname="UnrealTournament2004"
array_configs+=( UT2004.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Unreal Tournament 3" ]; then
gamedirname="UnrealTournament3"
array_configs+=( UTGame.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Unreal Tournament 99" ]; then
fn_ut99config
gamedirname="UnrealTournament99"
array_configs+=( Default.ini )
fn_fetch_default_config
fn_default_config_remote
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
gamedirname="WolfensteinEnemyTerritory"
array_configs+=( server.cfg )
fn_fetch_default_config
fn_default_config_remote
fi

8
lgsm/functions/install_server_files.sh

@ -14,11 +14,11 @@ fn_install_server_files(){
elif [ "${gamename}" == "Unreal Tournament 2004" ]; then
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="${tmpdir}"; 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="2527437b46f1b47f20228d27d72395a6"
elif [ "${gamename}" == "Battlefield: 1942" ]; then
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="${tmpdir}"; filename="enemy-territory.260b.tar.gz"; executecmd="noexecute" run="norun"; force="noforce"; md5="ded32053e470fe15d9403ec4a0ab7e89"
fileurl="http://files.gameservermanagers.com/BattleField1942/bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; filedir="${tmpdir}"; filename="bf1942_lnxded-1.61-hacked-to-1.612.full.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="a86a5d3cd64ca59abcc9bb9f777c2e5d"
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fileurl="http://files.gameservermanagers.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; filedir="${tmpdir}"; filename="enemy-territory.260b.tar.bz2"; executecmd="noexecute" run="norun"; force="noforce"; md5="f833f514bfcdd46b42c111f83350c5a7"
elif [ "${gamename}" == "Unreal Tournament" ]; then
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

2
lgsm/functions/monitor_gsquery.sh

@ -29,6 +29,8 @@ if [ "${gsquery}" == "yes" ]; then
port=$((port + 1))
elif [ "${engine}" == "spark" ]; then
port=$((port + 1))
elif [ "${engine}" == "idtech3_ql" ]; then
engine="quakelive"
fi
if [ -n "${queryport}" ]; then

2
tests/tests_jc2server.sh

@ -67,9 +67,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./Jcmp-Server"
servercfg="config.lua"
servercfgdefault="config.lua"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/default_config.lua"
backupdir="${rootdir}/backups"
# Logging

2
tests/tests_ts3server.sh

@ -60,9 +60,9 @@ systemdir="${filesdir}"
executabledir="${filesdir}"
executable="./ts3server_startscript.sh"
servercfg="${servicename}.ini"
servercfgdefault="ts3server.ini"
servercfgdir="${filesdir}"
servercfgfullpath="${servercfgdir}/${servercfg}"
servercfgdefault="${servercfgdir}/lgsm-default.ini"
backupdir="${rootdir}/backups"
# Logging

Loading…
Cancel
Save