Răsfoiți Sursa

Merge pull request #2063 from vectorsigma/master

Fix the missing library segfault issue #2062
Daniel Gibbs 7 ani în urmă
părinte
comite
a500d52bbe
2 a modificat fișierele cu 31 adăugiri și 0 ștergeri
  1. 2 0
      lgsm/functions/fix.sh
  2. 29 0
      lgsm/functions/fix_tf2.sh

+ 2 - 0
lgsm/functions/fix.sh

@@ -85,6 +85,8 @@ if [ "${function_selfname}" == "command_install.sh" ]; then
 			fix_ut.sh
 		elif [ "${gamename}" == "Unreal Tournament 3" ]; then
 			fix_ut3.sh
+		elif [ "${gamename}" == "Team Fortress 2" ]; then
+			fix_tf2.sh
 		else
 			fn_print_information_nl "No fixes required."
 		fi

+ 29 - 0
lgsm/functions/fix_tf2.sh

@@ -0,0 +1,29 @@
+#!/bin/bash
+# LinuxGSM fix_tf2.sh function
+# Author: Vector Sigma
+# Website: https://github.com/vectorsigma
+# Description: Resolves various issues with Team Fortress 2.
+
+local commandname="FIX"
+local commandaction="Fix"
+local function_selfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
+
+if [[ -f /etc/redhat-release ]]; then
+	echo "Applying missing libcurl-gnutls.so.4 fix for Redhat-based systems."
+	cd ${serverfiles}/bin || exit
+	if [[ -L libcurl-gnutls.so.4 ]]; then
+		echo "Fix already applied."
+	else
+		curl_lib="/usr/lib/libcurl.so.4"
+		if [[ -L $curl_lib ]]; then
+			ln -nfs $curl_lib libcurl-gnutls.so.4
+			if [[ "$?" != "0" ]]; then
+				echo "Fix failed, ln exitied non-zero."
+			else
+				echo "Fix applied successfully."
+			fi
+		else
+			echo "Missing library: $curl_lib, dnf -y install libcurl.i686"
+		fi
+	 fi
+fi