This commit is contained in:
2023-11-20 21:43:19 -06:00
parent 5e1e8045fe
commit 99a8e96db7
2 changed files with 168 additions and 113 deletions

View File

@@ -134,29 +134,29 @@ update_mods_for_server() {
*)
mod=${mod%%^*}
# check validity of syntax
if [ -z "$mod" ] ; then
die "mod for $map_name appears to be empty - syntax error"
fi
# check validity of syntax
if [ -z "$mod" ] ; then
die "mod for $map_name appears to be empty - syntax error"
fi
printf "+workshop_download_item $DAYZ_GAME_ID %s\n" "$mod" >> "$tempfile"
mkdir -p "$LOCAL_MODS/$mod"
esac
printf "+workshop_download_item $DAYZ_GAME_ID %s\n" "$mod" >> "$tempfile"
mkdir -p "$LOCAL_MODS/$mod"
esac
done <"$mods_file"
unset mod
# shellcheck disable=2046
steamcmd \
-tcp \
-tcp \
+force_install_dir "$LOCAL_MODS" \
+@sSteamCmdForcePlatformType windows \
+@ShutdownOnFailedCommand 1 \
+login "$STEAM_USER" \
$(xargs < "$tempfile") \
+quit
+login "$STEAM_USER" \
$(xargs < "$tempfile") \
+quit
if [ $? -ne 0 ] ; then
die "Problem downloading mods for $map_name"
die "Problem downloading mods for $map_name"
fi
echo
@@ -168,19 +168,19 @@ update_mods_for_server() {
:> "$mods_to_copy/mods.txt"
while read -r mod ; do
# skip comments, blank lines
case "$mod" in
\#*|''|' ')
;;
*)
mod_id=${mod%%^*}
mod_name=${mod##*^}
if [ ! -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" ] ; then
die "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id does not exist"
fi
do_sync "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id"/ "$mods_to_copy/@${mod_name}"
printf '@%s\n' "$mod_name" >> "$mods_to_copy/mods.txt"
esac
# skip comments, blank lines
case "$mod" in
\#*|''|' ')
;;
*)
mod_id=${mod%%^*}
mod_name=${mod##*^}
if [ ! -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id" ] ; then
die "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id does not exist"
fi
do_sync "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$mod_id"/ "$mods_to_copy/@${mod_name}"
printf '@%s\n' "$mod_name" >> "$mods_to_copy/mods.txt"
esac
done < "$mods_file"
echo
@@ -196,16 +196,72 @@ update_mods_for_server() {
echo
}
update_stock_maps() {
msg "----------- UPDATING MAPS -------------"
msg "Copying Stock Chernarus"
do_sync \
"$LOCAL_STOCK_SERVER/mpmissions/$CHERNARUS_MAP_NAME"/ \
"$REMOTE_MAPS/$CHERNARUS_MAP_NAME"
msg "Updating Namalsk Survival"
steamcmd \
-tcp \
+force_install_dir "$LOCAL_MODS" \
+@sSteamCmdForcePlatformType windows \
+@ShutdownOnFailedCommand 1 \
+login "$STEAM_USER" \
+workshop_download_item \
"$DAYZ_GAME_ID" \
"$NAMALSK_MOD_ID" \
+quit
if [ $? -ne 0 ] ; then
die "Failed to update Namalsk Survival"
fi
if [ -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$NAMALSK_MOD_ID/Extras/Regular/$NAMALSK_MAP_NAME" ] ; then
do_sync "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$NAMALSK_MOD_ID/Extras/Regular/$NAMALSK_MAP_NAME"/ \
"$REMOTE_MAPS/$NAMALSK_MAP_NAME" || \
die "failed to copy Namalsk map files"
fi
####################TODO: # msg "Updating Optimized Namalsk Server PBOs"
msg "Updating TakistanPlus"
steamcmd \
-tcp \
+force_install_dir "$LOCAL_MODS" \
+@sSteamCmdForcePlatformType windows \
+@ShutdownOnFailedCommand 1 \
+login "$STEAM_USER" \
+workshop_download_item \
"$DAYZ_GAME_ID" \
"$TAKISTAN_MOD_ID" \
+quit
if [ $? -ne 0 ] ; then
die "Failed to update TakistanPlus"
fi
if [ -d "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$TAKISTAN_MOD_ID/Mission/$TAKISTAN_MAP_NAME" ] ; then
do_sync "$LOCAL_MODS/steamapps/workshop/content/$DAYZ_GAME_ID/$TAKISTAN_MOD_ID/Mission/$TAKISTAN_MAP_NAME"/ \
"$REMOTE_MAPS/$TAKISTAN_MAP_NAME" || \
die "failed to copy Takistan map files"
fi
}
main() {
update_server
update_game
update_stock_maps
for server in $(ls "$MODLISTS" | xargs) ; do
[ -f "$MODLISTS/$server" ] || continue
update_mods_for_server "$server"
unset server
# rm -rf "$HOME/.steam/debian-installation/steamapps/workshop/downloads"
# mkdir -p "$HOME/.steam/debian-installation/steamapps/workshop/downloads"
[ -f "$MODLISTS/$server" ] || continue
update_mods_for_server "$server"
unset server
# rm -rf "$HOME/.steam/debian-installation/steamapps/workshop/downloads"
# mkdir -p "$HOME/.steam/debian-installation/steamapps/workshop/downloads"
done
}