I'm trying to figure out a way to have player data stored client side while minimizing cheating because I want to avoid any kind of official server.
I was tinking about packing player data like inventory and stats into 32 byte buffers and hashing these chunks with sha256. That data would be stored client side.
On a player server the 32 byte hash chunks would be salted with the servers 32 byte server key then hashed with sha512 and the 512 hash would be stored in a player server database along with the player data that has been hashed. If the sha512 hash isn't found on the server when it has received altered hash chunks then this could be an indication of cheating.
I know there could still be cheating, for instance players on the same server could trade their hash chunks to have the same player data.
I think this would minimize player tweaking their stats manually.
I would like to somehow share player data across servers but I'm not sure how I could do that without just storing player data directly on the client.
So that's my idea for client side data. I'd like to hear ideas on other ways it could be done. Espicially if there are some ideas on how player data can be shared cross servers.