steam-protos
Pre-generated Rust protobuf bindings for Steam protocol messages, derived from SteamDatabase/Protobufs.
Features
- Pre-generated — no build script, no
protocdependency, instant compilation - Selective compilation via Cargo feature flags
- Serde support via optional feature (enabled by default)
Installation
[]
= "0.1"
= "0.12"
Feature Flags
| Feature | Description |
|---|---|
serde (default) |
Enables serde::Serialize/Deserialize on all message types |
Usage
Basic Usage
use CMsgClientLogon;
use Message;
// Create a message
let logon = CMsgClientLogon ;
// Encode to bytes
let bytes = logon.encode_to_vec;
// Decode from bytes
let decoded = decode.unwrap;
Module Structure
steam_protos
├── steam/ # Core Steam client messages (108 modules) - feature: "steam"
├── csgo/ # CS:GO game coordinator messages (41 modules) - feature: "csgo"
└── webui/ # Steam Deck/WebUI messages (118 modules) - feature: "webui"
Note: Modules are only available if their corresponding feature is enabled.
Key Steam Modules
| Module | Purpose |
|---|---|
steammessages_clientserver_login |
Login, logoff, heartbeat |
steammessages_clientserver |
Games played, licenses, wallet |
steammessages_clientserver_friends |
Friends list, persona state |
steammessages_clientserver_2 |
Rich presence, trading, notifications |
steammessages_auth_steamclient |
Authentication service |
steammessages_twofactor_steamclient |
Two-factor authentication |
steammessages_chat_steamclient |
Chat messages |
steammessages_cloud_steamclient |
Cloud storage |
Example Imports
// Login messages
use ;
// Authentication
use ;
// Friends
use ;
// Two-Factor Auth
use ;
License
MIT