Laerinok Posted July 17, 2023 Report Posted July 17, 2023 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.
Yskar Posted September 15, 2023 Report Posted September 15, 2023 (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 September 16, 2023 by Yskar
Laerinok Posted September 17, 2023 Author Report Posted September 17, 2023 Thanks ! I'll add it as soon as I get my PC back 1
Liiw Posted February 23, 2024 Report Posted February 23, 2024 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:
Laerinok Posted February 27, 2024 Author Report Posted February 27, 2024 Hello, This should be fixed with the v1. 3.2 1
qwesup Posted April 9, 2025 Report Posted April 9, 2025 (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 April 9, 2025 by qwesup
Laerinok Posted April 10, 2025 Author Report Posted April 10, 2025 (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 April 10, 2025 by Laerinok
ᴊʀʟ𝟙𝟘𝟙 Posted May 3, 2025 Report Posted May 3, 2025 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" 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.
Laerinok Posted May 3, 2025 Author Report Posted May 3, 2025 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. 1
ᴊʀʟ𝟙𝟘𝟙 Posted May 3, 2025 Report Posted May 3, 2025 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.
HerbDashwell Posted August 23, 2025 Report Posted August 23, 2025 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
Laerinok Posted August 23, 2025 Author Report Posted August 23, 2025 @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.
HerbDashwell Posted August 23, 2025 Report Posted August 23, 2025 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
Laerinok Posted August 25, 2025 Author Report Posted August 25, 2025 Fixed in the V2.2.0 I'll release on ModDB when it is possible. At the moment only mods with a modinfo.json file can be uploaded. Not external programs..
Recommended Posts