Browse Source

Merged release/170110 into master

pull/1247/head
Daniel Gibbs 8 years ago
parent
commit
546f4f0b12
  1. 2
      7DaysToDie/sdtdserver
  2. 2
      ARKSurvivalEvolved/arkserver
  3. 2
      Arma3/arma3server
  4. 2
      Battlefield1942/bf1942server
  5. 2
      BlackMesa/bmdmserver
  6. 2
      BladeSymphony/bsserver
  7. 2
      BrainBread2/bb2server
  8. 2
      CallOfDuty/codserver
  9. 2
      CallOfDuty2/cod2server
  10. 2
      CallOfDuty4/cod4server
  11. 2
      CallOfDutyUnitedOffensive/coduoserver
  12. 2
      CallOfDutyWorldAtWar/codwawserver
  13. 2
      CodenameCURE/ccserver
  14. 2
      CounterStrike/csserver
  15. 2
      CounterStrikeConditionZero/csczserver
  16. 4
      CounterStrikeGlobalOffensive/csgoserver
  17. 2
      CounterStrikeSource/cssserver
  18. 2
      DayOfDefeat/dodserver
  19. 2
      DayOfDefeatSource/dodsserver
  20. 2
      DayOfInfamy/doiserver
  21. 2
      DeathmatchClassic/dmcserver
  22. 2
      DontStarveTogether/dstserver
  23. 2
      DoubleActionBoogaloo/dabserver
  24. 2
      EmpiresMod/emserver
  25. 191
      Factorio/fctrserver
  26. 2
      FistfulOfFrags/fofserver
  27. 2
      GarrysMod/gmodserver
  28. 2
      GoldenEyeSource/gesserver
  29. 2
      HalfLife2Deathmatch/hl2dmserver
  30. 2
      HalfLifeDeathmatch/hldmserver
  31. 2
      HalfLifeDeathmatchSource/hldmsserver
  32. 2
      Hurtworld/hwserver
  33. 2
      Insurgency/insserver
  34. 2
      JustCause2/jc2server
  35. 2
      KillingFloor/kfserver
  36. 2
      LICENSE
  37. 2
      Left4Dead/l4dserver
  38. 2
      Left4Dead2/l4d2server
  39. 2
      Minecraft/mcserver
  40. 2
      Mumble/mumbleserver
  41. 2
      NS2Combat/ns2cserver
  42. 2
      NaturalSelection2/ns2server
  43. 2
      NoMoreRoomInHell/nmrihserver
  44. 2
      OpposingForce/opforserver
  45. 2
      PiratesVikingandKnightsII/pvkiiserver
  46. 2
      ProjectZomboid/pzserver
  47. 2
      Quake2/q2server
  48. 2
      Quake3/q3server
  49. 2
      QuakeLive/qlserver
  50. 2
      QuakeWorld/qwserver
  51. 2
      RedOrchestra/roserver
  52. 2
      Ricochet/ricochetserver
  53. 2
      Rust/rustserver
  54. 2
      SeriousSam3BFE/ss3sserver
  55. 2
      Starbound/sbserver
  56. 2
      SvenCoop/svenserver
  57. 2
      TeamFortress2/tf2server
  58. 2
      TeamFortressClassic/tfcserver
  59. 2
      TeamSpeak3/ts3server
  60. 2
      Teeworlds/twserver
  61. 2
      Terraria/terrariaserver
  62. 2
      UnrealTournament/utserver
  63. 2
      UnrealTournament2004/ut2k4server
  64. 2
      UnrealTournament3/ut3server
  65. 2
      UnrealTournament99/ut99server
  66. 2
      WolfensteinEnemyTerritory/wetserver
  67. 7
      lgsm/functions/check_deps.sh
  68. 2
      lgsm/functions/check_steamcmd.sh
  69. 212
      lgsm/functions/command_details.sh
  70. 2
      lgsm/functions/command_install.sh
  71. 4
      lgsm/functions/command_postdetails.sh
  72. 20
      lgsm/functions/command_stop.sh
  73. 2
      lgsm/functions/command_update.sh
  74. 4
      lgsm/functions/command_validate.sh
  75. 2
      lgsm/functions/core_dl.sh
  76. 15
      lgsm/functions/core_functions.sh
  77. 94
      lgsm/functions/core_getopt.sh
  78. 32
      lgsm/functions/fix_glibc.sh
  79. 2
      lgsm/functions/gsquery.py
  80. 20
      lgsm/functions/info_config.sh
  81. 3
      lgsm/functions/info_glibc.sh
  82. 6
      lgsm/functions/install_config.sh
  83. 15
      lgsm/functions/install_factorio_save.sh
  84. 20
      lgsm/functions/install_server_files.sh
  85. 33
      lgsm/functions/install_unreal_tournament_eula.sh
  86. 167
      lgsm/functions/update_factorio.sh
  87. 2
      lgsm/functions/update_minecraft.sh
  88. 2
      lgsm/functions/update_mumble.sh
  89. 6
      lgsm/functions/update_steamcmd.sh
  90. 8
      lgsm/functions/update_ts3.sh
  91. BIN
      lgsm/lib/gcc3/libgcc_s.so.1
  92. BIN
      lgsm/lib/gcc3/libstdc++.so.5.0.3
  93. BIN
      lgsm/lib/ubuntu12.04/amd64/libc.so.6
  94. BIN
      lgsm/lib/ubuntu12.04/amd64/libm.so.6
  95. 2
      tests/tests_jc2server.sh

2
7DaysToDie/sdtdserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: 7 Days To Die | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
ARKSurvivalEvolved/arkserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: ARK: Survival Evolved | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Arma3/arma3server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: ARMA 3 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Battlefield1942/bf1942server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Battlefield: 1942 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
BlackMesa/bmdmserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Black Mesa: Deathmatch | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
BladeSymphony/bsserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Blade Symphony | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
BrainBread2/bb2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: BrainBread 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CallOfDuty/codserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Call of Duty | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CallOfDuty2/cod2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Call of Duty 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CallOfDuty4/cod4server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Call of Duty 4 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CallOfDutyUnitedOffensive/coduoserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Call of Duty: United Offensive | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CallOfDutyWorldAtWar/codwawserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Call of Duty: World at War | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CodenameCURE/ccserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Codename CURE | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CounterStrike/csserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Counter-Strike | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
CounterStrikeConditionZero/csczserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Counter-Strike: Condition Zero | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

4
CounterStrikeGlobalOffensive/csgoserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Counter-Strike: Global Offensive | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki
@ -27,7 +27,7 @@ version="161224"
# [Game Modes] gametype gamemode
# Arms Race 1 0
# Classic Casual 0 0
# Classic Competitive 0 1
# Classic Competitive 0 1
# Demolition 1 1
# Deathmatch 1 2
gametype="0"

2
CounterStrikeSource/cssserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Counter-Strike: Source | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
DayOfDefeat/dodserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Day of Defeat | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
DayOfDefeatSource/dodsserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Day of Defeat: Source | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
DayOfInfamy/doiserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Day of Infamy | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
DeathmatchClassic/dmcserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Deathmatch Classic | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
DontStarveTogether/dstserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Dont Starve Together | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
DoubleActionBoogaloo/dabserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Double Action: Boogaloo | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
EmpiresMod/emserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Empires Mod | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

