Co to jest format pliku PAK?
Plik .pak to archiwum zasobów gry zdolne do przechowywania wielu plików - tekstur, modeli, map, dźwięków i skryptów - wewnątrz jednego pakietu. Format ten jest najściślej kojarzony z silnikiem *Quake* firmy id Software (1996), który definiuje układ binarny identyfikowalny przez cztero-bajtową sygnaturę magiczną PACK na początku pliku.
Archiwum .pak może występować w wersji skompresowanej lub nieskompresowanej. Oryginalny układ Quake jest nieskompresowany; inne silniki, które ponownie wykorzystują rozszerzenie .pak, mogą zamiast tego stosować ZLIB lub inne schematy kompresji.
Rozszerzenie .pak nie jest pojedynczym, ustandaryzowanym formatem - id Software, Valve, Unreal Engine i wiele studiów niezależnych używają go z różnymi, często nieudokumentowanymi strukturami wewnętrznymi. Powiązane formaty używane w podobnych grach to .pk3 (wariant Quake III, będący w rzeczywistości archiwum ZIP), .vpk (Valve Source Engine) oraz .wad (wcześniejszy pakiet poziomów id Software).
Pliki PAK są często używane przez twórców gier, którzy umieszczają w nich wszystkie elementy niezbędne do uruchomienia gry. Ponieważ układ wewnętrzny zależy całkowicie od silnika źródłowego, pliki .pak można zazwyczaj otworzyć za pomocą narzędzi obsługujących konkretne gry, takich jak Dragon UnPACKer, QuArK lub PakExplorer; warianty będące zwykłymi plikami ZIP mogą być otwierane bezpośrednio przez 7-Zip.
Bezpieczeństwo
RYZYKO: MEDIUMRyzyko numer jeden jest spowodowane przez samego użytkownika: usuwanie, zmiana nazw lub błędna edycja plików .pak gry powoduje błędy lub uszkodzenie instalacji - nigdy nie dotykaj ich, aby „zwolnić miejsce”; zamiast tego odinstaluj grę. Pobrane pliki PAK (mody) stanowią drugie zagrożenie: PAK to tylko kontener zasobów, ale pakiety modów mogą być dostarczane wraz z plikami wykonywalnymi lub skryptami, dlatego pobieraj mody tylko z renomowanych witryn i twórz kopie zapasowe oryginalnego pliku .pak przed jego wymianą. Sam kontener nie uruchamia kodu automatycznie, ale źle sformułowane pliki PAK sporadycznie ujawniały błędy parsera w silnikach gier.
Szczegóły formatu
w pigułceProgramy otwierające pliki PAK
Szczegóły techniczne
specyfikacja| Typ formatu | Binarne archiwum zasobów gry; brak jednej uniwersalnej specyfikacji |
| Główne bajty magiczne | PACK (hex 50 41 43 4B) na offsecie 0 - tylko wariant Quake/id Software |
| Rozmiar nagłówka (wariant Quake) | 12 bajtów: 4-bajtowa sygnatura + 4-bajtowy offset katalogu + 4-bajtowy rozmiar katalogu, little-endian |
| Rozmiar wpisu katalogu (wariant Quake) | 64 bajty na plik: 56-bajtowa nazwa pliku uzupełniona zerami + 4-bajtowy offset danych + 4-bajtowa długość danych |
| Kolejność bajtów | Little-endian (wariant Quake/id Software) |
| Kompresja | PAK w wersji Quake przechowuje pliki bez kompresji; inne warianty silników mogą używać ZLIB, zstd lub schematów własnościowych |
| Typ MIME | application/octet-stream |
| Przechowywane typy zasobów | Tekstury, modele 3D, mapy poziomów, próbki audio, shadery i skrypty |
| Warianty silników | id Software/Quake, Valve Source Engine, Unreal Engine, S.T.A.L.K.E.R. oraz wiele autorskich silników niezależnych |
| Wymóg identyfikacji | Wymagany kontekst silnika; samo rozszerzenie .pak nie określa układu wewnętrznego |
| Maks. długość nazwy pliku (wariant Quake) | 56 znaków na wpis w katalogu |
| Obsługa zagnieżdżania | Dostęp do plików przez wewnętrzne ciągi ścieżek; brak obsługi kontenerów rekurencyjnych w wariancie Quake |
| Powiązane formaty | .pk3, .vpk, .wad, .bsa, .big, .dat |
| Kompatybilność narzędzi | Wymagane ekstraktory obsługujące konkretne gry (Dragon UnPACKer, QuArK, PakExplorer, GCFScape); 7-Zip obsługuje tylko warianty oparte na ZIP |
| Wydano | 1996 (id Software Quake PAK is the best-known early use) |
Konwersje PAK
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki PAK.