mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-26 00:08:28 +00:00
Fix mod updating re-downloading mod
Give up on trying to prevent steamcmd from updating every other workshop item it has downloaded. Instead, give it a certain number of retries, and check if the app's workshop downloads directory exists.
This commit is contained in:
parent
c1927e4feb
commit
a8e95f9011
@ -1153,10 +1153,9 @@ getModIds(){
|
|||||||
doDownloadMod(){
|
doDownloadMod(){
|
||||||
local modid=$1
|
local modid=$1
|
||||||
local modsrcdir="$steamcmdroot/steamapps/workshop/content/$mod_appid/$modid"
|
local modsrcdir="$steamcmdroot/steamapps/workshop/content/$mod_appid/$modid"
|
||||||
local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid/$modid"
|
local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid"
|
||||||
local dlsize=0
|
|
||||||
cd "$steamcmdroot"
|
cd "$steamcmdroot"
|
||||||
rm "$steamcmdroot/steamapps/workshop/appworkshop_${mod_appid}.acf" 2>/dev/null
|
retries=10
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
echo -n "Downloading mod $modid"
|
echo -n "Downloading mod $modid"
|
||||||
@ -1166,14 +1165,14 @@ doDownloadMod(){
|
|||||||
break
|
break
|
||||||
else
|
else
|
||||||
echo
|
echo
|
||||||
echo "Checking mod $modid"
|
if [ ! -d "$moddldir" ]; then
|
||||||
if [ ! -d "$moddldir" ]; then break; fi
|
echo "Mod $modid download failed"
|
||||||
local newsize="`du -s "$moddldir/.." | cut -f1`"
|
break
|
||||||
if [ $newsize -eq $dlsize ]; then
|
fi
|
||||||
echo "Mod $modid update not progressing - aborting"
|
(( retries = retries - 1 ))
|
||||||
return 1
|
if (( retries <= 0 )); then
|
||||||
|
echo "Retries exhausted"
|
||||||
fi
|
fi
|
||||||
dlsize=$newsize
|
|
||||||
echo "Mod $modid not fully downloaded - retrying"
|
echo "Mod $modid not fully downloaded - retrying"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user