No need of steam with steam.
If you need Steam, use SteamWorks. If not, use this:
Why do I see âSteamâ everywhere?
The main interface class is named SteamNetworkingSockets, and many files have âsteamâ in their name. But Steam is not needed. If you donât make games or arenât on Steam, feel free to use this code for whatever purpose you want.
The reason for âSteamâ in the names is that this provides a subset of the functionality of the API with the same name in the Steamworks SDK. Our main reason for releasing this code is so that developers wonât have any hesitation coding to the API in the Steamworks SDK. On Steam, you will link against the Steamworks version, and you can get the additional features there (access to the relay network). And on other platformss, you can use this version, which has the same names for everything, the same semantics, the same behavioural quirks. We want you to take maximum advantage of the features in the Steamworks version, and that wonât happen if the Steam code is a weird âwartâ thatâs hidden behind #ifdef STEAM.
The desire to match the Steamworks SDK also explains a somewhat anachronistic coding style and weird directory layout. This project is kept in sync with the Steam code here at Valve. When we extracted the code from the much larger codebase, we had to do some relatively gross hackery. The files in folders named tier0, tier1, vstdlib, common, etc have especially suffered trauma. Also if you see code that appears to have unnecessary layers of abstraction, itâs probably because those layers are needed to support relayed connection types or some part of the Steamworks SDK.
So the code has some style issues that some people probably wonât like, but it does have the advantage of being battle tested over several years and millions of customers. We aim to make this lib a solid transport library and we hope people will use it to ship their games on non-Steam platforms. If there is something about this code that makes it awkward to use, or if it doesnât work properly or you see a security or performance issue, please let us know.