[1.0] RWMS -- RimWorld ModSorter .. RimWorld mod sorter (Windows, Linux, OSX)

Started by shakeyourbunny, April 07, 2019, 07:05:28 AM

Previous topic - Next topic

tiedforfirst

You should always let it write to your modconfig! It is what the program is for and will not do anything to your load order if you slam the n key. If you are scared create a copy of your old modconfig and put that somewhere you will remember. The purpose of modconfig is to store the order of your mods in a list.

shakeyourbunny

Quote from: BlackViperMWG on June 03, 2019, 06:17:25 PM
Hi, your mod/script/program is amazing! One question though, if I picked not to write in ModConfig (because I had no idea if I should), does that mean my mod order was not updated by your thing or not? What purpose does the "write into ModConfig" serve?
You need to let it write, if you want the changes anyway. Regardless, if you decide to want your configuration backup prior writing, RWMS always makes a backup file with a date stamp.

BTW: it is more nice to the user if an application asks to do something if the consequences are not really clear (and have a possibility to shut the program up if desired).


VoidRose


Canute

The ModConfig.xml is the file Rimworld store it modlist.
If you delete that file, Rimworld just would create the default modlist at the next start.

shakeyourbunny

Quote from: VoidRose on June 10, 2019, 10:58:01 PM
Can the ModConfig be removed if needed to be?

If you want to reset the ModsConfig.xml, either delete it (will be autocreated by the game itself) or you can reset it with the following command:


rwms_sort.py --reset-to-core


The current developer version on Github may also does this, but can leave Fluffy's Mod Manager active, if you wish and have the Steam version of the game installed (and subscribed to this mod).


rwms_sort.py --reset-to-core-mm


JesusKreist

A few things I found.

The automatic search of the steam install does not work. Not fully at least.
I got rimworld in a different folder than steam itself, the sorter just complains that it could not find the workshop folder for rimworld.
It finds the main steam folder but not the rimworld installation.

