Jump to content

How to know compatibility


FFW_Rude

Recommended Posts

Hello everyone,

 

So in Skyrim, i know quite well what mod can work with another. This is partly because i modded myself and know some of the inside out of the game. For 7DTD i just do not.

 

So my question is fairly simple (answer may not be :( ).

 

How can i know if a mod is compatible with another ?

 

For example, i really like DF. But i saw a few modlet that seem nice but... How can i know i will not break my game ?

Link to comment
Share on other sites

You can't unless one of the mod authors gave the info that he tested it and it is compatible.

 

A heuristic that may mostly work:

1. If you use an overhaul (i.e. a mod that changes the whole game), do not use any other mod with it

2. If you use smaller mods, only add mods that target distinct areas/features of the game. Mods that simply add new items, pois, quests... are less likely to infer with others than mods that change something.

 

Link to comment
Share on other sites

Thank you both for your answer.

 

What about adding. How can i know i can add something like... Let's say new Zombies. I don't know how it works so bear with me. If it's only XML adding, There should not be a problem right ? But what about spawning ? Is it it's own things ? Or is it something like skyrim and lootlist (meaning you can have two object added but they "share" the lootlist and so one of the is overwritten or some ♥♥♥♥.

 

Basicly i know that's it's trial and error but i wanted to know tips because unlike Skyrim... 7DTD AND DF takes a long time to boot ;)

Link to comment
Share on other sites

As I said. adding stuff should generally be safe. In older versions of the game blocks and items had fixed id numbers which made adding new stuff generally a PITA. Since A17 ids are generated from the xml and can't conflict (including entities like zombies). There still is the possibility that two mods use the same name for something and that might conflict. Hopefully many modders use a unique prefix to any stuff they add, but even without that name clashing should be a relatively seldom event. If you add two mods that both claim to add ice picks it's your own fault :wink-new:

 

Link to comment
Share on other sites

FFW, yep, exactly.

Since you've done some modding it might be worth a few minutes to look at how "modlets" work. They're really simple. I don't want to be too brash but you could almost certainly run multiple "gun tweak" modlets, where say each of them changed the default Marksman rifles mag capacity; the last modlet applied (alphabetical I _think_) setting would be the one you'd get in-game.

 

The console/logs also have useful info;

 

2020-02-18T08:17:35 7.381 INF [MODS] Start loading

2020-02-18T08:17:35 7.383 INF [MODS] Trying to load from folder: FileMachete_A182_BlocksTest

2020-02-18T08:17:35 7.421 INF [MODS] Loaded Mod: FileMachete_A182_BlocksTest (A18.2)

2020-02-18T08:17:35 7.421 INF [MODS] Trying to load from folder: FileMachete_A182_ItemsModifiersTest

2020-02-18T08:17:35 7.422 INF [MODS] Loaded Mod: FileMachete_A182_ItemsModifiersTest (A18.2)

2020-02-18T08:17:35 7.422 INF [MODS] Trying to load from folder: FileMachete_A182_ItemsTest

2020-02-18T08:17:35 7.423 INF [MODS] Loaded Mod: FileMachete_A182_ItemsTest (A18.2)

2020-02-18T08:17:35 7.423 INF [MODS] Trying to load from folder: S420_SimpleUI-BiggerBackpack60

2020-02-18T08:17:35 7.423 INF [MODS] Loaded Mod: S420_SimpleUI-BiggerBackpack60 (1.2)

2020-02-18T08:17:35 7.423 INF [MODS] Initializing mod code

2020-02-18T08:17:35 7.424 INF [MODS] Loading done

Link to comment
Share on other sites

Ah yes. So any BIG mod have to be loaded last to be sure it works ?

 

Well i'll take a look but since there's dll in mods i thought it would be in C# or something and i'm not very good at it. I'll check then. See if i can make one. That'll help me understand. Hope it doesn't take too long to do though ;)

Link to comment
Share on other sites

FFW, yep, exactly.

Since you've done some modding it might be worth a few minutes to look at how "modlets" work. They're really simple. I don't want to be too brash but you could almost certainly run multiple "gun tweak" modlets, where say each of them changed the default Marksman rifles mag capacity; the last modlet applied (alphabetical I _think_) setting would be the one you'd get in-game.

 

The console/logs also have useful info;

 

2020-02-18T08:17:35 7.381 INF [MODS] Start loading

2020-02-18T08:17:35 7.383 INF [MODS] Trying to load from folder: FileMachete_A182_BlocksTest

2020-02-18T08:17:35 7.421 INF [MODS] Loaded Mod: FileMachete_A182_BlocksTest (A18.2)

2020-02-18T08:17:35 7.421 INF [MODS] Trying to load from folder: FileMachete_A182_ItemsModifiersTest

2020-02-18T08:17:35 7.422 INF [MODS] Loaded Mod: FileMachete_A182_ItemsModifiersTest (A18.2)

2020-02-18T08:17:35 7.422 INF [MODS] Trying to load from folder: FileMachete_A182_ItemsTest

2020-02-18T08:17:35 7.423 INF [MODS] Loaded Mod: FileMachete_A182_ItemsTest (A18.2)

2020-02-18T08:17:35 7.423 INF [MODS] Trying to load from folder: S420_SimpleUI-BiggerBackpack60

2020-02-18T08:17:35 7.423 INF [MODS] Loaded Mod: S420_SimpleUI-BiggerBackpack60 (1.2)

2020-02-18T08:17:35 7.423 INF [MODS] Initializing mod code

2020-02-18T08:17:35 7.424 INF [MODS] Loading done

 

Yes, but: If for example an xpath rule can't be applied (because two mods seriously step on each others foot), the error message (something like "WRN XML patch for "xyz.xml" from mod "xxx" did not apply:..." is printed much farther down in the logfile. It seems the loading just checks syntax of the mods (which doesn't tell you anything about their compatibility), applying the changes happens somewhat later in the startup

 