191
Factorio/fctrserver

@ -0,0 +1,191 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Factorio | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki
# Website: https://gameservermanagers.com
# Debugging
if [ -f ".dev-debug" ]; then
exec 5>dev-debug.log
BASH_XTRACEFD="5"
set -x
fi
version="161224"
##########################
######## Settings ########
##########################
#### Server Settings ####
## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
port="34197"
rconport="34198"
rconpassword="CHANGE_ME"
ip="0.0.0.0"
## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
# Edit with care
fn_parms(){
parms="--start-server ${filesdir}/save1.zip --server-settings ${servercfgfullpath} --port ${port} --rcon-port ${rconport} --rcon-password ${rconpassword}"
}
#### LinuxGSM Settings ####
## Notification Alerts
# (on|off)
# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
emailalert="off"
email="[email protected]"
emailfrom=""
# Pushbullet Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Pushbullet
pushbulletalert="off"
pushbullettoken="accesstoken"
channeltag=""
## Updating | https://github.com/GameServerManagers/LinuxGSM/wiki/Update
updateonstart="off"
## Backup | https://github.com/GameServerManagers/LinuxGSM/wiki/Backup
maxbackups="4"
maxbackupdays="30"
stoponbackup="on"
## Logging | https://github.com/GameServerManagers/LinuxGSM/wiki/Logging
consolelogging="on"
logdays="7"
#### LinuxGSM Advanced Settings ####
## Github Branch Select
# Allows for the use of different function files
# from a different repo and/or branch.
githubuser="GameServerManagers"
githubrepo="LinuxGSM"
githubbranch="master"
## LinuxGSM Server Details
# Do not edit
gamename="Factorio"
engine=""
## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers
servicename="fctr-server"
#### Directories ####
# Edit with care
## Work Directories
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
lockselfname=".${servicename}.lock"
lgsmdir="${rootdir}/lgsm"
functionsdir="${lgsmdir}/functions"
libdir="${lgsmdir}/lib"
tmpdir="${lgsmdir}/tmp"
filesdir="${rootdir}/serverfiles"
## Server Specific Directories
systemdir="${filesdir}"
executabledir="${filesdir}/bin/x64"
executable="./factorio"
servercfg="${servicename}.json"
servercfgdefault="server-settings.json"
servercfgdir="${filesdir}/data"
servercfgfullpath="${servercfgdir}/${servercfg}"
## Backup Directory
backupdir="${rootdir}/backups"
## Logging Directories
gamelogdir="${filesdir}"
scriptlogdir="${rootdir}/log/script"
consolelogdir="${rootdir}/log/console"
scriptlog="${scriptlogdir}/${servicename}-script.log"
consolelog="${consolelogdir}/${servicename}-console.log"
emaillog="${scriptlogdir}/${servicename}-email.log"
## Logs Naming
scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%Y-%m-%d-%H:%M:%S').log"
consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%Y-%m-%d-%H:%M:%S').log"
########################
######## Script ########
###### Do not edit #####
########################
# Fetches core_dl for file downloads
fn_fetch_core_dl(){
github_file_url_dir="lgsm/functions"
github_file_url_name="${functionfile}"
filedir="${functionsdir}"
filename="${github_file_url_name}"
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
# If the file is missing, then download
if [ ! -f "${filedir}/${filename}" ]; then
if [ ! -d "${filedir}" ]; then
mkdir -p "${filedir}"
fi
echo -e " fetching ${filename}...\c"
# Check curl exists and use available path
curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)"
for curlcmd in ${curlpaths}
do
if [ -x "${curlcmd}" ]; then
break
fi
done
# If curl exists download file
if [ "$(basename ${curlcmd})" == "curl" ]; then
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1)
if [ $? -ne 0 ]; then
echo -e "\e[0;31mFAIL\e[0m\n"
echo "${curlfetch}"
echo -e "${githuburl}\n"
exit 1
else
echo -e "\e[0;32mOK\e[0m"
fi
else
echo -e "\e[0;31mFAIL\e[0m\n"
echo "Curl is not installed!"
echo -e ""
exit 1
fi
chmod +x "${filedir}/${filename}"
fi
source "${filedir}/${filename}"
}
core_dl.sh(){
# Functions are defined in core_functions.sh.
functionfile="${FUNCNAME}"
fn_fetch_core_dl
}
core_functions.sh(){
# Functions are defined in core_functions.sh.
functionfile="${FUNCNAME}"
fn_fetch_core_dl
}
# Prevent from running this script as root.
if [ "$(whoami)" = "root" ]; then
if [ ! -f "${functionsdir}/core_functions.sh" ]||[ ! -f "${functionsdir}/check_root.sh" ]||[ ! -f "${functionsdir}/core_messages.sh" ]||[ ! -f "${functionsdir}/core_exit.sh" ]; then
echo "[ FAIL ] Do NOT run this script as root!"
exit 1
else
core_functions.sh
check_root.sh
fi
fi
core_dl.sh
core_functions.sh
getopt=$1
core_getopt.sh

2
FistfulOfFrags/fofserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Fistful Of Frags | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
GarrysMod/gmodserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Garry's Mod | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
GoldenEyeSource/gesserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: GoldenEye: Source | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
HalfLife2Deathmatch/hl2dmserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Half Life 2: Deathmatch | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
HalfLifeDeathmatch/hldmserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Half Life: Deathmatch | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
HalfLifeDeathmatchSource/hldmsserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Half-Life Deathmatch: Source | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Hurtworld/hwserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Hurtworld | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Insurgency/insserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Insurgency | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
JustCause2/jc2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Just Cause 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
KillingFloor/kfserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Killing Floor | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
LICENSE

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

2
Left4Dead/l4dserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Left 4 Dead | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Left4Dead2/l4d2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Left 4 Dead 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Minecraft/mcserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Minecraft | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Mumble/mumbleserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Mumble | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
NS2Combat/ns2cserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: NS2: Combat | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
NaturalSelection2/ns2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Natural Selection 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
NoMoreRoomInHell/nmrihserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: No More Room in Hell | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
OpposingForce/opforserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Half-Life: Opposing Force | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
PiratesVikingandKnightsII/pvkiiserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: No More Room in Hell | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
ProjectZomboid/pzserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Project Zomboid | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Quake2/q2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Quake 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Quake3/q3server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Quake 3: Arena | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
QuakeLive/qlserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Quake Live | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
QuakeWorld/qwserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Quake World (nQuake) | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
RedOrchestra/roserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Red Orchestra: Ostfront 41-45 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Ricochet/ricochetserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Ricochet | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Rust/rustserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Rust | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
SeriousSam3BFE/ss3sserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Sam 3: BFE | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Starbound/sbserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Starbound | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
SvenCoop/svenserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Sven Co-op | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
TeamFortress2/tf2server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Team Fortress 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
TeamFortressClassic/tfcserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Team Fortress Classic | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
TeamSpeak3/ts3server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: TeamSpeak 3 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Teeworlds/twserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Teeworlds | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
Terraria/terrariaserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Terraria | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
UnrealTournament/utserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Unreal Tournament | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
UnrealTournament2004/ut2k4server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Unreal Tournament 2004 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
UnrealTournament3/ut3server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Unreal Tournament 3 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
UnrealTournament99/ut99server

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Unreal Tournament 99 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

