Suddently I have a log saying the actor is not in the same level collection as the net driver.
[2018.07.23-08.12.53:442][237]LogNet: Verbose: UActorChannel::SetChannelActor: actor KServerBeaconLobbyClient /Game/Maps/M-Entry.M-Entry:PersistentLevel.KServerBeaconLobbyClient_0 is not in the same level collection as the net driver (KadeoNetDriver /Engine/Transient.KadeoNetDriver_1)!
And now the server crash on
void AOnlineBeaconHostObject::OnClientConnected(AOnlineBeaconClient* NewClientActor, UNetConnection* ClientConnection)
{
UE_LOG(LogBeacon, Verbose, TEXT("OnClientConnected %s from (%s)"),
NewClientActor ? *NewClientActor->GetName() : TEXT("NULL"),
NewClientActor ? *NewClientActor->GetNetConnection()->LowLevelDescribe() : TEXT("NULL"));
ClientActors.Add(NewClientActor);
}
The fails occurred in
FString UIpConnection::LowLevelDescribe()
{
TSharedRef<FInternetAddr> LocalAddr = Driver->GetSocketSubsystem()->CreateInternetAddr();
Socket->GetAddress(*LocalAddr);
return FString::Printf
(
TEXT("url=%s remote=%s local=%s uniqueid=%s state: %s"),
*URL.Host,
*RemoteAddr->ToString(true),
*LocalAddr->ToString(true),
*PlayerId->ToDebugString(),
State==USOCK_Pending ? TEXT("Pending")
: State==USOCK_Open ? TEXT("Open")
: State==USOCK_Closed ? TEXT("Closed")
: TEXT("Invalid")
);
}
Some values should be invalid.
First, where to check the level collection of actor and net driver ?
D.