فهرست منبع

Updated glibcfix function

Updated glibcfix to reflect recent research on glibc versions required
for different servers
Daniel Gibbs 11 سال پیش
والد
کامیت
4826bef5dc
1فایلهای تغییر یافته به همراه90 افزوده شده و 92 حذف شده
  1. 90 92
      functions/fn_glibcfix

+ 90 - 92
functions/fn_glibcfix

@@ -2,104 +2,102 @@
 # LGSM fn_glibcfix function
 # Author: Daniel Gibbs
 # Website: http://danielgibbs.co.uk
-# Version: 191114
+# Version: 231114
 
 fn_glibcfixmsg(){
 echo "Detected ${gamename}"
 sleep 1
 echo ""
+echo "GLIBC Fix required"
+echo "============================"
+sleep 1
+echo -e "\e[0;31mWARNING!\e[0;39m ${gamename} requires GLIBC_${glibcversion} or above"
+sleep 1
+echo ""
+echo -e "Currently installed:\e[0;31m GLIBC_$(ldd --version |grep ldd|awk '{print $NF}')\e[0;39m"
+echo -e "Required: =>\e[0;32m GLIBC_${glibcversion}\e[0;39m"
+echo ""
+sleep 1
+echo "The installer will now detect and download the required files to allow ${gamename} server to run on a distro with less than GLIBC_${glibcversion}."
+echo "note: This will NOT upgrade GLIBC on your system."
+sleep 1
+echo ""
+echo "Downloading Required files"
+echo "================================="
+sleep 1
 }
 
