• Hello Guest!

    We have recently updated our Site Policies regarding the use of Non Commercial content within Paid Content posts. Please read the new policy here.

    An offical announcement about this new policy can be read on our Discord.

    ~The VaMHub Moderation Team
  • Hello Guest!

    We posted an announcment regarding upcoming changes to Paid Content submissions.

    Please see this thread for more information.

Resource icon

Other [Utility] VAMUpdater - Always Use the Latest Addons! 7

vuss1.png

vuss2.png

vuss3.png


VamUpdater is a command-line utility I created to solve an annoyance...which is that the "default" for the VAM Package Builder is to use the specific version of a script as it was when the scene was packaged, versus requiring the latest version.


While I somewhat understand the logic of doing this (We don't want an updated script to break changes), the reality of the situation is that *most* plugins are more or less backwards compatible with old versions. And, if they aren't - then this is something the developer should be addressing, not scene designers. (Creators, please take note :p)

With this thought process in mind, I created an application that will scan your /saves/scene and /addonpackages directories, find *every* scene JSON file it can, and then look through each one, searching for a pre-defined list of plugins that I've found seem to be safe to update to the "latest" version.

Any references found in json files to a specific version of an addon will be replaced to require "latest" instead.

Once all files are scanned, old/redundant VAR files are also moved to a backup directory.


Features:
Command-line based OR GUI: Attach it to a bat file or task scheduler and run automagically. Or...called from within VAM...or just run the program and click the things.

SAFE: Any and all modified files are backed up before editing, so if you find something is broken, you can easily restore your file(s).

Improve VAM performance: By moving old/redundant VAR files out of the AddonPackages directory, overall VAM load times are improved.

User-Configurable: Edit the included plugins.txt file to add/remove additional addon packages.

Multiple Options: Specify "var only" scans, "scene only", or "cleanup old extensions", or any combination of options.

Incidental: Purely to solve stuff breaking while I was testing this, I added an incidental check that fixes broken references to Wolverine333's "Maria" look.


Installation/Usage:

Install the .net desktop runtime:


EXIT VAM IF IT IS OPEN: You will likely encounter errors/issues otherwise.

Extract the archive and run "VamUpdater.exe" for the GUI, or via command-line with one of the many flags (specifying arguments is the trigger to tell the app to NOT show the GUI).

You will be prompted for the path to your VAM directory. (Ex: C:\VAM\)

The first run will take between 5-10 minutes, depending on how many var and scene files you have. Subsequent runs will be *much* faster.

Optionally, create a bat file to execute VamUpdater.exe. For a regular update, the command might look like "VamUpdater.exe C:\VAM\ -V" This will tell it to re-scan the AddonPackages directory for any new VAR files, then move any outdated packages afterupdating.

Once scanning has completed, a report will open showing all modified/moved files.


GUI USAGE

Honestly, this should be mostly self-explanatory. If you want to know what a specific control does, just hover over it with the mouse to see a tooltip with a more thorough description.


FLAGS/COMMAND-LINE REFERENCE

Usage: VamUpdater.exe [VamPath] [-A] [-S] [-P] [-F] [-D] [-I] [-V] [-R] [-B=C:\Path\to\backups]

VamPath Full path to VAM directory.
-B=C:\Path\to\backups/-b=C:\Path\to\backups Specify path to backup directory.
-A/-a Scan AddonPackages files.
-S/-s Only scan scenes from /saves/scene.
-P/-p Only scan for redundant addons.
-F/-f Scan ALL scenes/addons/both, including previously scanned files.
-D/-d Update the date for modified scene/var files. If not specified, the dates will not be changed.
-I/-i Ignore meta dependencies. Will scan ALL var files, even if the meta indicates no dependencies.
-V/-v Verbose output. VERY verbose. Only use if directed for debugging purposes.
-R/-r Don't open the scan report in notepad when done scanning.
-H/-h Show this screen.

Unless the -F flag is specified, default behavior is to ignore
files that have already been backed/up modified.


PLUGINS.txt

The format here is just CREATORNAME.PACKAGENAME.

All entries should be LOWERCASE. So, "hazmhox.vammoan", not "HazmHox.VamMoan".

All entries should not have any version number or anything else at the end.

One entry per line. No spaces, etc.


BACKUPS

Any files that are modified are first copied to VAMDIR\Backups\, or the custom backup path specified in the GUI or using the -B flag. If something breaks or you want something put back, just copy from here back to their respective folder(s).

Note: To save space, *only* the files from a VAR that have been modified are copied to the backup directory, not the full VAR. To "restore" a VAR, open it with winrar/7z/etc. and copy the files from the backup folder back into the VAR.
Author
venkman
Downloads
3,062
Views
11,046
First release
Last update
Rating
5.00 star(s) 5 ratings

More resources from venkman

Latest updates

  1. Features & Fixes

    Add option to update plugins.txt before scan. This will create a new "plugins_custom.txt" file...
  2. Kickin' tires and lightin' fires!

    What's new? A LOT. For starters, I've added a GUI. The GUI has all of the same settings/options...
  3. Catch errors parsing version number.

    Add try/catch around a bit where I parse plugin numbers...just in case.

Latest reviews

great utility
Upvote 0
This utility is so good that should be included with VaM
Thank you, thank you, thank you! <3
Upvote 0
Nice, now i can update stuff automatically without having to worry about deleting obsolete packages.
Upvote 0
Sounds great especially if you have around 4000 vars. Will try in the future
Upvote 0
If you are serious about VaM (and a serial downloader like me) you MUST HAVE this utility
Thank you for making it <3
Upvote 0
Another must have in the war against bad var packagers. I salute you!
Upvote 0
Back
Top Bottom