If you put any timer on the client, then the code running that timer will shutdown when the client leaves. Since its only 5min you could keep a record on the server in a script somewhere incase they come back.
Depends really. If its 5min regardless if they are in the game or not, then just have a script with a variable on the server that holds the info. If you want the 5min to resume when the client comes back then you’ll need to keep track of how much time the player has actually waited (not including when they out of the game), in which case yea you need to store the waited amount in a datastore and retrieve it when they come back.