#
Welcome to Expresso Steam Multiplayer Peer π

[](todo-doc)
[](MIT)
See demos in:
Github: [Branch demos](https://github.com/expressobits/steam-multiplayer-peer/tree/demos)
Godot Asset Lib: https://godotengine.org/asset-library/asset/2258
## Tutorial and Learnings (How to use)
See post of Michael Macha
https://michaelmacha.wordpress.com/2024/04/08/godotsteam-and-steammultiplayerpeer/
See too on youtube videos
https://www.youtube.com/playlist?list=PLg_8mgEWE2p8ZA-AqUUJ3CYEtrRVFhl_v
Thank you Michael!
## Features
βοΈ Change easy Enet peer to Steam Peer
βοΈ Use Steam Sockets (Low level like enet).
βοΈ GDExtension (Easy to add your project)
βοΈ No dependency with GodotSteam, but demo use GodotSteam to handle connections with lobbies (See lobbies tutorial in Godot Steam [here](https://godotsteam.com/tutorials/lobbies/)).
## GodotSteam SteamMultiplayerPeer Differences
| Differences | This SteamMultiplayerPeer | GodotSteam SteamMultiplayerPeer |
|---|---|---|
| Lib Type | GDExtension, add on your project libs to use easy. | C++ module, you need to use the precompiled
ones from godotsteam or compile it yourself |
| Steam Connection | Steam Sockets [Steam Docs](https://partner.steamgames.com/doc/api/ISteamNetworkingSockets)
Steam's lowest connection level,
manages a connection
(It's very close to Enet,
that's why I chose this approach for the plugin) | Steam Messages [Steam Docs](https://partner.steamgames.com/doc/api/ISteamNetworkingMessages)
Without a connection idea,
the connection is managed by the lobby,
Need Steam lobbies. |
| TODO | | |
## Known issues
β οΈ Features No channel support currently
At some point I intend to integrate channels to be used in rpcs commands, but currently it is only necessary to use channel 0 or the default rpcs.
## In Progress
π¨ Bugs fixes
## Planneds
π
No planned features.
## Authors
π€ **Rafael Correa**
* Twitter: [@ScriptsEngineer](https://twitter.com/ScriptsEngineer)
* Github: [@scriptsengineer](https://github.com/scriptsengineer)
π€ **Zennyth**
* Github: [@Zennyth](https://github.com/Zennyth)
π€ **greenfox1505**
* Github: [@greenfox1505](https://github.com/greenfox1505)
π€ **MichaelMacha**
* Github: [@MichaelMacha](https://github.com/MichaelMacha)
## π€ Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/ExpressoBits/steam-multiplayer-peer/issues).
To suggest or discuss some project structure, feel free here [discussions page](https://github.com/expressobits/steam-multiplayer-peer/discussions)
## Show your support
Give a βοΈ if this project helped you!
## π License
This project is [MIT](MIT) licensed.