steamroom
Rust library implementing the Steam client protocol for depot downloading, manifest parsing, and CDN interaction.
What's in this crate
- Connection & auth -- Connect to Steam CM servers over TCP or WebSocket, encrypt sessions, authenticate via credentials or QR code
- Depot manifests -- Parse and decrypt Steam depot manifests, list files, extract chunk metadata
- Chunk processing -- Decrypt and decompress depot chunks (AES-256-CBC, Valve LZMA, Valve zstd, zip)
- CDN -- Download manifests and chunks from Steam's CDN with server pool rotation and rate-limit handling
- Protobuf types -- Generated Steam protocol message types
Usage
use SteamClient;
use WebSocketTransport;
use CmServer;
use DepotManifest;
use ;
async
See the steamroom-cli crate for a complete working example, or steamroom-client for download orchestration.
License
MIT OR Apache-2.0