Some mods don't even get recognized
Loading and parsing ModsConfig.xml
Loading mod data.
could not find metadata for item 1126324755 (skipping, is probably a scenario)!
could not find metadata for item 1537825382 (skipping, is probably a scenario)!
could not find metadata for item 672718060 (skipping, is probably a scenario)!
could not find metadata for item 672718149 (skipping, is probably a scenario)!
could not find metadata for item 705924057 (skipping, is probably a scenario)!
could not find metadata for item 708455313 (skipping, is probably a scenario)!
could not find metadata for item 715759739 (skipping, is probably a scenario)!
could not find metadata for item 717632155 (skipping, is probably a scenario)!
could not find metadata for item 724766205 (skipping, is probably a scenario)!
could not find metadata for item 725130005 (skipping, is probably a scenario)!
could not find metadata for item 725576127 (skipping, is probably a scenario)!
could not find metadata for item 725623521 (skipping, is probably a scenario)!
could not find metadata for item 725947920 (skipping, is probably a scenario)!
could not find metadata for item 725949967 (skipping, is probably a scenario)!
could not find metadata for item 726096646 (skipping, is probably a scenario)!
could not find metadata for item 726372052 (skipping, is probably a scenario)!
could not find metadata for item 726384389 (skipping, is probably a scenario)!
could not find metadata for item 726479594 (skipping, is probably a scenario)!
could not find metadata for item 727309536 (skipping, is probably a scenario)!
could not find metadata for item 728160701 (skipping, is probably a scenario)!
could not find metadata for item 728302587 (skipping, is probably a scenario)!
could not find metadata for item 728302896 (skipping, is probably a scenario)!
could not find metadata for item 728310963 (skipping, is probably a scenario)!
could not find metadata for item 728314859 (skipping, is probably a scenario)!
could not find metadata for item 728315620 (skipping, is probably a scenario)!
could not find metadata for item 728318507 (skipping, is probably a scenario)!
could not find metadata for item 730384702 (skipping, is probably a scenario)!
could not find metadata for item 730528968 (skipping, is probably a scenario)!
could not find metadata for item 730817198 (skipping, is probably a scenario)!
could not find metadata for item 730899625 (skipping, is probably a scenario)!
could not find metadata for item 731693333 (skipping, is probably a scenario)!
could not find metadata for item 731730828 (skipping, is probably a scenario)!
could not find metadata for item 731735894 (skipping, is probably a scenario)!
could not find metadata for item 732430955 (skipping, is probably a scenario)!
could not find metadata for item 732515888 (skipping, is probably a scenario)!
could not find metadata for item 732754899 (skipping, is probably a scenario)!
could not find metadata for item 733113011 (skipping, is probably a scenario)!
could not find metadata for item 733997423 (skipping, is probably a scenario)!
could not find metadata for item 734224899 (skipping, is probably a scenario)!
could not find metadata for item 735047411 (skipping, is probably a scenario)!
could not find metadata for item 735147874 (skipping, is probably a scenario)!
could not find metadata for item 736139206 (skipping, is probably a scenario)!
could not find metadata for item 736172213 (skipping, is probably a scenario)!
could not find metadata for item 736207111 (skipping, is probably a scenario)!
could not find metadata for item 739089840 (skipping, is probably a scenario)!
could not find metadata for item 740930354 (skipping, is probably a scenario)!
could not find metadata for item 745193823 (skipping, is probably a scenario)!
could not find metadata for item 746631165 (skipping, is probably a scenario)!
could not find metadata for item 747313773 (skipping, is probably a scenario)!
could not find metadata for item 748619608 (skipping, is probably a scenario)!
could not find metadata for item 750111404 (skipping, is probably a scenario)!
could not find metadata for item 751295960 (skipping, is probably a scenario)!
could not find metadata for item 753947874 (skipping, is probably a scenario)!
could not find metadata for item 754637870 (skipping, is probably a scenario)!
could not find metadata for item 754773948 (skipping, is probably a scenario)!
could not find metadata for item 755227567 (skipping, is probably a scenario)!
could not find metadata for item 755733069 (skipping, is probably a scenario)!
could not find metadata for item 756216922 (skipping, is probably a scenario)!
could not find metadata for item 758810805 (skipping, is probably a scenario)!
could not find metadata for item 760088748 (skipping, is probably a scenario)!
could not find metadata for item 760708576 (skipping, is probably a scenario)!
could not find metadata for item 761219125 (skipping, is probably a scenario)!
could not find metadata for item 761315214 (skipping, is probably a scenario)!
could not find metadata for item 763575600 (skipping, is probably a scenario)!
could not find metadata for item 765751403 (skipping, is probably a scenario)!
could not find metadata for item 766959460 (skipping, is probably a scenario)!
could not find metadata for item 774849061 (skipping, is probably a scenario)!
could not find metadata for item 774989162 (skipping, is probably a scenario)!
could not find metadata for item 776679895 (skipping, is probably a scenario)!
could not find metadata for item 779592154 (skipping, is probably a scenario)!
could not find metadata for item 780996548 (skipping, is probably a scenario)!
could not find metadata for item 781383672 (skipping, is probably a scenario)!
could not find metadata for item 784370602 (skipping, is probably a scenario)!
could not find metadata for item 785754949 (skipping, is probably a scenario)!
could not find metadata for item 789311421 (skipping, is probably a scenario)!
could not find metadata for item 796303006 (skipping, is probably a scenario)!
could not find metadata for item 796643425 (skipping, is probably a scenario)!
could not find metadata for item 796643583 (skipping, is probably a scenario)!
could not find metadata for item 799834506 (skipping, is probably a scenario)!
could not find metadata for item 802218392 (skipping, is probably a scenario)!
could not find metadata for item 806662500 (skipping, is probably a scenario)!
could not find metadata for item 810339752 (skipping, is probably a scenario)!
could not find metadata for item 817231829 (skipping, is probably a scenario)!
could not find metadata for item 817996020 (skipping, is probably a scenario)!
could not find metadata for item 818322128 (skipping, is probably a scenario)!
could not find metadata for item 820841728 (skipping, is probably a scenario)!
could not find metadata for item 822107128 (skipping, is probably a scenario)!
could not find metadata for item 822180758 (skipping, is probably a scenario)!
could not find metadata for item 822205827 (skipping, is probably a scenario)!
could not find metadata for item 822470192 (skipping, is probably a scenario)!
could not find metadata for item 823126273 (skipping, is probably a scenario)!
could not find metadata for item 823765506 (skipping, is probably a scenario)!
could not find metadata for item 824132570 (skipping, is probably a scenario)!
could not find metadata for item 824303869 (skipping, is probably a scenario)!
could not find metadata for item 825487565 (skipping, is probably a scenario)!
could not find metadata for item 826153738 (skipping, is probably a scenario)!
could not find metadata for item 826366050 (skipping, is probably a scenario)!
could not find metadata for item 826824646 (skipping, is probably a scenario)!
could not find metadata for item 827346960 (skipping, is probably a scenario)!
could not find metadata for item 828705258 (skipping, is probably a scenario)!
could not find metadata for item 830221184 (skipping, is probably a scenario)!
could not find metadata for item 832245101 (skipping, is probably a scenario)!
could not find metadata for item 832333531 (skipping, is probably a scenario)!
could not find metadata for item 834016280 (skipping, is probably a scenario)!
could not find metadata for item 834253740 (skipping, is probably a scenario)!
could not find metadata for item 834522171 (skipping, is probably a scenario)!
could not find metadata for item 836265383 (skipping, is probably a scenario)!
could not find metadata for item 837080832 (skipping, is probably a scenario)!
could not find metadata for item 837566991 (skipping, is probably a scenario)!
could not find metadata for item 838336462 (skipping, is probably a scenario)!
could not find metadata for item 838842766 (skipping, is probably a scenario)!
could not find metadata for item 857350593 (skipping, is probably a scenario)!
could not find metadata for item LICENSE (skipping, is probably a scenario)!
could not find metadata for item README.md (skipping, is probably a scenario)!
Sorting mods.

