Stellaris

Stellaris

Modify the Galaxy
Modify your Stellaris experience by checking out the many mods created and shared by the community, including tweaks to almost any aspect of the game.
Learn More
mario0244 58 Jun 26, 2020 @ 7:06pm
[Utility] Irony Mod Manager
I wanted to (re)introduce Irony.

So what is Irony?
It's a new mod manager for Stellaris (at the moment).

Window size is so small.
You can resize to any size you want, move it to any monitor you want and Irony will remember these settings the next time your run it. Don't worry it will resize itself appropriately.

What makes it so special?
Its advanced conflict solver and conflict detection capabilities.

What are the mod management features?
Well you got your standard mod ordering and mod management capabilities. It's got a mod collection approach which means you can create a collection for a specific play through. You can move up\down mods via buttons and send to top or to bottom, or use drag and drop or just enter the order number manually.

It can also “replace” Paradox Launcher in picking up downloaded mods from steam or manually installed mods as it scans steam workshop directory and Stellaris mods directory and it installs mods automatically (maybe useful for GOG users?). It can import collections from paradoxos and the paradox launcher game (as of 1.2 version).

What load order does it use? Paradoxos or new Paradox Launcher?
New Paradox launcher but sorting is done using the old ASCII table (when you utilize A-Z or Z-A ordering).

Anything else regarding mod management?
It tells you if a mod is achievement compatible. You can export your collections and share them with friends (along with the patch mod generated by Irony).

So what's so advanced about this conflict solver?
You see conflicts in Stellaris are usually checked by hand and or automatically whether a filename xyz overwrites a filename xyz from another mod which gives a false sense of security. Due to the nature of how Paradox games work and the way overriding elements from their games work we can have a scenario where a mod on the top of the list will always win in forcing its overrides being used by the game regardless of how you setup your load order.

This is known by the modding community as either FIOS\LIOS. First in only served and Last in only served. Irony is the type of tool that does not care about actual filenames and instead it loads all of the game elements and then detects that way any type of conflicts regardless from which file an element is. In its conflict solver mode merge view it will tell you why a mod definition will be used by the game either because of Load order or FIOS\LIOS.

You can resolve conflicts within the conflict solver, doing so Irony creates a separate Irony patch mod which utilizes the very same FIOS\LIOS rules to ensure its patch mod elements are always loaded by the game or to be more precise the stuff you want to be loaded.

In the latest development release Irony has the ability to merge the whole collection into a single mod to speed up load times (as of 1.2 version).

A word of caution however as this is an advanced tool and some advanced knowledge is required as not every conflict might require patching simply ignoring it should suffice. This goes on case by case basis and there is no real rule to go on about it.

Linux? Mac?
- Windows
- Linux
- Mac

Open source?
Yes.

License?
MIT.

Technologies used?
C#\Avalonia.

Any dependencies?
No, the program is compiled to be standalone no need to download and install .NET Core.

Any more features?
- You can filter conflicts only from certain mods in the conflict solver mode using mod filter, this allows you to more easily find conflicts between 2 mods in a collection
- Database search, Irony as it scans your mods builds an in memory database of all assets used by the game. This is exposed in the form of handy db search function in the conflict solver. With this you can find which mod overrides a vanilla event for example or which mod(s) overwrite a certain pop_job.

Wow, it uses a lot of memory!
It has to keep the code it loaded and analyzed somewhere.

Where to get?
Most important links are aggregated here: https://bcssov.github.io/IronyModManager/
For more questions go to stellaris modding den and look for irony mod manager's channel there.

Irony is in active development (very active development). So expect frequent releases of either a stable version which has a bugfix or an alpha release. The roadmap holds many more features most of which can be found on the Irony github homepage issue tracker. Autoupdate is planned but due to the sheer number of features I want to put into Irony some things had to be prioritized first.

This program might not be to everyone’s tastes as it takes time to get to know it and adjust to its workflow. If you like it great; if not there are other tools for your tastes.

Some screenshots

Main view:
https://drive.google.com/file/d/1rJn_8djiNlCzcREFrCJHiUf5qnew5Tzv/view?usp=sharing
https://drive.google.com/file/d/15FYYJohFdC5jWQj8tq8_T9XKCI2M87If/view?usp=sharing

Conflict solver:
https://drive.google.com/file/d/1axBy9AJick_urLmDp5CLqBe4jpPi6VCQ/view?usp=sharing
https://drive.google.com/file/d/16Ez2KlShVUJFvbP4rgoDwvrV5ZoKEopc/view?usp=sharing
https://drive.google.com/file/d/107n6ZJlbNm8ynZoFq4eCK_HPCxUNkad_/view?usp=sharing

Mod filtering, reseting conflicts and database search:
https://drive.google.com/file/d/1tvjX_7ML72xTg_rFLvBEEfWM9cffoFWo/view?usp=sharing
https://drive.google.com/file/d/19Sjz1ftiaaRkxiOWZYuhgO1qAah9J3iD/view?usp=sharing
https://drive.google.com/file/d/1XsnJ9RfmiyoiUvy-uPAmmrYMKTn-fBYP/view?usp=sharing
Last edited by mario0244; Jun 26, 2020 @ 7:11pm
< >
Showing 1-5 of 5 comments
FirePrince 46 Jun 30, 2020 @ 4:40am 
Nice, could be linked on every mod compatibility thread...
chilingsworth Jul 6, 2020 @ 4:20am 
Possibly a stupid question:
When you say it uses alot of memory, do you mean RAM, HD, or both?
mario0244 58 Jul 6, 2020 @ 10:41am 
RAM (depending on the number of mods you have installed of course).

