lucaspoffo / renet

Server/Client network library for multiplayer games with authentication and connection management made with Rust
Apache License 2.0
622 stars 66 forks source link

Add steamworks transport #89

Closed TrustNoOneElse closed 11 months ago

TrustNoOneElse commented 1 year ago

Target of this pr is to add SteamworkNetworkingSockets as a alternative transport.

This might require some changes on internal existing code, before breaking-changes are introduced in this pr will the maintainer be notified and possiblities discussed.

This has the advantage to have an existing relay system for P2P games, like coop games, the advantage is that the ip will not be revealed if its used in this context.

It has also the advantage that packages are already encrypted.

Fell always free to review code in the early Stage, it helps to discuss/correct this before further implemented and takes more time to actually change it.

Goals:

lucaspoffo commented 11 months ago

Thanks for the PR, did some small tweaks on the steam transport, mostly unifying some functions and making it more like the style I use.

Also removed the demos and bevy_renet changes, the scope was too big, and is gonna take a while to get these ones right. Let's remove them for now and merge the transport for now.

Added an echo example for renet_steam, which is pretty much the same one from renet/examples/echo.rs but using the steam transport.

:tada: :tada: