A collection of shell scripts to (mostly) automatically keep your server mods up to date.
| .gitignore | ||
| check_updates.sh | ||
| dl_all.sh | ||
| get_all_status.sh | ||
| LICENSE | ||
| mod_latest.sh | ||
| query.sh | ||
| README.md | ||
| status.csv | ||
Vintage Story Mod Updater
A collection of shell scripts to (mostly) automatically keep your server mods up to date.
Usage
# First, write a file called modlist.txt with one mod identifier per line.
# Mod identifiers can be seen in the "Mod Identifier" column of the "Files" tab on the mod page.
# Alternatively, they are also in modinfo.json in the downloaded mod zip file.
# Get all information
./get_all_status.sh ./modlist.txt | tee status.csv
# Check if any of our mods needs an update
./check_updates.sh ./status.csv /root/vs/Mods | tee needs_update.csv
# Here, you would want to manually verify that:
# 1. The new versions of the mods in needs_update.csv have the corresponding game version you want.
# Otherwise you delete the line.
# 2. You delete the outdated mod files from your Mods folder. We currently do not have a script that can do this.
# Then, we can automatically download the new versions.
./dl_all.sh ./needs_update.csv /root/vs/Mods
Scripts
get_all_status.sh <modlist>will generate a csv file on stdout with information on the latest release from a mod.check_updates.sh <status.csv> <path/to/mods/folder>will return a csv file with the same information, but only for files it couldn't find in your Mods folder, indicating out-of-date mods.dl_all.sh <status.csv> <path/to/mods/folder>will download every mod in the provided csv file.
Scripts: Utils
mod_latest.shgiven a json on stdin, will extract information from the latest release as a csv line.query.sh <modid>utility script to query a single mod's information.
Policy
No generative AI was used at any point in this project.