From 7760c3a6f4cbffb10597a7bf89c5bf5c88334e4f Mon Sep 17 00:00:00 2001 From: Steve Axtmann Date: Sat, 27 Jan 2024 17:28:17 +0100 Subject: [PATCH] feat(hldmserver): add support for the fastdl command --- lgsm/modules/command_fastdl.sh | 15 ++++++++++++--- lgsm/modules/core_getopt.sh | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lgsm/modules/command_fastdl.sh b/lgsm/modules/command_fastdl.sh index c1c667797c..3579875f2d 100644 --- a/lgsm/modules/command_fastdl.sh +++ b/lgsm/modules/command_fastdl.sh @@ -20,9 +20,13 @@ addonsdir="${systemdir}/addons" luasvautorundir="${systemdir}/lua/autorun/server" luafastdlfile="lgsm_cl_force_fastdl.lua" luafastdlfullpath="${luasvautorundir}/${luafastdlfile}" +# Only Source supports bzip2 compression. +if [ "${engine}" == "source" ]; then + supportsbzip="" +fi # Check if bzip2 is installed. -if [ ! "$(command -v bzip2 2> /dev/null)" ]; then +if [ -v supportsbzip ] && [ ! "$(command -v bzip2 2> /dev/null)" ]; then fn_print_fail "bzip2 is not installed" fn_script_log_fail "bzip2 is not installed" core_exit.sh @@ -225,7 +229,10 @@ fn_fastdl_preview() { fn_script_log_fail "Generating file list." core_exit.sh fi - echo -e "about to compress ${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)" + if [ -v supportsbzip ]; then + compressionmessage="about to compress ${totalfiles} files, " + fi + echo -e "${compressionmessage}total size $(fn_human_readable_file_size ${filesizetotal} 0)" fn_script_log_info "${totalfiles} files, total size $(fn_human_readable_file_size ${filesizetotal} 0)" rm -f "${tmpdir:?}/fastdl_files_to_compress.txt" if ! fn_prompt_yn "Continue?" Y; then @@ -431,7 +438,9 @@ fn_fastdl_preview fn_clear_old_fastdl fn_fastdl_dirs fn_fastdl_build -fn_fastdl_bzip2 +if [ -v supportsbzip ]; then + fn_fastdl_bzip2 +fi # Finished message. echo -e "FastDL files are located in:" echo -e "${fastdldir}" diff --git a/lgsm/modules/core_getopt.sh b/lgsm/modules/core_getopt.sh index 685e1ce8b0..913ebef89b 100644 --- a/lgsm/modules/core_getopt.sh +++ b/lgsm/modules/core_getopt.sh @@ -94,7 +94,7 @@ fi ## Game server exclusive commands. # FastDL command. -if [ "${engine}" == "source" ]; then +if [ "${engine}" == "source" ] || [ "${shortname}" == "hldm" ]; then currentopt+=("${cmd_fastdl[@]}") fi