Files
dayz-servers/modserver/old/update.sh
2023-11-20 20:44:19 -06:00

123 lines
3.7 KiB
Bash

#!/bin/sh
# DAYZ_GAME_ID=221100
# DAYZ_SERVER_ID=223350
# STEAM_USER="yzaddayz"
# LOCAL_MODS_DIR="${HOME}/.steam/debian-installation/steamapps/workshop/content/$DAYZ_GAME_ID"
# REMOTE_MAPS="/mnt/dayz/stock/maps"
# alias do_sync='rsync -rvltDhu --delete --partial --progress'
# msg() {
# printf '[*] %s\n' "$*"
# }
# ====================================================================================
# update_server() {
# msg "------------------ UPDATING DAYZ SERVER -------------------"
# LOCAL_INSTALL_DIR="${HOME}/.steam/debian-installation/steamapps/common/DayZServer"
# REMOTE_INSTALL_DIR="/mnt/dayz/stock/DayZServer"
# steamcmd -tcp +login "$STEAM_USER" +app_update "$DAYZ_GAME_ID" +quit
# steamcmd -tcp +login "$STEAM_USER" +app_update "$DAYZ_SERVER_ID" +quit
# do_sync "$LOCAL_INSTALL_DIR"/ "$REMOTE_INSTALL_DIR"
# msg "------- DONE UPDATING SERVER ---------------------"
# }
# args: $1=server_name
# update_mods() {
# MODS_FILE="$HOME/modlists/$1"
# REMOTE_MODS_DIR="/mnt/dayz/mods/${1%.txt}"
# mkdir -p "$REMOTE_MODS_DIR"
# tempfile=/tmp/mods-to-download.txt
# :> "$tempfile"
# while read -r mod ; do
# # skip comments, blank lines
# case "$mod" in
# \#*|'')
# ;;
# *)
# mod=${mod%%^*}
# printf "+workshop_download_item $DAYZ_GAME_ID %s\n" "$mod" >> "$tempfile"
# mkdir -p "$LOCAL_MODS_DIR/$mod"
# esac
# done < "$MODS_FILE"
# msg "----------- DOWNLOAD MODS -------------"
# steamcmd -tcp +login "$STEAM_USER" $(cat "$tempfile" | xargs) +quit || exit 1
# msg "----------- RENAMING MODS -------------"
# rm -rf "$HOME/mods_to_copy" 2>/dev/null ||:
# mkdir -p "$HOME/mods_to_copy"
# :> "$HOME/mods_to_copy/mods.txt"
# while read -r mod ; do
# # skip comments, blank lines
# case "$mod" in
# \#*|'')
# ;;
# *)
# mod_id=${mod%%^*}
# mod_name=${mod##*^}
# do_sync "$LOCAL_MODS_DIR/$mod_id"/ "$HOME/mods_to_copy/@${mod_name}"
# printf '@%s\n' "$mod_name" >> "$HOME/mods_to_copy/mods.txt"
# esac
# done < "$MODS_FILE"
# msg "----------- SYNCING MODS -------------"
# do_sync "$HOME/mods_to_copy"/ "$REMOTE_MODS_DIR"
# rm "$tempfile" 2>/dev/null ||:
# rm -rf "$HOME/mods_to_copy" 2>/dev/null ||:
# }
update_stock_maps() {
msg "----------- UPDATING MAPS -------------"
cherno=dayzOffline.chernarusplus
namalsk=regular.namalsk
takistan=Offline.TakistanPlus
NAMALSK_MOD_ID=2289461232
TAKISTAN_MOD_ID=2563233742
do_sync \
"${HOME}/.steam/debian-installation/steamapps/common/DayZServer/mpmissions/$cherno"/ \
"$REMOTE_MAPS/$cherno"
msg "Updating Namalsk Survival"
steamcmd -tcp +login "$STEAM_USER" +workshop_download_item "$DAYZ_GAME_ID" "$NAMALSK_MOD_ID" +quit || exit 1
if [ -d "$LOCAL_MODS_DIR/$NAMALSK_MOD_ID/Extras/Regular/$namalsk" ] ; then
do_sync "$LOCAL_MODS_DIR/$NAMALSK_MOD_ID/Extras/Regular/$namalsk"/ "$REMOTE_MAPS/$namalsk" || \
die "failed to copy Namalsk map files"
fi
msg "Updating Optimized Namalsk Server PBOs"
#NAMALSK_OPTIMIZED
steamcmd -tcp +login "$STEAM_USER" +workshop_download_item "$DAYZ_GAME_ID" "$NAMALSK_MOD_ID" +quit || exit 1
msg "Updating TakistanPlus"
steamcmd -tcp +login "$STEAM_USER" +workshop_download_item "$DAYZ_GAME_ID" "$TAKISTAN_MOD_ID" +quit || exit 1
if [ -d "$LOCAL_MODS_DIR/$TAKISTAN_MOD_ID/Mission/$takistan" ] ; then
do_sync "$LOCAL_MODS_DIR/$TAKISTAN_MOD_ID/Mission/$takistan"/ "$REMOTE_MAPS/$takistan" || \
die "failed to copy Takistan map files"
fi
}
# main () {
# update_server
# update_stock_maps
# for server in $(ls "$HOME/modlists" | xargs | sed 's/\.txt//g') ; do
# rm -rf "$HOME/.steam/debian-installation/steamapps/workshop/downloads"
# mkdir -p "$HOME/.steam/debian-installation/steamapps/workshop/downloads"
# update_mods "$server"
# done
# }
# main "$@"