The legend began on an old TalesRunner fan forum. A user named Daemel claimed to have found a hidden .pkg file in the game’s root directory that wouldn't open with standard tools. Curious, they spent weeks writing a custom script to unpack it.
When the file finally burst open, it didn’t contain textures or music. Instead, it held a single, playable map titled "The Corridor of Lost Frames." Into the Code
entered the map. Unlike the bright, fairy-tale landscapes of TalesRunner, this place was a void of grey textures. There was no finish line. The only other player present was a character model that looked like a distorted version of Ming Ming, her eyes replaced by scrolling lines of hex code.
ran, the "character" didn't race—it whispered. In the chat box, strings of text appeared:
ERROR: UNPACKED SENSORY DATAUSER_01 NOT AUTHORIZED FOR TRUTH The Final Extraction The faster
ran, the more the game began to "unpack" things it shouldn't. Their desktop icons began appearing as floating platforms in the game. Real photos from their "Documents" folder plastered the walls of the digital canyon. Panicked,
tried to Alt+F4, but the screen stayed frozen on the distorted
. She reached toward the camera, and the last line of code appeared: PACKING COMPLETE. USER_01 ADDED TO ARCHIVE. The forum post ends there.
never logged in again, but modders say if you look deep enough into the game's newest .pkg files, you can find a tiny, high-resolution texture of a human eye, staring back from the code.
Tales Runner .pkg files allows you to access game assets like textures, models, and scripts for modding or setting up private servers. Because these files are often encrypted or use custom compression, standard archive tools usually cannot open them. Primary Unpacking Tools
tr_pkgtool: A dedicated Python-based utility specifically for Tales Runner. It is the most modern and accessible method for extracting .pkg contents. Source: Available on sup817ch's GitHub. talesrunner pkg unpack
Usage: Run via command line using python tr_pkgtool.py or the provided .exe.
MMO Development Unpackers: Older, community-made tools often used in private server development.
Source: Frequently found in threads on forums like RaGEZONE.
Note: Some older tools require specific environment files like PROGENV to function. Common Tales Runner PKG Files The game's data is divided into themed packages, including:
Character Data: Files like char1.pkg, char2.pkg, etc., containing character models and animations.
Map Data: Files such as map16.pkg or map_etc.pkg containing level geometry and textures. Game Logic: Often found in scripts.pkg or shaders.pkg. Troubleshooting & Limitations
Changed Keys: If an unpacker fails on a newer version of the game, it is likely because the decryption key has changed. You may need to wait for a tool update or manually find the new key in the game's executable.
Encryption: You generally cannot modify and re-use files without a corresponding "packer" or re-compiler to make them recognizable to the game client again.
Platform Specifics: While most tools are for the Windows PC version, some community discussions involve using Mac-specific tools like Pacifist to inspect installer packages. If you'd like, I can help you with: Setting up Python to run the tr_pkgtool script. Finding private server setup guides related to these files.
Identifying specific game assets (textures vs. models) within the unpacked folders. Let me know how you'd like to proceed with the extraction. The legend began on an old TalesRunner fan forum
sup817ch/tr_pkgtool: unpack pkg file for talesrunner - GitHub
Unpacking TalesRunner PKG files is a common first step for players looking to mod textures, examine game assets, or set up private servers. These files act as encrypted archives for the game's data, such as models and scripts. Top Tools for Unpacking
Several community-developed tools are available, depending on your technical comfort level:
tr_pkgtool : A popular, modern option available on GitHub. It exists as both a Python script (tr_pkgtool.py) and a compiled executable (tr_pkgtool.exe).
PROGENV Unpacker : A classic tool often found on RaGEZONE. It features a simple GUI where you load a "PROGENV" file and press a button to extract .pkg contents into a dedicated folder.
Older Unpackers: Some older tools may require "newer PKG" workarounds found in community threads to handle updated encryption keys. How to Unpack: A Quick Guide
Preparation: Download a tool like tr_pkgtool or the PROGENV unpacker.
Locate Files: Navigate to your TalesRunner installation directory and find the .pkg files (e.g., tr4.pkg). Run the Tool:
CLI: If using tr_pkgtool, open your terminal and run python tr_pkgtool.py [path_to_pkg].
GUI: If using PROGENV, open the application, select your target PKG, and click the extract button. Extract all .dat
Check Output: Files will typically extract into a new folder within your tool's directory. Note that some files, like .png assets, might actually be .dds textures incorrectly named. Troubleshooting Common Issues
Decryption Keys: If extracted files look corrupted or "wrong," the game's encryption key may have been updated since the tool's last release.
Invalid Hashes: Server setups often face "Invalid Hash" errors during login after files are modified; specialized fixes for hash.ini are usually available in RaGEZONE guides.
Incomplete Files: Some PKGs, specifically in certain regional versions like Korean TalesRunner (KTR), may contain critical files (like patch.xml) that are missing from other versions. Files + Tool etc thread. - MMO Development Forums
For manual inspection. When automated tools fail, you need to look at the raw hex to find the file table offset.
.pkg files.4.1 Header Discovery
4.2 Example Reconstructed Header (hypothetical but realistic):
| Offset | Type | Description | |--------|----------|------------------------------| | 0x00 | uint32 | magic (e.g., 0x504B4700) | | 0x04 | uint32 | version | | 0x08 | uint32 | file count | | 0x0C | uint32 | TOC offset (from file start) | | 0x10 | uint32 | TOC size / encrypted flag |
4.3 Table of Contents Entry (per file):
| Offset | Type | Description | |--------|----------|----------------------| | 0x00 | char[256]| filename (null‑term) | | 0x100 | uint32 | offset in archive | | 0x104 | uint32 | compressed size | | 0x108 | uint32 | original size | | 0x10C | uint32 | flags (compression type) |
4.4 Compression
inflate in the binary.QuickBMS is the most reliable method for modern TalesRunner clients. Below is a verified workflow.
talesrunner.bms (from aluigi’s site) – for older clients.pkg contains CPK inner archivesTalesRunner.exe (x86 / x64) – find pkg_open / pkg_read functions.dat, .lua, .dds, .x files.