| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #!/bin/bash
- # LGSM fn_install_glibcfix function
- # Author: Daniel Gibbs
- # Website: http://danielgibbs.co.uk
- # Version: 210115
- fn_glibcfixmsg(){
- echo ""
- echo "GLIBC Fix required"
- echo "============================"
- sleep 1
- fn_printwarningnl "${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 -en "loading required files.\r"
- sleep 1
- echo -en "loading required files..\r"
- sleep 1
- echo -en "loading required files...\r"
- sleep 1
- echo -en "\n"
- }
- # if ldd command not detected
- if [ -z $(command -v ldd) ]; then
- echo ""
- fn_printfailurenl "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
- # if Glibc less than 1.15
- elif [ "$(ldd --version | sed -n '1 p' | tr -cd [:digit:] | tail -c 3)" -lt 215 ]; then
- # Blade Symphony
- if [ "${gamename}" == "Blade Symphony" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
- # Fistful of Frags
- elif [ "${gamename}" == "Fistful of Frags" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- 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
- glibcversion="2.15"
- 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"
- # Insurgency
- elif [ "${gamename}" == "Insurgency" ]; then
- glibcversion="2.15"
- 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
- # Natural Selection 2
- elif [ "${gamename}" == "Natural Selection 2" ]; then
- glibcversion="2.15"
- 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"
- # No More Room in Hell
- elif [ "${gamename}" == "No More Room in Hell" ]; then
- glibcversion="2.15"
- 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"
- # if Glibc less than 1.13
- elif [ "$(ldd --version | sed -n '1 p' | tr -cd [:digit:] | tail -c 3)" -lt 213 ]; then
- # ARMA 3
- if [ "${gamename}" == "ARMA 3" ]; then
- glibcversion="2.13"
- fn_glibcfixmsg
- cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
- # Just Cause 2
- elif [ "${gamename}" == "Just Cause 2" ]; then
- glibcversion="2.13"
- fn_glibcfixmsg
- cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
- # Serious Sam 3: BFE
- elif [ "${gamename}" == "Serious Sam 3: BFE" ]; then
- glibcversion="2.13"
- fn_glibcfixmsg
- cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/Bin/libstdc++.so.6"
- else
- : # Else glibcfix not required.
- fi
- else
- : #Else glibcfix not required.
- fi
- fi
- sleep 1
|