Jump to content

Recommended Posts

Posted

 

ModsUpdater

 

 

ModsUpdater

 

Download link

 

 

What the script does:

  • Creates a "ModsUpdate" folder located in the "VintagestoryData\ModConfig" folder and creates a config.ini file
  • Browses mods folde
  • Extracts the modinfo.json from ZIP-files of each mod into the "temp" folder (created at the root of the program)
  • Compares the version number shown in the modinfo.json and the online one and downloads the mod if the version is more recent.
  • Deletes zip file of the old version mod.
  • Deletes the created 'temp' folder.
  • Detects the language of your system and automatically loads the language file (for now only english and french) if presents in lang directory. If not, english is loaded. You can add yours yourself or send it to me.


** Basic use **
Run the program, you don't have to do anything. The script takes care of comparing the versions of the installed mods and those online and automatically downloads the new versions in the "Mods" folder.

**Advanced usage (via config.ini)**

  • The [ModPath] is for those who use VintageLauncher. You have to uncomment the path \VintageStoryModVault and comment \VintagestoryData\Mods in order the program looks for the right mods directory.
  • The [Mod_Exclusion] section allows you to exclude mods from the update process. This is useful for mods with unsupported or unwanted alternative versions. Just add the name of the zip file (with the extension). 1 Mod per line.

If you need more than 10 slots just add additional lines to the end :
mod11 =
mod12 =
etc...

 

You may need put some mods in the [Mod_Exclusion] in these situations :

- if there is a .net7 version of the mod and you're not running the .net7 version of Vinstage Story. (ex: Better Firepit, A Culinary Artillery)
- if there several versions of a same mod (ex : StructuresSpawnChances)

 

PS : If the program closes immediately after launch, that's probably because there is a mod which canot be updated and shoud be put into the [Mod_exclusion] section..

******************************************************************

I first wrote this program as a programming exercise in Python. And then, as I found it useful, I decided to share it.

  • 1 month later...
Posted (edited)

🫶 WAY beyond useful, thanks mate! 🖖
 

Edit: My native language is Brazilian Portuguese, so i took the liberty to translating the english language file creating the brazilian.json file with it, be free to do WHATEVER you want with it, it's yours now! \o/

I added you on discord, i would be glad to help with anything Linux i can if you want, thanks again.

brazilian.json.txt

Edited by Yskar
  • 5 months later...
Posted

Hello! This is an awesome tool! I used V1.2 previously and it worked as intended. When I tried using V1.3, I configured the config file and after trying to run it, it crashes. I managed to get this error message when running it via CMD:

image.png.658aae00a13edc0f6c6d5deed437a8b2.png

  • 1 year later...
Posted (edited)

This script is great, but I have a couple issues:

I am trying to implement a script that will auto-update and then restart my server container on Linux.  I have noticed that if I try to run the update binary from a different directory, it will look for the language files in the directory I am in. For example, running it from the parent directory:

root@computer:/mnt/user/appdata/vintagestory# /mnt/user/appdata/vintagestory/ModUpdater/VS_ModsUpdater
Traceback (most recent call last):
  File "/mnt/user/appdata/vintagestory/ModUpdater/main.py", line 174, in <module>
  File "/mnt/user/appdata/vintagestory/ModUpdater/main.py", line 132, in initialize_config
  File "/mnt/user/appdata/vintagestory/ModUpdater/lang.py", line 79, in load_translations
FileNotFoundError: [Error] Language file not found: /mnt/user/appdata/vintagestory/lang/en_US.json. Ensure the path is correct.

I am not even sure where the config.ini is stored.  It doesn't appear to be with the /data/ModConfig/ folder as mentioned above.  What location would I expect to see this on Linux?

edit:  I found this looking at the source, it was in /root/.config/VS_ModsUpdater/

Also, is there a way to bypass the "Press Enter to exit..."?  That way I can automate this into a script.

 

Edited by qwesup
Posted (edited)

Just so you know, I don't use (or very little) Linux. So my knowledge is limited... ;)

Are you using the AppImage or the zip version? (FYI, I'm new to AppImages. It's mostly for testing at the moment.)

