Mods / ModsUpdater

Category: #Other #QoL #Utility
Author: Laerinok
Side: Both
Created: Jul 16th 2023 at 4:16 PM
Last modified: Apr 2nd at 3:30 PM
Downloads: 11351
Follow Unfollow 256

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 V2.0.0:

I’ve learned a lot from this project, and now I’m ready to move on to an entirely new version 2.0.
I started the code from scratch and added new features:

  • The ability to choose the update mode (automatic/manual). You can decide whether to update a mod or not.
  • Downgrading mods: use a lower game version + force_update = true
  • A system for migrating old/custom configurations. DONE
  • Backup of mods before updating them. DONE
  • Improved logging and error management system. DONE
  • Improved processing, multithreading enable. DONE

I still have a lot to work on; I don’t have an estimated release date yet, but progress is being made.

If you have any suggestions, now is the time to share them. If it’s within my abilities, I’ll see what I can do.

(updated 2024-12-05)

 

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 / Update

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:

     

    Folder_content

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.
What the script does in detail
  • 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.
Basic usage
  • 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.
Advanced Operation (via config.ini)

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
Additional information
  • 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.
Known issues
  • 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)
Supported Languages
  • english
  • french
  • russian by Vsatan
  • brazilian by Yskar
  • spanish by Sir-Ryu
  • german (DeepL)
  • italian (DeepL)
  • ukrainian (DeepL)
For SERVER

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.
Disclaimer

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

License

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
3094 Apr 2nd at 3:30 PM Show VS_ModsUpdater.v.1.4.0.zip
v1.3.6
434 Mar 26th at 3:30 PM Show VS_ModsUpdater.v.1.3.6.zip
v1.3.5
370 Mar 20th at 7:11 PM Show VS_ModsUpdater.v.1.3.5.zip
v1.3.4
652 Mar 2nd at 11:50 PM Show VS_ModsUpdater.v.1.3.4.zip
v1.3.3
338 Feb 28th at 12:33 PM Show VS_ModsUpdater.v.1.3.3.zip
v1.3.2
286 Feb 24th at 8:24 PM Show VS_ModsUpdater.v.1.3.2.zip
v1.3.1
150 Feb 24th at 8:24 AM Show VS_ModsUpdater.v.1.3.1.zip
v1.3.0
185 Feb 23rd at 3:43 PM Show VS_ModsUpdater.v.1.3.0.zip
v1.2.0
1064 Oct 20th 2023 at 10:52 AM Show VS_ModsUpdater.v.1.2.0.zip
v1.1.4
424 Oct 3rd 2023 at 8:00 PM Show VS_ModsUpdater.v.1.1.4.zip
v1.1.3
320 Sep 25th 2023 at 10:02 AM Show VS_ModsUpdater.v.1.1.3.zip
v1.1.1
572 Aug 26th 2023 at 11:41 AM Show VS_ModsUpdater.v.1.1.1.zip
v1.1.0
249 Aug 22nd 2023 at 7:17 AM Show VS_ModsUpdater.v.1.1.0.zip
v1.0.10
207 Aug 21st 2023 at 7:36 AM Show VS_ModsUpdater.v.1.0.10.zip
v1.0.9
304 Aug 16th 2023 at 4:11 PM Show VS_ModsUpdater.v.1.0.9.zip
v1.0.8
318 Aug 9th 2023 at 9:04 PM Show VS_ModsUpdater.v.1.0.8.zip
v1.0.7
266 Aug 4th 2023 at 3:18 PM Show VS_ModsUpdater.v.1.0.7.zip
v1.0.6
190 Aug 4th 2023 at 7:39 AM Show VS_ModsUpdater.v.1.0.6.zip
v1.0.5
178 Aug 3rd 2023 at 5:03 PM Show VS_ModsUpdater.v.1.0.5.zip
v1.0.4
158 Aug 2nd 2023 at 3:24 PM Show VS_ModsUpdater.v.1.0.4.zip
v1.0.4
194 Aug 2nd 2023 at 3:24 PM Show VS_ModsUpdater.v.1.0.4_NET7.zip
v1.0.3
270 Jul 26th 2023 at 8:48 AM Show VS_ModsUpdater.v.1.0.3.zip
v1.0.3
232 Jul 29th 2023 at 1:37 PM Show VS_ModsUpdater.v.1.0.3_NET7.zip
v1.0.2
311 Jul 19th 2023 at 1:40 PM Show VS_ModsUpdater.v.1.0.2.zip
v1.0.1
200 Jul 18th 2023 at 9:39 AM Show VS_ModsUpdater.v1.0.1.zip
v1.0.0
385 Jul 16th 2023 at 4:19 PM Show VS_ModUpdater.zip

218 Comments (oldest first | newest first)

💬 LaerinokAuthor, 4 days ago

Afroman726

Thanks for your enthusiasm! ! :)

💬 Afroman726, Dec 2nd at 4:56 AM

Laerinok Thank you for this mod! Can't wait for 2.0 to come out! :D 

💬 LaerinokAuthor, Dec 1st at 9:52 AM

INFO V2.0.0:

I’ve learned a lot from this project, and now I’m ready to move on to an entirely new version 2.0.
I started the code from scratch and added new features:

  • A system for migrating custom configurations.
  • The ability to choose the update mode (automatic/manual). You can decide whether to update a mod or not.
  • Backup of mods before updating them.
  • Improved logging and error management system.

These features are complete. I still have a lot to work on; I don’t have an estimated release date yet, but progress is being made.

If you have any suggestions, now is the time to share them. If it’s within my abilities, I’ll see what I can do.

💬 LaerinokAuthor, Nov 21st at 7:55 PM

Servius

By default it downloads mods for the latest game version. So for 1.20.pre.

If you want to stay with the 1.19.8 you should edit the config.ini file and set the right option :
[Game_Version_max]
version = 1.19.8

If you've already use ModsUpdater, the config.ini is already created (beside modsupdater.exe). So you have to edit it before run it.

If it is the first time, after to have set the language and the modpath, you will be asked to exit or keep on going. Yous MUST exit and then edit the config.ini as said above.

I'm working on a brand-new version that is more intuitive and comprehensive, but it will not available before a while.

💬 Servius, Nov 21st at 7:32 PM

will this update to the correct version or if there are a 1.20 vversion will try to download it, even if 1.19 is better for the install im using?

💬 LaerinokAuthor, Oct 25th at 9:49 PM

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

💬 MyuriC, Oct 25th at 9:30 PM

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.

💬 LaerinokAuthor, Oct 25th at 6:44 AM

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 :)

💬 MyuriC, Oct 24th at 9:21 PM

I love that this exists. Thank you. Only wish that the launcher could update itself without having to check Discord every now and then.

💬 LemonJamTart, Oct 5th at 8:19 PM

Laerinok ah, darn-- well, at least the problem is solvable! thank you very much!

💬 LaerinokAuthor, Oct 5th at 5:50 PM

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 😉

💬 LemonJamTart, Oct 5th at 2:36 PM

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?

💬 Brumes, Oct 4th at 3:27 PM

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.

💬 LaerinokAuthor, Oct 4th at 7:11 AM

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.

💬 Brumes, Oct 3rd at 9:15 PM

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😁

💬 LaerinokAuthor, Oct 3rd at 4:54 PM

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...

💬 Brumes, Oct 3rd at 4:45 PM

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

💬 LaerinokAuthor, Oct 3rd at 3:30 PM

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...)

💬 Brumes, Oct 3rd at 2:52 PM

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.

💬 LaerinokAuthor, Oct 3rd at 2:01 PM

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.

💬 Brumes, Oct 3rd at 12:29 PM

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?

💬 LaerinokAuthor, Oct 3rd at 10:25 AM

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.

💬 Brumes, Oct 3rd at 9:03 AM

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

💬 LaerinokAuthor, Sep 23rd at 6:09 AM

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.

💬 LaerinokAuthor, Aug 11th at 6:44 PM

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.

