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

Resshuffled code to better suite exitcodes

Daniel Gibbs 10 лет назад
Родитель
Сommit
6deeb0a706
1 измененных файлов с 77 добавлено и 80 удалено
  1. 77 80
      lgsm/functions/command_start.sh

+ 77 - 80
lgsm/functions/command_start.sh

@@ -74,97 +74,94 @@ fn_start_tmux(){
 		mv "${consolelog}" "${consolelogdate}"
 	fi
 
-	# If server is already running exit
 	check_status.sh
 	if [ "${status}" != "0" ]; then
+		# If server is already running exit
 		fn_print_info_nl "${servername} is already running"
 		fn_script_log_error "${servername} is already running"
-		core_exit.sh
-	fi
-
-	# Create lock file
-	date > "${rootdir}/${lockselfname}"
-	cd "${executabledir}"
-	tmux new-session -d -s "${servicename}" "${executable} ${parms}" 2> "${scriptlogdir}/.${servicename}-tmux-error.tmp"
-
-	# tmux pipe-pane not supported in tmux versions < 1.6
-	if [ "$(tmux -V|sed "s/tmux //"|sed -n '1 p'|tr -cd '[:digit:]')" -lt "16" ]; then
-		echo "Console logging disabled: Tmux => 1.6 required" >> "${consolelog}"
-		echo "https://gameservermanagers.com/tmux-upgrade" >> "${consolelog}"
-		echo "Currently installed: $(tmux -V)" >> "${consolelog}"
-
-	# Console logging disabled: Bug in tmux 1.8 breaks logging
-	elif [ "$(tmux -V|sed "s/tmux //"|sed -n '1 p'|tr -cd '[:digit:]')" -eq "18" ]; then
-		echo "Console logging disabled: Bug in tmux 1.8 breaks logging" >> "${consolelog}"
-		echo "https://gameservermanagers.com/tmux-upgrade" >> "${consolelog}"
-		echo "Currently installed: $(tmux -V)" >> "${consolelog}"
-
-	# Console logging enable or not set
-	elif [ "${consolelogging}" == "on" ]||[ -z "${consolelogging}" ]; then
-		touch "${consolelog}"
-		tmux pipe-pane -o -t "${servicename}" "exec cat >> '${consolelog}'"
-
-	# Console logging disabled
-	elif [ "${consolelogging}" == "off" ]; then
-		touch "${consolelog}"
-		cat "Console logging disabled by user" >> "{consolelog}"
-		fn_script_log_info "Console logging disabled by user"
-	fi
-	sleep 1
-
-	# If the server fails to start
-	check_status.sh
-	if [ "${status}" == "0" ]; then
-		fn_print_fail_nl "Unable to start ${servername}"
-		fn_script_log_fatal "Unable to start ${servername}"
+	else
+		# Create lock file
+		date > "${rootdir}/${lockselfname}"
+
+		# Start session
+		cd "${executabledir}"
+		tmux new-session -d -s "${servicename}" "${executable} ${parms}" 2> "${scriptlogdir}/.${servicename}-tmux-error.tmp"
+
+		## Console logging
+		# tmux pipe-pane not supported in tmux versions < 1.6
+		if [ "$(tmux -V|sed "s/tmux //"|sed -n '1 p'|tr -cd '[:digit:]')" -lt "16" ]; then
+			echo "Console logging disabled: Tmux => 1.6 required" >> "${consolelog}"
+			echo "https://gameservermanagers.com/tmux-upgrade" >> "${consolelog}"
+			echo "Currently installed: $(tmux -V)" >> "${consolelog}"
+		# Console logging disabled: Bug in tmux 1.8 breaks logging
+		elif [ "$(tmux -V|sed "s/tmux //"|sed -n '1 p'|tr -cd '[:digit:]')" -eq "18" ]; then
+			echo "Console logging disabled: Bug in tmux 1.8 breaks logging" >> "${consolelog}"
+			echo "https://gameservermanagers.com/tmux-upgrade" >> "${consolelog}"
+			echo "Currently installed: $(tmux -V)" >> "${consolelog}"
+		# Console logging enable or not set
+		elif [ "${consolelogging}" == "on" ]||[ -z "${consolelogging}" ]; then
+			touch "${consolelog}"
+			tmux pipe-pane -o -t "${servicename}" "exec cat >> '${consolelog}'"
+		# Console logging disabled
+		elif [ "${consolelogging}" == "off" ]; then
+			touch "${consolelog}"
+			cat "Console logging disabled by user" >> "{consolelog}"
+			fn_script_log_info "Console logging disabled by user"
+		fi
 		sleep 1
-		if [ -s "${scriptlogdir}/.${servicename}-tmux-error.tmp" ]; then
-			fn_print_fail_nl "Unable to start ${servername}: Tmux error:"
-			fn_script_log_fatal "Unable to start ${servername}: Tmux error:"
-			echo ""
-			echo "Command"
-			echo "================================="
-			echo "tmux new-session -d -s \"${servicename}\" \"${executable} ${parms}\"" | tee -a "${scriptlog}"
-			echo ""
-			echo "Error"
-			echo "================================="
-			cat "${scriptlogdir}/.${servicename}-tmux-error.tmp" | tee -a "${scriptlog}"
 
-			# Detected error https://gameservermanagers.com/issues
-			if [ $(grep -c "Operation not permitted" "${scriptlogdir}/.${servicename}-tmux-error.tmp") ]; then
-			echo ""
-			echo "Fix"
-			echo "================================="
-				if [ ! $(grep "tty:" /etc/group|grep "$(whoami)") ]; then
-					echo "$(whoami) is not part of the tty group."
-					fn_script_log_info "$(whoami) is not part of the tty group."
-					group=$(grep tty /etc/group)
-					echo ""
-					echo "	${group}"
-					fn_script_log_info "${group}"
+		# Check if the server fails to start
+		check_status.sh
+		if [ "${status}" == "0" ]; then
+			fn_print_fail_nl "Unable to start ${servername}"
+			fn_script_log_fatal "Unable to start ${servername}"
+			sleep 1
+			if [ -s "${scriptlogdir}/.${servicename}-tmux-error.tmp" ]; then
+				fn_print_fail_nl "Unable to start ${servername}: Tmux error:"
+				fn_script_log_fatal "Unable to start ${servername}: Tmux error:"
+				echo ""
+				echo "Command"
+				echo "================================="
+				echo "tmux new-session -d -s \"${servicename}\" \"${executable} ${parms}\"" | tee -a "${scriptlog}"
+				echo ""
+				echo "Error"
+				echo "================================="
+				cat "${scriptlogdir}/.${servicename}-tmux-error.tmp" | tee -a "${scriptlog}"
+
+				# Detected error https://gameservermanagers.com/issues
+				if [ $(grep -c "Operation not permitted" "${scriptlogdir}/.${servicename}-tmux-error.tmp") ]; then
 					echo ""
-					echo "Run the following command with root privileges."
-					echo ""
-					echo "	usermod -G tty $(whoami)"
-					echo ""
-					echo "https://gameservermanagers.com/tmux-op-perm"
-					fn_script_log_info "https://gameservermanagers.com/tmux-op-perm"
-				else
-					echo "No known fix currently. Please log an issue."
-					fn_script_log_info "No known fix currently. Please log an issue."
-					echo "https://gameservermanagers.com/issues"
-					fn_script_log_info "https://gameservermanagers.com/issues"
+					echo "Fix"
+					echo "================================="
+					if [ ! $(grep "tty:" /etc/group|grep "$(whoami)") ]; then
+						echo "$(whoami) is not part of the tty group."
+						fn_script_log_info "$(whoami) is not part of the tty group."
+						group=$(grep tty /etc/group)
+						echo ""
+						echo "	${group}"
+						fn_script_log_info "${group}"
+						echo ""
+						echo "Run the following command with root privileges."
+						echo ""
+						echo "	usermod -G tty $(whoami)"
+						echo ""
+						echo "https://gameservermanagers.com/tmux-op-perm"
+						fn_script_log_info "https://gameservermanagers.com/tmux-op-perm"
+					else
+						echo "No known fix currently. Please log an issue."
+						fn_script_log_info "No known fix currently. Please log an issue."
+						echo "https://gameservermanagers.com/issues"
+						fn_script_log_info "https://gameservermanagers.com/issues"
+					fi
 				fi
 			fi
+		else
+			fn_print_ok "${servername}"
+			fn_script_log_pass "Started ${servername}"
 		fi
-
-		core_exit.sh
-	else
-		fn_print_ok "${servername}"
-		fn_script_log_pass "Started ${servername}"
+		rm "${scriptlogdir}/.${servicename}-tmux-error.tmp"
+		echo -en "\n"
 	fi
-	rm "${scriptlogdir}/.${servicename}-tmux-error.tmp"
-	echo -en "\n"
 }
 
 check.sh