Here's how I got this to work with my large modlist: Install all this and BSSearch according to first steps in description in C:\Strawberry\perl\bin. strawberry being whatever you call the folder for perl. I installed using the MSI installer version of Strawberry Perl 5.30.1.1 (2019-11-22) from the link below: Strawberry Perl for Windows - Releases
All Executables from this mod, The BSSearch Folder, and BSSearch executable Should be in C:\Strawberry\perl\bin where the required DLL files are. I did this and ran Koro 0.8.1.exe from that folder and it was able to load all 900+ mods with plugins (I disabled mods without plugs as to not waste time). Basically Use the Bin folder I mentioned as this tool's directory, and it should be fine.
This may be unsupported use, if so, sorry for the bother.
Attempted to use this on my FO4 install since they use the same engine as Skyrim and the same filetypes/tools to work with it.
After installing the proper version of Strawberry Perl to get pass that error message the tool runs for, iterating through my plugin list for a while and then bombs out with an error once it hits the last plugin with the following text:
GUI.exe: Negative repeat count does nothing at script/GUI.pl line 209 (#1) Can't tell if it's an actual problem error or because I'm running it against FO4 instead of Skyrim. Here's a gist of the full console output.
For anyone coming in from the future - you don't want to install the LATEST version of Strawberry PERL, instead on their site there is a link to "All Releases" - click that and scroll down to version 5.30.1.1 and download that one. That's the one the tool is needs.
It looks like the launcher part of the program (launcher.pl or Koro 0.8.1.exe) gives that message if you don't have Perl installed. It isn't supposed to, the entire point of PAR::Packer is to compile Perl scripts for people that don't have Perl, but whatever. You can drag that message off to the side and ignore it. If you click "Ok" it'll close everything. Installing strawberry perl will eliminate the message, which is why I didn't see it during development. At this point I'm rather tempted to replace launcher.pl with a batch file just to avoid compiler related issues since PAR::Packer has had three major problems with it so far, none of which being related to the code I've written.
I downgraded to 5.30 since that's the latest version that Perl2Exe, an alternative compiler, supports. Sadly that one didn't do any better. It had its own set of compilation issues. I just forgot to upgrade to the latest version afterwards.
It's a bit enlightening to see how tricky it is to get something that works on my machine working on everyone's machine. I appreciate all the patience everyone has shown with it.
Wow, I just upgraded to the latest version and found that I couldn't install the Tk module with CPAN. Doing a bit of research shows that people have been having trouble with that since 2020, and six months ago it was discovered to be because Tk was assuming 32-bit pointers, so the bug was fixed four days ago and hasn't hit the repository yet. Perl 5.32 didn't let it use 64-bit pointers so it wasn't an issue before then, and chocolatey hadn't upgraded Perl for a couple years until last month. Given that I'd installed Tk well before the update I didn't encounter the issue until I tried to reinstall the latest version from scratch.
So, for anyone trying to run Perl directly you'll have to install Tk with CPAN with Strawberry Perl 5.32.1.1 (choco install strawberryperl --version 5.32.1.1). Of course, strawberry perl doesn't support such an esoteric and rare operation as upgrading without manually uninstalling the prior version (and wiping out your installed cpan modules in the process), so no upgrading to 5.38 for now. Hopefully the bug fix will propagate soon so this won't be an issue for long. I think I might have mentioned at some point how much I now hate my decision to add a basic GUI to the simple perl script Koro started as rather than rewrite it in a new language? It bears reiteration.
I finished installing my mods now, and I'm trying to get beyond the testing phase. I have about 2700 files and KORO crashes every. single. time. I run it. It's not that my PC is out of memory (64GB RAM), but the amount of data seems to be too much to collect. In the KORO directory, modData.json is updated for each run, but pluginData.json is not. It's still at the same state as the test run a few days ago.
I tried deleting the pluginData.json, and KORO actually finished counting all my mods. WOW. Then crashed again. Now: "Cache file found, reading plugin data". Hopefully it will finish. Well, crash on finish :( I'll delete the json files and try again. After crashing a few times, it loaded successfully, but when I clicked "Auto Sort", it crashed again. Is there a debug mode?
Whenever I start KORO, it pops up the directory selector. Is that intentionally?
Koro always asks for ModOrganizer.ini since you might have multiple mod folders. Plus I'm too lazy to write a settings menu where you could clear a default selection.
It sounds like 2,700 mods is too much for Koro 0.7, though technically it's the number of active plugins. I'm working on a multiprocess version that should be more stable, especially with larger mod lists. Unfortunately, some of the algorithms are O(n^2) and performance is going to plummet with very large mod lists. I'll see if I can do anything about that.
I'm not sure how my installation is different, but the only MO.ini file I have is in appdata. I've tried using that file and it starts to populate, but it's crashing during the process. Do you have any advice?
Edit 1: I found the advice if this post is unchanged it worked. Edit 2: Sadly still crashing I will keep on eye on this one though.
Mod Organizer can be run in portable mode or installed globally and it sounds like you have the latter. I didn't test that configuration and made the assumption that your folders are setup as such:
If your mods aren't installed that way then you can create symlinks to simulate this structure. Create symlinks to your ModOrganizer.ini file, profile directory, and mod directory, then point Koro at the symlink. https://www.howtogeek.com/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/
Opening Koro from the command line will also show you error messages if you're getting random crashes. It's far from the most stable software I've written, since Perl isn't a great choice for multithreaded GUI applications and I haven't written many many either. Koro started as a command line tool that I just kept expanding. I'm working on a multi-process version to see if that's more stable than the multi-threaded version.
37 comments
Strawberry Perl for Windows - Releases
All Executables from this mod, The BSSearch Folder, and BSSearch executable Should be in C:\Strawberry\perl\bin where the required DLL files are. I did this and ran Koro 0.8.1.exe from that folder and it was able to load all 900+ mods with plugins (I disabled mods without plugs as to not waste time). Basically Use the Bin folder I mentioned as this tool's directory, and it should be fine.
Attempted to use this on my FO4 install since they use the same engine as Skyrim and the same filetypes/tools to work with it.
After installing the proper version of Strawberry Perl to get pass that error message the tool runs for, iterating through my plugin list for a while and then bombs out with an error once it hits the last plugin with the following text:
GUI.exe: Negative repeat count does nothing at script/GUI.pl line 209 (#1)
Can't tell if it's an actual problem error or because I'm running it against FO4 instead of Skyrim. Here's a gist of the full console output.
Any ideas?
It's a bit enlightening to see how tricky it is to get something that works on my machine working on everyone's machine. I appreciate all the patience everyone has shown with it.
So, for anyone trying to run Perl directly you'll have to install Tk with CPAN with Strawberry Perl 5.32.1.1 (choco install strawberryperl --version 5.32.1.1). Of course, strawberry perl doesn't support such an esoteric and rare operation as upgrading without manually uninstalling the prior version (and wiping out your installed cpan modules in the process), so no upgrading to 5.38 for now. Hopefully the bug fix will propagate soon so this won't be an issue for long. I think I might have mentioned at some point how much I now hate my decision to add a basic GUI to the simple perl script Koro started as rather than rewrite it in a new language? It bears reiteration.
I have about 2700 files and KORO crashes every. single. time. I run it. It's not that my PC is out of memory (64GB RAM), but the amount of data seems to be too much to collect.
In the KORO directory, modData.json is updated for each run, but pluginData.json is not. It's still at the same state as the test run a few days ago.
I tried deleting the pluginData.json, and KORO actually finished counting all my mods. WOW. Then crashed again.
Now: "Cache file found, reading plugin data". Hopefully it will finish. Well, crash on finish :( I'll delete the json files and try again.
After crashing a few times, it loaded successfully, but when I clicked "Auto Sort", it crashed again. Is there a debug mode?
Whenever I start KORO, it pops up the directory selector. Is that intentionally?
It sounds like 2,700 mods is too much for Koro 0.7, though technically it's the number of active plugins. I'm working on a multiprocess version that should be more stable, especially with larger mod lists. Unfortunately, some of the algorithms are O(n^2) and performance is going to plummet with very large mod lists. I'll see if I can do anything about that.
Edit 1: I found the advice if this post is unchanged it worked.
Edit 2: Sadly still crashing I will keep on eye on this one though.
/ModOrganizer.ini
/profiles/ACTIVE_PROFILE/modlist.txt
/profiles/ACTIVE_PROFILE/loadorder.txt
/mods/*
If your mods aren't installed that way then you can create symlinks to simulate this structure. Create symlinks to your ModOrganizer.ini file, profile directory, and mod directory, then point Koro at the symlink.
https://www.howtogeek.com/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/
Opening Koro from the command line will also show you error messages if you're getting random crashes. It's far from the most stable software I've written, since Perl isn't a great choice for multithreaded GUI applications and I haven't written many many either. Koro started as a command line tool that I just kept expanding. I'm working on a multi-process version to see if that's more stable than the multi-threaded version.