[IMPORTANT] Load Order and You (#2)

Post » Fri May 25, 2012 3:19 am

Load Order and You

Introduction

Load ordering is the method used to determine how conflicts between mod plugins (.esp, .esm files) should be decided. If two plugins alter the same game data, then the changes made by the plugin loading later will override those made by the plugin loading earlier. This "rule of one" results in a list of plugins, with those earlier in the list having any conflicting changes overriden by those later in the list. This list is the load order of the plugins.

A game will only load the plugins that are active. Up to 255 plugins, including the game's .esm file, can be active at any one time. Active plugins are listed in the game's "plugins.txt" file, which is stored in the user's local application data folder. Nevertheless, it is useful when working with load orders to consider the load order of all plugins, even if only some of them will actually be loaded. This is both because it is easier to display a single list of plugins than a list and an unordered set, and because modders have engineered methods that allow the changes made by inactive plugins to be loaded by another plugin (eg. Wrye Bash's Bashed Patch). When any such methods are being used, the load order of inactive plugins decides which plugins override others, similar to as if they were active.

In Oblivion, Nehrim, Fallout 3, Fallout: New Vegas and early versions (pre-1.4.26) of Skyrim, load order is decided by the relative timestamps of plugins in the game's Data directory. An installed plugin's load order is therefore an intrinsic property of that plugin.

In Skyrim v1.4.26, a new textfile-based load order system was introduced, in which load order is decide by the order in which plugins are listed in "plugins.txt". This brought with it a fundamental change, in that load order is no longer an intrinsic property of a plugin. This has the result that inactive plugins do not have any load order.


The Solution

The solution agreed on by Lojack (Wrye Bash), Kaburke (Nexus Mod Manager), WrinklyNinja (BOSS) and Dark0ne (owner of the Nexus sites) was that total load order would be stored in a "loadorder.txt" file, itself stored in the same location as "plugins.txt". "plugins.txt" would be kept in synchronisation with "loadorder.txt" so that the order of plugins that the game loaded was the same for both files, but the latter would allow the load ordering of inactive plugins.

Modding utilities would then perform their changes on "loadorder.txt", updating "plugins.txt" to reflect any changes to active plugin load order as required. This provides a common store for the total load order in lieu of the plugin timestamps used by the other games. There are of course a few more technical details to it, but that's the basics.


What This Means For... Mod Makers & Users

The bad news: Any utilities that you use to manage load order may stop having any effect. This is because nothing currently released knows about the change in load order system. In time, utilities may be updated to handle the text-based system as their programmers become aware of it. Until then, Skyrim's launcher is the only way to change load order. Also be aware of the current limitations of the solution, given above.

One very important thing is that if you have a utility that can handle the text-based system, do not use Skyrim's launcher to set load order. This is because it doesn't know about the total load order, so if you change the load order through it, only the active load order changes and synchronisation between the two is lost. The only way for a utility to re-sync the two load orders is to undo the changes you made in the launcher.

The good news: Nothing changes when it comes to making or using mods, it's just business as usual. Just bear in mind the point about the utilities you use to manage load order needing updating, and have patience while the programmers do their thing.

If you want to manually set your load order, the instructions below may be of use:
  • Open your plugins.txt in a text editor. plugins.txt is found in your local application data folder. On Windows Vista/7, this is C:\Users\[username]\AppData\Local\Skyrim\plugins.txt.
  • In plugins.txt, list the plugins you want active in the load order that you want them in. Each plugin goes on a separate line. Master files should go before non-master files. Merged or imported plugins are not active plugins, so should not be listed in plugins.txt.
  • If you also have a loadorder.txt in the same folder as plugins.txt, then update it so that the plugins in plugins.txt are in the same order in both files.
  • Save the edited file(s) and quit.
  • Don't try to then edit your load order through the Skyrim launcher. It has been reported to reset your load order if you set it up manually.


What This Means For... Mod Utility Programmers

The bad news: Your utilities will no longer function when it comes to load order (both getting and setting) until you update them to support the current system.

The good news: I've already done a lot of the work for you. The BOSS API supports both the timestamp-based and text-based load order systems through the same interface, so you don't need to worry about the differences, and includes all the functions required for querying and changing load order and activation status. The BOSS API will be included in the v2.0 release of BOSS, but if you PM me I'll send you a copy if v2.0 hasn't been released yet.

Note that the BOSS API is licensed under the GNU GPL v3.0 license, so your utility's license will have to comply with that to use the API.

If your utility's license is such that you cannot use the API, it's still worth looking at the BOSS API's readme as that contains the information on the textfile-based load order standard. If BOSS v2.0 hasn't been released yet, PM me and I'll send you a copy of the readme.


Utility Compatibility List

All known modding utilities that make use of load order in their functionality are listed below, with their compatibility status with regards to the text-based load order system. The three possible states are:

Compatible: The latest release of the utility is fully compatible with both the text-based load order system and the timestamp-based load order system.
Compatibility In Progress: The utility author(s) is (are) working on adding compatibility for the text-based load order system, but the latest release is not yet compatible.
Incompatible: The utility is not compatible with the text-based load order system and the author(s) has (have) either stated that they will not be adding compatibility, or are not known to have made any statement on whether they're working on compatibility or not.

