redruin1 / factorio-draftsman

A complete, well-tested, and up-to-date module to manipulate Factorio blueprint strings. Compatible with mods.
MIT License
94 stars 17 forks source link

[seablock] Draftsman-update version checking too strict. #51

Closed theunkn0wn1 closed 1 year ago

theunkn0wn1 commented 2 years ago

draftsman version 1.0.2 Modpack: Seablock

Factorio says all mods are up to date, and the game loads&runs just fine Draftsman is unable to load the pack

$ pipx install factorio-draftsman 
  installed package factorio-draftsman 1.0.2, Python 3.8.5+
  These apps are now globally available
    - draftsman-update
done! ✨ 🌟 ✨

$ draftsman-update --path ~/.factorio/mods 
Traceback (most recent call last):
  File "/home/orion/.local/bin/draftsman-update", line 8, in <module>
    sys.exit(main())
  File "/home/orion/.local/pipx/venvs/factorio-draftsman/lib/python3.8/site-packages/draftsman/env.py", line 1794, in main
    update(
  File "/home/orion/.local/pipx/venvs/factorio-draftsman/lib/python3.8/site-packages/draftsman/env.py", line 1568, in update
    raise IncorrectModVersionError(
draftsman.error.IncorrectModVersionError: mod 'reskins-bobs' version (2, 0, 3) not >= (2, 1, 0)
redruin1 commented 2 years ago

Could you provide the exact modlist in its entirety as well?

theunkn0wn1 commented 2 years ago

mod-list.zip

redruin1 commented 2 years ago

This is confusing. I installed the modpack with everything up to it's latest version and I got no errors; impying that as the error shows one of your mods is "out of date". However, I was under the impression that Factorio would fail to load if the associated mod dependency is below the requested, which apparently is not the case. Is there multiple instances of the same mod in your mods folder? What does draftsman-update with the --verbose flag display before it errors?

I suspect there's some crucial piece of information that I'm missing from the load process sequence that permits this behavior, though I have no idea what it is. I'm fairly certain that Factorio has some checks for this (why would you be able to specify specific mod versions if it didn't?) but clearly I'm missing something.

Since this error is rather obscure (and unlikely since users will most likely resolve their mod issues using Factorio itself instead of Draftsman) I'll disable it for now, at least until I find more information on this problem.

theunkn0wn1 commented 2 years ago

using command draftsman-update --path ~/.factorio/mods --verbose 2>&1 | tee draftsman_log.txt to redirect stdout/err to a file, draftsman_log.txt