ModMyFactory - mod manager and more

Tools for search and installing new mods as well as starting Factorio.
For dedicated server handling see Multiplayer Tools
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

Anson wrote:you can also add the options to activate all non-marked mods
Easily doable.
Anson wrote:when clicking on an unselected mod, it first selects the clicked mod and deselects all other mods
I know but this is the default behaviour in list views, so it's consistent with e.g. the Windows Explorer.
Anson wrote:thus "select all marked mods" will select the clicked mod and all marked mods. and clicking on the scrollbar also will deselect all mods first.
I have to fiddle with it a little more.
Anson wrote:i rightclicked a mod in a modpack, got the popup to "delete selected" and this would not only delete the single mod that i rightclicked, but the entire modpack it was part of
But this is sort of intended as the context menu does not apply to the subitems. Having a separate context menu for the subitems would make things more difficult.
Anson wrote:unzipped a mod without deleting the zipfile
Well that is not something ModMyFactory has control over. And without manual intervention it sould not be possible to have one mod installed more than once per Factorio version at the same time, so you have to expect unexpected behaviour.
Anson wrote:second problem is related to this: if one of those mods is enabled when this program is started, all additional lines for the same mod will be enabled too. but when the mod is disabled (eg by clicking on it in a modpack on the right side), only the first of those several lines on the left side will be unchecked.
Just as I said, because this is never intended to happen ModMyFactory may behave in any unexpected way. Therefore ther's nothing to be fixed.
Anson wrote:when a new update for that mod was released, i believe the old zipfile and the unzipped directory were both deleted and the new version was unzipped automatically. this also removed the modifications that i had done and would have liked to look at for comparison when modifying the new version of the mod too
Well yes, all changes you make to a mod are lost when it's updated. This is exactly what the game does as well and there is no good way of keeping it.
aaargha
Filter Inserter
Filter Inserter
Posts: 333
Joined: Wed Dec 07, 2016 8:35 am
Contact:

Re: ModMyFactory - mod manager and more

Post by aaargha »

Back again :)

Ran into some problems when I tried to update to 0.14.22. Currently I have 0.14.21 and 0.14.13 installed and running MMF 1.4.3.

When trying the update option it hard crashes after downloading, see "crash-log-update.txt".

When using add from zip, which I used as a fallback earlier, adding a new version gives a message stating that it is already installed. Adding an already existing version crashes due to the files already existing, see "crash-log-from-zip.txt". Probably just some inversion logic at fault.

Cheers
Attachments
crash-log-from-zip.txt
Adding duplicate from zip
(2.19 KiB) Downloaded 108 times
crash-log-update.txt
When using the update command
(3.17 KiB) Downloaded 105 times
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

aaargha wrote:When trying the update option it hard crashes after downloading, see "crash-log-update.txt".
It appears your installation is somehow corrupt. Make sure you have zlib64.dll in the same directory as Modmyfactory.
aaargha wrote:Probably just some inversion logic at fault.
That is exactly what that is. It's fixed in the prerelease if you want to use that one.
aaargha
Filter Inserter
Filter Inserter
Posts: 333
Joined: Wed Dec 07, 2016 8:35 am
Contact:

Re: ModMyFactory - mod manager and more

Post by aaargha »

It's weird, from what I can tell everything seems to be in order.
dir in application directory wrote: bak
Factorio_Icon.ico
Factorio_Modpack_Icon.ico
LICENSE-Json.NET.txt
LICENSE-Octokit.NET.txt
LICENSE-Xdelta-sharp.txt
LICENSE-ZLIB.txt
LICENSE.txt
ModMyFactory.exe
ModMyFactory.exe.config
mods
Newtonsoft.Json.dll
Octokit.dll
Ookii.Dialogs.Wpf.dll
wpfcore.dll
xdelta.dll
zlib32.dll
zlib64.dll
All the files are unblocked, the requested entry is available in zlib64.dll, the dependencies kernel32.dll and msvcr120.dll are both available in the system folder.
I just can't find anything strange, which means I'll probably be facedesking pretty hard when it turns out to be something obvious.
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

