Chunksmith is an tool to extract Steam2 CDN chunks.
- Easy to use
- Lightweight
- Multi-threaded (thanks to rayon)
Extract a single version with a direct hex key:
chunksmith extract \
--depot 481 --version 1 --manifest-dir /path/to/manifest \
--storage-dir /path/to/storage --out /path/to/out \
--key 49684128B36ED12D85BC17E8BBBF6B22
Extract all versions for a depot:
chunksmith extract \
--depot 481 --manifest-dir /path/to/manifest --all-versions \
--storage-dir /path/to/storage --out /path/to/out \
--legacy-vdf /path/to/legacydepotdata.vdf
Use an explicit manifest file:
chunksmith extract \
--manifest /path/to/manifest \
--storage-dir /path/to/storage --out /path/to/out \
--key 49684128B36ED12D85BC17E8BBBF6B22
List contents without extracting:
chunksmith list --depot 481 --manifest-dir /path/to/manifest --all-versions
chunksmith extract \
--depot 481 --manifest-dir /path/to/manifest --all-versions \
--storage-dir /path/to/storage --out /path/to/out \
--include "bin/**" --include "*.dll" --exclude "**/*.pdb"
Specify amount of threads:
# cli
chunksmith extract --jobs 8
# env
RAYON_NUM_THREADS=8 chunksmith extract
By default will skip existing files, but will re-extract only if it's missing or file size is mismatched
# skip files whose size already matches the manifest, will re-extract only if it's missing or file size is mismatched
chunksmith extract --resume
# always replace existing files
chunksmith extract --overwrite
Provide a key in one of three ways (priority: --key
> --key-file
> --legacy-vdf
). By default it will parse the bundled legacydepotdata.vdf
:
# direct hex
--key 49684128B36ED12D85BC17E8BBBF6B22
# read hex from a file
--key-file /path/to/481.key
# parse from a VDF file
--legacy-vdf legacydepotdata.vdf
Install build dependencies.
sudo apt install cargo rust # Debian
sudo dnf install cargo rust # Fedora
sudo pacman -S cargo rust # Arch Linux
Then build the program with:
cargo build