BOSS

A plugin load order optimiser for TES III: Morrowind, TES IV: Oblivion, Nehrim - At Fate's Edge, TES V: Skyrim, Fallout 3 and Fallout: New Vegas.

Contents

  1. Introduction
  2. Installation
  3. Uninstallation
  4. The Graphical User Interface
    1. Startup
    2. The Main Window
    3. The User Rules Manager
      1. What Everything Does
      2. How To Create A Rule
    4. The Settings Window
  5. The BOSS Log
    1. Common Features
    2. HTML-Only Features
      1. Filters
      2. In-Log Unrecognised Plugin Submission
      3. CSS Settings
      4. Settings Memory
  6. Contributions & Help
  7. The Command Line Interface
    1. Command Line Arguments
    2. The BOSS.ini
      1. General Settings
      2. Internet Settings
      3. Run Options
  1. Keeping BOSS Up To Date
  2. BOSS Changes and Files
  3. Troubleshooting
    1. General Problems
    2. Error Messages
  4. Translating BOSS
    1. Translating The BOSS Installer
    2. Translating The BOSS Applications
  5. Credits
  6. Project Members
  7. License
  8. Quick Links
  9. Appendices
    1. Appendix A: Introduction To Load Orders
    2. Appendix B: Dirty Edits, Mod Cleaning & CRCs
    3. Appendix C: False-Flagged Plugins
    4. Appendix D: File Permissions
    5. Appendix E: International Character Support
  10. Userlist Syntax (separate document)
  11. API Readme (separate document - for utility developers)
  12. Version History (separate document)

Introduction

BOSS is designed to assist mod users in avoiding detrimental conflicts, by setting the correct load order for the plugins they have installed.

BOSS also provides thousands of plugin-specific messages, including usage notes, Bash Tag suggestions, requirements, incompatibilities, bug warnings and installation mistake notifications. It supports the sorting of plugins ghosted by the Wrye *ash utilities, is highly customisable, has been translated into multiple languages, and is simple to use.

Although BOSS recognises tens of thousands of plugins, it is not a complete solution to load ordering issues, as there are many more mods available. To properly place unrecognised plugins, a good working knowledge of mod load ordering is still necessary, for which some research and documentation reading will go a long way. See Introduction To Load Orders for an overview.

While BOSS technically supports TES III: Morrowind, no mod plugins are recognised and no further support is planned. Morrowind users looking for an automated load order manager should consider using mlox instead.

BOSS also has an API that gives programmers access to almost all of BOSS's functionality, plus more general load order management functionality that greatly simplifies working with load orders across the supported games. See the BOSS API Readme for more information.

Installation

BOSS does not support Windows 2000 or earlier.

The simplest way to install BOSS is to use the installer. However, the instructions below are provided if a manual install method is preferred.

  1. If updating from an earlier version of BOSS, uninstall the existing BOSS install before continuing. Any userlists you have should be moved to a temporary location while you install the BOSS update.
  2. Extract the BOSS folder the downloaded archive contains to a location of your choice. Make sure that you have the appropriate file permissions for the directory you choose. See the File Permissions section for more information. Note that if you install the BOSS folder to the same location as a supported game's executable, BOSS will only run for that game by default, and will not ask you to choose which game it should run for, even if you have other supported games installed.
  3. If any of the Wrye *ash utilities are installed, make sure their BOSS Disable Lock Load Order* setting is enabled.
  4. If updating from an earlier version of BOSS and you moved any userlists you have to a temporary location, after you have run BOSS at least once for each game with a userlist, you will need to move your userlist(s) into the game(s) subfolders that are created within the BOSS folder.

See the The Graphical User Interface or The Command Line Interface sections for information on running BOSS.

Uninstallation

If BOSS was installed using the installer, then use the uninstaller it provides a link to in the Start Menu to uninstall BOSS. If BOSS was installed manually, simply delete the BOSS folder you installed.

The Graphical User Interface

The GUI provides a simple way to run BOSS while allowing access to its various settings and more powerful features without having to manually edit any files. It can be launched by clicking the BOSS GUI Start Menu link (if you installed BOSS using the installer) or by running the BOSS GUI.exe found in the BOSS folder.

Startup

When you first run the GUI, you may be presented with the following dialog.

select game
The Select Game dialog.

This dialog is displayed if you did not install the BOSS folder next to a supported game's executable and you have either not run the GUI before, or it cannot find the game that you last ran it for. Pick the game that you want to run BOSS for, and click OK. If you select a game marked (not detected) then you will only be able to download the latest masterlist for that game, and not sort any plugins.

After you have selected a game and clicked OK, the dialog will close and you will be presented with the GUI's main window.

The Main Window

main window
The BOSS GUI's main window, containing the most commonly used options.

The title bar of the main window displays which game the GUI is running for: this may also be checked by seeing which game is selected in the Active Game menu.

The buttons and options are all fairly self-explanatory, but are detailed in the tables below. The Run BOSS button and File→Run BOSS menu entry both do exactly the same thing, as do the View BOSS Log button and File→View BOSS Log menu entry, and the Edit User Rules button and Edit→User Rules... menu entry.

The behaviour of the Active Game menu requires some explanation. The menu allows you to change which game the GUI is running for without having to close and re-open it. Games that the GUI cannot find are greyed out, and the active game, ie. the one the GUI is running for, is marked with a dot to its left. To change the active game, simply select another game in the list. Setting the run type to Update Masterlist Only will un-grey all the games, allowing any of them to be selected, while changing from Update Masterlist Only to another run type will grey out undetected games again. If an undetected game is active when you change run type, the GUI will automatically switch to the first detected game in the list.

The run options on the right of the main window decide how BOSS runs. BOSS has three main modes of operation that are mutually exclusive: it can either sort your plugins, only update your masterlist then quit, or undo its changes to your load order. The options specific to each mode of operation are listed under each mode's radio button. When BOSS sorts your plugins, it will re-order the plugins it recognises to their correct positions, putting any plugins it doesn't recognise after them in the same order as they were before BOSS was run.

SettingDescription
Show BOSS Log On CompletionIf checked, the BOSS Log will automatically be opened when BOSS has finished running.
Display File CRCsIf checked, the BOSS Log displays the CRCs of all the plugins in the Data folder, and of OBSE/FOSE/NVSE/SKSE and its installed plugins if present.
BOSS Log FormatThis decides both what format of BOSS Log is generated when BOSS is run and what format of BOSS Log the GUI opens when the View BOSS Log button or File→View BOSS Log menu item is selected.
Update MasterlistIf checked, BOSS will update your masterlist before sorting your plugins.
Perform Trial RunIf checked, BOSS simulates its changes to your load order without actually reordering your mods.
Undo LevelThis decides how many runs of BOSS are to be undone when BOSS is run to undo changes.
Menu ItemDescription
FileView BOSS LogOpens the BOSS Log for viewing. The format of BOSS Log that it opens is decided by the format selected in the Output Options box.
Run BOSSRuns BOSS's main functionality with the selected mode of operation and settings.
QuitQuits the GUI.
EditUser Rules...This opens the User Rules Manager window by default, but if the Use User Rules Manager setting in the Settings window is unchecked, your userlist will be opened in your default text editor instead.
Settings...Opens the Settings window.
Active GameNoneNever selectable. If this menu item is checked, something has gone wrong.
OblivionClicking on this will change the game the GUI is running for to TES IV: Oblivion.
NehrimClicking on this will change the game the GUI is running for to Nehrim - At Fate's Edge.
SkyrimClicking on this will change the game the GUI is running for to TES V: Skyrim.
Fallout 3Clicking on this will change the game the GUI is running for to Fallout 3.
Fallout: New VegasClicking on this will change the game the GUI is running for to Fallout: New Vegas.
MorrowindClicking on this will change the game the GUI is running for to TES III: Morrowind.
HelpOpen Main ReadmeOpens the main readme in your default web browser.
Open User Rules ReadmeOpens the user rules readme in your default web browser.
View Copyright LicensesOpens the file containing BOSS's copyright licenses in your default text editor.
Check For Updates...Check for updates to BOSS.
About BOSS...Displays an About dialog, giving the version number, some copyright and license information, a link to BOSS's Google Code page and a short blurb.