💬 Kerbo, Aug 11th at 4:35 PM

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 =

 

💬 Sammy_SMD, Jul 24th at 9:55 AM

Thank you

💬 LaerinokAuthor, Jul 22nd at 6:29 AM

SocialBlazer

Thanks :)

💬 SocialBlazer, Jul 21st at 11:59 AM

Damn dude. Good staff

💬 LaerinokAuthor, Jun 11th at 11:31 AM

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.

💬 Kriky, Jun 10th at 7:59 PM

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.

💬 LaerinokAuthor, Jun 10th at 5:52 PM

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.

💬 Kriky, Jun 10th at 5:33 PM

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

💬 LaerinokAuthor, Jun 9th at 5:04 PM

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...

💬 Kriky, Jun 9th at 3:48 PM

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>

 

💬 LaerinokAuthor, Jun 4th at 7:19 PM

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.

💬 LunaGore, Jun 4th at 6:46 PM

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.

💬 Kief, Jun 3rd at 4:50 PM

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.

💬 LaerinokAuthor, Jun 3rd at 6:20 AM

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.

💬 Kief, Jun 3rd at 6:03 AM

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.

💬 Kief, Jun 3rd at 5:56 AM

Laerinok I just assumed it was the way it was done and never questioned it. :D

💬 LaerinokAuthor, Jun 2nd at 1:34 PM

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.

💬 Kief, Jun 2nd at 11:48 AM

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.

💬 LaerinokAuthor, Jun 2nd at 6:14 AM

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

💬 LunaGore, Jun 1st at 10:22 PM

@Laerinok

Happens with and without quotes

 
 

 

 

💬 LaerinokAuthor, Jun 1st at 9:10 PM

@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. 

💬 LunaGore, Jun 1st at 8:48 PM

Laerinok In the config.ini file

[ModPath]
path = "H:\SSD Game Library\Vintage Story\1.19-Village\Data\Mods"

💬 LaerinokAuthor, Jun 1st at 8:34 PM

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.

💬 LunaGore, Jun 1st at 7:55 PM

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.

💬 LaerinokAuthor, Jun 1st at 6:31 PM

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.

💬 Kief, Jun 1st at 5:10 PM

Laerinok Thanks for the info. at least I can correct it myself for now. 🙂

💬 LaerinokAuthor, Jun 1st at 7:34 AM

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.

  • You must have Python v3.11 installed
  • You must install all the depencies from the requirements.txt
  • You must put this files/folders beside VS_ModsUpdater.py :
    • font folder with the font files
    • lang folder with lang files
    • banner.png

Once it's OK you can run VS_ModsUpdater.py in console/command prompt.

💬 Jae_, Jun 1st at 4:57 AM

How can i use this on mac?

💬 Kief, May 31st at 7:22 PM

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'

💬 LaerinokAuthor, May 29th at 5:55 AM

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.

💬 ManaWei, May 29th at 4:46 AM

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

💬 LaerinokAuthor, May 27th at 6:15 AM

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.

💬 NiclAss, May 26th at 9:24 PM

crashes when creating pdf

💬 LaerinokAuthor, May 20th at 7:52 PM

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.

💬 Janeator, May 20th at 6:36 PM

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.

💬 Janeator, May 20th at 6:18 PM

It would be great if it first fetched updates, then asked you whether you'd like to download some/all. Would this be possible?

💬 LaerinokAuthor, May 17th at 9:15 PM

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.

💬 Matiamo, May 10th at 7:39 PM

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.

💬 Ulfr, Apr 18th at 3:42 AM

God tier. Thank you so much for this. 

💬 HeadPilgrim, Apr 13th at 6:28 PM

Legendary; cannot live without moving forward in life. Doing gods work out here brother.

💬 LaerinokAuthor, Apr 2nd at 3:39 PM

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.

💬 LaerinokAuthor, Mar 29th at 7:01 PM

Aura_Dacella

I guess I can add an option in the config.ini. I will see what I can do.

💬 Aura_Dacella, Mar 29th at 5:30 PM

Could there be an option to disable grabbing dev versions of mods?

