NodeTunnel provides bulletproof connectivity for Godot multiplayer games. No port forwarding, no dedicated servers.
Public relay servers allow players to connect regardless of their NAT setup. If you can view this website, you can almost certainly connect over NodeTunnel. No more port-forwarding, no more dedicated servers.
NodeTunnel was made specifically for Godot's High-Level Multiplayer API, meaning your existing games will work as they did before.
Moving to NodeTunnel is super simple, and requires less than 15 lines of code to get started.
@onready var nodetunnel = NodeTunnelPeer.new()
func _ready():
nodetunnel.connect_to_relay("45.33.64.148:8080", "my_game")
multiplayer.multiplayer_peer = nodetunnel
func host():
nodetunnel.host_room(true, "My Game Room", 4)
var room_id = await nodetunnel.room_connected
DisplayServer.clipboard_set(room_id)
func join(room_id):
nodetunnel.join_room(room_id)Both the Godot plugin and relay server software are made in Rust. This allows NodeTunnel to be extremely lightweight. Even the smallest servers can handle hundreds of peers at once, making NodeTunnel an affordable alternative to dedicated game servers.
Don't want to self host? Don't worry! NodeTunnel provides free relay servers that anyone can use.
See server sourceNodeTunnel is completely free to use, but running the relay servers and maintaining the project comes with real costs.
If NodeTunnel helps your game, please consider donating to keep the servers running and the project available for everyone.
Prefer to contribute in other ways? Code contributions are also greatly appreciated!