mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-14 19:48:27 +00:00
Merge pull request #388 from klightspeed/1.5-dev#revert-rm-acf
Fix mod updating re-downloading mod
This commit is contained in:
commit
d2a8582860
@ -158,6 +158,7 @@ else
|
||||
install_datadir="${install_datadir:-${install_bindir%/*}/share/arkmanager}"
|
||||
fi
|
||||
|
||||
|
||||
#---------------------
|
||||
# functions
|
||||
#---------------------
|
||||
@ -365,14 +366,24 @@ function runSteamCMDspinner(){
|
||||
runSteamCMD "$@"
|
||||
return $?
|
||||
else
|
||||
if [ -z "$progressDisplayType" ]; then
|
||||
if stty <&1 >/dev/null 2>&1; then
|
||||
progressDisplayType=spinner
|
||||
else
|
||||
progressDisplayType=dots
|
||||
fi
|
||||
fi
|
||||
runSteamCMD "$@" >/dev/null 2>&1 &
|
||||
local scpid=$!
|
||||
local pos=0
|
||||
local spinner=( '-' '/' '|' '\' )
|
||||
local spinner=( '\b-' '\b/' '\b|' '\b\\' )
|
||||
if [ "$progressDisplayType" == "dots" ]; then
|
||||
spinner=( '.' )
|
||||
fi
|
||||
echo -n ' ... '
|
||||
while kill -0 $scpid 2>/dev/null; do
|
||||
printf "\b%c" "${spinner[$pos]}"
|
||||
(( pos = (pos + 1) % 4 ))
|
||||
echo -ne "${spinner[$pos]}"
|
||||
(( pos = (pos + 1) % ${#spinner[*]} ))
|
||||
sleep 0.5
|
||||
done
|
||||
echo -ne '\b \b'
|
||||
@ -1153,10 +1164,9 @@ getModIds(){
|
||||
doDownloadMod(){
|
||||
local modid=$1
|
||||
local modsrcdir="$steamcmdroot/steamapps/workshop/content/$mod_appid/$modid"
|
||||
local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid/$modid"
|
||||
local dlsize=0
|
||||
local moddldir="$steamcmdroot/steamapps/workshop/downloads/$mod_appid"
|
||||
cd "$steamcmdroot"
|
||||
rm "$steamcmdroot/steamapps/workshop/appworkshop_${mod_appid}.acf" 2>/dev/null
|
||||
retries=10
|
||||
|
||||
while true; do
|
||||
echo -n "Downloading mod $modid"
|
||||
@ -1166,14 +1176,14 @@ doDownloadMod(){
|
||||
break
|
||||
else
|
||||
echo
|
||||
echo "Checking mod $modid"
|
||||
if [ ! -d "$moddldir" ]; then break; fi
|
||||
local newsize="`du -s "$moddldir/.." | cut -f1`"
|
||||
if [ $newsize -eq $dlsize ]; then
|
||||
echo "Mod $modid update not progressing - aborting"
|
||||
return 1
|
||||
if [ ! -d "$moddldir" ]; then
|
||||
echo "Mod $modid download failed"
|
||||
break
|
||||
fi
|
||||
(( retries = retries - 1 ))
|
||||
if (( retries <= 0 )); then
|
||||
echo "Retries exhausted"
|
||||
fi
|
||||
dlsize=$newsize
|
||||
echo "Mod $modid not fully downloaded - retrying"
|
||||
fi
|
||||
done
|
||||
@ -1705,6 +1715,12 @@ while true; do
|
||||
--verbose)
|
||||
verbose=1
|
||||
;;
|
||||
--dots)
|
||||
progressDisplayType=dots
|
||||
;;
|
||||
--spinner)
|
||||
progressDisplayType=spinner
|
||||
;;
|
||||
--*)
|
||||
options+=( "$1" )
|
||||
;;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user