File | Date | Author | Commit |
---|---|---|---|
Documentation | 2017-10-31 |
![]() |
[29bc06] Documentation update |
data | 2017-10-15 |
![]() |
[23bbde] mlox_base update russian variants |
mlox | 2018-02-15 |
![]() |
[9a90f1] ConfigHandler: Handle more exceptions when rea... |
test | 2017-11-26 |
![]() |
[4d8a5b] update.py: Use either libarchive or 7za to ext... |
util | unknown | ||
.gitignore | 2017-10-23 |
![]() |
[a8486b] Update gitignore |
License.txt | unknown | ||
README.md | 2017-11-26 |
![]() |
[93d93e] resources.py: Now use appdata (or equivalent) ... |
VERSION | 2017-09-11 |
![]() |
[7fa80a] Updated Mlox version to 0.62 |
mlox is a tool for analyzing and sorting your Morrowind plugin load order.
Version: 0.61
Copyright 2014-2017 MIT License
* John Moonsugar
* Dragon32
* Arthur Moore
mlox is a mini "expert system" for advising you on your set of plugins.
Use mlox to check for plugin dependencies and conflicts, and to sort your plugins into an optimal load order.
mlox is designed to help people manage large collections of plugins for the popular Elder Scrolls games from Bethesda Softworks.
The program sorts plugins based on a very simple set of ordering rules that comprise a partial order over the set of plugins using a standard topological sort.
It also provides advice on plugin conflicts, missing pre-requisites, and general information of interest based on the user's particular set of plugins.
mlox_user.txt
in your mlox directory, and start adding your own rules.Note: mlox does not tell you if you have missing Meshes or Textures, it is only a load order tool, and does not report problems with resources!
The latest stable version of mlox can be found here, and the source code can be found on github.
Unpack the mlox application archive in your Morrowind directory. You should see an mlox directory in the same directory as Morrowind.exe.
If Mlox does not run you may need the Microsoft Visual C++ 2008 Redistributable Package (vcredist_x86.exe).
Mlox versions 0.59 and higher automatically download the latest rules file.
Please do not edit this file!
Users can instead put their own additions in mlox_user.txt
Windows users can run the program by clicking on mlox.exe
. Linux users can either click on mlox.py
or type python mlox.py
on a command line.
WARNING: Mlox requires that it's directory is writable. Otherwise database updates will fail.
mlox.py has 2 modes, GUI and command line. When executed with no command line switches it starts in GUI mode.
For information on specific commands use mlox -h
.
Note: On Windows Visa and later, if you installed Morrowind in the default location "C:\Program Files\...", you may need to turn off UAC to get mlox to recognize your activated plugins in Morrowind.ini.
Mlox is written using Python3, using a PyQt5 graphial interface.
As such, both Python3 and PyQt5 are required.
Several other small libraries are also needed for full functionality.
pip3 install PyQt5 libarchive-c appdirs
python3 mlox.py
It is STRONGLY RECOMMENDED that you install Hrnchamd's MCP "Morrowind Code Patch!"
The MCP makes it safer to change your load order in an existing savegame, amongst many other wonderful fixes it does.
You are also encouraged to use Wrye Mash to manage your plugins.
mlox allows you to customize your load order by adding your own sorting rules to a file called mlox_user.txt
, in your mlox directory.
Then, all you need to do to get your load order re-sorted correctly is press the update button in mlox.
You can add any of mlox's rules to mlox_user.txt
, but for people that want to customize their load order, the [Order]
rule is probably all that is needed.
Here is a simple example:
Let's say you want to make sure that mlox always puts plugin "Foo.esp" before "Bar.esp". Just create a simple text file called "mlox_user.txt" in your mlox directory (using Notepad or whatever) containing the following:
[Order]
Foo.esp
Bar.esp
From now on, when you press the mlox update button, mlox will make sure that this is the order for those two plugins. Note that the [Order]
rules in mlox_user.txt (your personal rules) take precedence over the rules in mlox_base.txt.
You should also be aware that the [Order]
rule only specifies relative order, so in the example above, it does not mean that Foo.esp must come immediately before Bar.esp, only that Foo.esp must load somewhere before Bar.esp.
The complete documentation for mlox can be found in the Doucmentation directory.
If you run into a problem with mlox, please open a support ticket here.
mlox can only succeed if you share your knowledge about plugin load order, conflicts, and pre-requisites!
Your contributions will help other players that follow in your footsteps.
You can help contribute to mlox by sharing information about a mod here.
The mlox project welcomes all submissions of information for inclusion in the mlox rule-base, but the more information you can give when you make the submission, the more likely your submission will be used. Information that lacks detail or is of low quality will be given the lowest priority. Which means it may only get investigate for inclusion if time permits.
So, please try to include:
If you have solid knowledge of load order issues, and you'd like to be able to contribute to the rule-base by editing it directly, please submit a pull request on github.
Editors of the rule-base should read the Editing Guidelines, which explain how the editing process works.
Glory awaits you my friend.
It is our hope that the users of your mod will benefit from using mlox, and also that maybe mlox will help reduce mod conflicts, and support questions for your mod due to misconfiguration.
This is a grand goal, and there are some things we can do together to see it happen.
The first thing is versioning of your mod.
If mlox can tell what version of your mod the user is using, it can give more accurate advice.
mlox can get the version of a plugin from its header description field (preferred), or from the plugin filename.
So, if the filename stays the same from version to version, then if the description field of the plugin contains a version string on a line by itself mlox will be able to use it.
Wrye Mash can report that version too, so it's just a generally useful thing to have in the description
Example version string:
Version: 0.57
mlox can also tell the version from the filename.
Example verioned file name:
Plugin_V1.0.esp
The next thing is teaching mlox about your mod.
Please see the section about adding rules to mlox for how to submit a rule.
The more mlox knows, the more useful it is, and people will have fewer load order problems.