4
0
Эх сурвалжийг харах

add alterative location for steamclient.so

Daniel Gibbs 6 жил өмнө
parent
commit
9ab09d9e9d

+ 28 - 4
lgsm/functions/fix_steamcmd.sh

@@ -13,7 +13,13 @@ if [ ! -f "${HOME}/.steam/sdk32/steamclient.so" ]; then
 	fixname="steamclient.so"
 	fixname="steamclient.so"
 	fn_fix_msg_start
 	fn_fix_msg_start
 	mkdir -pv "${HOME}/.steam/sdk32" >> "${lgsmlog}"
 	mkdir -pv "${HOME}/.steam/sdk32" >> "${lgsmlog}"
-	cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}"
+	if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then
+		cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}"
+	elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then
+		cp -v "${steamcmddir}/linux32/steamclient.so" "${HOME}/.steam/sdk32/steamclient.so" >> "${lgsmlog}"
+	else
+		$?=2
+	fi
 	fn_fix_msg_end
 	fn_fix_msg_end
 fi
 fi
 
 
@@ -22,7 +28,13 @@ if [ "${shortname}" == "bt" ]; then
 	if [ ! -L "${executabledir}/lib64/steamclient.so" ]; then
 	if [ ! -L "${executabledir}/lib64/steamclient.so" ]; then
 		fixname="steamclient.so x86_64"
 		fixname="steamclient.so x86_64"
 		fn_fix_msg_start
 		fn_fix_msg_start
-		cp -s -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}"
+		if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
+			cp -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}"
+		elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
+			cp -v "${steamcmddir}/linux64/steamclient.so" "${executabledir}/lib64/steamclient.so" >> "${lgsmlog}"
+		else
+			$?=2
+		fi
 		fn_fix_msg_end
 		fn_fix_msg_end
 	fi
 	fi
 elif [ "${shortname}" == "ss3" ]; then
 elif [ "${shortname}" == "ss3" ]; then
@@ -39,13 +51,25 @@ elif [ "${shortname}" == "hw" ]; then
 	if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then
 	if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" ]; then
 		fixname="steamclient.so x86"
 		fixname="steamclient.so x86"
 		fn_fix_msg_start
 		fn_fix_msg_start
-		cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}"
+		if [ -f "${HOME}/.steam/steamcmd/linux32/steamclient.so" ]; then
+			cp -v "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}"
+		elif [ -f "${steamcmddir}/linux32/steamclient.so" ]; then
+			cp -v "${steamcmddir}/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86/steamclient.so" >> "${lgsmlog}"
+		else
+			:
+		fi
 		fn_fix_msg_end
 		fn_fix_msg_end
 	fi
 	fi
 	if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then
 	if [ ! -f "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" ]; then
 		fixname="steamclient.so x86_64"
 		fixname="steamclient.so x86_64"
 		fn_fix_msg_start
 		fn_fix_msg_start
-		cp "${HOME}/.steam/steamcmd/linux32/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}"
+		if [ -f "${HOME}/.steam/steamcmd/linux64/steamclient.so" ]; then
+			cp -v "${HOME}/.steam/steamcmd/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}"
+		elif [ -f "${steamcmddir}/linux64/steamclient.so" ]; then
+			cp -v "${steamcmddir}/linux64/steamclient.so" "${serverfiles}/Hurtworld_Data/Plugins/x86_64/steamclient.so" >> "${lgsmlog}"
+		else
+			:
+		fi
 		fn_fix_msg_end
 		fn_fix_msg_end
 	fi
 	fi
 elif [ "${shortname}" == "tu" ]; then
 elif [ "${shortname}" == "tu" ]; then