A powerful yet simple command-line tool for intelligently merging Dying Light mods that edit player_variables.scr and other game files. Stop choosing between your favorite mods—use them all!
This tool solves the classic problem where installing one mod overwrites another because they both modify the same files. It combines their features into a single, stable mod pack.
- ✨ Smart Merging: Automatically combines all non-conflicting changes from your mods into one master
player_variables.scr. - 🤝 Interactive Conflict Resolution: If two mods change the same setting (e.g., inventory size), the tool will stop and ask you which version you want to keep. You have full control!
- 🗃️ Additional File Handling: The tool also detects other files in mod archives (like weather scripts). If it finds duplicates, it will ask you which one to include in the final
.pak. - 🤖 Automatic
.pakCreation: The final result is a clean, ready-to-usedata3.pakfile, placed in a familiar output folder. No extra steps needed. - ** ZIP & 7z Support:** No need to unpack anything! Just drop your mods in
.zipor.7zformat directly into the folder.
Getting started is incredibly simple. The required original game file (data0.pak) is already included in the release for your convenience.
- Go to the Releases page on the right.
- Download the latest release archive (e.g.,
DLB_Mod_Merger_v1.0.zip). - Extract the archive to a folder on your computer. You will see this structure:
/DLB_Mod_Merger/ |-- mod_merger.exe (The application) |-- /01_Original_Game_File/ (Contains data0.pak) |-- /02_Put_Mods_Here/ (This is where your mods go) - Place all the mods you want to merge (as
.zipor.7zarchives) into the02_Put_Mods_Herefolder. - Double-click
mod_merger.exeto run it. - Follow the on-screen instructions and answer any questions if conflicts are found.
- Once finished, a new folder named
OUTPUT_Merged_Modwill appear. Inside, you will find your new, perfectly mergeddata3.pak. - Copy this
data3.pakinto your game installation folder at\Dying Light\ph_ft\source\, replacing any existing file if prompted.
This tool is completely open-source. If you have concerns about running an .exe file, want to compile it for another OS like Linux, or simply want to see how it works, you can build it yourself.
Prerequisites:
Steps:
-
Clone the repository:
git clone https://github.com/KuroKim/DLB_Mod_Merger.git cd DLB_Mod_Merger -
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies: The project uses a few Python libraries. Install them easily with this command:
pip install -r requirements.txt
-
Build the executable: Use PyInstaller to package the script into a single
.exefile.pyinstaller --onefile mod_merger.py
-
Find your file: The finished
mod_merger.exewill be located in thedistfolder. You can then create the01_Original_Game_Fileand02_Put_Mods_Herefolders alongside it to replicate the release structure.
The logic is straightforward:
- The tool reads the original
player_variables.scrfrom the provideddata0.pak. - It scans the
02_Put_Mods_Herefolder, opening each.zipor.7zarchive in memory. - It finds all instances of
player_variables.scrand other files inside the mod archives. - It compares each mod's
player_variables.scrto the original, identifying every changed line. - It builds a "changes map." If multiple mods alter the same line, it flags it as a conflict.
- It asks the user to resolve all conflicts.
- Finally, it applies all chosen changes to the original file and packages the result, along with any other files, into a new
data3.pak.
This project is licensed under the MIT License. See the LICENSE file for details.```