From c747136d1b6a4557386d3a524a93aa59e2e6efed Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 13 Mar 2016 01:04:41 +0000 Subject: [PATCH] Re adding functions for legacy --- functions/core_functions.sh | 454 ++++++++++++++++++++++++++++++++++ functions/fn_functions | 20 ++ functions/fn_getopt | 15 ++ functions/fn_update_functions | 22 ++ 4 files changed, 511 insertions(+) create mode 100644 functions/core_functions.sh create mode 100644 functions/fn_functions create mode 100644 functions/fn_getopt create mode 100644 functions/fn_update_functions diff --git a/functions/core_functions.sh b/functions/core_functions.sh new file mode 100644 index 000000000..8f59a57fb --- /dev/null +++ b/functions/core_functions.sh @@ -0,0 +1,454 @@ +#!/bin/bash +# LGSM core_functions.sh function +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +lgsm_version="270216" + +# Description: Defines all functions to allow download and execution of functions using fn_fetch_function. +# This function is called first before any other function. Without this file other functions would not load. + +# Code/functions for legacy servers + +fn_functions(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fn_getopt(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +# fn_fetch_core_dl also placed here to allow legecy servers to still download core functions +if [ -z "${lgsmdir}" ]; then + lgsmdir="${rootdir}/lgsm" + functionsdir="${lgsmdir}/functions" +fi + +fn_fetch_core_dl(){ +github_file_url_dir="lgsm/functions" +github_file_url_name="${functionfile}" +filedir="${functionsdir}" +filename="${github_file_url_name}" +githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}" +# If the file is missing, then download +if [ ! -f "${filedir}/${filename}" ]; then + if [ ! -d "${filedir}" ]; then + mkdir -p "${filedir}" + fi + echo -e " fetching ${filename}...\c" + # Check curl exists and use available path + curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)" + for curlcmd in ${curlpaths} + do + if [ -x "${curlcmd}" ]; then + break + fi + done + # If curl exists download file + if [ "$(basename ${curlcmd})" == "curl" ]; then + curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curlfetch}" + echo -e "${githuburl}\n" + exit 1 + else + echo -e "\e[0;32mOK\e[0m" + fi + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit 1 + fi + chmod +x "${filedir}/${filename}" +fi +source "${filedir}/${filename}" +} + + +# Core + +core_dl.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_getopt.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_messages.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +core_dl.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_core_dl +} + +# Command + +command_console.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_debug.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_details.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_email_test.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_backup.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_monitor.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_start.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_stop.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_validate.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_install.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_fastdl.sh(){ +functionfile="${FUNCNAME}" +fn_runfunction +} + +command_ts3_server_pass.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fn_restart(){ +local modulename="Restarting" +info_config.sh +if [ -d "${scriptlogdir}" ]; then + fn_scriptlog "${servername}" +fi +command_stop.sh +command_start.sh +} + + +# Checks + +check.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_config.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_deps.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_ip.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_logs.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_root.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_steamcmd.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_system_dir.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +check_tmux.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# Compress + +compress_unreal2_maps.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +compress_ut99_maps.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# Dev + +command_dev_debug.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_dev_detect_deps.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# Fix + +fix.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_arma3.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_csgo.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_dst.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_ins.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_steamcmd.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_glibc.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_ro.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_kf.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_ut2k4.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# Info + +info_config.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +info_distro.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +info_glibc.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +info_ts3status.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# Email + +email.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +# Logs + +logs.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# Monitor + +monitor_gsquery.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +# Update + +update_check.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +command_update_functions.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +update_dl.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fn_update_functions.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + + +# +## Installer functions +# + +fn_autoinstall(){ +autoinstall=1 +command_install.sh +} + +install_complete.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_config.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_gsquery.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_gslt.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_header.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_logs.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_retry.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_server_dir.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} +install_server_files.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_steamcmd.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_ts3.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_ts3db.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_ut2k4.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_dl_ut2k4.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +install_ut2k4_key.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +fix_ut99.sh(){ +functionfile="${FUNCNAME}" +fn_fetch_function +} + +# Calls on-screen messages +core_messages.sh + +#Calls file downloader +core_dl.sh diff --git a/functions/fn_functions b/functions/fn_functions new file mode 100644 index 000000000..f6ea53f55 --- /dev/null +++ b/functions/fn_functions @@ -0,0 +1,20 @@ +#!/bin/bash +# LGSM core_functions.sh function +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +lgsm_version="271215" + +# Description: Redirect to new core_functions.sh + +core_functions.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_runfunction +} + +core_getopt.sh(){ +functionfile="${FUNCNAME}" +fn_runfunction +} + +core_functions.sh \ No newline at end of file diff --git a/functions/fn_getopt b/functions/fn_getopt new file mode 100644 index 000000000..8b52e1865 --- /dev/null +++ b/functions/fn_getopt @@ -0,0 +1,15 @@ +#!/bin/bash +# LGSM core_getopt.sh function +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +lgsm_version="271215" + +# Description: Redirect to new core_getopt.sh + +core_getopt.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_runfunction +} + +core_getopt.sh \ No newline at end of file diff --git a/functions/fn_update_functions b/functions/fn_update_functions new file mode 100644 index 000000000..5fbb28975 --- /dev/null +++ b/functions/fn_update_functions @@ -0,0 +1,22 @@ +#!/bin/bash +# LGSM fn_update_functions.sh function +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +lgsm_version="230116" + +# Description: LEGACY FUNCTION Deletes the functions dir to allow re-downloading of functions from GitHub. + +fn_print_dots "Updating functions" +fn_scriptlog "Updating functions" +sleep 1 +echo -ne "\n" +rm -rfv "${rootdir}/functions/"* +exitcode=$? +if [ "${exitcode}" == "0" ]; then + fn_print_ok "Updating functions" + fn_scriptlog "Success! Updating functions" +else + fn_print_fail "Updating functions" + fn_scriptlog "Failure! Updating functions" +fi +echo -ne "\n" \ No newline at end of file