From 5c5cd58e341466dd621f8082d54ce0cc258e344c Mon Sep 17 00:00:00 2001 From: Ben Peddell Date: Sat, 12 Sep 2015 18:53:13 +1000 Subject: [PATCH] Retry mod download after steamcmd timeouts --- tools/arkmanager | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tools/arkmanager b/tools/arkmanager index 2db1b1a..44e7fa2 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -450,11 +450,20 @@ doSafeUpdate(){ # doInstallMod(){ local modid=$1 - cd "$steamcmdroot" - ./$steamcmdexec +login anonymous +workshop_download_item $mod_appid $modid +quit - local modsrcdir="$steamcmdroot/steamapps/workshop/content/$mod_appid/$modid" + local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid/$modid" local moddestdir="$arkserverroot/ShooterGame/Content/Mods/$modid" + local dlsize=0 + cd "$steamcmdroot" + + while true; do + ./$steamcmdexec +login anonymous +workshop_download_item $mod_appid $modid +quit + if [ ! -d "$moddldir" ]; then break; fi + local newsize="`du -s "$moddldir" | cut -f1`" + if [ $newsize -eq $dlsize ]; then break; fi + dlsize=$newsize + done + if [ -f "$modsrcdir/mod.info" ]; then echo "Mod $modid downloaded" echo "Copying files to $moddestdir"