In an obby, when you touch a checkpoint, it respawns you at the checkpoint. That works perfectly for me. It puts you in a new team too. The question that I have is that is there a script you put in the checkpoint or in ServerScriptService (my best guess) that assigns that team to your UserId or something so if you rejoin you respawn there and your team stays the same. I've gotten it to work with currency but it's mandatory to use teams.