Mod installation

From OpenMW Wiki
Revision as of 11:34, 4 August 2017 by Darklocq (talk | contribs) (→‎Detailed mod installation instructions: .ACE extractor for Mac & Linux; copyediting)
Jump to navigation Jump to search

Morrowind mods (such as .esm/.esp plugins, texture replacers, mesh replacers, ...) can be installed and used just like in vanilla Morrowind. However, there is an interesting OpenMW-only feature that deserves explanation: multiple data folders.

For a list of mods known to work (or to not work) with OpenMW, see: Mod status.

Multiple data folders

OpenMW supports the use of multiple data folders. The first data folder is typically your Morrowind Data Files folder. Additional data folders can be added by editing openmw.cfg (see Paths for the location of this configuration file). This provides a very easy way to install and uninstall mods:

  • To install the mod, create a data folder for the mod and add its path to openmw.cfg.
  • To uninstall the mod, simply remove the folder from openmw.cfg.

The main advantage to this method is that mods coming with loose files are much easier to organize: if you had simply dumped such mods in your Morrowind Data Files folder, then file conflicts (e.g. the same mesh or texture file being overridden by multiple mods) are much more difficult to handle - files must be merged manually and uninstallation is extremely tedious.

When using multiple data folders, the priority of each mod can simply be changed by moving its data= line in openmw.cfg to a different place. The last data= line has the highest priority (i.e. loads last, and may override material in earlier-loaded mods), and the first listed has the lowest priority.

