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 »

This is a strange error you are getting there. I have just tested it myself and Dirty Barrels works perfecly fine for me (also using Steam version). I also never observed any weird behaviour or errors because of the directory link.
Regarding your solution: this cannot actually work as expected. If you rename the folder then the link will just point to a non-existing folder, causing Factorio to just not load any mods. Of course this would get rid of the error message, but if you are certain the mod was still loaded I am really confused.

As to the mod settings, the problem is that they are not stored in a humanly readable format like JSON. Unless I were to somehow learn about how they are encoded there is no way I can manipulate them from outside. What I can do is save a separate file for each modpack, but while that does solve the issue of loosing settings when changing configurations, it also means you will have to reconfigure your settings every time you create a new modpack (except the base game settings, which I can use as the universal template).
Edit: nevermind, I forgot we are talking about Factorio for a second. Of course the devs have posted a full documentation of the format used: viewtopic.php?t=59851
It will take longer to implement this way but it will be a lot more robust.

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

ModMyFactory 1.6.0pre3 released

Post by Artentus »

Fixed an issue that allowed multiple modpacks to have the same name, leading to ambiguity and unexpected behaviour.

User avatar
BlueTemplar
Smart Inserter
Smart Inserter
Posts: 2420
Joined: Fri Jun 08, 2018 2:16 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by BlueTemplar »

Thanks, I ran into that issue when trying to duplicate and fix https://mods.factorio.com/mod/autofill
(But I thought that it was an issue with Factorio itself??)

EDIT : Never mind, modpacks...
BobDiggity (mod-scenario-pack)

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 »

Yea as I said, I don't really know what to make of this other error. I can't even reproduce it.

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

FMP format specification published

Post by Artentus »

I have now made the specification of my FMP modpack export format publicly available: https://github.com/Artentus/ModMyFactor ... ile-Format
With this other developers can comply to it to reach cross-compatibility or you guys can just dig into it and play around.

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

ModMyFactory 1.6.0 released

Post by Artentus »

I'm declaring version 1.6 stable for now, as I have been testing the current pre-release for some time now and I also haven't received any bug reports concerning the new features.
There are also some minor improvements in this relese over pre3.

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

ModMyFactory 1.7.0pre1 released

Post by Artentus »

Since 1.6 doesn't seem to cause any problems I started to work right on the next big change: mod dependencies.

Version 1.7 contains functionality for listing and downloading dependencies of mods, required as well as optional ones. Mods that are missing required dependencies as well as modpacks containing such mods will also show a warning. I will probably still do some polishing for this feature over the next few days.

Please also note that while on the surface this may seem like a small addition to the manager, I had to rewrite large parts of the underlying code to implement this properly. The code base should now be more easily maintainable in general, but as is with all big changes to the code this may have introduced new issues that I am unaware of. So please inform me about all bugs and weird behaviour you come across.

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

ModMyFactory 1.7.0pre2 released

Post by Artentus »

  • Added settings to automatically enable mod dependencies
  • Added a warning when trying to start Factorio with missing or inactive dependencies
  • Various bug fixes

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

ModMyFactory 1.7.0pre3 released

Post by Artentus »

  • Fixed a crash when a mod dependency did not specify a version
  • Fixed possible crashes when mod dependencies contained space characters
  • More stability improvements

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

ModMyFactory 1.7.0 released

Post by Artentus »

Declaring 1.7.0 stable.

Currently my roadmap for MMF is comming to an end. I have some plans to improve handling of multiple Factorio versions, which isn't big enough for a new minor version update and will probably release soon under 1.7.
Originally I had plans to implement handling for different mod settings. However since then the Factorio team has stated Factorio 0.17 will save mod settings on a per-savegame basis, making this feature superfluous. So I will not invest development time into something that will only stay relevant for very few months at best.
I haven't been informed about any bugs for some time now as well, so MMF appears to be more or less stable, although I will of course keep an eye out for new reports now that 1.7 is released.

That leads me to ask you guys if there are any features you'd like to see in MMF. If not I will soon consider calling version 1.7 feature complete and adjusting the first post as well as my GitHub accordingly.

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

ModMyFactory 1.7.1 released

Post by Artentus »

  • Added drag and drop support for mod files and folders.
  • Added an option to filter mods on the mod portal by Factorio version.
  • Fixed a problem with importing mod folders.
  • Fixed a possible crash related to mod importing.
  • Various other small improvements and fixes.

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

