1
0
Fork
You've already forked multiplayerpeer
0
An ecosystem of tools for Godot Engine and Valve's Steam. For the Windows, Linux, and Mac platforms.
  • C++ 95.3%
  • C 3.9%
  • Python 0.8%
2025年09月18日 16:35:13 -07:00
doc_classes Updated to GodotSteam 4.14 2025年03月31日 17:26:23 -05:00
icons Updated to GodotSteam 4.14 2025年03月31日 17:26:23 -05:00
.gitignore Replaces SteamNetworkingMessages with SteamNetworkingSockets. 2025年07月30日 18:22:09 -04:00
config.py Updated to GodotSteam 4.11 MP 2024年09月27日 14:11:20 -05:00
godotsteam_multiplayer_peer.cpp Remove connection handle before we disconnect to catch a race condition on memory access. 2025年09月15日 16:03:23 +02:00
godotsteam_multiplayer_peer.h Handle server disconnects correctly and implement an automatic reconnect when hitting 4003 errors (will attempt up to five times) 2025年08月18日 16:45:03 -04:00
license.txt Removed Github CI/CD stuff, updated readme and license, cleaned up contrib files 2025年08月22日 12:01:14 -07:00
readme.md Updated for 4.16 2025年09月18日 16:35:13 -07:00
register_types.cpp Replaces SteamNetworkingMessages with SteamNetworkingSockets. 2025年07月30日 18:22:09 -04:00
register_types.h Replaces SteamNetworkingMessages with SteamNetworkingSockets. 2025年07月30日 18:22:09 -04:00
SCsub Replaces SteamNetworkingMessages with SteamNetworkingSockets. 2025年07月30日 18:22:09 -04:00
steam_packet_peer.cpp Replaces SteamNetworkingMessages with SteamNetworkingSockets. 2025年07月30日 18:22:09 -04:00
steam_packet_peer.h Replaces SteamNetworkingMessages with SteamNetworkingSockets. 2025年07月30日 18:22:09 -04:00

GodotSteam MultiplayerPeer for Godot Engine 4.x | Community Edition

An ecosystem of tools for Godot Engine and Valve's Steam. MultiplayerPeer bridges Godot's multiplayer nodes with Steam networking. For the Windows, Linux, and Mac platforms.

Additional Flavors

Pre-Compiles Plug-ins Server Examples
Godot 2.x GDNative Server 3.x Skillet
Godot 3.x GDExtension Server 4.x ---
Godot 4.x --- GDNative ---
MultiplayerPeer --- GDExtension ---

Documentation

Documentation is available here. You can also check out the Search Help section inside Godot Engine.

Feel free to chat with us or ask questions on the GodotSteam Discord server.

Donate

Pull-requests are the best way to help the project out but you can also donate through Github Sponsors or LiberaPay! You can read more about donor perks here. You can also view all our awesome donors here.

Current Build

You can download pre-compiled versions of this repo here.

Version 4.16 Changes

  • Added: collect connections to remove to avoid iterator invalidation
  • Changed: ABS to Math::abs
  • Removed: connection handle before we disconnect to catch a race condition on memory access

You can read more change-logs here.

Compatibility

While rare, sometimes Steamworks SDK updates will break compatilibity with older GodotSteam versions. Any compatability breaks are noted below. Newer API files (dll, so, dylib) should still work for older versions.

Steamworks SDK Version GodotSteam Version
1.62 or newer 4.14 or newer
1.61 4.12 to 4.13
1.60 4.6 to 4.11
1.59 4.6 to 4.8
1.58a or older 4.5.4 or older

Versions of GodotSteam that have compatibility breaks introduced.

GodotSteam Version Broken Compatibility
4.8 Networking identity system removed, replaced with Steam IDs
4.9 sendMessages returns an Array
4.11 setLeaderboardDetailsMax removed
4.13 getItemDefinitionProperty return a dictionary, html_needs_paint key 'bgra' changed to 'rbga'
4.14 Removed first argument for stat request in steamInit and steamInitEx, steamInit returns intended bool value
4.16 Variety of small break points, refer to 4.16 changelog for details

Known Issues

  • Steam overlay may not work when running your game from the editor if you are using Forward+ as the renderer unless you use auto-initialization from the Project Settings menu. Your exported project should work perfectly fine in the Steam client, however.
  • When self-compiling, do not use MinGW as it will cause crashes.

Quick How-To

For complete instructions on how to build the GodotSteam MultiplayerPeer from scratch, please refer to our documentation's 'How-To Multiplayer Peer' section. It will have the most up-to-date information.

Alternatively, you can just download the pre-compiled versions in our Releases section and skip compiling it yourself!

To start, check out our tutorial on initializing Steam. There are additional tutorials with more in the works. You can also check out additional Godot and Steam related videos, text, additional tools, plug-ins, etc. here.

License

MIT license