BOSS - Compatible
Wrye Bash - Compatibility In Progress
Mod Organizer - Compatibility In Progress
Nexus Mod Manager - Compatible
Oscape - Compatibility In Progress
TesModManager - Compatible


Final Notes

Please remember to have patience if you're waiting on someone to do something in relation to this issue, eg. users waiting on programmers, or programmers waiting on me to fix an API bug. Everyone who can do anything about this situation is pretty busy, and these things take time to get done right.

Also please don't hate on Bethesda for changing the system. It's better than the old one, and the issues that it brought up are because we're too smart for our own good, coming up with ways to bend the rules (eg. Bashed Patches), so it's wrong to think that Bethesda need to cater for the situations in which they arise.

It's probably a good idea if people post below any utilities that use load order in some way that aren't listed above, so that I can add them to the compatibility list.

Finally, spread the word. If someone's having trouble setting the load order, let them know that it might be to do with this. If you know of a modding utility not listed above that changes or uses load order in any way, let the author(s) know about this. Please be polite while doing so though, I don't want to end up reading verbal abuse resulting from this instruction. When letting utility authors know, don't demand they update their utility, just post a note saying that it doesn't work any more and link to this thread.

Related links:
http://www.gamesas.com/topic/1353517-important-load-order-and-you/
http://www.gamesas.com/topic/1356991-important-load-order-and-you-2/
http://forums.nexusmods.com/index.php?/topic/583662-important-load-order-and-you/
http://forums.nexusmods.com/index.php?showtopic=583688
User avatar
Yvonne Gruening
 
Posts: 3503
Joined: Mon Apr 23, 2007 7:31 pm

Post » Thu May 24, 2012 11:22 pm

A little late with the offer.....But if you still need a tester, let me know.
User avatar
Chantel Hopkin
 
Posts: 3533
Joined: Sun Dec 03, 2006 9:41 am

Post » Fri May 25, 2012 2:01 am

A little late with the offer.....But if you still need a tester, let me know.
Your PM box is full.
User avatar
Naomi Ward
 
Posts: 3450
Joined: Fri Jul 14, 2006 8:37 pm

Post » Fri May 25, 2012 2:42 pm

Emptied. PM sent.
User avatar
FLYBOYLEAK
 
Posts: 3440
Joined: Tue Oct 30, 2007 6:41 am

Post » Fri May 25, 2012 12:28 am

So should I hold off on downloading mods until this is fixed? I use TESModManager btw.
User avatar
Kira! :)))
 
Posts: 3496
Joined: Fri Mar 02, 2007 1:07 pm

Post » Fri May 25, 2012 10:10 am

So should I hold off on downloading mods until this is fixed? I use TESModManager btw.
Not sure about NMM, but with Wrye Bash you can alter the load order with that program and it will stick - BOSS just doesn't automate it - yet.

I run BOSS then sort manually, but yeah I too am waiting - catching up on other games.
User avatar
Bloomer
 
Posts: 3435
Joined: Sun May 27, 2007 9:23 pm

Post » Fri May 25, 2012 6:03 am

Not sure about NMM, but with Wrye Bash you can alter the load order with that program and it will stick....

Really? I was under the (possibly mistaken) assumption that plugins.txt was the only reliable method for now.
User avatar
Crystal Clear
 
Posts: 3552
Joined: Wed Aug 09, 2006 4:42 am

Post » Fri May 25, 2012 11:07 am

NMM now writes to the plugins.txt. But auto-sorting has not yet been implemented.
User avatar
Luis Reyma
 
Posts: 3361
Joined: Fri Nov 02, 2007 11:10 am

Post » Fri May 25, 2012 5:48 am

So should I hold off on downloading mods until this is fixed? I use TESModManager btw.
Not sure about NMM, but with Wrye Bash you can alter the load order with that program and it will stick - BOSS just doesn't automate it - yet.

I run BOSS then sort manually, but yeah I too am waiting - catching up on other games.
Really? I was under the (possibly mistaken) assumption that plugins.txt was the only reliable method for now.
NMM has been updated to handle the new load order system using the BOSS API.

Wrye Bash's SVN has been updated to handle the new load order system using the BOSS API.

TesModManager's author contacted me requesting a copy of the API and I have been sending him/her builds regularly but have had no reply since the initial correspondence.

BOSS is in beta testing.

So NMM is the only utility to have officially released an updated version that works with the new system, but as is usual it remains in beta and has bugs.
User avatar
TASTY TRACY
 
Posts: 3282
Joined: Thu Jun 22, 2006 7:11 pm

Post » Fri May 25, 2012 2:43 pm

So I should probably hold off until everything is sorted huh...

I hear bad things about NMM too.
User avatar
Joe Bonney
 
Posts: 3466
Joined: Tue Jul 17, 2007 12:00 pm

Post » Fri May 25, 2012 3:16 am

NMM is fine. No reason to hold off.
User avatar
danni Marchant
 
Posts: 3420
Joined: Sat Oct 07, 2006 2:32 am

