Browse Source
First function to be migrated to its own file. This will slowly be done over time to more functions as changes are made. The idea is to reduce the requirement to copy the same changes to every script many times. This fixes the following issue: libstdc++.so.6 fix https://github.com/dgibbs64/linuxgameservers/issues/203 This is the first release of this new file function feature any bugs please report. To apply the fix to existing servers you will need to run the installer again.pull/254/merge
4 changed files with 127 additions and 106 deletions
@ -0,0 +1,4 @@ |
|||
<h1>Linux Game Server Manager - Functions</h1> |
|||
|
|||
These functions are universal functions that work in all scripts. |
|||
|
@ -0,0 +1,10 @@ |
|||
#!/bin/bash |
|||
# LGSM fn_fninstall function |
|||
# Author: Daniel Gibbs |
|||
# Website: http://danielgibbs.co.uk |
|||
# Version: 021114 |
|||
|
|||
cd functions |
|||
#fn_glibcfix |
|||
wget https://raw.githubusercontent.com/dgibbs64/linuxgameservers/master/functions/fn_glibcfix |
|||
chmod +x fn_glibcfix |
@ -0,0 +1,102 @@ |
|||
#!/bin/bash |
|||
# LGSM fn_glibcfix function |
|||
# Author: Daniel Gibbs |
|||
# Website: http://danielgibbs.co.uk |
|||
# Version: 021114 |
|||
|
|||
fn_glibcfixmsg(){ |
|||
echo "Detected ${gamename}" |
|||
sleep 1 |
|||
echo "Downloading files for ${gamename} GLIBC Fix" |
|||
sleep 1 |
|||
} |
|||
|
|||
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 https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/libc.so.6 |
|||
wget -nv -N https://github.com/dgibbs64/linuxgameservers/raw/master/Insurgency/dependencies/librt.so.1 |
|||
wget -nv -N 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 https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libc.so.6 |
|||
wget -nv -N https://github.com/dgibbs64/linuxgameservers/raw/master/GarrysMod/dependencies/libm.so.6 |
|||
wget -nv -N 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 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}/srcds" |
|||
wget -nv -N https://github.com/dgibbs64/linuxgameservers/raw/master/NoMoreRoomInHell/dependencies/libm.so.6 |
|||
cp -v "${rootdir}/steamcmd/linux32/libstdc++.so.6" "${filesdir}/srcds/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 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 "" |
|||
fi |
Loading…
Reference in new issue