The User Rules Manager

user rules editor window
The User Rules Manager, a graphical interface for customising how BOSS sorts your plugins and what messages it displays.

BOSS's sorting of your plugins and the messages it displays can be customised using user rules. User rules can:

  1. Sort plugins relative to other plugins. Plugins can be .esp or .esm files, and you can both override the positions of plugins BOSS recognises and sort plugins that are unrecognised.
  2. Sort groups of plugins relative to other groups of plugins. BOSS's masterlist generally lists plugins in thematic groups, which you can override the relative positioning of. You can't create new groups though.
  3. Insert plugins into the top or bottom of groups of plugins.
  4. Edit the messages BOSS attaches to plugins. You can add new messages or replace existing messages with your own.

The User Rules Manager allows easy management of your user rules without having to know any of their syntax (though if you want to customise messages, you need to know their syntax - fortunately it is pretty simple).

What Everything Does

The User Rules box lists any user rules you have created. Rules are applied in the order they are listed, and their order can be changed using the Move Rule Up and Move Rule Down buttons at the bottom of the window. A rule that is greyed out and has its checkbox unchecked is disabled, and will not be applied when BOSS is run. The currently selected rule is highlighted with a grey background.

If a rule was created to sort a plugin that was not listed in the masterlist, and that plugin was then added to the masterlist in an update, the User Rules Manager will automatically disable the rule when it loads, to signify that the rule is no longer required. You can then choose to re-enable the rule by checking its checkbox, or delete it, by selecting the rule and clicking the Delete Rule button at the bottom of the window.

Clicking on a rule will load it into the Rule Editor box, where you can then change what it does and either overwrite the existing rule with your edits, using the Save Edited Rule button, or create a new rule from your edits, using the Create New Rule button.

The Installed Plugins tab lists all the plugins found in the active game's Data folder, listed in load order. The Masterlist tab displays the masterlist contents as a tree list, showing the plugins in their groups. Double clicking on a collapsed group will expand it, showing the plugins and groups it contains, while double clicking on an expanded group will collapse it, hiding the plugins and groups it contains. Selecting a plugin will display the messages attached to it by the masterlist in the Default Plugin Messages box. You can search either list using the search box at the top of each tab. Searching looks for matches from the start of plugin and group names, and is performed when the Enter keyboard key is pressed, and may be cancelled by clicking the grey cross that appears in the search box.

How To Create A Rule

  1. Drag and drop the plugin or group you want to sort and/or edit messages for from the Installed Plugins or Masterlist tab into the For text box. You can also type the plugin/group name in yourself.
  2. If you want to sort the plugin or group, check the Sort Item checkbox.
  3. If the item you're creating a rule for is a plugin, and you want to edit the messages attached to it, check the Add the following messages checkbox.

When you click either of the Create New Rule or Save Edited Rule buttons, the User Rules Manager will check that the rule has valid syntax, and warn you of any errors encountered. Invalid rules will not be saved.

Once you have finished editing your user rules, use the Save and Exit button to save your changes to your userlist, or the Cancel button to exit without saving.

Further information on user rules, including the details on their syntax, can be found in the BOSS Userlist Syntax document.

The Settings Window

settings window tab 1 settings window tab 2 settings window tab 3
The 3 tabs of the GUI's Settings window (animated slideshow).

BOSS's less commonly used settings are found in the Settings window, which can be accessed by clicking Edit→Settings... in the main window's menu bar. The settings are grouped into tabs depending on what area of BOSS's behaviour they control. The settings are detailed in the table below.

TabSettingDescription
GeneralDefault GameIf set to something other than Autodetect, this overrides game autodetection. If the game specified is not detected, BOSS falls back to autodetection, unless BOSS is run with the Masterlist Update Only option selected, in which case BOSS will run successfully whether or not the game is installed.
LanguageControls the language BOSS uses in its interfaces. Debug log messages are always displayed in English, and very few of the messages attached to plugins have been translated into other languages. While BOSS supports a German translation, it is not yet included. Inclusion of a German translation is planned for a future release of BOSS.
Check for BOSS updates on startupControls whether or not BOSS checks for program (not masterlist) updates automatically when it starts up.
Use User Rules EditorControls whether the GUI uses the User Rules Editor window to edit user rules or whether it opens the userlist.txt for manual editing.
Close the GUI after running BOSSControls whether or not the GUI quits after it has run to sort your plugins, update your masterlist or undo changes.
InternetProxy HostnameIf you use a proxy to connect to the Internet, specify its hostname here.
Proxy Port NumberIf you use a proxy to connect to the Internet, specify its port number here.
Proxy UsernameIf you use a proxy that requires authentication to connect to the Internet, specify your username here.
Proxy PasswordIf you use a proxy that requires authentication to connect to the Internet, specify your password here.
DebuggingDebug Outout VerbosityThe verbosity of the debug output. As values increase, so does verbosity, 'Standard (0)' displays only warning and error messages.
Include Source Code ReferencesAdd source code references to the debug output.
Log Debug OutputSave the debug output to a BOSSDebugLog.txt text file.

The BOSS Log

boss log
The HTML-format BOSS Log.

The BOSS Log is where you will find all of BOSS's outputted information. It can be generated in either HTML format (the default) or as a plain text file with minimal formatting. The HTML format has significant advantages over the plain text format, being considerably easier to read, containing colour-coded messages and a variety of interactive features to customise what is displayed.

Common Features

Both log formats contain the following sections:

BOSS Log SectionDescription
SummaryThis section gives a short summary of BOSS's actions. It breaks down the numbers of plugins installed and messages attached to them and gives the local masterlist version and whether or not it was updated. Any messages contained within the masterlist that are specific to your install but not specific to any one plugin will also be displayed here, as will any file parser and masterlist updater error messages produced.
User RulesThis section is displayed if BOSS finds any user rules in your userlist. It details the successes or failures of the application of your user rules.
Script Extender PluginsThis section is displayed if you have your game's Script Extender installed. It will list the Script Extender and any plugins for it that you have installed, displaying their versions (if given) and their CRCs (if run with Display File CRCs enabled).
Recognised Plugins
or
Restored Load Order
This section comprises the bulk of BOSS's output, listing all your recognised installed plugins and any messages BOSS has attached to them, as well as version information (if given) and the plugin CRCs (if run with Display File CRCs enabled). If you are running BOSS to undo its changes, this section is titled Restored Load Order, and lists the restored load order.
Unrecognised PluginsThis section is displayed if you have plugins installed that are unrecognised by BOSS, and lists them. These plugins should be submitted to the BOSS team so they can be added to the relevant masterlist. See the Contributions & Help section for further information.

