Nice tutorial, Yes, OnPlayerUpdate isn't too well of a saving method as it's called around 32 times a second.
A simple timer will do it though.
Honestly i never thought of a timer, if i made one for about every 2ish minutes how much lag would it cause for 500 players, or if i set one to loop through players and save. haven't worked much with timers yet.