Link to comment
Share on other sites

Ok understood.

 

So after looking it up. Seems pretty simple to add some stuff until i realized.... You need to create stuff in unity and i never used it :(

Will try to dive in if my time permits it.

 

Thanks again for your answers.

Link to comment
Share on other sites

sooo.... Would this be a useful tool, even if it were not 100% "perfect"?

 

I had this idea about a way to check "compatibility" of mods. Not going to go into it as its ugly and disgusting inside. Its not a perfect idea (by far) and could only check some things, not everything (not C# or DLL stuff, just XML stuff). It was more of me wondering if there was a way to quickly check if a pure XML based mod still worked or was compatible once the game updates to new versions, but it could also be used to see what mods collide with other mods without having to load up the entire game....

 

I might be able to crank this out in perl or python (the only languages I know well enough, both have xpath libraries) so it would be open source, non compiled, and should work on all OS's.

I'm not promising I'm going to do it, just saying I have thought about this tool and if seemed like a bit of work for something just for myself, and supporting it for others may be a pain. For my own mods I just planned on manually testing them when new versions of the game come out vs building this tool/script.

 

Initially it would only be a command line tool with a config file and spit out a little "report" (or something). The report may not be super easy to read but it might give indications what things are "colliding" or "mod X and mod y are both messing with the same setting Z" or "mod X is trying to do something with an object/item/recipe that's not in the game files of a18.x" or "Cannot see any incompatibility issues with mod X". Additionally, since mod[lets[ load in a certain order, it is possible the first modlet to load is a bad actor (deletes something) and a second modlet loading later "fails" because it needed that object, so the second mod could be reported as "having issues" but its really the fault of the first modlet for deleting something....just saying all of this might need to be "reported" for completeness and might not be super simple for someone to figure it all out if they're not a modder checking their own modlets against others.

 

Anyway.... does anyone think a tool like this would be useful to them or the community as a whole?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...