BOSS will display the version numbers of any plugins that provide them in their description fields. If a plugin supplies no version number, it cannot be displayed. The version numbers may not reflect the actual version of the mod installed - this could either be due to the mod author forgetting to update the description, or due to a mistake in BOSS's detection. As version numbers are supplied by mod authors in a wide range of formats and BOSS has to detect as many as possible, it occasionally identifies parts of some descriptions as version numbers incorrectly. When in doubt, check the version number given in a mod's readme.

It should be noted that the vast majority of BOSS's mod messages are non-conditional, in that they are not displayed in response to your specific install. For example, a message that gives some of the mod's incompatibilities does not know if you have them installed or not, and a message telling you to do something will not know if it has been done.

BOSS's mod messages are one of the most important features BOSS provides, acting as a means of providing users with information that they might otherwise not obtain. It is important for a stable, healthy game that you act on any messages that require action. If you think a message suggests an action that is not necessary, report it to an official BOSS thread. While the Wrye *ash utilities will automatically import and apply Bash Tag suggestions from BOSS, some Bash Tag suggestions can come with conditions and notes that require human intervention, so read the suggestions made thoroughly and adjust tags by hand in Wrye *ash if necessary.

Unrecognised mods must be re-ordered by hand using a mod manager such as NMM/OBMM/FOMM or Wrye *ash, or using BOSS's user rules functionality.

HTML-Only Features

While the plain text BOSS Log simply lists the sections detailed above and their contents, the HTML BOSS Log functions more like an extension of the BOSS program, and uses a much richer interface. It requires a minimum of Internet Explorer 9, Firefox 3.5, Chrome 4, Safari 4, Opera 10.5 or any equivalent browser to function and display correctly, though some of the features have additional requirements with varying levels of browser support. When the BOSS Log is opened, it will display a Log Feature Support panel detailing which of these features the browser being used supports, and which it does not, with unsupported features being automatically disabled.

The HTML BOSS Log's additional features are:

Filters

The BOSS Log's filters can be used to selectively hide different types of information in the BOSS Log from view, making it easier to see what you're looking for. The filters are found in a floating panel at the bottom of the window that can have its visibility toggled by clicking on the Filters button in the sidebar. Filters are turned on and off via their checkboxes, and the numbers of hidden plugins and messages are given below the filter checkboxes. If a filter doesn't apply to the currently-displayed BOSS Log section, its checkbox is disabled. The filters available are:

BOSS Log FilterDescription
Hide Version NumbersHides the version numbers printed in blue next to those plugins that provide them.
Hide 'Active' LabelHides the 'Active' label printed in green next to any active plugins.
Hide ChecksumsHides the checksums of plugins and Script Extender plugins printed in brown next to their names.
Hide NotesHides any messages attached to plugins that have the Note: prefix.
Hide Bash Tag SuggestionsHides any Bash Tag suggestions attached to plugins.
Hide RequirementsHides any messages attached to plugins that have the Requires: prefix.
Hide IncompatibilitiesHides any messages attached to plugins that have the Incompatible with: prefix.
Hide 'Do Not Clean' MessagesHides any messages attached to plugins that begin with Contains dirty edits: Do not clean..
Hide All Mod NessagesHides all messages attached to plugins.
Hide Inactive PluginsHides any plugins that are not active.
Hide Messageless PluginsHides any recognised plugins that do not have messages attached to them.
Hide Clean PluginsHides any plugins in your load order that don't have messages beginning Contains dirty edits: attached. Note that this doesn't mean the plugins hidden are definitely clean, only that BOSS doesn't know they're dirty.

In-Log Unrecognised Plugin Submission

The submission of unrecognised plugins by users is vital to the upkeep of BOSS. The HTML BOSS Log allows you to submit such plugins without having to register for an account on the official Bethesda Softworks forums and post in one of BOSS's official threads, instead anonymously sending the plugin filename together with a link to the plugin's download location and/or a description of the plugin to the BOSS Development Team's unrecognised plugin tracker, so that it can then be added to the masterlist.

The Submit Plugin interface is displayed by clicking on a plugin in the Unrecognised Plugins section of the BOSS Log, but only if your browser supports the feature. If unrecognised plugins are not displayed with a dotted underline which becomes a solid underline when you hover over them with your mouse, then your browser does not support this feature.

Do not use the plugin submitter in conjunction with translation software. Doing so may change the filenames of unrecognised plugins as they appear in the BOSS Log, and so submitting these plugins will result in the BOSS team adding the wrong filenames to the masterlist. Examples of translation software include Babelfish, Google Chrome's translation feature and Google Translate. BOSS's own support for multiple languages does not interfere with plugin filenames, so does not cause this issue.

Display Settings

The Display Settings panel is displayed by clicking on the Display Settings button in the sidebar. In it, you can choose to use the BOSS Log's alternative colour scheme, which is more suitable for reading in low light levels and reduces eye strain, by checking the Use Alternative Colour Scheme checkbox at the top of the panel.

You can customise the colours that are used by the alternative colour scheme for each of the elements listed. If your browser supports placeholders, then the defaults for each element will be displayed as placeholders in their corresponding text box. Colours must be specified using their lowercase hexadecimal codes. If your browser supports form validation, it will inform you of any input mistakes, and your settings will not be applied unless they are all valid.

You can also back up and restore your custom colours in this panel, provided your browser supports the feaure. The colours currently given in the inputs can be backed up by clicking on the underlined back up text button in the paragraph following the inputs. Clicking this button will cause the BOSS Log to generate a file that contains your settings and make it available for your browser to download, at which point your browser's default behaviour for downloading files takes over. Note that your browser will most likely give the settings file a nonsensical name, but you can rename the file to whatever you want, including changing its extension, without breaking anything. You can then restore colour settings from a settings file by dragging and dropping the file into the Display Settings panel: the panel will change colour when you hover over it to tell you that you can drop the file in it. When the file is dropped into the Display Settings panel, its settings will be applied.

Note that to apply any changes you make in the Display Settings panel, you must click the Apply button. If you leave the Display Settings panel without clicking the Apply button, then your changes will be discarded.

Settings Memory

The Settings Memory feature allows the BOSS Log to remember the following settings when you close it, and re-apply them when you next open it:

The settings stored are unique to each BOSS Log, so if you run BOSS for two different games, each BOSS Log's settings will be stored separately. Also, the settings are stored in your browser's cache, so if you clear your browsing data, the settings will be lost, hence why there is a custom colours backup/restore feature available.

Contributions & Help

