presented in Stat and achievement section. As I understand, for network games this code should be called on the Dedicated Server. If it will be called on the client side, it will be very easy to use backdoor for cheaters. They may reverse engenier the game code and just perform call of this method on thier side with any value of update they want to use.
So, updating of stats should be performed on Dedicated Serverā¦ that has no any logged in users on itās side. As I understand, Identity->GetUniquePlayerId(0) will be useless in such case.
So, my question is - what is safe way of updating stats on the Dedicated Server side?
If youāre launching your game from the Epic Games Launcher, you can change the config key to bUseLauncherChecks. This is a change in UE5.4 (release notes):
OnlineSubsystemEOS: Removed bShouldEnforceBeingLaunchedByEGS config variable. Licensees using this mechanism should migrate to using the "LauncherChecks" mechanism (see bUseLauncherChecks in TargetRules.cs)
Hey, GetUniquePlayerId wonāt work on a dedicated server. This function calls the function below that returns an EmptyId on a DS (since the LocalUserNum doesnāt make sense).
When a Player is registered on the dedicated server, the NetId is stored on the PlayerState using SetUniqueId (see AGameSession::RegisterPlayer). You can retrieve it using GetUniqueId. You can do this to get the NetId to update the stat.
Sorry about that, the code is indeed designed for this to be called client side which is less secure than calling it server side. Iāll add an item to my backlog to add an example in the repo.
Thank you a lot, we will try this one in our game!
The other one theme that, surelly, will be very helpful for a lot of EOS users is analytics. Currently analytics is filled very strange for our game: geo-data (like place from which client of game was started) is passed into analytics by default - even without logging in into API. But, from the other hands, there are no analytics for Stats (just no any infoā¦) - while stats was succesfully updated several times. There was no error code, actual client Stats value returned.
Maybe, anybody know where some information about analytics processing when using EOS OSS?
Helloā¦ Two month passed, but we still need EOS Analytics on out project. And there still some very strange behaviour described in previous post.
We tried create session on server side (using SessionInterface->CreateSession(...)) and add player to it (using SessionInterface->RegisterPlayer(...) on GameMode::PostLogin(...) / ::PostLogout). Unfortunately, it not helped
If anybody setup Analytics logic for EOS OSSā¦ Iām sure that you have/had some problems with it and it will be useful to share knowlage with community
Thanks for sharing the course! Itās great to know that the code is maintained on GitHub, even though the course content might have some slight variations. This should be a helpful resource for anyone looking to integrate the EOS Online Subsystem plugin in Unreal Engine!