Skip to content

Instantly share code, notes, and snippets.

@cyberkov
Created October 15, 2020 13:57
Show Gist options
  • Save cyberkov/0643df7cdffce9eaa5486b6d56f9e205 to your computer and use it in GitHub Desktop.
Save cyberkov/0643df7cdffce9eaa5486b6d56f9e205 to your computer and use it in GitHub Desktop.
These are the scripts that I use on Linux to keep my addons up to date for Elder Scrolls Online. These are for the steam version but could be easily adapted for the normal version as well.
#!/bin/bash -x
# (C) 2018 @mojo66, eso@mojo66.de
# enjoy the beauty of scripting on a professional operating system
# exit if ESO is running
#if [[ $(uname -s) -eq "Darwin" ]]; then option="-q"; fi
#pgrep -x $option eso
#if [[ ! $? -eq 1 ]]; then echo "Quit ESO before running this script to avoid data corruption.";exit 1;fi
# use absolute paths. this makes the script work regardless of the dir it resides in
basedir="/mnt/fast/SteamLibrary/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/My Documents/Elder Scrolls Online/live"
addondir=${basedir}/AddOns/HarvestMap
emptyfile=${addondir}/Main/emptyTable.lua
# check if everything exists
if [[ ! -e "${addondir}" ]]; then echo "ERROR: ${addondir} does not exists, re-install this AddOn and try again...";exit 1;fi
savedvardir=${basedir}/SavedVariables
if [[ ! -e "${savedvardir}" ]]; then
# create saved vars dir if it doesn't exist
echo "${savedvardir} doesn't exist. Creating..."
mkdir "${savedvardir}"
if [[ $? -gt 0 ]]; then echo "ERROR: Failed to create ${savedvardir}."; exit 1;fi
fi
# iterate over the different zones
for zone in AD EP DC DLC NF; do
fn=HarvestMap${zone}.lua
echo "Working on ${fn}..."
svfn1=${savedvardir}/${fn}
svfn2=${svfn1}~
# if saved var file exists, create backup...
if [[ -e ${svfn1} ]]; then
cp -fp "${svfn1}" "${svfn2}"
# ...else, use empty table to create a placeholder
else
name=Harvest${i}_SavedVars
echo -n ${name} | cat - "${emptyfile}" > "${svfn2}"
fi
# up/download. Note that the equivalent of the next line requires 89 lines of code on Windows
curl -# -d @"${svfn2}" -o "${svfn1}" "http://harvestmap.binaryvector.net:8080"
rm "${svfn2}"
done
#!/bin/bash -x
basedir="/mnt/fast/SteamLibrary/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/My Documents/Elder Scrolls Online/live"
addondir=${basedir}/AddOns/TamrielTradeCentre
outfile=$(mktemp)
outdir=$(mktemp -d)
curl -o "${outfile}" https://eu.tamrieltradecentre.com/download/PriceTable && \
(cd "${outdir}" && \
unzip "${outfile}" && \
mv -vf ${outdir}/*.lua "${addondir}/")
rm -f "$outfile"
rm -rf "$outdir"
curl -v -X POST \
--progress-bar \
-F 'MAX_FILE_SIZE=41000000' \
-F 'wikiUserName=Cyberkov' \
-F 'logfile=@/home/cyberkov/Nextcloud/Games/ESO/SavedVariables/uespLog.lua' \
https://esolog.uesp.net/submit.php
#!/bin/bash
./ESO_upload_build.sh &
./ESO_HarvestMap_update.sh &
./ESO_TamrielTradeCentre_PriceTable.sh &
./minion.sh &
wait
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment