Using PIE to connect to Dedicated Server running World Partition crashes

Hey,

I have this error when I try to connect to a Dedicated Server running a based OpenWorld.umap (no modifications).

Assertion failed: PIEInstanceID != INDEX_NONE [File:D:\UnrealEngine\5.0\UnrealEngine\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelStreamingDynamic.cpp] [Line: 395]

The client crashes but the server doesn’t. On the server I just get this timeout error

[2022.04.18-11.30.29:809][540]LogNet: Warning: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.01, Real: 60.01, Good: 60.01, DriverTime: 84.81, Threshold: 60.00, [UNetConnection] RemoteAddr: 127.0.0.1:62957, Name: IpConnection_2147482508, Driver: GameNetDriver IpNetDriver_2147482537, IsServer: YES, PC: PlayerController_2147482504, Owner: PlayerController_2147482504, UniqueId: INVALID
[2022.04.18-11.30.29:813][540]LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = ConnectionTimeout, ErrorString = UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 60.01, Real: 60.01, Good: 60.01, DriverTime: 84.81, Threshold: 60.00, [UNetConnection] RemoteAddr: 127.0.0.1:62957, Name: IpConnection_2147482508, Driver: GameNetDriver IpNetDriver_2147482537, IsServer: YES, PC: PlayerController_2147482504, Owner: PlayerController_2147482504, UniqueId: INVALID, Driver = GameNetDriver IpNetDriver_2147482537

Previous to that it accepts the request before the client crashes. This doesn’t happen on a regular map with no World Partition active.

Any help would be greatly appreciated.

1 Like

The first thing you could try to do to see what’s happening is to get the logs from the client to see what happens before it crashes. Last I checked, you should be able to find your crash logs through this path: c:\Program Files\Unreal Engine\4.0\Engine\Programs\CrashReportClient\Saved\

Once you find out the errors that make your client crash, it should be easier to narrow down the cause of the issue.

I posted the error, this is using UE5.0 and it works fine in UE4.

Assertion failed: PIEInstanceID != INDEX_NONE [File:D:\UnrealEngine\5.0\UnrealEngine\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelStreamingDynamic.cpp] [Line: 395] 




[2022.04.19-15.35.12:312][322]LogWindows: Error: === Critical error: ===
[2022.04.19-15.35.12:312][322]LogWindows: Error: 
[2022.04.19-15.35.12:312][322]LogWindows: Error: Assertion failed: PIEInstanceID != INDEX_NONE [File:D:\UnrealEngine\5.0\UnrealEngine\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelStreamingDynamic.cpp] [Line: 395]

There’s someone else who had the exact same error, and they solved it by replacing the PIEInstanceID != INDEX_NONE statement to:
if(PIEInstanceID == INDEX_NONE) {
PIEInstanceID = 1;
};

Like they said in the thread, it’s a temporary solution, but it seems that creating an empty map solves the problem as well. Not sure if that solution would work for you, but it’s worth giving the if statement a try.

1 Like

Yeah I saw that post but it’s not really a fix it’s just over-riding the issue and I don’t know what it would break down the line. I talked to someone who said they could use a World Partition map with a dedicated server and connect via PIE so I’m truly confused by it. For now I have been using a temporary non-WP map and when I need to test it properly I can use a packaged game build to connect, which works because it’s not PIE mode. However this seems like a bug as it’s out of the box.

I think this is a serious bug that Epic team has to consider first, I posted the same bug serval months ago and find where is the bug in the source. World partition is import for future open-world online games and I’m porting my Unity online game project to UE5 currently, this bug makes the progress stops so far.

1 Like

This is still happening as far as I can tell.

2 Likes

It’s still a thing in UE 5.1

1 Like

I found a solution, In my project “Server Default Map” didn’t set map when I set map after that my project doesn’t crash.

1 Like

Im 100% sure I was setting that. However I will double-check it later today. It might also be that things have changed since 5.1 and 5.1.1 but thanks for coming to post a solution. :slight_smile:

My server default map is set and I’m still getting the crash. If my map is an “Empty Level” or a “Basic” level there are no problems. It’s only when using an open world (empty or not) that the crash occurs.

I imagine it’s some obscure setting that isn’t on by default but I’ve yet to find it. I’m using 5.1.1 btw. My only way around it so far is to package both the client and server when testing, which is annoying to say the least.

  1. Remove “Server Default Map” from the setting.
  2. Set “Server Default Map” again, after that doesn’t crash
    Note: You should do it again when opening your project. Why it is that I don’t know :smiley: