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

Merged release/170219 into master

Daniel Gibbs 9 лет назад
Родитель
Сommit
5cccd70741
100 измененных файлов с 433 добавлено и 231 удалено
  1. 1 1
      7DaysToDie/sdtdserver
  2. 1 1
      ARKSurvivalEvolved/arkserver
  3. 1 1
      Arma3/arma3server
  4. 198 0
      BallisticOverkill/boserver
  5. 1 1
      Battlefield1942/bf1942server
  6. 1 1
      BlackMesa/bmdmserver
  7. 1 1
      BladeSymphony/bsserver
  8. 1 1
      BrainBread2/bb2server
  9. 4 4
      CONTRIBUTING.md
  10. 1 1
      CallOfDuty/codserver
  11. 1 1
      CallOfDuty2/cod2server
  12. 1 1
      CallOfDuty4/cod4server
  13. 1 1
      CallOfDutyUnitedOffensive/coduoserver
  14. 1 1
      CallOfDutyWorldAtWar/codwawserver
  15. 1 1
      CodenameCURE/ccserver
  16. 1 1
      CounterStrike/csserver
  17. 1 1
      CounterStrikeConditionZero/csczserver
  18. 1 1
      CounterStrikeGlobalOffensive/csgoserver
  19. 1 1
      CounterStrikeSource/cssserver
  20. 1 1
      DayOfDefeat/dodserver
  21. 1 1
      DayOfDefeatSource/dodsserver
  22. 1 1
      DayOfInfamy/doiserver
  23. 1 1
      DeathmatchClassic/dmcserver
  24. 1 1
      DontStarveTogether/dstserver
  25. 1 1
      DoubleActionBoogaloo/dabserver
  26. 1 1
      EmpiresMod/emserver
  27. 1 1
      Factorio/fctrserver
  28. 1 1
      FistfulOfFrags/fofserver
  29. 1 1
      GarrysMod/gmodserver
  30. 1 1
      GoldenEyeSource/gesserver
  31. 1 1
      HalfLife2Deathmatch/hl2dmserver
  32. 1 1
      HalfLifeDeathmatch/hldmserver
  33. 1 1
      HalfLifeDeathmatchSource/hldmsserver
  34. 2 2
      Hurtworld/hwserver
  35. 1 1
      Insurgency/insserver
  36. 1 1
      JustCause2/jc2server
  37. 1 1
      KillingFloor/kfserver
  38. 1 1
      Left4Dead/l4dserver
  39. 1 1
      Left4Dead2/l4d2server
  40. 1 1
      Minecraft/mcserver
  41. 1 1
      MultiTheftAuto/mtaserver
  42. 1 1
      Mumble/mumbleserver
  43. 1 1
      NS2Combat/ns2cserver
  44. 1 1
      NaturalSelection2/ns2server
  45. 1 1
      NoMoreRoomInHell/nmrihserver
  46. 1 1
      OpposingForce/opforserver
  47. 1 1
      PiratesVikingandKnightsII/pvkiiserver
  48. 1 1
      ProjectZomboid/pzserver
  49. 1 1
      Quake2/q2server
  50. 1 1
      Quake3/q3server
  51. 2 9
      QuakeLive/qlserver
  52. 1 1
      QuakeWorld/qwserver
  53. 1 1
      RedOrchestra/roserver
  54. 1 1
      Ricochet/ricochetserver
  55. 3 4
      Rust/rustserver
  56. 1 1
      SeriousSam3BFE/ss3sserver
  57. 1 1
      Starbound/sbserver
  58. 1 1
      SvenCoop/svenserver
  59. 1 1
      TeamFortress2/tf2server
  60. 1 1
      TeamFortressClassic/tfcserver
  61. 1 1
      TeamSpeak3/ts3server
  62. 3 3
      Teeworlds/twserver
  63. 1 1
      Terraria/terrariaserver
  64. 2 2
      TowerUnite/tuserver
  65. 1 1
      UnrealTournament/utserver
  66. 1 1
      UnrealTournament2004/ut2k4server
  67. 1 1
      UnrealTournament3/ut3server
  68. 1 1
      UnrealTournament99/ut99server
  69. 1 1
      WolfensteinEnemyTerritory/wetserver
  70. 1 1
      images/logo/README.md
  71. 17 9
      lgsm/functions/alert.sh
  72. 1 1
      lgsm/functions/alert_email.sh
  73. 1 1
      lgsm/functions/alert_pushbullet.sh
  74. 7 4
      lgsm/functions/check.sh
  75. 1 1
      lgsm/functions/check_config.sh
  76. 4 4
      lgsm/functions/check_deps.sh
  77. 4 3
      lgsm/functions/check_executable.sh
  78. 1 1
      lgsm/functions/check_glibc.sh
  79. 1 1
      lgsm/functions/check_ip.sh
  80. 12 3
      lgsm/functions/check_logs.sh
  81. 25 4
      lgsm/functions/check_permissions.sh
  82. 1 1
      lgsm/functions/check_root.sh
  83. 2 2
      lgsm/functions/check_status.sh
  84. 4 4
      lgsm/functions/check_steamcmd.sh
  85. 1 1
      lgsm/functions/check_system_dir.sh
  86. 1 1
      lgsm/functions/check_system_requirements.sh
  87. 3 3
      lgsm/functions/check_tmuxception.sh
  88. 1 1
      lgsm/functions/command_backup.sh
  89. 7 16
      lgsm/functions/command_console.sh
  90. 4 9
      lgsm/functions/command_debug.sh
  91. 21 9
      lgsm/functions/command_details.sh
  92. 1 1
      lgsm/functions/command_dev_debug.sh
  93. 1 1
      lgsm/functions/command_dev_detect_deps.sh
  94. 19 33
      lgsm/functions/command_fastdl.sh
  95. 1 1
      lgsm/functions/command_install.sh
  96. 4 9
      lgsm/functions/command_install_resources_mta.sh
  97. 4 9
      lgsm/functions/command_mods_install.sh
  98. 4 9
      lgsm/functions/command_mods_remove.sh
  99. 1 1
      lgsm/functions/command_mods_update.sh
  100. 2 1
      lgsm/functions/command_monitor.sh

