Download

Multiplayer Widget To call GameMode Function?

My understanding is that the Widgets are clientside non replicated, and the Gamemode only exists on the server. I am running A dedicated server setup and still a bumbling fool with blueprints. I for the life of me can’t get a complete picture on how to solve this after about 5 hours of searching.

example intent: User Login Screen.
1.Client inputs user and pass in the widget.
2. Information needs to be sent to server running Authentication level. But not any other users who are also connected.
3. Server sends information to mySQL server to authenticate.
Bonus round.
4* Server returns to requesting client next server address to connect to. (server needs to remember and return to the requesting client)

My understanding is that in order for a widget to even call something on the server it needs to cast to a replicated actor. Since the information should NOT be sent to other clients, the optimal place to cast to from the Widget is a player controller. From the player controller we should now be able to cast to the Gamemode to request the server to run it’s authentication function.

I haven’t yet looked into how to return the results to only the requesting client, as I am currently failing to cast to the gamemode.

Questions.

  1. Am I understanding everything correctly
  2. Am I perusing this in the best method blueprints allow?
  3. Is there a full blueprint example of how to cast this scenario properly (I believe i stumbled into a couple examples of this from a couple years ago but they only show about half the diagram)?
  4. Thinking on this I assume my failure here is because the object I am casting to belongs to the server and I am using the Getter for the owner of the player controller, if that is so, how do I correct this?

Key notes:

  1. I’ll likely need to use this sort of model for other game functions and I understand there are better practices to operate authentication.
  2. Because the Client should never have direct access to your database server, It needs to be the sole holder of the connection information.