2
WolfensteinEnemyTerritory/wetserver

@ -1,7 +1,7 @@
#!/bin/bash
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: Enemy Territory | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

7
lgsm/functions/check_deps.sh

@ -92,7 +92,7 @@ fn_found_missing_deps(){
sleep 1
echo -en " \r"
if [ -n "$(command -v dpkg-query)" ]; then
cmd="sudo dpkg --add-architecture i386; sudo apt-get -y install ${array_deps_missing[@]}"
cmd="sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get -y install ${array_deps_missing[@]}"
eval ${cmd}
elif [ -n "$(command -v yum)" ]; then
cmd="sudo yum -y install ${array_deps_missing[@]}"
@ -110,7 +110,7 @@ fn_found_missing_deps(){
fn_print_warning_nl "$(whoami) does not have sudo access. Manually install dependencies."
fn_script_log_warn "$(whoami) does not have sudo access. Manually install dependencies."
if [ -n "$(command -v dpkg-query)" ]; then
echo " sudo dpkg --add-architecture i386; sudo apt-get install ${array_deps_missing[@]}"
echo " sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get install ${array_deps_missing[@]}"
elif [ -n "$(command -v yum)" ]; then
echo " sudo yum install ${array_deps_missing[@]}"
fi
@ -202,6 +202,9 @@ if [ -n "$(command -v dpkg-query)" ]; then
# GoldenEye: Source
elif [ "${gamename}" == "GoldenEye: Source" ]; then
array_deps_required+=( zlib1g:i386 libldap-2.4-2:i386 )
# Serious Sam 3: BFE
elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then
array_deps_required+=( libxrandr2:i386 libglu1-mesa:i386 libxtst6:i386 libusb-1.0-0-dev:i386 libxxf86vm1:i386 libopenal1:i386 libssl1.0.0:i386 libgtk2.0-0:i386 libdbus-glib-1-2:i386 libnm-glib-dev:i386 )
# Unreal Engine
elif [ "${executable}" == "./ucc-bin" ]; then
#UT2K4

2
lgsm/functions/check_steamcmd.sh

@ -58,7 +58,7 @@ fn_check_steamcmd_sh(){
fn_check_steamcmd_guard(){
if [ "${function_selfname}" == "command_update.sh" ]||[ "${function_selfname}" == "command_validate.sh" ]; then
# Checks that SteamCMD is working correctly and will prompt Steam Guard if required.
"${steamcmddir}"/steamcmd.sh +login "${steamuser}" "${steampass}" +quit
"${steamcmddir}"/steamcmd.sh +login "${steamuser}" '${steampass}' +quit
if [ $? -ne 0 ]; then
fn_print_failure_nl "Error running SteamCMD"
fi

212
lgsm/functions/command_details.sh

@ -309,7 +309,7 @@ fn_details_ports(){
echo -e "Change ports by editing the parameters in:"
parmslocation="${red}UNKNOWN${default}"
# engines that require editing in the config file
# engines/games that require editing in the config file
local ports_edit_array=( "avalanche" "dontstarve" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "projectzomboid" "quake" "refractor" "realvirtuality" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" )
for port_edit in "${ports_edit_array[@]}"
do
@ -317,8 +317,8 @@ fn_details_ports(){
parmslocation="${servercfgfullpath}"
fi
done
# engines that require editing in the script file
local ports_edit_array=( "Hurtworld" "iw3.0" "goldsource" "Rust" "spark" "source" "starbound" "unreal4" )
# engines/games that require editing in the script file
local ports_edit_array=( "goldsource" "Factorio" "Hurtworld" "iw3.0" "Rust" "spark" "source" "starbound" "unreal4" )
for port_edit in "${ports_edit_array[@]}"
do
if [ "${engine}" == "${port_edit}" ]||[ "${gamename}" == "${port_edit}" ]; then
@ -340,8 +340,19 @@ fn_details_statusbottom(){
echo -e ""
}
# Engine Specific details
fn_details_ark(){
echo -e "netstat -atunp | grep ShooterGame"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL\tINI VARIABLE"
echo -e "> Game\tINBOUND\t${port}\tudp\tPort=${port}"
echo -e "> Query\tINBOUND\t${queryport}\tudp"
} | column -s $'\t' -t
}
fn_details_avalanche(){
echo -e "netstat -atunp | grep Jcmp-Server"
echo -e ""
@ -408,16 +419,36 @@ fn_details_dontstarve(){
} | column -s $'\t' -t
}
fn_details_minecraft(){
echo -e "netstat -atunp | grep java"
fn_details_factorio(){
echo -e "netstat -atunp | grep factorio"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game\tINBOUND\t${port}\tudp"
echo -e "> Game\tINBOUND\t${port}\ttcp"
} | column -s $'\t' -t
}
fn_details_projectzomboid(){
fn_details_goldsource(){
echo -e "netstat -atunp | grep hlds_linux"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp"
echo -e "< Client\tOUTBOUND\t${clientport}\tudp"
} | column -s $'\t' -t
}
fn_details_hurtworld(){
echo -e "netstat -atunp | grep Hurtworld"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/RCON\tINBOUND\t${port}\tudp"
echo -e "> Query\tINBOUND\t${queryport}\tudp"
} | column -s $'\t' -t
}
fn_details_minecraft(){
echo -e "netstat -atunp | grep java"
echo -e ""
{
@ -426,29 +457,31 @@ fn_details_projectzomboid(){
} | column -s $'\t' -t
}
fn_details_mumble(){
echo -e "netstat -atunp | grep murmur"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Voice\tINBOUND\t${port}\tudp"
echo -e "> ServerQuery\tINBOUND\t${port}\ttcp"
} | column -s $'\t' -t
}
fn_details_realvirtuality(){
echo -e "netstat -atunp | grep arma3server"
fn_details_projectzomboid(){
echo -e "netstat -atunp | grep java"
echo -e ""
if [ -z "${port}" ]||[ -z "${queryport}" ]||[ -z "${masterport}" ]; then
echo -e "${red}ERROR!${default} Missing/commented ports in ${servercfg}."
echo -e ""
fi
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game\tINBOUND\t${port}\tudp"
echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp"
echo -e "> Steam: Master traffic\tINBOUND\t${masterport}\tudp"
} | column -s $'\t' -t
}
fn_details_refractor(){
echo -e "netstat -atunp | grep bf1942_lnxd"
fn_details_quake(){
echo -e "netstat -atunp | grep mvdsv"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\tudp"
echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp"
echo -e "> Game\tINBOUND\t${port}\tudp"
} | column -s $'\t' -t
}
@ -470,39 +503,55 @@ fn_details_quake3(){
} | column -s $'\t' -t
}
fn_details_quake(){
echo -e "netstat -atunp | grep mvdsv"
fn_details_quakelive(){
echo -e "netstat -atunp | grep qzeroded"
echo -e ""
if [ -z "${port}" ]||[ -z "${rconport}" ]||[ -z "${statsport}" ]; then
echo -e "${red}ERROR!${default} Missing/commented ports in ${servercfg}."
echo -e ""
fi
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game\tINBOUND\t${port}\tudp"
echo -e "> Rcon\tINBOUND\t${rconport}\tudp"
echo -e "> Stats\tINBOUND\t${statsport}\tudp"
} | column -s $'\t' -t
}
fn_details_quakelive(){
echo -e "netstat -atunp | grep qzeroded"
fn_details_realvirtuality(){
echo -e "netstat -atunp | grep arma3server"
echo -e ""
if [ -z "${port}" ]||[ -z "${rconport}" ]||[ -z "${statsport}" ]; then
if [ -z "${port}" ]||[ -z "${queryport}" ]||[ -z "${masterport}" ]; then
echo -e "${red}ERROR!${default} Missing/commented ports in ${servercfg}."
echo -e ""
fi
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game\tINBOUND\t${port}\tudp"
echo -e "> Rcon\tINBOUND\t${rconport}\tudp"
echo -e "> Stats\tINBOUND\t${statsport}\tudp"
echo -e "> Steam: Query\tINBOUND\t${queryport}\tudp"
echo -e "> Steam: Master traffic\tINBOUND\t${masterport}\tudp"
} | column -s $'\t' -t
}
fn_details_wolfensteinenemyterritory(){
echo -e "netstat -atunp | grep etded"
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_rust(){
echo -e "netstat -atunp | grep Rust"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp"
echo -e "> RCON\tINBOUND\t${rconport}\ttcp"
} | column -s $'\t' -t
}
fn_details_seriousengine35(){
echo -e "netstat -atunp | grep Sam3_Dedicate"
@ -514,15 +563,41 @@ fn_details_seriousengine35(){
} | column -s $'\t' -t
}
fn_details_sdtd(){
echo -e "netstat -atunp | grep 7DaysToDie"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/RCON\tINBOUND\t${port}\tudp"
echo -e "> Query\tINBOUND\t${queryport}\tudp"
echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp"
echo -e "> Telnet\tINBOUND\t${telnetport}\ttcp"
} | column -s $'\t' -t
echo -e ""
echo -e "${lightgreen}${servername} WebAdmin${default}"
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
{
echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}"
echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}"
echo -e "${blue}WebAdmin password:\t${default}${webadminpass}"
} | column -s $'\t' -t
echo -e ""
echo -e "${lightgreen}${servername} Telnet${default}"
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
{
echo -e "${blue}Telnet enabled:\t${default}${telnetenabled}"
echo -e "${blue}Telnet address:\t${default}${ip} ${telnetport}"
echo -e "${blue}Telnet password:\t${default}${telnetpass}"
} | column -s $'\t' -t
}
fn_details_source(){
echo -e "netstat -atunp | grep srcds_linux"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/RCON\tINBOUND\t${port}\ttcp/udp"
if [ -n "${sourcetvport}" ]; then
echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp"
fi
echo -e "> SourceTV\tINBOUND\t${sourcetvport}\tudp"
echo -e "< Client\tOUTBOUND\t${clientport}\tudp"
} | column -s $'\t' -t
}
@ -568,16 +643,6 @@ fn_details_teamspeak3(){
} | column -s $'\t' -t
}
fn_details_mumble(){
echo -e "netstat -atunp | grep murmur"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Voice\tINBOUND\t${port}\tudp"
echo -e "> ServerQuery\tINBOUND\t${port}\ttcp"
} | column -s $'\t' -t
}
fn_details_teeworlds(){
echo -e "netstat -atunp | grep teeworlds_srv"
echo -e ""
@ -596,54 +661,6 @@ fn_details_terraria(){
} | column -s $'\t' -t
}
fn_details_sdtd(){
echo -e "netstat -atunp | grep 7DaysToDie"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/RCON\tINBOUND\t${port}\tudp"
echo -e "> Query\tINBOUND\t${queryport}\tudp"
echo -e "> WebAdmin\tINBOUND\t${webadminport}\ttcp"
echo -e "> Telnet\tINBOUND\t${telnetport}\ttcp"
} | column -s $'\t' -t
echo -e ""
echo -e "${lightgreen}${servername} WebAdmin${default}"
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
{
echo -e "${blue}WebAdmin enabled:\t${default}${webadminenabled}"
echo -e "${blue}WebAdmin url:\t${default}http://${ip}:${webadminport}"
echo -e "${blue}WebAdmin password:\t${default}${webadminpass}"
} | column -s $'\t' -t
echo -e ""
echo -e "${lightgreen}${servername} Telnet${default}"
printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' =
{
echo -e "${blue}Telnet enabled:\t${default}${telnetenabled}"
echo -e "${blue}Telnet address:\t${default}${ip} ${telnetport}"
echo -e "${blue}Telnet password:\t${default}${telnetpass}"
} | column -s $'\t' -t
}
fn_details_hurtworld(){
echo -e "netstat -atunp | grep Hurtworld"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/RCON\tINBOUND\t${port}\tudp"
echo -e "> Query\tINBOUND\t${queryport}\tudp"
} | column -s $'\t' -t
}
fn_details_rust(){
echo -e "netstat -atunp | grep Rust"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\ttcp/udp"
echo -e "> RCON\tINBOUND\t${rconport}\ttcp"
} | column -s $'\t' -t
}
fn_details_unreal(){
echo -e "netstat -atunp | grep ucc-bin"
echo -e ""
@ -691,16 +708,16 @@ fn_details_ut3(){
} | column -s $'\t' -t
}
fn_details_ark(){
echo -e "netstat -atunp | grep ShooterGame"
fn_details_wolfensteinenemyterritory(){
echo -e "netstat -atunp | grep etded"
echo -e ""
{
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL\tINI VARIABLE"
echo -e "> Game\tINBOUND\t${port}\tudp\tPort=${port}"
echo -e "> Query\tINBOUND\t${queryport}\tudp"
echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
echo -e "> Game/Query\tINBOUND\t${port}\tudp"
} | column -s $'\t' -t
}
# Run checks and gathers details to display.
fn_display_details() {
@ -729,6 +746,8 @@ fn_display_details() {
fn_details_refractor
elif [ "${engine}" == "dontstarve" ]; then
fn_details_dontstarve
elif [ "${engine}" == "goldsource" ]; then
fn_details_goldsource
elif [ "${engine}" == "lwjgl2" ]; then
fn_details_minecraft
elif [ "${engine}" == "projectzomboid" ]; then
@ -737,7 +756,7 @@ fn_display_details() {
fn_details_realvirtuality
elif [ "${engine}" == "seriousengine35" ]; then
fn_details_seriousengine35
elif [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
elif [ "${engine}" == "source" ]; then
fn_details_source
elif [ "${engine}" == "spark" ]; then
fn_details_spark
@ -783,6 +802,8 @@ fn_display_details() {
fn_details_rust
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fn_details_wolfensteinenemyterritory
elif [ "${gamename}" == "Factorio" ]; then
fn_details_factorio
else
fn_print_error_nl "Unable to detect server engine."
fi
@ -795,3 +816,4 @@ then
fn_display_details
core_exit.sh
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}" == "Battlefield: 1942" ]||[ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${gamename}" == "Call of Duty 2" ]||[ "${gamename}" == "Call of Duty 4" ]||[ "${gamename}" == "Call of Duty: World at War" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "QuakeWorld" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Mumble" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${gamename}" == "Call of Duty 2" ]||[ "${gamename}" == "Call of Duty 4" ]||[ "${gamename}" == "Call of Duty: World at War" ]||[ "${gamename}" == "Factorio" ]||[ "${gamename}" == "Minecraft" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "QuakeWorld" ]||[ "${gamename}" == "Unreal Tournament 99" ]||[ "${gamename}" == "Unreal Tournament" ]||[ "${gamename}" == "Unreal Tournament 3" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${gamename}" == "Mumble" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
installer=1
install_server_files.sh
elif [ -n "${appid}" ]; then

4
lgsm/functions/command_postdetails.sh

@ -36,7 +36,7 @@ posttarget=${posttarget="https://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"}"
postexpire="${postexpire="30D"}"
# This file sources the command_details.sh file to leverage all
# of the already-defined functions. To keep the command_details.sh
@ -128,7 +128,7 @@ if [ "${posttarget}" == "http://pastebin.com" ] ; then
fn_print_ok_nl "Posting details to pastbin.com for ${postexpire}"
echo " Please share the following url for support: ${posttarget}${link}"
elif [ "${posttarget}" == "https://hastebin.com" ] ; then
fn_print_dots "Posting details to hastebin.com (expires 30 days after last view)"
fn_print_dots "Posting details to hastebin.com"
sleep 1
# hastebin is a bit simpler. If successful, the returned result
# should look like: {"something":"key"}, putting the reference that

20
lgsm/functions/command_stop.sh

@ -58,6 +58,24 @@ fn_stop_graceful_goldsource(){
fn_stop_tmux
}
fn_stop_graceful_factorio(){
fn_print_dots "Graceful: console CTRL+c"
fn_script_log_info "Graceful: console CTRL+c"
# sends quit
tmux send-keys C-c -t "${servicename}" > /dev/null 2>&1
# waits 3 seconds as goldsource servers restart with the quit command
for seconds in {1..3}; do
sleep 1
fn_print_dots "Graceful: console CTRL+c: ${seconds}"
done
fn_print_ok "Graceful: console CTRL+c: ${seconds}: "
fn_print_ok_eol_nl
fn_script_log_pass "Graceful: console CTRL+c: OK: ${seconds} seconds"
sleep 1
fn_stop_tmux
}
# Attempts graceful of 7 Days To Die using telnet.
fn_stop_telnet_sdtd(){
sdtd_telnet_shutdown=$( expect -c '
@ -175,6 +193,8 @@ fn_stop_graceful_minecraft(){
fn_stop_graceful_select(){
if [ "${gamename}" == "7 Days To Die" ]; then
fn_stop_graceful_sdtd
elif [ "${gamename}" == "Factorio" ]; then
fn_stop_graceful_factorio
elif [ "${engine}" == "source" ]; then
fn_stop_graceful_source
elif [ "${engine}" == "goldsource" ]; then

2
lgsm/functions/command_update.sh

@ -19,6 +19,8 @@ elif [ "${engine}" == "lwjgl2" ]; then
update_minecraft.sh
elif [ "${gamename}" == "Mumble" ]; then
update_mumble.sh
elif [ "${gamename}" == "Factorio" ]; then
update_factorio.sh
else
update_steamcmd.sh
fi

4
lgsm/functions/command_validate.sh

@ -24,9 +24,9 @@ fn_validation(){
fi
if [ "${engine}" == "goldsource" ]; then
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} +app_update "${appid}" ${branch} validate +quit| tee -a "${scriptlog}"
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} +app_update "${appid}" ${branch} validate +quit| tee -a "${scriptlog}"
else
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} validate +quit| tee -a "${scriptlog}"
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} validate +quit| tee -a "${scriptlog}"
fi
if [ $? != 0 ]; then
fn_print_fail_nl "Validating files: SteamCMD"

2
lgsm/functions/core_dl.sh

@ -117,7 +117,7 @@ fn_fetch_file(){
# trap to remove part downloaded files
trap fn_fetch_trap INT
# if larger file shows progress bar
if [ ${filename##*.} == "bz2" ]||[ ${filename##*.} == "jar" ]; then
if [ ${filename##*.} == "bz2" ]||[ ${filename##*.} == "gz" ]||[ ${filename##*.} == "zip" ]||[ ${filename##*.} == "jar" ]; then
echo -ne "downloading ${filename}..."
sleep 1
curlcmd=$(${curlcmd} --progress-bar --fail -L -o "${filedir}/${filename}" "${fileurl}")

15
lgsm/functions/core_functions.sh

@ -450,6 +450,11 @@ functionfile="${FUNCNAME}"
fn_fetch_function
}
update_factorio.sh(){
functionfile="${FUNCNAME}"
fn_fetch_function
}
update_steamcmd.sh(){
functionfile="${FUNCNAME}"
fn_fetch_function
@ -480,6 +485,11 @@ functionfile="${FUNCNAME}"
fn_fetch_function
}
install_factorio_save.sh(){
functionfile="${FUNCNAME}"
fn_fetch_function
}
install_dst_token.sh(){
functionfile="${FUNCNAME}"
fn_fetch_function
@ -510,6 +520,11 @@ functionfile="${FUNCNAME}"
fn_fetch_function
}
install_unreal_tournament_eula.sh(){
functionfile="${FUNCNAME}"
fn_fetch_function
}
install_retry.sh(){
functionfile="${FUNCNAME}"
fn_fetch_function

94
lgsm/functions/core_getopt.sh

@ -80,6 +80,73 @@ case "${getopt}" in
esac
}
fn_getopt_generic_update_no_steam(){
case "${getopt}" in
st|start)
command_start.sh;;
sp|stop)
command_stop.sh;;
r|restart)
command_restart.sh;;
u|update)
command_update.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\t${default}u |Checks and applies updates."
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 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."
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_generic_no_update(){
case "${getopt}" in
st|start)
@ -144,7 +211,6 @@ case "${getopt}" in
esac
}
fn_getopt_teamspeak3(){
case "${getopt}" in
st|start)
@ -697,26 +763,36 @@ case "${getopt}" in
esac
}
if [ "${gamename}" == "Mumble" ]; then
fn_getopt_mumble
elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${gamename}" == "Call of Duty 2" ]||[ "${gamename}" == "Call of Duty 4" ]||[ "${gamename}" == "Call of Duty: World at War" ]||[ "${gamename}" == "QuakeWorld" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fn_getopt_generic_no_update
# Don't Starve Together
if [ "${gamename}" == "Don't Starve Together" ]; then
fn_getopt_dstserver
# Garry's Mod
elif [ "${gamename}" == "Garry's Mod" ]; then
fn_getopt_gmodserver
# Minecraft
elif [ "${engine}" == "lwjgl2" ]; then
fn_getopt_minecraft
# Mumble
elif [ "${gamename}" == "Mumble" ]; then
fn_getopt_mumble
# Teamspeak 3
elif [ "${gamename}" == "TeamSpeak 3" ]; then
fn_getopt_teamspeak3
elif [ "${gamename}" == "Don't Starve Together" ]; then
fn_getopt_dstserver
elif [ "${gamename}" == "Garry's Mod" ]; then
fn_getopt_gmodserver
# Unreal 2 Engine
elif [ "${engine}" == "unreal2" ]; then
if [ "${gamename}" == "Unreal Tournament 2004" ]; then
fn_getopt_ut2k4
else
fn_getopt_unreal2
fi
# Unreal Engine
elif [ "${engine}" == "unreal" ]; then
fn_getopt_unreal
# Generic
elif [ "${gamename}" == "Battlefield: 1942" ]||[ "${gamename}" == "Call of Duty" ]||[ "${gamename}" == "Call of Duty: United Offensive" ]||[ "${gamename}" == "Call of Duty 2" ]||[ "${gamename}" == "Call of Duty 4" ]||[ "${gamename}" == "Call of Duty: World at War" ]||[ "${gamename}" == "QuakeWorld" ]||[ "${gamename}" == "Quake 2" ]||[ "${gamename}" == "Quake 3: Arena" ]||[ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
fn_getopt_generic_no_update
elif [ "${gamename}" == "Factorio" ]; then
fn_getopt_generic_update_no_steam
else
fn_getopt_generic
fi

32
lgsm/functions/fix_glibc.sh

@ -8,6 +8,9 @@ local commandname="FIX"
local commandaction="Fix"
local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
## i386
# libstdc++.so.6
local libstdc_servers_array=( "ARMA 3" "Blade Symphony" "Garry's Mod" "GoldenEye: Source" "Just Cause 2" )
for libstdc_server in "${libstdc_servers_array[@]}"
do
@ -16,6 +19,7 @@ do
fi
done
# libm.so.6
local libm_servers_array=( "Black Mesa: Deathmatch" "Codename CURE" "Day of Infamy" "Double Action: Boogaloo" "Empires Mod" "Fistful of Frags" "Garry's Mod" "GoldenEye: Source" "Insurgency" "Natural Selection 2" "NS2: Combat" "No More Room in Hell" )
for libm_server in "${libm_servers_array[@]}"
do
@ -24,6 +28,7 @@ do
fi
done
# libc.so.6
local libc_servers_array=( "Black Mesa: Deathmatch" "Blade Symphony" "Garry's Mod" "GoldenEye: Source" )
for libc_server in "${libc_servers_array[@]}"
do
@ -32,6 +37,7 @@ do
fi
done
# libpthread.so.0
local libpthread_servers_array=( "Black Mesa: Deathmatch" "Blade Symphony" "Garry's Mod" )
for libpthread_server in "${libpthread_servers_array[@]}"
do
@ -40,12 +46,24 @@ do
fi
done
if [ "${gamename}" == "Call of Duty: United Offensive" ]; then
fn_fetch_file_github "lgsm/lib/gcc3" "libgcc_s.so.1" "${lgsmdir}/lib" "noexecutecmd" "norun" "noforce" "nomd5"
fn_fetch_file_github "lgsm/lib/gcc3" "libstdc++.so.5.0.3" "${lgsmdir}/lib" "noexecutecmd" "norun" "noforce" "nomd5"
if [ ! -f "${lgsmdir}/lib/libstdc++.so.5" ]; then
ln -s "${lgsmdir}/lib/libstdc++.so.5.0.3" "${lgsmdir}/lib/libstdc++.so.5"
export LD_LIBRARY_PATH=:"${libdir}"
## amd64
# libm.so.6
local libm_servers_array=( "Factorio" )
for libm_server in "${libm_servers_array[@]}"
do
if [ "${gamename}" == "${libm_server}" ]; then
fn_fetch_file_github "lgsm/lib/ubuntu12.04/amd64" "libm.so.6" "${lgsmdir}/lib" "noexecutecmd" "norun" "noforce" "nomd5"
fi
fi
done
export LD_LIBRARY_PATH=:"${libdir}"
# libc.so.6
local libc_servers_array=( "Factorio" )
for libc_server in "${libc_servers_array[@]}"
do
if [ "${gamename}" == "${libc_server}" ]; then
fn_fetch_file_github "lgsm/lib/ubuntu12.04/amd64" "libc.so.6" "${lgsmdir}/lib" "noexecutecmd" "norun" "noforce" "nomd5"
fi
done

2
lgsm/functions/gsquery.py

@ -29,7 +29,7 @@ class GameServer:
elif self.option.engine == 'iw2.0':
self.query_prompt_string = b'\xff\xff\xff\xffgetstatus'
elif self.option.engine == 'iw3.0':
self.query_prompt_string = b'\xff\xff\xff\xffgetstatus'
self.query_prompt_string = b'\xff\xff\xff\xffgetstatus'
elif self.option.engine == 'quake':
self.query_prompt_string = b'\xff\xff\xff\xffstatus\x00'
elif self.option.engine == 'quakelive':

20
lgsm/functions/info_config.sh

@ -166,6 +166,23 @@ fn_info_config_dontstarve(){
fi
}
fn_info_config_factorio(){
if [ ! -f "${servercfgfullpath}" ]; then
servername="Factorio Server"
serverpassword="${unavailable}"
maxplayers="${zero}"
else
servername="Factorio Server"
serverpassword=$(grep "game_password" "${servercfgfullpath}" | sed -e 's/^[ \t]*//g' -e '/^#/d' -e 's/game_password//g' | tr -d '=\";,:' | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
maxplayers=$(grep "\"max_players\"" "${servercfgfullpath}" | tr -cd '[:digit:]')
# Not Set
servername=${servername:-"NOT SET"}
maxplayers=${maxplayers=:-"0"}
rconpassword=${rconpassword=:-"NOT SET"}
fi
}
fn_info_config_minecraft(){
if [ ! -f "${servercfgfullpath}" ]; then
servername="${unavailable}"
@ -597,6 +614,9 @@ elif [ "${gamename}" == "Call of Duty: World at War" ]; then
# Dont Starve Together
elif [ "${engine}" == "dontstarve" ]; then
fn_info_config_dontstarve
# Factorio
elif [ "${gamename}" == "Factorio" ]; then
fn_info_config_factorio
# Quake 2
elif [ "${gamename}" == "Quake 2" ]; then
fn_info_config_quake2

3
lgsm/functions/info_glibc.sh

@ -38,6 +38,9 @@ elif [ "${gamename}" == "Double Action: Boogaloo" ]; then
elif [ "${gamename}" == "Empires Mod" ]; then
glibcrequired="2.15"
glibcfix="yes"
elif [ "${gamename}" == "Factorio" ]; then
glibcrequired="2.15"
glibcfix="yes"
elif [ "${gamename}" == "Fistful of Frags" ]; then
glibcrequired="2.15"
glibcfix="yes"

6
lgsm/functions/install_config.sh

@ -261,6 +261,12 @@ elif [ "${gamename}" == "Double Action: Boogaloo" ]; then
fn_fetch_default_config
fn_default_config_remote
fn_set_config_vars
elif [ "${gamename}" == "Factorio" ]; then
gamedirname="Factorio"
array_configs+=( server-settings.json )
fn_fetch_default_config
fn_default_config_remote
fn_set_config_vars
elif [ "${gamename}" == "Fistful of Frags" ]; then
gamedirname="FistfulofFrags"
array_configs+=( server.cfg )

15
lgsm/functions/install_factorio_save.sh

@ -0,0 +1,15 @@
#!/bin/bash
# LGSM install_factorio_save.sh function
# Author: Kristian Polso
# Website: https://gameservermanagers.com
# Description: Creates the initial save file for Factorio
local commandname="INSTALL"
local commandaction="Install"
echo ""
echo "Creating initial Factorio savefile"
echo "================================="
sleep 1
check_glibc.sh
"${executabledir}"/factorio --create ${filesdir}/save1

20
lgsm/functions/install_server_files.sh

@ -34,7 +34,7 @@ fn_install_server_files(){
elif [ "${gamename}" == "Unreal Tournament 99" ]; then
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" ]; 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"
fileurl="http://files.gameservermanagers.com/UnrealTournament/UnrealTournament-Server-XAN-3193528-Linux.zip"; filedir="${tmpdir}"; filename="UnrealTournament-Server-XAN-3193528-Linux.zip"; executecmd="noexecute" run="norun"; force="noforce"; md5="e3dd5853c4eb193674d5c832f60040d8"
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="2527437b46f1b47f20228d27d72395a6"
elif [ "${gamename}" == "Wolfenstein: Enemy Territory" ]; then
@ -78,18 +78,18 @@ fn_install_server_files_steamcmd(){
if [ "${counter}" -le "4" ]; then
if [ "${engine}" == "goldsource" ]; then
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +quit
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} +quit
local exitcode=$?
else
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} +quit
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} +quit
local exitcode=$?
fi
elif [ "${counter}" -ge "5" ]; then
if [ "${engine}" == "goldsource" ]; then
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} -validate +quit
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_set_config 90 mod "${appidmod}" +app_update "${appid}" ${branch} -validate +quit
local exitcode=$?
else
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} -validate +quit
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} -validate +quit
local exitcode=$?
fi
fi
@ -107,7 +107,7 @@ fn_install_server_files_steamcmd(){
counter="0"
while [ "${counter}" -le "4" ]; do
counter=$((counter+1))
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} -validate +quit
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} -validate +quit
local exitcode=$?
done
fi
@ -125,11 +125,17 @@ fi
if [ "${gamename}" == "TeamSpeak 3" ]; then
update_ts3.sh
elif [ "${gamename}" == "Minecraft" ]; then
update_minecraft.sh
install_minecraft_eula.sh
update_minecraft.sh
elif [ "${gamename}" == "Mumble" ]; then
update_mumble.sh
elif [ "${gamename}" == "Factorio" ]; then
update_factorio.sh
install_factorio_save.sh
elif [ -z "${appid}" ]||[ "${gamename}" == "GoldenEye: Source" ]; then
if [ "${gamename}" == "Unreal Tournament" ]; then
install_unreal_tournament_eula.sh
fi
fn_install_server_files
fi

33
lgsm/functions/install_unreal_tournament_eula.sh

@ -0,0 +1,33 @@
#!/bin/bash
# LGSM install_unreal_tournament_eula.sh function
# Author: Daniel Gibbs
# Website: https://gameservermanagers.com
# Description: Gets user to accept the EULA.
echo ""
echo "Accept ${gamename} EULA"
echo "================================="
sleep 1
echo "You are required to accept the EULA:"
echo "https://www.epicgames.com/unrealtournament/unreal-tournament-pre-alpha-test-development-build-eula/"
echo "eula=false" > "${filesdir}/eula.txt"
if [ -z "${autoinstall}" ]; then
echo "By continuing you are indicating your agreement to the EULA."
echo ""
while true; do
read -e -i "y" -p "Continue [Y/n]" yn
case $yn in
[Yy]* ) break;;
[Nn]* ) core_exit.sh;;
* ) echo "Please answer yes or no.";;
esac
done
else
echo "By using auto-install you are indicating your agreement to the EULA."
echo ""
sleep 5
fi
sed -i "s/eula=false/eula=true/g" "${filesdir}/eula.txt"

