How do I reload a map in Multiplayer?

I’ve got a AGameMode extended to have a ReloadLevel function which currently tries to use GetWorld->SeamlessTravel(). But SeamlessTravel doesn’t work - it just causes my controllers to unposses. I typed a huge post on this and then AnswerHub lost it, so now I’m going to post something slightly more abbreviated.

If anyone needs more detail than this I can post more detail, but first I want to know if there’s a simple way to reload a map. When I try to use “RestartLevel” in the console it doesn’t do anything. Neither does ServerTravel actually.

Thanks in advance.

If you want C++ solution for that there is an example called Shooter Game which reloads the level when it is finished. You may want to examine it.

I had forgotten that the Shooter Game had a concept of rounds. So it uses RestartGame(), which apparently is on AGameMode. Unfortunately the exact same thing happens as when I hit SeamlessTravel nothing reloads, the controllers just unposses. But Thumbs up as RestartGame is probably what I want. It just doesn’t seem to work either. Or, more precisely, I don’t understand how to use it.

Ah, I discovered something else - if I uncheck Dedicated Server and run one client as “Server” it successfully restarts the game on the Server Host. So that’s probably why it works in Shooter Game - because Shooter Game isn’t actually multiplayer. It must be that the Client’s getting disconnected and not reconnecting.

The closest I’ve gotten is:

GetWorld()->ServerTravel(TEXT(“/Game/Maps/Example_Map?listen”), true);

It generally works (crashes only rarely). I don’t exactly know why it works when I feel like I had tried this exact thing before, but I suppose it must’ve been different in some way that I can’t remember.