💬 LaerinokAuthor, Mar 29th at 11:38 AM

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.

💬 SpectrumArray, Mar 29th at 7:02 AM

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.

💬 LaerinokAuthor, Mar 28th at 2:19 PM

Well... Strange. I don't see any reason it runs without issue with windows cmd prompt and not directly, but glad for you :)

💬 Manticore, Mar 28th at 1:59 PM

Tried ModsUpdater from windows command prompt and it started to work. Well, great.

💬 LaerinokAuthor, Mar 28th at 1:29 PM

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)

 

💬 Manticore, Mar 28th at 12:51 PM

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.

💬 LaerinokAuthor, Mar 28th at 12:08 PM

Manticore

Hello, I need some more information :

  • Do you have a debug/crash log in logs folder ?
  • Is it a fresh install ? I mean did you extract all files/folders from archive or only the exe file ?
  • What was the last working version ? v1.3.5 ?
  • Do you use an old config.ini file ?

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).

💬 Manticore, Mar 28th at 10:41 AM

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.

💬 LaerinokAuthor, Mar 26th at 6:41 PM

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.

💬 LaerinokAuthor, Mar 25th at 7:00 AM

NekoBoiNick

Thanks fo repport. I will investigate.

💬 NekoBoiNick, Mar 24th at 10:33 PM

Getting error when specifying a custom mods path via arguments:

<!--StartFragment -->

Vintage Story Mod Updater - v.1.3.5 by Laerinok
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 -->

.\VS_ModsUpdater.exe --modspath "%APPDATA%\VintageStoryData\Mods"

Hope this is enough information.

<!--EndFragment -->

💬 LaerinokAuthor, Mar 22nd at 6:57 AM

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.

💬 TRexTheHunter, Mar 21st at 9:37 PM

Many thanks for this mod! Makes my life super simple. Really easy UI and easy to add exclusions! 😍

💬 endey, Mar 17th at 8:50 PM

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

💬 LaerinokAuthor, Mar 16th at 11:08 AM

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.

💬 endey, Mar 16th at 10:03 AM

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.)

💬 LaerinokAuthor, Mar 11th at 10:05 PM

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.

💬 Travisplo, Mar 11th at 9:10 PM

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.

💬 Sarahphim, Mar 5th at 4:09 PM

Works great! Thanks so much for putting this together. 

💬 LaerinokAuthor, Mar 3rd at 6:20 PM

Transgressor Roughgalaxy

Thanks ! I really appreciate 😀

💬 Roughgalaxy, Mar 3rd at 4:30 PM

This needs to be adopted in the vanilla game asap. so good.

💬 Transgressor, Mar 3rd at 11:12 AM

appreciate your work, this is so much easier now!

💬 LaerinokAuthor, Mar 2nd at 11:56 PM

v1.3.4 is out. A few fixes and improvements. Next step will be an improvement of the language detection.

💬 LaerinokAuthor, Mar 2nd at 7:47 AM

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 !

💬 idiomcritter, Mar 2nd at 4:35 AM

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

💬 Gaylen, Mar 2nd at 3:37 AM

@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!

💬 LaerinokAuthor, Mar 1st at 9:49 PM

ComradeTum

thanks 😄

💬 LaerinokAuthor, Mar 1st at 12:59 PM

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.

💬 Gaylen, Mar 1st at 12:41 PM
Traceback (most recent call last):
  File "VS_ModsUpdater.py", line 311, 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 323, in extract_modinfo
  File "VS_ModsUpdater.py", line 285, in json_correction
IndexError: no such group

 

💬 ComradeTum, Mar 1st at 11:35 AM

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

💬 LaerinokAuthor, Mar 1st at 7:21 AM

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 :

  • Either you don't trust the file and you forget it.
  • Or you get back the file from the quarantine of your antivrus, and you whitelist it.
  • In some rare case (it happened to me) after a few days an antivirus doesn't block the file anymore. So, sometimes you just have to wait and try again later.

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 ?

💬 idiomcritter, Mar 1st at 3:51 AM

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)