ModMyFactory 1.7.2 released

Post by Artentus »

Hotfix for a hard crash when the mod directory was not present on start.

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 »

just upgraded from 1.5.12 to 1.7.2 and enjoying some new features a lot, most of all the filter to reduce the list of mods to sownload from 3000+ to 2000+ by selecting "only 0.16" :-) but i have problems with the new feature to mark missing dependencies :

- missing dependencies are only shown for modpacks. thus i get no such info when selecting several mods directly
- when a modpack shows "missing dependencies" i don't know whether they are required or optional dependencies, and most of all i don't know which mods are missing. it would be nice to get a list of mods in which i could easily select which other mods to download and/or enable.
- biggest problem: i have some mods with missing dependencies and this fact is NOT shown, while on the other hand i have a modset without missing dependencies and it shows that there are some missing :-(

to reproduce this last problem (and yes, i know that FactorioExtended is somewhat outdated, but I'm using these mods for demonstration since it is a limited set of mods that easily shows the problem):
- the modset consists of a core mod and 8 other mods, all prefixed with "FactorioExtended" (not "ExtendedPlus"). they all are Version 0.3.1, and most of the dependencies are for their core mod.
- when i put all 9 mods (and nothing else) in a new modset, the modset is erroneously shown as "missing dependencies"
- when i remove FactorioExtended-Trains from that modset, the indicator for missing dependencies disappears
- when i also remove the FactorioExtended-Core mod, the indicator still doesn't show up although clearly the core dependency is missing

- closer inspection of the dependencies shows that all of them are written as "FactorioExtended-modname >= 0.3.1" (with ">=" and with spaces), except for one dependency of the strangely behaving Trains mod that has "FactorioExtended-Transport = 0.3.1" (with "=" instead of ">="; other mods with "FactorioExtended-Transport >= 0.3.1" cause no missing dependency)

my questions:
- why does a missing core mod cause no missing dependency ?
- why does it make no difference whether dependent mods are enabled or not (checkmark on the core mod or not) ?
- why does "modname = 0.3.1" give a missing dependency while "modname >= 0.3.1" does not ?

edit:
PS: i just watched closely which dependencies were automatically enabled when enabling each single of those mods and the behavior matched the above: the core mod was properly enabled and also all other dependencies with ">=" but not the dependency with "="
Last edited by Anson on Sun Sep 30, 2018 3:24 am, edited 1 time in total.

Dokkodo
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Sep 11, 2016 5:10 pm
Contact:

Re: ModMyFactory - mod manager and more

Post by Dokkodo »

Hey guys. I've downloaded ModMyFactory and I am getting crashes pretty regularly when I try to download things from the mod portal.
I followed the guide to the letter.




CRASH REPORT TEXT
System.NullReferenceException: Object reference not set to an instance of an object.
at ModMyFactory.GlobalCredentials.LogIn(Window owner, String& loginToken)
at ModMyFactory.ViewModels.OnlineModsViewModel.<DownloadSelectedModRelease>d__127.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ModMyFactory.ViewModels.OnlineModsViewModel.<<-ctor>b__125_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
I can't really use the app now and not sure what I've done wrong.

All I want to do is have seablock mods and angelbobs mods separated for my different maps but haven't managed to get seablock to work yet and dont want to overwrite any of my mods or settings.

Mobius1
Fast Inserter
Fast Inserter
Posts: 191
Joined: Thu Feb 09, 2017 12:05 am
Contact:

Re: ModMyFactory - mod manager and more

Post by Mobius1 »

Hey a little suggestion for you my savior:
you could implement something like a "mod shopping" thingy where we would simply choose lots of mods to download at the same time (maybe one at a time but in bulk) instead of selecting one mod, clicking download, waiting the download and installation to finish, then choosing another mod to do the same process.

Something like a checkbox on the mods we want to download and then a button saying "Download selected" where it would download all the selected mods together, or make the download process of a mod on the background where while we're "shopping" for mods we can continue the search without having to wait the mod to finish downloading and installing.

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 »

Mobius1 wrote:
Sat Sep 29, 2018 10:25 pm
... "mod shopping" ... clicking download, waiting the download and installation[???] to finish ...
this seems to be a problem of download speed, and thinking of my own problems decades ago when i still used my 1200 baud modem while everybody else already used 32k or 56k (or even longer ago when using accoustic couplers and having 300 baud = 30 bytes per second download, 75 baud = 5-6 chars per second upload), i can somewhat imagine the problem you have when it takes a long time for a download to finish until the next mod can be selected. Later i had 64k or even 128k download speed (ISDN), but the situation was even worse since many programs (including windows itself) constantly tried to connect automatically to the internet and we had no flatrate available, causing costs of up to 5 DM (2.50$) per hour and a record of 250$ in some month :-(

i just did some timing test on my current computer (system disk and games disk are SSD, and using VDSL50 with 5MB/s download and 1MB/s upload) and these are the times: starting MMF (with several hundreds of mods installed) = 3 seconds, opening the "download mod" for the first time and collecting the list of 3000+ mods = 4 seconds (improved a lot in 1.7.2 when reading all mods on only 7 pages instead of reading 127 pages), and finally downloading the biggest mod (dectorio, 100 MB) = 20 seconds (as expected: 100 MB / 5 MB/s = 20 s). but for most mods (90% of 600+ mods that are smaller than 5 MB) the download takes less than one second and is already finished before i can move the mouse away from the download button, and there is no time needed for installation at all since mods are installed by dowloading the zip file to the mod directory (unless you have disabled the setting "always keep mod updates zipped").

for me(!) there is only one problem with deleting and installing mods: while downloading new mods is possible while factorio is running, deleting mods (even those that are not enabled) causes MMF to crash :
System.IO.IOException: The process cannot access the file '.....zip' because it is being used by another process.
it would be nice if the delete button would be disabled or a warning given when trying to delete mods while factorio is running.

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

Missing dependencies should be shown for each individual mod, like this:
Image
If this is not the case for you please tell me which mods are behaving incorrectly.

The "missing dependencies" icon is only ever shown for required dependencies, never for optional ones.
To get a list of missing dependencies use "Edit -> Mod dependencies" or the corresponding button in the toolbar. You can also download them there.

Also I think there is some misunderstanding how dependencies work. Dependencies are not evaluated per modpack, they are evaluated globally.
The core mod doesn't have to be inside the same modpack since when you enable the pack it will be enabled regardless if it's in the pack or not.

As for dependencies specified with "=" instead of ">=", that's just a bug I need to fix apparently.


@Dokkodo

Sorry for the inconvenience.

Some more info would be great so I can tackle the problem.
Are you logged in? If not try logging in first and see if the problem persists.
If you are not logged in you normally should be asked to log in when downloading. In case you haven't logged in yet, does the log-in request show up or does the crash happen before?


@Mobius1

Noted, but I'm currently already busy with something else.
Also implementing asynchronous downloads in the background is not a straight forward thing to do.

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 »

Anson wrote:
Mon Sep 03, 2018 12:03 am
I recently had problems starting factorio with a specific mod ...
the mod which caused this problem is Dirty Barrels.
when i started factorio from MMF, i got this strange error:
- Failed to load mods: __dirtybarrels__/data.lua:1: ...Factory/Factorio/0.16.51/data/core/lualib/dataloader.lua:16: attempt to index local 'e' (a number value)
data.lua of Dirty Barrels has only one line:
- require("prototypes.recipe.clean-barrels")
the critical lines in factorios dataloader.lua are:
- 15: for _, e in ipairs(otherdata) do
- 16: if not e.type or not e.name then
((and i suspected the directory 0.16.51 of causing the problem, starting with a digit and having no letters in its name))
Artentus wrote:
Mon Sep 03, 2018 12:32 am
This is a strange error you are getting there. I have just tested it myself and Dirty Barrels works perfecly fine for me
i have tested back and forth a lot, and finally no longer get errors for Dirty Barrels. it seems to be an incompatibility with Asphalt Roads !!!
when i use any ONE of those two mods at a time (even together with lots of other mods) i get no error, but when i use both of these mods (even when ONLY using these two mods) I am told that Dirty Barrels fails to load because of an error in factorios own core mod (file dataloader.lua).
thus: problem partially solved (using only one of the two mods at a time), but the effect and the error message still remain completely strange and weird ...


speaking of mods and weird errors: when i try to install Logistic Carts, MMF first downloads the mod and then crashes with the following error:
Logicarts Info.Json file which looks normal to me
error-log.txt
when i download the mod (directly from the mod portal) and put it in mods/0.16, factorio can be started from MMF and use that mod, but MMF will not recognize that that mod is in the mods directory (and not show it in its list of mods), probably since it fails again and just skips that mod while i start MMF and the list of all mods is generated from the mods directory.

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:
Sun Sep 30, 2018 4:46 am
Missing dependencies should be shown for each individual mod, like this: ...
If this is not the case for you please tell me which mods are behaving incorrectly.
all and none :-) :-(

the missing dependencies for single mods are only shown on the left side, while on the right side the entire modpack gets the icon in its headline, but none of the mods in the modpack get that icon on the right side. you need to look up all mods of that modpack one-by-one on the left side to see which mods have missing dependencies, and with lots of mods in some modpacks that can take quite a while (i have 600 mods on the left side, and some modpack has 200+ mods on the right side).
We probably are expected to work on the left side so that no mod has missing dependencies (which in the end would be usefull anyway :-), and the icons (for missing dependencies of entire modpacks) on the right side are only an additional hint that some more work has to be done on the left side. I will do that as soon as the wrong missing dependencies are no longer shown (see below)
Artentus wrote:
Sun Sep 30, 2018 4:46 am
The "missing dependencies" icon is only ever shown for required dependencies, never for optional ones.
yes, optional dependencies might be a nice feature to easily see which mods might be combined and to download those mods too, but since several mods have "negative optional dependencies" (to limit their use to cases when those other mods are NOT used), and since not everybody wants to use all mods that are possible, it would be quite difficult or impossible to do that.

it still might be nice to have some place where people can easily and quickly see which dependencies for a mod there are, which are optional, and which are required (see next point, or maybe also right while downloading new mods from the download list, right next to "License, Homepage, GitHub") ...
Artentus wrote:
Sun Sep 30, 2018 4:46 am
To get a list of missing dependencies use "Edit -> Mod dependencies" or the corresponding button in the toolbar. You can also download them there.
ah yes, that's some new (menu)option i had not expected and thus not seen. After your above hint i also found the shortcut CTRL-D which makes it quite easy to show that list of dependencies. one additional location to have that "edit > mod dependencies" function would be to add it to the popup menu for mods on the left side.

by testing an idea i just got, i found that you already have implemented the following functionality:
press CTRL-A (to select all mods) and then CTRL-D (to show missing dependencies) and with just those two keystrokes (and confirming "download") all missing dependencies can quickly be downloaded. SUPER NICE !!!
Artentus wrote:
Sun Sep 30, 2018 4:46 am
Also I think there is some misunderstanding how dependencies work. Dependencies are not evaluated per modpack, they are evaluated globally.
The core mod doesn't have to be inside the same modpack since when you enable the pack it will be enabled regardless if it's in the pack or not.
once again: SUPER NICE !!! ... I'll move all those "core mods" to a new separate modpack. that will clean up modpacks and make it easier to select mods independent of whether they share some core mod (eg when i have one modpack with bobs greenhouses, one modpack with bobs inserters, and one modpack with all other bob+angel stuff; then i can put bobs library in that core modpack and it will be enabled when needed, with no need to put it in every single modpack)
Artentus wrote:
Sun Sep 30, 2018 4:46 am
As for dependencies specified with "=" instead of ">=", that's just a bug I need to fix apparently.
then it probably will also be easier to understand how dependencies work and how you handle them :-)


@Mobius1, ps to my other post concerning your downloads:
what's your download speed from the internet? and do you automatically unzip all mods?
how often do you download big mods with lots of graphics that are bigger than 5MB or even 10MB?

one trick you might use when looking for new mods: browse the mod portal directly and download mods from there to the corresponding directoy (eg mods/0.16), and the browser will download the mods asynchronously while you continue browsing. the next time you start MMF, it will check the mods and include all mods in its list for display on the left side (except for LogiCarts which causes an error and can ONLY be downloaded this way and not with MMF)

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 »

Alright I understand what you mean now. Adding a small indicator to mods inside modpacks should be no problem.
I just didn't think of that because I don't have nearly as many mods installed as you do.

I can also add the dependencies to the context menu very easily.
Btw. if you have no mods selected ModMyFactory behaves exactly like all mods were selected so you actually don't even have to press Ctrl+A beforehand.


Edit: I have also identified the problem with Logistic Carts. Apparently the mod author decided to put a second info.json file inside his mod. And while this second one doesn't do anything its existance is already enough to screw with my code.

Post Reply

Return to “Mod and installation managers”