Wat is het PAK-bestandsformaat?
Een .pak-bestand is een game-resource-archief dat in staat is om meerdere bestanden - texturen, modellen, kaarten, geluiden en scripts - op te slaan binnen een enkel pakket. Het formaat wordt het meest geassocieerd met de *Quake*-engine van id Software (1996), die een binaire lay-out definieert die herkenbaar is aan de vier-byte magic signature PACK aan het begin van het bestand.
Een .pak-archief kan voorkomen in een gecomprimeerde of ongecomprimeerde versie. De originele Quake-lay-out is ongecomprimeerd; andere engines die de .pak-extensie hergebruiken, kunnen in plaats daarvan ZLIB of andere compressieschema's toepassen.
De .pak-extensie is geen enkel gestandaardiseerd formaat - id Software, Valve, Unreal Engine en vele indie-studio's gebruiken het allemaal met verschillende, vaak ongedocumenteerde interne structuren. Gerelateerde formaten die in vergelijkbare spellen worden gebruikt, zijn onder meer .pk3 (de Quake III-variant, in feite een ZIP-archief), .vpk (Valve Source Engine) en .wad (het eerdere id Software-levelpakket).
PAK-bestanden worden vaak gebruikt door game-ontwikkelaars die er alle elementen in plaatsen die nodig zijn om een spel te draaien. Omdat de interne lay-out volledig afhangt van de oorspronkelijke engine, kunnen .pak-bestanden meestal worden geopend met game-specifieke tools zoals Dragon UnPACKer, QuArK of PakExplorer; varianten die gewone ZIP-bestanden zijn, kunnen rechtstreeks worden geopend door 7-Zip.
Beveiliging & veiligheid
RISICO: MEDIUMHet grootste risico is zelf toegebracht: het verwijderen, hernoemen of verkeerd bewerken van de .pak-bestanden van een spel verbreekt of beschadigt de installatie - raak ze nooit aan om „ruimte vrij te maken”; verwijder in plaats daarvan het spel. Gedownloade PAK's (mods) zijn een tweede punt van zorg: een PAK is slechts een container voor assets, maar mod-pakketten kunnen samen met uitvoerbare bestanden of scripts worden geleverd, dus download alleen mods van gerenommeerde sites voor dat spel en maak een back-up van de originele .pak voordat u deze vervangt. De container zelf voert geen code automatisch uit, maar misvormde PAK's hebben af en toe parser-bugs in game-engines blootgelegd.
Formaatdetails
in een notendopProgramma's die PAK-bestanden openen
Technische details
diepe specificaties| Formaattype | Binair game-assetarchief; geen enkele universele specificatie |
| Primaire magic bytes | PACK (hex 50 41 43 4B) op offset 0 - alleen Quake/id Software-variant |
| Headergrootte (Quake-variant) | 12 bytes: 4-byte magic + 4-byte directory offset + 4-byte directory size, little-endian |
| Grootte directory-item (Quake-variant) | 64 bytes per bestand: 56-byte null-padded bestandsnaam + 4-byte data offset + 4-byte data lengte |
| Byte-volgorde | Little-endian (Quake/id Software-variant) |
| Compressie | Quake PAK slaat bestanden ongecomprimeerd op; andere engine-varianten kunnen ZLIB, zstd of eigen schema's gebruiken |
| MIME-type | application/octet-stream |
| Opgeslagen asset-typen | Texturen, 3D-modellen, levelkaarten, audiofragmenten, shaders en scripts |
| Engine-varianten | id Software/Quake, Valve Source Engine, Unreal Engine, S.T.A.L.K.E.R. en vele aangepaste indie-engines |
| Identificatievereiste | Engine-context is vereist; de .pak-extensie alleen bepaalt niet de interne lay-out |
| Max. lengte bestandsnaam (Quake-variant) | 56 tekens per directory-item |
| Nesting-ondersteuning | Bestanden toegankelijk via interne pad-strings; geen recursieve containerondersteuning in de Quake-variant |
| Gerelateerde formaten | .pk3, .vpk, .wad, .bsa, .big, .dat |
| Tool-compatibiliteit | Game-specifieke extractors (Dragon UnPACKer, QuArK, PakExplorer, GCFScape) vereist; 7-Zip verwerkt alleen ZIP-gebaseerde varianten |
| Uitgebracht | 1996 (id Software Quake PAK is the best-known early use) |