Ludeon Forums

RimWorld => Mods => Tools => Topic started by: biship on August 31, 2016, 04:25:25 PM

Title: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: biship on August 31, 2016, 04:25:25 PM
(http://i.imgur.com/jUgNzOU.png?1)
RimWorld Conflict Checker v0.0.1.1

Description
I've heavily modified and updated bobisback's (https://ludeon.com/forums/index.php?action=profile;u=8870) RimworldConflictFinder (https://ludeon.com/forums/index.php?topic=20211.0), expanding on his nameDef check, and adding a bunch more mod checks and validations.

Download
Here: https://github.com/biship/RimworldConflictChecker/releases (https://github.com/biship/RimworldConflictChecker/releases)
Or attached to this post.

Features
Instructions
Extract files from zip to any folder.
Run RCC.exe from windows or from a dos window.
When RCC.exe is run it will open the UI for you to pick at least 2 paths (RimWorldWin.exe & Mod folder path).
The first 2 folders are required (Mod folder 1 is auto-calculated when you choose the RimWorldWin.exe folder - but it can be changed).
(optional) Mod Folder 2 is only needed for Steam users.
(optional) ModsConfig.xml folder is only needed if using non-default location
(optional) Able to also include all non-enabled mods in all checks.
(http://i.imgur.com/NZLy7mv.jpg)

It can also be run from the command line with parameters:
(http://imgur.com/voU6LSN.jpg)

Results & Output
All findings are reported to file RCC.txt in the same folder as RCC.exe.
Each check, or main function of the program is delimited by "============"'s.
Be sure to scroll down RCC.txt, as there are checks all the way through the file.
(http://imgur.com/ug0YBHN.jpg)

There is also a (work-in-progress) form which currently only displays the mod load order and numbers of conflicts for each.
Get all the detail info from RCC.txt
(http://imgur.com/cBw4iNa.jpg)

Limitations
Bugs
NB: Uses opensource library NBug (https://github.com/soygul/NBug) to submit crashes to a Mantis tracker so I can fix any issues.
Feel free to block it if you do not want the reports sent.
Please report bugs in this thread, or on GitHub.
Bug List
Copying to clipboard on results form might crash the app.

Todo
Check XML inheritance: http://ludeon.com/forums/index.php?topic=19499.0"
Check if CCL is compat with RimWorld.
Check if root, tag, defname are valid (by parsing core).
Check if a mod is valid - needs about.xml, at least one XML or dll.
Check if mod exists twice. a) based on folder name & b) based on About.xml name.
Check if a mod's defname conflicts with another defname of the same mod.
Change output to tabbed tables in a Windows Form."


Source & License
Source: https://github.com/biship/RimworldConflictChecker (https://github.com/biship/RimworldConflictChecker)
License: GPL 3.0 (http://choosealicense.com/licenses/gpl-3.0) Please include credit.
Versions

0.0.1.1 11/29/18 Updated to support Rimworld 64bit executable.
0.0.1.0 07/02/18 Updated to support Rimworld 1.0. Updated dependencies. Added ability to turn off log details.
0.0.0.9 04/16/17 Better exception handling, fixed case-sensitive bugs, handles missing version.txt or modsconfig.xml
0.0.0.8 12/31/16 Logging for opening & parsing Version.txt, NBUG & Octokit updated
0.0.0.7 12/30/16 ModsConfig.xml picker, command line changes, option to also check all non-enabled mods
0.0.0.6 12/30/16 Tweaks and change. Internal release only
0.0.0.5 12/29/16 Fixed for A16. No longer checks conflicts for non-enabled mods. More bug fixes
0.0.0.4 09/09/16 This tool will now check and notify on updates for it. More info on results form. Loads of bug fixes!
0.0.0.3 09/05/16 Added basic mod conflict form, code cleanup, null checking & bug fixes
0.0.0.2 09/01/16 Folder picker updates
0.0.0.1 08/31/16 Initial alpha release


[attachment deleted due to age]
Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: Dingo on August 31, 2016, 06:09:54 PM
Very interesting tool. I, too, come from the Fallout / Skyrim Nexus modding community and I think tools like this and a proper mod manager is what RimWorld mods really need to work better. The day we can make merged patches, man, that'll be the life.
Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: notfood on August 31, 2016, 08:22:29 PM
I feel this would be better off right inside Rimworld in the PostLoad method as a mod that runs last and generates the report.

Everything needed is available at LoadedModManager.RunningMods at PostLoad before they are squashed into the DefDatabase.
Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: Tynan on August 31, 2016, 10:14:14 PM
Impressive work!

Utilities are always so under-done.
Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: Dingo on August 31, 2016, 11:08:44 PM
Heads up, this utility stops its working thread if the 3rd folder (2nd mod folder, i.e. Steam Workshop) is not found. You should probably just let it run even if one of the mod folders is missing.
Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: biship on September 01, 2016, 06:01:44 AM
Quote from: Dingo on August 31, 2016, 11:08:44 PM
Heads up, this utility stops its working thread if the 3rd folder (2nd mod folder, i.e. Steam Workshop) is not found. You should probably just let it run even if one of the mod folders is missing.

Ah, when its run from command line, it reports the missing folder and aborts, but when just running RCC.exe it aborts and you don't get to see the error.
I'll add a error popup when using the UI - thanks for the report.

rcc.exe D:\SteamLibrary\steamapps\common\RimWorld D:\SteamLibrary\steamapps\common\RimWorldxxx
Rimworld Conflict Checker Starting
Rimworld Conflict Checker Running checks...
Not able to find mod folder: D:\SteamLibrary\steamapps\common\RimWorldxxx


Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: Dingo on September 01, 2016, 07:53:33 AM
I meant you should let it check for conflicts even if a Steam folder was configured in the UI but was not found (incase the user deleted their Steam mods or something).
Title: Re: [TOOL] RimWorld Conflict Checker 08/31/16
Post by: biship on September 01, 2016, 09:35:53 AM
Quote from: Dingo on September 01, 2016, 07:53:33 AM
I meant you should let it check for conflicts even if a Steam folder was configured in the UI but was not found (incase the user deleted their Steam mods or something).

Yeah I understood you, but if I don't tell the user the folder is invalid, they might think they set it correctly. Then if I let it run anyway, it will either not check what the user intended (if folder doesn't exist), or it will start examining non-mod files (if folder exists, but is not a mod folder).
I'll put in a few more validation checks on the folder picker. I don't really like ignoring or processing incorrect entries, but I'll see if giving the user the option to run anyway is acceptable.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 9/1/16]
Post by: SpaceDorf on September 01, 2016, 10:42:34 PM
Thank you for this :)
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 9/9/16]
Post by: Kosba2 on November 12, 2016, 06:20:45 PM
Hey thank you for this amazing mod. I've noticed you haven't seen much appreciate for this great tool anywhere else but I just wanted to let you know this tool is priceless! I'm running a modest amount of mods (68) and being able to see all the conflicts that occur is a must. So thank you!
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 9/9/16]
Post by: Fafn1r on December 12, 2016, 05:45:08 AM
I love this tool. :D With it creating combatibility patches is no longer a guessing game.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/29/16]
Post by: biship on December 29, 2016, 12:34:01 PM
Updated for A16.
Also with a few bug fixes & disabled checking for non-enabled mods as it only added time and log spam.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/29/16]
Post by: Der Failer on December 29, 2016, 01:14:42 PM
Quote from: biship on December 29, 2016, 12:34:01 PM
Updated for A16.
Also with a few bug fixes & disabled checking for non-enabled mods as it only added time and log spam.
Dude ... would you mind, stop reading my mind?
I just finished writing a long post, whining about log spam from inactive mods (over 50 in my case). I click on Post and BOOM
1 new Post and it is already fix
This is creepy... and it's kind of cool, but mostly creepy...

