Faced with the task of installing the large list of OpenMW-compatible mods on https://modding-openmw.com/ (because why wouldn't you play OpenMW with hundreds of mods installed?), I did not like the idea of doing everything manually. Unfortunately there seems to be a lack of both native Linux mod managers, as well as mod managers that actually install mods the OpenMW way.
So starting with a small script I found on Github (https://github.com/Korons/openMMM/, author never responded to my pull request), I slowly built on it until I had a tool that could in a single command install any mod on the list with minimal manual configuration.
See the readme on Gitlab for more details and installation instructions.
https://gitlab.com/bmwinger/openMMM
Features
- Mods can be installed directly from archives. OpenMMM automatically detects the location of the data files directory within the archive, as well as optional directories (providing a prompt if multiple are found)
- Automatically updates the openmw.cfg file, adding the data directories, registering bsas, adding esps, esms, omwaddons etc.
- Automatically detects and renames normal and specular textures files to use the _n and _spec suffixes respectively.
- If mlox is in your path, OpenMMM can use it to update the load order (currently just appends omwaddon files onto the end of the list)
(feedback would be appreciated)
- Conflict detection and mod install order editor (dcv combined with openmw-conflicts in the dev branch can be used for conflict detection, plus automatic data directory ordering has been implemented in dev) - Because OpenMW supports multiple data directories this is less tied to the mod installer than in vanilla, so this doesn't necessarily have to be included as part of the mod manager, but there is also no reason why it couldn't. As I don't plan on creating a GUI for the mod manager, this will at the very least use a separate interface.
- Mod repository (In development in the dev branch of the repository) - This would solve a lot of problems, such as mod specific patches which OpenMMM currently has no way of supporting, as well as enabling a fast way of checking for updates and single-command download and install in place of the current two-step process. Supporting Nexus would be more difficult than locations where mods can be downloaded without authentication, but as Nexus Mod Manager is open source it should be feasible.
- CLI version of the Tamriel Rebuilt Patcher (mostly done Now available here), so that it can be run automatically by OpenMMM. This would benefit hugely from a repository as otherwise OpenMMM would just have to run it on everything or guess based on the name of the esps.
Currently OpenMMM only supports Linux, however this does not have to be the case. As it is written in python, and most of the code should run independent of platform, it could certainly be rewritten to run on Windows and OSX.
This is a project that I mainly hacked together as I was installing mods, and as I exclusively use Linux I generally did not spend time trying to ensure that everything would work on other platforms. If someone would be willing to work on getting it running on other platforms that would be ideal, but if there is sufficient interest and someone willing to, at the least, test it on other platforms, I could work on removing the Linux-specific code.
Downloading
The latest release (v1.0.1) can be downloaded here:
https://gitlab.com/bmwinger/openMMM/tags
A package can also be found in the Arch User Repository, for those Arch Linux users out there.
Reporting Bugs
Please report any bugs you find on the GitLab issue tracker.
https://gitlab.com/bmwinger/openMMM/issues
You can also email [email protected] if you don't have a gitlab account.