I’m trying to implement GameSparks into my server authoritative UE4 game and am running into a snag regarding making multiple connections to the server.
What I’m trying to accomplish is rather than having the client log into GameSparks and submit their own Log Events, the client sends a request to the game server to log in on their behalf. This would allow the server to trigger all player specific Log Events (setting position database, inventory database, etc.) which to my understand is much safer from a hacking perspective than having the client personally log them.
I launch my dedicated server first and then a client. Using text boxes from the client game I pass username/password variables to the server and log in on their behalf for “Tester01”. This all works fine. My blueprint that updates player location processes and sends information to the “Tester01” playerID position data index perfectly.
My issue occurs when I launch a second game instance and pass new login credentials to the server (“Tester02”). The server processes the new login and logs in on their behalf, however it seems that in doing so drops the previous login. Now all “Set Position” events on the server are being sent only to the “Tester02” playerID position data index and the “Tester01” index is no longer updating correctly.
Basically it seems that the UE4 server can only be logged in to one GameSparks account at a time. Is this correct? Is there a way around this? I can get the functionality working fine if I set everything client-side, however then I am allowing the client to trigger events and database changes which seems very unsafe to me.