Что такое формат файла PAK?
Файл .pak - это архив игровых ресурсов, способный хранить несколько файлов (текстуры, модели, карты, звуки и скрипты) внутри одного пакета. Этот формат чаще всего ассоциируется с движком *Quake* от id Software (1996), который определяет бинарную структуру, идентифицируемую по четырехбайтовой «магической подписи» PACK в начале файла.
Архив .pak может быть как сжатым, так и несжатым. Оригинальная структура Quake не предполагает сжатия; другие движки, использующие расширение .pak, могут применять ZLIB или другие алгоритмы сжатия.
Расширение .pak не является единым стандартизированным форматом - id Software, Valve, Unreal Engine и многие инди-студии используют его с различными, часто недокументированными внутренними структурами. Родственные форматы, используемые в похожих играх, включают .pk3 (вариант Quake III, по сути являющийся ZIP-архивом), .vpk (Valve Source Engine) и .wad (более ранний пакет уровней id Software).
Файлы PAK часто используются разработчиками игр для размещения в них всех элементов, необходимых для работы игры. Поскольку внутренняя структура полностью зависит от исходного движка, файлы .pak обычно можно открыть с помощью специализированных инструментов, таких как Dragon UnPACKer, QuArK или PakExplorer; варианты, представляющие собой обычные ZIP-файлы, можно открыть напрямую через 7-Zip.
Безопасность и защита
РИСК: MEDIUMРиск номер один - это действия самого пользователя: удаление, переименование или неправильное редактирование файлов .pak приводит к поломке или повреждению игры - никогда не трогайте их, чтобы «освободить место», лучше удалите игру целиком. Скачанные PAK (моды) - вторая проблема: PAK является лишь контейнером ресурсов, но пакеты модов могут поставляться вместе с исполняемыми файлами или скриптами, поэтому берите моды только с проверенных сайтов и делайте бэкап оригинала перед заменой. Сам контейнер не запускает код автоматически, но некорректные PAK иногда вызывали ошибки парсеров в игровых движках.
Детали формата
в двух словахПрограммы, открывающие файлы PAK
Технические подробности
глубокая спецификация| Тип формата | Бинарный архив игровых ресурсов; единая универсальная спецификация отсутствует |
| Основные магические байты | PACK (hex 50 41 43 4B) по смещению 0 - только для варианта Quake/id Software |
| Размер заголовка (вариант Quake) | 12 байт: 4-байтовая метка + 4-байтовое смещение каталога + 4-байтовый размер каталога, little-endian |
| Размер записи каталога (вариант Quake) | 64 байта на файл: 56-байтовое имя файла с заполнением нулями + 4-байтовое смещение данных + 4-байтовая длина данных |
| Порядок байтов | Little-endian (вариант Quake/id Software) |
| Сжатие | Quake PAK хранит файлы без сжатия; варианты других движков могут использовать ZLIB, zstd или проприетарные схемы |
| MIME-тип | application/octet-stream |
| Типы хранимых ресурсов | Текстуры, 3D-модели, карты уровней, аудиосэмплы, шейдеры и скрипты |
| Варианты движков | id Software/Quake, Valve Source Engine, Unreal Engine, S.T.A.L.K.E.R. и многие кастомные инди-движки |
| Требование к идентификации | Необходим контекст движка; расширение .pak само по себе не определяет внутреннюю структуру |
| Макс. длина имени файла (вариант Quake) | 56 символов на запись в каталоге |
| Поддержка вложенности | Доступ к файлам по строкам внутренних путей; рекурсивные контейнеры в варианте Quake не поддерживаются |
| Родственные форматы | .pk3, .vpk, .wad, .bsa, .big, .dat |
| Совместимость с инструментами | Требуются специализированные экстракторы (Dragon UnPACKer, QuArK, PakExplorer, GCFScape); 7-Zip обрабатывает только ZIP-варианты |
| Выпущен | 1996 (id Software Quake PAK is the best-known early use) |
Конвертации PAK
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PAK.