From a0f610ead79d0f51b9d3c574345f5b58e1f16b63 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Sun, 17 May 2026 23:28:05 +0900 Subject: [PATCH] chore: update symlink hash logic --- CHANGELOG.md | 5 +++++ dzgui.sh | 13 ++++++++----- helpers/funcs | 13 +++++++++++-- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1a4748..494481b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [6.0.6-beta.1] 2026-05-17 +## Changed +- Update symlink hash logic to align with DZGUI 7 beta +- Update A2S helper to latest commit + ## [6.0.5-beta.2] 2026-04-17 ## Changed - During server connection attempts, only download mods local to specific server diff --git a/dzgui.sh b/dzgui.sh index 0197eab..4e24a52 100755 --- a/dzgui.sh +++ b/dzgui.sh @@ -2,7 +2,7 @@ set -o pipefail src_path="$(readlink -e "$0")" -version=6.0.5-beta.2 +version=6.0.6-beta.1 #CONSTANTS aid=221100 @@ -567,9 +567,12 @@ get_hash(){ md5sum "$1" | awk '{print $1}' } fetch_a2s(){ - # this file is currently monolithic - [[ -d $helpers_path/a2s ]] && { logger INFO "A2S helper is current"; return 0; } - local sha=c7590ffa9a6d0c6912e17ceeab15b832a1090640 + sum="d26da2fe03df2b95436f823f0496887b" + if [[ -d $helpers_path/a2s ]] && [[ $(get_hash "$helpers_path/a2s/info.py") == $sum ]]; then + logger INFO "A2S helper is current" + return 0 + fi + local sha=b40eb24cdbb06ebd08272f224257fe5a81610e86 local author="yepoleb" local repo="python-a2s" local url="https://github.com/$author/$repo/tarball/$sha" @@ -626,7 +629,7 @@ fetch_helpers_by_sum(){ [[ -f "$config_file" ]] && source "$config_file" declare -A sums sums=( - ["funcs"]="2e1b0e6693258fe8b4bf23d9b6431d7f" + ["funcs"]="1cd26343cd68a5382e3377a9757497fa" ["query_v2.py"]="55d339ba02512ac69de288eb3be41067" ["servers.py"]="ed442c3aecf33f777d59dcf53650d263" ["ui.py"]="cf52a3d5883afe02a013d8673df494fa" diff --git a/helpers/funcs b/helpers/funcs index 0b30d2f..4275678 100755 --- a/helpers/funcs +++ b/helpers/funcs @@ -930,13 +930,19 @@ query_defunct(){ <<< "$result" awk '{print $2}' } encode(){ - echo "$1" | md5sum | cut -c -8 + echo -n "$1" | md5sum | cut -c -8 } compare(){ local modlist="$@" diff=$(comm -23 <(<<< "$modlist" sort -u) <(installed_mods | sort)) echo "$diff" } +unlink_all(){ + readarray -t links < <(find "$game_dir" -maxdepth 1 -mindepth 1 -type l) + for link in "${links[@]}"; do + unlink "$link" + done +} legacy_symlinks(){ logger INFO "Removing legacy symlinks" @@ -1027,7 +1033,10 @@ update_symlinks(){ if [[ ! -d "$workshop_dir" ]]; then return fi - legacy_symlinks + if [[ ! -d "$game_dir" ]]; then + return + fi + unlink_all symlinks } try_fallback(){