💬 LaerinokAuthor, Feb 29th at 3:43 PM

DELTAGOD

Thanks for your feedback. I'm glad you found the application useful. 😀

💬 DELTAGOD, Feb 29th at 1:31 PM

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!

💬 LaerinokAuthor, Feb 28th at 12:42 PM

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.

💬 LaerinokAuthor, Feb 27th at 8:08 PM

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.

💬 LaerinokAuthor, Feb 25th at 5:43 PM

Shadowise

It took times, but it's finally OK. 😅

💬 Shadowise, Feb 25th at 3:02 PM

Laerinok, the latest version works perfectly, thank you!

💬 LaerinokAuthor, Feb 24th at 8:26 PM

jshea483 Shadowise

This should be OK now.

💬 LaerinokAuthor, Feb 24th at 7:51 PM

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.

💬 jshea483, Feb 24th at 7:45 PM

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. 

💬 LaerinokAuthor, Feb 24th at 6:48 PM

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.

💬 Shadowise, Feb 24th at 6:04 PM

Thank you, Laerinok, but 1.3.1 still crashes the same way for me.

💬 LaerinokAuthor, Feb 24th at 8:27 AM

Shadowise

My bad. Should be fixed with the v1.3.1

💬 Shadowise, Feb 24th at 1:24 AM

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.

💬 LaerinokAuthor, Feb 23rd at 8:37 PM

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. 

💬 jshea483, Feb 23rd at 8:03 PM

Just downloaded the new version and my anitvirus flagged and quarrantine the executable stating it contained Win32/Sabsik.FL.A!ml Trojan.

💬 LaerinokAuthor, Feb 23rd at 3:58 PM

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.

💬 LaerinokAuthor, Oct 5th 2023 at 10:09 PM

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. 

💬 RuneScholar, Oct 5th 2023 at 9:58 PM

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.

💬 LaerinokAuthor, Sep 15th 2023 at 7:16 AM

Yskar

I answered you in the Linux page ;)

💬 Yskar, Sep 15th 2023 at 6:56 AM

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/ ).

💬 LaerinokAuthor, Sep 8th 2023 at 10:21 AM

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 :

  • Download and unzip VS_ModsUpdater_Linux
  • Open a terminal and go to the folder VS_ModsUpdater_Linux (or whatever the name you gave it)
  • Drag&Drop VS_ModsUpdater in the terminal to run it.

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.

💬 Yskar, Sep 7th 2023 at 6:57 PM

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.

💬 LaerinokAuthor, Sep 7th 2023 at 6:24 PM

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.

💬 Yskar, Sep 7th 2023 at 6:06 AM

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.

💬 LaerinokAuthor, Sep 4th 2023 at 11:20 AM

I need to make some small changes, but I think I could have a version for both, Windows and Linux.

💬 Yskar, Sep 4th 2023 at 7:54 AM

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.

💬 LaerinokAuthor, Aug 29th 2023 at 5:37 AM

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. 

💬 Yskar, Aug 29th 2023 at 4:36 AM

Thanks Laerinok, i'm glad this just works under Arco/Arch linux using WINE, but a version as .py would be nice too.

💬 LaerinokAuthor, Aug 27th 2023 at 7:14 PM

thank you all, glad to have done something useful.

😃

💬 JefferZ, Aug 27th 2023 at 5:50 PM

Esto es maravilloso, muchisimas gracias. 💚

💬 LaerinokAuthor, Aug 27th 2023 at 6:34 AM

😄

💬 Dj3dzx, Aug 27th 2023 at 5:03 AM

This is a must have tbh

💬 DisarmedSpy, Aug 27th 2023 at 3:41 AM

Laerinok

It is, awesome! Ty for the swift response

💬 LaerinokAuthor, Aug 26th 2023 at 11:43 AM

DisarmedSpy

Should be fixed with 1.1.1.

💬 LaerinokAuthor, Aug 25th 2023 at 8:48 PM

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.

💬 DisarmedSpy, Aug 25th 2023 at 8:31 PM

Crashes when updating QPTech with no error.