+ 1 - 1
7DaysToDie/sdtdserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
ARKSurvivalEvolved/arkserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Arma3/arma3server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 198 - 0
BallisticOverkill/boserver

@@ -0,0 +1,198 @@
+#!/bin/bash
+# Project: Game Server Managers - LinuxGSM
+# Author: Daniel Gibbs
+# License: MIT License, Copyright (c) 2017 Daniel Gibbs
+# Purpose: Ballistic Overkill | 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="170219"
+
+##########################
+######## Settings ########
+##########################
+
+#### Server Settings ####
+
+## Optional: Game Server Login Token
+# GSLT can be used for running a public server.
+# More info: https://gameservermanagers.com/gslt
+gslt=""
+
+## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
+fn_parms(){
+parms=" -batchmode -nographics -logFile output.txt"
+}
+
+#### LinuxGSM Settings ####
+
+## Notification Alerts
+# (on|off)
+# Email Alerts | https://github.com/GameServerManagers/LinuxGSM/wiki/Email
+emailalert="off"
+email="email@example.com"
+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"
+
+## SteamCMD Settings
+# Server appid
+appid="416880"
+# Steam App Branch Select
+# Allows to opt into the various Steam app branches. Default branch is "".
+# Example: "-beta latest_experimental"
+branch=""
+
+## LinuxGSM Server Details
+# Do not edit
+gamename="Ballistic Overkill"
+engine="unity"
+
+## Service Name | https://github.com/GameServerManagers/LinuxGSM/wiki/Multiple-Servers
+servicename="bo-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}"
+executable="./BODS.x86"
+servercfg="${servicename}.txt"
+servercfgdefault="config.txt"
+servercfgdir="${systemdir}"
+servercfgfullpath="${servercfgdir}/${servercfg}"
+
+
+## Backup Directory
+backupdir="${rootdir}/backups"
+
+## Logging Directorie
+gamelogdir="${systemdir}/logs"
+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

+ 1 - 1
Battlefield1942/bf1942server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
BlackMesa/bmdmserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
BladeSymphony/bsserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
BrainBread2/bb2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 4 - 4
CONTRIBUTING.md

