• Hi Guest!

    We are extremely excited to announce the release of our first Beta for VaM2, the next generation of Virt-A-Mate which is currently in development.
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.

Commission opportunity: Error Message Hook for Missing Packages

mightkc

Member
Joined
Mar 20, 2021
Messages
40
Reactions
4
I am open to commission a plugin author who can make an hook to when the error prompt communicates about missing packages. I want to attach to that hook and also have it print to a new file the context of the missing package information.

Please reply if interested and we can discuss a fair price.
 
You can copy and paste the content of the Vam error log to a text file while the game is running.
 
Thanks. But I'm looking for programmatic solution that can be automated. That's why it's a commission request.
 
did you check %USERPROFILE%\AppData\LocalLow\MeshedVR\VaM\output_log.txt ? you can see error logs there
 
That's helpful, but I don't want to constantly poll the file. I need something event driven that routes through the hook or can piggy back off missing packages being added to the error output.

When missing packages are detected, I'm trying to have a tool do something about it, in real time.
 
i think its doable via a watchdog - constantly listening output_log.txt and when incoming error contains "missing packages" you can invoke your tool to do its job... or inside plugin you can check SuperController.singleton.allErrorsInputField2.text at init and if it contains the message pattern "missing packages" you can invoke your service via plugin too...

the annoying part is vam plugin wont let you invoke outer tools and will say security bla bla not allowed... even io - such as writing to a file - is restricted, you can only do that via secure folders etc... maybe a basic windows process with watchdog to call your tool a better idea instead of going for a plugin
 
Do you think someone with experience could instrument this

"inside plugin you can check SuperController.singleton.allErrorsInputField2.text at init and if it contains the message pattern "missing packages" you can invoke your service via plugin "

where the plugin can call a generic handler that other programmers can hook into?
 
in theory, its doable but in practice i think VaM inner security may block this due to unsafe nature... id still go for watching output_log.txt and do it out of vam context...

if your aim is to find missing packages and download them via hub / torrent alike resources, check out sharpvamtools - its doing that. not a plugin but does the job as an app.
 
No, I want to hijack the missing packages notification to grab from my own repository of backup VARs. So the use case is, I drop a file in addonpackages, I scan with package manager, it detects missing packages, and the plugin/program takes over and kicks off a search of my repository/backup vars. I already have this set up for search, but currently have to copy and paste the missing packages into the program to run.
 
so basically, in your program, listen addonpackages folder, catch the event when new file drops, trigger scan with package manager, read latest output_log.txt file, parse that file to spot missing packages, give that as an input to the rest of your code - and you are done i guess?
 
So you want to not search the hub but your own folders to get the needed files for the scene. Am I right on that?
If that's what you want made something but It won't be exactly like how you want it. From what I can tell we can't hook into that log data. and it's more manual

How my version works is that you
-add the .var
-select where you want the files to go to (AddonPackages)
-select the folder you want the files to come from (your personal var stash/back up)
-hit start and it will copy the files to the AddonPackages folder
When you're done you can delete the files as it's only making a copy
Any missing files that you don't have are shown in the list and you can go to the hub to get them.

ATM it's only working with .vars and the folders. If you have assets to copy to the "Assets" folder that is not in the AddonPackages folder, I haven't added that in... yet.

Honestly this sounds useful for those that want to keep their vam folder slim.
 
Hey @murn

>So you want to not search the hub but your own folders to get the needed files for the scene. Am I right on that?

yes

Thanks for the reply. What package manager does is it dereferences the dependencies, and the error log houses what package dependencies are missing.
How does your solution leverage that?

vars and folders would work great. I'm using Everything Search right now to acquire the location of the files in the folder hierarchy to copy back, but I'm having to copy and paste error log changes into a text file that my powershell script uses to copy over files.

If you have a solution, I'd love to understand it more and test (if you're willing to share).

> Honestly this sounds useful for those that want to keep their vam folder slim.
100%

And for collectors who have a lot of paid content stored outside the VAM install folder.
 
Wait so you have been able to get the error logs of missing files? I even tried using the error logs in the appdata folder but the actual files are named different. i think. If anything is different in the naming in the json compared to the downloaded var the app won't find it.
Here have a go at it.

Tell me what you think. If it works well I'll try refining it a bit.
 
Last edited:
so basically, in your program, listen addonpackages folder, catch the event when new file drops, trigger scan with package manager, read latest output_log.txt file, parse that file to spot missing packages, give that as an input to the rest of your code - and you are done i guess?
@ersan ,
"trigger scan with package manager"
Can this be called programmatically?
 
Wait so you have been able to get the error logs of missing files? I even tried using the error logs in the appdata folder but the actual files are named different. i think. If anything is different in the naming in the json compared to the downloaded var the app won't find it.
Here have a go at it.

Tell me what you think. If it works well I'll try refining it a bit.
I'm doing it manually right now with a copy and paste job. It's manual and human driven. :(

Thanks for sharing your app. Can you share the source code? I want to build it instead of running the exe.
Appreciate the effort in advance. Maybe we can come up with a good tool between both of us.
 
I still need to add two more functions to it to complete it and a bit of refining things. But you can have a go at it.
1: Copy assets to the "Assets" folder
2: delete last copied files
Those are the last ideas I had for it.
You won't be able to get it to run a plugin like that in vam since you'll get nailed with a security error and you'll still have to restart Vam after copying the assets for them to show up anyway so best make it as an application.
 
Back
Top Bottom