From fe1594bcd050b21f59f97b653bc6fee5984c0270 Mon Sep 17 00:00:00 2001 From: Ben Peddell Date: Sat, 8 Oct 2016 18:35:54 +1000 Subject: [PATCH] Remove failing workshop items when downloading mods --- tools/arkmanager | 7 ++++++- tools/arkmanager.cfg | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/arkmanager b/tools/arkmanager index 578ff05..38de77b 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -237,6 +237,7 @@ appid="${appid:-376030}" mod_appid="${mod_appid:-346110}" install_bindir="${install_bindir:-${0%/*}}" install_libexecdir="${install_libexecdir:-${install_bindir%/*}/libexec/arkmanager}" +steamcmd_workshoplog="${steamcmd_workshoplog:-${HOME}/Steam/logs/workshop_log.txt}" if [ "$steamcmd_user" == "--me" ]; then install_datadir="${install_datadir:-${HOME}/.share/local/arkmanager}" @@ -1787,7 +1788,11 @@ doDownloadMod(){ break else echo - if [ ! -d "$moddldir" ]; then + failedmod="$(sed -n 's|.* Download item \([0-9]*\) result : \(.*\)|\1\t\2|p' "${steamcmd_workshoplog}" | grep -v ' OK' | tail -n1 | cut -f1)" + if [[ -n "$failedmod" && "$failedmod" != "$modid" ]]; then + echo "Mod $failedmod prevented mod update - removing failed mod" + doRemoveMods "$failedmod" + elif [ ! -d "$moddldir" ]; then echo "Mod $modid download failed" break fi diff --git a/tools/arkmanager.cfg b/tools/arkmanager.cfg index 750f866..34391a0 100644 --- a/tools/arkmanager.cfg +++ b/tools/arkmanager.cfg @@ -8,6 +8,7 @@ steamcmdroot="/home/steam/steamcmd" # path of yo steamcmdexec="steamcmd.sh" # name of steamcmd executable steamcmd_user="steam" # name of the system user who own steamcmd folder steamcmd_appinfocache="/home/steam/Steam/appcache/appinfo.vdf" # cache of the appinfo command +steamcmd_workshoplog="/home/steam/Steam/logs/workshop_log.txt" # Steam workshop log #steamlogin="anonymous" # Uncomment this to specify steam login instead of using anonymous login # config environment