| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- #!/bin/bash
- # LGSM fix_glibc.sh function
- # Author: Daniel Gibbs
- # Website: http://gameservermanagers.com
- lgsm_version="271215"
- 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."
- echo ""
- echo "http://gameservermanagers.com/glibcfix"
- 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 -e -i "y" -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"
- # Double Action: Boogaloo
- elif [ "${gamename}" == "Double Action: Boogaloo" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- cd "${filesdir}"
- wget -nv -N https://github.com/dgibbs64/linuxgsm/blob/master/DoubleActionBoogaloo/dependencies/libm.so.6
- # Fistful of Frags
- elif [ "${gamename}" == "Fistful of Frags" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- cd "${filesdir}"
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/FistfulOfFrags/dependencies/libm.so.6
- # Garry's Mod
- elif [ "${gamename}" == "Garry's Mod" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- cd "${filesdir}/bin"
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/GarrysMod/dependencies/libc.so.6
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/GarrysMod/dependencies/libm.so.6
- wget -nv -N https://github.com/dgibbs64/linuxgsm/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 https://github.com/dgibbs64/linuxgsm/raw/master/Insurgency/dependencies/libc.so.6
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/Insurgency/dependencies/libm.so.6
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/Insurgency/dependencies/librt.so.1
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/Insurgency/dependencies/libpthread.so.0
- elif [ "${gamename}" == "Left 4 Dead" ]; then
- glibcversion="2.07"
- fn_glibcfixmsg
- cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/bin/libstdc++.so.6"
- # Natural Selection 2
- elif [ "${gamename}" == "Natural Selection 2" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- cd "${filesdir}"
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/NaturalSelection2/dependencies/libm.so.6
- cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/libstdc++.so.6"
- # NS2: Combat
- elif [ "${gamename}" == "NS2: Combat" ]; then
- glibcversion="2.15"
- fn_glibcfixmsg
- cd "${filesdir}"
- wget -nv -N https://github.com/dgibbs64/linuxgsm/raw/master/NS2Combat/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 https://github.com/dgibbs64/linuxgsm/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
|