Detailed mod installation instructions

  • Your mod probably comes in some kind of archive, probably .zip, .rar, .7z or something along those lines. Unpack this archive into its own folder.
    • Ignore instructions in the mod description or ReadMe that say something like "Extract the archive directly into your Morrowind 'Data Files' folder." You want to keep mods in their own folders, and not overwrite original game resources.
    • If the archive is .ace format and you are not using MS Windows, the utility you need is the Python 3 command-line tool acefile W .
  • Make sure the structure of the folder is correct. Some mod archives contain a single Data Files folder and some additional files, others put everything into where they are unpacked, still others put everything which belongs to the mod into a specially named folder and meta files (like readmes) into the folder where the mod is unpacked (plus a few have incorrectly created archives that start at the root level of the modder's hard drive). You need to normalize this:
    • Put all ESPs into the top level of the folder in which you want to put the mod.
    • Put all resource folders into the top level of your mod folder. The relevant folders are BookArt, Fonts, Icons, Meshes, Music, Sound, Splash, Textures and Video. Not every mod contains all of these folders (and actually most mods don't contain most or even any of them), but if they belong to the mod, they must be in its top level.
  • Open your openmw.cfg in your favorite text editor. The location of this file varies by operating system:
    • Linux: $HOME/.config/openmw/openmw.cfg
    • Windows: C:\Users\Username\Documents\my games\openmw\openmw.cfg (username will vary, as may drive and language)
    • Mac: /Users/Username/Library/Preferences/openmw/openmw.cfg (username will vary, as may language)
  • With your editor's search function, search for lines beginning with data= and go to the last one of these lines.
    • If you didn't change the openmw.cfg before, there should be only one such line.
    • If you follow these instructions, all of these lines should end up in a single continuous block.
  • Add a new line below the one you just sought out and make a new entry of the format data="/path/to/your/mod"
    • If your mod's folder is ~/MWMods/TamrielRebuilt you add a line reading data="~/MWMods/TamrielRebuilt"
    • Important: Libraries OpenMW uses ampersand (&) as an escape character. Therefore, this path cannot contain an individual ampersand character. If your path is something like ~/MWMods/Pirates & Parrots either it must be changed (e.g. to ~/MWMods/Pirates and Parrots), or you have to escape the & as &&, as in: data="~/MWMods/Pirates && Parrots". Other characters which may cause issues include the double quotation mark ("), which, while uncommon, is legal to use in paths in some operating systems. This can also be escaped with an ampersand: ~/MWMods/"Suspicious" Quotation Marks Mod to data="~/MWMods/&"Suspicious&" Quotation Marks Mod".
    • Note that a trailing slash is not necessary.
    • Note the double quotes around the path name. These are not optional in Windows! Some users of Linux [1] and MacOS [2] report conflicting results (that quotes are required, that they must be left off, or that they don't matter). To be sure which will work on your system, add a very obvious mod (something you can see immediately and don't have to go look for) with quotes, open the game, and see if it worked. Quotes are the expected behavior, and this inconsistency has been reported as a bug. The most common cause of quotes not working is trying to escape spaces and other characters in the path yourself. Use data="~/MWMods/My Mod", not data="~/MWMods/My\ Mod", or data=~/MWMods/My\ Mod.
    • Do not add quotes around any mod filenames in the content= lines that follow the data= section. You don't need to manually edit anything in this later section.
  • Save your openmw.cfg.

Load order of .esp files

The following steps are only necessary if the mod relies on any .esp files. Simple texture/mesh/whatever replacers most often do not have any .esp files and in these cases the following steps are unnecessary. The readme of the mod often tells you whether .esp files are necessary.

  • Open the OpenMW Launcher.
  • Select a Current Content List, or (usually) accept the current one.
  • Go to the "Data Files" tab.
  • You'll now see a list of .esp/.esm files that OpenMW knows about. Seek out the .esp that belongs to your mod.
  • Drag and drop the .esp to the desired load order position (lower in the list means later loading, thus higher priority).
    • If a .esp has unsatisfied dependencies (because it is too far up in the load order or because the dependency is not installed or is not enabled in the list yet), a warning symbol will be shown to the left of its name.
  • Activate it by turning on the checkbox to the left of the mod's entry.
    • Activating a .esp that has one or more dependencies will activate the mod or mods on which it is dependent, if installed but not yet also activated.
    • "Installed" in this sense means installed in the Current Content List's "Data Files" tab's list; OpenMW has no idea what you have laying around on your hard drive somewhere. This list is built from what you have added to openmw.cfg, plus what (if anything) you have installed the old way (see next section), plus what (if anything) you have created with OpenMW-CS, which saves to a subdirectory of OpenWM's config folder.

You now should be ready to start OpenMW with the newly installed mod.

To check whether your mods of choice work in OpenMW, see Mod status.

The old, hazardous way

If you only want one or two simple mods, or just want to quickly test one, the original way to use mods may be more expedient:

  • Extract the mod archive to its own folder. Ignore instructions in the mod description or readme that say something like "extract the archive directly into your Morrowind 'Data Files' folder." You want to install this carefully, and not overwrite original game resources.
  • Put the .esp file in your Morrowind Data Files folder.
  • Put any supplied resources in the appropriate Data Files subdirectories:
    • If the mod provides something like a Textures/Modname directory, put Modname in the Morrowind Data Files/Textures folder; the mod is expecting them to remain inside that Modname wrapper.
    • If the mod provides some files arranged like Sound/Vo/n/f/Modname_blah_blah1234.mp3, then the Modname_blah_blah1234.mp3 goes in Morrowind's Data Files/Sound/Vo/n/f folder.

If it wants you to overwrite any existing resources, you should probably be using the new OpenMW way to use mods, instead. If you continue, you must back up the original files first, or you will not be able to uninstall the mod, other than by starting with a vanilla copy of Morrowind. Another approach is copy Morrowind entirely, install the destructive mod into the copy, and playtest the copy.

Rarely, a mod may require you to adjust something in Morrowind.conf (not to be confused with openmw.cfg). Make a back-up copy of both of these configuration files first. You then need to re-run OpenMW's configuration import process (this generates a new "Current Content List" and will take settings from the modified Morrowind.conf and write a new openmw.cfg file. If you have made changes directly to other sections of openmw.cfg, you'll need to copy that material back into the new file from the backup you made. If the Morrowind.conf change needed by the mod is simple and obvious, you can simply manually add it to both config files.

Leveled list merging

Sometimes, a mod's readme will say that a tool for merging leveled lists (e.g. Wrye Mash and various other Windows programs) must be used. You cannot use such a mod without potential undesirable side effects, without work, as OpenMW has no leveled-list merging feature. If you're hell-bent on trying it, there are some experimental approaches to merging leveled lists for OpenMW.

There is an OpenMW-specific tool available, jmelesky's Python3-based omwllf (OpenMW Leveled List Fixer). It works with your existing openmw.cfg file, and is in a stable and usable state. See the forum thread for some more details.

Older, more tested tools can be made to work. See the thread here for how to attempt merging with John Moonsugar's Perl-based tool tes3cmd v.0.40pre1 and later. This appears to be tested, but is complicated to use, and is not directly compatible with OpenMW's modern mod installation method of using multiple data directories. (A workaround for that problem – using symlinks in Linux and MacOS – has been discussed here. MacOS aliases do not work; Windows shortcuts are not tested, but probably do not either. However, Windows supports symbolic links at the command line, though these have not been tested for this purpose, either.)