Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reference Implementations

This document lists NGDP/CASC implementations useful for understanding the system. These projects have informed cascette-rs development and serve as references for format details and edge cases.

C++ Implementations

ladislav-zezula/CascLib

The original C++ CASC library by the author of StormLib (MPQ library).

heksesang/CascLib

C++17 header-only library from the WoW 6.0 era.

  • Repository: https://github.com/heksesang/CascLib
  • Use for: Simplified CASC reading, header-only integration
  • Note: Early implementation, lacks modern features (LZMA, LZ4, Zstd, encryption)

C# Implementations

Marlamin/CascLib

C# fork with WoW-specific enhancements, used by wow.tools.

  • Repository: https://github.com/Marlamin/CascLib
  • Use for: Encryption keys, root handlers, CDN index parsing, BLTE decoding
  • Features: Game-specific root handlers for 20+ Blizzard titles

wowdev/TACTSharp

Memory-mapped C# implementation focused on performance.

wowdev/TACT.Net

C# library for TACT extraction operations.

  • Repository: https://github.com/wowdev/TACT.Net
  • Use for: Extraction patterns, multiple input/output formats
  • Features: EKey, CKey, FileDataID, and filename-based extraction

WowDevTools/CASCHost

Server-side CASC hosting for modding.

  • Repository: https://github.com/WowDevTools/CASCHost
  • Use for: CASC building, CDN structure generation, content serving
  • Note: Server-focused (produces content), opposite of cascette-rs (consumes content)

danielsreichenbach/BuildBackup

C# CDN backup tool (maintained fork of TACTAdder).

Rust Implementations

ferronn-dev/rustycasc

Rust CASC types and FrameXML extractor.

ohchase/blizztools

Rust CLI for NGDP/TACT operations.

  • Repository: https://github.com/ohchase/blizztools
  • Use for: Ribbit protocol, install manifest parsing, async download patterns
  • Features: Version queries, manifest parsing, file downloads

Other Tools

Warpten/tactmon

C++ CDN tracker with Ribbit monitoring.

  • Repository: https://github.com/Warpten/tactmon
  • Use for: Ribbit protocol implementation, CDN monitoring, product tracking
  • Features: Template-based ORM, database persistence, production monitoring

funjoker/blizzget

Windows GUI CDN downloader.

Kruithne/wow.export

Node.js/TypeScript export toolkit.

Marlamin/wow.tools.local

Local wow.tools implementation.

Community Resources

wowdev.wiki

Community wiki documenting WoW file formats and systems.

wago.tools

Build database with 1,900+ WoW builds.

Community CDN Mirrors

Community-operated mirrors preserving historical WoW builds. These provide access to game data after Blizzard removes it from official CDNs.

cdn.arctium.tools

casc.wago.tools

archive.wow.tools

cascette-rs supports automatic fallback between these mirrors when official Blizzard CDNs are unavailable.