diff --git a/.github/workflows/details-check.yml b/.github/workflows/details-check.yml index 1ce9b373b..c2e60ddf6 100644 --- a/.github/workflows/details-check.yml +++ b/.github/workflows/details-check.yml @@ -5,7 +5,7 @@ on: push: concurrency: - group: ${{ github.ref_name }} + group: details-check-${{ github.ref_name }} cancel-in-progress: true jobs: diff --git a/.github/workflows/update-check.yml b/.github/workflows/update-check.yml new file mode 100644 index 000000000..dfbc7dd58 --- /dev/null +++ b/.github/workflows/update-check.yml @@ -0,0 +1,48 @@ +name: Update Check +# This action will check that LinuxGSM is picking up game server config and parameter variables. +on: + workflow_dispatch: + push: + +concurrency: + group: update-check-${{ github.ref_name }} + cancel-in-progress: true + +jobs: + update-check: + continue-on-error: true + runs-on: ubuntu-latest + + strategy: + matrix: + shortname: [css, fctr, jk2, mc, mcb, mta, pmc, ts3, ut99, vints] + + steps: + - name: Download linuxgsm.sh + run: wget https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh; chmod +x linuxgsm.sh + + - name: Install dependencies + run: sudo dpkg --add-architecture i386; sudo apt-get update; + + - name: Grab server + run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server + + - name: Enable developer mode + run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer + + - name: Insert steamuser + if: matrix.shortname == 'jk2' + run: echo -e "steamuser=\"${{ secrets.STEAMCMD_USER }}\"\nsteampass='${{ secrets.STEAMCMD_PASS }}'" > lgsm/config-lgsm/${{ matrix.shortname }}server/common.cfg + + - name: Install server + run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server auto-install + + - name: Check Update server + run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server check-update + + - name: Update server + run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server update + + - name: Force Update server + if: matrix.shortname == 'css' + run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server force-update diff --git a/lgsm/modules/command_check_update.sh b/lgsm/modules/command_check_update.sh index c7780c355..2e6855f7c 100644 --- a/lgsm/modules/command_check_update.sh +++ b/lgsm/modules/command_check_update.sh @@ -17,19 +17,19 @@ core_logs.sh if [ "${shortname}" == "ts3" ]; then update_ts3.sh elif [ "${shortname}" == "mc" ]; then - update_minecraft.sh + update_mc.sh elif [ "${shortname}" == "mcb" ]; then - update_minecraft_bedrock.sh + update_mcb.sh elif [ "${shortname}" == "pmc" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then - update_papermc.sh + update_pmc.sh elif [ "${shortname}" == "fctr" ]; then - update_factorio.sh + update_fctr.sh elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "jk2" ]; then - update_jediknight2.sh + update_jk2.sh elif [ "${shortname}" == "vints" ]; then - update_vintagestory.sh + update_vints.sh elif [ "${shortname}" == "ut99" ]; then update_ut99.sh else diff --git a/lgsm/modules/command_update.sh b/lgsm/modules/command_update.sh index 62221d5e6..e1fcec97f 100644 --- a/lgsm/modules/command_update.sh +++ b/lgsm/modules/command_update.sh @@ -18,19 +18,19 @@ check_last_update.sh if [ "${shortname}" == "ts3" ]; then update_ts3.sh elif [ "${shortname}" == "mc" ]; then - update_minecraft.sh + update_mc.sh elif [ "${shortname}" == "mcb" ]; then - update_minecraft_bedrock.sh + update_mcb.sh elif [ "${shortname}" == "pmc" ] || [ "${shortname}" == "vpmc" ] || [ "${shortname}" == "wmc" ]; then - update_papermc.sh + update_pmc.sh elif [ "${shortname}" == "fctr" ]; then - update_factorio.sh + update_fctr.sh elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "jk2" ]; then - update_jediknight2.sh + update_jk2.sh elif [ "${shortname}" == "vints" ]; then - update_vintagestory.sh + update_vints.sh elif [ "${shortname}" == "ut99" ]; then update_ut99.sh else diff --git a/lgsm/modules/core_functions.sh b/lgsm/modules/core_functions.sh index 3b42e1f8f..356aa4d93 100644 --- a/lgsm/modules/core_functions.sh +++ b/lgsm/modules/core_functions.sh @@ -640,17 +640,17 @@ update_ts3.sh() { fn_fetch_function } -update_minecraft.sh() { +update_mc.sh() { functionfile="${FUNCNAME[0]}" fn_fetch_function } -update_minecraft_bedrock.sh() { +update_mcb.sh() { functionfile="${FUNCNAME[0]}" fn_fetch_function } -update_papermc.sh() { +update_pmc.sh() { functionfile="${FUNCNAME[0]}" fn_fetch_function } @@ -660,12 +660,12 @@ update_mta.sh() { fn_fetch_function } -update_factorio.sh() { +update_fctr.sh() { functionfile="${FUNCNAME[0]}" fn_fetch_function } -update_jediknight2.sh() { +update_jk2.sh() { functionfile="${FUNCNAME[0]}" fn_fetch_function } @@ -675,7 +675,7 @@ update_steamcmd.sh() { fn_fetch_function } -update_vintagestory.sh() { +update_vints.sh() { functionfile="${FUNCNAME[0]}" fn_fetch_function } diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh index b191e793a..80b3463e3 100644 --- a/lgsm/modules/core_modules.sh +++ b/lgsm/modules/core_modules.sh @@ -645,17 +645,17 @@ update_ts3.sh() { fn_fetch_module } -update_minecraft.sh() { +update_mc.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module } -update_minecraft_bedrock.sh() { +update_mcb.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module } -update_papermc.sh() { +update_pmc.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module } @@ -665,12 +665,12 @@ update_mta.sh() { fn_fetch_module } -update_factorio.sh() { +update_fctr.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module } -update_jediknight2.sh() { +update_jk2.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module } @@ -680,7 +680,7 @@ update_steamcmd.sh() { fn_fetch_module } -update_vintagestory.sh() { +update_vints.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module } diff --git a/lgsm/modules/core_steamcmd.sh b/lgsm/modules/core_steamcmd.sh index 6d96a9e6c..83fc6f5c3 100644 --- a/lgsm/modules/core_steamcmd.sh +++ b/lgsm/modules/core_steamcmd.sh @@ -151,11 +151,6 @@ fn_update_steamcmd_localbuild() { # Uses appmanifest to find local build. localbuild=$(grep buildid "${appmanifestfile}" | tr '[:blank:]"' ' ' | tr -s ' ' | cut -d\ -f3) - # Set branch to public if no custom branch. - if [ -z "${branch}" ]; then - branch="public" - fi - # Checks if localbuild variable has been set. if [ -z "${localbuild}" ]; then fn_print_fail "Checking local build: ${remotelocation}: missing local build info" @@ -178,6 +173,13 @@ fn_update_steamcmd_remotebuild() { find "${HOME}" -type f -name "appinfo.vdf" -exec rm -f {} \; 2> /dev/null fi + # Set branch to public if no custom branch. + if [ -z "${branch}" ]; then + branch="public" + fi + + # added as was failing GitHub Actions test. Running SteamCMD twice seems to fix it. + ${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +quit 2> /dev/null # password for branch not needed to check the buildid remotebuildversion=$(${steamcmdcommand} +login "${steamuser}" "${steampass}" +app_info_update 1 +app_info_print "${appid}" +quit | sed -e '/"branches"/,/^}/!d' | sed -n "/\"${branch}\"/,/}/p" | grep -m 1 buildid | tr -cd '[:digit:]') diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 9dc0841d5..54f819aaf 100644 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -64,7 +64,7 @@ fn_default_config_local() { # PASSWORD to random password fn_set_config_vars() { if [ -f "${servercfgfullpath}" ]; then - random=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs) + random=$(tr -dc 'A-Za-z0-9_' < /dev/urandom 2>/dev/null | head -c 8 | xargs) servername="LinuxGSM" rconpass="admin${random}" echo -e "changing hostname." diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index 6db904992..70eb808b0 100644 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -221,23 +221,23 @@ if [ "${shortname}" == "ts3" ]; then update_ts3.sh elif [ "${shortname}" == "mc" ]; then install_eula.sh - update_minecraft.sh + update_mc.sh elif [ "${shortname}" == "mcb" ]; then - update_minecraft_bedrock.sh + update_mcb.sh elif [ "${shortname}" == "pmc" ]; then install_eula.sh - update_papermc.sh + update_pmc.sh elif [ "${shortname}" == "wmc" ] || [ "${shortname}" == "vpmc" ]; then - update_papermc.sh + update_pmc.sh elif [ "${shortname}" == "mta" ]; then update_mta.sh elif [ "${shortname}" == "fctr" ]; then - update_factorio.sh + update_fctr.sh install_factorio_save.sh elif [ "${shortname}" == "jk2" ]; then - update_jediknight2.sh + update_jk2.sh elif [ "${shortname}" == "vints" ]; then - update_vintagestory.sh + update_vints.sh elif [ "${shortname}" == "ut99" ]; then fn_install_server_files update_ut99.sh diff --git a/lgsm/modules/update_factorio.sh b/lgsm/modules/update_fctr.sh similarity index 99% rename from lgsm/modules/update_factorio.sh rename to lgsm/modules/update_fctr.sh index f7fb06c7d..4cbcdbefc 100644 --- a/lgsm/modules/update_factorio.sh +++ b/lgsm/modules/update_fctr.sh @@ -1,5 +1,5 @@ #!/bin/bash -# LinuxGSM update_factorio.sh module +# LinuxGSM update_fctr.sh module # Author: Daniel Gibbs # Contributors: http://linuxgsm.com/contrib # Website: https://linuxgsm.com diff --git a/lgsm/modules/update_jediknight2.sh b/lgsm/modules/update_jk2.sh similarity index 100% rename from lgsm/modules/update_jediknight2.sh rename to lgsm/modules/update_jk2.sh diff --git a/lgsm/modules/update_minecraft.sh b/lgsm/modules/update_mc.sh similarity index 99% rename from lgsm/modules/update_minecraft.sh rename to lgsm/modules/update_mc.sh index cfdf7e057..85e903577 100644 --- a/lgsm/modules/update_minecraft.sh +++ b/lgsm/modules/update_mc.sh @@ -1,5 +1,5 @@ #!/bin/bash -# LinuxGSM update_minecraft.sh module +# LinuxGSM update_mc.sh module # Author: Daniel Gibbs # Contributors: http://linuxgsm.com/contrib # Website: https://linuxgsm.com diff --git a/lgsm/modules/update_minecraft_bedrock.sh b/lgsm/modules/update_mcb.sh similarity index 99% rename from lgsm/modules/update_minecraft_bedrock.sh rename to lgsm/modules/update_mcb.sh index 92bffca31..b125a3c49 100644 --- a/lgsm/modules/update_minecraft_bedrock.sh +++ b/lgsm/modules/update_mcb.sh @@ -1,5 +1,5 @@ #!/bin/bash -# LinuxGSM update_minecraft_bedrock.sh module +# LinuxGSM update_mcb.sh module # Author: Daniel Gibbs # Contributors: http://linuxgsm.com/contrib # Website: https://linuxgsm.com diff --git a/lgsm/modules/update_papermc.sh b/lgsm/modules/update_pmc.sh similarity index 99% rename from lgsm/modules/update_papermc.sh rename to lgsm/modules/update_pmc.sh index 2438c2d86..5154bfeb9 100644 --- a/lgsm/modules/update_papermc.sh +++ b/lgsm/modules/update_pmc.sh @@ -1,5 +1,5 @@ #!/bin/bash -# LinuxGSM update_papermc.sh module +# LinuxGSM update_pmc.sh module # Author: Daniel Gibbs # Contributors: http://linuxgsm.com/contrib # Website: https://linuxgsm.com diff --git a/lgsm/modules/update_vintagestory.sh b/lgsm/modules/update_vints.sh similarity index 99% rename from lgsm/modules/update_vintagestory.sh rename to lgsm/modules/update_vints.sh index 21e2d0e63..75755248c 100644 --- a/lgsm/modules/update_vintagestory.sh +++ b/lgsm/modules/update_vints.sh @@ -1,5 +1,5 @@ #!/bin/bash -# LinuxGSM update_vintagestory.sh module +# LinuxGSM update_vints.sh module # Author: Daniel Gibbs # Contributors: http://linuxgsm.com/contrib # Website: https://linuxgsm.com