Amongst these is the actual scenario I am subscribed to. Yes the singular scenario. One.

And finally the sorter did change absolutely nothing.
I even threw in a few errors but the "new" modconfig is exactly like the "old" modconfig.


It might be because as I mentioned above the sorter expects the game to be in the main steam folder and gets confused.

/edit
Recently at the felt 28th attempt it did shuffle around the modconfig.
Don't know why it didn't before.
/edit 2
The new modconfig threw WAY more red errors than the original one.

shakeyourbunny

First things first:
- what exact version of RWMS did you use?
- did you read the documentation at https://www.github.com/shakeyourbunny/RWMS? If you have some unexpected behaviour, you always try to consult the manual of an application, not only RWMS itself.

Quote from: JesusKreist on June 19, 2019, 02:57:34 PM
Some mods don't even get recognized
Loading and parsing ModsConfig.xml
Loading mod data.
could not find metadata for item 1126324755 (skipping, is probably a scenario)!
Reason is that RWMS cannot locate the correct workshop base folder location and it has to look in every mod directory to find the name of the mod. Scenarios do not have this information, so it assumes that this ID is a scenario.

Quote from: JesusKreist on June 19, 2019, 02:57:34 PM
And finally the sorter did change absolutely nothing.
I even threw in a few errors but the "new" modconfig is exactly like the "old" modconfig.
This is intended behaviour not to fuck up your configuration if RWMS is not configured correctly.

Among this, it is also mentioned in the documentation that automatic configuration only works in certain scenarios (see documentation). For all other cases - like not having RimWorld / Steam not in the default steam location (stored in the Windows Registry) - manual configuration of the configuration file may be necessary. If you can point me to the file or registry key, where Steam stores its library path configuration to parse, I'll gladly implement alternate library location support.

