Vad är filformatet VPK?
En .vpk-fil, även känd som en Valve Pak-fil, är ett okomprimerat arkiv som används för att paketera speltillgångar för Valves Source-motor. En .vpk kan innehålla en huvudkatalog som lagrar material, modeller, partiklar, koreografiscener, ljud och andra filtyper. .vpk-formatet är en efterföljare till det äldre .GCF-innehållsformatet och ersatte det som standardsystem för paketering i Source-motor-titlar som *Counter-Strike: Global Offensive*, *Team Fortress 2* och *Left 4 Dead 2*.
.vpk-filen består av en huvudkatalogfil och en eller flera numrerade VPK-arkivfiler. Katalogfilen (vanligtvis namngiven pak01_dir.vpk) bär en 4-byte little-endian magic signature (34 12 AA 55 vid offset 0) och ett index över varje tillgång - dess filtillägg, sökväg, filnamn, CRC-32-kontrollsumma per fil, samt vilket numrerat arkiv som innehåller dess data. De numrerade arkiven (pak01_000.vpk, pak01_001.vpk, …) innehåller råa, okomprimerade bytes utan egna filhuvuden; enskilda arkiv är vanligtvis begränsade till cirka 200 MB. Tillgångar som .VMT-materialfiler eller .VTF-texturer kan också lagra ett litet förladdningsblock på upp till 65 535 bytes direkt i själva katalogposten.
.vpk-filen skapas med kommandoradsverktyget vpk.exe som ingår i Source SDK, och filen kan lagras som en del av ett VPK-paket som sträcker sig över flera arkiv. Två formatversioner existerar: Version 1 (filhuvud plus katalogträd) och Version 2, som lägger till MD5-kontrollsummor och ett valfritt RSA-signaturblock för integritetsverifiering på paketnivå. Tredjepartsverktyg som GCFScape och Crowbar tillåter bläddring, extrahering och ompaketering av .vpk-arkiv på Windows.
Säkerhet & trygghet
RISK: MEDIUMDen största risken är självförvållad: att ta bort, byta namn på eller oförsiktigt redigera ett spels .vpk-filer förstör eller korrumperar installationen - ta aldrig bort dem för att «frigöra utrymme»; använd Steam för att avinstallera istället. Nedladdade VPK-moddar är en annan risk: en VPK är bara en behållare för tillgångar som inte kör kod automatiskt, men mod-paket kan levereras tillsammans med skript eller körbara filer, så hämta moddar från välrenommerade webbplatser för det spelet och säkerhetskopiera original-.vpk-filen innan du ersätter den. För PS Vita .vpk homebrew, installera endast från betrodda källor - homebrew körs med systemåtkomst.
Formatdetaljer
i ett nötskal- PlayStation Vita VPK-paket - Ett ZIP-baserat homebrew-app/spelpaket för PS Vita, installerat med VitaShell - orelaterat till Valve.
- Visual Paradigm / andra app-exporter - Några orelaterade applikationer har återanvänt .vpk för sina egna paketfiler; identifiera genom det ursprungliga programmet.
Program som öppnar VPK-filer
vpk x pak01_dir.vpk för att extrahera, eller vpk <mapp> för att skapa en VPK. Medföljer Source SDK / spel på Steam. vpk x pak01_dir.vpk för att extrahera. Tekniska detaljer
djup specifikation| Magic bytes | 34 12 AA 55 vid byte-offset 0 (little-endian 0x55AA1234); finns endast i katalogfilen `_dir.vpk` - numrerade dataarkiv har inget filhuvud |
| Arkivstruktur | Uppdelad i en `*_dir.vpk` indexfil plus numrerade dataarkiv (`*_000.vpk`, `*_001.vpk`, …) som innehåller råa sammanfogade bytes av tillgångar |
| Komprimering | Ingen - tillgångar lagras okomprimerade för direkt strömning med låg latens av Source-motorn |
| Kodning | Binär, little-endian byteordning genomgående |
| Formatversioner | Version 1: 4-byte magic, version uint32, trädstorlek, sedan katalogträd. Version 2 lägger till datasektionsstorlek, MD5-block per arkiv, övergripande MD5-sektion och en RSA-signatursektion |
| Integritet per fil | CRC-32-kontrollsumma per filpost i båda versionerna; Version 2 lagrar dessutom MD5-hashar per dataarkivblock och en valfri RSA-2048-signatur som täcker hela paketet |
| Katalogträdslayout | Index i tre nivåer baserat på filtillägg → sökväg → filnamn; varje lövpost lagrar arkivnummer, data-offset, datalängd, antal förladdningsbytes och CRC-32 |
| Förladdningsdata | Varje katalogpost kan bädda in upp till 65 535 bytes av filinnehåll direkt, vilket eliminerar en arkivsökning för mycket små tillgångar |
| Storlek på dataarkiv | Enskilda numrerade arkiv är vanligtvis begränsade till ~200 MB styck; en komplett uppsättning VPK-filer för ett spel kan totalt uppgå till många gigabyte |
| Indexerade tillgångstyper | Texturer (`.vtf`), material (`.vmt`), modeller (`.mdl`), kartor (`.bsp`), ljud, partikelsystem, koreografiscener (`.vcd`) och andra resurstyper för Source-motorn |
| Plattformsstöd | Windows, macOS, Linux och Android (via Source-motor-portar) |
| MIME-typ | application/octet-stream |
| Utvecklare | Valve Corporation (Source engine content pipeline) |
| Föregångarformat | Ersatte de äldre GCF- och NCF-paketeringsformaten som användes i tidigare Steam/Source-motor-versioner |
| Officiellt skapandeverktyg | `vpk.exe` (Windows Source SDK) eller `vpk` CLI (Linux Source SDK); tredjepartsverktyg inkluderar GCFScape och Crowbar |
| Släppt | 2010 (Source engine; replaced the older GCF content packaging) |
| Senaste version | VPK directory format version 2 (adds per-file CRC and signature sections); v1 still in use |
| Specifikation | developer.valvesoftware.com |
VPK-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om VPK-filer.
Vanliga frågor
Hur öppnar jag en VPK-fil?
vpk x pak01_dir.vpk). En PS Vita .vpk är annorlunda - installera den med VitaShell.Kan jag ta bort VPK-filer för att frigöra utrymme?
Varför finns det pak01_000.vpk, pak01_001.vpk och en pak01_dir.vpk?
Hur extraherar jag modeller/texturer från en VPK för modding?
Är en Source VPK samma sak som en PS Vita VPK?
Hur skapar jag min egen VPK?
vpk <mapp>) så bygger den en pak##_dir.vpk plus numrerade arkiv. Följ det specifika spelets mod-guide för korrekt mappstruktur.