-if [ "${gamename}" == "Insurgency" ]||[ "${gamename}" == "Garrys's Mod" ]||[ "${gamename}" == "Natural Selection 2" ]||[ "${gamename}" == "No More Room in Hell" ]||[ "${gamename}" == "Blade Symphony" ]||[ "${gamename}" == "Fistful of Frags" ]||[ "${gamename}" == "ARMA 3" ]; then
-	if [ -z $(command -v ldd) ]; then
-		echo ""
-		echo -e "\r\033[K\e[0;31mFAIL\e[0;39m GLIBC is not detected."
-		sleep 1
-		echo "Install GLIBC and retry installation"
-		sleep 1
-		echo ""
-		while true; do
-			read -p "Continue install? [y/N]" yn
-			case $yn in
-				[Yy]* ) break;;
-				[Nn]* ) echo Exiting; exit;;
-				 * ) echo "Please answer yes or no.";;
-			esac
-		done
-	elif [ "$(ldd --version | sed -n '1 p' | tr -cd [:digit:] | tail -c 3)" -lt 215 ]; then
-		echo "GLIBC Fix required"
-		echo "============================"
-		sleep 1
-		echo -e "\e[0;31mWARNING!\e[0;39m ${gamename} requires GLIBC_2.15 or above"
-		sleep 1
-		echo ""
-		echo "Currently installed: GLIBC_$(ldd --version |grep ldd|awk '{print $NF}')"
-		echo "Required: => GLIBC_2.15"
-		echo ""
-		sleep 1
-		echo "The installer will now detect and download the required files to allow ${gamename} server to run on a distro with GLIBC_2.14 or less."
-		echo "note: This will NOT upgrade GLIBC on your system"
-		sleep 1
-		echo ""
-		echo "Downloading Required files"
-		echo "================================="
-		sleep 1
-		if [ "${gamename}" == "Insurgency" ]; then
-			fn_glibcfixmsg
-			cd "${filesdir}/bin"
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libc.so.6
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/librt.so.1
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libpthread.so.0
-			sleep 1
-		elif [ "${gamename}" == "Garrys's Mod" ]; then
-			fn_glibcfixmsg
-			cd "${filesdir}/bin"
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libc.so.6
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libm.so.6
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libpthread.so.0
-			cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
-			sleep 1
-			echo ""
-		elif [ "${gamename}" == "Natural Selection 2" ]; then
-			fn_glibcfixmsg
-			cd "${filesdir}"
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/NaturalSelection2/dependencies/libm.so.6
-			cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
-			sleep 1
-			echo ""
-		elif [ "${gamename}" == "No More Room in Hell" ]; then
-			fn_glibcfixmsg
-			cd "${filesdir}"
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/NoMoreRoomInHell/dependencies/libm.so.6
-			cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
-			sleep 1
-			echo ""
-		elif [ "${gamename}" == "Blade Symphony" ]; then
-			fn_glibcfixmsg
-			cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
-			sleep 1
-			echo ""
-		elif [ "${gamename}" == "Fistful of Frags" ]; then
-			echo "Detected ${gamename}"
-			sleep 1
-			echo "Downloading files for ${gamename} GLIBC Fix"
-			sleep 1
-			cd "${filesdir}"
-			wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/FistfulOfFrags/dependencies/libm.so.6
-			sleep 1
-			echo ""
-		elif [ "${gamename}" == "ARMA 3" ]; then
-			fn_glibcfixmsg
-			cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
-			sleep 1
-			echo ""
-		else
-			echo "error: Unable to detect game. Fix not applied"
-		fi
-		echo "GLIBC fix has been applied!"
-		sleep 1
-		echo ""
+if [ -z $(command -v ldd) ]; then
+	echo ""
+	echo -e "\r\033[K\e[0;31mFAIL\e[0;39m GLIBC is not detected."
+	sleep 1
+	echo "Install GLIBC and retry installation"
+	sleep 1
+	echo ""
+	while true; do
+		read -p "Continue install? [y/N]" yn
+		case $yn in
+			[Yy]* ) break;;
+			[Nn]* ) echo Exiting; exit;;
+			 * ) echo "Please answer yes or no.";;
+		esac
+	done
+elif [ "$(ldd --version | sed -n '1 p' | tr -cd [:digit:] | tail -c 3)" -lt 213 ]; then
+	glibcversion="2.13"
+	fn_glibcfixmsg
+	# ARMA 3
+	if [ "${gamename}" == "ARMA 3" ]; then
+		cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
+	# Just Cause 2
+	elif [ "${gamename}" == "Just Cause 2" ]; then
+		cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
+	else
+		echo "error: Unable to detect game. Fix not applied"
+	fi
+	sleep 1
+	echo ""	
+	echo "GLIBC fix has been applied!"
+	sleep 1
+	echo ""		
+elif [ "$(ldd --version | sed -n '1 p' | tr -cd [:digit:] | tail -c 3)" -lt 215 ]; then
+	glibcversion="2.15"
+	fn_glibcfixmsg
+	# Blade Symphony
+	if [ "${gamename}" == "Blade Symphony" ]; then
+		cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
+	# Fistful of Frags	
+	elif [ "${gamename}" == "Fistful of Frags" ]; then
+		cd "${filesdir}"
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/FistfulOfFrags/dependencies/libm.so.6
+	# Garrys's Mod
+	elif [ "${gamename}" == "Garrys's Mod" ]; then
+		cd "${filesdir}/bin"
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libc.so.6
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libm.so.6
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libpthread.so.0
+		cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
+	# Insurgency
+	elif [ "${gamename}" == "Insurgency" ]; then
+		cd "${filesdir}/bin"
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libc.so.6
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/librt.so.1
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libpthread.so.0
+	# Natural Selection 2
+	elif [ "${gamename}" == "Natural Selection 2" ]; then
+		cd "${filesdir}"
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/NaturalSelection2/dependencies/libm.so.6
+		cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
+	# No More Room in Hell
+	elif [ "${gamename}" == "No More Room in Hell" ]; then
+		cd "${filesdir}"
+		wget -nv -N --no-check-certificate https://github.com/dgibbs64/linuxgameservers/raw/master/NoMoreRoomInHell/dependencies/libm.so.6
+		cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"	
+	else
+		echo "error: Unable to detect game. Fix not applied"
 	fi
-else
-	sleep 0.1
+	sleep 1
+	echo ""	
+	echo "GLIBC fix has been applied!"
+	sleep 1
+	echo ""
 fi