User contribution of additions and corrections to the masterlist are vital to the upkeep of BOSS. Let us know what you know.

General discussion, and the submission of questions, suggestions and unrecognised or unclean plugins, takes place in BOSS's official threads for Oblivion, Nehrim, Skyrim, Fallout 3 and Fallout: New Vegas.

If your browser supports it, you can also submit unrecognised plugins directly from the HTML-format BOSS Log. This avoids the need for users to register for a new forum account if they do not already possess an account on Bethesda's forums. However, only unrecognised plugins can be submitted this way at this time.

Lists of unrecognised plugins are welcome but the only way we can include them in the database in a timely way is if we get:

Lists of dirty plugins are also very welcome, but for the report to be most useful we require:

The Command Line Interface

BOSS's CLI can be run from the command line, or launched by clicking the BOSS Start Menu link (if you installed BOSS using the installer) or by running the BOSS.exe found in the BOSS folder.

The CLI possesses no means of changing any settings while it is running. Its settings can instead be altered by adjusting the values of settings in the BOSS.ini configuration file, and by supplying command line arguments when launching the CLI.

boss cli
BOSS's CLI in action.

Like the GUI, when the CLI is run it will first look for any supported games. If BOSS is not installed next to a supported game's executable, and more than one supported game is found, then it will present the user with a dialog in the command line window asking the user to select a game to run for, as seen above. Unlike the GUI, it will not offer to run for games that are not detected.

Once a game has been selected (if applicable), the CLI's execution is almost identical to what the GUI does when its Run BOSS button is pressed.

Note: Depending on your operating system and command line application's settings, BOSS's command line text may not display correctly in some languages, eg. Russian on Windows' command line with default settings will be displayed as gibberish. There are ways of getting around the issue, but they are beyond the scope of this documentation. A quick search on the Internet will yield some of these methods, but for the particular case of using BOSS when this occurs, it is recommended that you use the GUI instead, which does not suffer from this limitation.

Command Line Arguments

While the BOSS GUI allows you to specify options using its graphical elements, the CLI uses a combination of the BOSS.ini file and command line arguments to do the same. The syntax for these arguments is: boss [-hVuosdctUl] [-g [game]] [-r [level]] [-v [level]] [-f [type]] [-H [hostname]] [-P [port]] -h [ --help ]

This prints a short description of BOSS and some information on the function of the command line arguments, then exits. -V [ --version ]

Prints the a banner displaying the program name and version number to the command line, then exits. -u [ --update ]

Automatically updates the local copy of the masterlist using the latest version on the Google Code repository, and then sorts your plugins. This behaviour is enabled by default, so the command line parameter will have no effect except when the automatic masterlist updating has been disabled in the ini. -U [ --no-update ]

Inhibits the default automatic masterlist updater, preventing it from running. Must not be used alongside --update,-u. -o [ --only-update ]

Automatically updates the local copy of the masterlist using the latest version on the Google Code repository, and then does not sort your plugins. -g [ --game ] [ game ]

Overrides game autodetection. The valid values of the argument are: Oblivion, Nehrim, Fallout3, FalloutNV, Skyrim and Morrowind. If the game specified is not detected, BOSS falls back to autodetection, unless -o is also passed, in which case BOSS will run successfully whether or not the game is installed. -s [ --silent ]

Stops BOSS from automatically opening up the BOSS Log in your web browser (or text editor, depending on format chosen) after it has finished running. -c [ --crc-display ]

Calculates the CRCs of all the plugins in your Data folder, including OBSE/FOSE/NVSE/SKSE plugins, and displays them in your BOSS Log alongside the plugin names. -f [ --format ] [ type ]

Allows the selection of the BOSS Log format. Valid argument values are: html and text. html is the default output format. The text value will print the BOSS Log as plain text into a 'BOSSlog.txt' file, similar to the BOSS Log in BOSS v1.5 and below. -t [ --trial-run ]

BOSS runs, but no plugins are redated, so your load order is not changed. The BOSS Log still displays the order BOSS would have placed them in, so it is useful for checking what would happen if you ran BOSS on your load order without having to then undo BOSS's changes. -r [ --revert ] [ level ]

Revert to a previous load order. This parameter optionally accepts values of 1 or 2, indicating how many undo steps to apply. If no option is specified, it defaults to 1. A value of 1 will restore the load order to that stored in modlist.txt. A value of 2 will restore the load order to that stored in modlist.old. If the modlist that you are reverting to does not exist, BOSS will cancel the undo and display an error message. The modlist files are not updated when BOSS is run with this parameter. -v [ --verbose ] [ level ]

Specify the verbosity level (0 to 3) of the debugging output. 0 is the default, showing only warning and error messages. 1 (warning, error and informational messages) is implied if this option is specified without an argument. Higher values increase the verbosity further. -d [ --debug-with-source ]

Adds source file references (filenames and line numbers) to debugging statements. -l [ log-debug ]

Logs the debug output to the BOSSDebugLog.txt file instead of the command line. -H [ --proxy-host ] [ hostname ]

Sets the proxy hostname for the masterlist updater. The hostname may be an actual hostname (eg. proxy.company.com), an IP address (eg. 192.168.32.4) or none. none is the default, and is equivalent to there being no proxy. -P [ --proxy-port ] [ port ]

Sets the proxy port number for the masterlist updater. The port number may be any valid port number. 0 is the default, and is equivalent to there being no proxy.

The BOSS.ini

userlist
An example BOSS.ini, as viewed in Notepad.

Users can edit all of BOSS's settings in the BOSS.ini. This is where BOSS gets its settings from when launching the CLI and the GUI. If BOSS is run and it cannot find a BOSS.ini, it will generate a new one with default settings. If the CLI is run with both a BOSS.ini present and command line parameters set, the command line parameters override the settings in BOSS.ini. The ini is split into the following sections:

General Settings

These settings control miscellaneous areas of BOSS's operation outside of the main sorting functionality.

Ini SettingDefaultValid ValuesDescription
bDoStartupUpdateChecktruetrue, falseControls whether or not BOSS's Automatic Updater checks for new releases when BOSS is run.
bUseUserRulesEditortruetrue, falseControls whether the GUI uses the User Rules Editor window to edit user rules or whether it opens the userlist.txt for manual editing.
bCloseGUIAfterSortingfalsetrue, falseControls whether or not the GUI quits after it has run to sort your plugins, update your masterlist or undo changes.
sLanguageenglishenglish, german, russian, spanish, chineseControls the language BOSS uses in its interfaces. Debug log messages are always displayed in English, and very few of the messages attached to plugins have been translated into other languages. While BOSS supports a German translation, it is not yet included. Inclusion of a German translation is planned for a future release of BOSS.

Internet Settings

These settings control how the masterlist updater and GUI auto-updater connect to the Internet. You will probably know if you need to alter them.

