Explorar o código

renamed filesdir to serverfiles

makign it easier to understand by changing the var to serverfiles (the actual name of the directory
Daniel Gibbs %!s(int64=9) %!d(string=hai) anos
pai
achega
6fbd530633
Modificáronse 36 ficheiros con 246 adicións e 252 borrados
  1. 1 1
      README.md
  2. 1 1
      lgsm/config-default/config-lgsm/arkserver/_default.cfg
  3. 2 2
      lgsm/config-default/config-lgsm/arma3server/_default.cfg
  4. 2 2
      lgsm/config-default/config-lgsm/csgoserver/_default.cfg
  5. 3 3
      lgsm/config-default/config-lgsm/sdtdserver/_default.cfg
  6. 3 3
      lgsm/functions/check_permissions.sh
  7. 7 7
      lgsm/functions/command_dev_detect_glibc.sh
  8. 7 7
      lgsm/functions/command_dev_detect_ldd.sh
  9. 2 2
      lgsm/functions/command_stop.sh
  10. 2 2
      lgsm/functions/command_validate.sh
  11. 3 3
      lgsm/functions/compress_unreal2_maps.sh
  12. 3 3
      lgsm/functions/compress_ut99_maps.sh
  13. 129 132
      lgsm/functions/core_dl.sh
  14. 2 2
      lgsm/functions/fix_csgo.sh
  15. 2 2
      lgsm/functions/fix_dst.sh
  16. 1 1
      lgsm/functions/fix_ins.sh
  17. 2 2
      lgsm/functions/fix_kf.sh
  18. 2 2
      lgsm/functions/fix_ro.sh
  19. 6 6
      lgsm/functions/fix_steamcmd.sh
  20. 2 2
      lgsm/functions/fix_ut2k4.sh
  21. 2 2
      lgsm/functions/info_distro.sh
  22. 1 1
      lgsm/functions/install_factorio_save.sh
  23. 2 2
      lgsm/functions/install_minecraft_eula.sh
  24. 3 3
      lgsm/functions/install_server_dir.sh
  25. 11 11
      lgsm/functions/install_server_files.sh
  26. 1 1
      lgsm/functions/install_ts3db.sh
  27. 2 2
      lgsm/functions/install_unreal_tournament_eula.sh
  28. 3 3
      lgsm/functions/update_factorio.sh
  29. 5 5
      lgsm/functions/update_minecraft.sh
  30. 3 3
      lgsm/functions/update_mta.sh
  31. 3 3
      lgsm/functions/update_mumble.sh
  32. 4 4
      lgsm/functions/update_steamcmd.sh
  33. 3 3
      lgsm/functions/update_ts3.sh
  34. 11 14
      linuxgsm.sh
  35. 6 6
      tests/tests_jc2server.sh
  36. 4 4
      tests/tests_ts3server.sh

+ 1 - 1
README.md

@@ -47,7 +47,7 @@ If you want to donate to the project you can via PayPal. I have had a may kind p
 	<li><a href="https://github.com/GameServerManagers/LinuxGSM/wiki">Wiki</a></li>
 	<li><a href="https://github.com/GameServerManagers/LinuxGSM">GitHub Code</a></li>
 	<li><a href="https://github.com/GameServerManagers/LinuxGSM/issues">GitHub Issues</a></li>
-	<li><a href="https://waffle.io/GameServerManagers/LinuxGSM">Waffle (Github Dashboard)</a></li>
+	<li><a href="https://waffle.io/GameServerManagers/LinuxGSM">Waffle (GitHub Dashboard)</a></li>
 	<li><a href="http://alternativeto.net/software/linux-game-server-managers/">alternativeTo.net</a></li>
 </ul>
 <h2>Social</h2>

+ 1 - 1
lgsm/config-default/config-lgsm/arkserver/_default.cfg

@@ -65,7 +65,7 @@ engine="unreal4"
 # Edit with care
 
 ## Server Specific Directories
-systemdir="${filesdir}/ShooterGame"
+systemdir="${serverfiles}/ShooterGame"
 executabledir="${systemdir}/Binaries/Linux"
 executable="./ShooterGameServer"
 servercfgdir="${systemdir}/Saved/Config/LinuxServer"

+ 2 - 2
lgsm/config-default/config-lgsm/arma3server/_default.cfg

@@ -73,8 +73,8 @@ engine="realvirtuality"
 # Edit with care
 
 ## Server Specific Directories
-systemdir="${filesdir}"
-executabledir="${filesdir}"
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
 executable="./arma3server"
 servercfg="${servicename}.server.cfg"
 networkcfg="${servicename}.network.cfg"

+ 2 - 2
lgsm/config-default/config-lgsm/csgoserver/_default.cfg

@@ -89,8 +89,8 @@ engine="source"
 # Edit with care
 
 ## Server Specific Directories
-systemdir="${filesdir}/csgo"
-executabledir="${filesdir}"
+systemdir="${serverfiles}/csgo"
+executabledir="${serverfiles}"
 executable="./srcds_run"
 servercfg="${servicename}.cfg"
 servercfgdefault="server.cfg"

+ 3 - 3
lgsm/config-default/config-lgsm/sdtdserver/_default.cfg

@@ -65,12 +65,12 @@ engine="unity3d"
 # Edit with care
 
 ## Server Specific Directories
-systemdir="${filesdir}"
-executabledir="${filesdir}"
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
 executable="./7DaysToDieServer.x86"
 servercfg="${servicename}.xml"
 servercfgdefault="serverconfig.xml"
-servercfgdir="${filesdir}"
+servercfgdir="${serverfiles}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory

+ 3 - 3
lgsm/functions/check_permissions.sh

@@ -18,8 +18,8 @@ fn_check_ownership(){
 			funcownissue=1
 		fi
 	fi
-	if [ -d "${filesdir}" ]; then
-		if [ $(find "${filesdir}" -not -user $(whoami)|wc -l) -ne "0" ]; then
+	if [ -d "${serverfiles}" ]; then
+		if [ $(find "${serverfiles}" -not -user $(whoami)|wc -l) -ne "0" ]; then
 			filesownissue=1
 		fi
 	fi
@@ -37,7 +37,7 @@ fn_check_ownership(){
 				find "${functionsdir}" -not -user $(whoami) -printf "%u\t\t%g\t%p\n"
 			fi
 			if [ "${filesownissue}" == "1"  ]; then
-				find "${filesdir}" -not -user $(whoami) -printf "%u\t\t%g\t%p\n"
+				find "${serverfiles}" -not -user $(whoami) -printf "%u\t\t%g\t%p\n"
 			fi
 
 		} | column -s $'\t' -t | tee -a "${scriptlog}"

+ 7 - 7
lgsm/functions/command_dev_detect_glibc.sh

@@ -15,21 +15,21 @@ if [ -z "$(command -v objdump)" ]; then
 	core_exit.sh
 fi
 
-if [ -z "${filesdir}" ]; then
+if [ -z "${serverfiles}" ]; then
 	dir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
 fi
 
-if [ -d "${filesdir}" ]; then
+if [ -d "${serverfiles}" ]; then
 	echo "Checking directory: "
-	echo "${filesdir}"
-elif [ -f "${filesdir}" ]; then
+	echo "${serverfiles}"
+elif [ -f "${serverfiles}" ]; then
 	echo "Checking file: "
-	echo "${filesdir}"
+	echo "${serverfiles}"
 fi
 echo ""
 
-files=$(find ${filesdir} | wc -l)
-find ${filesdir} -type f -print0 |
+files=$(find ${serverfiles} | wc -l)
+find ${serverfiles} -type f -print0 |
 while IFS= read -r -d $'\0' line; do
 	objdump -T $line 2>/dev/null|grep -oP "GLIBC[^ ]+" >>"${tmpdir}/detect_glibc.tmp"
 	echo -n "$i / $files" $'\r'

+ 7 - 7
lgsm/functions/command_dev_detect_ldd.sh

@@ -9,21 +9,21 @@ echo "================================="
 echo "Shared Object dependencies Checker"
 echo "================================="
 
-if [ -z "${filesdir}" ]; then
+if [ -z "${serverfiles}" ]; then
 	dir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
 fi
 
-if [ -d "${filesdir}" ]; then
+if [ -d "${serverfiles}" ]; then
 	echo "Checking directory: "
-	echo "${filesdir}"
-elif [ -f "${filesdir}" ]; then
+	echo "${serverfiles}"
+elif [ -f "${serverfiles}" ]; then
 	echo "Checking file: "
-	echo "${filesdir}"
+	echo "${serverfiles}"
 fi
 echo ""
 
-files=$(find "${filesdir}" | wc -l)
-find "${filesdir}" -type f -print0 |
+files=$(find "${serverfiles}" | wc -l)
+find "${serverfiles}" -type f -print0 |
 while IFS= read -r -d $'\0' line; do
 	#ldd -v $line 2>/dev/null|grep "=>" >>"${tmpdir}/detect_ldd.tmp"
 	if [ -n "$(ldd $line 2>/dev/null |grep -v "not a dynamic executable")" ]; then

+ 2 - 2
lgsm/functions/command_stop.sh

@@ -252,7 +252,7 @@ fn_stop_ark(){
 	if [ -z "${queryport}" ]; then
 		fn_print_warn "No queryport found using info_config.sh"
 		fn_script_log_warn "No queryport found using info_config.sh"
-		userconfigfile="${filesdir}"
+		userconfigfile="${serverfiles}"
 		userconfigfile+="/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini"
 		queryport=$(grep ^QueryPort= ${userconfigfile} | cut -d= -f2 | sed "s/[^[:digit:].*].*//g")
 	fi
@@ -291,7 +291,7 @@ fn_stop_ark(){
 fn_stop_teamspeak3(){
 	fn_print_dots "${servername}"
 	sleep 0.5
-	"${filesdir}"/ts3server_startscript.sh stop > /dev/null 2>&1
+	"${serverfiles}"/ts3server_startscript.sh stop > /dev/null 2>&1
 	check_status.sh
 	if [ "${status}" == "0" ]; then
 		# Remove lockfile

+ 2 - 2
lgsm/functions/command_validate.sh

@@ -27,9 +27,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 "${serverfiles}" +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 "${serverfiles}" +app_update "${appid}" ${branch} validate +quit| tee -a "${scriptlog}"
 	fi
 	if [ $? != 0 ]; then
 		fn_print_fail_nl "Validating files: SteamCMD"

+ 3 - 3
lgsm/functions/compress_unreal2_maps.sh

@@ -21,10 +21,10 @@ if ! fn_prompt_yn "Start compression?" Y; then
 	echo Exiting; return
 fi
 mkdir -pv "${compressedmapsdir}" > /dev/null 2>&1
-rm -rfv "${filesdir}/Maps/"*.ut2.uz2
+rm -rfv "${serverfiles}/Maps/"*.ut2.uz2
 cd "${systemdir}"
-for map in "${filesdir}/Maps/"*; do
+for map in "${serverfiles}/Maps/"*; do
 	./ucc-bin compress "${map}" --nohomedir
 done
-mv -fv "${filesdir}/Maps/"*.ut2.uz2 "${compressedmapsdir}"
+mv -fv "${serverfiles}/Maps/"*.ut2.uz2 "${compressedmapsdir}"
 core_exit.sh

+ 3 - 3
lgsm/functions/compress_ut99_maps.sh

@@ -21,10 +21,10 @@ if ! fn_prompt_yn "Start compression?" Y; then
 	echo Exiting; return
 fi
 mkdir -pv "${compressedmapsdir}" > /dev/null 2>&1
-rm -rfv "${filesdir}/Maps/"*.unr.uz
+rm -rfv "${serverfiles}/Maps/"*.unr.uz
 cd "${systemdir}"
-for map in "${filesdir}/Maps/"*; do
+for map in "${serverfiles}/Maps/"*; do
 	./ucc-bin compress "${map}" --nohomedir
 done
-mv -fv "${filesdir}/Maps/"*.unr.uz "${compressedmapsdir}"
+mv -fv "${serverfiles}/Maps/"*.unr.uz "${compressedmapsdir}"
 core_exit.sh

+ 129 - 132
lgsm/functions/core_dl.sh

@@ -5,17 +5,17 @@
 # Website: https://gameservermanagers.com
 # Description: Deals with all downloads for LinuxGSM.
 
-# fileurl: The URL of the file: http://example.com/dl/File.tar.bz2
-# filedir: location the file is to be saved: /home/server/lgsm/tmp
-# filename: name of file (this can be different from the url name): file.tar.bz2
-# executecmd: Optional, set to "executecmd" to make file executable using chmod +x
-# run: Optional, set to run to execute the file
-# force: Optional, force re-download of file even if exists
-# md5: Optional, Checks file against an md5 sum
+# remote_fileurl: The URL of the file: http://example.com/dl/File.tar.bz2
+# local_filedir: location the file is to be saved: /home/server/lgsm/tmp
+# local_filename: name of file (this can be different from the url name): file.tar.bz2
+# chmodx: Optional, set to "chmodx" to make file executable using chmod +x
+# run: Optional, set run to execute the file after download
+# forcedl: Optional, force re-download of file even if exists
+# md5: Optional, set an md5 sum and will compare it against the file.
 #
 # Downloads can be defined in code like so:
-# fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
-# fn_fetch_file "http://example.com/file.tar.bz2" "/some/dir" "file.tar.bz2" "executecmd" "run" "force" "10cd7353aa9d758a075c600a6dd193fd"
+# fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
+# fn_fetch_file "http://example.com/file.tar.bz2" "/some/dir" "file.tar.bz2" "chmodx" "run" "forcedl" "10cd7353aa9d758a075c600a6dd193fd"
 
 local commandname="DOWNLOAD"
 local commandaction="Download"
@@ -24,50 +24,50 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 fn_dl_md5(){
 	# Runs MD5 Check if available
 	if [ "${md5}" != "0" ]&&[ "${md5}" != "nomd5" ]; then
-		echo -ne "verifying ${filename} with MD5..."
+		echo -ne "verifying ${local_filename} with MD5..."
 		sleep 1
-		local md5sumcmd=$(md5sum "${filedir}/${filename}"|awk '{print $1;}')
+		local md5sumcmd=$(md5sum "${local_filedir}/${local_filename}"|awk '{print $1;}')
 		if [ "${md5sumcmd}" != "${md5}" ]; then
 			fn_print_fail_eol_nl
-			echo "${filename} returned MD5 checksum: ${md5sumcmd}"
+			echo "${local_filename} returned MD5 checksum: ${md5sumcmd}"
 			echo "expected MD5 checksum: ${md5}"
-			fn_script_log_fatal "Verifying ${filename} with MD5: FAIL"
-			fn_script_log_info "${filename} returned MD5 checksum: ${md5sumcmd}"
+			fn_script_log_fatal "Verifying ${local_filename} with MD5: FAIL"
+			fn_script_log_info "${local_filename} returned MD5 checksum: ${md5sumcmd}"
 			fn_script_log_info "Expected MD5 checksum: ${md5}"
 			core_exit.sh
 		else
 			fn_print_ok_eol_nl
-			fn_script_log_pass "Verifying ${filename} with MD5: OK"
-			fn_script_log_info "${filename} returned MD5 checksum: ${md5sumcmd}"
+			fn_script_log_pass "Verifying ${local_filename} with MD5: OK"
+			fn_script_log_info "${local_filename} returned MD5 checksum: ${md5sumcmd}"
 			fn_script_log_info "Expected MD5 checksum: ${md5}"
 		fi
 	fi
 }
 
-# Extracts bzip2 or gzip or zip files
+# Extracts bzip2, gzip or zip files
 # Extracts can be defined in code like so:
-# fn_dl_extract "${filedir}" "${filename}" "${extractdir}"
+# fn_dl_extract "${local_filedir}" "${local_filename}" "${extractdir}"
 # fn_dl_extract "/home/gameserver/lgsm/tmp" "file.tar.bz2" "/home/gamserver/serverfiles"
 fn_dl_extract(){
-	filedir="${1}"
-	filename="${2}"
+	local_filedir="${1}"
+	local_filename="${2}"
 	extractdir="${3}"
 	# extracts archives
-	echo -ne "extracting ${filename}..."
-	mime=$(file -b --mime-type "${filedir}/${filename}")
+	echo -ne "extracting ${local_filename}..."
+	mime=$(file -b --mime-type "${local_filedir}/${local_filename}")
 
 	if [ "${mime}" == "application/gzip" ]||[ "${mime}" == "application/x-gzip" ]; then
-		tarcmd=$(tar -zxf "${filedir}/${filename}" -C "${extractdir}")
+		extractcmd=$(tar -zxf "${local_filedir}/${local_filename}" -C "${extractdir}")
 	elif [ "${mime}" == "application/x-bzip2" ]; then
-		tarcmd=$(tar -jxf "${filedir}/${filename}" -C "${extractdir}")
+		extractcmd=$(tar -jxf "${local_filedir}/${local_filename}" -C "${extractdir}")
 	elif [ "${mime}" == "application/zip" ]; then
-		tarcmd=$(unzip -d "${extractdir}" "${filedir}/${filename}")
+		extractcmd=$(unzip -d "${extractdir}" "${local_filedir}/${local_filename}")
 	fi
 	local exitcode=$?
 	if [ ${exitcode} -ne 0 ]; then
 		fn_print_fail_eol_nl
 		fn_script_log_fatal "Extracting download: FAIL"
-		echo "${tarcmd}" | tee -a "${scriptlog}"
+		echo "${extractcmd}" | tee -a "${scriptlog}"
 		core_exit.sh
 	else
 		fn_print_ok_eol_nl
@@ -78,163 +78,155 @@ fn_dl_extract(){
 # Trap to remove file download if canceled before completed
 fn_fetch_trap(){
 	echo ""
-	echo -ne "downloading ${filename}..."
+	echo -ne "downloading ${local_filename}..."
 	fn_print_canceled_eol_nl
-	fn_script_log_info "Downloading ${filename}...CANCELED"
+	fn_script_log_info "Downloading ${local_filename}...CANCELED"
 	sleep 1
-	rm -f "${filedir}/${filename}" | tee -a "${scriptlog}"
-	echo -ne "downloading ${filename}..."
+	rm -f "${local_filedir}/${local_filename}" | tee -a "${scriptlog}"
+	echo -ne "downloading ${local_filename}..."
 	fn_print_removed_eol_nl
-	fn_script_log_info "Downloading ${filename}...REMOVED"
+	fn_script_log_info "Downloading ${local_filename}...REMOVED"
 	core_exit.sh
 }
 
 fn_fetch_file(){
-	fileurl="${1}"
-	filedir="${2}"
-	filename="${3}"
-	executecmd="${4:-0}"
+	remote_fileurl="${1}"
+	local_filedir="${2}"
+	local_filename="${3}"
+	chmodx="${4:-0}"
 	run="${5:-0}"
-	force="${6:-0}"
+	forcedl="${6:-0}"
 	md5="${7:-0}"
 
 	# If the file is missing, then download
-	if [ ! -f "${filedir}/${filename}" ]; then
-		if [ ! -d "${filedir}" ]; then
-			mkdir -p "${filedir}"
+	if [ ! -f "${local_filedir}/${local_filename}" ]; then
+		if [ ! -d "${local_filedir}" ]; then
+			mkdir -p "${local_filedir}"
 		fi
-
-		# 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 curlpath in ${curlpaths}
-		do
-			if [ -x "${curlpath}" ]; then
-				break
-			fi
-		done
-		# If curl exists download file
-		if [ "$(basename ${curlpath})" == "curl" ]; then
-			# trap to remove part downloaded files
-			trap fn_fetch_trap INT
-			# if larger file shows progress bar
-			if [ "${filename##*.}" == "bz2" ]||[ "${filename##*.}" == "gz" ]||[ "${filename##*.}" == "zip" ]||[ "${filename##*.}" == "jar" ]; then
-				echo -ne "downloading ${filename}..."
-				sleep 1
-				curlcmd=$(${curlpath} --progress-bar --fail -L -o "${filedir}/${filename}" "${fileurl}")
-				echo -ne "downloading ${filename}..."
-			else
-				echo -ne "    fetching ${filename}...\c"
-				curlcmd=$(${curlpath} -s --fail -L -o "${filedir}/${filename}" "${fileurl}" 2>&1)
-			fi
-			local exitcode=$?
-			if [ ${exitcode} -ne 0 ]; then
-				fn_print_fail_eol_nl
-				if [ -f "${scriptlog}" ]; then
-					fn_script_log_fatal "Downloading ${filename}: FAIL"
-				fi
-				echo -e "${fileurl}" | tee -a "${scriptlog}"
-				echo "${curlcmd}" | tee -a "${scriptlog}"
-				core_exit.sh
-			else
-				fn_print_ok_eol_nl
-				if [ -f "${scriptlog}" ]; then
-					fn_script_log_pass "Downloading ${filename}: OK"
-				fi
-			fi
-			# remove trap
-			trap - INT
+		# Trap will remove part downloaded files if canceled
+		trap fn_fetch_trap INT
+		# if larger file shows progress bar
+		if [ "${local_filename##*.}" == "bz2" ]||[ "${local_filename##*.}" == "gz" ]||[ "${local_filename##*.}" == "zip" ]||[ "${local_filename##*.}" == "jar" ]; then
+			echo -ne "downloading ${local_filename}..."
+			sleep 1
+			curlcmd=$(${curlpath} --progress-bar --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}")
+			echo -ne "downloading ${local_filename}..."
 		else
+			echo -ne "    fetching ${local_filename}...\c"
+			curlcmd=$(${curlpath} -s --fail -L -o "${local_filedir}/${local_filename}" "${remote_fileurl}" 2>&1)
+		fi
+		local exitcode=$?
+		if [ ${exitcode} -ne 0 ]; then
 			fn_print_fail_eol_nl
-			echo "Curl is not installed!"
-			echo -e ""
 			if [ -f "${scriptlog}" ]; then
-				fn_script_log_fatal "Curl is not installed!"
+				fn_script_log_fatal "Downloading ${local_filename}: FAIL"
 			fi
+			echo -e "${remote_fileurl}" | tee -a "${scriptlog}"
+			echo "${curlcmd}" | tee -a "${scriptlog}"
 			core_exit.sh
+		else
+			fn_print_ok_eol_nl
+			if [ -f "${scriptlog}" ]; then
+				fn_script_log_pass "Downloading ${local_filename}: OK"
+			fi
 		fi
-		# make file executecmd if executecmd is set
-		if [ "${executecmd}" == "executecmd" ]; then
-			chmod +x "${filedir}/${filename}"
+		# Remove trap
+		trap - INT
+		# Make file executable if chmodx is set
+		if [ "${chmodx}" == "chmodx" ]; then
+			chmod +x "${local_filedir}/${local_filename}"
 		fi
 	fi
 
-	if [ -f "${filedir}/${filename}" ]; then
+	if [ -f "${local_filedir}/${local_filename}" ]; then
 		fn_dl_md5
-		# run file if run is set
+		# Execute file if run is set
 		if [ "${run}" == "run" ]; then
-			source "${filedir}/${filename}"
+			source "${local_filedir}/${local_filename}"
 		fi
 	fi
 }
 
 
+# GitHub file download functions
+# Used to simplify downloading specific files from GitHub
 
-# fileurl: The directory the file is located in teh GitHub repo
-# filedir: name of file
-# filename: location file to be saved
-# executecmd: set to "executecmd" to make file executecmd
-# run: Optional, set to run to execute the file
-# force: force download of file even if exists
-# md5: Checks fail against an md5 sum
+# github_file_url_dir: the directory of the file in the GitHub: lgsm/functions
+# github_file_url_name: the filename of the file to download from GitHub: core_messages.sh
+# githuburl: the full GitHub url
 
-fn_fetch_config(){
-	github_file_url_dir="${1}" # github dir containing the file
-	github_file_url_name="${2}" # name of the github file
-	githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
-	fileurl="${githuburl}"
-	filedir="${3}"
-	filename="${4}"
-	executecmd="noexecutecmd"
-	run="norun"
-	force="noforce"
-	md5="nomd5"
-	fn_boostrap_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
-}
+# remote_fileurl: The URL of the file: http://example.com/dl/File.tar.bz2
+# local_filedir: location the file is to be saved: /home/server/lgsm/tmp
+# local_filename: name of file (this can be different from the url name): file.tar.bz2
+# chmodx: Optional, set to "chmodx" to make file executable using chmod +x
+# run: Optional, set run to execute the file after download
+# forcedl: Optional, force re-download of file even if exists
+# md5: Optional, set an md5 sum and will compare it against the file.
 
-# Fetches files from the github repo
+# Fetches any files from the GitHub repo
 fn_fetch_file_github(){
 	github_file_url_dir="${1}"
 	github_file_url_name="${2}"
 	githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
-	fileurl="${githuburl}"
-	filedir="${3}"
-	filename="${github_file_url_name}"
-	executecmd="${4:-0}"
+
+	remote_fileurl="${githuburl}"
+	local_filedir="${3}"
+	local_filename="${github_file_url_name}"
+	chmodx="${4:-0}"
 	run="${5:-0}"
-	force="${6:-0}"
+	forcedl="${6:-0}"
 	md5="${7:-0}"
-	fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
+	# Passes vars to the file download function
+	fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
 }
 
+fn_fetch_config(){
+	github_file_url_dir="${1}"
+	github_file_url_name="${2}"
+	githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
+
+	remote_fileurl="${githuburl}"
+	local_filedir="${3}"
+	local_filename="${4}"
+	chmodx="noexecutecmd"
+	run="norun"
+	forcedl="noforce"
+	md5="nomd5"
+	# Passes vars to the file download function
+	fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
+}
 
 # Fetches functions
 fn_fetch_function(){
-	github_file_url_dir="lgsm/functions" # github dir containing the file
-	github_file_url_name="${functionfile}" # name of the github file
+	github_file_url_dir="lgsm/functions"
+	github_file_url_name="${functionfile}"
 	githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
-	fileurl="${githuburl}"
-	filedir="${functionsdir}"
-	filename="${github_file_url_name}"
-	executecmd="executecmd"
+
+	remote_fileurl="${githuburl}"
+	local_filedir="${functionsdir}"
+	local_filename="${github_file_url_name}"
+	chmodx="chmodx"
 	run="run"
-	force="noforce"
+	forcedl="noforce"
 	md5="nomd5"
-	fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
+	# Passes vars to the file download function
+	fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
 }
 
 fn_update_function(){
 	exitbypass=1
-	github_file_url_dir="lgsm/functions" # github dir containing the file
-	github_file_url_name="${functionfile}" # name of the github file
+	github_file_url_dir="lgsm/functions"
+	github_file_url_name="${functionfile}"
 	githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
-	fileurl="${githuburl}"
-	filedir="${functionsdir}"
-	filename="${github_file_url_name}"
-	executecmd="executecmd"
+
+	remote_fileurl="${githuburl}"
+	local_filedir="${functionsdir}"
+	local_filename="${github_file_url_name}"
+	chmodx="chmodx"
 	run="norun"
-	force="noforce"
+	forcedl="noforce"
 	md5="nomd5"
-	fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
+	fn_fetch_file "${remote_fileurl}" "${local_filedir}" "${local_filename}" "${chmodx}" "${run}" "${forcedl}" "${md5}"
 }
 
 
@@ -245,4 +237,9 @@ do
 	if [ -x "${curlpath}" ]; then
 		break
 	fi
-done
+done
+
+if [ "$(basename ${curlpath})" != "curl" ]; then
+	echo "[ FAIL ] Curl is not installed"
+	exit 1
+fi

+ 2 - 2
lgsm/functions/fix_csgo.sh

@@ -9,10 +9,10 @@ local commandaction="Fix"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 # Fixes: server not always creating steam_appid.txt file.
-if [ ! -f "${filesdir}/steam_appid.txt" ]; then
+if [ ! -f "${serverfiles}/steam_appid.txt" ]; then
 	fixname="730 steam_appid.txt"
 	fn_fix_msg_start
-	echo -n "730" >> "${filesdir}/steam_appid.txt"
+	echo -n "730" >> "${serverfiles}/steam_appid.txt"
 	fn_fix_msg_end
 fi
 

+ 2 - 2
lgsm/functions/fix_dst.sh

@@ -10,9 +10,9 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 # Fixes: ./dontstarve_dedicated_server_nullrenderer: ./lib32/libcurl-gnutls.so.4: no version information available (required by ./dontstarve_dedicated_server_nullrenderer)
 # Issue only occures on CentOS as libcurl-gnutls.so.4 is called libcurl.so.4 on CentOS.
-if [ -f "/etc/redhat-release" ] && [ ! -f "${filesdir}/bin/lib32/libcurl-gnutls.so.4" ]; then
+if [ -f "/etc/redhat-release" ] && [ ! -f "${serverfiles}/bin/lib32/libcurl-gnutls.so.4" ]; then
 	fixname="libcurl-gnutls.so.4 missing"
 	fn_fix_msg_start
-	ln -s "/usr/lib/libcurl.so.4" "${filesdir}/bin/lib32/libcurl-gnutls.so.4"
+	ln -s "/usr/lib/libcurl.so.4" "${serverfiles}/bin/lib32/libcurl-gnutls.so.4"
 	fn_fix_msg_end
 fi

+ 1 - 1
lgsm/functions/fix_ins.sh

@@ -9,7 +9,7 @@ local commandaction="Fix"
 
 # Fixes: ./srcds_linux: error while loading shared libraries: libtier0.so: cannot open shared object file: No such file or directory.
 
-export LD_LIBRARY_PATH=${filesdir}:${filesdir}/bin:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=${serverfiles}:${serverfiles}/bin:${LD_LIBRARY_PATH}
 
 # Fixes: issue #529 - gamemode not passed to debug or start.
 

+ 2 - 2
lgsm/functions/fix_kf.sh

@@ -10,8 +10,8 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 echo "Applying WebAdmin ROOst.css fix."
 echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
-sed -i 's/none}/none;/g' "${filesdir}/Web/ServerAdmin/ROOst.css"
-sed -i 's/underline}/underline;/g' "${filesdir}/Web/ServerAdmin/ROOst.css"
+sed -i 's/none}/none;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css"
+sed -i 's/underline}/underline;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css"
 sleep 1
 echo "Applying WebAdmin CharSet fix."
 echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1"

+ 2 - 2
lgsm/functions/fix_ro.sh

@@ -10,8 +10,8 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 echo "Applying WebAdmin ROOst.css fix."
 echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
-sed -i 's/none}/none;/g' "${filesdir}/Web/ServerAdmin/ROOst.css"
-sed -i 's/underline}/underline;/g' "${filesdir}/Web/ServerAdmin/ROOst.css"
+sed -i 's/none}/none;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css"
+sed -i 's/underline}/underline;/g' "${serverfiles}/Web/ServerAdmin/ROOst.css"
 sleep 1
 echo "Applying WebAdmin CharSet fix."
 echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1"

+ 6 - 6
lgsm/functions/fix_steamcmd.sh

@@ -23,21 +23,21 @@ if [ "${gamename}" == "Serious Sam 3: BFE" ]; then
 		fixname="libsteam.so"
 		fn_fix_msg_start
 		mkdir -pv "${HOME}/.steam/bin32" >> "${scriptlog}"
-		cp -v "${filesdir}/Bin/libsteam.so" "${HOME}/.steam/bin32/libsteam.so" >> "${scriptlog}"
+		cp -v "${serverfiles}/Bin/libsteam.so" "${HOME}/.steam/bin32/libsteam.so" >> "${scriptlog}"
 		fn_fix_msg_end
 	fi
 elif [ "${gamename}" == "Hurtworld" ]; then
 	# Fixes: [S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
-	if [ ! -f "${filesdir}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then
+	if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then
 		fixname="steamclient.so x86"
 		fn_fix_msg_start
-		cp -v "${rootdir}/steamcmd/linux32/steamclient.so" "${filesdir}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${scriptlog}"
+		cp -v "${rootdir}/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${scriptlog}"
 		fn_fix_msg_end
 	fi
-	if [ ! -f "${filesdir}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then
+	if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then
 		fixname="steamclient.so x86_64"
 		fn_fix_msg_start
-		cp -v "${rootdir}/steamcmd/linux32/steamclient.so" "${filesdir}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${scriptlog}"
+		cp -v "${rootdir}/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${scriptlog}"
 		fn_fix_msg_end
 	fi
 elif [ "${gamename}" == "Tower Unite" ]; then
@@ -45,7 +45,7 @@ elif [ "${gamename}" == "Tower Unite" ]; then
 	if [ ! -f "${executabledir}/steamclient.so" ]; then
 		fixname="steamclient.so"
 		fn_fix_msg_start
-		cp -v "${filesdir}/linux64/steamclient.so" "${executabledir}/steamclient.so" >> "${scriptlog}"
+		cp -v "${serverfiles}/linux64/steamclient.so" "${executabledir}/steamclient.so" >> "${scriptlog}"
 		fn_fix_msg_end
 	fi
 fi

+ 2 - 2
lgsm/functions/fix_ut2k4.sh

@@ -10,8 +10,8 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 echo "applying WebAdmin ut2003.css fix."
 echo "http://forums.tripwireinteractive.com/showpost.php?p=585435&postcount=13"
-sed -i 's/none}/none;/g' "${filesdir}/Web/ServerAdmin/ut2003.css"
-sed -i 's/underline}/underline;/g' "${filesdir}/Web/ServerAdmin/ut2003.css"
+sed -i 's/none}/none;/g' "${serverfiles}/Web/ServerAdmin/ut2003.css"
+sed -i 's/underline}/underline;/g' "${serverfiles}/Web/ServerAdmin/ut2003.css"
 sleep 1
 echo "applying WebAdmin CharSet fix."
 echo "http://forums.tripwireinteractive.com/showpost.php?p=442340&postcount=1"

+ 2 - 2
lgsm/functions/info_distro.sh

@@ -95,13 +95,13 @@ if [ -z "${rootdirdu}" ]; then
 fi
 
 ## LinuxGSM used space in serverfiles dir.
-filesdirdu=$(du -sh "${filesdir}" 2> /dev/null | awk '{print $1}')
+filesdirdu=$(du -sh "${serverfiles}" 2> /dev/null | awk '{print $1}')
 if [ -z "${filesdirdu}" ]; then
 	filesdirdu="0M"
 fi
 
 ## LinuxGSM used space total minus backup dir.
-rootdirduexbackup=$(du -sh --exclude="${backupdir}" "${filesdir}" 2> /dev/null | awk '{print $1}')
+rootdirduexbackup=$(du -sh --exclude="${backupdir}" "${serverfiles}" 2> /dev/null | awk '{print $1}')
 if [ -z "${rootdirduexbackup}" ]; then
 	rootdirduexbackup="0M"
 fi

+ 1 - 1
lgsm/functions/install_factorio_save.sh

@@ -12,4 +12,4 @@ echo "Creating initial Factorio savefile"
 echo "================================="
 sleep 1
 check_glibc.sh
-"${executabledir}"/factorio --create ${filesdir}/save1
+"${executabledir}"/factorio --create ${serverfiles}/save1

+ 2 - 2
lgsm/functions/install_minecraft_eula.sh

@@ -11,7 +11,7 @@ sleep 1
 echo "You are required to accept the EULA:"
 echo "https://account.mojang.com/documents/minecraft_eula"
 
-echo "eula=false" > "${filesdir}/eula.txt"
+echo "eula=false" > "${serverfiles}/eula.txt"
 
 if [ -z "${autoinstall}" ]; then
 echo "By continuing you are indicating your agreement to the EULA."
@@ -25,4 +25,4 @@ echo ""
 	sleep 5
 fi
 
-sed -i "s/eula=false/eula=true/g" "${filesdir}/eula.txt"
+sed -i "s/eula=false/eula=true/g" "${serverfiles}/eula.txt"

+ 3 - 3
lgsm/functions/install_server_dir.sh

@@ -12,7 +12,7 @@ echo ""
 echo "Server Directory"
 echo "================================="
 sleep 1
-if [ -d "${filesdir}" ]; then
+if [ -d "${serverfiles}" ]; then
 	fn_print_warning_nl "A server is already installed here."
 fi
 pwd
@@ -22,7 +22,7 @@ if [ -z "${autoinstall}" ]; then
 		exit
 	fi
 fi
-if [ ! -d "${filesdir}" ]; then
-	mkdir -v "${filesdir}"
+if [ ! -d "${serverfiles}" ]; then
+	mkdir -v "${serverfiles}"
 fi
 sleep 1

+ 11 - 11
lgsm/functions/install_server_files.sh

@@ -24,11 +24,11 @@ fn_install_server_files(){
 	elif [ "${gamename}" == "GoldenEye: Source" ]; then
 		fileurl="http://files.gameservermanagers.com/GoldenEyeSource/GoldenEye_Source_v5.0.1_full_server_linux.tar.bz2"; filedir="${tmpdir}"; filename="GoldenEye_Source_v5.0.1_server_full_Linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="ea227a150300abe346e757380325f84c"
 	elif [ "${gamename}" == "Quake 2" ]; then
-		fileurl="http://files.gameservermanagers.com/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f"
+		fileurl="http://files.gameservermanagers.com/Quake2/quake2-3.20-glibc-i386-full-linux2.0.tar.bz2"; filedir="${tmpdir}"; filename="quake2-3.20-glibc-i386-full-linux2.0.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="0b8c7e2d51f40b56b328c69e986e7c5f"
 	elif [ "${gamename}" == "Quake 3: Arena" ]; then
-		fileurl="http://files.gameservermanagers.com/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="quake3-1.32c-x86-full-linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306"
+		fileurl="http://files.gameservermanagers.com/Quake3/quake3-1.32c-x86-full-linux.tar.bz2"; filedir="${tmpdir}"; filename="quake3-1.32c-x86-full-linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="fd7258d827474f67663dda297bff4306"
 	elif [ "${gamename}" == "QuakeWorld" ]; then
-		fileurl="http://files.gameservermanagers.com/QuakeWorld/nquake.server.linux.083116.full.tar.bz2"; filedir="${lgsmdir}/tmp"; filename="nquake.server.linux.083116.full.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="75a409cf08d808f075e4dacdc7b21b78"
+		fileurl="http://files.gameservermanagers.com/QuakeWorld/nquake.server.linux.083116.full.tar.bz2"; filedir="${tmpdir}"; filename="nquake.server.linux.083116.full.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="75a409cf08d808f075e4dacdc7b21b78"
 	elif [ "${gamename}" == "Unreal Tournament 2004" ]; then
 		fileurl="http://files.gameservermanagers.com/UnrealTournament2004/ut2004-server-3339-ultimate-linux.tar.bz2"; filedir="${tmpdir}"; filename="ut2004-server-3339-ultimate-linux.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="67c5e2cd9c2a4b04f163962ee41eff54"
 	elif [ "${gamename}" == "Unreal Tournament 99" ]; then
@@ -41,7 +41,7 @@ fn_install_server_files(){
 		fileurl="http://files.gameservermanagers.com/WolfensteinEnemyTerritory/enemy-territory.260b.tar.bz2"; filedir="${tmpdir}"; filename="enemy-territory.260b.tar.bz2";  executecmd="noexecute" run="norun"; force="noforce"; md5="f833f514bfcdd46b42c111f83350c5a7"
 	fi
 	fn_fetch_file "${fileurl}" "${filedir}" "${filename}" "${executecmd}" "${run}" "${force}" "${md5}"
-	fn_dl_extract "${filedir}" "${filename}" "${filesdir}"
+	fn_dl_extract "${filedir}" "${filename}" "${serverfiles}"
 }
 
 fn_install_server_files_steamcmd(){
@@ -62,8 +62,8 @@ fn_install_server_files_steamcmd(){
 			fi
 
 			if [ "${counter}" -ge "7" ]; then
-				echo "Removing $(find ${filesdir} -type d -print0 | grep -Ez '[^/]{30}$')"
-				find ${filesdir} -type d -print0 | grep -Ez '[^/]{30}$' | xargs -0 rm -rf
+				echo "Removing $(find ${serverfiles} -type d -print0 | grep -Ez '[^/]{30}$')"
+				find ${serverfiles} -type d -print0 | grep -Ez '[^/]{30}$' | xargs -0 rm -rf
 			fi
 			if [ "${counter}" -ge "9" ]; then
 				rm -rf "${rootdir}/steamcmd"
@@ -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 "${serverfiles}" +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 "${serverfiles}" +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 "${serverfiles}" +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 "${serverfiles}" +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 "${serverfiles}" +app_set_config 90 mod ${appidmod} +app_update "${appid}" ${branch} -validate +quit
 			local exitcode=$?
 		done
 	fi

+ 1 - 1
lgsm/functions/install_ts3db.sh

@@ -14,7 +14,7 @@ fn_install_ts3db_mariadb(){
 	echo "checking if libmariadb2 is installed"
 	echo "================================="
 	sleep 1
-	ldd ${filesdir}/libts3db_mariadb.so | grep "libmariadb.so.2 => not found"
+	ldd ${serverfiles}/libts3db_mariadb.so | grep "libmariadb.so.2 => not found"
 	if [ $? -eq 0 ]; then
 		echo "libmariadb2 not installed. Please install it first."
 		echo "exiting..."

+ 2 - 2
lgsm/functions/install_unreal_tournament_eula.sh

@@ -11,7 +11,7 @@ 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"
+echo "eula=false" > "${serverfiles}/eula.txt"
 
 if [ -z "${autoinstall}" ]; then
 echo "By continuing you are indicating your agreement to the EULA."
@@ -25,4 +25,4 @@ echo ""
 	sleep 5
 fi
 
-sed -i "s/eula=false/eula=true/g" "${filesdir}/eula.txt"
+sed -i "s/eula=false/eula=true/g" "${serverfiles}/eula.txt"

+ 3 - 3
lgsm/functions/update_factorio.sh

@@ -12,9 +12,9 @@ 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}"
+	echo -e "copying to ${serverfiles}...\c"
+	fn_script_log "Copying to ${serverfiles}"
+	cp -R "${tmpdir}/factorio/"* "${serverfiles}"
 	local exitcode=$?
 	if [ "${exitcode}" == "0" ]; then
 		fn_print_ok_eol_nl

+ 5 - 5
lgsm/functions/update_minecraft.sh

@@ -10,9 +10,9 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
 fn_update_dl(){
 	fn_fetch_file "https://s3.amazonaws.com/Minecraft.Download/versions/${availablebuild}/minecraft_server.${availablebuild}.jar" "${tmpdir}" "minecraft_server.${availablebuild}.jar"
-	echo -e "copying to ${filesdir}...\c"
-	fn_script_log "Copying to ${filesdir}"
-	cp "${tmpdir}/minecraft_server.${availablebuild}.jar" "${filesdir}/minecraft_server.jar"
+	echo -e "copying to ${serverfiles}...\c"
+	fn_script_log "Copying to ${serverfiles}"
+	cp "${tmpdir}/minecraft_server.${availablebuild}.jar" "${serverfiles}/minecraft_server.jar"
 	local exitcode=$?
 	if [ ${exitcode} -eq 0 ]; then
 		fn_print_ok_eol_nl
@@ -47,7 +47,7 @@ fn_update_currentbuild(){
 	fi
 
 	# Get current build from logs
-	currentbuild=$(cat "${filesdir}/logs/latest.log" 2> /dev/null | grep version | egrep -o '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
+	currentbuild=$(cat "${serverfiles}/logs/latest.log" 2> /dev/null | grep version | egrep -o '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
 	if [ -z "${currentbuild}" ]; then
 		fn_print_error_nl "Checking for update: mojang.com: Current build version not found"
 		fn_script_log_error "Checking for update: mojang.com: Current build version not found"
@@ -58,7 +58,7 @@ fn_update_currentbuild(){
 		command_stop.sh
 		exitbypass=1
 		command_start.sh
-		currentbuild=$(cat "${filesdir}/logs/latest.log" 2> /dev/null | grep version | egrep -o '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
+		currentbuild=$(cat "${serverfiles}/logs/latest.log" 2> /dev/null | grep version | egrep -o '((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}')
 		if [ -z "${currentbuild}" ]; then
 			fn_print_fail_nl "Checking for update: mojang.com: Current build version still not found"
 			fn_script_log_fatal "Checking for update: mojang.com: Current build version still not found"

+ 3 - 3
lgsm/functions/update_mta.sh

@@ -12,9 +12,9 @@ fn_update_mta_dl(){
 	fn_fetch_file "http://linux.mtasa.com/dl/${numversion}/multitheftauto_linux_x64-${fullversion}.tar.gz" "${tmpdir}" "multitheftauto_linux_x64-${fullversion}.tar.gz"
   mkdir "${tmpdir}/multitheftauto_linux_x64-${fullversion}"
 	fn_dl_extract "${tmpdir}" "multitheftauto_linux_x64-${fullversion}.tar.gz" "${tmpdir}/multitheftauto_linux_x64-${fullversion}"
-	echo -e "copying to ${filesdir}...\c"
-	fn_script_log "Copying to ${filesdir}"
-	cp -R "${tmpdir}/multitheftauto_linux_x64-${fullversion}/multitheftauto_linux_x64-${fullversion}/"* "${filesdir}"
+	echo -e "copying to ${serverfiles}...\c"
+	fn_script_log "Copying to ${serverfiles}"
+	cp -R "${tmpdir}/multitheftauto_linux_x64-${fullversion}/multitheftauto_linux_x64-${fullversion}/"* "${serverfiles}"
 	local exitcode=$?
 	if [ "${exitcode}" == "0" ]; then
 		fn_print_ok_eol_nl

+ 3 - 3
lgsm/functions/update_mumble.sh

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

+ 4 - 4
lgsm/functions/update_steamcmd.sh

@@ -26,17 +26,17 @@ 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 "${serverfiles}" +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 "${serverfiles}" +app_update "${appid}" ${branch} +quit | tee -a "${scriptlog}"
 	fi
 
 	fix.sh
 }
 
 fn_appmanifest_info(){
-	appmanifestfile=$(find "${filesdir}" -type f -name "appmanifest_${appid}.acf")
-	appmanifestfilewc=$(find "${filesdir}" -type f -name "appmanifest_${appid}.acf"|wc -l)
+	appmanifestfile=$(find "${serverfiles}" -type f -name "appmanifest_${appid}.acf")
+	appmanifestfilewc=$(find "${serverfiles}" -type f -name "appmanifest_${appid}.acf"|wc -l)
 }
 
 fn_appmanifest_check(){

+ 3 - 3
lgsm/functions/update_ts3.sh

@@ -11,9 +11,9 @@ local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 fn_update_ts3_dl(){
 	fn_fetch_file "http://dl.4players.de/ts/releases/${ts3_version_number}/teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2"
 	fn_dl_extract "${tmpdir}" "teamspeak3-server_linux_${ts3arch}-${ts3_version_number}.tar.bz2" "${tmpdir}"
-	echo -e "copying to ${filesdir}...\c"
-	fn_script_log "Copying to ${filesdir}"
-	cp -R "${tmpdir}/teamspeak3-server_linux_${ts3arch}/"* "${filesdir}"
+	echo -e "copying to ${serverfiles}...\c"
+	fn_script_log "Copying to ${serverfiles}"
+	cp -R "${tmpdir}/teamspeak3-server_linux_${ts3arch}/"* "${serverfiles}"
 	local exitcode=$?
 	if [ "${exitcode}" == "0" ]; then
 		fn_print_ok_eol_nl

+ 11 - 14
linuxgsm.sh

@@ -26,13 +26,13 @@ lgsmdir="${rootdir}/lgsm"
 functionsdir="${lgsmdir}/functions"
 libdir="${lgsmdir}/lib"
 tmpdir="${lgsmdir}/tmp"
-filesdir="${rootdir}/serverfiles"
+serverfiles="${rootdir}/serverfiles"
 configdir="${lgsmdir}/config-lgsm"
 configdirserver="${configdir}/${servername}"
 configdirdefault="${lgsmdir}/config-default"
 
 
-## Github Branch Select
+## GitHub Branch Select
 # Allows for the use of different function files
 # from a different repo and/or branch.
 githubuser="GameServerManagers"
@@ -42,7 +42,7 @@ githubbranch="feature/config"
 # Core Function that is required first
 core_functions.sh(){
 	functionfile="${FUNCNAME}"
-	fn_bootstrap_fetch_file
+	fn_bootstrap_fetch_file "lgsm/functions" "core_functions.sh" "${functionsdir}" "_default.cfg" "noexecutecmd" "norun" "noforce" "nomd5"
 }
 
 # Bootstrap
@@ -50,16 +50,13 @@ core_functions.sh(){
 
 # Fetches core functions
 fn_bootstrap_fetch_file(){
-	github_file_url_dir="lgsm/functions" # github dir containing the file
-	github_file_url_name="${functionfile}" # name of the github file
-	githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
-	fileurl="${githuburl}"
-	filedir="${functionsdir}"
-	filename="${github_file_url_name}"
-	executecmd="executecmd"
-	run="run"
-	force="noforce"
-	md5="nomd5"
+	fileurl="${1}"
+	filedir="${2}"
+	filename="${3}"
+	executecmd="${4:-0}"
+	run="${5:-0}"
+	force="${6:-0}"
+	md5="${7:-0}"
 	# If the file is missing, then download
 	if [ ! -f "${filedir}/${filename}" ]; then
 		if [ ! -d "${filedir}" ]; then
@@ -252,7 +249,7 @@ if [ "${shortname}" == "core" ]; then
 
 	# Download the serverlist. This is the complete list of all supported servers.
 	# Download to tmp dir
-	fn_boostrap_fetch_config "lgsm/data" "serverlist.csv" "${tmpdir}/data" "serverlist.csv" "noexecutecmd" "norun" "noforce" "nomd5"
+	fn_boostrap_fetch_file "lgsm/data" "serverlist.csv" "${tmpdir}/data" "serverlist.csv" "noexecutecmd" "norun" "noforce" "nomd5"
 	# if missing in lgsm dir copy it accross
 	if [ ! -f "${serverlist}" ]; then
 		mkdir -p "${datadir}"

+ 6 - 6
tests/tests_jc2server.sh

@@ -93,12 +93,12 @@ tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 
 ## Server Specific Directories
-systemdir="${filesdir}"
-executabledir="${filesdir}"
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
 executable="./Jcmp-Server"
 servercfg="config.lua"
 servercfgdefault="config.lua"
-servercfgdir="${filesdir}"
+servercfgdir="${serverfiles}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
@@ -443,7 +443,7 @@ echo "Command: ./jc2server update"
 requiredstatus="OFFLINE"
 fn_setstatus
 fn_print_info_nl "changed buildid to 0."
-sed -i 's/[0-9]\+/0/' "${filesdir}/steamapps/appmanifest_${appid}.acf"
+sed -i 's/[0-9]\+/0/' "${serverfiles}/steamapps/appmanifest_${appid}.acf"
 (command_update.sh)
 fn_test_result_pass
 
@@ -456,7 +456,7 @@ echo "Command: ./jc2server update"
 requiredstatus="ONLINE"
 fn_setstatus
 fn_print_info_nl "changed buildid to 0."
-sed -i 's/[0-9]\+/0/' "${filesdir}/steamapps/appmanifest_${appid}.acf"
+sed -i 's/[0-9]\+/0/' "${serverfiles}/steamapps/appmanifest_${appid}.acf"
 (command_update.sh)
 fn_test_result_pass
 
@@ -469,7 +469,7 @@ echo "Command: ./jc2server update"
 requiredstatus="OFFLINE"
 fn_setstatus
 fn_print_info_nl "removed appmanifest_${appid}.acf."
-rm --verbose "${filesdir}/steamapps/appmanifest_${appid}.acf"
+rm --verbose "${serverfiles}/steamapps/appmanifest_${appid}.acf"
 (command_update.sh)
 fn_test_result_pass
 

+ 4 - 4
tests/tests_ts3server.sh

@@ -80,19 +80,19 @@ tmpdir="${lgsmdir}/tmp"
 filesdir="${rootdir}/serverfiles"
 
 ## Server Specific Directories
-systemdir="${filesdir}"
-executabledir="${filesdir}"
+systemdir="${serverfiles}"
+executabledir="${serverfiles}"
 executable="./ts3server_startscript.sh"
 servercfg="${servicename}.ini"
 servercfgdefault="ts3server.ini"
-servercfgdir="${filesdir}"
+servercfgdir="${serverfiles}"
 servercfgfullpath="${servercfgdir}/${servercfg}"
 
 ## Backup Directory
 backupdir="${rootdir}/backups"
 
 ## Logging Directories
-gamelogdir="${filesdir}/logs"
+gamelogdir="${serverfiles}/logs"
 scriptlogdir="${rootdir}/log/script"
 scriptlog="${scriptlogdir}/${servicename}-script.log"
 emaillog="${scriptlogdir}/${servicename}-email.log"