💬 LaerinokAuthor, Aug 23rd 2023 at 6:09 AM

Thank you.
Glad to know that my app is useful 😀

💬 pablo11300, Aug 23rd 2023 at 4:40 AM

thank you for your work

💬 LaerinokAuthor, Aug 22nd 2023 at 1:24 PM

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 :)

💬 TerminalAccess, Aug 22nd 2023 at 12:34 PM

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".

💬 LaerinokAuthor, Aug 22nd 2023 at 7:35 AM

Updated to v1.1.0

New way to use the config.ini, so you can now a custom path for you mods folder.

💬 LaerinokAuthor, Aug 22nd 2023 at 5:22 AM

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.

💬 Zinloz, Aug 21st 2023 at 10:57 PM

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.

💬 LaerinokAuthor, Aug 21st 2023 at 3:01 PM

Zinloz

  1. Weird. When I tested (with the same path - D:\Vintage Story\Data), path was saved and it worked as intended... Is the config.ini file is created in your VSData\ModConfig\ModsUpdater ?
  2. If you run modsupdater.exe through the Windows console you will have more info. The error message will remains in the windows. 
    But I need more info :
    • Beside modsupdater.exe, is there a 'temp' folder ? Inside you would find the modinfo.json for the last mods checked.
    • How do you extract/use modsupdater.exe ? (You only have to extract the folder and run from this folder. You shall not move into another directory, or if you do, you must move lang directory too)
    • In your mods directory, are there any files other than mods files ? I tried to make tests to use only mod zip or cs, but I may have forgotten something. 
💬 Zinloz, Aug 21st 2023 at 2:20 PM

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.

💬 LaerinokAuthor, Aug 21st 2023 at 7:39 AM

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.

💬 LaerinokAuthor, Aug 20th 2023 at 8:08 PM

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 :

  • to create c:\users\yourusername\AppData\Roaming\VintagestoryData with nothing inside. It is only to create the config file.
  • Then run the program once. It will be asked if you want to go on or exit, then EXIT (if you go on it will crash because it won't find path mod).
  • Go and edit c:\users\yourusername\AppData\Roaming\VintagestoryData\ModConfig\ModsUpdater\config.ini
  • Change the path mod to fit yours.

Now you should be able to use the ModsUpdater.

💬 Zinloz, Aug 20th 2023 at 7:15 PM

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.

💬 LaerinokAuthor, Aug 20th 2023 at 6:33 PM

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 :)

💬 Zinloz, Aug 20th 2023 at 2:33 PM

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 . . ."

💬 LaerinokAuthor, Aug 19th 2023 at 2:22 PM

Glad to hear that !

😀

💬 TopOnPC, Aug 19th 2023 at 1:48 PM

Laerinok

Hi! Deleting the config file in the ModData folder worked! I can now update my mods with the Mod Updater! Thanks a bunch :)

💬 LaerinokAuthor, Aug 18th 2023 at 4:15 AM

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.  

💬 Xandyr78, Aug 18th 2023 at 12:01 AM

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?

💬 LaerinokAuthor, Aug 17th 2023 at 6:05 PM

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 :)

💬 RachelTGG, Aug 17th 2023 at 5:25 PM

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)

 

💬 LaerinokAuthor, Aug 17th 2023 at 5:39 AM

Good news !

On my to do list : having a test to avoid this kind of issue.

Have fun and good play. 

💬 RachelTGG, Aug 17th 2023 at 12:40 AM

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

 

💬 LaerinokAuthor, Aug 16th 2023 at 7:52 PM

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

💬 LaerinokAuthor, Aug 16th 2023 at 7:20 PM

TopOnPC