Ini SettingDefaultValid ValuesDescription
sProxyHostnameDefault is an empty string.An empty string, hostname (eg. proxy.company.com), IP address (eg. 192.168.32.4)The hostname for the proxy host used, if a proxy is required to connect to the Internet. If no hostname is given, BOSS assumes that no proxy should be used.
iProxyPort0Any valid port number.The port used to connect to the proxy host, if a proxy is required to connect to the Internet. 0 tells BOSS to use no proxy.
sProxyUsernameDefault is an empty string.Any string of characters.The username BOSS uses to connect to the Internet through an authenticated proxy. If no username is given, then BOSS assumes that any proxy used is unauthenticated.
sProxyPasswordDefault is an empty string.Any string of characters.The password BOSS ues to connect to the Internet through an authenticated proxy. If no password is given, then BOSS assumes that any proxy used is unauthenticated.

Run Options

These settings control how BOSS behaves when it runs.

Ini SettingDefaultValid ValuesDescription
sGameautoauto, Oblivion, Nehrim, Fallout3, FalloutNV, Skyrim, MorrowindIf set to something other than auto, this overrides game autodetection. If the game specified is not detected, BOSS falls back to autodetection, unless bOnlyUpdateMasterlist = true, in which case BOSS will run successfully whether or not the game is installed.
sLastGameautoauto, Oblivion, Nehrim, Fallout3, FalloutNV, Skyrim, MorrowindThis setting records the last game that the GUI was run for. If sGame = auto then this setting's value is used to override game selection, providing the specified game can be detected. If the game cannot be detected, or it is set to auto, then game selection occurs as normal.
sBOSSLogFormathtmlhtml, textSpecify the format of the BOSS Log generated.
iDebugVerbosity00, 1, 2, 3The verbosity of the debug logging output. As values increase, so does verbosity. 0 displays only warning and error messages.
iRevertLevel00, 1, 2Specify how many runs of BOSS to undo. 0 tells BOSS to run as normal.
bUpdateMasterlisttruefalse, trueRun the masterlist updater.
bOnlyUpdateMasterlistfalsefalse, trueExit BOSS immediately after running the masterlist updater.
bSilentRunfalsefalse, trueDo not open the BOSS Log automatically after BOSS is finished.
bDebugWithSourceRefsfalsefalse, trueAdd source code references to debug output.
bDisplayCRCsfalsefalse, trueCalculate and display the CRCs of all the plugins in your Data folder, and of OBSE/FOSE/NVSE/SKSE and its installed plugins.
bDoTrialRunfalsefalse, trueRun BOSS and simulate its changes to your load order without actually reordering your plugins.
bLogDebugOutputfalsefalse, trueIf true, debug output is recorded in the BOSSDebugLog.txt file, otherwise it is printed to the command line.

Keeping BOSS Up To Date

It is important that you keep your BOSS installation updated, not only to benefit from the many frequent updates made to the masterlists, but also to benefit from bug fixes, improvements and new features introduced to new releases of BOSS itself.

Providing there is an Internet connection available when BOSS runs, it will automatically download and apply any updates available for the masterlist of the game it is running for by default. BOSS will also check for new releases and if an update is available it will notify the user, displaying release notes if any are available. Additionally, if you installed BOSS using the automated installer, BOSS will ask the user if they wish to update, and automatically download and run the updated version's installer if so. The check for new releases functionality behaves as outlined below:

  1. On launching, it automatically checks for updates to BOSS. If an update is found, it proceeds to the next step. If no update is available, or no Internet connection is present, it will display no message.
  2. No matter how the update check was started, if an update is available it will notify the user, asking whether or not to download and install the update if BOSS was installed using the automated installer. If the user decides not to update, the updater will quit.
  3. If the user decides to update, then it will begin downloading the new installer to the BOSS folder, displaying the progress. If using the GUI, the download can be cancelled at any time, in which case any downloaded file will be deleted and the updater will quit. CLI users can cancel the download by quitting BOSS, but no cleanup will take place.

Under certain circumstances the masterlist and program updaters may be unable to function correctly. If the computer the user has BOSS installed on is not connected to the Internet, the following instructions should be followed to obtain masterlist updates:

  1. Copy BOSS GUI.exe from your BOSS folder to a computer with an Internet connection.
  2. Run BOSS GUI.exe and choose the appropriate game when prompted.
  3. Make sure that the GUI is set to the Update Masterlist Only run option.
  4. If you use a proxy to connect to the Internet, also record your proxy settings in the relevant part of the GUI's Settings window.
  5. Select Run BOSS. The masterlist will be downloaded into a subfolder, named after the game you selected, in the same location as your BOSS GUI.exe. Some other BOSS files will also be created, you can safely delete these.

A rarer circumstance is when the user connects to the Internet using a proxy. This is most common in enterprise environments, and such users will generally know if they use a proxy. If you use a proxy to connect to the Internet, you must either record your proxy settings in the relevant part of the GUI's Settings window or manually enter your proxy settings into your BOSS.ini settings file. See The Settings Window or The BOSS.ini for information on the expected setting values.

There may also be other special cases which cause problems for BOSS's updaters that the BOSS team is unaware of. If you are having issues using the updaters, contact the BOSS team for support.

BOSS program updates are also published at BOSS's Google Code site. For those not using the masterlist updater, the latest masterlist is always on the repository at the same site.

Always make sure to use the latest version of BOSS and the latest masterlist.

BOSS Changes and Files

When running for Skyrim v1.4.26+, the only change BOSS makes to your game install is to re-order the contents of its plugins.txt file, found in the user's local application data folder. When running for any of the other supported games, the only change BOSS makes to your game install is to re-date the .esp and .esm files in your game's Data folder.

If running for Skyrim v1.4.26+, BOSS creates or edits a loadorder.txt file, found in the user's local application data folder. This file forms part of the community's textfile-based load ordering standard, developed for Skyrim to allow the continued sorting of inactive plugins. As it is intended to be shared between modding utilities, it is not removed when BOSS is uninstalled.

If you install BOSS using the automated installer, the installer creates a few Registry entries. These entries are removed when BOSS is uninstalled using its uninstaller.

BOSS stores all its files in the BOSS folder. These are:

Troubleshooting

Although BOSS is simple to use, it has grown to become a relatively complex application. As such, there are some circumstances under which BOSS may not be able to run correctly, due to a variety of possible reasons. In such cases, an error message detailing the problem should be provided. If the program unexpectedly crashes, or you experience a problem for which no error message is given, please report the crash or problem to an official BOSS thread (linked to in the Quick Links section below), so that we may fix it.

If the information below does not help you to solve any problems you are experiencing, please seek further support in one of the official BOSS threads.

General Problems

There are a few general reasons why BOSS may fail to function correctly. Check if any of the symptoms listed below fit your issue.

No change in load order.
If you use Wrye *ash, make sure its BOSS Disable Lock Load Order* setting is enabled.
If you're running BOSS for Skyrim, make sure that you're checking your load order using a utility that's compatible with the textfile-based load order system.
Some plugins have the wrong or no version number given in the BOSS Log.
No solution.
You get an error message of the form There is a problem sending the command to the program.
Windows sometimes does this when it tries to open files in their default application. If you're sure that you have a default program for HTML files set, restarting your computer generally fixes the issue.
A game is installed, but BOSS cannot detect it.
The game's Registry entry is missing. This happens to a lot of people, because Steam likes to remove it whenever the game is updated or its game cache is verified. Run the game's launcher to add the Registry entry back again.
Your browser supports the Settings Memory functionality of the HTML BOSS Log, but all your settings have been lost.
You've emptied your browser's cache, which is where the BOSS Log's settings are stored. If you've lost custom CSS settings, back them up in future. The other things remembered by the BOSS Log can be set back up how you like them in seconds.
When running the BOSS CLI in a non-English language, the text in the command line window is displayed as gibberish.
This is a limitation of the operating system or command line application you are using for the language you are trying to run BOSS in. It is recommended that you run the BOSS GUI instead, which does not suffer from this issue.

