SceneReplicationInterface::on_delta_receive: Ignoring delta for non-authority or invalid synchronizer.

Godot Version

v4.4.1.stable.custom_build [fb1cdca95] Godot steam precompiled

Question

What is causing this error "Ignoring delta for non-authority or invalid synchronizer." when deleting nodes

Things to know

I am working on a tf2 type game with different characters and guns, started working on a way for players to change their loadouts mid match. Each client is created by the server and sets the Authority to the client. The guns and character node work the same way but the client creates them and they set their authority to the client.

The Issue

When the client queue_free()'s the guns (not the character node for some reason) it causes the error below. This also causes the server player to not be synchronized anymore and freeze. When the server dose this it dose not cause any Issues.

E 0:00:25:124 SceneReplicationInterface::on_delta_receive: Ignoring delta for non-authority or invalid synchronizer. <C++ Error> Condition "true" is true. Continuing. <C++ Source> modules\multiplayer\scene_replication_interface.cpp:782 @ SceneReplicationInterface::on_delta_receive()

The error means you received a packet and could not accept it due to a missing endpoint or authority mismatched.

I think in this case its a missing endpoint since you freed a node on the client.

Generally speaking authority is held by the server by default. If a client deletes a synchronized node, the server will not know, and will still have its instance that wants to sync remote clients.

Spawners also default to the server authority, so if you counted on them to free remote instances on behalf of a client action, it will not.

What do you suggest for best practice (or less then best practice) for removing synchronized nodes with client authority.

It also dose free the nodes on the servers tree.

The solution i found was to add a extra node before adding the guns to the tree. For whatever reason it was just an ishure of the first spawned node meaning that so long as i don’t free the first (useless node) it works.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.