The Modpack Debugger Kit is a Python application designed to help creators of modpacks easily find mods causing crashes along with various small other helpful features.
- Project Management: Save and load project configurations, including mod folder path and dependency rules.
- Mod Folder Snapshotting: Create a snapshot of your current mod list to easily detect new additions.
- New Mod Detection: Automatically identify which mods have been added since the last snapshot.
- Binary Search Debugging: Automate the process of splitting your mod list into testable groups to isolate problematic mods quickly.
- Mode 1 (All Mods): Debug the entire modpack using a binary search.
- Mode 2 (Specific New Mods): Focus the search only on recently added mods.
- Dependency Awareness: Maintain a list of mod dependencies to ensure essential libraries are always included in the test group of their dependent mods.
- Modrinth Dependency Syncing: Automatically bind mods to their dependencies via the Modrinth API instead of having to do it manually.
- Hanging Library Detection: Identify library mods that remain in the folder but are no longer required by any main mod (useful for cleanup).
- Theming: Toggle between dark and light themes.
To run this application from source, you need Python installed (3.11+ recommended). You also need pip installed.
If you plan to run from the executable and not the source you should not need any prerequisites.
Download the appropriate executable from https://github.com/WendellCraft/ModpackDebuggerKit/releases/latest
Run it!
-
Clone the Repository (or download the files):
git clone https://github.com/WendellCraft/ModpackDebuggerKit.git cd ModpackDebuggerKit -
Install Dependencies:
This application relies on various dependencies. Install them using pip:
pip install -r requirements.txt
-
Run the Application:
python modpack_debugger.py
- New or Load Project: Start a
New ProjectorLoad Projectif you have saved one previously. - Select Mod Folder: Click
📁 Select Mod Folderand choose the actualmodsdirectory of your Minecraft instance (e.g.,C:\Users\User\AppData\Roaming\.minecraft\mods).
If you are tracking new mods:
- Create Snapshot: Click
📸 Create Snapshot. This logs all current mods. You only need to do this once, then whenever you add new mods simply press detect new mods and it will update your snapshot accordingly. - Add New Mods to Folder.
- Detect New Mods: Click
🔍 Detect New Mods. The application will compare the current mod list with the snapshot and list the new mods. You can then save them and debug them.
For accurate binary searching, it is crucial to tell the tool which mods require which libraries:
- Click
⚙️ Manage Dependencies. - Add rules (e.g., Mod A requires Library X, Y, Z). When the debugger tests Mod A, it will automatically ensure X, Y, and Z are included in the test group, even if they were originally in the opposite half of the split.
- Select Debug Mode:
- Mode 1 (All Mods): Tests every mod in your folder. Ideal for finding a long-standing conflict.
- Mode 2 (Specific New Mods): Tests only the mods you selected from the new mod detection step. Ideal for finding the culprit in a new update batch.
- Start Debug: Click
🚀 Start Debug.
- The application will move the majority of your mods to a temporary folder (
temp_modscreated next to the script). - It will move the first test group into your main
modsfolder. - A dialog will appear: "Testing X mods. Launch Minecraft now and test if it loads."
- Launch Minecraft (from your launcher).
- Report Result:
- Click
✅ Game Workedif Minecraft loads successfully (indicating the culprit is in the remaining half). - Click
❌ Game Crashedif Minecraft crashes (indicating the culprit is in the current test group).
- Click
- Repeat the process until a single mod is isolated.
Important: Do not manually close the debug dialog until you have launched and tested Minecraft. If you close the application during an active scan, you may need to manually restore the mods from the temp_mods folder.
- Once the debug is complete, all mods are automatically restored.
- Check the
⚠️ Hanging Librariesbutton if it is highlighted (yellow/orange). This indicates dependencies that are present but no longer needed. You can delete them from the resulting dialog.
The application uses the following directory structure:
modpack_debugger.py(The main script)temp_mods/(Created automatically to temporarily hold mods during testing)[ProjectName].json(Saved project files, containing settings and dependency rules)