#!/bin/bash
# LGSM fn_check_logs function
# Author: Daniel Gibbs
# Website: http://gameservermanagers.com
# Version: 160415
# Description: Checks that log files exist on server start

# Create dir's for the script and console logs
if [ ! -f "${scriptlog}" ]; then
	fn_printdots "Checking for log files"
	sleep 1
	fn_printinfo "Checking for log files: Creating log files"
	sleep 1
	echo -en "\n"
	mkdir -v "${rootdir}/log"
	mkdir -v "${scriptlogdir}"
	touch "${scriptlog}"
	mkdir -v "${consolelogdir}"
	touch "${consolelog}"

	# If a server is Project Zomboid create a symbolic link to the game server logs
	if [ "${engine}" == "projectzomboid" ]; then
		ln -nfsv "${gamelogdir}" "${rootdir}/log/server"
	fi

	# If a server is source or goldsource create a symbolic link to the game server logs
	if [ "${engine}" == "source" ]||[ "${engine}" == "goldsource" ]; then
		if [ ! -h "${rootdir}/log/server" ]; then
			ln -nfsv "${gamelogdir}" "${rootdir}/log/server"
		else
			echo "Symbolic link ${gamelogdir} => ${rootdir}/log/server already exists!"
		fi
	fi

	# If a server is unreal2 or unity3d create a dir
	if [ "${engine}" == "unreal2" ]||[ "${engine}" == "unity3d" ]; then
		mkdir -pv "${gamelogdir}"
	fi
	if [ "${gamename}" == "7 Days To Die" ]; then
		if [ ! -h "${gamelogdir}/output_log.txt" ]; then
			ln -nfsv "${filesdir}/7DaysToDie_Data/output_log.txt" "${gamelogdir}/output_log.txt"
		fi
	fi

	# If a server is starbound create a symbolic link to the game server logs
	if [ "${engine}" == "starbound" ]; then
		if [ ! -h "${rootdir}/log/server" ]; then
			ln -nfsv "${gamelogdir}" "${rootdir}/log/server"
		else
			echo "Symbolic link ${gamelogdir} => ${rootdir}/log/server already exists!"
		fi
	fi

	# If server uses SteamCMD create a symbolic link to the Steam logs
	if [ -d "${rootdir}/Steam/logs" ]; then
		if [ ! -h "${rootdir}/log/steamcmd" ]; then
			ln -nfsv "${rootdir}/Steam/logs" "${rootdir}/log/steamcmd"
		else
			echo "Symbolic link ${rootdir}/Steam/logs => ${rootdir}/log/steamcmd already exists!"
		fi
	fi
	sleep 1
fi