So far unsuccessful....)

Fundamantally, I believe we need to store the value of time when the client connects, so I used .connect_time for that.
Also I made .playtime and .client_time floats where I am thinking playtime will be the total time connected before the level change, and we add it to .client_time, then pass .client_time to a parm to be decoded next level. We then check playtime during the decode and if its not -1 we assume the client just connected , otherwise if its -1 we are carrying over the time from last level, so reset playtime to start counting from the start of the new level. Otherwise if we have client_time carried from last level, we just add it to the new playtime value which will be something like time / 60. I know it sounds crude, but for some reason I have been stuck on getting this right for a while, any help appreciated.