-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The Ultimate Mod Manager is a full-featured mod management system for Vintage Story. It uses VS assets, VS API, and embeds itself within the VS game. No external program or assembly is needed, making UMM singularly useful for when you don't have convenient access to the server, for example, remote servers, AMP, WGSM, etc. Even if you're running single player on your own desktop, it's simply more convenient to update your mods within the game rather than run some 3rd party program to update your mods.
As with any mod manager, it only downloads the new version of the mod into your Mods/ folder (called "staging"), but it doesn't "hotload" the mod; you still need to reboot the server for the updates to take effect. We do not reboot the server for you: that's the only manual part of the process (technically, AMP and WSGM can be rebooted, and maybe we'll implement that some day.)
There are two interfaces:
- a Vintage Story-looking GUI
- chat commands.
When your server boots up, UMM makes a list of where your mods reside (depending on how you play the game, there will usually be either 1 or 2 folders to check.) It then scans every mod (either a zip file or a naked folder containing a mod) and makes note of the main information for each mod: things like
- mod version number
- modID
- game versions the mod is tagged for
It will do this for both loaded mods and unloaded mods (a mod may not be loaded because, say, it's a client-only mod and you ran UMM on a dedicated server, or perhaps Vintage Story found a fatal error in the mod and decided not to load its assembly).
UMM will then go to mods.vintagestory.com and find matches for each loaded and unloaded mod based on the ModID and other criteria.
I have found a few corner cases because real life is messy (no doubt I will find more as time goes on). Each corner case has its challenges, for example:
- I used to scan mod versions that were memory-resident (a fast operation) but have since changed that to scanning mod versions from modinfo.json (a slow operation) because one very popular mod spoofed its own mod version. It has since removed the spoofing, but there's no guarantee there aren't other mods spoofing their memory-resident versions.
- I had to incorporate more sophisticated mod-matching criteria because some mods change their modIDs.
Other Topics