Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
Godot's High-level Multiplayer API can operate over WebRTC, however, it requires a signaling server to establish the WebRTC connections between all peers.Nakama is an Open Source, scalable gameserver that provides many features, including user accounts, authentication, matchmaking, chat, and much more.This Godot add-on provides some utility code to allow easily setting up those WebRTC connections using Nakama as the signaling server.
Godot networking over WebRTC using Nakama as signaling server
Godot's High-level Multiplayer API can operate over WebRTC, however, it requires a signaling server to establish the WebRTC connections between all peers.
Nakama is an Open Source, scalable game server that provides many features, including user accounts, authentication, matchmaking, chat, and much more.
This Godot add-on provides some utility code to allow easily setting up those connections using Nakama as the signaling server.
Getting Started
Read the full tutorial on SnopekGames.com.
TL;DR
Copy the
addons/
,webrtc/
andwebrtc_debug/
directories into your project.Add the
Nakama.gd
singleton (inaddons/com.heroiclabs.nakama/
) as an autoload in Godot.Add the
OnlineMatch.gd
singleton (inaddons/nakama-webrtc
) as an autoload as well.
Demo and Template
This project is a full demo showing how to use this addon, and, in fact, makes a pretty good template project to start from.
Download the full source code and import into Godot 3.2.3 to run.
Run docker-compose up -d
in the top-level directory of the code to start a
Nakama instance with the default settings.
In both local and online mode, gamepads are supported, using the XBox A button to attack. The keyboard controls are WASD for movement and SPACE for attack.
In local mode, you can control player 2 using the arrow keys and ENTER to attack.
Credits
- Official GDScript Nakama client (Apache License 2.0): https://github.com/heroiclabs/nakama-godot
- GDNative WebRTC plugin (MIT License): https://github.com/godotengine/webrtc-native
- Font used in demo (CC0 1.0 License): https://datagoblin.itch.io/monogram
License
Aside from the pieces listed under Credits above (which each have their own licenses), everything else in this project is licensed under the MIT License.
Godot's High-level Multiplayer API can operate over WebRTC, however, it requires a signaling server to establish the WebRTC connections between all peers.
Nakama is an Open Source, scalable game
server that provides many features, including user accounts, authentication, matchmaking, chat, and much more.
This Godot add-on provides some utility code to allow easily setting up those WebRTC connections using Nakama as the signaling server.
Reviews
Quick Information
Godot's High-level Multiplayer API can operate over WebRTC, however, it requires a signaling server to establish the WebRTC connections between all peers.Nakama is an Open Source, scalable gameserver that provides many features, including user accounts, authentication, matchmaking, chat, and much more.This Godot add-on provides some utility code to allow easily setting up those WebRTC connections using Nakama as the signaling server.