I'm working on an MMORPG and it is going really well, but I am taking a time to research the better way to keep data of server and client synchronized, avoid hack and overprocessing.
Should I keep the state of the online players on the program memory or database?
Need I a gameloop on the server too, just to know the expected state of the clients, or should I just validate the player actions based on his last update?
Should the client send his state on every step he take or only in primor actions like: start walking, change direction, walk in the same direction for 70 steps, stop walking?
Should the client presume the state of the other players?