-
Notifications
You must be signed in to change notification settings - Fork 72
Mod Organizer 2
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: steamtinkerlaunch also has built-in support for Vortex Mod Manager
MO2 is windows only, but steamtinkerlaunch 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, using an automatically picked/downloaded DotNet compatible Wine/Proton version
- the Wineprefix/Compatdata path can be configured in Global Menu
- 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
- (NOT READY: or by silently load the game with MO2 mods enabled)**
MO2 can be installed via Command Line by using
-
steamtinkerlaunch mo2 install
orsteamtinkerlaunch mo2 i
(to only install it)
When starting MO2 via Command Line (steamtinkerlaunch mo2 start
or steamtinkerlaunch mo2 s
),
Extra Button or Tray-Icon,
althout it is not installed yet, it is automatically installed and all above automations are applied before it is started._
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 steamtinkerlaunch of course)
-
Standalone Mode:
steamtinkerlaunch mo2 start
orsteamtinkerlaunch 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, - (NOT READY: 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
per game in the Game Menu/Game Configsilent
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 DotNet is not automatically installed into that pfx by steamtinkerlaunch, so MO2 likely is started with built-in Mono.
When starting MO2 via Command Line (steamtinkerlaunch mo2 s
),
Extra Button or Tray-Icon,
MO2 is started in standalone mode in its own Wineprefix/Compatdata
with its own Proton Version.
DotNet is automatically installed into this pfx when MO2 is installed
using automatically picked/downloaded DotNet compatible Wine/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, steamtinkerlaunch has several configuration options for MO2 (with own MO2 Category Menu)
- the default standalone Compatdata path can be configured (default is regularly
~/.config/steamtinkerlaunch/mo2/compatdata/
) - the Proton Version for the standalone mode can be configured (default is a DotNet compatible Proton. Please read the link before changing the Proton version, as it might break dotnet compatibility!)
- 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
steamtinkerlaunch 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
steamtinkerlaunch 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 steamtinkerlaunch installation (regularly in /usr/share/steamtinkerlaunch/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 doesn't start? (maybe dotnet related -see #Notes)
For troubleshooting/reporting a bug you might want to do the following clean test: for a clean test do the following:
- rename
~/.config/steamtinkerlaunch
# to make sure no changed configuration conflict - delete
/dev/shm/steamtinkerlaunch
recursively # to make sure temp files do not conflict steamtinkerlaunch mo2 start
- wait, many things happen under the hood, so be patient. the more modable games are installed, the longer it takes.watch the status windows. you might also want to read the steamtinkerlaunch wiki for vortex meanwhile (again)
- either see mo2 start or check/upload at least the just created
steamtinkerlaunch.log
in/dev/shm/steamtinkerlaunch/
(installDotNet.log
might be interesting as well)
MO2 regularly uses dotnet (4.8) Apart from several (minor/cosmetical?) warnings, it seems to work fine though with preinstalled mono. When MO2 is installed into its own standalone Compatdata, steamtinkerlaunch automatically/by default uses an own DotNet compatible Proton version for the pfx and also installs DotNet automatically.
Quick Links
- Changelog
- Installation
- Usage
- Main Menu
- Global Menu
- Tray Icon
- Modding
- Platform-Specific Documentation
- Tweaks
- Utilities
- Advanced