vpk-tools
TypeScript
// Áttekintés
Valve VPK archív olvasó és író Node.js-hez és Bunhoz, futásidejű függőségek nélkül. Teljes v1/v2 támogatás, egy- és többrészes archívumok, CRC32 és MD5 ellenőrzés, streaming olvasás, RSA aláírás és beépített CLI.
// Mivel készült
TypeScriptNode.jsBunzero-depVPK
// A probléma
JS-ből VPK archívumot olvasni vagy írni általában azt jelenti, hogy a Valve vpk.exe-jét kell hívni, vagy egy régi Python porttal kell dolgozni, ami csak v1-et ismer.
// Megközelítés
- Tiszta TypeScript VPK olvasó és író, futásidejű függőségek nélkül.
- Teljes v1/v2 támogatás, egy- és többrészes archívumok helyes CRC32 és MD5 ellenőrzőösszegekkel.
- Igény szerinti olvasás: egy több GB-os archívum azonnal megnyílik, pufferelés nélkül.
// Mérnöki kihívások
- A teljes bináris VPK formátum kézi implementálása: könyvtárfa, per-fájl CRC32, v2 tree/archive/whole-file MD5 blokkok és RSA aláírás.
- Az írót úgy elkészíteni, hogy bájtosan azonos outputot adjon a Valve saját eszközeivel.
- Függőségmentesnek maradni a teljes API-felszín lefedése mellett.