The only inconveniences left for me is this:
ModsConfig.xml NOT Found
Sorry, I'm going to assume no mods are active
One day there will be a folder picker for ModsConfig.xml

Although it is rather easy to fix on my end.

Anyway thank for fixing my problem ;) and thank for this tool.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/29/16]
Post by: biship on December 29, 2016, 01:29:39 PM
Quote from: Der Failer on December 29, 2016, 01:14:42 PM
The only inconveniences left for me is this:
ModsConfig.xml NOT Found
Sorry, I'm going to assume no mods are active
One day there will be a folder picker for ModsConfig.xml

Although it is rather easy to fix on my end.

Anyway thank for fixing my problem ;) and thank for this tool.

Why's it not finding your modsconfig.xml?  Can you zip & attach your RCC.txt?
Glad you are finding the tool useful.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/29/16]
Post by: Der Failer on December 29, 2016, 01:50:03 PM
Quote from: biship on December 29, 2016, 01:29:39 PM
Quote from: Der Failer on December 29, 2016, 01:14:42 PM
The only inconveniences left for me is this:
ModsConfig.xml NOT Found
Sorry, I'm going to assume no mods are active
One day there will be a folder picker for ModsConfig.xml

Although it is rather easy to fix on my end.

Anyway thank for fixing my problem ;) and thank for this tool.

