Microsoft Azure PlayFab logo
    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Add-ons
    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA
  • Runs on PlayFab
  • Pricing
    • Blog
    • Forums
    • Contact us
  • Sign up
  • Sign in
  • Ask a question
  • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges
  • Home /
  • API and SDK Questions /
avatar image
Question by TerryPapamarkou · May 16, 2018 at 01:34 PM · apisCloudScriptLeaderboards and Statistics

best practice for saving statistics for leaderboards

hi,

In the documentation for the statistics it says

"Find and activate "Allow client to post player statistics"

But please note that doing so disables a security layer for your title, allowing players to post arbitrary scores to all of their statistics. If your game has any competitive play aspect, we would recommend that you never post statistics from the client."

So my question is, what is the best and most secure approach for saving a player stat (eg Trophy Count)? Should I send the new value to a cloud script that can run additional checks (eg time since last statistic change, how big is the change since the last update etc) before going ahead and saving the new value?

Thanks

Comment

People who like this

0 Show 0
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by Brendan · May 16, 2018 at 01:57 PM

The best and most secure way would be to have a custom game server (dedicated server) which the client connects to, and which controls the authoritative simulation of the game session. It would report statistics directly, and you would not turn on the client's ability to write stats. That way, you know that stats are always correct (as much as reasonably possible).

The next best would be to use Cloud Script. So, you'd have the client report stats at the end of a session, and the Cloud Script would check what it can - time since last stat report, actual value of the stats reported, etc. - to try to block players from cheating by reporting bogus stats.

Comment
TerryPapamarkou

People who like this

1 Show 1 · Share
10 |1200 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image TerryPapamarkou · May 17, 2018 at 09:39 PM 0
Share

OK thanks Brendan.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Navigation

Spaces
  • General Discussion
  • API and SDK Questions
  • Feature Requests
  • PlayStream
  • Bugs
  • Add-on Marketplace
  • LiveOps
  • Follow this Question

    Answers Answers and Comments

    1 Person is following this question.

    avatar image

    Related Questions

    Can Cloud Code Access the Admin API 1 Answer

    Saving data in Unity on Pause/Quit/Lose Focus 1 Answer

    In CloudScript: can I access Days, Hours, Minutes from a date? 1 Answer

    Scheduled task to update Store 1 Answer

    Best solution for accessing TITLE INTERNAL DATA 1 Answer

    PlayFab

    • Multiplayer
    • LiveOps
    • Data & Analytics
    • Runs on PlayFab
    • Pricing

    Solutions

    • For Any Role

      • Engineer
      • Designer
      • Executive
      • Marketer
    • For Any Stage

      • Build
      • Improve
      • Grow
    • For Any Size

      • Solo
      • Indie
      • AAA

    Engineers

    • Documentation
    • Quickstarts
    • API Reference
    • SDKs
    • Usage Limits

    Resources

    • Forums
    • Contact us
    • Blog
    • Service Health
    • Terms of Service
    • Attribution

    Follow us

    • Facebook
    • Twitter
    • LinkedIn
    • YouTube
    • Sitemap
    • Contact Microsoft
    • Privacy & cookies
    • Terms of use
    • Trademarks
    • Safety & eco
    • About our ads
    • © Microsoft 2020
    • Anonymous
    • Sign in
    • Create
    • Ask a question
    • Create an article
    • Post an idea
    • Spaces
    • PlayStream
    • Feature Requests
    • Add-on Marketplace
    • Bugs
    • API and SDK Questions
    • General Discussion
    • LiveOps
    • Explore
    • Topics
    • Questions
    • Articles
    • Ideas
    • Users
    • Badges