-
Notifications
You must be signed in to change notification settings - Fork 72
Mod Organizer 2
!!! some functions are currently WIP - see here !!!
Mod Organizer 2 (MO2) is a mod manager for multiple games (mostly for mods from nexusmods).
It is the predecessor of the Vortex Mod Manager and is still actively developed by the open source community.
site-note: stl also has built-in support for Vortex Mod Manager
MO2 is windows only, but stl tries to close this gap as good as possible by seamlessly integrating it using Wine/Proton without any configuration required.
All processes are zero-config and fully automated:
- download of the latest version
- installation into an own Wineprefix/Compatdata
- find all supported installed games from Steam
- by autogenerating an own
libraryfolders.vdf
pointing to all real Steam Library Paths - by creating registry entries pointing to to game dirs (if required - most Bethesda games)
- by autogenerating an own
- create and update symlinks for all found game config directories of all found games in the SteamUser directory
- create initial MO2 instances for every found game
- create and update the nxm-protocol mime type for directly opening nxm with MO2 (renaming that from Vortex when found)
- every supported game can start MO2 with its own instance directly from steam before starting the game
- either by starting the MO2 gui
- or by silently load the game with MO2 mods enabled
(a successful test via stl mo2 s
(the command for starting MO2)
without any stl or MO2 installation or configuration
did all steps above automatically and preconfigured all 26 MO2 supported games installed here ootb, but you're welcome to find and report bugs of course :))
MO2 can be installed via Command Line by using
-
stl mo2 i
(to only install it) -
stl mo2 s
(to install, configure all above automations and start it directly)
MO2 can be started either in regular Game Mode or in Standalone Mode
- Game Mode: Drag a supported game into a (self created) "MO2" Steam Category & start the game (using stl of course)
-
Standalone Mode:
stl mo2 s
When MO2 is started through a regular game launch via Steam, it is started in "Game Mode", means
- if using the
gui
MO2 Mode, the game can be started from inside the MO2 gui, - if using the
silent
MO2 Mode, the game is started automatically with the enabled mods applied silently using MO2
The game mode can be enabled by setting the MO2 Mode to either gui
or silent
per game in the Game Menu/Game Config
or by simply dragging a supported game into a MO2
Steam Category (see MO2 Modes)
(which will set the MO2 Mode automatically to gui
)
In "Game Mode" MO2 is started inside the game Wineprefix/Compatdata using the same Proton Version like the game.
When starting MO2 via Command Line (stl mo2 s
)
(and possibly later via Extra Button or Tray-Icon),
MO2 is started in standalone mode in its own Wineprefix/Compatdata
with its own Proton Version
In standalone mode MO2 is started as gui
automatically, and starting any game from inside MO2 instance is not possible.
This mode is only meant to configure mods for one or multiple games - not to start one!
It is not recommendable to press the Start
button in this mode, because the start attempt will use the MO2 Compatdata !!
No matter which mode is used, all MO2 data (configs, downloads...) are stored in the MO2 Compatdata and just symlinked into the game Compatdata when using the "Game Mode".
Although being zero-config, stl has several configuration options for MO2 (with own MO2 Category Menu)
- the default standalone Compatdata path can be configured (default is regularly
~/.config/stl/mo2/compatdata/
) - the Proton Version for the standalone mode can be configured (default is that from default template config)
- the start mod of MO2 can be enabled per game - see MO2 Modes
- the timeout
WAITMO2
of the requester asking if and how MO2 shall be started before the game start can be configured per game - see MO2 Requester
stl offers several modes to use MO2 which can be set per game in the Game Menu/Game Config
the mode (MO2MODE
) can be either
-
disabled
(default - MO2 is not used) -
gui
(MO2 is started as a gui) -
silent
(the game starts directly with MO2 applying enabled mods silently - if no mod is enabledgui
mode is forced)
(when using the MO2
Steam Category, the Mode is set to gui
)
If the timeout value WAITMO2
is greater 0 (default is 2) and MO2MODE
is not disabled
, a requester will open when starting the game with following options:
-
MO2 GUI
(set theMO2MODE
mode togui
for this run - so start the MO2 gui before launching the game) -
MO2 SILENT
(set theMO2MODE
mode tosilent
for this run - so start the game with silently applying enabled mods using MO2) -
CANCEL
(set theMO2MODE
todisabled
for this run)
! If the requester timeouts, the mode is automatically set to MO2 SILENT
for the following reasons:
- if starting a game via VR, the user can seamlessly start the game without having to interact with the gui.
- if using the
MO2
Steam Category, it is still possible to apply mods silently, by letting the requester timeout
There are several more MO2
Command Line options besides those mentioned above.
As there is no (?) official way to list all games supported by MO2 with its name and SteamAppID
stl ships and utilizes an own hardcoded list with supported games to make above automations even possible, which includes
two variants of the game name, the SteamAppID and the Nexusmods gamename (used to categorize the nxm downloads)
The file can be found in the global misc dir of the stl installation (regularly in /usr/share/stl/misc/mo2games.txt
)
and needs to be updated when MO2 adds support for new games, or when a SteamAppID is missing in the list (some games have different ids in different countries)
MO2 regularly uses dotnet (4.8) Apart from several (minor/cosmetical?) warnings, it seems to work fine though with preinstalled mono, so dotnet48 is not automatically installed when creating the standalone Compatdata
Quick Links
- Changelog
- Installation
- Usage
- Main Menu
- Global Menu
- Tray Icon
- Modding
- Platform-Specific Documentation
- Tweaks
- Utilities
- Advanced