x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Post Login Event not firing on active clients after Seamless Travel

The "Event Post Login" bp node in a gamemode blueprint isn't being called when clients finish using seamless travel. Now I figure that this is intended behavior since clients are technically already logged in and their controllers are just being carried over. I need, however, to select players' spawn location and color for the new map after they travel to it.

So, I am wondering if there is a way to call the Post Login Event on clients brought over with Seamless Travel or if there is an alternate node that would call when they are done travelling, preferably giving a reference to their player controller the same way Post Login does.

  • This is happening in UE4.7.6 only modified to use Steamworks v132 & Rama's BP nodes.

  • When loading directly into the map, post login fires as desired. Only doesn't work when travelling from another map. I have not tested changing maps without seamless travel or with clients connecting after the map has been loaded (as the latter will not be a feature).

Product Version: UE 4.7
Tags:
more ▼

asked Jul 02 '15 at 09:43 PM in Blueprint Scripting

avatar image

Atonement
55 4 3 9

avatar image rXp Jul 03 '15 at 12:04 PM

I found a solution, look at my answer :) It is updated

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

Hi,

I have the same "issue". I use the quotes when saying issue because from what I have seen it is normal. When you use seamless travel the clients doesn't disconnect so they can't reconnect. They just load the map.

This means that OnPostLogin will never be called after the connection to the server. If you want a OnPostLogin when a map changes you need to not use seamless travel. Another solution would be to find another event (I am still looking) to know when the map is loaded form the client side and execute an event on the server saying "I joined the map".

I hope it helps :)

I have a solution : On the Tick event check if the player has a locally controlled playercontroller if yes then the client is connected (don't forget the "do once").

more ▼

answered Jul 03 '15 at 08:30 AM

avatar image

rXp
311 21 16 39

avatar image Atonement Jul 03 '15 at 04:37 PM

How did you get that to work? Local player controllers should persist between levels, does it just get reassigned once the travel is done?

As of right now, I've decided to just not use seamless travel, as it's not important that clients stay constantly connected, but I am interested in this solution.

avatar image rXp Jul 03 '15 at 05:43 PM

I use the tick from the level BP and the tick will start only after the level is loaded up. I check of the controller is a local one to be sure that if the controller change (from a long controller to a game controller) then I send the event to the server only when the controller is possessed. I hope this help and set it as answer if it is all that you need :D

avatar image Atonement Jul 04 '15 at 04:34 AM

Interesting solution! I think I'll switch back to seamless with this. Thanks!

avatar image gozu Jul 03 '17 at 05:19 AM

Anyone reading this, to save you some time;

After seamless travel AGameModeBase::GenericPlayerInitialization(AController* Controller) and AGameModeBase::HandleStartingNewPlayer

Gets called for the client.

This is working good for me.

avatar image Elou44 Jun 04 '18 at 08:29 PM

AGameModeBase::GenericPlayerInitialization(AController* Controller) worked for me ! (used after seamless travel). Thanks a bunch ;)

avatar image sparky693 Jul 17 '18 at 12:49 AM

gozu I love you.

avatar image RoosterFather Jan 14 '19 at 06:01 PM

love you man, this event decides many problems. Im used HandleStartingNewPlayer as built in blueprint event in gamemode.

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question