@@ -9,11 +9,11 @@ Before working on a project we recommend that you create a issue in regards to t
 Here are some important resources:
 
   * [Issues Page](https://github.com/GameServerManagers/LinuxGSM/issues) provides a list of areas that could use some work,
-  * [Developing LGSM](https://github.com/GameServerManagers/LinuxGSM/wiki/Developing-LGSM) gives a detailed guide on developing LGSM,
-  * [LGSM Exit Codes](https://github.com/GameServerManagers/LinuxGSM/wiki/LGSM-Exit-Codes) describes and gives an explanation for exit codes,
+  * [Developing LinuxGSM](https://github.com/GameServerManagers/LinuxGSM/wiki/Developing-LGSM) gives a detailed guide on developing LGSM,
+  * [LinuxGSM Exit Codes](https://github.com/GameServerManagers/LinuxGSM/wiki/LGSM-Exit-Codes) describes and gives an explanation for exit codes,
   * [gsquery](https://github.com/GameServerManagers/LinuxGSM/wiki/gsquery.py) describes the uses of the gsquery.py file, and
   * [Branching](https://github.com/GameServerManagers/LinuxGSM/wiki/Branching) is our final guide to submitting changes.
-  
+
 ## Testing
 
 Please make sure all the code you write is working properly **before** you create a pull request. Information on debugging can be found in the following document:
@@ -27,7 +27,7 @@ Please send a [GitHub Pull Request to LinuxGSM](https://github.com/GameServerMan
 Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should look like this:
 
     $ git commit -m "A brief summary of the commit
-    > 
+    >
     > A paragraph describing what changed and its impact."
 This will help us in understanding your code and determining where problems may arise.
 

+ 1 - 1
CallOfDuty/codserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CallOfDuty2/cod2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CallOfDuty4/cod4server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CallOfDutyUnitedOffensive/coduoserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CallOfDutyWorldAtWar/codwawserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CodenameCURE/ccserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CounterStrike/csserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CounterStrikeConditionZero/csczserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CounterStrikeGlobalOffensive/csgoserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
CounterStrikeSource/cssserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
DayOfDefeat/dodserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
DayOfDefeatSource/dodsserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
DayOfInfamy/doiserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
DeathmatchClassic/dmcserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
DontStarveTogether/dstserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
DoubleActionBoogaloo/dabserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
EmpiresMod/emserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Factorio/fctrserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
FistfulOfFrags/fofserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
GarrysMod/gmodserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
GoldenEyeSource/gesserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
HalfLife2Deathmatch/hl2dmserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
HalfLifeDeathmatch/hldmserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
HalfLifeDeathmatchSource/hldmsserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 2 - 2
Hurtworld/hwserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########
@@ -23,7 +23,7 @@ version="170212"
 #### Server Settings ####
 
 ## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
-servername="Hurtworld LGSM Server"
+servername="Hurtworld LinuxGSM Server"
 ip="0.0.0.0"
 port="12871"
 queryport="12881"

+ 1 - 1
Insurgency/insserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
JustCause2/jc2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
KillingFloor/kfserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Left4Dead/l4dserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Left4Dead2/l4d2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Minecraft/mcserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
MultiTheftAuto/mtaserver

@@ -12,7 +12,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Mumble/mumbleserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
NS2Combat/ns2cserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
NaturalSelection2/ns2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
NoMoreRoomInHell/nmrihserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
OpposingForce/opforserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
PiratesVikingandKnightsII/pvkiiserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
ProjectZomboid/pzserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Quake2/q2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Quake3/q3server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 2 - 9
QuakeLive/qlserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########
@@ -24,19 +24,12 @@ version="170212"
 
 ## Server Start Settings | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters
 arch="x64" # x64 or x86
-port="27960"
-rconport="28960"
-rconpassword="CHANGE_ME"
-statsport="${port}"
-statspassword="CHANGE_ME"
-mappool='mappool.txt'
-ip="0.0.0.0"
 
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 # Edit with care | Install/Config Guide : https://steamcommunity.com/sharedfiles/filedetails/?id=542966946
 # Console Commands : http://www.regurge.at/ql/
 fn_parms(){
-parms="+set net_strict 1 +set net_ip ${ip} +set net_port ${port} +set fs_homepath ${filesdir}/${port} +set zmq_rcon_enable 1 +set zmq_rcon_port ${rconport} +set zmq_rcon_password ${rconpassword} +set zmq_stats_enable 1 +set zmq_stats_password ${statspassword} +set zmq_stats_port ${statsport} +set sv_mapPoolFile ${mappool} +exec ${servercfg}"
+parms="+exec ${servercfg}"
 }
 
 #### LinuxGSM Settings ####

+ 1 - 1
QuakeWorld/qwserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
RedOrchestra/roserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Ricochet/ricochetserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 3 - 4
Rust/rustserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########
@@ -39,7 +39,7 @@ tickrate="30" # default 30; range : 15 to 100
 
 ## Server Start Command | https://github.com/GameServerManagers/LinuxGSM/wiki/Start-Parameters#additional-parameters
 fn_parms(){
-parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" ${conditionalseed} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile ${gamelogfile}"
+parms="-batchmode +server.ip ${ip} +server.port ${port} +server.tickrate ${tickrate} +server.hostname \"${servername}\" +server.identity \"${servicename}\" ${conditionalseed} +server.maxplayers ${maxplayers} +server.worldsize ${worldsize} +server.saveinterval ${saveinterval} +rcon.web ${rconweb} +rcon.ip ${ip} +rcon.port ${rconport} +rcon.password \"${rconpassword}\" -logfile \"${gamelogdate}\""
 }
 
 # Specific to Rust
@@ -132,7 +132,6 @@ backupdir="${rootdir}/backups"
 gamelogdir="${rootdir}/log/server"
 scriptlogdir="${rootdir}/log/script"
 consolelogdir="${rootdir}/log/console"
-gamelog="${gamelogdir}/${servicename}-game.log"
 scriptlog="${scriptlogdir}/${servicename}-script.log"
 consolelog="${consolelogdir}/${servicename}-console.log"
 emaillog="${scriptlogdir}/${servicename}-email.log"
@@ -140,7 +139,7 @@ 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"
-gamelogfile="\"gamelog-$(date '+%Y-%m-%d-%H-%M-%S').log\""
+gamelogdate="${gamelogdir}/${servicename}-game-$(date '+%Y-%m-%d-%H:%M:%S').log"
 
 ########################
 ######## Script ########

+ 1 - 1
SeriousSam3BFE/ss3sserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
Starbound/sbserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
SvenCoop/svenserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
TeamFortress2/tf2server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
TeamFortressClassic/tfcserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
TeamSpeak3/ts3server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 3 - 3
Teeworlds/twserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########
@@ -99,8 +99,8 @@ tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 
 ## Server Specific Directories
-systemdir="${filesdir}"
-executabledir="${filesdir}"
+systemdir="${filesdir}/tw"
+executabledir="${systemdir}"
 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"

+ 1 - 1
Terraria/terrariaserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 2 - 2
TowerUnite/tuserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########
@@ -194,4 +194,4 @@ fi
 core_dl.sh
 core_functions.sh
 getopt=$1
-core_getopt.sh
+core_getopt.sh

+ 1 - 1
UnrealTournament/utserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
UnrealTournament2004/ut2k4server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
UnrealTournament3/ut3server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
UnrealTournament99/ut99server

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
WolfensteinEnemyTerritory/wetserver

@@ -14,7 +14,7 @@ if [ -f ".dev-debug" ]; then
 	set -x
 fi
 
-version="170212"
+version="170219"
 
 ##########################
 ######## Settings ########

+ 1 - 1
images/logo/README.md

@@ -1,3 +1,3 @@
-# LGSM - Official Logos
+# LinuxGSM - Official Logos
 For Reference the original design can be found here.
 http://twolofbees.com/artwork.php?iid=870

+ 17 - 9
lgsm/functions/alert.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM alert.sh function
+# LinuxGSM alert.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Overall function for managing alerts.
@@ -9,36 +9,44 @@ local commandaction="Alert"
 
 fn_alert_test(){
 	fn_script_log_info "Sending test alert"
-	alertsubject="LGSM - Test Alert - ${servername}"
-	alertbody="LGSM test alert, how you read?"
+	alertsubject="LinuxGSM - Test Alert - ${servername}"
+	alertbody="LinuxGSM test alert, how you read?"
 }
 
 fn_alert_restart(){
 	fn_script_log_info "Sending restart alert: ${executable} process not running"
-	alertsubject="LGSM - Restarted - ${servername}"
+	alertsubject="LinuxGSM - Restarted - ${servername}"
 	alertbody="${servicename} ${executable} process not running"
 }
 
 fn_alert_restart_query(){
 	fn_script_log_info "Sending restart alert: ${gsquerycmd}"
-	alertsubject="LGSM - Restarted - ${servername}"
+	alertsubject="LinuxGSM - Restarted - ${servername}"
 	alertbody="gsquery.py failed to query: ${gsquerycmd}"
 }
 
 fn_alert_update(){
 	fn_script_log_info "Sending update alert"
-	alertsubject="LGSM - Updated - ${servername}"
+	alertsubject="LinuxGSM - Updated - ${servername}"
 	alertbody="${servicename} received update"
 }
 
-if [ "${alert}" == "restart" ]; then
+fn_alert_permissions(){
+	fn_script_log_info "Sending permissions error alert"
+	alertsubject="LinuxGSM - Error - ${servername}"
+	alertbody="${servicename} has permissions issues."
+}
+
+if [ "${alert}" == "permissions" ]; then
+	fn_alert_permissions
+elif [ "${alert}" == "restart" ]; then
 	fn_alert_restart
 elif [ "${alert}" == "restartquery" ]; then
 	fn_alert_restart_query
-elif [ "${alert}" == "update" ]; then
-	fn_alert_update
 elif [ "${alert}" == "test" ]; then
 	fn_alert_test
+elif [ "${alert}" == "update" ]; then
+	fn_alert_update
 fi
 
 if [ "${emailalert}" == "on" ]&&[ -n "${email}" ]; then

+ 1 - 1
lgsm/functions/alert_email.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM alert_email.sh function
+# LinuxGSM alert_email.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Sends email alert including server details and logs.

+ 1 - 1
lgsm/functions/alert_pushbullet.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM alert_pushbullet.sh function
+# LinuxGSM alert_pushbullet.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Sends Pushbullet alert including the server status.

+ 7 - 4
lgsm/functions/check.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check.sh function
+# LinuxGSM check.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Overall function for managing checks.
@@ -12,9 +12,12 @@ local commandname="CHECK"
 
 check_root.sh
 check_tmuxception.sh
-check_permissions.sh
 
-if [ "${function_selfname}" != "command_install.sh" ]&&[ "${function_selfname}" != "command_update_functions.sh" ]; then
+if [ "${function_selfname}" != "command_monitor.sh" ];then
+	check_permissions.sh
+fi
+
+if [ "${function_selfname}" != "command_install.sh" ]&&[ "${function_selfname}" != "command_update_functions.sh" ]&&[ "${function_selfname}" != "command_details.sh" ]&&[ "${function_selfname}" != "command_postdetails.sh" ]; then
 	check_system_dir.sh
 fi
 
@@ -50,7 +53,7 @@ do
 	fi
 done
 
-local allowed_commands_array=( command_console.sh command_debug.sh command_details.sh command_monitor.sh command_start.sh command_stop.sh )
+local allowed_commands_array=( command_console.sh command_debug.sh command_monitor.sh command_start.sh command_stop.sh )
 for allowed_command in "${allowed_commands_array[@]}"
 do
 	if [ "${allowed_command}" == "${function_selfname}" ]; then

+ 1 - 1
lgsm/functions/check_config.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_config.sh function
+# LinuxGSM check_config.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if the server config is missing and warns the user if needed.

+ 4 - 4
lgsm/functions/check_deps.sh

@@ -1,8 +1,8 @@
 #!/bin/bash
-# LGSM check_deps.sh function
+# LinuxGSM check_deps.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
-# Description: Checks if required dependencies are installed for LGSM.
+# Description: Checks if required dependencies are installed for LinuxGSM.
 
 local commandname="CHECK"
 
@@ -144,7 +144,7 @@ if [ -n "$(command -v dpkg-query)" ]; then
 	# Generate array of missing deps
 	array_deps_missing=()
 
-	# LGSM requirements
+	# LinuxGSM requirements
 	array_deps_required=( curl wget ca-certificates file bsdmainutils util-linux python bzip2 gzip unzip )
 
 	# All servers except ts3 require tmux
@@ -223,7 +223,7 @@ elif [ -n "$(command -v yum)" ]; then
 	# Generate array of missing deps
 	array_deps_missing=()
 
-	# LGSM requirements
+	# LinuxGSM requirements
 	if [ "${distroversion}" == "6" ]; then
 		array_deps_required=( curl wget util-linux-ng python file gzip bzip2 unzip )
 	else

+ 4 - 3
lgsm/functions/check_executable.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_executable.sh function
+# LinuxGSM check_executable.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if executable exists.
@@ -9,9 +9,10 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 # Check if executable exists
 if [ ! -f "${executabledir}/${execname}" ]; then
-	fn_script_log_warn "Expected executable not found: ${executabledir}/${execname}"
+	fn_script_log_warn "Executable was not found: ${executabledir}/${execname}"
 	if [ -d "${scriptlogdir}" ]; then
-		fn_print_fail_nl "Executable ${execname} was not found"
+		fn_print_fail_nl "Executable was not found:"
+		echo " * ${executabledir}/${execname}"
 	fi
 	exitcode="1"
 	core_exit.sh

+ 1 - 1
lgsm/functions/check_glibc.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_glibc.sh function
+# LinuxGSM check_glibc.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if the server has the correct Glibc version or a fix available.

+ 1 - 1
lgsm/functions/check_ip.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_ip.sh function
+# LinuxGSM check_ip.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Automatically identifies the server interface IP.

+ 12 - 3
lgsm/functions/check_logs.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_logs.sh function
+# LinuxGSM check_logs.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if log files exist.
@@ -7,11 +7,20 @@
 local commandname="CHECK"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
-# Create directories for the script and console logs
-if [ ! -d "${scriptlogdir}" ]||[ ! -d "${consolelogdir}" ]&&[ "${gamename}" != "TeamSpeak 3" ]; then
+fn_check_logs(){
 	fn_print_dots "Checking for log files"
 	sleep 0.5
 	fn_print_info_nl "Checking for log files: Creating log files"
 	checklogs=1
 	install_logs.sh
+}
+
+# Create directories for the script and console logs
+if [ ! -d "${scriptlogdir}" ]||[ ! -d "${consolelogdir}" ]&&[ "${gamename}" != "TeamSpeak 3" ]; then
+	fn_check_logs
+fi
+
+# Create gamelogdir if variable exist but dir does not exist
+if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
+	fn_check_logs
 fi

+ 25 - 4
lgsm/functions/check_permissions.sh

@@ -1,12 +1,11 @@
 #!/bin/bash
-# LGSM check_permissions.sh
+# LinuxGSM check_permissions.sh
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
 # Description: Checks ownership & permissions of scripts, files and directories.
 
 local commandname="CHECK"
-local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 fn_check_ownership(){
 	if [ -f "${rootdir}/${selfname}" ]; then
@@ -43,8 +42,12 @@ fn_check_ownership(){
 
 		} | column -s $'\t' -t | tee -a "${scriptlog}"
 		echo ""
-		fn_print_information_nl "For more information, please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-ownership-issues-found"
+		fn_print_information_nl "please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-ownership-issues-found"
 		fn_script_log "For more information, please see https://github.com/GameServerManagers/LinuxGSM/wiki/FAQ#-fail--starting-game-server-ownership-issues-found"
+		if [ "${monitorflag}" == 1 ]; then
+			alert="permissions"
+			alert.sh
+		fi
 		core_exit.sh
 	fi
 }
@@ -60,6 +63,10 @@ fn_check_permissions(){
 				echo -e "File\n"
 				find "${functionsdir}" -type f -not -executable -printf "%p\n"
 			} | column -s $'\t' -t | tee -a "${scriptlog}"
+			if [ "${monitorflag}" == 1 ]; then
+				alert="permissions"
+				alert.sh
+			fi
 			core_exit.sh
 		fi
 	fi
@@ -78,6 +85,10 @@ fn_check_permissions(){
 			fn_script_log_info "The following directory does not have the correct permissions:"
 			fn_script_log_info "${rootdir}"
 			ls -l "${rootdir}"
+			if [ "${monitorflag}" == 1 ]; then
+				alert="permissions"
+				alert.sh
+			fi
 			core_exit.sh
 		fi
 	fi
@@ -118,6 +129,10 @@ fn_check_permissions(){
 					ls -l "${executabledir}/${execname}"
 					fn_script_log_warn "The following file could not be set executable:"
 					fn_script_log_info "${executabledir}/${execname}"
+					if [ "${monitorflag}" == 1 ]; then
+						alert="permissions"
+						alert.sh
+					fi
 					core_exit.sh
 					fi
 				fi
@@ -157,6 +172,10 @@ fn_sys_perm_fix_manually_msg(){
 	echo "	  chmod a+rx /sys /sys/class /sys/class/net"
 	fn_script_log "chmod a+rx /sys /sys/class /sys/class/net"
 	sleep 1
+	if [ "${monitorflag}" == 1 ]; then
+		alert="permissions"
+		alert.sh
+	fi
 	core_exit.sh
 }
 
@@ -213,4 +232,6 @@ fn_sys_perm_error_process(){
 ## Run checks
 fn_check_ownership
 fn_check_permissions
-fn_sys_perm_error_process
+if [ "${function_selfname}" == "command_start.sh" ]; then
+	fn_sys_perm_error_process
+fi

+ 1 - 1
lgsm/functions/check_root.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_root.sh function
+# LinuxGSM check_root.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if the user tried to run the script as root.

+ 2 - 2
lgsm/functions/check_status.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_status.sh function
+# LinuxGSM check_status.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
@@ -19,7 +19,7 @@ if [ "${gamename}" == "TeamSpeak 3" ]; then
 		ts3error="${status}"
 		status=0
 	fi
-	
+
 elif [ "${gamename}" == "Mumble" ]; then
 	# Get config info
 	info_config.sh

+ 4 - 4
lgsm/functions/check_steamcmd.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_steamcmd.sh function
+# LinuxGSM check_steamcmd.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if SteamCMD is installed correctly.
@@ -18,17 +18,17 @@ fn_install_steamcmd(){
 fn_check_steamcmd_user(){
 	# Checks if steamuser is setup.
 	if [ "${steamuser}" == "username" ]; then
-		fn_print_fail_nl "Steam login not set. Update steamuser in ${selfname}."
+		fn_print_fail_nl "Steam login not set. Update steamuser in ${selfname}"
 		echo "	* Change steamuser=\"username\" to a valid steam login."
 		if [ -d "${scriptlogdir}" ]; then
-			fn_script_log_fatal "Steam login not set. Update steamuser in ${selfname}."
+			fn_script_log_fatal "Steam login not set. Update steamuser in ${selfname}"
 		fi
 		core_exit.sh
 	fi
 	# Anonymous user is set if steamuser is missing
 	if [ -z "${steamuser}" ]; then
 		if [ -d "${scriptlogdir}" ]; then
-			fn_script_log_info "Using anonymous Steam login."
+			fn_script_log_info "Using anonymous Steam login"
 		fi
 		steamuser="anonymous"
 		steampass=''

+ 1 - 1
lgsm/functions/check_system_dir.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_system_dir.sh function
+# LinuxGSM check_system_dir.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Checks if systemdir is accessible.

+ 1 - 1
lgsm/functions/check_system_requirements.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM check_system_requirements.sh
+# LinuxGSM check_system_requirements.sh
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com

+ 3 - 3
lgsm/functions/check_tmuxception.sh

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

+ 1 - 1
lgsm/functions/command_backup.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_backup.sh function
+# LinuxGSM command_backup.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com

+ 7 - 16
lgsm/functions/command_console.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_console.sh function
+# LinuxGSM command_console.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Gives access to the server tmux console.
@@ -13,13 +13,9 @@ fn_print_header
 fn_print_information_nl "Press \"CTRL+b\" then \"d\" to exit console."
 fn_print_warning_nl "Do NOT press CTRL+c to exit."
 echo ""
-while true; do
-	read -e -i "y" -p "Continue? [Y/n]" yn
-	case $yn in
-	[Yy]* ) break;;
-	[Nn]* ) echo Exiting; return;;
-	* ) echo "Please answer yes or no.";;
-esac
+if ! fn_prompt_yn "Continue?" Y; then
+	echo Exiting; return
+fi
 done
 fn_print_dots "Accessing console"
 sleep 1
@@ -35,14 +31,9 @@ else
 	fn_print_error_nl "Server not running"
 	fn_script_log_error "Failed to access: Server not running"
 	sleep 1
-	while true; do
-		read -e -i "y" -p  "Do you want to start the server? [Y/n]" yn
-		case $yn in
-		[Yy]* ) exitbypass=1; command_start.sh; break;;
-		[Nn]* ) break;;
-		* ) echo "Please answer yes or no.";;
-	esac
-	done
+	if fn_prompt_yn "Do you want to start the server?" Y; then
+		exitbypass=1; command_start.sh
+	fi
 fi
 
 core_exit.sh

+ 4 - 9
lgsm/functions/command_debug.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_debug.sh function
+# LinuxGSM command_debug.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Runs the server without tmux and directly from the terminal.
@@ -68,14 +68,9 @@ echo -e "Use for identifying server issues only!"
 echo -e "Press CTRL+c to drop out of debug mode."
 fn_print_warning_nl "If ${servicename} is already running it will be stopped."
 echo ""
-while true; do
-	read -e -i "y" -p "Continue? [Y/n]" yn
-	case $yn in
-	[Yy]* ) break;;
-	[Nn]* ) echo Exiting; return;;
-	* ) echo "Please answer yes or no.";;
-esac
-done
+if ! fn_prompt_yn "Continue?" Y; then
+	echo Exiting; return
+fi
 
 fn_print_info_nl "Stopping any running servers"
 fn_script_log_info "Stopping any running servers"

+ 21 - 9
lgsm/functions/command_details.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_details.sh function
+# LinuxGSM command_details.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
@@ -70,7 +70,7 @@ fn_details_disk(){
 	# Total:        15G
 	# Used:         8.4G
 	# Available:    5.7G
-	# LGSM Total:	1G
+	# LinuxGSM Total:	1G
 	# Serverfiles:  961M
 	# Backups:  	2G
 
@@ -82,7 +82,7 @@ fn_details_disk(){
 		echo -e "${blue}Total:\t${default}${totalspace}"
 		echo -e "${blue}Used:\t${default}${usedspace}"
 		echo -e "${blue}Available:\t${default}${availspace}"
-		echo -e "${blue}LGSM Total:\t${default}${rootdirdu}"
+		echo -e "${blue}LinuxGSM Total:\t${default}${rootdirdu}"
 		echo -e "${blue}Serverfiles:\t${default}${filesdirdu}"
 		if [ -d "${backupdir}" ]; then
 			echo -e "${blue}Backups:\t${default}${backupdirdu}"
@@ -315,7 +315,7 @@ fn_details_ports(){
 
 	parmslocation="${red}UNKNOWN${default}"
 	# engines/games that require editing in the config file
-	local ports_edit_array=( "avalanche" "dontstarve" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "seriousengine35" "teeworlds" "terraria" "unreal" "unreal2" "unreal3" "TeamSpeak 3" "Mumble" "7 Days To Die" )
+	local ports_edit_array=( "avalanche" "Ballistic Overkill" "dontstarve" "idtech2" "idtech3" "idtech3_ql" "lwjgl2" "projectzomboid" "quake" "refractor" "realvirtuality" "renderware" "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
@@ -355,7 +355,7 @@ fn_details_ark(){
 		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
 		echo -e "> Game\tINBOUND\t${port}\tudp"
 		# Don't do arithmetics if ever the port wasn't a numeric value
-		if [ "${port}" -eq "${port}" ]; then 
+		if [ "${port}" -eq "${port}" ]; then
 			echo -e "> RAW\tINBOUND\t$((port+1))\tudp"
 		fi
 		echo -e "> Query\tINBOUND\t${queryport}\tudp"
@@ -363,6 +363,16 @@ fn_details_ark(){
 	} | column -s $'\t' -t
 }
 
+fn_details_ballisticoverkill(){
+	echo -e "netstat -atunp | grep BODS.x86"
+	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_avalanche(){
 	echo -e "netstat -atunp | grep Jcmp-Server"
 	echo -e ""
@@ -539,7 +549,7 @@ fn_details_realvirtuality(){
 		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
 		echo -e "> Game\tINBOUND\t${port}\tudp"
 		# Don't do arithmetics if ever the port wasn't a numeric value
-		if [ "${port}" -eq "${port}" ]; then 
+		if [ "${port}" -eq "${port}" ]; then
 			echo -e "> Steam: Query\tINBOUND\t$((port+1))\tudp"
 			echo -e "> Steam: Master traffic\tINBOUND\t$((port+2))\tudp"
 			echo -e "> Undocumented Port\tINBOUND\t$((port+3))\tudp"
@@ -682,7 +692,7 @@ fn_details_towerunite(){
 		echo -e "DESCRIPTION\tDIRECTION\tPORT\tPROTOCOL"
 		echo -e "> Game\tINBOUND\t${port}\ttcp"
 		# Don't do arithmetics if ever the port wasn't a numeric value
-		if [ "${port}" -eq "${port}" ]; then 
+		if [ "${port}" -eq "${port}" ]; then
 			echo -e "> Steam\tINBOUND\t$((port+1))\tudp"
 		fi
 		echo -e "> Query\tINBOUND\t${queryport}\tudp"
@@ -814,6 +824,8 @@ fn_display_details() {
 		fn_details_sdtd
 	elif [ "${gamename}" == "ARK: Survival Evolved" ]; then
 		fn_details_ark
+	elif [ "${gamename}" == "Ballistic Overkill" ]; then
+		fn_details_ballisticoverkill
 	elif [ "${gamename}" == "Call of Duty" ]; then
 		fn_details_cod
 	elif [ "${gamename}" == "Call of Duty: United Offensive" ]; then
@@ -825,7 +837,7 @@ fn_display_details() {
 	elif [ "${gamename}" == "Call of Duty: World at War" ]; then
 		fn_details_codwaw
 	elif [ "${gamename}" == "Factorio" ]; then
-		fn_details_factorio    
+		fn_details_factorio
 	elif [ "${gamename}" == "Hurtworld" ]; then
 		fn_details_hurtworld
 	elif [ "${gamename}" == "QuakeWorld" ]; then
@@ -841,7 +853,7 @@ fn_display_details() {
 	elif [ "${gamename}" == "Tower Unite" ]; then
 		fn_details_towerunite
 	elif [ "${gamename}" == "Multi Theft Auto" ]; then
-		fn_details_mta    
+		fn_details_mta
 	elif [ "${gamename}" == "Mumble" ]; then
 		fn_details_mumble
 	elif [ "${gamename}" == "Rust" ]; then

+ 1 - 1
lgsm/functions/command_dev_debug.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_dev_debug.sh function
+# LinuxGSM command_dev_debug.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Dev only: Enables debugging log to be saved to dev-debug.log.

+ 1 - 1
lgsm/functions/command_dev_detect_deps.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_dev_detect_deps.sh function
+# LinuxGSM command_dev_detect_deps.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Detects dependencies the server binary requires.

+ 19 - 33
lgsm/functions/command_fastdl.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_fastdl.sh function
+# LinuxGSM command_fastdl.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
@@ -42,14 +42,9 @@ fn_fastdl_init(){
 	sleep 1
 	echo -en "\n"
 	fn_script_log "Started FastDL creation"
-	while true; do
-		read -e -i "y" -p "Continue? [Y/n]" yn
-		case $yn in
-		[Yy]* ) break;;
-		[Nn]* ) exit;;
-		* ) echo "Please answer yes or no.";;
-		esac
-	done
+	if ! fn_prompt_yn "Continue?" Y; then
+		exit
+	fi
 	fn_script_log "Initiating FastDL creation"
 
 	# Check and create directories
@@ -91,27 +86,21 @@ fn_fastdl_config(){
 	# Prompt for clearing old files if directory was already here
 	if [ -n "${newfastdl}" ] && [ "${newfastdl}" == "0" ]; then
 		fn_print_dots
-		while true; do
-			read -e -i "y" -p "Clear old FastDL files? [Y/n]" yn
-			case $yn in
-			[Yy]* ) clearoldfastdl="on"; fn_script_log "clearoldfastdl enabled"; fn_print_ok "Clearing Enabled"; break;;
-			[Nn]* ) clearoldfastdl="off"; fn_script_log "clearoldfastdl disabled"; fn_print_ok "Clearing Disabled"; break;;
-			* ) echo "Please answer yes or no.";;
-			esac
-		done
+		if fn_prompt_yn "Clear old FastDL files?" Y; then
+			clearoldfastdl="on"; fn_script_log "clearoldfastdl enabled"; fn_print_ok "Clearing Enabled"
+		else
+			clearoldfastdl="off"; fn_script_log "clearoldfastdl disabled"; fn_print_ok "Clearing Disabled"
+		fi
 		echo -en "\n"
 	fi
 	# Prompt for using bzip2 if it's installed
 	if [ ${bzip2installed} == 1 ]; then
 		fn_print_dots
-		while true; do
-			read -e -i "y" -p "Enable file compression using bzip2? [Y/n]" yn
-			case $yn in
-			[Yy]* ) bzip2enable="on"; fn_script_log "bzip2 enabled"; fn_print_ok "bzip2 Enabled"; break;;
-			[Nn]* ) bzip2enable="off"; fn_script_log "bzip2 disabled"; fn_print_ok "bzip2 Disabled"; break;;
-			* ) echo "Please answer yes or no.";;
-			esac
-		done
+		if fn_prompt_yn "Enable file compression using bzip2?" Y; then
+			bzip2enable="on"; fn_script_log "bzip2 enabled"; fn_print_ok "bzip2 Enabled"
+		else
+			bzip2enable="off"; fn_script_log "bzip2 disabled"; fn_print_ok "bzip2 Disabled"
+		fi
 		echo -en "\n"
 	fi
 }
@@ -119,14 +108,11 @@ fn_fastdl_config(){
 fn_fastdl_gmod_config(){
 	# Prompt for download enforcer, that is using a .lua addfile resource generator
 	fn_print_dots
-	while true; do
-		read -e -i "y" -p "Use client download enforcer? [Y/n]" yn
-		case $yn in
-		[Yy]* ) luaressource="on"; fn_script_log "DL enforcer Enabled"; fn_print_ok "Enforcer Enabled"; break;;
-		[Nn]* ) luaressource="off"; fn_script_log "DL enforcer Disabled"; fn_print_ok "Enforcer Disabled"; break;;
-		* ) echo "Please answer yes or no.";;
-		esac
-	done
+	if fn_prompt_yn "Use client download enforcer?" Y; then
+		luaressource="on"; fn_script_log "DL enforcer Enabled"; fn_print_ok "Enforcer Enabled"
+	else
+		luaressource="off"; fn_script_log "DL enforcer Disabled"; fn_print_ok "Enforcer Disabled"
+	fi
 	echo -en "\n"
 }
 

+ 1 - 1
lgsm/functions/command_install.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_install.sh function
+# LinuxGSM command_install.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com

+ 4 - 9
lgsm/functions/command_install_resources_mta.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_install_resources_mta.sh function
+# LinuxGSM command_install_resources_mta.sh function
 # Author: Daniel Gibbs
 # Website: https://gameservermanagers.com
 # Description: Installs the default resources for Multi Theft Auto.
@@ -21,11 +21,6 @@ fn_install_resources(){
 fn_print_header
 
 fn_print_warning_nl "Installing the default resources with existing resources may cause issues."
-while true; do
-	read -e -i "y" -p "Do you want to install MTA default resources? [Y/n]" yn
-	case $yn in
-	[Yy]* ) fn_install_resources && break;;
-	[Nn]* ) break;;
-	* ) echo "Please answer yes or no.";;
-	esac
-done
+if fn_prompt_yn "Do you want to install MTA default resources?" Y; then
+	fn_install_resources
+fi

+ 4 - 9
lgsm/functions/command_mods_install.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_mods_install.sh function
+# LinuxGSM command_mods_install.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
@@ -87,14 +87,9 @@ if [ -f "${modsinstalledlistfullpath}" ]; then
 		fn_script_log_warn "${modprettyname} is already installed"
 		sleep 1
 		echo " * Any configs may be overwritten."
-		while true; do
-			read -e -i "y" -p "Continue? [Y/n]" yn
-			case $yn in
-			[Yy]* ) break;;
-			[Nn]* ) echo Exiting; core_exit.sh;;
-			* ) echo "Please answer yes or no.";;
-			esac
-		done
+		if ! fn_prompt_yn "Continue?" Y; then
+			echo Exiting; core_exit.sh
+		fi
 		fn_script_log_info "User selected to continue"
 	fi
 fi