Why's it not finding your modsconfig.xml?  Can you zip & attach your RCC.txt?
Glad you are finding the tool useful.
I'm using the starting parameter like:
-savedatafolder="[Rimworld_dir]\SaveData"
This allows me to easily maintain several independent configs, for testing or just completely different modded games. So it is to be expected, that it didn't find it.
For now I've just copied the modcfg over to the original dir.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/30/16]
Post by: biship on December 30, 2016, 07:10:02 PM
0.0.0.7 released
Added ability to specify ModsConfig.xml location
By default, now only checks enabled mods
Added option to check all installed mods, inc non-enabled (-all or use config tool)
Added count of mod folders, exiting if zero folders found
Fixed crash if TARGETVERSION is not set in About.xml
Include ResultsWPF headers on Control-C
Moved RimWorld version check up
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/30/16]
Post by: Primal Lord on December 30, 2016, 07:37:33 PM
Receiving an error about a System.NullReferenceException,
the first picture is the settings i used, second is the error, third is if i close the error report and let it continue

Edit: removed the invalid pictures, not sure what went wrong
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/30/16]
Post by: biship on December 30, 2016, 08:15:43 PM
Quote from: Primal Lord on December 30, 2016, 07:37:33 PM
Receiving an error about a System.NullReferenceException,
the first picture is the settings i used, second is the error, third is if i close the error report and let it continue
Hmmm sorry about that. Those screen shots did not work. Can you also attach the RCC.txt file? Did NBUG popup and ask you to submit the error? (that would give me more info).
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/30/16]
Post by: Primal Lord on December 30, 2016, 08:19:25 PM
Quote from: biship on December 30, 2016, 08:15:43 PM
Quote from: Primal Lord on December 30, 2016, 07:37:33 PM
Receiving an error about a System.NullReferenceException,
the first picture is the settings i used, second is the error, third is if i close the error report and let it continue
Hmmm sorry about that. Those screen shots did not work. Can you also attach the RCC.txt file? Did NBUG popup and ask you to submit the error? (that would give me more info).

It did, and the first time i sent it in but didn't know what would cause it so i left that field blank, RCC.txt attached below.

[attachment deleted by admin due to age]
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/30/16]
Post by: biship on December 30, 2016, 08:36:51 PM
Quote from: Primal Lord on December 30, 2016, 08:19:25 PM
It did, and the first time i sent it in but didn't know what would cause it so i left that field blank, RCC.txt attached below.

2 things are odd.
It wasn't able to get the RimWorld version text from C:\Games\Rimworld\Version.txt. I've added more logging in the next version.
It died during the scan of the 31 folders in C:\Games\Rimworld\Mods.

Can you upload those screen shots again? The NullReferenceException should help me determine which object is empty.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/30/16]
Post by: Primal Lord on December 30, 2016, 08:48:48 PM
Quote
It wasn't able to get the RimWorld version text from C:\Games\Rimworld\Version.txt.
Problem fixed, i actually deleted version.txt while looking through the xml's a while ago because it didn't seem important and i get ocd about useless things *cough*, made a new text document, renamed it, and added in the relevant info and the conflict checker works. Sorry for the trouble
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 12/31/16]
Post by: biship on December 31, 2016, 04:20:27 PM
Quote from: Primal Lord on December 30, 2016, 08:48:48 PM
Problem fixed, i actually deleted version.txt while looking through the xml's a while ago because it didn't seem important and i get ocd about useless things *cough*, made a new text document, renamed it, and added in the relevant info and the conflict checker works. Sorry for the trouble

