Im creating a game where players can create their own levels and publish them online, so that other players can play the levels and compete for the best score. The best score will also have its game-replay saved and uploaded, so that other players can run agains the ghost of this player.
While writing the server code for my application (ASP.NET Core), I have noticed that it would be easy to either modify the score or replay data(CSV with position and rotation values for ghost) before posting. Or simply post false values to my endpoints.
How would I go about ensuring that the data posted to my server is truly coming from my game clients and that the data is not modified elsewhere?
My game will be running on both mobile and desktop, so I wish for a solution that will be fully secure on all platforms.