167
lgsm/functions/update_factorio.sh

@ -0,0 +1,167 @@
#!/bin/bash
# LGSM update_factorio.sh function
# Author: Daniel Gibbs
# Contributor: Kristian Polso
# Website: https://gameservermanagers.com
# Description: Handles updating of Factorio servers.
local commandname="UPDATE"
local commandaction="Update"
local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
fn_update_factorio_dl(){
fn_fetch_file "https://www.factorio.com/get-download/${availablebuild}/headless/${factorioarch}" "${tmpdir}" "factorio_headless_${factorioarch}-${availablebuild}.tar.gz"
fn_dl_extract "${tmpdir}" "factorio_headless_${factorioarch}-${availablebuild}.tar.gz" "${tmpdir}"
echo -e "copying to ${filesdir}...\c"
fn_script_log "Copying to ${filesdir}"
cp -R "${tmpdir}/factorio/"* "${filesdir}"
local exitcode=$?
if [ "${exitcode}" == "0" ]; then
fn_print_ok_eol_nl
else
fn_print_fail_eol_nl
fi
}
fn_update_factorio_currentbuild(){
# Gets current build info
# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
fn_print_error "Checking for update: factorio.com"
sleep 1
fn_print_error_nl "Checking for update: factorio.com: No logs with server version found"
fn_script_log_error "Checking for update: factorio.com: No logs with server version found"
sleep 1
fn_print_info_nl "Checking for update: factorio.com: Forcing server restart"
fn_script_log_info "Checking for update: factorio.com: Forcing server restart"
sleep 1
exitbypass=1
command_stop.sh
exitbypass=1
command_start.sh
sleep 1
# Check again and exit on failure.
if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
fn_print_fail_nl "Checking for update: factorio.com: Still No logs with server version found"
fn_script_log_fatal "Checking for update: factorio.com: Still No logs with server version found"
core_exit.sh
fi
fi
# Get current build from logs
currentbuild=$(grep "Loading mod base" "${consolelogdir}"/"${servicename}"-console.log 2> /dev/null|awk '{print $5}')
if [ -z "${currentbuild}" ]; then
fn_print_error_nl "Checking for update: factorio.com: Current build version not found"
fn_script_log_error "Checking for update: factorio.com: Current build version not found"
sleep 1
fn_print_info_nl "Checking for update: factorio.com: Forcing server restart"
fn_script_log_info "Checking for update: factorio.com: Forcing server restart"
exitbypass=1
command_stop.sh
exitbypass=1
command_start.sh
currentbuild=$(grep "Loading mod base" "${consolelogdir}"/"${servicename}"-console.log 2> /dev/null|awk '{print $5}')
if [ -z "${currentbuild}" ]; then
fn_print_fail_nl "Checking for update: factorio.com: Current build version still not found"
fn_script_log_fatal "Checking for update: factorio.com: Current build version still not found"
core_exit.sh
fi
fi
}
fn_update_factorio_arch(){
# Factorio is linux64 only for now
factorioarch="linux64"
}
fn_update_factorio_availablebuild(){
# Gets latest build info.
availablebuild=$(curl -s https://www.factorio.com/download-headless/stable | grep 'headless/linux64' | head -n 1 | grep -oP '(?<=get-download/).*?(?=/)')
sleep 1
# Checks if availablebuild variable has been set
if [ -z "${availablebuild}" ]; then
fn_print_fail "Checking for update: factorio.com"
sleep 1
fn_print_fail "Checking for update: factorio.com: Not returning version info"
fn_script_log_fatal "Failure! Checking for update: factorio.com: Not returning version info"
core_exit.sh
elif [ "${installer}" == "1" ]; then
:
else
fn_print_ok "Checking for update: factorio.com"
fn_script_log_pass "Checking for update: factorio.com"
sleep 1
fi
}
fn_update_factorio_compare(){
# Removes dots so if can compare version numbers
currentbuilddigit=$(echo "${currentbuild}"|tr -cd '[:digit:]')
availablebuilddigit=$(echo "${availablebuild}"|tr -cd '[:digit:]')
if [ "${currentbuilddigit}" -ne "${availablebuilddigit}" ]; then
echo -e "\n"
echo -e "Update available:"
sleep 1
echo -e " Current build: ${red}${currentbuild} ${factorioarch}${default}"
echo -e " Available build: ${green}${availablebuild} ${factorioarch}${default}"
echo -e ""
sleep 1
echo ""
echo -en "Applying update.\r"
sleep 1
echo -en "Applying update..\r"
sleep 1
echo -en "Applying update...\r"
sleep 1
echo -en "\n"
fn_script_log "Update available"
fn_script_log "Current build: ${currentbuild}"
fn_script_log "Available build: ${availablebuild}"
fn_script_log "${currentbuild} > ${availablebuild}"
unset updateonstart
check_status.sh
if [ "${status}" == "0" ]; then
fn_update_factorio_dl
exitbypass=1
command_start.sh
exitbypass=1
command_stop.sh
else
exitbypass=1
command_stop.sh
fn_update_factorio_dl
exitbypass=1
command_start.sh
fi
alert="update"
alert.sh
else
echo -e "\n"
echo -e "No update available:"
echo -e " Current version: ${green}${currentbuild}${default}"
echo -e " Available version: ${green}${availablebuild}${default}"
echo -e ""
fn_print_ok_nl "No update available"
fn_script_log_info "Current build: ${currentbuild}"
fn_script_log_info "Available build: ${availablebuild}"
fi
}
fn_update_factorio_arch
if [ "${installer}" == "1" ]; then
fn_update_factorio_availablebuild
fn_update_factorio_dl
else
# Checks for server update from factorio.com
fn_print_dots "Checking for update: factorio.com"
fn_script_log_info "Checking for update: factorio.com"
sleep 1
fn_update_factorio_currentbuild
fn_update_factorio_availablebuild
fn_update_factorio_compare
fi

2
lgsm/functions/update_minecraft.sh

@ -79,6 +79,8 @@ fn_update_availablebuild(){
fn_print_fail "Checking for update: mojang.com: Not returning version info"
fn_script_log_fatal "Failure! Checking for update: mojang.com: Not returning version info"
core_exit.sh
elif [ "${installer}" == "1" ]; then
:
else
fn_print_ok_nl "Checking for update: mojang.com"
fn_script_log_pass "Checking for update: mojang.com"

2
lgsm/functions/update_mumble.sh

@ -86,6 +86,8 @@ fn_update_mumble_availablebuild(){
fn_print_fail "Checking for update: GitHub: Not returning version info"
fn_script_log_fatal "Failure! Checking for update: GitHub: Not returning version info"
core_exit.sh
elif [ "${installer}" == "1" ]; then
:
else
fn_print_ok "Checking for update: GitHub"
fn_script_log_pass "Checking for update: GitHub"

6
lgsm/functions/update_steamcmd.sh

@ -26,9 +26,9 @@ fn_update_steamcmd_dl(){
fi
if [ "${engine}" == "goldsource" ]; then
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} +quit | tee -a "${scriptlog}"
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} +quit | tee -a "${scriptlog}"
else
${unbuffer} ./steamcmd.sh +login "${steamuser}" "${steampass}" +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} +quit | tee -a "${scriptlog}"
${unbuffer} ./steamcmd.sh +login "${steamuser}" '${steampass}' +force_install_dir "${filesdir}" +app_update "${appid}" ${branch} +quit | tee -a "${scriptlog}"
fi
fix.sh
@ -156,7 +156,7 @@ fn_update_steamcmd_check(){
fi
# Gets availablebuild info
availablebuild=$(./steamcmd.sh +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +app_info_print "${appid}" +quit | grep -EA 1000 "^\s+\"branches\"$" | grep -EA 5 "^\s+\"${branchname}\"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3)
availablebuild=$(./steamcmd.sh +login "${steamuser}" '${steampass}' +app_info_update 1 +app_info_print "${appid}" +app_info_print "${appid}" +quit | grep -EA 1000 "^\s+\"branches\"$" | grep -EA 5 "^\s+\"${branchname}\"$" | grep -m 1 -EB 10 "^\s+}$" | grep -E "^\s+\"buildid\"\s+" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3)
if [ -z "${availablebuild}" ]; then
fn_print_fail "Checking for update: SteamCMD"
sleep 1

8
lgsm/functions/update_ts3.sh

@ -15,7 +15,7 @@ fn_update_ts3_dl(){
fn_script_log "Copying to ${filesdir}"
cp -R "${tmpdir}/teamspeak3-server_linux_${ts3arch}/"* "${filesdir}"
local exitcode=$?
if [ ${exitcode} -eq 0 ]; then
if [ "${exitcode}" == "0" ]; then
fn_print_ok_eol_nl
else
fn_print_fail_eol_nl
@ -23,8 +23,8 @@ fn_update_ts3_dl(){
}
fn_update_ts3_currentbuild(){
# Gets currentbuild info
# Checks currentbuild info is available, if fails a server restart will be forced to generate logs.
# Gets current build info
# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
if [ -z "$(find ./* -name 'ts3server*_0.log')" ]; then
fn_print_error "Checking for update: teamspeak.com"
sleep 1
@ -113,6 +113,8 @@ fn_update_ts3_availablebuild(){
fn_print_fail "Checking for update: teamspeak.com: Not returning version info"
fn_script_log_fatal "Failure! Checking for update: teamspeak.com: Not returning version info"
core_exit.sh
elif [ "${installer}" == "1" ]; then
:
else
fn_print_ok "Checking for update: teamspeak.com"
fn_script_log_pass "Checking for update: teamspeak.com"

BIN
lgsm/lib/gcc3/libgcc_s.so.1

Binary file not shown.

BIN
lgsm/lib/gcc3/libstdc++.so.5.0.3

Binary file not shown.

BIN
lgsm/lib/ubuntu12.04/amd64/libc.so.6

Binary file not shown.

BIN
lgsm/lib/ubuntu12.04/amd64/libm.so.6

Binary file not shown.

2
tests/tests_jc2server.sh

@ -2,7 +2,7 @@
# Just Cause 2
# Project: Game Server Managers - LinuxGSM
# Author: Daniel Gibbs
# License: MIT License, Copyright (c) 2016 Daniel Gibbs
# License: MIT License, Copyright (c) 2017 Daniel Gibbs
# Purpose: TravisCI Test: Just Cause 2 | Server Management Script
# Contributors: https://github.com/GameServerManagers/LinuxGSM/graphs/contributors
# Documentation: https://github.com/GameServerManagers/LinuxGSM/wiki

Loading…
Cancel
Save