# β€œicon” Welcome to Expresso Steam Multiplayer Peer πŸ‘‹ ![Version](https://img.shields.io/badge/version-0.2.0-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-no-red.svg)](todo-doc) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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.