Hvad er VPK-filformatet?
En .vpk-fil, også kendt som en Valve Pak-fil, er et ukomprimeret arkiv, der bruges til at pakke spilaktiver til Valves Source-engine. En .vpk kan indeholde et hovedbibliotek, der gemmer materialer, modeller, partikler, koreografiscener, lyde og andre filtyper. .vpk-formatet er en efterfølger til det ældre .GCF-indholdsformat og erstatter det som standardsystemet for emballering af Source-engine-titler som *Counter-Strike: Global Offensive*, *Team Fortress 2* og *Left 4 Dead 2*.
.vpk-filen består af en hovedbiblioteksfil og en eller flere nummererede VPK-arkivfiler. Biblioteksfilen (typisk navngivet pak01_dir.vpk) bærer en 4-byte little-endian magic signature (34 12 AA 55 ved offset 0) og et indeks over hvert aktiv - dets filendelse, sti, filnavn, CRC-32-tjeksum pr. fil, og hvilket nummereret arkiv der indeholder dets data. De nummererede arkiver (pak01_000.vpk, pak01_001.vpk, …) indeholder rå, ukomprimerede aktiv-bytes uden deres egen header; individuelle arkiver er typisk begrænset til omkring 200 MB. Aktiver såsom .VMT-materialefiler eller .VTF-teksturer kan også gemme en lille preload-blok på op til 65.535 bytes direkte i selve biblioteksindgangen.
.vpk-filen oprettes ved hjælp af kommandolinjeværktøjet vpk.exe, der er inkluderet i Source SDK, og filen kan gemmes som en del af en VPK-pakke, der spænder over flere arkiver. Der findes to formatversioner: Version 1 (header plus bibliotekstræ) og Version 2, som tilføjer MD5-tjeksummer og en valgfri RSA-signaturblok til integritetsverificering på pakkeniveau. Tredjepartsværktøjer som GCFScape og Crowbar gør det muligt at gennemse, udpakke og genpakke .vpk-arkiver på Windows.
Sikkerhed og tryghed
RISIKO: MEDIUMDen største risiko er selvforskyldt: sletning, omdøbning eller uforsigtig redigering af et spils .vpk-filer ødelægger eller korrumperer installationen - fjern dem aldrig for at «frigøre plads»; brug Steam til at afinstallere i stedet. Downloadede VPK-mods er en anden bekymring: en VPK er blot en aktivbeholder, der ikke automatisk kører kode, men mod-pakker kan leveres sammen med scripts eller eksekverbare filer, så hent mods fra anerkendte websteder til det pågældende spil og tag backup af den originale .vpk, før du udskifter den. For PS Vita .vpk homebrew skal du kun installere fra betroede kilder - homebrew kører med systemadgang.
Formatdetaljer
kort fortalt- PlayStation Vita VPK-pakke - En ZIP-baseret homebrew app/spil-pakke til PS Vita, installeret med VitaShell - urelateret til Valve.
- Visual Paradigm / andre app-eksportfiler - Nogle få urelaterede applikationer har genbrugt .vpk til deres egne pakkefiler; identificer dem via det oprindelige program.
Programmer der åbner VPK-filer
vpk x pak01_dir.vpk for at udpakke, eller vpk <mappe> for at oprette en VPK. Leveres med Source SDK / spil på Steam. vpk x pak01_dir.vpk for at udpakke. Tekniske detaljer
dyb specifikation| Magic bytes | 34 12 AA 55 ved byte offset 0 (little-endian 0x55AA1234); findes kun i `_dir.vpk` biblioteksfilen - nummererede dataarkiver har ingen header |
| Arkivstruktur | Opdelt i én `*_dir.vpk` indeksfil plus nummererede dataarkiver (`*_000.vpk`, `*_001.vpk`, …), der indeholder rå sammenkædede aktiv-bytes |
| Komprimering | Ingen - aktiver gemmes ukomprimeret for direkte streaming med lav latenstid af Source-enginen |
| Kodning | Binær, little-endian byte-rækkefølge overalt |
| Formatversioner | Version 1: 4-byte magic, version uint32, træstørrelse, derefter bibliotekstræ. Version 2 tilføjer datasektionsstørrelse, MD5-blokke pr. arkiv, overordnet MD5-sektion og en RSA-signatursektion |
| Integritet pr. fil | CRC-32-tjeksum pr. filindgang i begge versioner; Version 2 gemmer desuden MD5-hashes pr. dataarkivblok og en valgfri RSA-2048-signatur, der dækker hele pakken |
| Bibliotekstræ-layout | Indeks i tre niveauer sorteret efter filendelse → sti → filnavn; hver bladindgang gemmer arkivnummer, data-offset, datalængde, preload-byteantal og CRC-32 |
| Preload-data | Hver biblioteksindgang kan indlejre op til 65.535 bytes filindhold direkte, hvilket eliminerer en arkivsøgning for meget små aktiver |
| Dataarkivstørrelse | Individuelle nummererede arkiver er typisk begrænset til ~200 MB hver; et komplet spils VPK-sæt kan fylde mange gigabyte |
| Indekserede aktivtyper | Teksturer (`.vtf`), materialer (`.vmt`), modeller (`.mdl`), baner (`.bsp`), lyde, partikelsystemer, koreografiscener (`.vcd`) og andre Source-engine ressourcetyper |
| Platformsupport | Windows, macOS, Linux og Android (via Source-engine-porte) |
| MIME-type | application/octet-stream |
| Udvikler | Valve Corporation (Source engine content pipeline) |
| Forgængerformat | Erstattede de ældre GCF- og NCF-indholdspakningsformater brugt i tidligere Steam/Source-engine-versioner |
| Officielt oprettelsesværktøj | `vpk.exe` (Windows Source SDK) eller `vpk` CLI (Linux Source SDK); tredjepartsværktøjer inkluderer GCFScape og Crowbar |
| Udgivet | 2010 (Source engine; replaced the older GCF content packaging) |
| Seneste version | VPK directory format version 2 (adds per-file CRC and signature sections); v1 still in use |
| Specifikation | developer.valvesoftware.com |
VPK-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om VPK-filer.
Ofte stillede spørgsmål
Hvordan åbner jeg en VPK-fil?
vpk x pak01_dir.vpk). En PS Vita .vpk er anderledes - installer den med VitaShell.Kan jeg slette VPK-filer for at frigøre plads?
Hvorfor er der pak01_000.vpk, pak01_001.vpk og en pak01_dir.vpk?
Hvordan udpakker jeg modeller/teksturer fra en VPK til modding?
Er en Source VPK det samme som en PS Vita VPK?
Hvordan laver jeg min egen VPK?
vpk <mappe>), og den bygger en pak##_dir.vpk plus nummererede arkiver. Følg det specifikke spils mod-guide for den korrekte mappestruktur.