I have been working on a Flappy Birds remake game, and I always wondered how java games which are not multiplayer, can have highscores while they are not on a live connection, it only tries to connect at the end when you import the score, and these games were not cheatable.
I know that everything that is controllable by the user is not secure, and the only way to make things secure is, handle every bit of the game in the server.
Is that correct? Is there a way to secure my game's score importing?
I have only one idea:
At first I will connect to a socket, and then record every movement that happens in my game, and if it looks legit at the end of the game, the score will submit, else will be logged as cheater.
I have read this: How to securely submit a high score in a front end game to prevent post hijacking
But in the answer, I am not sure what he means by 'Replay of the game', maybe it means what I described above with live-connection logging?
People were saying that I can use RSA and a lot of things like encryptions client sided, but I really doubted it because the user already has the code, whats the problem to 'cheat' in that case.
What is the best way to submit Java game score? Or what is the most efficient way to do so? Or, can I do this without using sockets or connection pools?