Error Messages

If BOSS can detect a specific reason for being unable to function correctly, it will print an error message detailing the problem. BOSS's error messages are listed below, along with details of the issues and possible solutions.

No game detected!
If it is Skyrim that cannot be detected, run Skyrim's launcher to add the Registry entry back again.
If your game was downloaded from Steam, its Verify Integrity Of Game Cache command may add the Registry entry back again.
Otherwise, reinstall your game. All BOSS's supported games create a Registry key that say where the game is installed when they are installed, so if your game's Registry entry is missing, it's not been installed correctly, or has broken since it was installed.
"filename" cannot be found!
Ensure filename exists. If filename is a BOSS Log and you are trying to open it from the GUI, make sure that you have run BOSS at least once with it set to generate the format of BOSS Log you are trying to view.
"filename" cannot be read!
If filename is the masterlist, ensure that the masterlist updater is enabled and run BOSS again to download the masterlist to the correct location.
Ensure filename exists, and that you have read permissions for the file and its parent folders.
filename" cannot be written to!
Make sure that the file, if it exists, is not read-only, and that you have write permissions. See File Permissions for details on how to obtain write permissions on Windows Vista or 7.
"filename" is not encoded in valid UTF-8!
Re-save the file given in the correct "UTF-8" encoding. See International Character Support for instructions.
The order of plugins set by BOSS differs from their order in its masterlist, as one or more of the installed plugins is false-flagged.
See False-Flagged Plugins for more information.
Cannot find online masterlist revision number!
Cannot find online masterlist revision date!
Cannot read list of files to be updated!
cURL cannot be initialised!
cURL's error buffer could not be set! cURL response: "further details".
A cURL option could not be set! cURL response: "further details".
Failed to set proxy type! cURL response: "further details".
Failed to set proxy authentication type! cURL response: "further details".
cURL could not perform task! cURL response: "further details".
Report the issue to the BOSS Development Team.
The modification date of "filename" cannot be read! Filesystem response: "further details".
Ensure filename exists, and that you have read permissions for the file and its parent folders.
"filename" cannot be renamed! Filesystem response: "further details".
"filename" cannot be deleted! Filesystem response: "further details".
The modification date of "filename" cannot be written!
Make sure that the file, if it exists, is not read-only, and that you have write permissions. See File Permissions for details on how to obtain write permissions on Windows Vista or 7.
"directory" cannot be created! Filesystem response: "further details".
Make sure that you have write permissions for the location the directory is being create in. See File Permissions for details on how to obtain write permissions on Windows Vista or 7.
"directory" cannot be scanned! Filesystem response: "further details".
Make sure that you have read permissions for the location that is being scanned. See File Permissions for details on how to obtain write permissions on Windows Vista or 7.
Proxy hostname or port invalid! cURL response: "further details".
Your proxy settings for BOSS are invalid. Correct them before running BOSS again.
Proxy authentication username or password invalid! cURL response: "further details".
Ensure that you have written the correct username and password in BOSS's proxy settings.
Cancelled by user.
You cancelled the process. If that's an issue, this readme will be of little help.
Rule Syntax Error: details of error Please correct the mistake before continuing.
You have attempted to save a user rule (edited or created) which contains invalid syntax. Resolve the error detailed before attempting to save the user rule again.
Parsing of filename failed!
file Parsing Error: Expected a string at: block of text. file parsing aborted.
If you have edited the file, use the information provided to help correct whatever mistake you have made.
If you have not edited the file, report this issue to the BOSS Development Team.
No Internet connection detected.
If you are certain that you do have an Internet connection, it could be because you use a proxy to connect to the Internet. Enter your proxy connection details into the relevant parts of the BOSS.ini and try again.
If you are unsure whether you are using a proxy and are trying to use BOSS in an enterprise environment, contact your network administrator for your proxy details.
If you continue to have difficulty or are not using a proxy, report this issue to the BOSS Development Team.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" includes a sort line in a rule with a FOR rule keyword.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to add a group.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort the group "ESMs".
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort the master .ESM file.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" references a mod and a group.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort a group before the group "ESMs".
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort a mod before the master .ESM file.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to insert a mod into the top of the group "ESMs", before the master .ESM file.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to insert a group or insert something into a mod.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to attach a message to a group.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" has more than one sort line.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" has more than one REPLACE-using message line.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" has a REPLACE-using message line that is not the first message line.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" has a sort line that is not the second line of the rule.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort a mod or group relative to itself.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort a master file before a plugin.
Userlist Syntax Error: The rule beginning "rule keyword: rule object" tries to sort a plugin before a master file.
Correct the issue detailed in the message.

Translating BOSS

This section outlines how a user can translate BOSS and its installer into a language other than English, and how to submit their translation to the BOSS Development Team for inclusion into a future release. It is somewhat more technical than the rest of this readme, out of necessity, but hopefully presented in an accessible manner. You have been warned!

The first point to mention is that BOSS's translation support has a few limitations:

In addition to translations of the BOSS installer and applications, translations of the documentation are also welcome. If you are interested in translating the documentation, you are advised to contact WrinklyNinja as the documentation may have been significantly revised for the next release, and so translating the current release's docs may not be the best course of action.

To have your translation included in BOSS, either submit it as an issue in BOSS's Google Code bug tracker, attaching your translation file(s), or send your translation to one of the active BOSS admins directly (preferably WrinklyNinja). How BOSS team members may be contacted is covered in the Project Members section below. Submitting your translation to BOSS's bug tracker requires a Google account, but is the preferred method.

Translating The BOSS Installer

To translate BOSS's installer:

  1. Download the installer script.
  2. Open the downloaded installer script in a text editor of your choice.
  3. The English strings are located in the section with the heading English Strings. Copy and paste this section into a new text file, and translate the quoted strings, replacing the English text. For the lines beginning VIAddVersionKey, only translate the second quoted string.
  4. Save the text file containing your translated strings.

Translating The BOSS Applications

To translate the BOSS applications:
  1. Download and install the latest version of Poedit.
  2. Download BOSS's translation template file.
  3. If you are updating an existing translation, download the relevant translation file for the language you're interested in:
  4. Open Poedit and select File->Preferences, then in the Editor tab ensure that the checkbox for the Automatically compile .mo file on save setting is checked. Click OK to close the preferences window.
  5. If you are starting a new translation, select File->New catalogue from POT file... and choose the template file you downloaded. In the Catalog properties dialog, just click OK without changing anything.
  6. If you are updating a previous translation, open the translation file you downloaded in Poedit, then select Catalogue->Update from POT file... and choose the template file you downloaded. Click OK in the Update summary dialog.
  7. Edit the translation file to add or update translations of the programs' text. See the Editing The Human-Readable Translation File section below for instructions.
  8. Save the translation file with the filename messages.po in a location of your choosing. This will also create a messages.mo file in the same location.

