diff --git a/Source/Engine/Networking/Drivers/ENetDriver.cpp b/Source/Engine/Networking/Drivers/ENetDriver.cpp index 2f468c7aa..d7a3617a4 100644 --- a/Source/Engine/Networking/Drivers/ENetDriver.cpp +++ b/Source/Engine/Networking/Drivers/ENetDriver.cpp @@ -164,6 +164,7 @@ void ENetDriver::Disconnect(const NetworkConnection& connection) bool ENetDriver::PopEvent(NetworkEvent* eventPtr) { + ASSERT(_host); ENetEvent event; const int result = enet_host_service(_host, &event, 0); if (result < 0) diff --git a/Source/Engine/Networking/NetworkManager.cpp b/Source/Engine/Networking/NetworkManager.cpp index 3a1984fe0..c2b6fd2da 100644 --- a/Source/Engine/Networking/NetworkManager.cpp +++ b/Source/Engine/Networking/NetworkManager.cpp @@ -191,6 +191,7 @@ bool StartPeer() if (!NetworkManager::Peer) { LOG(Error, "Failed to create Network Peer at {0}:{1}", networkConfig.Address, networkConfig.Port); + NetworkManager::State = NetworkConnectionState::Offline; return true; } NetworkManager::Frame = 0; @@ -243,7 +244,10 @@ bool NetworkManager::StartServer() LOG(Info, "Starting network manager as server"); Mode = NetworkManagerMode::Server; if (StartPeer()) + { + Mode = NetworkManagerMode::Offline; return true; + } if (!Peer->Listen()) { Stop(); @@ -265,7 +269,10 @@ bool NetworkManager::StartClient() LOG(Info, "Starting network manager as client"); Mode = NetworkManagerMode::Client; if (StartPeer()) + { + Mode = NetworkManagerMode::Offline; return true; + } if (!Peer->Connect()) { Stop(); @@ -286,9 +293,15 @@ bool NetworkManager::StartHost() LOG(Info, "Starting network manager as host"); Mode = NetworkManagerMode::Host; if (StartPeer()) + { + Mode = NetworkManagerMode::Offline; return true; + } if (!Peer->Listen()) + { + Mode = NetworkManagerMode::Offline; return true; + } LocalClientId = ServerClientId; NextClientId = ServerClientId + 1; LocalClient = New(LocalClientId, NetworkConnection{ 0 }); diff --git a/Source/Engine/Networking/NetworkReplicator.cpp b/Source/Engine/Networking/NetworkReplicator.cpp index c914e7ff1..8b9ba1dcd 100644 --- a/Source/Engine/Networking/NetworkReplicator.cpp +++ b/Source/Engine/Networking/NetworkReplicator.cpp @@ -1474,6 +1474,10 @@ void NetworkInternal::OnNetworkMessageObjectSpawn(NetworkEvent& event, NetworkCl if (!obj->IsRegistered()) obj->RegisterObject(); const NetworkReplicatedObject* parent = ResolveObject(msgDataItem.ParentId); + if (!parent && msgDataItem.ParentId.IsValid()) + { + NETWORK_REPLICATOR_LOG(Error, "[NetworkReplicator] Failed to find object {} as parent to spawned object", msgDataItem.ParentId.ToString()); + } // Add object to the list NetworkReplicatedObject item;