How to use different GameModes for one level in a Multiplayer Game with Blueprints?

Hey,
i was trying to add your code in a new cpp class ive made but im not so good in cpp.
Is the first you posted

UFUNCTION(BlueprintCallable, Category = "Networking", meta = (DisplayName = "Server Travel"))
void MyServerTravel(FString mapName, FString gameMode, bool bAbsolute, FString additionalOptions);

the header?
and the other the cpp as you said i guess ^^.

But in the cpp

     void AGameMode::MyServerTravel(FString mapName, FString gameMode, bool bAbsolute, FString additionalOptions)
     {
     //Default paths to Maps folder and GameModes folder
     FString mapsPath = TEXT("/Game/Maps/");
     FString gameModePath = TEXT("/Game/GameModes/");
     
     //Construction of the GameMode option change
     FString gameModeOption = TEXT("?game=");
     FString gameModeClass = gameMode + TEXT(".") + gameMode + TEXT("_C");
     
     //if GameMode is not set, blank out the variables used to make the game mode option
     if (gameMode.Trim().IsEmpty())
     {
         gameModeOption.Empty();
         gameModeClass.Empty();
         gameModePath.Empty();
     }
     
     //A travel URL is built starting with the map name and append any options
     // i.e.: /pathtomaps/map?option=value?option2=value2 ... etc
     FString travelURL = mapsPath + mapName + gameModeOption + gameModePath + gameModeClass + additionalOptions;
     
     ProcessServerTravel(travelURL, bAbsolute);
     }

The ProcessServerTravel(travelURL, bAbsolute); is undefined on my cpp. why is that so ?

My Issue on Seamless travel with steam is that if i travel i have no Spawnpoint as Host and the client gets an Fatal Error and the game crashes.
But i need the seamless travel when i use steam dont i ?