This site is currently in read-only mode during migration to a new platform.
You cannot post questions, answers or comments, as they would be lost during the migration otherwise.
+2 votes

Hello!

So my game uses a Server project and a separate Client Project at the moment. The Server uses dummy "Player" nodes to pass RPC calls between the server and the alike Player nodes on all Clients.

My primary issue seems to be that my networking methodology is "Lobby" based, as seen in this tutorial: https://docs.godotengine.org/en/stable/tutorials/networking/high_level_multiplayer.html

I am trying to make it so that when one player (client) goes into a level different than other connected players, all previously connected player nodes that exist in the previous level are removed by the server on that player's client. This however causes RPC errors for the player, as the dummy player nodes on the server try to RPC all connected peers and cannot find the now deleted Player node on the client who has changed their location.

My current goal is to manage the connections/traffic between peers uniquely and centrally from the server. When player 1 goes into a different level, they no longer receive RPC from player 2 and visa versa. This would mean that all clients are connected to the server but clients are only peered to clients that are necessary as determined by the server.

The functions "networkpeerconnected" and "networkpeerdisconnected" are one of the roadblocks I am dealing with as they seem essential to peering clients together, but are triggered automatically across all clients already connected to the server when players join or disconnect.

I would like to find the proper methods to de-automate connections between peers and only give them updates to peers that they are expected to have via the server.

Hopefully I'm only making this far more complicated than it needs to be. Any suggestions/critique is GREATLY appreciated :D

in Engine by (70 points)

Any progress on this? I'd greatly benefit from this feature as well.
Since the QA community on Godot HL Mulitplayer looks pretty limited, I'm looking to start a Discord Server for real-time discussion. Add me (Frolicks#0371) if you're interested!

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.