How cottonindustries/steamkit-rs works
steamkit-rs is a Rust Steam-network client library, with companion protocol definitions and SteamKit tooling. The principal workflow is to configure and authenticate a client, discover a CM server, connect over a supported transport, exchange framed messages, and use handlers or other services such as the Web API and CDN. The graph also retains documented authentication, handler, and tooling capabilities. Many subsystem links are documented in the README but their implementation files were not sampled, so those links are dashed with no source evidence.
Main entry points: steam_client.rs Steam Client · cm_client.rs CM Connection · nethook Dump Analyzer · steam_configuration.rs Client Configuration
Components 21
Steam Client
- Client Configuration
crates/steamkit/src/steam/steam_client/configuration/steam_configuration.rs - Authentication
crates/steamkit/src/steam/authentication - Steam Client
crates/steamkit/src/steam/steam_client/steam_client.rs - CM Discovery
crates/steamkit/src/steam/discovery/smart_cm_server_list.rs - Server Records
crates/steamkit/src/steam/discovery/server_record.rs
Protocol Runtime
- CM Connection
crates/steamkit/src/steam/cm_client.rs - Network Transports
crates/steamkit/src/networking/steam3 - Packet Parsing
crates/steamkit/src/base/packet_base.rs - Client Messages
crates/steamkit/src/base/client_msg.rs - Message Serialization
crates/steamkit/src/base/msg_base.rs - Async Jobs
crates/steamkit/src/steam/steam_client/async_job_manager.rs - Job IDs
crates/steamkit/src/types/job_id.rs - Protocol Definitions
crates/steamkit-protos/proto
Steam Services
- Steam Handlers
crates/steamkit/src/steam/handlers - Web API
crates/steamkit/src/steam/webapi/web_api.rs - CDN Client
crates/steamkit/src/steam/cdn/client.rs
Capture Tooling
- NetHook DLL
crates/steamkit-nethook/src - Dump Analyzer
crates/steamkit-tools/src/nethook - Decoded Bodies
crates/steamkit-tools/src/nethook/body.rs - Dump Renderer
crates/steamkit-tools/src/nethook/render.rs
Other components
- Application
Connections 21
- Application → Client Configuration: configures
- Application → Authentication: authenticates
README.md - Application → Steam Client: uses
README.md - Client Configuration → Steam Client: configures
README.md - Steam Client → CM Discovery: discovers servers
crates/steamkit/src/steam/cm_client.rs - CM Discovery → Server Records: selects endpoint
crates/steamkit/src/steam/cm_client.rs - Steam Client → CM Connection: owns connection
crates/steamkit/src/steam/cm_client.rs - CM Connection → Network Transports: connects over
crates/steamkit/src/steam/cm_client.rs - CM Connection → Packet Parsing: dispatches packets
crates/steamkit/src/steam/cm_client.rs - Packet Parsing → Client Messages: parses messages
crates/steamkit/src/base/packet_base.rs - Client Messages → Message Serialization: uses serialization
crates/steamkit/src/base/client_msg.rs - Steam Client → Steam Handlers: provides handlers
README.md - Steam Client → Async Jobs: tracks requests
crates/steamkit/src/steam/steam_client/async_job_manager.rs - Async Jobs → Job IDs: tracks by ID
crates/steamkit/src/steam/steam_client/async_job_manager.rs - Application → Web API: calls
README.md - Application → CDN Client: downloads depot data
README.md - Steam Handlers → Protocol Definitions: uses messages
README.md - NetHook DLL → Dump Analyzer: provides traffic dumps
README.md - Dump Analyzer → Decoded Bodies: decodes bodies
crates/steamkit-tools/src/nethook/specializations/remote_client_steam.rs - Dump Analyzer → Dump Renderer: renders dumps
crates/steamkit-tools/src/nethook/render.rs - Dump Renderer → Decoded Bodies: renders
crates/steamkit-tools/src/nethook/render.rs