Also, the conflict solver is the component that utilizes that memory when you analyze all these definitions and Irony builds an in memory database of them.
Last edited by mario0244; Jul 6, 2020 @ 10:43am
chilingsworth Jul 6, 2020 @ 2:53pm 
Ok.

So, to make sure I understand: Irony (and Mod Managers in general) basically aim to add/drastically improve functionalities that *should* have been in the base software in the first place, right?
i.e. An actual decent attempt at conflict auto-detection and correction, and an actually functional log system to help identify problems that slip through? I'm sure that's an oversimplification, but is that the gist?

Sorry if I come off as abit salty. I recently got myself into a massive mod mishap and had to wipe/reinstall the game outright. I'm trying to figure out how to enjoy the awesome mods I want to, without a repeat performance. I actually put up a thread looking for advice, if you have any suggestions!

I'm definitely thinking Irony could help alot. But, I'm concerned about my system resources. Before I broke my game, I was already have some slowdown issues at minimum graphics settings. :steamsad: Also, You said Irony requires skill to use. I'm not sure I qualify as skilled, lol.
mario0244 58 Jul 6, 2020 @ 5:49pm 
I'm going to attempt to answer you completely honestly it's going to be a long one so beware.

Something like this to be present in an official capacity will probably never happen. Reason is that it's not cost effective to a company. I am also on the other side of the fence; so I know (not at pdx obviously).

Mod managers help with mod organization like move mod up in the load order, move down, share the mod load order list. Some have basic conflict checking capabilities like whether filenames collide in mods.

I modeled Irony Mod Manager functionality on SC Mod Manager (project dead for 1.5 years). But it's gotta twist it's not simply checking whether "mod A" has "file A" and so on, it actually breaks down file contents and analyzes that rather than doing "file A" is present in these mods. I think I covered why is that in depth in my initial post. Anyway this allows Irony to catch what simple filename checking will not catch.

Unfortunately, it cannot auto resolve conflicts (yet). In a future version it will attempt to resolve automatically conflicts for vanilla content but for modded content that is not possible. If you're curious as to why is that. The technical reason is that I cannot determine a common ancestor to merge automatically diffs for stuff I don't have a common ancestor to. A common ancestor would be clean non modified file, like for example a vanilla event. I can then take stuff from mod A generate a diff then take mod B generate a diff both of which are based on vanilla event and then merge these diffs info a new event. That would be a very simplified terminology.

This would be a very long yes answer to you getting the gist of it of what Irony is. But it grew past my initial goals as well. People have used it for debugging conflicts in their collections, generating new patches, generating insanely large Collections on steam and sharing irony patch mod with other players.

I can understand your frustrations; when I bought the game last year I was frustrated myself with the games script "language". Once I saw how the game worked I wished to make something like Irony which is very much based on my first attempt at modding the game. It took me about 4 days to patch manually 100 mods, to make them work for my game (and to cleanup the error.log). I took these experiences and over the past 6 months I slowly worked on this mod manager.

Modding this game requires a bit technical knowledge; mostly how to use merging tools like win merge for example and understanding of what is needed to patch and what is not. Like for example merging district conflicts. This is why it's not for a novice user. And why this needs to be determined on a case by case basis.

As for resources, how much Irony will use RAM in conflict solver mode depends on the number of mods you have. I think for one guy it uses about 6 GB of RAM with over 200 mods (in conflict solver mode). Analyzing mode will also use as many resources as it can too; meaning high disk read operation. Since to gain speed performance during analysis I run mod analysis and breakdown in parallel. If you don't use the conflict solver and just it for mod management we're talking about 100 MB of RAM. Of course you close irony when your launch the game. In the end the choice is always up to you; I try to disclose as much info as I can think of.

For your case if you're not familiar with merging and not into technical side I recommend that you maybe start with these guys collections:
https://steamcommunity.com/id/lordofla/myworkshopfiles/?section=collections&appid=281990
https://steamcommunity.com/sharedfiles/filedetails/?id=2120467698
These guys use Irony for patching mods so you can take their collections as a base for your collection I suppose. They share the irony load order and irony patched content for you. In order to learn I suggest looking into tutorials how to use win merge and how to merge diffs. If you add mods to the collections they're gonna have to be patched by yourself or if you remove mods from these collections you're going to have to run the conflict solver at least once as well. This will allow Irony to clean up patches for mods you removed otherwise you might end up with some unexpected behavior.

Hope this should get you started and further explain stuff that was unclear for anybody else wondering about the same thing(s).
Last edited by mario0244; Jul 6, 2020 @ 6:23pm
< >
Showing 1-5 of 5 comments
Per page: 1530 50

Date Posted: Jun 26, 2020 @ 7:06pm
Posts: 5