Hello, If you're having issues when updating, the best thing to do is :

  1. delete all files. I mean :
    • VS_ModsUpdater.exe
    • \lang\english.json (or en.json if it's an old version)
    • \lang\french.json.json (or fr.json if it's an old version)
    • \lang\russian.json (if present)
  2. delete the config.ini file in \AppData\Roaming\VintagestoryData\ModConfig\ModsUpdater
  3. you can now unzip VS_ModsUpdater.v.1.0.9.zip
  4. At the first run it will create a new config.ini file, then ask if you wish go on updating or exit and set some mods in the exception section of the config.ini
  5. It should run without issue.

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

💬 RachelTGG, Aug 16th 2023 at 6:47 PM

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!

 

💬 TopOnPC, Aug 16th 2023 at 6:29 PM

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.

💬 RachelTGG, Aug 16th 2023 at 5:36 PM

Thanks for all the updates!

 

💬 LaerinokAuthor, Aug 16th 2023 at 4:17 PM

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.

💬 LaerinokAuthor, Aug 16th 2023 at 6:06 AM

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.

💬 RachelTGG, Aug 16th 2023 at 12:07 AM

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.

💬 LaerinokAuthor, Aug 15th 2023 at 9:01 PM
  1. What is the order it checks  mods to update : Alphabetical order of mod-file names (I don't remember if zip-files and cs-files are separate or not). It may be different than the mod id.
  2. Cant have more than 10 mods on the ignore list. Yes. You can have as much as you want. Just add one line per additional mod (mod11=... / mod12=.../ mod13=....). But you have so much mods to put in this section ?! ;)
  3. Can we have a update so it skips mods it cant update and just writes to a log file but doesnt stops updating. I'm not sure. I mean to get the log, I must get before the 2 versions to compare each one, and this is what I can't do with these 2 mods. But If I find a way to get the log, It' will be the same way to get the new file, so...
    I'm gonna try to find a fix. I have some ideas to do this, but it may take some time.
💬 RachelTGG, Aug 15th 2023 at 7:32 PM

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?

 

💬 LaerinokAuthor, Aug 15th 2023 at 1:56 PM

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.

💬 LaerinokAuthor, Aug 15th 2023 at 10:10 AM

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 :

  • \lang\english.json
  • \lang\french.json
  • \lang\russian.json
💬 LaerinokAuthor, Aug 15th 2023 at 9:42 AM

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.

💬 TopOnPC, Aug 15th 2023 at 4:18 AM

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"
}
}

 

 

💬 RachelTGG, Aug 15th 2023 at 1:38 AM

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.

 

 

💬 RachelTGG, Aug 14th 2023 at 11:56 PM

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

 

💬 LaerinokAuthor, Aug 14th 2023 at 11:16 PM

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.

💬 RachelTGG, Aug 14th 2023 at 9:17 PM

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!

 

 

💬 LaerinokAuthor, Aug 14th 2023 at 5:58 PM

TopOnPC

Hello,

Most of the time, crashes that occur now are due :

  • to a file which is not a zip-file mod or a cs-file mod int he mods directory.
  • be sure your internet connection is OK (It's probably the case). As the script doesn't test neither made an error message if there's no internet connection, crash may happen.
  • zip-file doesn't always contain a standard modinfo.json. I tried to think all possibilities but I can forget some.
  • I can have made mistakes ^^

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.

:)

💬 TopOnPC, Aug 14th 2023 at 4:32 PM

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!

💬 LaerinokAuthor, Aug 9th 2023 at 9:25 PM

Localization should now be OK.
If you wish to have your language you can send it to me and I'll add it.

💬 LaerinokAuthor, Aug 4th 2023 at 3:25 PM

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 ;)

💬 LaerinokAuthor, Aug 4th 2023 at 1:22 PM

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.

💬 Thauma, Aug 4th 2023 at 1:14 PM

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!

💬 LaerinokAuthor, Aug 4th 2023 at 6:05 AM

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)

💬 BlueBottle, Aug 3rd 2023 at 8:05 PM

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

💬 LaerinokAuthor, Aug 2nd 2023 at 8:12 PM

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

💬 Deathscreton, Aug 2nd 2023 at 7:41 PM

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!

 

💬 LaerinokAuthor, Aug 2nd 2023 at 3:55 PM

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.

💬 Aksyl, Aug 2nd 2023 at 3:38 PM

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.

💬 LaerinokAuthor, Aug 2nd 2023 at 2:56 PM

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

