| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/bin/bash
- # LinuxGSM command_validate.sh function
- # Author: Daniel Gibbs
- # Website: https://linuxgsm.com
- # Description: Runs a server validation.
- commandname="VALIDATE"
- commandaction="Validating"
- functionselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")"
- fn_validate(){
- fn_script_log_warn "Validating server: SteamCMD: Validate might overwrite some customised files"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Validating server: SteamCMD: Validate might overwrite some customised files: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Validating server: SteamCMD: Validate might overwrite some customised files"
- fn_print_start_nl "Validating server: SteamCMD"
- fn_script_log_info "Validating server: SteamCMD"
- if [ -d "${steamcmddir}" ]; then
- cd "${steamcmddir}" || exit
- fi
- # Detects if unbuffer command is available, for 32 bit distributions only.
- info_distro.sh
- if [ "$(command -v stdbuf)" ]&&[ "${arch}" != "x86_64" ]; then
- unbuffer="stdbuf -i0 -o0 -e0"
- fi
- # If GoldSrc (appid 90) servers. GoldSrc (appid 90) require extra commands.
- if [ "${appid}" == "90" ]; then
- # If using a specific branch.
- if [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_info_print 70 +app_set_config 90 mod "${appidmod}" +app_update "${appid}" "${branch}" +app_update "${appid}" validate +quit | tee -a "${lgsmlog}"
- fi
- elif [ "${shortname}" == "ac" ]; then
- ${unbuffer} ${steamcmdcommand} +@sSteamCmdForcePlatformType windows +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" validate +quit
- local exitcode=$?
- # All other servers.
- elif [ -n "${branch}" ]; then
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" -beta "${branch}" validate +quit | tee -a "${lgsmlog}"
- else
- ${unbuffer} ${steamcmdcommand} +login "${steamuser}" "${steampass}" +force_install_dir "${serverfiles}" +app_update "${appid}" validate +quit | tee -a "${lgsmlog}"
- fi
- exitcode=$?
- fn_print_dots "Validating server: SteamCMD"
- if [ "${exitcode}" != "0" ]; then
- fn_print_fail_nl "Validating server: SteamCMD"
- fn_script_log_fatal "Validating server: SteamCMD: FAIL"
- else
- fn_print_ok_nl "Validating server: SteamCMD"
- fn_script_log_pass "Validating server: SteamCMD: OK"
- fi
- core_exit.sh
- }
- fn_stop_warning(){
- fn_print_warn "Validating server: SteamCMD: ${selfname} will be stopped during validation"
- fn_script_log_warn "Validating server: SteamCMD: ${selfname} will be stopped during validation"
- totalseconds=3
- for seconds in {3..1}; do
- fn_print_warn "Validating server: SteamCMD: ${selfname} will be stopped during validation: ${totalseconds}"
- totalseconds=$((totalseconds - 1))
- sleep 1
- if [ "${seconds}" == "0" ]; then
- break
- fi
- done
- fn_print_warn_nl "Validating server: SteamCMD: ${selfname} will be stopped during validation"
- }
- fn_print_dots "Validating server"
- fn_print_dots "Validating server: SteamCMD"
- check.sh
- if [ "${status}" != "0" ]; then
- fn_stop_warning
- exitbypass=1
- command_stop.sh
- fn_validate
- exitbypass=1
- command_start.sh
- else
- fn_validate
- fi
- core_exit.sh
|