It's not obvious. Or at least not for me, I have no experience with native libraries.

Just to make sure it's not something silly, try redownloading the latest release and overwrite all files and run ModMyFactory as administrator.
If that doesn't help I have to see what I can do.
aaargha
Filter Inserter
Filter Inserter
Posts: 333
Joined: Wed Dec 07, 2016 8:35 am
Contact:

Re: ModMyFactory - mod manager and more

Post by aaargha »

No dice. Got 1.5.0pre1 and the issue remained. Also tried running as admin. Upside is that i could use install from zip without issues.

I assume that regular use of the program (managing installations, downloading mods, managing modpacks, creating shortcuts) would involve the other dlls? Meaning that they work and only the zlib one is causing issues?
If not, what actions should I try to access them?
Is zlib used anywhere else (downloading mods or w/e) or is it just in the update?
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

All other DLLs are managed so they are a completely different story.

Zlib is only used in the update process to calculate crc32 checksums.
Anson
Fast Inserter
Fast Inserter
Posts: 249
Joined: Sun May 22, 2016 4:41 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Anson »

Artentus wrote:
aaargha wrote:When trying the update option it hard crashes after downloading, ...
aaargha wrote:... is available in zlib64.dll, the dependencies kernel32.dll and msvcr120.dll are both available in the system folder
It appears your installation is somehow corrupt. Make sure you have zlib64.dll in the same directory as Modmyfactory.
this reminds me of another utility (foreman, the program, not the mod) where many people got strange errors too and were told literally the same "probably corrupt. check whether lua52.dll is in the same directory as the main program" ...

the reason was that it needed a very specific runtime version of a dll (Visual C++ 2012 x86 in that case for foreman), and that that dll was automatically installed for most people who owned their computer for some time and had installed lots of other software. but on new computers, an old version of the dll from 2012, and even the 32bit version on a 64bit windows, was not automatically available for everybody. i just looked at my system32 folder and found 12+ versions of msvcp and msvcr ...
i have no idea whether this problem is related to the foreman problem, but more details about this and where to get that dll in this thread for foreman.

---
Artentus wrote:
Anson wrote:when clicking on an unselected mod, it first selects the clicked mod and deselects all other mods
I know but this is the default behaviour in list views, so it's consistent with e.g. the Windows Explorer.
ah, yes, i see ...
and when CTRL-clicking, it doesn't select the line and doesn't clear the other selected lines, just like the explorer.
really nice if you know the ctrl-click trick :-)
Artentus wrote:
Anson wrote:i rightclicked a mod in a modpack, got the popup to "delete selected" and this would not only delete the single mod that i rightclicked, but the entire modpack it was part of
But this is sort of intended as the context menu does not apply to the subitems.
Having a separate context menu for the subitems would make things more difficult.
since it only says "delete selected", it's easy to misunderstand and think that the clicked mod is meant and not the entire modpack, especially when it is a huge modpack where you don't easily see the selectionframe around the entire modpack.
i don't ask to add the ability to delete single mods from a modpack by using the popup, but maybe the text of the options could be changed to read on the right side "delete selected modpack", and on the left side "delete selected mod" instead of only "delete selected" on both sides ?
about how old versions are replaced and what i would wish
edit:
i tried updating mods ingame again, and it seems to be a bug in factorio: when i select "check for updated mods", it doesn't find and mark any updates (any: not only those with conflicts, but none at all). but when i select "install new mods" without explicitly asking to check for updates, updated mods are marked yellow in the list of all mods, and also after going "back" they stay marked, the "update mods" button now is enabled, and they can be updated.

since i could update mods ingame now, i could check whether "This is exactly what the game does as well" ...
factorio replaces the "loaded version" (as described in the notice: the only version if there is only one, and if there are several versions of a mod then only the newest or the directory) by the new zip. other/older versions are not touched and the new zip is never unzipped automatically (replacing old directories with new zips, not with new directories). thus factorio handles updating differently anyway:
- MMF unzips, factorio doesn't
- on multiple versions, MMF crashes and factorio doesn't