Editing The Human-Readable Translation File

Poedit gives translators a simple interface through which they can edit translations. The interface is fairly obvious, the strings that can be translated are listed with their original text on the left and their translation on the right. Clicking a string's row will fill in the boxes at the bottom of Poedit's UI. You write your translation of the text in the Source text box into the Translation box, paying attention to any notes that may be given in the Notes for translators box to the right. Strings that were added since the last translation are displayed in bold and dark blue, and strings you have edited the translations of are marked with a star to the left of their source text in the main list.

Some languages may use different words or phrases for different contexts where only one word or phrase may be used for all contexts in English. While no contextual information is supplied to translators by default, it can be added on request. To request the addition of contextual information to a text string, contact WrinklyNinja, quoting the structure that contains the string for which you are requesting contextual information.

Some strings to be translated may contain special characters. Different types of special character that may be encountered are:

Credits

As BOSS is very much a community project, credit is due to a very large number of sources and people outside of the BOSS Development Team. Credit goes to the following for load order information:

Some people have gone out of their way and provided continuing, expert and detailed help - thank you very much! In addition to the above, the following are credited with additional application-related support:

The BOSS programs are written in C/C++ and makes use of the Boost, libcurl, wxWidgets and UTF8-CPP libraries. Without them, the majority of BOSS's features would probably never have been implemented. BOSS also uses an adaptation of Dirk Jagdmann's implementation of the Alphanum Algorithm developed by Dave Koelle for comparing version strings. Finally, BOSS uses various web standards and technologies in its HTML BOSS Log, which are the work of the members of the World Wide Web Consortium and ECMA International.

Project Members

Since June 2009, BOSS has been a collaborative project on Google Code using the Subversion version control system. In alphabetical order, the project members are:

MemberAdminProgrammerMasterlists Member Contributes To
OblivionNehrimFallout 3Fallout: New VegasSkyrim
AliTheLord
Arkangel(Krhanal on Nexus)
Arthmoor
Calen Ellefson(Bethesda Softworks only)
Gabba(Bethesda Softworks only)
iyumichan
Leandro Conde(Bethesda Softworks only)
Loucifer(Linmor on Nexus)
Malonn
PacificMorrowind
Peste(ztrathego on Nexus)
Psymon(Bethesda Softworks only)
Random007
Red Eye(redeye85 on Nexus)
RiddlingLynx(Nexus only)
Sharlikran
SilentSpike(SilentSpike69 on Nexus)
Skyline(skyline99 on Nexus)
Space Oden69(SpaceOden on Nexus)
Televator
Tokc.D.K.(Bethesda Softworks only)
Torrello
Vacuity
Valda
WrinklyNinja
ZiggyX200

Members with greyed-out rows are currently inactive, with no contributions in the last 3 months. Unless otherwise noted, project members can be contacted on the Bethesda Softworks Forums or on The Nexus Forums via the private messaging system.

License

BOSS is distributed under the GNU General Public License v3.0, aside from the documentation, which is distributed under the GNU Free Documentation License v1.3. For the full text of both licenses, see the included Licenses.txt file.

While the GPL license allows anyone to make derivative works of BOSS, the BOSS Development Team encourages those thinking of doing so to first discuss their reasoning for such an endevour with the Team. It may be that what the derivative work would do differently from BOSS itself is already planned for a future version of BOSS or would be happily integrated into BOSS by the Team, thus avoiding any extra effort by others.

The BOSS Team also appeals to the community to avoid the distribution and development of alternative masterlists, as this would only hamper the community effort to create one universally-optimised load order for all plugins available for download. Any issues with a masterlist are best brought to the attention of the BOSS Team so that we may remedy them ourselves.

GNU Free Documentation License Version 1.3 Notice

Copyright (C)  2009-2012  BOSS Development Team
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the file named "Licenses.txt".

Main Site

Official Threads

Due to a 200 maximum post limit, new official threads are created periodically (with the end of one thread usually providing a link to the next), so the links provided may refer to old threads when you read this. Just navigate through to the latest thread to post a message. You must register for free to post messages.

Other Links

Appendices

Appendix A: Introduction To Load Orders

This appendix provides a general overview of load ordering in the games BOSS supports for those who are unfamiliar with the concept. For simplicity, the game will be used when the text refers to any of the games that BOSS supports.

Mod plugins for the game are files that end in .esp or .esm. These files are created by the game's official editing tools, or by third party modders' tools. They contain various data entries, which can either be brand new additions or changes to the entries added by another plugin, including the game's main master file (Morrowind.esm, Oblivion.esm, Nehrim.esm, Skyrim.esm, Fallout3.esm or FalloutNV.esm depending on the game). These entries cover almost all aspects of what is in the game, eg. NPCs, items, races, interiors, worlds, quests, etc.

When the game is run, it loads each of the plugins you have installed one by one. The order in which it loads them is, unsurprisingly, what is referred to as the load order. The load order is important for two reasons:

A plugin which changes the entries added by other plugins is dependent on those other plugins, and the game requires all of the latter plugins to be loaded before the former. If they aren't, the game will crash on launch.

The game can only apply one version of any one entry (this is known as the rule of one). Therefore, when more than one plugin changes the same entry, the load order is used to decide which plugin's changes are applied. Put simply, the last loaded plugin's changes are applied. The one exception to the rule of one is that the contents of cells (the physical space in which your character moves) can be changed by any number of plugins, so different plugins can add objects to cells, move them around or remove them and all will see their changes applied by the game.

By changing the load order, you can change which plugins override and which are overridden, and so reduce detrimental conflicts. You cannot actually reduce how much is overridden through load order alone, but it is often the case that some overrides are acceptable while others cause problems in game. Setting a good load order is the process by which you seek to maximise the former instead of the latter.

Further compatibility between mods is then possible through the use of patches, which are made to address incompatibilities between specific mods, and through the use of Wrye Bash, which can create a Bashed Patch that allows you to select between types of changes for different mods. For example, two mods change a piece of armour, but one changes how it looks and the other changes its effectiveness: through load order alone you could only ever get one change, but using Wrye Bash you can get both, because they change different things in the same armour entry.

There are a few hardcoded rules that trump load order in many cases:

A plugin's position in the load order is often displayed by mod managers as a hexadecimal number, from 00 to FE (0 to 255 in decimal). The plugin with position 00 loads first, and the plugin with position FE is loaded last. Hexadecimal numbers are used to display the load order positions of plugins because these numbers form the first two digits of the code that the game uses to reference the entries that the plugin adds, so knowing the numbers allows modders and mod users to determine from which plugin an entry is from.

That's all that you as a mod user need to know about load orders. If you want to find out more about the actual mechanism by which the game decides the load order, read on.