💬 mohmaniac, Aug 2nd 2023 at 12:57 PM

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?

💬 LaerinokAuthor, Jul 31st 2023 at 5:11 AM

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.

💬 Aksyl, Jul 31st 2023 at 1:56 AM

@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

💬 LaerinokAuthor, Jul 29th 2023 at 1:39 PM

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.

💬 LaerinokAuthor, Jul 29th 2023 at 12:30 PM

@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 ;)

💬 Loco, Jul 29th 2023 at 11:56 AM

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?

💬 LaerinokAuthor, Jul 26th 2023 at 9:18 AM

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.

💬 LaerinokAuthor, Jul 26th 2023 at 8:50 AM

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

💬 LaerinokAuthor, Jul 25th 2023 at 6:01 AM

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)

💬 Aksyl, Jul 25th 2023 at 2:38 AM

I couldn't get this to work by just running the executable, I had to:

  1. go to cmd
  2. type cd (VintagestoryData\ModsUpdater directory)
  3. tell cmd to run the executable
💬 LaerinokAuthor, Jul 23rd 2023 at 4:22 PM

Well, I'll see what I can do.

💬 Secular12, Jul 23rd 2023 at 9:39 AM

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.

💬 LaerinokAuthor, Jul 19th 2023 at 2:49 PM

BlueBottle

Glad you enjoy it ! 😃

💬 BlueBottle, Jul 19th 2023 at 2:37 PM

@Laerinok

Wow, thats exactly what i was hoping for! thanks very much

💬 LaerinokAuthor, Jul 18th 2023 at 6:53 PM

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

💬 BlueBottle, Jul 18th 2023 at 6:43 PM

@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.

💬 LaerinokAuthor, Jul 18th 2023 at 10:28 AM

OK. I see. I think I could add something for that.

It's on my to do list

💬 DanaCraluminum, Jul 18th 2023 at 10:24 AM

StepUp for example

💬 LaerinokAuthor, Jul 18th 2023 at 10:06 AM

OK. I will what I ça do. If you could give me a name of a such mod, I will have à look. 

Thanks

💬 DanaCraluminum, Jul 18th 2023 at 9:55 AM

Laerinok They have ModInfoAttribute which contains modid, name etc.

💬 LaerinokAuthor, Jul 18th 2023 at 9:53 AM

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 ?

💬 LaerinokAuthor, Jul 18th 2023 at 9:49 AM

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

💬 DanaCraluminum, Jul 18th 2023 at 9:45 AM

Is it compatible with mods that are just a single .cs file?

💬 LaerinokAuthor, Jul 17th 2023 at 11:20 PM

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:

  • version number with digit AND letters (like RC, pre-) so the script doesn't compare versions. (fixing in progress)
  • Some rare modders doesn't set the 'modid" key in the modinfo.json. Therefore I'm not be able to get the version from the api. It's the case for Arachnid Replacer, Farmland Drop. I've added an error info when it occurs.
💬 BlueBottle, Jul 17th 2023 at 7:51 PM

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)

💬 LaerinokAuthor, Jul 17th 2023 at 5:16 PM

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.

💬 Mendall, Jul 17th 2023 at 4:49 PM

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.

 

💬 LaerinokAuthor, Jul 16th 2023 at 7:09 PM

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:

  • You play with "open to internet". Your PC is the server, so you will be able to update mods with the software.
  • You have a dedicated server (Windows) at home. Same as above. Just run  it on your server
  • You have a paid dedicated server. I don't know which tree structure where is used for vintagestorydata. If it is the case, maybe you could tell me the absolute path ? (but I guess it's the same). But in anyway If you cannot run a program on the server, It will be impossible, I think.
  • And as it's a windows software, if the server runs under linux, indeed that's a problem. But it's a python script, so I could try to create something running for linux.

As I said, I am learning python. So I don't know if I will able to do something. But I will look for.

💬 Araiye, Jul 16th 2023 at 6:46 PM

Can you create a server-side version of this? That would be amazing if you could!

(edit comment delete)