diff --git a/lgsm/functions/update_factorio.sh b/lgsm/functions/update_factorio.sh
index 0c93aa93f..0886a0a0e 100644
--- a/lgsm/functions/update_factorio.sh
+++ b/lgsm/functions/update_factorio.sh
@@ -95,12 +95,14 @@ fn_update_factorio_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_factorio_dl
-			exitbypass=1
-			command_start.sh
-			fn_firstcommand_reset
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_jediknight2.sh b/lgsm/functions/update_jediknight2.sh
index 469a3ee18..770002254 100644
--- a/lgsm/functions/update_jediknight2.sh
+++ b/lgsm/functions/update_jediknight2.sh
@@ -5,9 +5,7 @@
 # Website: https://linuxgsm.com
 # Description: Handles updating of jk2 servers.
 
-local commandname="UPDATE"
-local commandaction="Update"
-local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
 
 fn_update_jk2_dl(){
 	fn_fetch_file "https://github.com/mvdevs/jk2mv/releases/download/${remotebuild}/jk2mv-v${remotebuild}-dedicated.zip" "" "" "" "${tmpdir}" "jk2mv-${remotebuild}-dedicated.zip" "" "norun" "noforce" "nomd5"
@@ -31,6 +29,7 @@ fn_update_jk2_localbuild(){
 	fn_print_dots "Checking local build: ${remotelocation}"
 	# Uses log file to gather info.
 	# Log is generated and cleared on startup but filled on shutdown.
+	requirerestart=1
 	localbuild=$(grep "\"version\"" "${consolelogdir}"/* 2>/dev/null | sed 's/.*://' | awk '{print $1}' | head -n 1)
 	if [ -z "${localbuild}" ]; then
 		fn_print_error "Checking local build: ${remotelocation}"
@@ -119,11 +118,14 @@ fn_update_jk2_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_jk2_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_minecraft.sh b/lgsm/functions/update_minecraft.sh
index 887882492..ef4a29a97 100644
--- a/lgsm/functions/update_minecraft.sh
+++ b/lgsm/functions/update_minecraft.sh
@@ -104,11 +104,14 @@ fn_update_minecraft_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_minecraft_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_minecraft_bedrock.sh b/lgsm/functions/update_minecraft_bedrock.sh
index ae85610da..f109a52e3 100644
--- a/lgsm/functions/update_minecraft_bedrock.sh
+++ b/lgsm/functions/update_minecraft_bedrock.sh
@@ -35,6 +35,7 @@ fn_update_minecraft_localbuild(){
 	fn_print_dots "Checking local build: ${remotelocation}"
 	# Uses log file to gather info.
 	# Log is generated and cleared on startup but filled on shutdown.
+	requirerestart=1
 	localbuild=$(grep Version "${consolelogdir}"/* 2>/dev/null | tail -1 | sed 's/.*Version //')
 	if [ -z "${localbuild}" ]; then
 		fn_print_error "Checking local build: ${remotelocation}"
@@ -123,11 +124,14 @@ fn_update_minecraft_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_minecraft_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_mta.sh b/lgsm/functions/update_mta.sh
index dc2ba9257..96afd298f 100644
--- a/lgsm/functions/update_mta.sh
+++ b/lgsm/functions/update_mta.sh
@@ -31,6 +31,7 @@ fn_update_mta_localbuild(){
 	fn_print_dots "Checking local build: ${remotelocation}"
 	# Uses log file to gather info.
 	# Gives time for log file to generate.
+	requirerestart=1
 	if [ ! -f "${serverfiles}/mods/deathmatch/logs/server.log" ]; then
 		fn_print_error "Checking local build: ${remotelocation}"
 		fn_print_error_nl "Checking local build: ${remotelocation}: no log files containing version info"
@@ -152,11 +153,14 @@ fn_update_mta_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_mta_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_mumble.sh b/lgsm/functions/update_mumble.sh
index 2fc54686d..d23f8ed36 100644
--- a/lgsm/functions/update_mumble.sh
+++ b/lgsm/functions/update_mumble.sh
@@ -88,11 +88,14 @@ fn_update_mumble_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_mumble_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_ts3.sh b/lgsm/functions/update_ts3.sh
index 5390379e2..94a56a707 100644
--- a/lgsm/functions/update_ts3.sh
+++ b/lgsm/functions/update_ts3.sh
@@ -35,6 +35,7 @@ fn_update_ts3_localbuild(){
 	fn_print_dots "Checking local build: ${remotelocation}"
 	# Uses log file to gather info.
 	# Gives time for log file to generate.
+	requirerestart=1
 	if [ ! -d "${serverfiles}/logs" ]||[ -z "$(find "${serverfiles}/logs/"* -name 'ts3server*_0.log' 2> /dev/null)" ]; then
 		fn_print_error "Checking local build: ${remotelocation}"
 		fn_print_error_nl "Checking local build: ${remotelocation}: no log files containing version info"
@@ -150,11 +151,14 @@ fn_update_ts3_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_ts3_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
diff --git a/lgsm/functions/update_vintagestory.sh b/lgsm/functions/update_vintagestory.sh
index 2edcf2db5..b2231c66e 100755
--- a/lgsm/functions/update_vintagestory.sh
+++ b/lgsm/functions/update_vintagestory.sh
@@ -88,11 +88,14 @@ fn_update_vs_compare(){
 		if [ "${status}" == "0" ]; then
 			exitbypass=1
 			fn_update_vs_dl
-			exitbypass=1
-			command_start.sh
-			exitbypass=1
-			command_stop.sh
-			fn_firstcommand_reset
+			if [ "${requirerestart}" == "1" ]; then
+				exitbypass=1
+				command_start.sh
+				fn_firstcommand_reset
+				exitbypass=1
+				command_stop.sh
+				fn_firstcommand_reset
+			fi
 		# If server started.
 		else
 			fn_print_restart_warning
@@ -131,7 +134,6 @@ fn_update_vs_compare(){
 # The location where the builds are checked and downloaded.
 remotelocation="vintagestory.at"
 apiurl="http://api.${remotelocation}/stable-unstable.json"
-localversionfile="${datadir}/vintagestoryversion"
 
 if [ "${firstcommandname}" == "INSTALL" ]; then
 	fn_update_vs_remotebuild