Help:Tools/UKMM: Difference between revisions
| (29 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
| authors = Nicene Nerd, Ginger | | authors = Nicene Nerd, Ginger | ||
| source = https://github.com/GingerAvalanche/ukmm | | source = https://github.com/GingerAvalanche/ukmm | ||
| license = | | license = GPLv3+ | ||
| written_in = Rust | | written_in = Rust | ||
}} | }} | ||
UKMM ('''UK'''ing '''M'''od '''M'''anager) is an updated mod manager for BotW. It is used to install and uninstall mods, and solves many mod conflicts. It was created to solve bugs that fundamentally couldn't be solved by BCML, due either to limitations in the Python programming language or early design choices in BCML. | UKMM ('''UK'''ing '''M'''od '''M'''anager) is an updated mod manager for BotW. It is used to install and uninstall mods, and solves many mod conflicts. It was created to solve bugs that fundamentally couldn't be solved by BCML, due either to limitations in the Python programming language or early design choices in BCML. | ||
==Why Use a Mod Manager?== | |||
BotW contains about 17,000 archives in its standard form. When those archives are fully and completely decompressed and extracted, the game contains roughly 200,000 files. Most of those 200,000 files contain dozens, even hundreds, of parameters. | |||
If a mod edits just one of those parameters, in one of those files, in one of those archives, then, without a mod manager, that mod will override every other mod that you have that contains that archive. Given that an archive may contain an average of several thousand parameters, you can see how often mods will conflict. | |||
This isn’t even taking into account a special file that BotW has, called the RSTB. The RSTB contains data on almost every one of those 200,000 files, and so almost every mod needs to edit the RSTB. Most mods rely on a mod manager to edit the RSTB, so even if you don’t want to install more than one mod, the odds are still good that the mod you’re installing is assuming you’ll use a mod manager to make it work. | |||
And to top it all off, even if the one mod you want to use includes its own RSTB? That RSTB was probably made automatically, using an outdated tool that generates bad edits for the RSTB. And nobody has ever fixed that tool, because UKMM contains a much more accurate tool for it, that everyone is using anyway. | |||
BotW is not like other games. Manually installing mods is not a simple process for it, 99% of the time. You ''need'' a mod manager. | |||
==BCML or UKMM?== | ==BCML or UKMM?== | ||
| Line 15: | Line 26: | ||
===Why use UKMM?=== | ===Why use UKMM?=== | ||
# It installs BNPs just like BCML does | |||
# It's easier to install | # It's easier to install | ||
# If you're using Cemu, or previously used BCML, it's much easier to set up | |||
# It gives you more control over where your mods are deployed and how they're deployed there | # It gives you more control over where your mods are deployed and how they're deployed there | ||
# It doesn't force a remerge every single time you change anything. You can install 30 mods with UKMM and choose to only merge one time, at the very end, if you want. BCML would go through a long, full remerge process every single time, increasing the amount of time you spent not playing | # It doesn't force a remerge every single time you change anything. You can install 30 mods with UKMM and choose to only merge one time, at the very end, if you want. BCML would go through a long, full remerge process every single time, increasing the amount of time you spent not playing | ||
| Line 35: | Line 48: | ||
==Installation== | ==Installation== | ||
=== Prebuilt program === | |||
Unlike BCML, installing UKMM is simple | Unlike BCML, installing UKMM is simple | ||
# Download the executable archive for your system from [https://github.com/GingerAvalanche/ukmm/releases the current UKMM releases page] | # Download the executable archive for your system from [https://github.com/GingerAvalanche/ukmm/releases the current UKMM releases page] | ||
# Extract the executable from the archive to just about anywhere on your computer | # Extract the executable from the archive to just about anywhere on your computer | ||
# Run the executable | # Run the executable | ||
=== Building from source === | |||
If for some reason the prebuilt binaries don't work for you, or you just want to build it for your own personal reasons, here are the exhaustive directions for doing so | |||
# Install Rust: you can do this on Linux and macOS by opening a terminal and running the command <code>curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs | sh</code> - what this does is download the <code>rustup</code> tool for managing and building Rust applications. It will ask you to enter a number, 1-3. You want to type 1 and then hit enter. You can do this on Windows by using the setup exe located [https://www.rust-lang.org/tools/install here] | |||
# Install CMake: you can do this on macOS by installing the dmg for your system, on Linux by running the sh for your system, and on Windows by installing the msi for your system, all available from [https://cmake.org/download/ here]. On macOS, you may also need to run the terminal command <code>sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install</code> to allow Rust to use CMake. | |||
# Download the source code (either zip or tar.gz) from the latest release on [https://github.com/GingerAvalanche/ukmm/releases the releases page] | |||
# Extract the source code somewhere. It doesn't matter where. It could be on your desktop, if you want | |||
# Go into the folder. You know you're in the folder when you see things like <code>assets</code>, <code>book</code>, <code>crates</code>, <code>src</code>, etc in your finder window | |||
# - On macOS, control-click the folder name in the path bar, and select Open in Terminal (If the path bar isn't visible, select View -> Show Path Bar). On Steam Deck, open Konsole and then use the <code>cd [path]</code> command (replace <code>[path]</code> with whatever is in the path/address bar in step 5). On Windows, shift-click in empty space inside the folder and select Open PowerShell window here. | |||
# Enter the command <code>cargo build --release</code> - wait for it to finish. This might take a while | |||
# Go into the <code>target</code> folder | |||
# Go into the <code>release</code> folder | |||
# Run the file called <code>ukmm</code> | |||
==Setup== | ==Setup== | ||
There are three methods of setup, depending on whether you are coming from BCML or not, and if not, if you are using Cemu and have set it up already | |||
===Importing from BCML=== | ===Importing from BCML=== | ||
If you previously used BCML and it worked for you, congratulations! Your job is easy. Go to the Settings tab, click '''Migrate from BCML'''. Wait for it to finish. There you go! All done! | If you previously used BCML and it worked for you, congratulations! Your job is easy. Go to the Settings tab, click '''Migrate from BCML'''. Wait for it to finish. There you go! All done! | ||
===General=== | ===Not importing from BCML, using Cemu=== | ||
You should have a [[Help:Dumping_games|dump]] of your game on your computer. If you do not, go dump your game and come back. | If you're using Cemu and you've previously seen the 1.5.0 version number in the bottom right of the BotW main menu, just click '''Import Cemu Settings''' inside the Wii U Config section, and select the folder that contains Cemu.exe. There you go! All done! | ||
===Manual Setup=== | |||
If neither of the two previous sections applied to you, then you'll need to set UKMM up manually. | |||
====General==== | |||
You should have a [[Help:Dumping_games|dump]] of your game on your computer. If you do not, go [[Help:Dumping_games|dump]] your game and come back. [[Help:Dumping_games|Help:Dumping_games]] | |||
{| class="wikitable" | {| class="wikitable" | ||
!Setting | !Setting | ||
| Line 72: | Line 109: | ||
|} | |} | ||
===Game Dump=== | ====Game Dump==== | ||
{| class="wikitable" | {| class="wikitable" | ||
!Setting | !Setting | ||
| Line 81: | Line 115: | ||
!What you should set it to | !What you should set it to | ||
|- | |- | ||
|Game Dump | |Game Dump (Only WiiU) | ||
|How your game files are stored, as an unpacked collection of loose files or as a WUA | |How your game files are stored, as an unpacked collection of loose files or as a WUA | ||
|Self-explanatory | |Self-explanatory | ||
|- | |- | ||
|Base Folder ( | |Base Folder (WiiU Unpacked) | ||
|Where you store your Base Game dump. | |Where you store your Base Game dump. | ||
|The folder named <code>content</code> inside your game dump. Should look like <code>C:/some/path/content/</code>, where <code>C:/some/path</code> is something only you know. | |The folder named <code>content</code> inside your game dump. Should look like <code>C:/some/path/content/</code>, where <code>C:/some/path</code> is something only you know. | ||
|- | |- | ||
|Update Folder ( | |Base with Update Folder (Switch) | ||
|Where you store your Base with Update Game dump. | |||
|The folder named <code>romfs</code> inside , inside the <code>01007EF00011E800</code> folder in your game dump. Should look like <code>C:/some/path/01007EF00011E800/romfs</code>, where <code>C:/some/path</code> is something only you know. | |||
|- | |||
|Update Folder (WiiU Unpacked) | |||
|Where you store your Update dump. | |Where you store your Update dump. | ||
|The folder named <code>content</code> inside your update dump. Should look like <code>C:/some/path/content</code>, where <code>C:/some/path</code> is something only you know. | |The folder named <code>content</code> inside your update dump. Should look like <code>C:/some/path/content</code>, where <code>C:/some/path</code> is something only you know. | ||
|- | |- | ||
|DLC Folder ( | |DLC Folder (WiiU Unpacked) | ||
|Where you store your DLC dump. | |Where you store your DLC dump. | ||
|The folder named <code>0010</code>, inside the <code>content</code> folder in your DLC dump. Should look like <code>C:/some/path/content/0010</code>, where <code>C:/some/path</code> is something only you know. | |The folder named <code>0010</code>, inside the <code>content</code> folder in your DLC dump. Should look like <code>C:/some/path/content/0010</code>, where <code>C:/some/path</code> is something only you know. NOTE: DO NOT END THIS PATH WITH <code>content</code>, IT WILL NOT WORK. END THE PATH WITH <code>0010</code>! | ||
|- | |- | ||
|WUA Path (Only WUA) | |DLC Folder (Switch) | ||
|Where you store your DLC dump. | |||
|The folder named <code>romfs</code>, inside the <code>01007EF00011F001</code> folder in your DLC dump. Should look like <code>C:/some/path/01007EF00011F001/romfs</code>, where <code>C:/some/path</code> is something only you know. The <code>01007EF00011F002</code> dump is not needed. | |||
|- | |||
|WUA Path (Only WiiU WUA) | |||
|Where you store your game WUA. | |Where you store your game WUA. | ||
|The path to your BotW WUA file. This is something only you know. | |The path to your BotW WUA file. This is something only you know. | ||
| Line 104: | Line 146: | ||
If using Cemu, the three unpacked path folders can be found by right-clicking on the game in the game list and selecting the appropriate option. For Base and Update, use the <code>content</code> folder. For DLC, use the <code>0010</code> folder inside the <code>content</code> folder. | If using Cemu, the three unpacked path folders can be found by right-clicking on the game in the game list and selecting the appropriate option. For Base and Update, use the <code>content</code> folder. For DLC, use the <code>0010</code> folder inside the <code>content</code> folder. | ||
===Deployment=== | ====Deployment==== | ||
{| class="wikitable" | {| class="wikitable" | ||
!Setting | !Setting | ||
| Line 124: | Line 166: | ||
|Deploy rules.txt (Only WiiU) | |Deploy rules.txt (Only WiiU) | ||
|Deploys a manifest file which allows Cemu to detect the UKMM files | |Deploys a manifest file which allows Cemu to detect the UKMM files | ||
| | |Check it if you are using Cemu. Do not check it if you are not using Cemu. | ||
|- | |- | ||
|Output Folder | |Output Folder | ||
|Where to deploy the merged mod files to, for you to use | |Where to deploy the merged mod files to, for you to use | ||
|See the following list | |See the following list | ||
|- | |||
|Emulator Executable (optional) | |||
|The command to use to run open your emulator when using the Open Emulator button | |||
|The path to your emulator executable | |||
|- | |- | ||
|} | |} | ||
| Line 136: | Line 182: | ||
* SD cards for WiiU: <code>X:\sdcafiine\00050000101C9?00</code> (where X is the SD card drive letter, and ? is 4 for the US version, 5 for the EU version, 3 otherwise) | * SD cards for WiiU: <code>X:\sdcafiine\00050000101C9?00</code> (where X is the SD card drive letter, and ? is 4 for the US version, 5 for the EU version, 3 otherwise) | ||
* SD cards for Switch: <code>X:\atmosphere\contents</code> (where X is the SD card drive letter). Do not put a title ID, UKMM adds title IDs in Switch mode | * SD cards for Switch: <code>X:\atmosphere\contents</code> (where X is the SD card drive letter). Do not put a title ID, UKMM adds title IDs in Switch mode | ||
* Cemu: | * Cemu: Click '''File -> Open Cemu folder'''. Go into the folder called <code>graphicPacks</code>. Use this folder. | ||
* RyujiNX: Right-click on BotW in the game list -> Open Mod directory. In the folder that opens, go up one folder, to the <code>contents</code> folder. Use this folder. | * RyujiNX: Right-click on BotW in the game list -> Open Mod directory. In the folder that opens, go up one folder, to the <code>contents</code> folder. Use this folder. | ||
* Yuzu (and derivatives): Right click on BotW in the game list -> Open Mod Data Location. In the folder that opens, go up one folder, to the <code>load</code>. Use this folder. | * Yuzu (and derivatives): Right click on BotW in the game list -> Open Mod Data Location. In the folder that opens, go up one folder, to the <code>load</code>. Use this folder. | ||
| Line 155: | Line 201: | ||
* '''Deploy tab''': Contains information about the deploy method and folder, and a button to deploy merged mods to the output folder. NOTE: Button only appears if Auto Deploy is turned off. | * '''Deploy tab''': Contains information about the deploy method and folder, and a button to deploy merged mods to the output folder. NOTE: Button only appears if Auto Deploy is turned off. | ||
* '''Pending Changes''': Review file changes if you'd like, use the Apply button to merge. NOTE: You don't have to merge every time you change anything. Change whatever you want to change, then Apply once. | * '''Pending Changes''': Review file changes if you'd like, use the Apply button to merge. NOTE: You don't have to merge every time you change anything. Change whatever you want to change, then Apply once. | ||
==No, really, how do I use it?== | |||
[[File:Ukmm-2.png|300px]] [[File:Ukmm-3.png|300px]] [[File:Ukmm-6.png|300px]] [[File:Ukmm-4.png|300px]] [[File:Ukmm-5.png|300px]] | |||
==Known Issues== | ==Known Issues== | ||
* Certain mods distributed as BNPs | * Certain mods distributed as BNPs will not install with UKMM, due to how they were made. If you find one, please contact Ginger. | ||
* Certain mods distributed as BNPs that add lots of the same thing very close to each other on the map may be missing some of those things. A fix is currently being worked on. | |||
If you can provide in-depth support to the developers on how to cause any of these issues, please [https://discord.gg/vPzgy5S contact Ginger on the discord]. This would go a long way toward fixing them. | |||
==FAQ== | ==FAQ== | ||
=== | ===What's the difference between merge/Apply and Deploy?=== | ||
"Apply" and "merge" (or, "applying the merge") both mean to take the mods you have installed and combine them into one single mod. "Deploy" means to take the combined files and put them in the output folder. | |||
If you' | UKMM splits these two concepts for multiple reasons. Maybe you want to merge a new set of mods and make sure there are no merge errors before you overwrite your deployed files. Maybe you have your output folder set to your SD card and want to merge while you look for your SD card, then plug it in to deploy. There are many reasons you might want these two operations separated. | ||
If you don't want the operations separated, turn the Auto Deploy setting on, and it will always deploy right after merging (similar to what BCML did) | |||
===Why does it say it can't find files in my dumps?=== | |||
Your dump paths are probably set wrong. Go back up to [[Help:Tools/UKMM#Game Dump|the game dump section]] and make sure you've followed the directions correctly. | |||
If you're absolutely sure your game dumps are set right, check to make sure your dumps haven't been corrupted somehow. If the file UKMM claims is missing, really is missing, then you may have to dump your game again. | |||
===Why don't my mods show up in my emulator after deploying?=== | |||
Make sure you're using the most up to date version. Go back up to [[Help:Tools/UKMM#Install|the installation section]] and make sure you've followed the directions correctly. | |||
Make sure your deploy folder is set correctly. Go back up to [[Help:Tools/UKMM#Deployment|the deployment section]] and make sure you've followed the directions correctly. | |||
If your mods still don't show up in your emulator, make sure that the location they're being deployed to isn't managed by OneDrive. It will delete them because it sucks. Consider uninstalling OneDrive, but at the very least, you'll need to tell it not to manage where you deploy to. | |||
===Do I really need a game dump?=== | ===Do I really need a game dump?=== | ||
| Line 189: | Line 255: | ||
===Why aren't all BNPs compatible?=== | ===Why aren't all BNPs compatible?=== | ||
Some BNPs were made for BCML by directly editing log files, or by adding files to a game dump before generating the BNPs. Neither of these things were ever supported for BCML, and only worked by accident. Work is in progress to fix this in UKMM, but until then, certain BNPs cannot be installed with UKMM. If the mod has a regular graphic pack or loose file version, install that instead. Otherwise, bug the mod author about making their mods correctly. | Some BNPs were made for BCML by directly editing log files, or by adding files to a game dump before generating the BNPs. Neither of these things were ever supported for BCML, and only worked by accident. Work is in progress to fix this in UKMM, but until then, certain BNPs cannot be installed with UKMM. If the mod has a regular graphic pack or loose file version, install that instead. Otherwise, bug the mod author about making their mods correctly. | ||
===Why can't UKMM detect my dump paths for consoles/Yuzu/Ryujinx?=== | |||
When you dump your game files to your PC, they go wherever you put them. There's no single location for it, so UKMM can't find it unless it scours the entirety of your computer (which would take forever and still probably not work). | |||
Yuzu and Ryujinx don't use loose files to play the game, like Cemu does. They use XCI, NSP, or whatever other format, and UKMM can't read those, because there is no library for it. So UKMM could scan your Yuzu/Ryujinx settings for where your game/update/dlc archives are, but it wouldn't be able to do anything with them. | |||
===Why does UKMM say "no platform for update"?=== | |||
It can't detect what operating system you're using, in order to determine which version of the executable to download. Support for this feature is ongoing. You can just download the new version manually, from the link above in the [[#Prebuilt_program]] section. | |||
===Why is UKMM so hard to use?=== | ===Why is UKMM so hard to use?=== | ||