OpenSteamClient is a collection of open-source libraries and various tidbits to interface with Steam.
OpenSteamClient is not yet ready for general use. There's a TODO list available at the various repos, but most end users are probably interested in the GUI, which is being developed here. Currently a rewrite is ongoing, and it's not recommended to use right now.
Steam only officially provides 32-bit client libraries on Windows and linux. Dotnet is only available as 64-bit. Luckily, there is a 64-bit library also available, but it's only meant primarily for games, but it also works fine for client use. Most of their dependencies are only available as 32-bit. To compensate for this we have various 64-bit support libraries that we try to match to their dependencies as closely as possible.
Currently development is in a early stage and nothing is set in stone. Please hold code contributions until major architectural changes and plans have been finalized. If you wish to be notified about this, open an issue in the corresponding repo and I'll handle it. Our libraries currently have no API stability guarantees, and they are developed in lock-step with OpenSteamClient, the main GUI app.
Repository | Purpose | Language |
---|---|---|
OpenSteamClient | (Being rewritten in C#/Avalonia) An open-source GUI frontend for Steam, powered by Qt | C++ |
OpenSteamworks.Native | Native support libraries (fakeservice, protobufhack) | C#, C++ |
OpenSteamworks.Utils | Misc OpenSteamworks utils | C# |
OpenSteamworks.Protobuf | Auto-generated Steam Client Protobuf | C# |
OpenSteamworks.KeyValue | OpenSteamClient's home-grown KeyValue library | C# |
archived_packages | Old Steam Client package utility | JS |