Che cos'è il formato di file PAK?
Un file .pak è un archivio di risorse di gioco in grado di memorizzare più file - texture, modelli, mappe, suoni e script - all'interno di un singolo pacchetto. Il formato è strettamente associato al motore *Quake* di id Software (1996), che definisce un layout binario identificabile dalla firma magica di quattro byte PACK all'inizio del file.
Un archivio .pak può presentarsi in versione compressa o non compressa. Il layout originale di Quake non è compresso; altri motori che riutilizzano l'estensione .pak possono applicare ZLIB o altri schemi di compressione.
L'estensione .pak non è un singolo formato standardizzato: id Software, Valve, Unreal Engine e molti studi indie lo utilizzano tutti con strutture interne diverse, spesso non documentate. I formati correlati utilizzati in giochi simili includono .pk3 (la variante di Quake III, essenzialmente un archivio ZIP), .vpk (Valve Source Engine) e .wad (il precedente pacchetto di livelli di id Software).
I file PAK sono spesso utilizzati dagli sviluppatori di giochi che inseriscono in essi tutti gli elementi necessari per eseguire un gioco. Poiché il layout interno dipende interamente dal motore di origine, i file .pak possono solitamente essere aperti con strumenti specifici per i giochi come Dragon UnPACKer, QuArK o PakExplorer; le varianti che sono semplici file ZIP possono essere aperte direttamente da 7-Zip.
Sicurezza e incolumità
RISCHIO: MEDIUMIl rischio numero uno è autoinflitto: eliminare, rinominare o modificare erroneamente i file .pak di un gioco interrompe o corrompe l'installazione - non toccarli mai per «liberare spazio»; disinstalla invece il gioco. I PAK scaricati (mod) sono una seconda preoccupazione: un PAK è solo un contenitore di risorse, ma i pacchetti di mod possono essere forniti insieme a eseguibili o script, quindi scarica le mod solo da siti affidabili per quel gioco e fai il backup del .pak originale prima di sostituirlo. Il contenitore stesso non esegue automaticamente il codice, ma PAK malformati hanno occasionalmente esposto bug del parser nei motori di gioco.
Dettagli del formato
in sintesiProgrammi che aprono file PAK
Dettagli tecnici
specifiche approfondite| Tipo di formato | Archivio binario di risorse di gioco; nessuna specifica universale singola |
| Magic bytes primari | PACK (hex 50 41 43 4B) all'offset 0 - solo variante Quake/id Software |
| Dimensione intestazione (variante Quake) | 12 byte: magic 4-byte + offset directory 4-byte + dimensione directory 4-byte, little-endian |
| Dimensione voce directory (variante Quake) | 64 byte per file: nome file con padding nullo di 56 byte + offset dati 4-byte + lunghezza dati 4-byte |
| Ordine dei byte | Little-endian (variante Quake/id Software) |
| Compressione | Il PAK di Quake memorizza i file non compressi; altre varianti di motori possono utilizzare ZLIB, zstd o schemi proprietari |
| Tipo MIME | application/octet-stream |
| Tipi di risorse memorizzate | Texture, modelli 3D, mappe di livello, campioni audio, shader e script |
| Varianti del motore | id Software/Quake, Valve Source Engine, Unreal Engine, S.T.A.L.K.E.R. e molti motori indie personalizzati |
| Requisito di identificazione | È necessario il contesto del motore; l'estensione .pak da sola non determina il layout interno |
| Lunghezza massima nome file (variante Quake) | 56 caratteri per voce di directory |
| Supporto annidamento | File accessibili tramite stringhe di percorso interne; nessun supporto per contenitori ricorsivi nella variante Quake |
| Formati correlati | .pk3, .vpk, .wad, .bsa, .big, .dat |
| Compatibilità strumenti | Richiesti estrattori specifici per il gioco (Dragon UnPACKer, QuArK, PakExplorer, GCFScape); 7-Zip gestisce solo le varianti basate su ZIP |
| Rilasciato | 1996 (id Software Quake PAK is the best-known early use) |