Mods / ModsUpdater
Author: Laerinok
Side: Both
Created: Jul 16th 2023 at 4:16 PM
Last modified: Apr 2nd at 3:30 PM
Downloads: 10774
Follow Unfollow 251
Latest version:
VS_ModsUpdater.v.1.4.0.zip
Vintage Story ModsUpdater
Easily update your favorite mods
You can find the Linux version here
For servers under linux you may want to have a look here (same link as above).
INFO V1.4.0:
- I added an option to enable/disable the update of mod if they are in -dev/-pre.
- You need to delete the old config file or add in the section [ModsUpdater] this line : disable_mod_dev = false
Description :
This a third-party program. It means it is NOT a mod. You do not have to put it in the mods folder.
All you have do to is :
- extract the archive
- run the program (VS_ModsUpdater.exe)
- wait while checking/updating
- play once finished
This program checks the "mods" folder and updates the mods if necessary. Once finished, if there has been an update, it creates an updates_YYYYMMDD_HHMMSS.txt file in the "logs" folder.
Before quitting the program, you can choose to generate a pdf file listing ALL your mods in the 'Mods' folder.
Installation:
- Save the VS_ModsUpdater.v.X.X.X.zip file to the location of your choice and extract the archive. The archive should contain these files:
Update:
- To update, simply replace the old files with the new ones contained in the new version of the zip file.
- In most cases, all you need to do is replace the VS_ModsUpdater.exe file.
- Checks for the presence of a new version of ModsUpdater.
- Detection of the system language to load the correct language file (if present in the 'lang' folder).
- Create configuration file.
- Create temporary 'temp' folder.
- List mods present in 'Mods' folder.
- Compare the version of installed mods with the latest online version and download the latest version if necessary.
- Creation of a log file ('logs' folder) to keep track of updated files.
- Creation of a log file in the event of a crash.
- Creation of a pdf file (optional).
- Delete old mods file.
- Delete temporary 'temp' folder.
- Launch VS_ModsUpdater.exe
- On first run, the program creates a config.ini file and asks you whether you wish to continue or interrupt the program.
- If you continue, the program will continue with the default settings: location of the 'Mods' folder by default and the language of your operating system (if detected and present in the 'lang' folder) or English.
The config.ini file lets you :
- Enable or disable the 'Force' update for every mods, even if mods are already up-to-date.
- Change the path to the mods folder
- Select a different language
- Specify the maximum game version for which you wish to update mods
- Exclude mods from the update process
config.ini :
- [ModsUpdater]
- ver = 1.3.5 (version of ModsUpdater when the config.ini has been created)
- system = Windows (Only for information. no use at the moment)
- force_update = false (enable/disable the force_update option - true/false)
- disable_mod_dev = false (enable/disable the update of mods if they are in development) true = -dev mods will not be updated
- [ModPath] : Path to Vintage Story's Mods directory :
- default path : path = C:\Users\YourUsername\AppData\Roaming\VintagestoryData\Mods
- custom path : path = D:\Games\VSData\Mods (for example)
- [Language]
- language = fr_FR (You can choose another language among those present in the lang folder)
- [Game_Version_max] : Enter here for which version of the game you wish to update the mods.
- version = 1.19.4 To update mods until v1.19.4 of Vintage Story
- version = 100.0.0 To update until latest version of Vintage Story (it is an arbitrary value high enough)
- [Mod_Exclusion] : to exclude mods from the update.
- mod1 = mod1.zip
- mod2 = mod2.zip
- mod3 = mod3.zip
- You can use arguments to launch the program. cf the readme.txt file or add the -h argument when launching via the console or the shortcut (VS_ModsUpdater.exe -h)
- If you want additional features, such as profile management, take a look at Early Mod Toolkit (NET4 / NET7) ou Vintage Launcher.
- Some changelogs are not correctly displayed (depending the way the author fills the section)
- Crashes if there is a personal mod (which is not in the modDB) when creating pdf (fixed in the next version)
- english
- french
- russian by Vsatan
- brazilian by Yskar
- spanish by Sir-Ryu
- german (DeepL)
- italian (DeepL)
- ukrainian (DeepL)
This is mainly for linux, but if needed you can use ModsUpdater with some arguments in command line (cf readme.txt for more infos)
You can run the script with the following arguments e.g :
- VS_ModsUpdater.exe [-h] [--modspath MODSPATH] [--language LANGUAGE] [--nopause {false,true}] [--exclusion EXCLUSION [EXCLUSION ...]] [--forceupdate {false,true}] [--makepdf {false,true}]
Options :
- -h, --help show this help message and exit
- --modspath MODSPATH Enter the mods directory (in quotes). Quotes are needed only if there is some space in the path-name.
- --language LANGUAGE Set the language file (as it is named in the lang directory, without extension) (default=en_US)
- --nopause {false,true} (default: false) Disable the pause at the end of the script. You NEED to set it to true if not the script prompts and wait your intervention. (default=false)
- --exclusion EXCLUSION [EXCLUSION ...] Write filenames of mods with extension (in quotes) you want to exclude (each mod separated by space). It's not really useful as you can set it later in the config.ini file.
- --forceupdate {false,true} (default: false) Force ModsUpdater to download the latest versions for ALL the mods, even if they are up to date.
- --makepdf {false,true} (default: false) Create,at the end of the Update, a PDF file of all mods in the mods folder.
- --disable_mod_dev {false,true} (default: false) Enable or disable the update of mods in dev or prerelease.
The file is guaranteed virus-free. You have access to the sources if needed. That said, the file has no signature and is not known to anti-virus software. Consequently, some antivirus programs may send an alert. This is a normal behavior.
As you shouldn't trust just anyone, or even your antivirus software, send the file to several detection sites. The best known is undoubtedly VirusTotal.
You'll see that for the vast majority, the file is clean. Detections are false positives.
You can see the result of the analysis here
MIT License
Copyright (c) 2024 Laerinok
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v1.4.0 | 2782 | Apr 2nd at 3:30 PM | Show | VS_ModsUpdater.v.1.4.0.zip | ||
v1.3.6 | 423 | Mar 26th at 3:30 PM | Show | VS_ModsUpdater.v.1.3.6.zip | ||
v1.3.5 | 362 | Mar 20th at 7:11 PM | Show | VS_ModsUpdater.v.1.3.5.zip | ||
v1.3.4 | 641 | Mar 2nd at 11:50 PM | Show | VS_ModsUpdater.v.1.3.4.zip | ||
v1.3.3 | 326 | Feb 28th at 12:33 PM | Show | VS_ModsUpdater.v.1.3.3.zip | ||
v1.3.2 | 279 | Feb 24th at 8:24 PM | Show | VS_ModsUpdater.v.1.3.2.zip | ||
v1.3.1 | 137 | Feb 24th at 8:24 AM | Show | VS_ModsUpdater.v.1.3.1.zip | ||
v1.3.0 | 174 | Feb 23rd at 3:43 PM | Show | VS_ModsUpdater.v.1.3.0.zip | ||
v1.2.0 | 1054 | Oct 20th 2023 at 10:52 AM | Show | VS_ModsUpdater.v.1.2.0.zip | ||
v1.1.4 | 412 | Oct 3rd 2023 at 8:00 PM | Show | VS_ModsUpdater.v.1.1.4.zip | ||
v1.1.3 | 307 | Sep 25th 2023 at 10:02 AM | Show | VS_ModsUpdater.v.1.1.3.zip | ||
v1.1.1 | 563 | Aug 26th 2023 at 11:41 AM | Show | VS_ModsUpdater.v.1.1.1.zip | ||
v1.1.0 | 238 | Aug 22nd 2023 at 7:17 AM | Show | VS_ModsUpdater.v.1.1.0.zip | ||
v1.0.10 | 200 | Aug 21st 2023 at 7:36 AM | Show | VS_ModsUpdater.v.1.0.10.zip | ||
v1.0.9 | 294 | Aug 16th 2023 at 4:11 PM | Show | VS_ModsUpdater.v.1.0.9.zip | ||
v1.0.8 | 307 | Aug 9th 2023 at 9:04 PM | Show | VS_ModsUpdater.v.1.0.8.zip | ||
v1.0.7 | 259 | Aug 4th 2023 at 3:18 PM | Show | VS_ModsUpdater.v.1.0.7.zip | ||
v1.0.6 | 182 | Aug 4th 2023 at 7:39 AM | Show | VS_ModsUpdater.v.1.0.6.zip | ||
v1.0.5 | 167 | Aug 3rd 2023 at 5:03 PM | Show | VS_ModsUpdater.v.1.0.5.zip | ||
v1.0.4 | 150 | Aug 2nd 2023 at 3:24 PM | Show | VS_ModsUpdater.v.1.0.4.zip | ||
v1.0.4 | 184 | Aug 2nd 2023 at 3:24 PM | Show | VS_ModsUpdater.v.1.0.4_NET7.zip | ||
v1.0.3 | 258 | Jul 26th 2023 at 8:48 AM | Show | VS_ModsUpdater.v.1.0.3.zip | ||
v1.0.3 | 226 | Jul 29th 2023 at 1:37 PM | Show | VS_ModsUpdater.v.1.0.3_NET7.zip | ||
v1.0.2 | 300 | Jul 19th 2023 at 1:40 PM | Show | VS_ModsUpdater.v.1.0.2.zip | ||
v1.0.1 | 190 | Jul 18th 2023 at 9:39 AM | Show | VS_ModsUpdater.v1.0.1.zip | ||
v1.0.0 | 359 | Jul 16th 2023 at 4:19 PM | Show | VS_ModUpdater.zip |
MyuriC
Indeed, I didn't undserstand what you meant. 😅
Sure it's always safer to keep an eye before updating anything.
And, for your information, you can restrict the update to 1.19.8 by setting the config.ini (beside modsupdater.exe after first run):
[Game_Version_max]
version = 1.19.8
Laerinok
I meant the Vintage Launcher. But I take back that opinion. Because I updated my game to the newest version and I only got errors for most mods. Had to go back to 1.19.8.
I think it's really better to do this oneself. For now.
MyuriC
Glad you like it.Thanks.
I thought about an auto-update for the script but gave up the idea. Maybe later... But I am not sure of what you mean... There is no link to Discord nor any thread in Discord about it.
But the script checks if there's a new version, and you're notified if there is. No need to monitor yourself. All you have to do is to click on the link.
But indeed, I could add a text with "no new version of the script".
I explained it in the section "What the script does in detail" and in one of the description picture.
Or maybe I did not understand what you meant :)
I love that this exists. Thank you. Only wish that the launcher could update itself without having to check Discord every now and then.
Laerinok ah, darn-- well, at least the problem is solvable! thank you very much!
LemonJamTart
Hello,
Indeed you're right. You must not unzip files when you download them. I guess you manually download them and don't use the "1-click mod install" because you wouldn't have unziped files :)
You even are lucky because for some few mods, if you unzip them it causes troubles.
So, in anyway, if you want to use ModsUpdater, you must have zip-file and not folder 😉
not entirely sure why, but the program simply tells me i don't have any mods installed when pointed to my mods folder... despite the game itself recognizing each and every mod i have installed. am i doing something wrong? the only thing i can think of is that my mods each have their own bespoke folders within the mods folder which contain all their data/files; is that not how you're supposed to do it? are you supposed to just toss everything naked into the mods folder in one big jumble?
No need to be sorry, you are providing a tool for free.
I've made an issue on the github, if you want further communication/testing it can be done there.
Thanks and sorry you cannot use it as you want.
One of my problem is I can't reproduce it, so it will be hard to fix it.
Wget also gives the same error btw, and I have no idea how to get that one to ignore SSL certs.
But its a cool project, good luck fixing this bug😁
Brumes
😅
OK. So I must dive into the code, and many guides. I have no more idea at this time. I read something about the difference between urblib and requests for this issue. Maybe a clue..
But as I am a beginner in Python, I go on slowly...
Laerinok
I already tried that haha, still get the same error somehow. I think the problem might lie with "urllib.request" instead of the "requests" package
Brumes
I prefer not to provide a whole version without SSL verification, but, as you said, at your own risk, you can edit the VS_ModsUpdater.py file:
- search for requests.get (there must be 5)
- add the verify=False parameter - you'll get something like this requests.get(url, verify=False)
Then you could run the script without the SSL validation.
But maybe, you can try to get the ssl-certificate from vintage story site and install it to your server as a trusted certificate. (don't ask me how, I have no idea...)
Laerinok
Running the python scripts gets me the same results, if you can't easily fix this can we get a version with a config to disable SSL verification? Completely own risk ofcourse.
Brumes
No, no other programs are required. everything is packaged in the program. You can always try to run directly the python script on the pc, but you must have python 3.11 and all dependancies installed. Everything is avalaible in the source tab.
But I have no idea, or I must say; I don't have enough knowledges about this to tell more at the moment.
I am working to a new version, (but it takes time) and maybe some libraries will be updated.
Laerinok
I just tested and it works fine on my personal PC, just the server has the SSL issue, there is no proxy or VPN in play, both computers are on the same network. Are there any required prerequisite programs/frameworks?
Brumes
I saw some similar cases to yours. But it was for Linux... Indeed, each message occurs for each mod the script tries to update.
The error you encounter, SSL: CERTIFICATE_VERIFY_FAILED, indicates that Python is unable to verify a server's SSL certificate.
Possible causes :
- Self-signed certificate: The server is using a certificate that is not signed by a recognized certification authority (CA).
- Incomplete certificate chain: The server does not provide all the certificates required to establish a chain of trust.
- SSL configuration problems: Your environment may not be configured to recognize certain certificates.
I think we can exclude the first two causes, because everyone would have the same issue. So I think your environment does not accept the SSL-certificate from the site. Do you use any proxy or vpn ? I read somewhere it could be the source of the problem.
Does not work for me on win10, In the logs (why are there multiple log files for 1 run?) it seems to have this error for pretty much every mod:
2024-10-03 11:04:02 : [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1002) : Stone Bake Oven
For those who use ModsUpdater and don't want to update mods for v1.20, don't forget to set the version in the config.ini:
[Game_Version_max]
version = 1.19.8
So, mods for v1.20 won't be downloaded.
Kerbo
Hello and thanks for the feedback.
the "[Errno 11001] getaddrinfo failed" error may be due to temporary connection problems or if the script can't reach the url. I will try to manage this kind of error, but I don't think i can do anything but a better info message.
I had many issues for the pdf creation with mods with cyrillic fonts. I will have a look at this specific mod. There is probably an issue I missed.
Indeed, when the program crash, the temp folder and temp files are not deleted. It's a thing I could add but it may be useful to keep them to know where is an issue.
Hello and thank you for a useful program. On the first run it had many getaddrinfo errors and did not work. Example:
2024-08-11 11:15:39 : [Errno 11001] getaddrinfo failed : https://mods.vintagestory.at/modsupdater#tab-files
Running it after that it works fine except for PDF creation fails. I also get the decode error like another user below.
2024-08-11 11:19:32 : Traceback (most recent call last):
File "VS_ModsUpdater.py", line 840, in makepdf
File "encodings\cp1252.py", line 23, in decode
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 2083: character maps to <undefined>
The problem is with the mod SimpleCloth https://mods.vintagestory.at/simplecloth. The description of that mod has Unicode characters on which the program chokes. If I remove that mod and temp\csvtemp.csv then the PDF creation works. As a side note, I had to remove the temp csv file and not just the mod or the program re-used the csv file and the bad mod info was still in there.
My config.ini that was generated (I did not change):
[ModsUpdater]
# info about the creation of the config.ini file
ver = 1.4.0
system = Windows
# enable or disable force_update for every mods. if enabled, it will download the last version for all mods, even if the version is already the latest. (true/false default=false)
force_update = false
# allow to disable or enable update of mod in dev or prerelease (true/false default=false).
disable_mod_dev = false
[ModPath]
path = C:\Users\Computer User\AppData\Roaming\VintagestoryData\Mods
[Language]
# to change the default language, uncomment the line below and set the desired language ('lang' folder)
language = en_US
[Game_Version_max]
# select the maximum game version for which mods can update themselves (ex: 100.0.0, 1.18, 1.18.1). default: 100.0.0 (to have all versions)
version = 100.0.0
[Mod_Exclusion]
# to exclude a mod from the update, add the name (with extension) of the mod's zip file after = (one per line)
mod1 =
mod2 =
mod3 =
mod4 =
mod5 =
mod6 =
mod7 =
mod8 =
mod9 =
mod10 =
Thank you
SocialBlazer
Thanks :)
Damn dude. Good staff
Harpi
I will investigate. At this time, I have no idea of what causing this. Maybe an issue with the csv file before creating the pdf. I was not able to reproduce this yet.
Laerinok
the problem is also with 1 mod. I think the error is somewhere on my PC, but what?
update: Now it's working again, so I don't know what it could be.
Harpi
I don't think number of mods matters. But maybe one of your mods has a specific character, in the name or description, which causes this issue. If you could send me your mods list I will have a look.
Laerino 1. Y; 2. No/ EN; 3. No; only en langue no cyrillic font
It worked normally, maybe I have too many mods,
I also did a clean install
Harpi
Hello,
You can confirm that you have extract the font folder and the two fonts files (FreeSans.ttf and FreeSansBold.ttf) beside VS_ModsUpdater.exe ?
Do you use Cyrillic language / which language do you use ?
If you run the script with en_US as language does it solve the issue ?
I had many problems with cyrillic fonts. Maybe it is a new one...
Hi no create pdf.
2024-06-09 17:43:01 : Traceback (most recent call last):
File "VS_ModsUpdater.py", line 840, in makepdf
File "encodings\cp1250.py", line 23, in decode
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 6280: character maps to <undefined>
LunaGore
Good to know it's now working. The bat file is more an example for server or to use in command line. But you can use it to customize according to your needs.
Laerinok Seems to be working now! I initially tried via the bat but in the console it mentioned the config.ini so I tried that as well, dunno what changed but before it wouldn't scan and just prompted if I wanted to save a PDF and closed immediately.
Laerinok Yeah, I did notice the exclusion zone. didn't actually occur to me to use it for this purpose though. and disabling force_update was the first thing I hunted down on day one. :)
Though now I know the paths are set in the config, No need for me to use the bat anymore but I have just set up a server to play with friends, so maybe the bat will make a comeback.
Kief
It's an option I'm working on. Someone already asked for it 😉. But I think it needs many changes and I need time to do this.
In the meantime if you don't want to update a specific mod you can put it in the exclusion section in the config.ini file.
Have a look to the description above in "Advanced Operation(via config.ini)"
EDIT: I don't know if you modified the bat file, but as it was for server, you may want to change some arguments. Moreever I forgot to change set force_update=true. By defaut it should be set force_update=false. with true enabled all mods will always download the latest version, even if it's already up to date.
I have a suggestion.
Much like how it asks you if you want a PDF, could there be an option that when an update is found to a mod, it asks if I would like to update. sometimes I'm avoiding a new version because it has problems.
Laerinok I just assumed it was the way it was done and never questioned it. :D
Kief
Oh. Surprised and glad to see someone using the bat file. I didn't know if it would be useful. It was mainly for server.
LunaGore Laerinok
I didn't even notice the conifg.ini. I have always used the bat file:
set modspath=E:\Games\Vintage Story\Mods
I looked in the config.ini and it had auto set as:
[ModPath]
path = E:\Games\Vintage Story\Mods
Which is on another drive and includes a space without using quotes. No problems here.
LunaGore
I used your path (path = c:\SSD Game Library\Vintage Story\1.19-Village\Data\Mods) and it worked fine.
I am not at home and this pc has only one partition, so I cannot change the letter. But on my PC it's on another partition and I've already used it.
I made some tests with differents pathname with one or more space and had no issue. The only condition is not to use any quotes.
Do you have any error message or a log ?
PS: If you want, we can see it on Discord
@Laerinok
Happens with and without quotes
@LunGore
A dummy question, did you try to set the path without quote ? I will check tomorrow but if am right quotes are only needed when using arguments in command line.
Laerinok In the config.ini file
[ModPath]
path = "H:\SSD Game Library\Vintage Story\1.19-Village\Data\Mods"
LunaGore
need more details to help you. is it in the config.ini file or in comand line ? can you show me what you wrote.
Having an issue with adding a custom path with spaces, I've tried all number of double quotes in different areas of the path and non work.
Kief
I thought to another way to fix this issue. It should be working. I'll test it and will put in the next update.
Laerinok Thanks for the info. at least I can correct it myself for now. 🙂
Kief
This is beacause the mod's author didn't fill correctly the modinfo.json in the zip file. "modID" string is missing so the script can't find it in the api. In some case I can get this string from the modname, but in this case it's too different for the script to "guess" it.
The only way is to ask to the author to add the string "ModID": "passthruchutes" in the modinfo.json.
I will send a message.
Jae_
As I don't have a mac I cannot make a binary file. The only way for you is to use the python script (VS_ModsUpdater.py). Look at the source tab.
Once it's OK you can run VS_ModsUpdater.py in console/command prompt.
How can i use this on mac?
There seems to be an issue when the script checks PassThruChutes_V1.0.0.zip
2024-05-31 20:17:11 : Pass-Thru Chutes
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 612, in update_mods
KeyError: 'mod'
ManaWei
Well, you can already do this. Have a look to the "for SERVER" section in the description above or the wiki. You can run the script in command line with some arguments. The argument --nopause true allows to avoid prompt. You should have a VS_ModsUpdater.bat file in the VS_ModsUpdater folder. You can use it. You have to change the path to match to your configuration and change "set force_update=true" to "set force_update=false".
Or you can make your own .bat file (or a shortlink) with something like: VS_ModsUpdater.exe --modspath "your_modpath_here" --language "en_US" --nopause true
The language value is the filename from lang folder, without extension.
You may have to set the absolute path before VS_ModsUpdater.exe, depending your system configuration.
Think you can toss out a server version?
one with no promps, that just updates and auto-closes after?
think it would be very useful
Answered on Discord. 😉
I will add a test to avoid personal mods that are not on the moddb. At the moment, try to put them on the mods exclusion section in the config.ini.
crashes when creating pdf
Janeator
- "It would be great if it first fetched updates, then asked you whether you'd like to download some/all. Would this be possible?"
=> I guess that's something possible. I will think about it.
- "Would also be great if, since it mass updates, checked for enabled/disabled state of the mods and adjusted it accordingly, so mass updating doesn't turn mods on."
=> Oh, I see what you mean. Actually the script doesn't change the state of a mod. It only updates the file. But mods you turn off are listed in the clientsettings.json file at the section "disabledMods": [ ] with this shape : mod_name_id_string@mod_version.
So everytime you make an update, this section isn't updated and the new version is like a new mod. I will see if I can update this list in the same time.
Would also be great if, since it mass updates, checked for enabled/disabled state of the mods and adjusted it accordingly, so mass updating doesn't turn mods on.
It would be great if it first fetched updates, then asked you whether you'd like to download some/all. Would this be possible?
Matiamo
Sorry for the long time to answer. I guess this is a possibility. I will have a look but there's no guarantee I will do it as I would change many things due to the creation of the changelog and the pdf file.
I have several instances of VS on my PC and I prefer use an instance of modsupdater for each one with a specific config.ini for each of them.
Would it be possible to have multiple custom modpaths? I run a server and I would like to update both with a single click. If not this is still a great mod.
God tier. Thank you so much for this.
Legendary; cannot live without moving forward in life. Doing gods work out here brother.
Aura_Dacella
I added the option in config.ini and arguments to choise to disable or not the dev versions.
Default (disable_mod_dev = false): it downloads ALL versions. You have to set disable_mod_dev = true to disable dev version.
I tried with -dev version. It should be OK with -pre or -rc but I couldn't find any file with this prefix.
Aura_Dacella
I guess I can add an option in the config.ini. I will see what I can do.
Could there be an option to disable grabbing dev versions of mods?
As I've already said, I'm aware of this problem, and I know it can be worrying. But there is nothing more I can do. Every executable file that have no signature neither security certificate has chance to be false positive.
Windows once blocked one of my first version too, and without any white list of my part, next versions were considered as safe...
I don't know what weirdeness you are tlaking about, but I don't think it is due to this issue. Either it is flag as positive and it is deleted/put in quarantine, or there is a strange behavior/crash and it is due to a bad use/bad codding 😅.
In any case, it's always a good thing not to trust blindly.
So I'm having the issue where when I extract the zip the v1.3.6 executable seems to being picked up by windows as a virus, specifically Trojan:Win32/Wacatac.B!ml, guessing it's a false positive.The v1.3.5 executable is fine but this might explain some of the weirdness.
Well... Strange. I don't see any reason it runs without issue with windows cmd prompt and not directly, but glad for you :)
Tried ModsUpdater from windows command prompt and it started to work. Well, great.
Manticore
Can you run ModsUpdater.exe file via the windows command prompt ? You need to navigate to the folder where ModsUpdater.exe is located if not it won't run.
Then you should see somme info about what it is going wrong.
PS: Do you have a standard or custom VintagestoryData path ?
You can also ping me on discord (same pseudo)
No debug/crash log. It does not say anything, just loads for second and then nothing happens.
Extracted all files to archive.
It did work in v1.3.5, even it stopped working after I tried new 1.3.6 (installed them both to diffrent archieves.)
I deleted old v1.3.5 archieve, so old config.ini went with it. Tried to extract v1.3.5 to new archieve, same results. It loaded for second and nothing happened, not crash messages or anything. It does not make new config.ini.
Manticore
Hello, I need some more information :
Althought most of time you can only extract the exe file, it may be safer to delete old folder and use the new in archive (and generate a new config file).
When I click .exe, modsupdater loads for second and after that nothing happens. It worked for while when I updated VS to 1.19.5. After I updated modsupdater to 1.3.6, it again stopped working.
NekoBoiNick
It should be fixed now.
For information, the argument parser doesn't use system variables. I made some tweaks to be able to use %appdata% (and HOME for linux), so it should be OK for this one.
NekoBoiNick
Thanks fo repport. I will investigate.
Getting error when specifying a custom mods path via arguments:
<!--StartFragment -->
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 913, in <module>
File "VS_ModsUpdater.py", line 545, in accueil
File "VS_ModsUpdater.py", line 149, in check_update_script
NameError: name 'my_os' is not defined
[33164] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
<!--EndFragment -->
<!--StartFragment --><!--EndFragment -->My command line arguments are as follows:
<!--StartFragment -->
Hope this is enough information.
<!--EndFragment -->
TRexTheHunter
Thanks for your feedback. I really apreciate. Glad to see the exclusion is used. It's a very specific thing I added for my need.
Many thanks for this mod! Makes my life super simple. Really easy UI and easy to add exclusions! 😍
i forgot to metnion the crashing occurs on my friend who trys to join. sorry for forgetting that.
idk why it cuases issue either, doesnt make sense to why. either way, enjoy your day :D
endey
Thanks for the feedback. I don't see any reasons that could cause this. My first thought is that there could have a kind of anti-cheat in VS (I don't know if it's right) and if it detects an exe file other than those "regular" in the game folder it closes the connection.
I never put it in the game folder, so I will try and see what happens.
i found out the hard way that if you leave the updater in the main folder of VS [not the mods folder or VSdata, the VS folder]. as i was saying, leaving this in the VS folder breaks LAN play for some odd reason. no clue why at all, but i had to move it to resolve the issue. just thought id say something. (works great btw, thank you lots.)
Travisplo
I don't really use launchers so...
There is no reason you cannot add modsupdater, it'a an executable file like any else.
Without more info I can't tell very much more. What do you mean by "not really working"? Any error message? Crash log?
You extracted the zip file and run the exe?
I will try tomorrow with GOG to see this.
EDIT:
It seems that you only can add executable for games that GoG Galaxy knows. So indeed you may not add anything else. I tried with another exe or the .bat file. I will look further...
EDIT 2:
It works once by adding the bat file.
But you must add these two lines aat the end of the bat file to launch the game after the script is done :
set VSGamePath=C:\Game\VintageStory (Put he path of your VS installation)
start /B /wait /D "%VSGamePath%" Vintagestory.exe
BUT you won't see any windows for the update process. So if you have many mods yuo may think nothing happens for a few minutes whereas it runs. The game will launch once updates verification finished.
It seems this way works only once. After the launch the "play" button remains grey. You have to quit Galaxy and start it again.
So in my opinion, it's not realy the good thing to do.
it's much easier to run ModsUpdater on its own. Or make a shortcut on the desktop.
I launch Vintage Story through GOG Galaxy, and I'm trying to add Mods Updater as an additional executable- it's not really working. Not sure where to get advice for this, so I figured I'd just ask if anyone had any suggestions here.
Works great! Thanks so much for putting this together.
Transgressor Roughgalaxy
Thanks ! I really appreciate 😀
This needs to be adopted in the vanilla game asap. so good.
appreciate your work, this is so much easier now!
v1.3.4 is out. A few fixes and improvements. Next step will be an improvement of the language detection.
Gaylen
Dont' worry about delay. We have a life ;)
Once again the issue comes from a bad format of the modinfo.json in the mod file. I'm gonna fix it. Meanwhile, you can put this mod in the exclusion section of the config. In this way you could use it but it won't be updated. To do this open the config.ini file and add it like this:
[Mod_Exclusion]
# pour exclure un mod de la maj, ajouter le nom du fichier zip (avec l'extension) du mod après = (un par ligne)
mod1 = NoisyBears.zip
mod2 =
mod3 =
mod4 =
Save the file and it's ok.
You will have to delete the name from here to enable the update again.
EDIT: Fixed. Will be in the v1.3.4 today or tomorrow.
idiomcritter
Indeed it's not a mod so you don't have to put it in the mod's folder. But if you do it shouldn't causes issues (I fixed it some versions ago but I didn't try since). You're right I should add some more explications.
You just have to extract where you want (Desktop, game folder, VS folder...) and run the exe.
Thanks for your feedback !
Laerinok
seems nordvpn was preventing the file from downloading. Had to completely close down the vpn.
After downloading, ran a scan with malwarebytes and checked out ok.
I downloaded the file into the mods folder, from there it should do its magic yes?
oh, so that doesn't work lol. placed the file on the desktop, unpacked it into a folder. then ran the exe. (suggestion (or not) for us noobs, in the description, highlite this understanding maybe. so use to normally downloading mods straight into the VSdata>mods folder, thinking VS would run it as just another mod lol )
thanks for making this, its great
@Laerinok
Sorry for the delayed response.
I was trying the 1.3.3 version. I am still getting the same error with the 1.3.4version. It is always pointing to the same mod (Noisy Bears). I deleted that mod and everything works as advertised. Noisy bears hasnt been updated since may '23 so not surprised it has issues.
Thanks for all that you are doing!
ComradeTum
thanks 😄
Gaylen
Hello,
Which version do you have ? I thought most of this kind of crashes were fixed in the v1.3.3. Do you have a crash log file in the logs folder ? There should be the mod name displayed.
I was about to publish the v1.3.4 but before I send it, could you try it and tell me if you always crash ?
Edit:
VS_ModsUpdater.v.1.3.4.zip deleted, waiting for new upload with fix.
This might be singlehandedly the most useful mod on the ModDB, it makes it so easy to keep everyones modlist up to date for MP severs with friends. 10/10
idiomcritter
Hello,
As I've said, ModsUpdater is an executable file. Even if "classic" mods can have virus, an exe file is more frequently flag by Antivirus because it is not known and it is a potential threat. That is a legit comportment. Problem is that there are often too agressive detections and there are many "false positive" detections and files go to quarantine. There nothing I can do about it.
You may try a another browser, again. But if it's the antivirus that blocks it won't change anything.
All I can say is :
PS: Wich antivirus do you have ? When you say "virus scan fail" you mean that the you cannot scan the file or the result is clean ?
can't download, don't know why, windows 10 both firefox and chrome flagg the file when attempting to download (virus scan fail, downloading other mods appear fine)
DELTAGOD
Thanks for your feedback. I'm glad you found the application useful. 😀
This mod tool has single-handedly made playing the game after a work week a non-chore, just boot, update, and play. No more fighting with the willpower to update every mod or check for updates. Thank you!
This last version should be the good one. I think I managed most of issues due to modinfo.json.
I also fixed a rare issue where some mods were not updated if you used a limit for the game version.
If you encounter other crashes you should now have a log file. It will help to identify issues.
It seems that some rare mods cause crash. If it happens to you, you can use this temporary version. It should help to identify mods causing troubles. A log file will be created.
Shadowise
It took times, but it's finally OK. 😅
Laerinok, the latest version works perfectly, thank you!
jshea483 Shadowise
This should be OK now.
jshea483
OK. Well. that's is the same issue I fixed this mornig at the same line... 😬
The good thing that's I know where to look.
Thks for the mod. I am going to make tests.
Edit: Ok, I see where is the problem. I'm working on it. I tried to clean the code and I guess I messed some things
Meanwhile, you can use the v1.20. It was working well for several months. The only difference is that with 1.3.0 you will be able to generate a pdf file of the mod list.
Thanks for the response. Updated to v1.3.1 today and ran into the following error.
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 294, in extract_modinfo
AttributeError: 'NoneType' object has no attribute 'group'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 755, in <module>
File "VS_ModsUpdater.py", line 457, in mods_list
File "VS_ModsUpdater.py", line 304, in extract_modinfo
IndexError: tuple index out of range
[16552] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
I elimnated all the mods and traced it the Auto Panning mod, version 1.0.1.
Shadowise
Well... It's another thing. Can you confirm you used a fresh and clean installation ? I mean you used the new lang files ? If there is a missing string, the program will crash.
Could you can also give me your mod' list please ? So I could make test to check which mod causes this issue.
Thank you, Laerinok, but 1.3.1 still crashes the same way for me.
Shadowise
My bad. Should be fixed with the v1.3.1
v1.3.0 is not working at all, just closes up without doing anything (even when saying y/yes to continue). Reverted back to 1.2.0, which has been working fine for months.
jshea483
There is always a risk of false positive with file without signature. Even Vintage Story installer has issues with some antivirus.
The only thing I can say use other antivirus and look the result.
I tried with virustotal.
This is the result : only 6 within about 70 antivirus flag it
https://www.virustotal.com/gui/file/77942896e95ec7a137ef2fafa77c26d85a31cf005f7128b0694b38f4751df2cd?nocache=1
You can also look at sources file.
Just downloaded the new version and my anitvirus flagged and quarrantine the executable stating it contained Win32/Sabsik.FL.A!ml Trojan.
Hello everyone,
New version of my ModsUpdater. The main new feature is that you can now make a pdf file of your mods in the mods folder.
I added some new language, translated with DeepL, so feel free to give me correction if needed. Or even new language.
Yes you have a log file with changelog of each mod updated. There is a new log fîle created for everytime you run the script and if there is an update.
A log directory is created the first time a mod is updated.
I haven’t used this mod yet, but does it keep a log or record of recently updated mods? Often when a mod updates it might have a new bug or incompatibility. If you’ve updated multiple mods, you then have to figure out which one is causing the issue. It’s easier to detect if you’ve updated manually and this could make it harder to figure out which it is, unless it keeps a log and then you can just check that to see which ones have updated.
Yskar
I answered you in the Linux page ;)
Yo, Laerinok, i tried the Linux version on Arch Linux and got this error:
Vintage Story Mod Updater - v.1.1.2 by Laerinok
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1006)
Traceback (most recent call last):
File "urllib/request.py", line 1348, in do_open
File "http/client.py", line 1286, in request
File "http/client.py", line 1332, in _send_request
File "http/client.py", line 1281, in endheaders
File "http/client.py", line 1041, in _send_output
File "http/client.py", line 979, in send
File "http/client.py", line 1458, in connect
File "ssl.py", line 517, in wrap_socket
File "ssl.py", line 1108, in _create
File "ssl.py", line 1379, in do_handshake
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1006)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 95, in check_update_script
File "urllib/request.py", line 216, in urlopen
File "urllib/request.py", line 519, in open
File "urllib/request.py", line 536, in _open
File "urllib/request.py", line 496, in _call_chain
File "urllib/request.py", line 1391, in https_open
File "urllib/request.py", line 1351, in do_open
urllib.error.URLError:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 537, in
File "VS_ModsUpdater.py", line 353, in accueil
File "VS_ModsUpdater.py", line 113, in check_update_script
NameError: name 'err_lang' is not defined
[96479] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
PS: You can count on me for testing on Linux. 😁
PPS: Dependencies aren't really a problem, Linux users are mostly tech savvy, maybe havin an py script would be even easier, or an appimage, maybe (using this: https://www.reddit.com/r/Python/comments/gia4b1/making_python_appimages_using_a_single_command/ ).
Tested on Linux Mint 21 with VirtualBox
==========
I made a pre-release version for Linux. This version is for test purpose.
You can run it through the terminal :
I need feedback to know if it works as intended and if it is easy to use. As I don't often use Linux I am not really comfortable.
If you tested this linux version please let it me know. If it's OK I will upload an "official" version.
Yskar
It is not a flapak, but the "pyinstaller" module I use to make executable file has an option "one-file". So you should not have to worry about dependencies.
Well Laerinok, i know a lil and can try to help you if you need, i suggested appimage because it is kinda easy to do (and there's a plenty of tutorials), i use the same nickname as user on Telegram if you need someone to test the linux version (and i need to learn to do appimage for myself anyway, so i can help you making an script to try automate that).
Appimage is kinda like all in one executable bundle on an compressed file, you just open and it works.
Yskar
I'm not an Linux user. I have a boot CD with Mint and some other tools and I sometime I use ViritualBox when needed. I even had a server under linux, but it was a long time ago and I forgot many things. So I will see what I can do but it is without any guarantee ;)
For now I have some issues to make it work under linux propably because of path errors and lower/upper case. But when It will be fixed I'll check for flatpak. I dont' really know what it is, only that it's an option to install an application.
Laerinok, if you can make it as an appimage (and/or flatpak) would be amazing, so you could pack all the prerequisted packages inside of it.
I need to make some small changes, but I think I could have a version for both, Windows and Linux.
The mod folder path is: ~/.config/VintagestoryData/Mods/
The comments being in french isn't a problem, i can use google translator 'cause i can only read in portuguese and english, lol.
I'll try the python script configurating the path as "~/.config/VintagestoryData/Mods/" and see what happens.
Hello Yskar,
I'm thinking about making a version for linux. But I'm not sure of what I need or what is the path. I'll try with virtualbox.
But look at the source Tab, there is the. py file. But comments are in french. When I started I didn't think I will share it so I didn't used english inside, and then I didn't changed.
Thanks Laerinok, i'm glad this just works under Arco/Arch linux using WINE, but a version as .py would be nice too.
thank you all, glad to have done something useful.
😃
Esto es maravilloso, muchisimas gracias. 💚
😄
This is a must have tbh
Laerinok
It is, awesome! Ty for the swift response
DisarmedSpy
Should be fixed with 1.1.1.
OK. It's another issue with a non standard versionning of a mod. I'll make a fix as soon as possible.
Thanks
PS : Until I make a fix, you can put it in the [Mod_Exclusion] section of the config.ini.
Crashes when updating QPTech with no error.
Thank you.
Glad to know that my app is useful 😀
thank you for your work
TerminalAccess
Hello.
Thanks, and Feel free to say your thoughts, I am learning :)
You're right, but this detection was for previous versions (before 1.18.8). I deleted this information in the description, because with v1.18.8 there is only the net7 version, in VintagestoryData. It becomes the standard. So now, no need to make the diference between those two version. I have just not deleted this funcion in the script, because I'd like to be sure that I won't use it anymore and that nobody use old version of Vintage Story.
In the facts, it doesn't mater for the script to know if you use net4 or net7, it does the same thing : To Browse mods folder and to update them. But when I was asked for a net7 exp version, the path was different (VintagestoryDatanet7). So I needed to set another path. But now, with the 1.18.8, there a unique path (VintagestoryData).
Maybe I could delete the (net4/net7) information in the title, but there is yet some people downloading previous versions.
So to sum up, the method I was using to detect Net4 vs Net7 is not used anymore, but it is always in the script. I should clean up the script, but it's not on my prior list to do :)
Loved the work on the update, however just a polite heads up, the method your using to detect Net4 vs Net7 (via looking up the VS Data folder in appdata) is very unreliable, I have 1.18.8 net7 installed and my datafolder is "VintagestoryData".
By default as of atleast 1.18.6 the default folder for both Net4 and Net7 is "VintagestoryData".
Updated to v1.1.0
New way to use the config.ini, so you can now a custom path for you mods folder.
OK. That's in a good way.
Concerning Medieval Fashion, It's a mod that cannot be automatically updated. That's is due to the way the creator made it. You must place it in the exclusion section, as you did.
I don't think any .dll file causes crash.The program only looks for .cs or .zip files. I had issues when there was zip-file which was not a mod, but it's now fixed.
For the prompt...my bad... I forgot to bypass the test if you have set the right path. I don't know how, but it will be fixed.
1. The config.ini is created and saved. It also has the right path for my mods directory:
path = D:\Vintage Story\Data\Mods
But, I'm still prompted for the data path every time I start the program. Maybe it also needs to save the data path and not just the mods path?
2. I'm on windows and running it through a CMD prompt. The window closes on failure with no input from me, so if the error is listed there I can't see it. However, I do have a temp folder, and I can see that Medieval Fashion is the one that is causing the failure. I saw mention in I think the Vintage Launcher mod about this one being problematic for downloading through the API, so I'll mess with excluding it later, but the program is probably fine.
To your other questions:
1. I extract to my desktop on my C drive and run it where it's extracted (i.e. with the lang directory present). I run it by double clicking the executable.
2. My mods directory does have a .dll, but as mentioned, the updater is failing before I get to that anyway (and I'll try excluding it if it's a problem).
Edit: After excluding Medieval Fashion and the .dll file it runs just fine for me. Still prompted each time for the data path, but that's a minor inconvenience. Thanks a lot for the help and the tool.
Zinloz
But I need more info :
Thanks, I can run it now. However:
1. Subsequent runs prompt for the path every time - it's not saving the data path entered the first time
2. Seeing a failure when checking one mod (I'm not sure which). Window closes immediately and I don't see a log file to see what went wrong.
Zinloz
Xandyr78
v1.0.10 should be OK for custom VS datapath.
Simply run it and if the program doesn't find the defaut path of VSData at the first run, it will ask you to entry the path.
OK, I didn't know these commands.
I will check to deal with these specific configs. The most simple maybe, will be to put the config file right beside the exe file. It's on my ToDo list.
There is already a config file. But it is created in the VS data ;)
Meanwhile, I suggest :
Now you should be able to use the ModsUpdater.
I've relocated my entire appdata directory for Vintage Story. There are a couple launch arguments you can use:
--dataPath "D:\Vintage Story\Data"
--addModPath "D:\Vintage Story\Data\Mods"
These will cause Vintage Story to look in these locations for your data (saves, config, logs, etc.) and mods when launching.
If you're using the env var for appdata then that's probably the problem. My appdata directory is there, but there is nothing there for Vintage Story (all moved to D drive). My suggestion would be a config file included in the download (or instructions on making one) which is used by the program to find the data directory, possibly defaulting to the appdata path or using that as a fallback option if the user doesn't set the config file.
Zinloz
Your VS data is on your D drive, but, is it only the VS data or all your %appdata% drive ? Because I use a system variable to get the appdata's path. So whatever the path it should be able to get it. And I don't remeber we could choose the path for data. Only for the game. But I may miss something.
But you're right I should add more messages error. Every update of ModsUpdater already had a new error message. There are so much errors that I don't think all of them. So I update when some of you are confronted to one of them :)
Can you update this error message with more details (namely, the path)? This happens when I try to run the program for the first time. I'm guessing it's looking for the default mod location, which I don't have since my VS data is on my D drive. Maybe manually creating the config.ini would fix this, will try it later:
"Error:The system cannot find the path specified
Press any key to continue . . ."
Glad to hear that !
😀
Laerinok
Hi! Deleting the config file in the ModData folder worked! I can now update my mods with the Mod Updater! Thanks a bunch :)
It doesn't matter where your installation is. It doesn't use it. What is matter is where the mods folder is. By défaut mods folders is in c:\users\yourusername\appdata\roaming\VintagestoryData\Mods and actualy I don't see how we could change it, unless all your system is in a drive which is not c. But Even in this case the program should find the right path.
It doesn't matter where you run the program from. It use a system variable of windows to find the right path.
Can you run it in the windows console and give me the error message ? If you don't know how to do, check the post below, with pictures.
I've redirected my installation to a different drive than C:\, and I can't seem to run this properly. Do I run it from inside my VS installation folder? The Data folder? Somwhere else?
Indeed. And I've already caught a lot of errors. Problem is that there are a lot of kind of errors and I must make a test for each. Either I didn't think of one of them, or even I don't know them.
That's why by launching with the console, the error is displayed in the windows.
As I said at the beginning, I am not a programer. I have only learned for some months. But I will try to make better to see errors :)
A nice update would be it not closing automatically when it finishes or errors. Like, Press Y to finish/close or press R to run it again (or idk, some other buttons)
Good news !
On my to do list : having a test to avoid this kind of issue.
Have fun and good play.
Laerinok
The VS_ModsUpdater for the older version was in the mods folder :p
Going to run it now and see if i have any other problems
Update: Yep, finally it is working. It finally generated a proper update log :p
RachelTGG
I've already had this kind of error. It was when there was in the mod folder a zip-file which was not a mod-file. for example if you put VS_ModsUpdater.v.1.0.9.zip in the mod folder you probably will have the error. On my todo list there is something to set a test if a zip-file is a mod-file or not. Are you sure there is no other file than mod-file ?
I suggest (if you've not already did it) to male a clean install by deteting all files (cf post below, to TopOnPC)
If you still have issue, could you send me your mod' list please ?
I you want, I made a small program to create a pdf file of all mods file in the mods repertory. As it was for a personal use, it is in french, and should work on any PC. But you have nothing to do, only run the .exe and the .pdf will be created.
You muste DL the 2 file (VS_ModsList.exe and banner.png) Just be aware to keep the banner.jpg in the same directory than VS_ModsList.exe
Direct Download - VS_ModsList
TopOnPC
Hello, If you're having issues when updating, the best thing to do is :
I think your issue is due to an old file still present.
Edit : To run the mod updater in a console window :
1) In the windows explorer, go into the modsupdater directory and click in the adress bar and type cmd (and then 'enter'). The console opens.
2) Then drag and drop VS_ModsUpdater.exe into the windows console.
3 ) press 'enter'. The script begins
Ok, noticed one weird thing happening. Every mod its causing a error saying there is no modinfo.json in the archive, when i if look in the files, there is. And it goes directly to the error (it doesnt try to update anything else it seems)
Vintage Story Mod Updater - v.1.0.9 by Laerinok
Max game version: Any version
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 476, in <module>
File "VS_ModsUpdater.py", line 352, in mods_list
File "VS_ModsUpdater.py", line 216, in extract_modinfo
File "zipfile.py", line 1664, in extract
File "zipfile.py", line 1703, in _extract_member
File "zipfile.py", line 1476, in getinfo
KeyError: "There is no item named 'modinfo.json' in the archive"
[18860] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
Laerinok
Hi I had a previous version but when I installed the new version I deleted the old file and it the new one never worked. I've done the same with the update you just released and it still doesn't work. I also don't know how to run the mod updater in a console window. I can open the mod updater file but it just closes after loading the first mod or something. I'm not sure what is going on.
Thanks for all the updates!
RachelTGG
Now, with the 1.0.9 you have no limit anymore for mods-exclusion.
The alphabetic sorting is now OK, except for mods whose modname and filename are different. I am working to fix that, but I think I must rewrite a good part of codes. So it's not my priority for now.
If you have other issues don't hesitate to tell me.
Well, my bad. Indeed there is a limit with 10 files for mods exclusion. I will change this to fit the exclusion list's size. I thought I had changed it.
I will check for the order. It's not something I set, but by defaut the sort function is by alphabetical. But what it happens (I think), the mod'sort is by name file, so what you see is sorted by file name. But what is displayed in the windows is the modid, which may be different. For example, the mod YABBA Forge was named before "more molds". So the filename is moremoldsXXXX.zip. In the list it is sorted by the "M" but the displayed name is "Yabba Forge". Morever, if you use cs-file mods, they are sorted after the zip-file. The Step up mod will be displayed at the end of the list. it is due to the fact that at the begining I didn't know there were cs-file. As I can't open them at the same time than the zip-file they come at the end. Since it doesn't change the result, I didn't modify this. But I guess can do something for that.
Weird, both 1 and 2 i was having it not do that. On 1 it seemed to go by order then it started going backwards (comparing to the mod folder that is sorted by name). On 2, i added it and it just ignored it. (and yeah,i do it seems, in total 143 (!) files in the mods folder.
I'm gonna try to find a fix. I have some ideas to do this, but it may take some time.
1- What is the order it checks mods to update? because it seems to be going backwards (Z to A instead of A to Z) on giving me errors
2- Cant have more than 10 mods on the ignore list.
3- Can we have a update so it skips mods it cant update and just writes to a log file but doesnt stops updating?
RachelTGG
I am sorry for you, but you will have to DL Medieval Fashion (and vanilla wood) manually . The creator coded these 2 mods in a way to be easier for him to maintain them but in return we're not able to download them automatically.
You must keep it int the [Mod_Exclusion] and DL them manually.
TopOnPC
I tried with your mod's list and I didn't had any issue. So It comes from anoter thing.
Can you try to run it in the conwole windows and then give me the error message please. It would be helpful.
Question : Is it your first DL of modsupdater or you updated it from a previous version ? Because I changed the language file's name in the 1.0.8 and if it is not the new name it crashes.
You must have beside the VS_ModsUpdater.exe these 3 files :
RachelTGG
I tried with the 4 mods who gave me. The issue comes from "Medieval Fashion" whitch use a bad versioning. I suggest you to add it in the mod exclusion in the config.ini until I find a fix. It will be ignored and you will be able to update other mods.
Just add in the config.ini this line (\AppData\Roaming\VintagestoryData\ModConfig\ModsUpdater\config.ini) :
mod1 = Medieval_Fashion_v-2.01.26-VS-1.18.6-c.zip (or mod2, mod3 if you already add some exclusions)
You always can update it manually, but in this case you should change the name in the config.ini after updating it or you will have this error agin.
Laerinok
List of mods
This is what is in the modinfo.json
{
"type": "code",
"modid": "egocaribautomapmarkers",
"name": "Auto Map Markers",
"authors": [ "egocarib" ],
"description": "Automatically adds map markers to your map when you interact with certain objects. Fully configurable.",
"version": "2.6.0",
"requiredOnServer": true,
"requiredOnClient": true,
"dependencies": {
"game": "1.18.6-rc.2"
}
}
Most recent error:
Vanilla Crate Compatibility: installed version : 1.0.0 - last version : 1.0.0
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 466, in
File "VS_ModsUpdater.py", line 348, in update_mods
File "VS_ModsUpdater.py", line 212, in extract_modinfo
File "zipfile.py", line 1662, in extract
File "zipfile.py", line 1701, in _extract_member
File "zipfile.py", line 1475, in getinfo
KeyError: "There is no item named 'modinfo.json' in the archive"
[24696] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
This same error happens with the other mods mentioned on the other message and many others. Seems to be a bit random? Like mods that have just been updated (Vanilla Variants) do that too.
Laerinok havent changed anything. The latest mod (in the temp file) is Medieval Fashion. It is the one that gives that version number.
A few mods are causing that error:
-Medieval Fashion (either the normal or the vanilla woods version)
-QPTech
-VSBiggerWindmil
-Visible Terra Petra Particles
RachelTGG
It seems to be a versioning issue. The last time I saw this issue was when we write a wrong version max in the config.ini. Did you change it ? If it's you, why this number specifically (The version 2.01.25 seems strange. I think it should be 2.1.25). If not do you know witch mod is involved ? you can see (maybe) in the "temp" directory (beside Modsupdater.exe) in the the modinfo.json.
To be more precise, the max version in the config.ini is the version of Vintage Story (not the one of a mod). So the maximum should be less than actual version of VS. if you want to limit download.
Welp, i get this error after some mods updated
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 466, in <module>
File "VS_ModsUpdater.py", line 365, in update_mods
File "VS_ModsUpdater.py", line 269, in compversion
File "semver\_deprecated.py", line 80, in wrapper
File "semver\_deprecated.py", line 112, in compare
File "semver\version.py", line 646, in parse
ValueError: 2.01.25 is not valid SemVer string
[2416] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
TopOnPC
Hello,
Most of the time, crashes that occur now are due :
For more info, you can check ih the temp directory is created and look int he modinfo.json (with a simple text editor). You will see the name of last mod.
You can also run the script via the cms console. You will see the error message.
You can also send me your mods list and I will ltry.
:)
Hi! When I try to run the mod updater it opens and works for a second but then suddenly closes without any apparent reason. Any idea how to fix this? Thanks!
Localization should now be OK.
If you wish to have your language you can send it to me and I'll add it.
Well It should be OK now.
Moreover, it seems that the script doesn't detect the localization. If there are some russian users, could you tell me if the script detects the right language or if it still in english (v1.0.7)
When I have time, I will make improvements for localization, but for now I focus on fixing bugs ;)
Thauma
You're right. I should change the explication. When I wrote 1.18.x I would say 1.18.1 or 1.18.2, 1.18.3 etc... no the letter X
Maybe I will fix later for use X as a number of version, but for now you should use real numbers ;)
Edit : Indeed, I should change the way to tell the script the max version...
Until the next fix, if it crashes, you should set the version to something like 1.18.7
[Game_Version_max]
version = 100
version = 1.18.7
OK, I saw where this issue comes from. To fix an issue with the comparison of versions, I use now a module with standard Semantic Versioning. And a version number looks like this : MAJOR.MINOR.PATCH
So either you write your version like this 1.18.7 or you can keep the hight value 100 but in this case you must write : 100.0.0
It will be fixed in the next version.
Latest version crashes when checking versions of any mod, not just the mod mentioned in the log.
Vintage Story Mod Updater (Net4). v.1.0.6 by Laerinok
Max game version: Any version
ABCSReborn: installed version : 0.1.1 - last version : 0.1.1
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 458, in
File "VS_ModsUpdater.py", line 370, in update_mods
File "VS_ModsUpdater.py", line 267, in compversion
File "semver\_deprecated.py", line 80, in wrapper
File "semver\_deprecated.py", line 112, in compare
File "semver\version.py", line 396, in compare
File "semver\version.py", line 646, in parse
ValueError: 100 is not valid SemVer string
[22932] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
EDIT: Assuming that it was because of the version I changed it to 1.18.x and it still crashes, but it seems that the error is somewhere to do with the max version of the game
Vintage Story Mod Updater (Net4). v.1.0.6 by Laerinok
Max game version: 1.18.x
ABCSReborn: installed version : 0.1.1 - last version : 0.1.1
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 458, in <module>
File "VS_ModsUpdater.py", line 370, in update_mods
File "VS_ModsUpdater.py", line 267, in compversion
File "semver\_deprecated.py", line 80, in wrapper
File "semver\_deprecated.py", line 112, in compare
File "semver\version.py", line 396, in compare
File "semver\version.py", line 646, in parse
ValueError: 1.18.x is not valid SemVer string
[38712] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
Hi,
Thanks, I am on it. Mathgeniuszach gave me some clues to solve this issue as he was confronted to the same issue. It should befixed in the next version. And russian language will be added (thanks to Vsatan)
Hey there,
So not the most important thing but I noticed that the update for prospecttogether (https://mods.vintagestory.at/prospecttogether) isn't recognised because of their versioning:
ProspectTogether: installed version : 1.1.0-rc.3 - last version : 1.1.0
All the best
Deathscreton
Thanks a lot for you message ! Glad to see this is useful.
As you said, what I had in mind was the fact I didn't want to do anything to update. Just run the soft and go.
You emphasise the fact that I should update the description too ! After four updates there are some fixes and additions that might be more indicated
Just wanted to say that this mod has been pretty amazing. Once I got the correct version downloaded and ran, it was literally hands off. The best part was, I was completely unaware of the fact that it will spit out a changelog for everything once done. Imagine my surprise when it did so as I was struggling to open all the browser windows so I could see the changelog myself.
This is great stuff, thank you!
Aksyl
Well I have the UAC with the default settings and I have a standard account (not an admin) and I don't have this issue. Does it always occur with the 1.0.4 ? I fixed an issue.
Which version of Windows do you have ? Maybe the security options are different... I am on Win10.
But at the first run (if the config.ini was not created before) it's normal that the program stop and exit. It is to allow you to modify the config file, if needed, before. You have a message saying the config file was created and that you should run again.
To answer your question, yes my account has wright access, but I use the prompt feature of UAC to warn me if an unauthorized program is attempt to alter files. Sometimes I forget about the directories I use this in as it isn't universally applied.
mohmaniac
It's just an issue with the exit fonction. I don't know why, but as the program would exit in any case, it's not an issue, you can use it. The config.ini file should be created and that is the most important. I will investigate where does this error come from because it didn't happen to me. I'll patch it in the next version (I hope)
EDIT : Fixed in 1.0.4
The first run results in an error message:
E:\Downloads\VS_ModsUpdater.v.1.0.3>VS_ModsUpdater.exe
First execution of the program, creation of the config.ini file done.
Please restart the program (you can add the mods to exclude in the config.ini file before)
Drücken Sie eine beliebige Taste . . .
Traceback (most recent call last):
File "VS_ModsUpdater.py", line 115, in <module>
NameError: name 'exit' is not defined
[4732] Failed to execute script 'VS_ModsUpdater' due to unhandled exception!
Is this an issue?
Aksyl
Is the directory where is the VS_ModsUpdater.exe read-only or you can write in ? Because the script needs to create a temp directory to extract the modinfo.json. It's the only reason I see for the moment. Maybe your profile has no rights to write in this directory but in Admin it's OK.
@Laerinok It created the folders and config but just closed after. Subsequent runs caused it to just close immediately until running it through cmd.
Had to run as admin, d'oh
I've made a quick release for Net7 version. It's the same that the v1.0.3 but with the path for NET7 version.
Next I will make a unique file for both, but I won't have the time this weekend.
@Loco
Well, I need to put another path for the net7 version. While waiting for my change, maybe you can rename VintagestoryData\Mods in VintagestoryData\Mods_ (or what you want), then create a new Mods folder and put inside the net7 mods. Update them and put thme back in the right net7 folder. Once done, you can use again mods folder for net4 mods.
But I probably will make changes this aftermoon so You can just wait a while ;)
I have several versions on my pc. It updated the wrong version. I have a net4 version that it updated and a net7 version it did not update. The net 7 version is installed VintagestoryDataNet7. How can I get it to update the right place?
Secular12
You can now choose the version of the game via the config.ini file.
It's only for updates, I don't know if I can do for a downgrade.
New version online.
Now you can choose the maximum version of the game (set it in the config.ini file).
You must delete the old config.ini file before runs this release, or you can add this section:
[Game_Version_max]
# Select the desired game version (ex: 100, 1.18, 1.18.x). default: 100 (to have all versions)
version = 100
Aksyl
Strange issue. I've never had it. Do you have an error message or it just closes ?
The program doesn't create a VintagestoryData\ModsUpdater directory but \VintagestoryData\ModConfig\ModsUpdate
It seems that the program doesn't find the VintageStory mods directory.
Can you confirm that you have a \VintagestoryData\ModConfig\ModsUpdate directory with a config.ini file ? and that the section [ModPath] in config.ini has the right value for 'path'
Another question, what is the language of your system ? Maybe there are some special characters that are unrecognized.
If needed you can DM me on on discord (same pseudo on the VS server)
I couldn't get this to work by just running the executable, I had to:
Well, I'll see what I can do.
Is there any chance that before 1.19 comes out you can add a kind of configuration to only allow mods to update based on a version of the game it supports. Because I feel like when 1.19 comes out we won't want to update everything until a majority have updated? Also "rolling back" based on the game version support would be awesome too. So, for instance if I run for a newer version of the game, find out there is a bug, then set the config for this to a previous version of the game and then the it will roll things back? I know it is a lot to ask but some food for thought to be prepped for when 1.19 comes out.
BlueBottle
Glad you enjoy it ! 😃
@Laerinok
Wow, thats exactly what i was hoping for! thanks very much
BlueBottle
It's possible. I can scrap the page and get the changelog. But I don't know how will be the consequence on the speed of the script (it will take more time to execute). But I could set an option in the config.ini to disable this option by defaut, and those who want it just have to enable.
I'll think about it
@Laerinok
Thanks for the fix and nice work on this.
No idea how hard it would be or if its even possible, would if be possible to pull the contents of the changelog for the updated mods?
Would be amazing to see this under the updated mods in the updated section.
OK. I see. I think I could add something for that.
It's on my to do list
StepUp for example
OK. I will what I ça do. If you could give me a name of a such mod, I will have à look.
Thanks
Laerinok They have ModInfoAttribute which contains modid, name etc.
DanaCraluminum I don't how mods works. But my script checks the modinfo.json in the zip-file and check the lastest version with the api.
How cs-mod are packaged ?
Issues from checking version should be fixed.
For mods with incomplete modinfo.json file, I cannot do anything. I have set an error message when occurs. You could try to ask modder to put the right key 'moddid' in the modinfo.json
I have change the directory name. So delete the old directory if you have the previous version.
Thanks to BlueBottle for his report
Is it compatible with mods that are just a single .cs file?
BlueBottle
Hello,
Ok. I see what is the problem. the version number contains letters in addition to numbers so it cannot compare the version and... crashes. I think it's the problem.
Thanks.
EDIT : In fact, there are two distinct issues:
Hello there,
I seem to be getting quite a few errors including
"Traceback (most recent call last):
File "Vintage_Story_ModUPdate_V4_WIP.py", line 225, in <module>
File "Vintage_Story_ModUPdate_V4_WIP.py", line 164, in compversion
File "Vintage_Story_ModUPdate_V4_WIP.py", line 164, in <listcomp>
ValueError: invalid literal for int() with base 10: '0-rc'
[25940] Failed to execute script 'Vintage_Story_ModUPdate_V4_WIP' due to unhandled exception!"
and
Traceback (most recent call last):
File "Vintage_Story_ModUPdate_V4_WIP.py", line 222, in <module>
KeyError: 'mod'
[2356] Failed to execute script 'Vintage_Story_ModUPdate_V4_WIP' due to unhandled exception!
After excluding the following it finished successfully
BetterFirepit.zip (..net7)
ACulinaryArtillery 1.0.12_RC.zip (.net7 and crashed)
AnvilMetalRecovery_V0.1.19-pre.1_Debug.zip (crashed)
arachnidreplacer.zip (crashed)
Bullseye_2.5.0-rc.1.zip (crashed)
FarmlandDropsSoil-VS1.15-v1.4.0.zip (crashed)
Indeed it is a point of view. But I don't share it. Yes it's an easy way, just to click one button. But you have to go to the site, check which mod have been updated. That's OK for 5 mods. But 70+, I don't feel like to spend my time at chekcking and clicking.
And Moreover, as I've said, it originally was an exercise for me. And then I decided to share it.
You may not like the idea, but auto-update is a lack for many players I know.
Because of the great way the official mod site is laid out. It is no problem to pop in for 5 minutes a day just before you start playing and update anything that has changed.
And check out anything that is new.
And doing it that way has the benefit that you can avoid updating when the mod changes in a way you don't like.
Araiye
Well I don't know. what kind of server ? I mean, it's just an executable file for Windows. So if you can run the software on the server it should be able to update mods.
I see several cases:
As I said, I am learning python. So I don't know if I will able to do something. But I will look for.
Can you create a server-side version of this? That would be amazing if you could!