Steam Multiplayer Peer
by expressobits
Welcome to Expresso Steam Multiplayer Peer 👋
Godot Asset Lib: https://godotengine.org/asset-library/asset/2258
Branchs Map
🪹main: Contains C++ plugin source
🪹demo: Same example as godot bomberman, but instead of EnetPeer it uses 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 and Youtube video by Michael Macha:
- https://michaelmacha.wordpress.com/2024/04/08/godotsteam-and-steammultiplayerpeer/
- https://www.youtube.com/playlist?list=PLg_8mgEWE2p8ZA-AqUUJ3CYEtrRVFhl_v
Thank you Michael!
Features
✔️ Easily change ENet peer to Steam Peer
✔️ Use Steam Sockets (Low level like ENet).
✔️ GDExtension (Easy to add your project)
✔️ No dependency with GodotSteam, but demo uses GodotSteam to handle connections with lobbies (See lobbies tutorial in Godot Steam here).
GodotSteam SteamMultiplayerPeer Differences
| Differences | This SteamMultiplayerPeer | GodotSteam SteamMultiplayerPeer |
|---|---|---|
| Lib Type | GDExtension, easy to add through the asset library. | C++ module, requires precompiled Godot version from GodotSteam, or compile yourself |
| Steam Connection | Steam Sockets Steam Docs 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 Without a connection idea, the connection is managed by the lobby, Need Steam lobbies. |
| TODO |
Known issues
- 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 (expressobits/steam-multiplayer-peer#2)
In Progress
🔨 Bugs fixes
Planned
📅 No planned features.
Install
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
See the Wiki for build instructions.
Show your support
Give a ⭐️ if this project helped you!
📝 License
This project is MIT licensed.
Download
Support
If you need help or have questions about this plugin, please contact the author.
Contact Author