Download

ServerTravel not working

Hi,

I’m having issues getting ServerTravel to work. I’m using the steam subsystem, and at the moment the only way i can get it to work is to execute the command in the Player Pawn and replicate it on the server. This does change the level but causes a crash i guess because the pawn is being destroyed on level change. Trying the exact code in the GameMode or GameInstance just doesn’t do anything. I have turned on seamless travel and connected get player controller into the execute command node but just cant get it to react. Checked out numerous forum threads and none of them work, can anyone give me any pointers?

I have the same problem. Server is dropping the clients on travel. I have settup all the maps and use Open Level from an actor in the level to start the travel.

I actually did manage to get it to work by changing to the null subsystem and disabling seamless travel but this isn’t ideal at all as it doesn’t work for all my maps properly anyone know how to get seamless travel working?

@orjan_tufte ?Listen option?

There are a few issues with seamless travel using single process PIE. Use Standalone Game to test.



bool AGameModeBase::CanServerTravel(const FString& FURL, bool bAbsolute)
{
    UWorld* World = GetWorld();

    check(World);

    // NOTE - This is a temp check while we work on a long term fix
    // There are a few issues with seamless travel using single process PIE, so we're disabling that for now while working on a fix
    if (World->WorldType == EWorldType::PIE && bUseSeamlessTravel && !FParse::Param(FCommandLine::Get(), TEXT("MultiprocessOSS")))
    {
        UE_LOG(LogGameMode, Warning, TEXT("CanServerTravel: Seamless travel currently NOT supported in single process PIE."));
        return false;
    }
...


I am packaging my game before testing, so it should work.

Pawn is not a Persisting Actor. Use PlayerState(APlayerState::CopyProperties) to transport information.

Persisting Actors across Seamless Travel

Attached ServerTravel example. Using OnlineSubsystemNull(LAN).

UE 4.19>= or Switch Unreal Engine version…

DefaultEngine.ini



[OnlineSubsystem]
DefaultPlatformService=Null


  1. Disable Auto Connect to Server Multiplayer options when Play In Editor

  2. Example map transition : 01_Startup -> 02_Lobby -> 03_Game

PlayerController Blueprint Event : Host/Join/AskServerTravel

AskServerTravel Replicates Run on Server

https://blueprintue.com/blueprint/51slj1wl/

Thanks for the help, I should have added before that i’m using a dedicated server, do you know how i would join a session using this. I’m currently using an entry level with the open level node with the IP but if client 1 has changed levels, client 2 will not connect and the server will ignore it.