I'm developing a game based on Turns 1v1 on the Godot Engine , and I'm having trouble connecting two players as in a matchmaking. My problem is that I do not want a central server itself, if it is possible, I would like a web hosting server to be sufficient.
The idea I had is to use HTTP Requests to get the IP of the opponent, and I already did this, but I can not, using Godot's RPC, start a non-local connection.
It does not have to be the way I've described it, nor the way I'm thinking, basically I want the game to connect two players without the need for a central server to manage the game, only that getting the opponent's IP is by requests HTTP.
I understand little of networking to get a solution for this, but I believe the problem is related to NAT or Firewall, is there any way to implement a P2P connection having only the external IP of the opponent?
Another idea I had, a little more complicated, would be to implement something like a Tunneling similar to Hamachi, but to do this automatically instead of manually, connecting two players to the same "room", since I already tested through Hamachi the connection works, what do I need to know to implement this if it is the easiest option to achieve the goal?
TLDR : I need to establish a connection between just two players in the Godot Engine , basically the initial connection because afterwards, Godot's RPC already does everything else. The issue is that I do not want a central server, I would like, if necessary, only a web hosting server that can do this using only HTTP Requests, at least to make Godot establish the initial connection, ie, to intermediate the connection between two players.