Morrowind, Oblivion, Nehrim, Fallout 3 and Fallout: New Vegas all share the same mechanism for deciding load order (though Morrowind uses a different file to list its active load order in from the others - but that won't be discussed here). Skyrim, since the 1.4.26 patch, uses a different mechanism.

Load order for Morrowind, Oblivion, Nehrim, Fallout 3 and Fallout: New Vegas is decided by the modification date timestamps of the mod plugins. The active plugin with the earliest date loads first, with plugins being listed in descending date order (earliest to latest). It's a bad idea for a plugin that isn't the game's main master file to load first.

Skyrim's mechanism uses the order that plugins are listed within its plugins.txt file as its load order (from top to bottom). This file is the one in which the list of active plugins is stored, so only active plugins can be strictly said to have a load order. As any further discussion of this and its consequences gets a bit technical, see the BOSS API Readme for more information.

Appendix B: Dirty Edits, Mod Cleaning & CRCs

Dirty edits are often a side-effect of mod creation, and are often due to bugs in the utilities Bethesda has provided to create mods, rather than bad practice by mod authors. Dirty edits can cause a wide range of issues, including incorrect game settings, missing content, broken quests and crashing to desktop. The more dirty edits there are in a mod, and the more mods with dirty edits you use, the more likely you are to experience issues.

Thankfully there is a way to remove dirty edits from mods relatively easily, a process known as mod cleaning, using TES4Edit (for Oblivion), FO3Edit (for Fallout 3), FNVEdit (for Fallout: New Vegas) or TES5Edit (for Skyrim). A detailed set of instructions and information on mod cleaning can be found on the CS Wiki's TES4Edit Cleaning Guide (the page also applies to Fallout 3, Fallout: New Vegas and Skyrim). Wrye *ash can also scan plugins for dirty edits and return their ITM and UDR counts, though at the time of writing it cannot clean plugins itself.

The problem of dirty edits is largely a problem of ignorance on the part of mod authors and users alike of the problems dirty mods can cause. As such, there are community efforts to raise awareness of dirty edits and cleaning. BOSS plays a key role in these efforts, as it holds the complete list of all known dirty mods, and it uses this information to provide notification messages to users for any dirty mods they have installed. There are three key pieces of information that are used to accurately describe and identify an unclean mod. They are:

However, not all unclean mods have all or any of these pieces of information. For unclean mods whose ITM and UDR counts have not been reported, BOSS cannot give them. For unclean mods whose CRCs have not been reported, BOSS cannot give precise notification and so prints a message whether or not the user has cleaned their mod.

BOSS and the modding communities rely on user contribution of this information to progress. For information on how to contribute, see the Contributions & Help section below. If you find that a mod is dirty, you should also report this to the mod's author so that they can fix it.

Note: TES4Edit et al. will include a variety of junk records in the ITM count for a plugin, such as new empty cells that are automatically generated by the Construction Set and are almost impossible to remove. These junk records are non-harmful, and BOSS will inform users when a mod contains these to avoid confusion. This is also the source of any discrepancies between the counts produced by TES4Edit and those produced by Wrye *ash. The latter's counts are more technically accurate, but both are acceptable for use.

There is also another type of unnecessary edit, known as a wild edit, that can also cause problems. These edits are neither Identical To Master edits nor deleted records, so cannot be automatically cleaned. Cleaning must be manually done in TES4Edit/FO3Edit/FNVEdit. BOSS can still check for plugins with these edits if the CRCs of the plugins with wild edits are known, and it can provide notification of these edits and some information on fixing them if they are reported in an official BOSS thread.

Appendix C: False-Flagged Plugins

Whether a mod plugin is a master file or a non-master file is dependent not on its file extension (.esp, .esm), but is instead decided by the value of a setting inside the plugin file, known as its master bit flag. Master files have this set to 1, and non-master files have it set to 0. However, because ESM is an acronym for Elder Scrolls Master, and ESP is an acronym for Elder Scrolls Plugin (even for Fallout 3 and Fallout: New Vegas), most people assume that master plugins are files with .esm extensions, while non-master plugins are files with .esp extensions.

This assumption is valid for the most part, as the vast majority of masters are .esm files, and the vast majority of plugins are .esp files. However, sometimes this is not the case. When a plugin has a .esm extension but has a master bit flag value of 0, or has an extension of .esp and a master bit flag value of 1, the plugin is said to be false-flagged, as its extension does not match its master bit flag value. False-flagged plugins are most common in Fallout 3 due to the use of FO3Edit's Master Update feature, which turns non-master plugins into false-flagged plugins, to avoid bugs that only manifest for non-master plugins.

The distinction between masters and non-masters is important for load order because the game will always load all masters before all non-masters, regardless of whether they are listed or dated (depending on your game) as such by the mechanism used to determine load order. Earlier versions of BOSS, and most if not all mod managers, put all .esm files before all .esp files, but failed to take into account the value of the master bit flag of plugins. As such, the load order they displayed was incorrect, as it failed to take into account the game always loading masters before plugins.

Since the master bit flag can be changed by users, it is not sufficient to update the masterlists to take into account the values of plugin master bit flags in the plugins available for download, as the user may have changed the master bit flag values (eg. using FO3Edit's Master Update). As such, BOSS instead checks that the masterlist used is ordering masters before non-masters, and moves any masters loading after non-masters so that they load before non-masters. If any masters are moved, it then displays a message in the BOSS Log to notify the user of this change. The BOSS Log does not detail which masters were moved.

Appendix D: File Permissions

If you are running Windows Vista or Windows 7, BOSS (and other modding programs) may be prevented from working correctly by the UAC security feature. There are four common workarounds to this problem:

  1. Install the game outside the Program Files (or Program Files (x86) if on 64-bit Windows). UAC prevents unauthorised edits to these folders, so by installing the game outside of them, you remove it from UAC's reach, allowing you to use mods more easily.
  2. Deactivate UAC. This can be done from the Control Panel, and will turn UAC off across the whole of your computer. It is up to you whether you feel that you have adequate security measures in place to do this without risk.
  3. Give yourself Full Control permissions over your game install folder. This will allow you to make any edits you desire while keeping UAC active and on guard for any edits made by programs you do not run, and also means that you do not need to reinstall your game to a new location.
  4. Run BOSS as an Administrator. Right-click the BOSS.exe and BOSS GUI.exe, and select Run as administrator.

For those that wish to take the third option and give themselves Full Control permissions, here is a guide:

  1. Right-click the folder you wish to change the permissions for, and select Properties.
  2. In Properties, select the Security tab, and click the Edit... button. A UAC prompt may appear, simply allow yourself to continue.
  3. In the Group or user names box, select the Users option.
  4. In the lower box, check the box opposite Full Control in the Allow column. Press OK to exit. If a UAC prompt appears, allow the change.
  5. In the Properties window, select OK to exit. You should now have Full Control permissions over your chosen folder.

Appendix E: International Character Support

BOSS provides support for sorting plugins containing characters from any language via the Unicode character encoding, specifically UTF-8. All BOSS's files are encoded in UTF-8 by default. However, if you accidently save a file in another encoding, or need to convert an old userlist to UTF-8, here's how to convert a text file to UTF-8:

A file only needs to be converted to the correct encoding once, thereafter it will continue to save in the correct encoding whenever you edit it.