diff --git a/mod-server/modlists/chernaurus.txt b/mod-server/modlists/chernaurus.txt new file mode 100644 index 0000000..b775f7d --- /dev/null +++ b/mod-server/modlists/chernaurus.txt @@ -0,0 +1,136 @@ +# ================================================================== +# Inactive +# ================================================================== + +############ Legacy Gun Play +############ https://steamcommunity.com/sharedfiles/filedetails/?id=2560589980 +###########2560589980^legacygunplay + +############### advanced weapon scopes +################ https://steamcommunity.com/sharedfiles/filedetails/?id=2143128974 +###############2143128974^advancedweaponscopes + +############ tactical flava +############# https://steamcommunity.com/sharedfiles/filedetails/?id=2646817942 +###########2646817942^tacticalflava + +############## sGunplay +############## https://steamcommunity.com/sharedfiles/filedetails/?id=2507204412 +#############2507204412^sgunplay + +# ================================================================== +# Generic / All Servers +# ================================================================== + +# Dabs Framework +# https://steamcommunity.com/sharedfiles/filedetails/?id=2545327648 +2545327648^dabsframework + +# CF +# https://steamcommunity.com/sharedfiles/filedetails/?id=1559212036 +1559212036^cf + +# VPP Admin Tools +# https://steamcommunity.com/sharedfiles/filedetails/?id=1828439124 +1828439124^vppadmintools + +# Notes +# https://steamcommunity.com/sharedfiles/filedetails/?id=1999076953 +1999076953^notes + +# Ear Plugs +# https://steamcommunity.com/workshop/filedetails/?id=1819514788 +1819514788^earplugs + +# health regen 2x when blood is full +# https://steamcommunity.com/sharedfiles/filedetails/?id=2434838000&searchtext=health +2434838000^healthregen + +# tent backpacks +# https://steamcommunity.com/sharedfiles/filedetails/?id=2884638645 +2884638645^tentbackpacks + +# enough stamina +# https://steamcommunity.com/sharedfiles/filedetails/?id=2337398072 +2337398072^enoughstamina + +# durable suppressors (1.5x health) +# https://steamcommunity.com/sharedfiles/filedetails/?id=2880585815 +2880585815^durablesuppressors + +# Zen's Cause of Death +# https://steamcommunity.com/sharedfiles/filedetails/?id=2810260908 +2810260908^causeofdeath + +# Bear Buff (bears aggro from further away, chase players) +# https://steamcommunity.com/sharedfiles/filedetails/?id=2692521272 +2692521272^bearbuff + +# Custom Animations +# https://steamcommunity.com/sharedfiles/filedetails/?id=2545980712 +2545980712^customanimations + +# Worn Repair +# https://steamcommunity.com/sharedfiles/filedetails/?id=2581770969 +2581770969^wornrepair + +# No DepthOfField +# https://steamcommunity.com/sharedfiles/filedetails/?id=1721317955 +1721317955^nodof + +# Zen's Fire Fuel +# https://steamcommunity.com/sharedfiles/filedetails/?id=2866862200 +2866862200^firefuel + +# Zen's Gun Move Sounds +# https://steamcommunity.com/sharedfiles/filedetails/?id=2832627966 +2832627966^gunmovesounds + +# Bad Food +# https://steamcommunity.com/sharedfiles/filedetails/?id=2155069271 +2155069271^badfood + +# ================================================================== +# sUDE +# ================================================================== + +# sFramework +# https://steamcommunity.com/sharedfiles/filedetails/?id=2614334381 +2614334381^sframework + +# sVisual +# https://steamcommunity.com/sharedfiles/filedetails/?id=2469448088 +2469448088^svisual + +# ================================================================== +# Chernaurus Specific +# ================================================================== + +# spurgles bagz +# https://steamcommunity.com/sharedfiles/filedetails/?id=2489196158 +2489196158^spurglesbagz + +# fliptransport +# https://steamcommunity.com/sharedfiles/filedetails/?id=1832448183 +1832448183^fliptransport + +# no weapon raise +# https://steamcommunity.com/sharedfiles/filedetails/?id=2098390861 +2098390861^noweaponraise + +# no vehicle damage +# https://steamcommunity.com/sharedfiles/filedetails/?id=1735947752 +1735947752^novehicledamage + +# Doc's Car Fixes +# https://steamcommunity.com/sharedfiles/filedetails/?id=2886222035 +2886222035^docscarfixes + +# Lag's Lighting Overhaul +# https://steamcommunity.com/sharedfiles/filedetails/?id=2873016243 +2873016243^ladslightingoverhaul + +# Uncuepa's Civilian Clothing +# https://steamcommunity.com/sharedfiles/filedetails/?id=1762444175 +1762444175^uncuepascivilianclothing + diff --git a/mod-server/update.sh b/mod-server/update.sh new file mode 100644 index 0000000..4edd9b7 --- /dev/null +++ b/mod-server/update.sh @@ -0,0 +1,89 @@ +#!/bin/sh + +DAYZ_GAME_ID=221100 +DAYZ_SERVER_ID=223350 +LOCAL_MODS_DIR="${HOME}/.steam/debian-installation/steamapps/workshop/content/$DAYZ_GAME_ID" +STEAM_USER="yzaddayz" + +alias do_sync='rsync -avrhu --delete --partial' + +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/DayZServer" + MODS_FILE="$HOME/mods.txt" + + 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.txt" + REMOTE_MODS_DIR="/mnt/dayz/mods/$1" + + 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" + 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}" + esac + done < "$MODS_FILE" + + msg "----------- SYNCING MODS -------------" + do_sync "$HOME/mods_to_copy"/ "$REMOTE_MODS_DIR" + + msg "copying mods.txt ..." + cp -vf "$MODS_FILE" "$REMOTE_MODS_DIR/mods.txt" + + rm "$tempfile" 2>/dev/null ||: + rm -rf "$HOME/mods_to_copy" 2>/dev/null ||: +} + +main () { + update_server + + 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 "$@"