+ 4 - 9
lgsm/functions/command_mods_remove.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_mods_uninstall.sh function
+# LinuxGSM command_mods_uninstall.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
@@ -45,14 +45,9 @@ done
 
 fn_print_warning_nl "You are about to remove ${cyan}${usermodselect}${default}."
 echo " * Any custom files/configuration will be removed."
-while true; do
-	read -e -i "y" -p "Continue? [Y/n]" yn
-	case $yn in
-	[Yy]* ) break;;
-	[Nn]* ) echo Exiting; exit;;
-	* ) echo "Please answer yes or no.";;
-esac
-done
+if ! fn_prompt_yn "Continue?" Y; then
+	echo Exiting; exit
+fi
 
 currentmod="${usermodselect}"
 fn_mod_get_info

+ 1 - 1
lgsm/functions/command_mods_update.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_mods_update.sh function
+# LinuxGSM command_mods_update.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com

+ 2 - 1
lgsm/functions/command_monitor.sh

@@ -1,5 +1,5 @@
 #!/bin/bash
-# LGSM command_monitor.sh function
+# LinuxGSM command_monitor.sh function
 # Author: Daniel Gibbs
 # Contributor: UltimateByte
 # Website: https://gameservermanagers.com
@@ -98,6 +98,7 @@ fn_monitor_tmux(){
 	fi
 }
 
+monitorflag=1
 fn_print_dots "${servername}"
 sleep 1
 check.sh

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