Skip to content

Autosorting

rimpy-custom edited this page May 4, 2021 · 12 revisions

Why do well-known mod order guides are bad?

Mod order guides are based on believe that all mods should be categorized into groups and groups should be moved one after another in specific order. That approach has it's limitations, there are more cons than pros. For example, it is too time consuming, one mod may be categorized differently by users, mod position may depend on other mods, etc.
RimPy is based on other conception and utilize different approach - rules system. That is why you should NEVER apply any mod order guides for autosorting with RimPy, especially NEVER use them to create sorting rules.

RimPy mod sorting conception

Mod order does not matter if mods do not interact with each other in the way that causes issues. That means we can sort mods as we want to, if that do not cause issues. RimPy sort mods in several steps:

  1. It sorts mods alphabetically
  2. It uses hardcoded rules to move several mods (Core, HugsLib, Multiplayer, etc) to appropriate places
  3. It applies rules provided by mod authors in About.xml files and on mod steam pages
  4. It applies community rules
  5. It applies current user created rules

The idea of RimPy autosorting is based on users input. Users troubleshoot issue themselves, create appropriate rules and share them with others. We need to make sure that rules are applied similarly, so rule created by one user will solve issue on for others too. That is why we need to unify mod order before applying rules, and that is why first step - alphabetical sorting is needed. Actually, that does not matter, we could also sort mods by packageId or other parameter, but we have chosen mod names for that.

That is important to mention that if users do not have custom rules created, then there will be nothing to apply on step (5) and their mod order will be same. Since mod order algorithm the same and mod order close to be the same on all machines, your custom rules that you have created to solve issues for your mod list will solve the same issues for other users too. Btw, to disable notification when autosorting in RimPy you need to press on Settings button and add to Manual section of config file key Read with value of current RimPy version. There is a belief that will makes things cleaner.

RimPy rules system conception:

  1. One person cannot create sorting rules for all existing mods. That is why all users should contribute to the process - create and share sorting rules.
  2. People are lazy, most of them will not read, test and will choose the fastest possible way to achive the results. They will move mods manually in random position in hope to fix the problem and sometimes they succeed. But if they do manual sorting: 2a. Their mod orders are worthless for others. Because they didn't find out what was the problem and what mods exactly conflict with each other
  3. If you as user find out what mods conflicts with each other, you are able to create a ONE RULE solution that will tell program to put ONE mod after ANOTHER ONE to fix the problem. That rule will fix issue for you and if you share it - on all other users. So: 3a. Your mod order is valuable for others. You share ONE rule with others and fix the same problem for all users at once.