|
|
@ -6,13 +6,13 @@ |
|
|
|
|
|
|
|
local commandname="CHECK" |
|
|
|
|
|
|
|
fn_add_mono_repo(){ |
|
|
|
fn_install_mono_repo(){ |
|
|
|
if [ "${monostatus}" != "0" ]; then |
|
|
|
fn_print_dots_nl "Adding Mono repository" |
|
|
|
fn_print_dots "Adding Mono repository" |
|
|
|
sleep 0.5 |
|
|
|
sudo -v > /dev/null 2>&1 |
|
|
|
if [ $? -eq 0 ]; then |
|
|
|
fn_print_information_nl "Automatically adding Mono repository." |
|
|
|
fn_print_info_nl "Automatically adding Mono repository." |
|
|
|
fn_script_log_info "Automatically adding Mono repository." |
|
|
|
echo -en ".\r" |
|
|
|
sleep 1 |
|
|
@ -32,10 +32,10 @@ fn_add_mono_repo(){ |
|
|
|
cmd="sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF;sudo apt install apt-transport-https;echo 'deb https://download.mono-project.com/repo/ubuntu stable-trusty main' | sudo tee /etc/apt/sources.list.d/mono-official-stable.list;sudo apt update" |
|
|
|
eval ${cmd} |
|
|
|
else |
|
|
|
fn_print_warn_nl "Installing Mono repository" |
|
|
|
echo "Mono auto install not available for ${distroname}" |
|
|
|
echo " Follow instructions on mono site to install latest version of Mono" |
|
|
|
echo " Follow instructions on mono site to install the latest version of Mono." |
|
|
|
echo " https://www.mono-project.com/download/stable/#download-lin" |
|
|
|
echo "" |
|
|
|
monoautoinstall="1" |
|
|
|
fi |
|
|
|
elif [ "${distroid}" == "debian" ]; then |
|
|
@ -47,9 +47,8 @@ fn_add_mono_repo(){ |
|
|
|
eval ${cmd} |
|
|
|
else |
|
|
|
echo "Mono auto install not available for ${distroname}" |
|
|
|
echo " Follow instructions on mono site to install latest version of Mono" |
|
|
|
echo " Follow instructions on mono site to install the latest version of Mono." |
|
|
|
echo " https://www.mono-project.com/download/stable/#download-lin" |
|
|
|
echo "" |
|
|
|
monoautoinstall="1" |
|
|
|
fi |
|
|
|
elif [ "${distroid}" == "centos" ]; then |
|
|
@ -61,9 +60,8 @@ fn_add_mono_repo(){ |
|
|
|
eval ${cmd} |
|
|
|
else |
|
|
|
echo "Mono auto install not available for ${distroname}" |
|
|
|
echo " Follow instructions on mono site to install latest version of Mono" |
|
|
|
echo " Follow instructions on mono site to install the latest version of Mono." |
|
|
|
echo " https://www.mono-project.com/download/stable/#download-lin" |
|
|
|
echo "" |
|
|
|
monoautoinstall="1" |
|
|
|
fi |
|
|
|
elif [ "${distroid}" == "fedora" ]; then |
|
|
@ -71,29 +69,28 @@ fn_add_mono_repo(){ |
|
|
|
eval ${cmd} |
|
|
|
else |
|
|
|
echo "Mono auto install not available for ${distroname}" |
|
|
|
echo " Follow instructions on mono site to install latest version of Mono" |
|
|
|
echo " Follow instructions on mono site to install the latest version of Mono." |
|
|
|
echo " https://www.mono-project.com/download/stable/#download-lin" |
|
|
|
echo "" |
|
|
|
monoautoinstall="1" |
|
|
|
fi |
|
|
|
if [ "${monoautoinstall}" -ne "1" ];then |
|
|
|
if [ "${monoautoinstall}" != "1" ];then |
|
|
|
if [ $? != 0 ]; then |
|
|
|
fn_print_failure_nl "Unable to add Mono repository" |
|
|
|
fn_script_log_fatal "Unable to add Mono repository" |
|
|
|
fn_print_failure_nl "Unable to install Mono repository." |
|
|
|
fn_script_log_fatal "Unable to installMono repository." |
|
|
|
monoautoinstall=1 |
|
|
|
else |
|
|
|
fn_print_complete_nl "Add Mono repository completed" |
|
|
|
fn_script_log_pass "Add Mono repository completed" |
|
|
|
fn_print_complete_nl "Installing Mono repository completed." |
|
|
|
fn_script_log_pass "Installing Mono repository completed." |
|
|
|
monoautoinstall=0 |
|
|
|
fi |
|
|
|
fi |
|
|
|
else |
|
|
|
fn_print_information_nl "Installing Mono repository" |
|
|
|
echo "" |
|
|
|
fn_print_warning_nl "$(whoami) does not have sudo access. Manually add Mono repository." |
|
|
|
fn_script_log_warn "$(whoami) does not have sudo access. Manually add Mono repository." |
|
|
|
echo " Follow instructions on mono site to install latest version of Mono" |
|
|
|
fn_print_warning_nl "$(whoami) does not have sudo access. Manually install Mono repository." |
|
|
|
fn_script_log_warn "$(whoami) does not have sudo access. Manually install Mono repository." |
|
|
|
echo " Follow instructions on mono site to install the latest version of Mono." |
|
|
|
echo " https://www.mono-project.com/download/stable/#download-lin" |
|
|
|
echo "" |
|
|
|
fi |
|
|
|
fi |
|
|
|
} |
|
|
@ -111,15 +108,14 @@ fn_deps_detector(){ |
|
|
|
deptocheck="${javaversion}" |
|
|
|
unset javacheck |
|
|
|
elif [ "${deptocheck}" == "mono-complete" ]; then |
|
|
|
|
|
|
|
if [ "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then |
|
|
|
# Mono >= 5.0.0 already installed |
|
|
|
depstatus=0 |
|
|
|
else |
|
|
|
# Mono not installed or installed Mono < 5.0.0 |
|
|
|
depstatus=1 |
|
|
|
monostatus=1 |
|
|
|
fi |
|
|
|
if [ "$(command -v mono 2>/dev/null)" ]&&[ "$(mono --version 2>&1 | grep -Po '(?<=version )\d')" -ge 5 ]; then |
|
|
|
# Mono >= 5.0.0 already installed |
|
|
|
depstatus=0 |
|
|
|
else |
|
|
|
# Mono not installed or installed Mono < 5.0.0 |
|
|
|
depstatus=1 |
|
|
|
monostatus=1 |
|
|
|
fi |
|
|
|
elif [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then |
|
|
|
dpkg-query -W -f='${Status}' "${deptocheck}" 2>/dev/null | grep -q -P '^install ok installed' |
|
|
|
depstatus=$? |
|
|
@ -133,14 +129,17 @@ fn_deps_detector(){ |
|
|
|
missingdep=0 |
|
|
|
if [ "${function_selfname}" == "command_install.sh" ]; then |
|
|
|
echo -e "${green}${deptocheck}${default}" |
|
|
|
sleep 0.5 |
|
|
|
sleep 0.2 |
|
|
|
fi |
|
|
|
else |
|
|
|
# if dependency is not found |
|
|
|
missingdep=1 |
|
|
|
if [ "${function_selfname}" == "command_install.sh" ]; then |
|
|
|
echo -e "${red}${deptocheck}${default}" |
|
|
|
sleep 0.5 |
|
|
|
sleep 0.2 |
|
|
|
fi |
|
|
|
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "libstdc++6:i386" ]; then |
|
|
|
steamcmdfail=1 |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
@ -181,7 +180,7 @@ fn_found_missing_deps(){ |
|
|
|
fn_script_log_error "Checking dependencies: missing: ${array_deps_missing[@]}" |
|
|
|
sleep 0.5 |
|
|
|
if [ -n "${monostatus}" ]; then |
|
|
|
fn_add_mono_repo |
|
|
|
fn_install_mono_repo |
|
|
|
fi |
|
|
|
sudo -v > /dev/null 2>&1 |
|
|
|
if [ $? -eq 0 ]; then |
|
|
@ -207,6 +206,22 @@ fn_found_missing_deps(){ |
|
|
|
if [ $? != 0 ]; then |
|
|
|
fn_print_failure_nl "Unable to install dependencies" |
|
|
|
fn_script_log_fatal "Unable to install dependencies" |
|
|
|
echo "" |
|
|
|
fn_print_warning_nl "Manually install dependencies." |
|
|
|
fn_script_log_warn "Manually install dependencies." |
|
|
|
if [ -n "$(command -v dpkg-query 2>/dev/null)" ]; then |
|
|
|
echo " sudo dpkg --add-architecture i386; sudo apt update; sudo apt install ${array_deps_missing[@]}" |
|
|
|
elif [ -n "$(command -v dnf 2>/dev/null)" ]; then |
|
|
|
echo " sudo dnf install ${array_deps_missing[@]}" |
|
|
|
elif [ -n "$(command -v yum 2>/dev/null)" ]; then |
|
|
|
echo " sudo yum install ${array_deps_missing[@]}" |
|
|
|
fi |
|
|
|
if [ "${steamcmdfail}" ]; then |
|
|
|
echo "" |
|
|
|
fn_print_failure_nl "Missing dependencies required to run SteamCMD." |
|
|
|
fn_script_log_fatal "Missing dependencies required to run SteamCMD." |
|
|
|
core_exit.sh |
|
|
|
fi |
|
|
|
else |
|
|
|
fn_print_complete_nl "Install dependencies completed" |
|
|
|
fn_script_log_pass "Install dependencies completed" |
|
|
@ -222,6 +237,12 @@ fn_found_missing_deps(){ |
|
|
|
elif [ -n "$(command -v yum 2>/dev/null)" ]; then |
|
|
|
echo " sudo yum install ${array_deps_missing[@]}" |
|
|
|
fi |
|
|
|
if [ "${steamcmdfail}" ]; then |
|
|
|
echo "" |
|
|
|
fn_print_failure_nl "Missing dependencies required to run SteamCMD." |
|
|
|
fn_script_log_fatal "Missing dependencies required to run SteamCMD." |
|
|
|
core_exit.sh |
|
|
|
fi |
|
|
|
echo "" |
|
|
|
fi |
|
|
|
if [ "${function_selfname}" == "command_install.sh" ]; then |
|
|
@ -355,7 +376,7 @@ fn_deps_build_redhat(){ |
|
|
|
array_deps_required=( curl wget util-linux-ng python file gzip bzip2 unzip binutils bc ) |
|
|
|
elif [ "${distroid}" == "fedora" ]; then |
|
|
|
array_deps_required=( curl wget util-linux python2 file gzip bzip2 unzip binutils bc ) |
|
|
|
elif [ "${distroname}" == *"Amazon Linux AMI"* ]; then |
|
|
|
elif [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then |
|
|
|
array_deps_required=( curl wget util-linux python27 file gzip bzip2 unzip binutils bc ) |
|
|
|
else |
|
|
|
array_deps_required=( curl wget util-linux python file gzip bzip2 unzip binutils bc ) |
|
|
@ -372,9 +393,9 @@ fn_deps_build_redhat(){ |
|
|
|
|
|
|
|
# All servers except ts3,mumble,multitheftauto and minecraft servers require glibc.i686 and libstdc++.i686 |
|
|
|
if [ "${shortname}" != "ts3" ]&&[ "${shortname}" != "mumble" ]&&[ "${shortname}" != "nc" ]&&[ "${engine}" != "renderware" ]; then |
|
|
|
if [ "${distroname}" == *"Amazon Linux AMI"* ]; then |
|
|
|
array_deps_required+=( glibc.i686 libstdc++64.i686 ) |
|
|
|
else |
|
|
|
if [[ "${distroname}" == *"Amazon Linux AMI"* ]]; then |
|
|
|
array_deps_required+=( glibc.i686 libstdc++64.i686 ) |
|
|
|
else |
|
|
|
array_deps_required+=( glibc.i686 libstdc++.i686 ) |
|
|
|
fi |
|
|
|
fi |
|
|
|