suggestion for your program:
- download a new zip and delete the old zip in any case (just like factorio does)
- but don't unzip and delete the new zip (just like factorio doesn't)
- and (unlike factorio, to prevent edited files from being lost) have an option in your settings that determines whether old directories (unzipped mods) are deleted or not.
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

Anson wrote:it needed a very specific runtime version of a dll (Visual C++ 2012 x86 in that case for foreman)
This might very well be the reason. Now I only have to find out what version it is because I have all of them...
Maybee aaargha can report what versions they have installed?

Anson wrote:maybe the text of the options could be changed to read on the right side "delete selected modpack", and on the left side "delete selected mod" instead of only "delete selected" on both sides ?
Yea, that would probably make sense.
Anson wrote:don't unzip and delete the new zip (just like factorio doesn't)
I figured the user would expect the updated mod to be in the same state as the previously installed version.
I could change this but a setting would probably make more sense.
Anson wrote:have an option in your settings that determines whether old directories (unzipped mods) are deleted or not.
See, the problem with not deleting the old version is that ModMyFactory is programmed in a way that it expects a single mod to never be installed more that once per version of Factorio. That's why all the strange stuff happens when you manually put a mod multiple times into the directory. This behaviour is basically unchangeable because it would require basically a complete rewrite of the mod management code.
So the only thing I can really do to preserve old versions is to move them to somewhere else, e.g. a backup folder.
aaargha
Filter Inserter
Filter Inserter
Posts: 333
Joined: Wed Dec 07, 2016 8:35 am
Contact:

Re: ModMyFactory - mod manager and more

Post by aaargha »

Might have found something, still feel like I'm grapsing at straws, but eh.

Took a closer look at zlib64.dll with dumpbin and Dependency Walker.
Dependency Walker wrote:Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
The missing export is CreateFile2 in kernel32.dll. Which according to Microsoft requires Windows 8, see bottom.

As I'm still on Windows 7 this might be what is causing the issue? Has this been tested on 7 or only later versions?

As for the c++ redists, it feels like I'm bathing in them. Currently I've got both the x86 and the x64 of 2008, -10, -12, -13, and -15. Current list of msvcr/p dlls:
dir wrote:msvcp100.dll
msvcp110.dll
msvcp110d.dll
msvcp110_clr0400.dll
msvcp120.dll
msvcp120d.dll
msvcp120_clr0400.dll
msvcp140.dll
msvcp140d.dll
msvcp60.dll
msvcr100.dll
msvcr100_clr0400.dll
msvcr110.dll
msvcr110d.dll
msvcr110_clr0400.dll
msvcr120.dll
msvcr120d.dll
msvcr120_clr0400.dll
msvcrt.dll
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

aaargha wrote:The missing export is CreateFile2 in kernel32.dll. Which according to Microsoft requires Windows 8, see bottom.

As I'm still on Windows 7 this might be what is causing the issue? Has this been tested on 7 or only later versions?
I made sure everything I use supports Windows 7 and Zlib in particular does not require Windows 8 as far as I can tell.
I have no plans for dropping Windows 7 support either because that would most likely cut me off from most of my user base.

However, I found this:
https://github.com/madler/zlib/issues/49
which seems to suggest that Zlib version 1.2.8 (which I am using currently) has a bug that causes this problem when it is compiled on Visual Studio 2012 or above.
So it seems like I just need to get a newer version of Zlib.


Edit: please try if these work for you:
zlib-1.2.11.zip
(225.86 KiB) Downloaded 115 times
aaargha
Filter Inserter
Filter Inserter
Posts: 333
Joined: Wed Dec 07, 2016 8:35 am
Contact:

Re: ModMyFactory - mod manager and more

Post by aaargha »

And we're in business. Looks good in dependency walker and updates work without problems.

Cheers!
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

Great. I'll replace the files in the current archive then.
Avers
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Nov 01, 2014 12:23 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Avers »

