- Edited
Hey, I was under the impression that I could use Steamworks (which has NAT-punchthrough) to gather players in a lobby, exchange IP/port, let one player host a server with Godot's High level multiplayer, and then finally connect the other players to the server. So basically just use Steam as a middleman to avoid port-forwarding, and then use Godot's nifty High level multiplayer.
The first part, creating a lobby and connecting players, works like a charm using GodotSteam. Then, I thought I could just ask Steam for the IP/port of the players in the lobby, but after googling for hours I can't find out how. Was I naive in thinking that Steam would just hand those over to me? I hope I just missed something.
Is what I'm trying to do not possible? If so, I can only think of three alternatives, none of which I like.
Don't use Godot's High level multiplayer and only rely on Steamworks' sendP2PPacket/readP2PPacket. Not only does that make the networking more complicated, but the entire networking is tied to steam and I can't release (one can dream) the game anywhere else.
Don't use Steamworks and only rely on Godot's High level multiplayer. That'd be great, but releasing a game in 2020 that requires you to enter an IP address and mess around with your router settings is laughable. Noone wants to do that.
Use Godot's High level multiplayer, and develop/host/pay for my own master server with NAT-punchthrough. Oh god...
Please tell me that I'm just stupid and you absolutely can use Steam as a mediator. I really don't want to completely tie my game to Steam and not use Godot's awesome High level multiplayer.
Thank you for reading :)