SubSystem only on server

I’ll also add on this: on 5.3 the proposed solution for UWorldSubsystem isn’t working for me in case of pie-“seamless” traveling. First level loaded fine, but on travel client return the server’s netmode.

Hence

is a way to go for me:

bool UMyWorldSubsystem::ShouldCreateSubsystem(UObject* Outer) const
{
	return true;
}

void UMyWorldSubsystem::OnWorldBeginPlay(UWorld& InWorld)
{
	//doing server-only subsystem
	if (InWorld.GetNetMode() == NM_Client)
		return;

	//Subsystem is still exist, but isn't initialized on clients. May also wish to disable Tick() if your ss is tickable

	//==========================
	//Actual initialization goes below

	//<...>
}