Ahh... yeah I too delete more than I should on occasion. I've added logging for this issue now and updated the app to 0.0.0.8.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: biship on April 16, 2017, 10:59:49 AM
0.0.0.9 Released.
Mostly fixes:
Added handling for missing Version.txt
Fixed broken Version.txt parsing
Added handling for case-sensative filenames
Fixed XML element case-sensative checking
Added more exception handling on locked files
Added copy to clipboard option on results form
Added more verbage to what each check does
Better searching for ModsConfig.xml
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: SpaceDorf on April 16, 2017, 11:31:10 AM
Yeah :) Great Stuff .. thanks for your work.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: rdz1122 on July 11, 2017, 11:32:24 AM
Is this tool, or similar, still being updated?  With so many Mods enabled, we need something like the Fallout/Skyrim LOOT etc.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: Der Failer on July 11, 2017, 11:49:19 AM
Quote from: rdz1122 on July 11, 2017, 11:32:24 AM
Is this tool, or similar, still being updated?  With so many Mods enabled, we need something like the Fallout/Skyrim LOOT etc.
The current version works fine for A17 on my end, so...
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: aukave on July 28, 2017, 11:06:26 PM
Just what i was looking for, thank you.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: stormclouds on October 17, 2017, 05:26:20 PM
awesome tool, but the problem i dont known the conflict wich one because i got  a lot of mod, 1 mod conflict with 11 mod, need description about which is mod get conflicted , example : mod 1 conflict with mod 2.or  add bolded letter to conflicted mod. for example like mod organizer at skyrim. thxs
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: sirskips on October 29, 2017, 11:22:08 PM
Maybe I just dont know enough about computers but I dont see an RCC.exe file in this i donwloaded the zip file and extracted it it
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: GrimTrigger on November 27, 2017, 08:23:03 AM
Should this work with the most recent release?
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: crusader2010 on December 22, 2017, 03:45:47 PM
Wow, I was just thinking about making a tool like this! Good thing I looked first.
@biship: do you have any plans on expanding this? (like comparing 2 xml files side by side, even with an external tool, merging them together, ways of finding other DLL conflicts, etc)
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 04/16/17]
Post by: DreamWriter on April 14, 2018, 05:02:58 PM
Hello, I'm likely being a complete idiot for asking this, but how do you make this tool work if you bought Rimworld on Steam?
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 07/02/18]
Post by: biship on July 02, 2018, 01:51:22 PM
Quote from: DreamWriter on April 14, 2018, 05:02:58 PM
Hello, I'm likely being a complete idiot for asking this, but how do you make this tool work if you bought Rimworld on Steam?
Extract Zip. Run RCC.exe. Browse to Rimworld.exe (probably in C:\Program Files (x86)\Steam\steamapps\common\Rimworld), click OK, after program has run, check RCC.txt

Quote from: GrimTrigger on November 27, 2017, 08:23:03 AM
Should this work with the most recent release?
Yup!

Quote from: stormclouds on October 17, 2017, 05:26:20 PM
awesome tool, but the problem i dont known the conflict wich one because i got  a lot of mod, 1 mod conflict with 11 mod, need description about which is mod get conflicted , example : mod 1 conflict with mod 2.or  add bolded letter to conflicted mod. for example like mod organizer at skyrim. thxs
Check RCC.log, section 'Checking for XML Conflicts'. Mods in there conflict with each other.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 07/02/18]
Post by: jupiterLILY on November 06, 2018, 02:53:53 PM
Hey, is there any chance this could be updated for 1.0?

The file name has changed so the tool doesn't run anymore.

Thanks :)
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: biship on November 29, 2018, 08:30:53 AM
1st post updated to also work with the 64bit executable.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: xan713 on December 11, 2018, 03:57:51 AM
Quote from: biship on November 29, 2018, 08:30:53 AM
1st post updated to also work with the 64bit executable.

It tells me it's invalid when I use my 64 version, I don't have Rimworldwin.exe, only Rimworldwin64.exe
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: linonetwo012 on March 04, 2019, 05:27:56 AM
Hi I have issue for you.
https://github.com/biship/RimworldConflictChecker/issues/1

How to make this works on MacOS?
And is mod def loading in parallelism? I have 200+ mod, game loads it needs 10mins, will this tool needs 10mins too?
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: E-102 on March 16, 2019, 09:02:00 PM
It's not finding the .exe for me. I think its because my .exe is RimWorld2150win64.exe. Is there a fix for this?
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: keyara on January 02, 2020, 01:04:32 PM
I don't know if this is still active for you but if so the rcc.exe is completely gone.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: Canute on January 02, 2020, 04:15:46 PM
I think it is still update since it shortly got updated (18.sept.2019).
Both archives (file attachment from the first posting, and from github releases) are working for, but i can't say which one you should use.

So you should say what you did download.
Title: Re: [TOOL] RimWorld Conflict Checker [Updated 11/29/18]
Post by: SansMasterBudaa :3 on May 01, 2020, 01:22:16 AM
Someone knows if this mod is still updated?
It seems the last update was on 2019, but this mod is not working with 1.1