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

fix(squad): move systemdir to new location (#3036)

Christian 5 лет назад
Родитель
Сommit
9e7ce431b2

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

@@ -152,7 +152,7 @@ glibc="2.17"
 # Edit with care
 
 ## Game Server Directories
-systemdir="${serverfiles}/Squad"
+systemdir="${serverfiles}/SquadGame"
 executabledir="${serverfiles}"
 executable="./SquadGameServer.sh"
 servercfgdir="${systemdir}/ServerConfig"

+ 5 - 0
lgsm/functions/core_functions.sh

@@ -450,6 +450,11 @@ functionfile="${FUNCNAME[0]}"
 fn_fetch_function
 }
 
+fix_squad.sh(){
+functionfile="${FUNCNAME[0]}"
+fn_fetch_function
+}
+
 fix_ss3.sh(){
 functionfile="${FUNCNAME[0]}"
 fn_fetch_function

+ 2 - 0
lgsm/functions/fix.sh

@@ -70,6 +70,8 @@ if [ "${commandname}" != "INSTALL" ]&&[ -z "${fixbypass}" ]; then
 		fix_sfc.sh
 	elif [ "${shortname}" == "sof2" ]; then
 		fix_sof2.sh
+	elif [ "${shortname}" == "squad" ]; then
+		fix_squad.sh
 	elif [ "${shortname}" == "ss3" ]; then
 		fix_ss3.sh
 	elif [ "${shortname}" == "tf2" ]; then

+ 23 - 0
lgsm/functions/fix_squad.sh

@@ -0,0 +1,23 @@
+#!/bin/bash
+# LinuxGSM fix_squad.sh function
+# Author: Christian Birk
+# Website: https://linuxgsm.com
+# Description: Resolves various issues with Squad.
+
+# As the server base dir changed for the game, we need to migrate the default config from the old to the new location
+oldservercfg="${serverfiles}/Squad/ServerConfig/${servercfg}"
+if [ -f "${oldservercfg}" ] && [ -f "${servercfgfullpath}" ]; then
+	# diff old and new config - if it is different move the old config over the new one
+	if [ $(diff -c "${oldservercfg}" "${servercfgfullpath}" | wc -l) -gt 0 ]; then
+		fixname="Migrate server config to new Game folder"
+		fn_fix_msg_start
+		mv -v "${oldservercfg}" "${servercfgfullpath}"
+		fn_fix_msg_end
+	else
+		fixname="remove the same config from old configdir"
+		fn_fix_msg_start
+		rm -f "${oldservercfg}"
+		fn_fix_msg_end
+
+	fi
+fi