Moving player to location in World Composition not working

Hi guys!
We have a big world in our MMO game, divided into sublevels. When a player logs in, we want him to spawn where he logged out.
In PostLogin (overridden from AGameMode) we fetch his last location and move him there.

When the player logs in, he’s teleported to that spot, then instantly teleported back to (0,0,0) and starts playing from there.

Does anybody have any idea why this happens?



Just checking the basics here:

  • Do you have a default spawn location (actor)? You shouldn’t.
  • Does this only occur on a specific sublevel or on all of them?
  • Which method are you using to move the actor?

By the way, out of curiosity: which language are you coding your server from? Making it from scratch or using a framework (like photon)?

I’m not sure if these can be marked as resolved, but we managed to solve it.
We checked rebasing the center of map and made sure to have the player starts in persistent level.

But to answer your questions, the problem occurred on all sublevels, and we’re using SetActorLocation(FVector Location)

The dedicated server is running through Steam, if that’s what you’re asking. But we’re using FOnlineSubsystem which automatically detects the steam setup and pretty much does everything for us. All we have to do is set up some delegates for the asynchronous functions (see Rama and eXi’s guides)

Thanks though!

Only asking because if you ever get more than 60-ish players in one server then…you will have bigger and bigger problems. The way out of this could be using servers as concurrent nodes and transition players between them, but there’s a big chance of it going bad…