Hey! So I would like to understand a little about how people exactly develop games in their manner. The game I am developing includes data save system. Please read the 2 points below and tell me which is preferable or a better option.
Doing most of the logic and functions server side, saving data everytime some value changes, then giving output and values to client side.
Doing most of the logic and functions client side, saving data only before player leaves, only communicating with the server when needed.
I am still new to game development so I pretty much jumbled my entire process and everything is scattered now.
You should never let the client send their own save data… that’s a huge vulnerability. You would pretty much be allowing any client to spoof their own data, leading to exploiters cheating their way through your game. However, you shouldn’t be saving data every time a value changes. Instead, you should do a “hybrid” of the two systems you proposed: Doing most of the logic and functions server side, saving data before player leaves, then giving output and values to client side.
ProfileService is a good data module to check out: ProfileService
Haha, that is the best option right now. And I do use profileservice only. Mainly because it handles huge games and is overall not a tedious task to use. Datastores are for some reasons just not to my liking. The hybrid you are talking about is what I use but the problem with that is theres too much data going around between the server and client then. Also, I would like to know how the client would be able to spoof their own data. I dont know much about how people hack into the game but as far as I know they cant change things like int values. At most they can teleport or send RemoteEvents which actually is not good thing if I am to do so many interactions between server-client.