I know that this is not very important thing, but it bothers me a little (: Can you please update localization section in the Features?
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

What should I update?
Avers
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat Nov 01, 2014 12:23 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Avers »

Localization
ModMyFactory has full support of localization.
Currently available languages are: English, German (hopefully more to come).
Just like i sad (: "localization section in the Features"
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Artentus »

Oh, you mean here on the forums.
I was confused because on GitHub it actually was updated correctly.
Artentus
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Sep 24, 2016 8:16 pm
Contact:

Version 1.5.0pre2 released

Post by Artentus »

This version brings only one improvement:
You can now opt in for prereleases when searching for updates. This will make it easier for you to stay on top of new prereleases (which weren't found by the updater in previous versions).

I also wrote a lot of additional code for prerelease management, so it will now be much easier for me to publish prerelease versions. Expect some more to come up from now on between stable releases.
Anson
Fast Inserter
Fast Inserter
Posts: 249
Joined: Sun May 22, 2016 4:41 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Anson »

Artentus wrote:I figured the user would expect the updated mod to be in the same state as the previously installed version.
I could change this but a setting would probably make more sense.
that would be nice.

although i really would like to have "the updated mod to be in the same state as the previously installed version", this would then include also changes to the setup.lua etc which i made :-) and of course that is not possible :-(
thus i have to do the changes again (and unzipping is no problem if i work in the mods directory anyway). but in those cases where i don't want to edit the mod again (eg if i applied some bugfix or similar and the new version includes that fix already) it will be much easier if the mod is downloaded as zip and not automatically unzipped (thus deleting the zip), else after a while i quickly would end up with (a little exaggerated) half the mods zipped and half (unnecessarily) as directories.
together with the options below, it would be easy to either not unzip the new version (set 3a to no) or to restore the zip manually when the unzipped version is no longer needed (set 2a to backup and 3a to unzip)

in any case, a hint in your documentation (first post of this thread, or similar) would be helpful, that the mods folder must have only one version of mods and neither older duplicates nor unzipped duplicates (although factorio itself no longer crashes on multiple versions and handles it gracefully in a defined way), and that people should move those other/older versions to the backup folder if they unzip it to adjust options or manually apply bugfixes. and that mods are found and updated according to that new option no matter whether they were zipped or unzipped.
Artentus wrote:
Anson wrote:have an option in your settings that determines whether old directories (unzipped mods) are deleted or not.
So the only thing I can really do to preserve old versions is to move them to somewhere else, e.g. a backup folder.
yes, that would be very helpful.

if the list of options doesn't get too long :-)
some of these options (1a,2a,3a) would be really useful and all of them together could allow for complete control:
1a. whether old directories are deleted or backed up (default backup, useful when editing setup.lua etc)
1b. whether (also) old zips are deleted or backed up (default delete, maybe useful for mod developers)
2a. whether any zips should be backed up when/if unzipping them (thus move instead of delete; default backup)
3a. whether updated unzipped mods are automatically unzipped again (default unzip ???)
3b. whether all other updated and new mods are automatically unzipped (default no)
Anson
Fast Inserter
Fast Inserter
Posts: 249
Joined: Sun May 22, 2016 4:41 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Anson »

small bug: i just tried to update mods, and after checking, i was presented with the list of mods that have newer versions. but that list showed only 18 mods and the top of another checkbox at the bottom, with no option to scroll the list or change the window's size. thus i have to either blindly accept to update all mods beyond the 18th, or first update some mods manually until there are not more than 18 to display in that list.

another bug/problem: when i tried to update a mod while factorio was running (yes, that shouldn't be done), ModMyFactory crashed (that shouldn't happebn either; errorlog said something like "mod in use"). it would be nice if ModMyFactory would not crash, and maybe give a warning instead that factorio is running and mods can't be updated. the biggest problem with this is that after the crash, there are both versions of the mod (the old one which was in use, as well as the newly downloaded mod) and thus you get all those problems we discussed already with having mutiple versions.
also the new options won't stop having multiple versions if they are caused by such a crash, and many users will be even more clueless what to do since they didn't manually create the multiple versions and now have to manually cleanup ...
Post Reply

Return to “Mod and installation managers”