If you have a newish release of RWMS, you can always get the current configuration (automatic included) with this command:

python rwms_sort.py --dump-configuration

(if you are using the binary executable, replace "python rwms_sort.py" with the name of the executable). More configuration options are available if you replace "--dump-configuration" with "--help".

Suggested settings in rwms_config.ini:
steamdir = path_to_rimworld_steam_directory
workshopdir = path_to_workshop_directory


JesusKreist

Second things second:
The version of RWMS is the latest.
And I am a rather old informatics guy, I am strongly in favor of a RTFM approach.

@ the not changing modconfig being intended.
I should have mentioned that the rwms_config.ini has been manually filled.
Mainly because the automatic steam search did not work. And it has been done correctly.
The sorter gave a statement about how many mods it had found, how many it did not know and that it sorted the modconfig.
And as said for many attempts it didn't. Without changing anything in the rwms_config.ini it did recently. To a load order riddled with errors.

shakeyourbunny

As already mentioned: you have some non-standard configuration and multiple Steam libraries are not supported for automatic configuration as long as I do not know where the configuration for the steam libraries are stored. If you know where this information is, please inform me.

shakeyourbunny

0.94.7 has been released, I strongly suggest to update.

Reason is that I had to modify the database format a bit (see below) and this will confuse all RWMS versions prior to this release. I could not avoid this change without messing the older versions up, sorry, so please upgrade.

0.94.7 (2019-06-30):
changed:
- RimWorld release names and mod versions are now filtered out in order to curb the need to add a duplicate
  database entry for the new mod version of the same mod.

  This also means that the current database format has been slightly tweaked and older versions of RWMS than 0.94.7
  will likely produce bunch of false unknown mods. This cannot be avoided.

- configuration dump has been adjusted.

Tgr

Every time I run this, it activates random mods that are not enabled and breaks everything.

Tgr

For example, I am still subscribed to a Rimworld B17 "Darkest Night SK" mod. Every single time I run this script, it activates it and puts it in the load order near the bottom, resulting in huge strings of red errors on load.

I struggle to imagine that activating unactivated mods is intended behavior, seeing as it seems pretty random which mods it chooses to turn on or not.

lunaferret

Neat addon!

However, you might want to mention in either the top post or the documentation that, if you have only just installed Python, you need to set the environmental variable paths, and then also install bs4. This is in Windows 10 1809. I saw mention of the need to install bs4 here, but it's not mentioned in the documentation.

Canute

He did it, you just oversaw (but i made the similar mistake while installing python)

QuoteInstallation:
Make sure you have Python 3.6+ installed (python --version), see also full installation instructions.
- Windows Download: https://www.python.org/downloads/
- Ubuntu / Mint / Debian: https://askubuntu.com/questions/865554/how-do-i-install-python-3-6-using-apt-get#865569
- install python module 'BeautifulSoup' ( pip install bs4 )

The enviroment variable is set by the python installed on default installation (but disabled if you use custom and you need to enable it).

shakeyourbunny

Quote from: TREH on July 01, 2019, 07:18:39 PM
For example, I am still subscribed to a Rimworld B17 "Darkest Night SK" mod. Every single time I run this script, it activates it and puts it in the load order near the bottom, resulting in huge strings of red errors on load.

I struggle to imagine that activating unactivated mods is intended behavior, seeing as it seems pretty random which mods it chooses to turn on or not.

Please provide the following information that I can reproduce this behaviour:
- operating system (Windows, Linux, OSX) and release number / distribution.
- RimWorld version
- RWMS version (did you upgrade to the latest release version and this behaviour still happens? If you are using the GIT version instead of the release which may have newer commits, provide commit number)
- Python version ( python --version )
- subscribed mods (just provide ModsConfig.xml)
- description of the issue.

Better, open an issue on GitHub (https://www.github.com/shakeyourbunny/RWMS/issues) and put all the requested information in order to make it reproducible for me, so I can debug this.

Maybe - if I have the time - I'll add a command line switch to collect these information more or less easier.