Casc Uložiště

Úvod

V roce 2014, Blizzard Entertainment změnil formát dat ve svých hrách z MPQ na CASC (Content Addressable Storage Container). Všechny současné (2019) hry od Blizzardu používají tento formát. Uložiště lze najít v adresáři, kde je hra nainstalována, v podadresáři Data nebo SC2Data. Ve srovnání s původními archivy MPQ, soubory v uložišti CASC nejsou samostatné; jsou třeba všechny k tomu, aby bylo uložiště kompletní. Není tak už možné vykopírovat jeden soubor a použít jej jako samostatný archiv. Uložiště CASC jsou navíc pevně svázány s herním serverem, který se nazývá Content Delivery Network, zkráceně CDN. Kdykoli je zjištěn chybějící nebo poškozený soubor, herní klient nebo Blizzard Agent jej automaticky stáhne z herního serveru. Herní klient také ověřuje, zda není na serveru novější verze a podle potřeby provede aktualizaci.

Detailní informaci o struktuře CASC uložišť lze najít na stránkách WoWDev Wiki (v angličtině).

Zde je seznam Blizzardích her a jejich použití uložišť:

  • Warcraft III (od verze 1.30, build 9655 PTR)
  • Starcraft I (od buildu 2457)
  • Starcraft II (od datadisku Legacy of the Void, build 38996)
  • Overwatch (od buildu 24919)
  • Diablo 3 (od verze 2.2.0 PTR)
  • World of Warcraft (od datadisku Warlords of Draenor)
  • Heroes of the Storm (všechny verze)
  • Call of Duty 4: Black Ops (všechny verze)

Které soubory a složky tvoří uložiště CASC?

Při procházení datového podadresáře uvidíte několik úrovní adresářů, obsahujících různé soubory. Datové soubory jsou v podadresáři "data". Na rozdíl od archivů MPQ nejsou tyto datové soubory samostatnými archivy. Je potřeba mít kompletní adresář uložiště s několika dalšími soubory:

  • Kompletní podadresář ("Data", "BNTData", "SC2Data" nebo "HeroesData", podle toho, který je přítomen)
  • Podadresář "config" v datovém adresáři
  • Soubor ".build.info"
  • Soubor ".build.db" (u starších uložišť)

CascView Logo

CascView

Pro prohlížení, prohledávání a extrakci souborů z uložišť CASC je k dispozici nástroj CascView. Podporuje všechny současné Blizzardí hry. Umí prohlížet lokální (nainstalované) i online uložiště, prohlížet obrázky BLP, instalační manifest a další. CascView však není editor - neobsahuje žádnou podporu pro modifikaci uložišť a nejsou žádné plány na přidání editačních funkcí. Kvůli stále se měnící povaze uložišť by to bylo velmi komplikované a navíc by takový program porušoval podmínky používání produktů společnosti Blizzard.

Example of a very large file Built-in image BLP viewer INSTALL Manifest viewer

Ke stažení: CascView pro Windows (32+64 bit) verze 2.2.

Historie

  • 2.2.0.192: Možnost vložení neznámého šifrovacího klíče. Podpora pro Warcraft III Reforged build 13445
  • 2.2.0.183: Podpora prohlížení obrázků, Warcraft III Reforged
  • 2.2.0.176: Vylepšeno zadávání list-souborů
  • 2.2.0.174: Opravena chyba při načítání WoW Classic
  • 2.2.0.172: Větší ikony na toolbaru, oprava chyb v drag&drop
  • 2.2.0.166: Vydána nová verze
  • 2.2.0.161: Pre-release verze
  • 2.2.0.160: Přidána podpora prohlížení instalačního manifestu
  • 2.2.0.159: Přidán interní prohlížeč obrázků ve formátu BLP
  • 2.2.0.157: Přidána podpora pro velmi velké soubory
  • 2.1.0.152: Opravena chyba ve funkci "Open Game Storage"
  • 2.1.0.144: Opraveny chyby v uživatelském rozhraní
  • 2.1.0.140: Přepracován dialog pro otevírání online uložišť. Nyní je možné podstatně rychleji vybrat, co chcete otevřít
  • 2.1.0.138: Načítání uložišť je rychlejší a je možné jej přerušit
  • 2.0.0.137: K dispozici ke stažení.

 

Jak otevřu uložiště CASC v aplikaci CascView?

K otevření uložiště je potřeba zadat jméno adresáře, ve kterém se nachází datové uložiště nebo vybrat "File\Open Storage" v menu aplikace. Pokud zadáváte jméno uložiště na příkazové řádce, vyberte adresář hry, nebo některý z podadresářů. Příklady:

CascView.exe "c:\Games\Diablo III"
CascView.exe "C:\Games\Heroes of the Storm\HeroesData"
CascView.exe "C:\Games\World of Warcraft\Data"
CascView.exe "C:\Games\Overwatch\data\casc\config\66\77"

GitHub Logo

CascLib

Samostatná knihovna, napsaná v jazyce C++, je k dispozici na GitHubu. Obsahuje kompletní zdrojové kódy a testprogram.

Fulltextová dokumentace funkcí knihovny CascLib je k dispozici v angličtině.

ListFile

Listfiles

Některá uložiště, především World of Warcraft, neobsahují jména souborů. Namísto toho jsou jména zakódována jako 64-bitové hashe. Navíc, od WoW verze 8.2 většina souborových položek hashe neobsahuje a místo toho jsou soubory otevírány pomocí ID (file data id).

Overwatch

A co Overwatch?

Uložiště pro Overwatch používá šifrování ROOT manifestu, které se navíc mění s každou verzí hry. Knihovna CascLib obsahuje pouze omezenou podporu hry Overwatch, a nemám žádné plány na přidání plné podpory.