A collection of shell scripts to (mostly) automatically keep your server mods up to date.
Find a file
2026-04-27 11:04:09 -04:00
.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.sh given 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.

Sponsored by the Gay Agenda Turbo Giga Trans