I'm not sure I fully understand "run the update binary from a different directory". You shouldn't take the binary out of the rest of the folder, otherwise it will indeed break. If you want to change the location, you need to move the entire contents of the folder. Or else, I misunderstood what you want.

Indeed, the config is stored in ~/.config/VS_ModsUpdater

 

/mnt/user/appdata/vintagestory/lang/en_US.json

Can you explain exactly what you are doing? If you only moved the binary file, it's normal, the program looks for the 'lang' folder at its root (like the other folders).
 

Quote

Also, is there a way to bypass the "Press Enter to exit..."?  That way I can automate this into a script.

You can use arguments
--no-pause: allows to deactivate the final pause.
https://github.com/Laerinok/VS_ModsUpdater_v2/wiki/3.-Usage#32-command-line-arguments

Edited by Laerinok
  • 4 weeks later...
Posted

I just had Windows Defender suddenly change its mind about the EXE file and called it a trojan today. 
It was being called:

Trojan:Win32/Kepavll!rfn

but i cant find any info on it the actual Trojan as typically microsoft is database is empty as always... Im wondering if its a false positive from the scanner, which is super weird since its been fine with it for months and just changed its mind today after an update to "VS_ModsUpdater"
image.png.c459ead70d2651262a4ecb827782fa1a.png

I'll update after some deep system scans, if it was from another location infection i will be surprised as im pretty fussy about not accessing strange things.

Posted

Yes, this has been the case for the past 2-3 days. I assume the scan detection rules have changed recently with an update because Windows Defender is going crazy when it used to be very calm. I did a scan on VirusTotal, with only 2 detections, and now there are 9 / 66. It's still not many, but still.

I advise you to take a look at the page on ModDB if you haven't already. There are quite a few comments that have come in, and I explain the reasons there.

Besides the fact that it's a Python script, which is already a frequent cause of false positives, the problem apparently is Nuitka, the library I use to compile the code, which seems to no longer be appreciated, even though it's supposed to be more compliant...

I've sent the file to Microsoft, but I imagine it will take some time...

I'm aware that this can be stressful (it is for me), but obviously, the program is clean. It's just another false positive.

  • Like 1
Posted

Every time i get something pop up like that out of nowhere with no extra data on the actual virus i do a deep scan or two, especially if i know i can trust the app, coz its likely got it from something else, i expected it was a false positive, because ya know, windows defender.

Thankfully i eventually went to the mod page and saw the important notice. Im so not used to seeing main pages of things updated with problems. VS community has been surprising keeping stuff updated.
 

24 minutes ago, Laerinok said:

the problem apparently is Nuitka, the library I use to compile the code, which seems to no longer be appreciated, even though it's supposed to be more compliant...

Makes me think that the only reason they get "approved" as "compliant" is because people pay to be security approved. Which makes me think Windows Defender is not really scanning for viruses just certificates. yay monetary corruption!

Im glad to confirm the code wasn't tampered with by something, and its just Windows defender being dumb. Its just been a long time since windows did that to me. Sorry if i caused extra stress. 🙃

  • 3 months later...
Posted

Love this mod! Used to to update all the mods on my server for a long while. Recently though, I ran into the issue of mods not being updated, despite a new version being out. On v2.1.3 of Updater, the command screen would simply crash at 100%, but on v2.1.4 rc.1, a modlist generates, but still no mods are updated. Attached is the v2.1.4 rc.1 log when it is run. 

If anyone has any idea what's up, I would love to know. Thanks!!

app_log.txt

Posted

@HerbDashwell

Hello,
It seems there another issue with getting changelogs.

Can you send me the modlist.json please ? With my installed mods, v2.1.3 works (but without changelog). Maybe one of your mods breaks the update process.

Posted
11 hours ago, Laerinok said:

@HerbDashwell

Hello,
It seems there another issue with getting changelogs.

Can you send me the modlist.json please ? With my installed mods, v2.1.3 works (but without changelog). Maybe one of your mods breaks the update process.

Can do! I had wondered if it was something related to that. I removed some of the mods I had downloaded prior to it not working, but nothing I did seemed to work.

 

modlist.json

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.