Multiplayer Testing - Makes No Sense

Been working on getting my project to work in multiplayer, but I just can’t figure out how to set up a proper testing environment.

If I host it as a listen server, the clients will always fail at trying to get the gamestate. If I set it to run as dedicated - it works for the clients but not the host.

So it seems like it’s always one or the other. Either you test and things will work for the host, but not the clients. Or it will work for the clients but not the host.

I’m not new to client and server communication, it’s just the way that UE4 does it that makes absolutely no bloody sense to me.

I’ve made a server browser using Mordentral’s awesome advanced sessions plugin and it’s all working nicely and as intended, the issue comes forth whenever I try and get a list of the current players to fill the player list in the lobby system I am making.

If I run it as a listen server, it works for the client hosting the game - but will not work for any client that connects. If I run it as dedicated server - it will work for all clients connecting but not the host because OnPostLogin in the GM stops working.

How exactly are we meant to test this stuff? I can’t find any kind of documentation or guidelines on this matter. :frowning:

Not sure if I’m missing something or if I’ve managed to find a bug. But I have found a possible workaround to my issue;

  1. I had to set my custom gamestate to Net Load on Client; otherwise casting would always fail.

  2. For whatever reason, I have to append my player’s name with nothing like shown below or it will fail for whatever reason. (Not running as dedicated)

If someone could clarify as to what’s going on here, that’d be greatly appreciated…

Edit: Joining Player is the player controller provided by OnPostLogin in the GameMode.