Dying Light 2 PAKFile Utility
A Dying Light 2 (DL2) PAKFile Utility for Modders and Mod Makers.
This tool aims to make PAKFile (.pak
files) modding a breeze for both Dying Light 2 modders and mod makers.
See the roadmap for a better idea of what's to come!
More TBA Soon.
Features
- Ability to Examine PAKFiles (see size, validity, and any CRC / Header mismatch errors)
- Ability to Extract PAKFiles into a Folder to Edit
- Ability to Build a PAKFile from a Folder
Known Bugs / Issues
This is a collective list of known bugs / glitches / issues.
- None / TBA
Running the Utility
As an Executable / Binary
Step-by-step instructions to running the utility as a standalone executable.
- Download the Latest Release from GitHub.
- Save it somewhere easy to remember. A mod management folder is recommended.
- Right-Click the
DL2-PAKFile-Utility.exe
File and SelectRun as Administrator
- Follow the On-Screen Prompts
From Source
Step-by-step instructions to running the utility from source.
- Open an Elevated Command Prompt
- Make a Virtual Environment and Activate it
pip install -r requirements.txt
python main.py
- ???
- $$ PROFIT $$
Making Mods
The location of the two default PAKFiles (data0.pak
and data1.pak
) is
. Opening these PAKFiles and extracting them allows you to see all of the scripts that run in the game's engine, the C-Engine. To make a mod, extract one of these PAKFiles and then simply find the files inside of the extracted contents that include what you wish to change, modify them how you'd like, delete everything else that wasn't changed, and then build a PAKFile from that folder! To use the mod you've made, build it as dataN.pak
where N
is the next highest available number in your default PAKFile location (for example, if you only have data0.pak
and data1.pak
, you'd build a data3.pak
). If other users wish to use it and they have a different number of PAKFiles than you, they may simply rename it to be a higher number in the filename.
Theory on Mod Loading Order
As writing a new mod makes use of upping the integer in the dataN.pak
filenames, I'm assuming the higher the integer, the higher the order of precedence is. This is perhaps to say, for example, if one mod (data3.pak
) gives unlimited stamina and another (data4.pak
) removes unlimited stamina, I believe data4.pak
's effects would take priority over data3.pak
's and would render stamina untouched / not unlimited.
FAQ
Q1: Why does this need to be ran as an administrator?
A1: Some people store their games / mod management folders in weird places that non-elevated applications typically can't access. This is simply insurance on that possibility, making sure any user who stores their files anywhere can use this tool!
Q2: Why not opt for a better compression algorithm?
A2: This application originally used LZMA compression, which works great, but is unfortunately unsupported by C-Engine. It appears the current compression method, the default zip compression method of deflation, is the only functioning method of compressing .pak files.
Roadmap
This is a loose outline of what is in the future for the DL2 PAKFile Utility!
- Ability to Examine PAKFiles (see size, validity, and any CRC / Header mismatch errors)
- Ability to Extract PAKFiles into a Folder to Edit
- Ability to Build a PAKFile from a Folder
- Search PAKFiles for Specific Contents
- GUI Integration
- Intelligently Browse DL2 PAKFile Folder Contents (MOD MANAGER FUNCTIONALITY)
- Detailed Documentation for both the Application and for Modding DL2
- Auto-Updating Feature for the Utility that Pulls from GitHub
- More Modding Tools Built-In
More to be Announced Soon!