saskenuba / SteamHelper-rs

Interact with Valve's Steam network with this collection of crates.
MIT License
57 stars 12 forks source link

Generate Steam Protobufs #3

Closed saskenuba closed 4 years ago

saskenuba commented 4 years ago

Steam uses Google's Protobuf system for message serialization and communication, instead of JSON for example. On SteamDatabase/Protobufs repository, the protobufs are often dumped from Steam's internals.

Steam also uses an architecture named "Valve's Game Coordinator", which all messages are sent to this system instead of being directly sent to a game server. This relies on the user's account to be online in order to access the system.

At the steam-protobuf crate, the Protobufs module is set up and we are going to generate Rust code from it in order to serialize our messages to Steam. The ideal way would be to generate all protobufs once per update.

This is crucial to any operation involving Steam's Network and should be done next.

saskenuba commented 4 years ago

The protobufs are being generated with steam-protobufs crate. Still needs more testing with bincode but initial port is done.