Dedicated Server and World Partitioning (MissingLevelPackage)

I am packaging a dedicated server with a map that uses world partitioning. There’s an entry map that connects to the server, and when I start a client from that entry map from the editor, in “Standalone Game” mode, I get kicked out immediately after connecting, with the following messages in the server log:

LogPlayerController: Warning: ServerUpdateLevelVisibility() ignored non-existant package. PackageName='/Memory/OpenWorld_MainGrid_L2_X-1_Y-1_DL0', FileName='/Memory/OpenWorld_MainGrid_L2_X-1_Y-1_DL0'
LogNet: UNetConnection::Close: CloseReason:
LogNet:  - Result=MissingLevelPackage, ErrorContext="/Memory/OpenWorld_MainGrid_L2_X-1_Y-1_DL0,/Memory/OpenWorld_MainGrid_L2_X-1_Y-1_DL0"

Notably, this only happens when starting the client from the editor. A packaged client works as expected.

This seems to be connected to world partitioning (I can connect fine to a non-partitioned map like the ThirdPersonExampleMap, but even the unmodified “Open World” level will fail. What could I be missing?

1 Like

For the sake of completeness, if I try to connect with a PIE client, the editor crashes with an assertion:

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

UnrealEditor_Engine!UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelStreamingDynamic.cpp:395]
UnrealEditor_Engine!<lambda_28f6e57365b2a69c5efc67b5b153067f>::operator()() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\WorldPartition\WorldPartitionLevelHelper.cpp:318]
UnrealEditor_Engine!TBaseFunctorDelegateInstance<void __cdecl(FName const &,UPackage *,enum EAsyncLoadingResult::Type),FDefaultDelegateUserPolicy,<lambda_28f6e57365b2a69c5efc67b5b153067f> >::ExecuteIfSafe() [D:\Source\UnrealEngine\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:838]
UnrealEditor_CoreUObject!FAsyncPackage::CallCompletionCallbacks() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp:6646]
UnrealEditor_CoreUObject!FAsyncLoadingThread::ProcessLoadedPackages() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp:4300]
UnrealEditor_CoreUObject!FAsyncLoadingThread::TickAsyncLoading() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp:4441]
UnrealEditor_CoreUObject!FAsyncLoadingThread::FlushLoading() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp:6833]
UnrealEditor_CoreUObject!FlushAsyncLoading() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncPackageLoader.cpp:637]
UnrealEditor_Engine!UWorld::FlushLevelStreaming() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\World.cpp:4203]
UnrealEditor_Engine!UWorld::BlockTillLevelStreamingCompleted() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\World.cpp:3863]
UnrealEditor_Engine!TBaseUObjectMethodDelegateInstance<0,UWorldPartition,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\Source\UnrealEngine\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:611]
UnrealEditor_Engine!TMulticastDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::Broadcast() [D:\Source\UnrealEngine\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:967]
UnrealEditor_Engine!AWorldSettings::NotifyMatchStarted() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\WorldSettings.cpp:300]
UnrealEditor_CoreUObject!UFunction::Invoke() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5912]
UnrealEditor_CoreUObject!UObject::ProcessEvent() [D:\Source\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp:2003]
UnrealEditor_Engine!AActor::ProcessEvent() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\Actor.cpp:1030]
UnrealEditor_Engine!FRepLayout::CallRepNotifies() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\RepLayout.cpp:4548]
UnrealEditor_Engine!FObjectReplicator::CallRepNotifies() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\DataReplication.cpp:2170]
UnrealEditor_Engine!UActorChannel::ProcessBunch() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\DataChannel.cpp:2965]
UnrealEditor_Engine!UActorChannel::ReceivedBunch() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\DataChannel.cpp:2768]
UnrealEditor_Engine!UChannel::ReceivedSequencedBunch() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\DataChannel.cpp:416]
UnrealEditor_Engine!UChannel::ReceivedNextBunch() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\DataChannel.cpp:877]
UnrealEditor_Engine!UChannel::ReceivedRawBunch() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\DataChannel.cpp:528]
UnrealEditor_Engine!UNetConnection::ReceivedPacket() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\NetConnection.cpp:3202]
UnrealEditor_Engine!UNetConnection::ReceivedRawPacket() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\NetConnection.cpp:1594]
UnrealEditor_OnlineSubsystemUtils!UIpNetDriver::TickDispatch() [D:\Source\UnrealEngine\Engine\Plugins\Online\OnlineSubsystemUtils\Source\OnlineSubsystemUtils\Private\IpNetDriver.cpp:1396]
UnrealEditor_Engine!TBaseUObjectMethodDelegateInstance<0,UNetDriver,void __cdecl(float),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\Source\UnrealEngine\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:611]
UnrealEditor_Engine!TMulticastDelegate<void __cdecl(float),FDefaultDelegateUserPolicy>::Broadcast() [D:\Source\UnrealEngine\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:967]
UnrealEditor_Engine!UWorld::Tick() [D:\Source\UnrealEngine\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1373]
UnrealEditor_UnrealEd!UEditorEngine::Tick() [D:\Source\UnrealEngine\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1777]
UnrealEditor_UnrealEd!UUnrealEdEngine::Tick() [D:\Source\UnrealEngine\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:474]
UnrealEditor!FEngineLoop::Tick() [D:\Source\UnrealEngine\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5215]
UnrealEditor!GuardedMain() [D:\Source\UnrealEngine\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
UnrealEditor!GuardedMainWrapper() [D:\Source\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\Source\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\Source\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]

That probably should not happen, either. Again, this only happens in maps with world partitioning.

Hey did you find a solution for the first issue that you posted?

Thanks

No. I sent a report and test project to Epic in July, but haven’t heard back from them.

Update: Epic have created a ticket for the issue. I don’t know if that means they reproduced it, but it has a “target fix” attribute of 5.1, which gives me hope.

2 Likes

even though this says resolved its still happening for me in 5.1 any ideas?

Even though this ticket says it is resolved. The issue still seems to be occurring for me in 5.1, are you still getting this issue as well?

It happens for me in 5.1.1. It happens only if the client is packaged (shipping or development is the same). A non packaged client works.

The result is that the client connecting is kicked out as its missing a map and so cannot login in the server (dedicated server setup) I get this error:

[2023.02.16-17.04.07:068][338]LogNet: UNetConnection::SendCloseReason:
[2023.02.16-17.04.07:068][338]LogNet: - Result=MissingLevelPackage, ErrorContext=“/Game/Maps/MainWorld/Yliakum/Generated/MainGrid_L7_X-1_Y-1_DL0,/Game/Maps/MainWorld/Yliakum/Generated/MainGrid_L7_X-1_Y-1_DL0”

Adding manually the maps to “Packaging->List of maps to include in a package build” in settings doesnt help. The maps do not end up in the packaged game (I checked with unpak)

I guess the startup map is not included in the package as the engine thinks everything is worldpartition? I can’t release our game due to this. Any help please?

yeah its a pain

I think I found the issue which is frustrating but a possible solution. If you have a menu level that goes to your partition level. You will have to make the menu level apart of the partition level streaming levels. But the major issue is that the default game map must be the partition level

its just not an ideal scenario for me haha

I had this issue with PIE client and uncooked server. Was able to workaround by re-applying the reverted change found here, looks like there are still issues with the content bundles in 5.1: https://github.com/EpicGames/UnrealEngine/commit/611e2f1271c1172bf73b264dbdc10df87c1f5098

1 Like

i tried use world partition in server map, same issue

This is still relevant in 5.3.2
Is there an actual solution?

Same issue found in 5.2 when enable World Partition in ds server.
Have not found the solution…

Disable WP in ds, same issue also happened…