Post » Fri May 25, 2012 8:40 am

So I should probably hold off until everything is sorted huh...

I hear bad things about NMM too.
I could list unfavorable things about it - but not being able to handle install order is the main of it.

Again you can use BOSS to find load order and sort load order by hand with bash and if I read the above correctly then NMM too. It is autosort that is not happening right now.
User avatar
Floor Punch
 
Posts: 3568
Joined: Tue May 29, 2007 7:18 am

Post » Fri May 25, 2012 10:42 am

Do plugins.txt and loadorder.txt need to be created manually?

I ask because I simply do not have them anywhere. I do not have the folder location WN listed (C:\Users\[username]\AppData\Local\Skyrim\). yes, I used the search function. I just did a fresh install of Skyrim, checked the game cache with Steam.

I've been trying to reorder my mods manually via the launcher, NMM, or Wrye Smash since the recent patches, using BOSSlog as a guide, but they dont seem to stick and have left my previously crash free game incredibly unstable. I assume its a fubared load order.

using Win 7 64bit, Skyrim 1.4.27, NMM 0.15.15, latest BOSS

Any help would be greatly appreciated.
User avatar
clelia vega
 
Posts: 3433
Joined: Wed Mar 21, 2007 6:04 pm

Post » Fri May 25, 2012 8:53 am

And what version of Wrye Bash are you using? I'd bet you are not using the latest svn.
User avatar
tiffany Royal
 
Posts: 3340
Joined: Mon Dec 25, 2006 1:48 pm

Post » Fri May 25, 2012 12:52 am

Windows has that folder hidden by default, so you need to set hidden files and folders as visible in the folder options (sorry, can't tell you the exact steps, as I'm on German Windows and don't know what's the exact English names).
plugins.txt is there at least if you've ever used any plugin, as it has always been created by the game. If you've been using the new NMM, that should have created a loadorder.txt, as well.
User avatar
Pixie
 
Posts: 3430
Joined: Sat Oct 07, 2006 4:50 am

Post » Fri May 25, 2012 11:46 am

Sweet, thanks Psymon and Varana.
User avatar
Jennifer Munroe
 
Posts: 3411
Joined: Sun Aug 26, 2007 12:57 am

Post » Fri May 25, 2012 2:42 pm

I could list unfavorable things about it - but not being able to handle install order is the main of it.

Again you can use BOSS to find load order and sort load order by hand with bash and if I read the above correctly then NMM too. It is autosort that is not happening right now.
I think that this wrong. The latest builds read and write to plugins/txt just fine.
User avatar
Anna Kyselova
 
Posts: 3431
Joined: Sun Apr 01, 2007 9:42 am

Post » Fri May 25, 2012 12:59 pm

I think that this wrong. The latest builds read and write to plugins/txt just fine.
I'm certain you misunderstand. Until BOSS does it automatically we are still either copying and pasting the BOSS readout or sorting by hand.
User avatar
Alexis Estrada
 
Posts: 3507
Joined: Tue Aug 29, 2006 6:22 pm

Post » Fri May 25, 2012 1:59 pm

The BOSS beta works with 1.4.27.
User avatar
BRIANNA
 
Posts: 3438
Joined: Thu Jan 11, 2007 7:51 pm

Post » Fri May 25, 2012 9:45 am

The BOSS beta works with 1.4.27.
Link? I'm not going to count a closed beta.
User avatar
Joanne
 
Posts: 3357
Joined: Fri Oct 27, 2006 1:25 pm

Post » Fri May 25, 2012 2:24 pm

Link? I'm not going to count a closed beta.
PM wrinklyninja for the link.
User avatar
Tamika Jett
 
Posts: 3301
Joined: Wed Jun 06, 2007 3:44 am

Post » Fri May 25, 2012 8:41 am

Yup. The BOSS beta works and NMM does read plugins.txt. So, for a user, it is back to business as usual once wrinklyninja is satisfied that it is good to go.
User avatar
Mason Nevitt
 
Posts: 3346
Joined: Fri May 11, 2007 8:49 pm

Post » Fri May 25, 2012 1:12 am

I'm certain you misunderstand. Until BOSS does it automatically we are still either copying and pasting the BOSS readout or sorting by hand.
You can sort with NMM now, just no BOSS auto sorting.
User avatar
Louise
 
Posts: 3407
Joined: Wed Nov 01, 2006 1:06 pm

Post » Fri May 25, 2012 8:08 am

I mentioned this in another thread, but people are aware the official game launcher can be used to set load order by hand, right? You don't need to wait on Bash to get there, or for BOSS to come out of beta, or to install NMM if you don't want to.

Yeah, the launcher is somewhat crude, but when shifting order by hand, what difference does it make how much lipstick is plastered on crude?
User avatar
alyssa ALYSSA
 
Posts: 3382
Joined: Mon Sep 25, 2006 8:36 pm

Post » Fri May 25, 2012 12:47 pm

Does this only affect load orders generated after the patch?
User avatar
Natalie Harvey
 
Posts: 3433
Joined: Fri Aug 18, 2006 12:15 pm

Next

Return to V - Skyrim