Skip to content

Warnings shown on client disconnection while in host mode and developer logging enabled #3519

Open
@TjDMC

Description

@TjDMC

Description

In host mode, spawning a NetworkObject with DontDestroyWithOwner = true and SpawnWithObservers = false, while NetworkManager's log level is set to Developer shows the following warnings when the client disconnects:

[Netcode-Server Sender=0] [Invalid Owner] Cannot send Ownership change as client-0 cannot see Test Object(Clone)! Use NetworkShow first.
[Netcode] Trying to send ClientDisconnectedMessage to client 0 which is not in a connected state.

Reproduce Steps

Create a new scene.
Setup NetworkManager.
Attach the GameManager script below to some object.
Create some sample NetworkObject.
Set the references of GameManager.
Build project.
In editor, press S to start server and spawn sample NetworkObject.
In built app, press C to start client.
In editor, press T to trigger change ownership.
In built app, press C to disconnect.
In editor, the warnings are logged.

GameManager script:

using Unity.Netcode;
using UnityEngine;

public class GameManager : MonoBehaviour {
    [SerializeField] private NetworkManager networkManager;
    [SerializeField] private NetworkObject testObject;

    private NetworkObject testInstance;

    private void Update() {
        if (Input.GetKeyDown(KeyCode.S)) {
            networkManager.StartHost();

            testInstance = Instantiate(testObject);
            testInstance.SpawnWithObservers = false;
            testInstance.DontDestroyWithOwner = true;
            testInstance.Spawn();
        }

        if (Input.GetKeyDown(KeyCode.C)) {
            if (networkManager.IsServer || networkManager.IsClient) {
                networkManager.Shutdown();
            } else {
                networkManager.StartClient();
            }
        }

        if (Input.GetKeyDown(KeyCode.T)) {
            testInstance.NetworkShow(1);
            testInstance.ChangeOwnership(1);
        }
    }
}

Actual Outcome

[Netcode-Server Sender=0] [Invalid Owner] Cannot send Ownership change as client-0 cannot see Test Object(Clone)! Use NetworkShow first.
UnityEngine.Debug:LogWarning (object)
Unity.Netcode.NetworkLog:LogWarningServerLocal (string,ulong) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Logging/NetworkLog.cs:128)
Unity.Netcode.NetworkLog:LogServer (string,Unity.Netcode.NetworkLog/LogType) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Logging/NetworkLog.cs:84)
Unity.Netcode.NetworkLog:LogWarningServer (string) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Logging/NetworkLog.cs:52)
Unity.Netcode.NetworkSpawnManager:ChangeOwnership (Unity.Netcode.NetworkObject,ulong,bool,bool) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Spawning/NetworkSpawnManager.cs:537)
Unity.Netcode.NetworkSpawnManager:RemoveOwnership (Unity.Netcode.NetworkObject) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Spawning/NetworkSpawnManager.cs:427)
Unity.Netcode.NetworkObject:RemoveOwnership () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkObject.cs:1980)
Unity.Netcode.NetworkConnectionManager:OnClientDisconnectFromServer (ulong) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Connection/NetworkConnectionManager.cs:1294)
Unity.Netcode.NetworkConnectionManager:DisconnectEventHandler (ulong) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Connection/NetworkConnectionManager.cs:549)
Unity.Netcode.NetworkConnectionManager:HandleNetworkEvent (Unity.Netcode.NetworkEvent,ulong,System.ArraySegment`1<byte>,single) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Connection/NetworkConnectionManager.cs:445)
Unity.Netcode.NetworkTransport:InvokeOnTransportEvent (Unity.Netcode.NetworkEvent,ulong,System.ArraySegment`1<byte>,single) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/NetworkTransport.cs:53)
Unity.Netcode.Transports.UTP.UnityTransport:ProcessEvent () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/UTP/UnityTransport.cs:930)
Unity.Netcode.Transports.UTP.UnityTransport:OnEarlyUpdate () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/UTP/UnityTransport.cs:972)
Unity.Netcode.NetworkTransport:EarlyUpdate () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/NetworkTransport.cs:131)
Unity.Netcode.NetworkManager:NetworkUpdate (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkManager.cs:332)
Unity.Netcode.NetworkUpdateLoop:RunNetworkUpdateStage (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkUpdateLoop.cs:191)
Unity.Netcode.NetworkUpdateLoop/NetworkEarlyUpdate/<>c:<CreateLoopSystem>b__0_0 () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkUpdateLoop.cs:214)
[Netcode] Trying to send ClientDisconnectedMessage to client 0 which is not in a connected state.
UnityEngine.Debug:LogWarning (object)
Unity.Netcode.NetworkLog:LogWarning (string) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Logging/NetworkLog.cs:28)
Unity.Netcode.NetworkMessageManager:GetMessageVersion (System.Type,ulong,bool) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Messaging/NetworkMessageManager.cs:522)
Unity.Netcode.NetworkMessageManager:SendMessage<Unity.Netcode.ClientDisconnectedMessage, System.Collections.Generic.List`1<ulong>> (Unity.Netcode.ClientDisconnectedMessage&,Unity.Netcode.NetworkDelivery,System.Collections.Generic.List`1<ulong>&) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Messaging/NetworkMessageManager.cs:603)
Unity.Netcode.NetworkConnectionManager:OnClientDisconnectFromServer (ulong) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Connection/NetworkConnectionManager.cs:1315)
Unity.Netcode.NetworkConnectionManager:DisconnectEventHandler (ulong) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Connection/NetworkConnectionManager.cs:549)
Unity.Netcode.NetworkConnectionManager:HandleNetworkEvent (Unity.Netcode.NetworkEvent,ulong,System.ArraySegment`1<byte>,single) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Connection/NetworkConnectionManager.cs:445)
Unity.Netcode.NetworkTransport:InvokeOnTransportEvent (Unity.Netcode.NetworkEvent,ulong,System.ArraySegment`1<byte>,single) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/NetworkTransport.cs:53)
Unity.Netcode.Transports.UTP.UnityTransport:ProcessEvent () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/UTP/UnityTransport.cs:930)
Unity.Netcode.Transports.UTP.UnityTransport:OnEarlyUpdate () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/UTP/UnityTransport.cs:972)
Unity.Netcode.NetworkTransport:EarlyUpdate () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Transports/NetworkTransport.cs:131)
Unity.Netcode.NetworkManager:NetworkUpdate (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkManager.cs:332)
Unity.Netcode.NetworkUpdateLoop:RunNetworkUpdateStage (Unity.Netcode.NetworkUpdateStage) (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkUpdateLoop.cs:191)
Unity.Netcode.NetworkUpdateLoop/NetworkEarlyUpdate/<>c:<CreateLoopSystem>b__0_0 () (at ./Library/PackageCache/com.unity.netcode.gameobjects@4b084d75a42e/Runtime/Core/NetworkUpdateLoop.cs:214)

Environment

  • Unity Version: 6000.0.41f1
  • Netcode Version: 2.4.2

Metadata

Metadata

Labels

stat:InvestigatingIssue is currently being investigatedstat:reply-neededAwaiting reply from Unity accounttype:supportQuestions or other support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions