0 of 0
File information
Last updated
Original upload
Created by
olegblUploaded by
olegblVirus scan
Safe to use
Tags for this mod
Current section
About this mod
D2RMM is a Mod Manager for D2R that allows multiple mods to be installed together without conflicting.
- Requirements
-
This mod does not have any known dependencies other than the base game.
Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You can upload this file to other sites but you must credit me as the creator of the file
- Modification permission You are allowed to modify my files and release bug fixes or improve on the features without permission from or credit to me
- Conversion permission You can convert this file to work with other games as long as you credit me as the creator of the file
- Asset use permission You are allowed to use the assets in this file without permission or crediting me
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are allowed to earn Donation Points for your mods if they use my assets
Author notes
MIT License, so, do whatever you want :)
File credits
Special thanks to Ladislav Zezula for the amazing CascView and CascLib without which this mod manager would not be possible.
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Changelogs
-
-
Version 1.7.2
- Updated CascLib to the latest version.
- Added option to always install mods before running the game.
- Improved error handling.
-
Version 1.7.1
- Added Nexus Mods integration: D2RMM can now download mods from Nexus Mods when using "Mod Manager Download" button (i.e. handles nxm:// protocol).
- Added Nexus Mods integration: D2RMM can now authenticate with Nexus Mods to grant additional functionality (see the settings tab).
- Added Nexus Mods integration: D2RMM can now check for mod updates (assuming the mod set its "website" info field to its Nexus Mods page).
- Added Nexus Mods integration: D2RMM can now download mod updates (or any version of your chosing) for premium Nexus Mods users.
- Added section headers (like separators in MO2) to allow better management of large mod lists.
- Added context menu to mod rows (right click on a mod to get extra actions).
- Added ability to override Nexus Mod ID for mods that do not specify their website origin properly (in context menu).
- Added ability to rename mods (in context menu).
- Added ability to delete mods (in context menu).
- Added clear button to the console tab.
-
Version 1.7.0
- D2RMM has been rearchitected to offload heavy processing to a separate worker thread, which means the UI will no longer lock up when installing mods.
- Improved untrusted mod code sandboxing (vm2 -> quickjs-emscripten). This completely isolates mod execution from the rest of the system in terms of security.
- Added additional protection against mods trying to modify files unrelated to the game.
- D2RMM now has a built-in auto updater (that will update D2RMM when there's a new release on GitHub).
- Mod config sections have new "revert all" and "toggle all" features.
- Improved stack trace printing in logs tab's message preview panel.
- Logs are now also written to d2rmm.log in d2rmm directory.
- Miscellaneous minor UI/UX improvements.
- [BREAKING CHANGE] Due to the sandboxing changes mentioned above, mods are no longer able to access JS APIs that are exclusive to NodeJS (such as Buffer). This also means that the readSaveFile/writeSaveFile APIs had to change to operate on number[] instead.
-
Version 1.6.2
- Fixed relative imports for multi-file TypeScript mods
-
Version 1.6.1
- Added basic support for non-D2RMM data mods. Just put a /data/ folder into a mod folder without any mod.json/mod.js and D2RMM will pick it up. Note that this still has all the same limitations that data mods always do - they will overwrite all other changes for the files they modify.
- Minor improvements to the settings tab for clarity.
- Minor improvements to the logs tab for ease of use.
- Fixed the new save file APIs to respect the "Output Mod Name" setting.
-
Version 1.6.0
- Conflict detection - D2RMM will try to warn when a mod overwrites another mods changes.
- Conflict detection - D2RMM will try to warn when a mod potentially overwrites Diablo 2 update changes. (Mostly for non-D2RMM mods wrapped in a D2RMM shell without being properly ported.)
- D2RMM now tries to automatically determine D2R game directory on first start.
- Files that are extracted but not modified are now deleted to speed up D2 startup.
- Custom output path now correctly modifies save path as well, which helps with multiple parallel D2RMM setups.
- Improved the performance of the log viewer tab, added a search input, added drawer with full log details.
- Mods can now be written in TypeScript for better auto completion and typing.
- Mods can now be split across multiple files using import/export (for TypeScript mods only).
- Mods can now use nested sections in their configuration.
- Mods can now use color pickers in their configuration.
- Mods can now conditionally show/hide configuration fields based on current configuration.
- Mods can now read and modify save files as binary.
-
Version 1.5.0
- Improved debug logging.
- New option to customize the name of the generated MPQ mod / directory, which allows for multiple simultaneous mod configurations.
- Mods are now installed in individual sandboxed VMs, which provides improved security.
- For mod creators: mods now have full access to the global scope (e.g. Object, Array, Error, etc...).
-
Version 1.4.10
- Extra error checking for pre-extracted data directory.
- Don't freeze D2RMM until D2R exits when launching D2R from D2RMM.
-
Version 1.4.9
- Store preferences in application directory instead of %AppData% by default (continue to use %AppData% if preferences already exist there). Storing preferences in the application directory allows you to have multiple independent D2RMM setups. You can force the usage of the application directory to store preferences by adding a file named "ENABLE_LOCAL_PREFERENCES" to the application directory.
-
Version 1.4.8
- Better error handling - especially around bad mod configs.
-
Version 1.4.7
- Visual improvements (better information density, mods search bar, dark mode support).
- Logging improvements (data export, debug logs).
- Explicit uninstall mods button for direct mode.
-
Version 1.4.6
- Redesigned the settings tab.
- Added ability to customize launch arguments for D2R.
- Added section support for mod preferences panel.
- Added logs tab to better display any errors that happen during mod installation.
- Allow customizing the directory used for pre-extracted data.
-
Version 1.4.5
- Added line/column info to error messages when mod installation fails.
-
Version 1.4.4
- Allowed floats in mod options for numbers.
- Improved "mods installed" message to specify how many mods were successfully installed.
- Attempt to open CASC storage with ":" instead of ":osi" if the latter fails.
-
Version 1.4.3
- Added option to output files into the /data/ directory for use with "-direct -txt" (and a dry run option that can help revert any changes made to /data/).
-
Version 1.4.2
- Added option to use pre-extracted data instead of extracting it automatically from the CASC archive.
-
Version 1.4.1
- Added additional error handling that should provide more meaningful error messages when something goes wrong.
-
Version 1.4
- Improved mod settings panels, additional text inputs possible for mods.
- Added new readTxt mod API.
- Added new writeTxt mod API.
- Added new getNextStringID mod API.
-
Version 1.3
- Added "Run D2R" button that automatically launches D2R with the correct command line arguments.
- Improved mod settings panels, additional selector inputs possible for mods.
-
Version 1.2
- Much faster mod installation (by keeping CASC archive open the entire time).
- Improved mod settings panels, additional numeric inputs possible for mods.
-
Version 1.1
- Improved JSON5 parsing allows editing localization files which enables loot filter style mods.
-
Version 1.0
- Initial Release
-
Why D2RMM?
A traditional D2 mod distributes new versions of game files for D2 to use. If two mods wish to modify the same file, they both distribute a new version resulting in a conflict as to which mod’s version to use. D2RMM resolves this issue via a new mod format that describes how D2’s files should be changed. This allows you to include multiple mods together even if they modify the same files (e.g. multiple mods that all add Horadric Cube recipes).
Installation & Usage
Download D2RMM and extract the .zip archive anywhere you want. D2RMM is fully portable and supports multiple parallel installations with independent mod loadouts.
Download and extract mods into the \mods\ directory inside D2RMM’s directory. For example, D2RMM\mods\StackableRunes\mod.jsnv. Or simply use "Mod Manager Download" on Nexus Mods.
Run D2RMM (open D2RMM.exe), switch to the Settings tab and specify your D2R game directory. D2RMM will warn you if the directory is invalid. For example, C:\Battle.net\Games\Diablo II Resurrected
Switch to the Mods tab and customize your mod installation settings. For example, you can enable or disable mods by clicking on them, or tap on the settings button to customize their mod specific preferences. You can drag-n-drop mods to change the load order.
Hit “Install Mods” to have D2RMM compile your mods together and generate a classic D2 (mpq-style) mod.
Launch Diablo 2: Resurrected by using the "Launch D2R" button. Alternatively, you can run D2R with "-mod D2RMM -txt" via Battle.net (like this) or via a custom shortcut (like this).
Finding D2RMM Mods
You can open up the “Requirements” section above to see a list of all the mods that require D2RMM.
Creating Mods
See the documentation and example mods if you want to write your own D2RMM mods.
Source
See the source code on GitHub. You can also download pre-release builds of D2RMM on GitHub.