Multiplayer websocket architecture

Godot Version

v4.2.2.stable.official [15073afe3]


I’m at a loss, unsure which protocol to use and how it should be implemented.

I want a login system & a lobby system "but I don’t want to host each game instance especially if 1000 people or 10,000 people intend to play a free to play game.

Should I use TCP? RPC? RTC? UDP??? okay maybe not udp :smiley: unless streaming some data I don’t care about such as player movement, but they’re so many options. Not including the classes and in which they inherit…

When researching creating a lobby system I keep seeing the use of WebRTC but only peer to peer what if I wanted 4 peers all connected to one another without the need of port forwarding, Would I use a turn server instead of stun? or can this be done with stun also? given either peer doesn’t have any firewall issues then the turn server will be used.

I’m thinking on using the signalling server as my “dedicated server” for handling the logins and other basic information such as getting items for the shop page instead of using a tcp connection unless I am mistaken and shouldn’t. But just makes sense because I’m already using the signalling server for communication. If a use asymmetric encryption for important information aka login this should work?