42pak - Custom Pak Tool
Convert EIX/EPK to VPK, Manage existing Archives, AES-256 Encryption & much more.
Hello everyone,
I've been following metin2.dev for some time and decided to share a tool I've developed as part of my personal Metin2 project. I'm working on a full rewrite of the server and client sources from the ground up in my free time, and one persistent issue has been the continued use of EIX and EPK for packs in many private servers. These formats are insecure, easy to unpack, and the existing tools like EterNexus or PakMaker Lite are outdated with poor interfaces.
To address this in my own setup, I created P42Pak; an open-source application for generating and managing .VPK files as a replacement. It incorporates enhanced security features such as AES-256-GCM encryption, custom key derivation, integrity hashing (similar to BLAKE3), and global HMAC for detecting tampering. The design avoids direct compatibility with other custom systems to prevent reverse-engineering.
The UI is built with WebView2 for a clean, modern look, supporting drag-and-drop, compression (LZ4/Zstd), one-way migration from EIX/EPK, pack validation, batch operations, and more. It also includes code snippets for integrating .VPK loading into client and server sources (referencing tmp4 40250 files), simple patches that you can apply and recompile.
Features:
Create VPK archives - Pack directories into single .vpk files with optional encryption and compression
Manage existing archives - Browse, search, extract, and validate VPK archives
Convert EIX/EPK → VPK - One-click migration from legacy EterPack format
AES-256-GCM encryption - Per-file authenticated encryption with unique nonces
LZ4 / Zstandard / Brotli compression - Choose the algorithm that fits your needs
BLAKE3 content hashing - Cryptographic integrity verification for every file
HMAC-SHA256 - Archive-level tamper detection
Filename mangling - Optional obfuscation of file paths within archives
Metin2 C++ integration - Drop-in client and server loader code included
The repo is available on GitHub for contribution reasons. It contains the full source code, Windows binaries (compatible with Linux/macOS via .NET), and a README with installation, usage, and integration details.
Feedback, bug reports, or suggestions are welcome.Feel free to contribute!
The Github Repo: