Welcome to Expresso Steam Multiplayer Peer ๐
Godot Asset Lib: https://godotengine.org/asset-library/asset/2258
Branchs Map
๐ชนmain: Contains C++ Plugin
๐ชนdemo: Same example as godot bomberman (This) But modified EnetPeer with SteamMultiplayerPeer
๐ชนaddon: Compiled version of the libs that are in the godot asset lib store.
๐ชนmodule: Same compiled version but just the addon folder, to be added as a git submodule
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).
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 from godotsteam or compile it yourself |
Steam Connection | Steam Sockets Steam DocsSteam'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 DocsWithout a connection idea,the connection is managed by the lobby,Need Steam lobbies. |
TODO |
Known issues
โ ๏ธ No channel support currently It's been concluded that it's a limitation of the socket system, I'll take it out of the plan for now. See issue (https://github.com/expressobits/steam-multiplayer-peer/issues/2)
In Progress
๐จ Bugs fixes
Planneds
๐ No planned features.
Authors
๐ค Rafael Correa
- Twitter: @ScriptsEngineer
- Github: @scriptsengineer
๐ค Zennyth
- Github: @Zennyth
๐ค greenfox1505
- Github: @greenfox1505
๐ค MichaelMacha
- Github: @MichaelMacha
๐ค Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
To suggest or discuss some project structure, feel free here discussions page
Show your support
Give a โญ๏ธ if this project helped you!
๐ License
This project is MIT licensed.