Che cos'è il formato di file VPK?
Un file .vpk, noto anche come file Valve Pak, è un archivio non compresso utilizzato per pacchettizzare gli asset di gioco per il motore Source di Valve. Il .vpk può contenere una directory principale che memorizza materiali, modelli, particelle, scene coreografiche, suoni e altri tipi di file. Il formato .vpk è il successore del vecchio formato di contenuti .GCF, sostituendolo come sistema di pacchettizzazione standard per i titoli basati su Source come *Counter-Strike: Global Offensive*, *Team Fortress 2* e *Left 4 Dead 2*.
Il file .vpk comprende un file di directory principale e uno o più file di archivio VPK numerati. Il file di directory (solitamente denominato pak01_dir.vpk) presenta una firma magica a 4 byte in formato little-endian (34 12 AA 55 all'offset 0) e un indice di ogni asset - la sua estensione, il percorso, il nome del file, il checksum CRC-32 per file e quale archivio numerato contiene i suoi dati. Gli archivi numerati (pak01_000.vpk, pak01_001.vpk, …) contengono i byte grezzi e non compressi degli asset senza un'intestazione propria; i singoli archivi sono solitamente limitati a circa 200 MB. Asset come i file di materiale .VMT o le texture .VTF possono anche memorizzare un piccolo blocco di precaricamento fino a 65.535 byte direttamente all'interno della voce della directory stessa.
Il file .vpk viene creato utilizzando lo strumento da riga di comando vpk.exe incluso nel Source SDK, e il file può essere memorizzato come parte di un pacchetto VPK che si estende su più archivi. Esistono due versioni del formato: la Versione 1 (intestazione più albero della directory) e la Versione 2, che aggiunge checksum MD5 e un blocco di firma RSA opzionale per la verifica dell'integrità a livello di pacchetto. Strumenti di terze parti come GCFScape e Crowbar consentono di sfogliare, estrarre e ricompattare gli archivi .vpk su Windows.
Sicurezza e incolumità
RISCHIO: MEDIUMIl rischio principale è autoinflitto: eliminare, rinominare o modificare incautamente i file .vpk di un gioco compromette o corrompe l'installazione - non rimuoverli mai per «liberare spazio»; usa invece Steam per disinstallare. Le mod VPK scaricate sono una seconda preoccupazione: un VPK è solo un contenitore di asset che non esegue codice automaticamente, ma i pacchetti di mod possono essere accompagnati da script o eseguibili, quindi scarica le mod da siti affidabili per quel gioco e fai un backup del .vpk originale prima di sostituirlo. Per gli homebrew .vpk di PS Vita, installa solo da fonti attendibili - l'homebrew viene eseguito con accesso al sistema.
Dettagli del formato
in sintesi- Pacchetto VPK per PlayStation Vita - Un pacchetto di app/giochi homebrew basato su ZIP per PS Vita, installato con VitaShell - non correlato a Valve.
- Esportazioni di Visual Paradigm / altre app - Alcune applicazioni non correlate hanno riutilizzato l'estensione .vpk per i propri file di pacchetto; identificabili dal programma di origine.
Programmi che aprono file VPK
vpk x pak01_dir.vpk per estrarre, o vpk <cartella> per creare un VPK. Incluso nel Source SDK / giochi su Steam. vpk x pak01_dir.vpk per estrarre. Dettagli tecnici
specifiche approfondite| Magic bytes | 34 12 AA 55 all'offset di byte 0 (little-endian 0x55AA1234); presente solo nel file di directory `_dir.vpk` - gli archivi dati numerati non hanno intestazione |
| Struttura dell'archivio | Suddiviso in un file indice `*_dir.vpk` più archivi dati numerati (`*_000.vpk`, `*_001.vpk`, …) che contengono i byte grezzi concatenati degli asset |
| Compressione | Nessuna - asset memorizzati non compressi per uno streaming diretto a bassa latenza dal motore Source |
| Codifica | Binaria, ordine dei byte little-endian in tutto il file |
| Versioni del formato | Versione 1: magic a 4 byte, versione uint32, dimensione dell'albero, quindi albero della directory. Versione 2 aggiunge dimensione della sezione dati, blocchi MD5 per archivio, sezione MD5 globale e una sezione per la firma RSA |
| Integrità per file | Checksum CRC-32 per ogni voce di file in entrambe le versioni; la Versione 2 memorizza inoltre hash MD5 per blocco di archivio dati e una firma RSA-2048 opzionale che copre l'intero pacchetto |
| Layout dell'albero della directory | Indice a tre livelli organizzato per estensione file → percorso → nome file; ogni voce foglia memorizza numero di archivio, offset dati, lunghezza dati, conteggio byte di precaricamento e CRC-32 |
| Dati di precaricamento | Ogni voce della directory può incorporare fino a 65.535 byte di contenuto del file inline, eliminando la necessità di una ricerca nell'archivio per asset molto piccoli |
| Dimensione dell'archivio dati | I singoli archivi numerati sono solitamente limitati a circa 200 MB ciascuno; un set VPK completo di un gioco può totalizzare molti gigabyte |
| Tipi di asset indicizzati | Texture (`.vtf`), materiali (`.vmt`), modelli (`.mdl`), mappe (`.bsp`), suoni, sistemi particellari, scene coreografiche (`.vcd`) e altri tipi di risorse del motore Source |
| Supporto piattaforma | Windows, macOS, Linux e Android (tramite porting del motore Source) |
| Tipo MIME | application/octet-stream |
| Sviluppatore | Valve Corporation (pipeline dei contenuti del motore Source) |
| Formato precedente | Ha sostituito i vecchi formati di pacchettizzazione dei contenuti GCF e NCF utilizzati nelle versioni precedenti di Steam/motore Source |
| Strumento di creazione ufficiale | `vpk.exe` (Source SDK per Windows) o CLI `vpk` (Source SDK per Linux); gli strumenti di terze parti includono GCFScape e Crowbar |
| Rilasciato | 2010 (Source engine; replaced the older GCF content packaging) |
| Ultima versione | VPK directory format version 2 (adds per-file CRC and signature sections); v1 still in use |
| Specifica | developer.valvesoftware.com |
Conversioni VPK
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file VPK.
Domande frequenti
Come si apre un file VPK?
vpk x pak01_dir.vpk). Un .vpk per PS Vita è diverso - installalo con VitaShell.Posso eliminare i file VPK per liberare spazio?
Perché ci sono pak01_000.vpk, pak01_001.vpk e un pak01_dir.vpk?
Come si estraggono modelli/texture da un VPK per il modding?
Un VPK di Source è uguale a un VPK di PS Vita?
Come posso creare il mio VPK?
vpk <cartella>) e creerà un pak##_dir.vpk più gli archivi numerati. Segui la guida al modding del gioco specifico per il layout corretto delle cartelle.