Prechádzať zdrojové kódy

More general way of handling logs

gamelogdir needs to be created if variable is set, otherwise check_logs.sh will attempt to create it if the server wasn't started yet and directory doesn't exist, as per https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/check_logs.sh#L24
symlink is done once gamelogdir is created, if variable is set

Working with "if gamelogdir" variable exists is a more general and simple way of doing it and shouldn't cause any kind of issue.
UltimateByte 9 rokov pred
rodič
commit
7d7b448a10
1 zmenil súbory, kde vykonal 10 pridanie a 10 odobranie
  1. 10 10
      lgsm/functions/install_logs.sh

+ 10 - 10
lgsm/functions/install_logs.sh

@@ -14,7 +14,7 @@ if [ "${checklogs}" != "1" ]; then
 	echo "================================="
 	echo "================================="
 fi
 fi
 sleep 1
 sleep 1
-# Create dir's for the script and console logs
+# Create dirs for script and console logs
 mkdir -v "${rootdir}/log"
 mkdir -v "${rootdir}/log"
 mkdir -v "${scriptlogdir}"
 mkdir -v "${scriptlogdir}"
 touch "${scriptlog}"
 touch "${scriptlog}"
@@ -23,23 +23,23 @@ if [ -n "${consolelogdir}" ]; then
 	touch "${consolelog}"
 	touch "${consolelog}"
 fi
 fi
 
 
-# If a server is source or goldsource, TeamSpeak 3, Starbound, Project Zomhoid create a symbolic link to the game server logs.
-if [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]||[ "${gamename}" == "TeamSpeak 3" ]||[ "${engine}" == "starbound" ]||[ "${engine}" == "projectzomboid" ]||[ "${engine}" == "unreal" ]; then
+# Create gamelogdir if variable exists but directory does not
+if [ -n "${gamelogdir}" ]&&[ ! -d "${gamelogdir}" ]; then
+	mkdir -pv "${gamelogdir}"
+fi
+
+# Symlink gamelogdir to lgsm logs if variable exists
+if [ -n "${gamelogdir}" ]; then
 	if [ ! -h "${rootdir}/log/server" ]; then
 	if [ ! -h "${rootdir}/log/server" ]; then
 		ln -nfsv "${gamelogdir}" "${rootdir}/log/server"
 		ln -nfsv "${gamelogdir}" "${rootdir}/log/server"
 	fi
 	fi
 fi
 fi
 
 
-# If a server is unreal2 or unity3d create a dir.
-if [ "${engine}" == "unreal2" ]||[ "${engine}" == "unity3d" ]||[ "${gamename}" == "Teeworlds" ]||[ "${gamename}" == "seriousengine35" ]; then
-	mkdir -pv "${gamelogdir}"
-fi
-
-# If server uses SteamCMD create a symbolic link to the Steam logs.
+# If server uses SteamCMD create a symbolic link to the Steam logs
 if [ -d "${rootdir}/Steam/logs" ]; then
 if [ -d "${rootdir}/Steam/logs" ]; then
 	if [ ! -h "${rootdir}/log/steamcmd" ]; then
 	if [ ! -h "${rootdir}/log/steamcmd" ]; then
 		ln -nfsv "${rootdir}/Steam/logs" "${rootdir}/log/steamcmd"
 		ln -nfsv "${rootdir}/Steam/logs" "${rootdir}/log/steamcmd"
 	fi
 	fi
 fi
 fi
 sleep 1
 sleep 1
-fn_script_log_info "Logs installed"
+fn_script_log_info "Logs installed"