It's a common problem. You have:
1. Play on a ranked server (i.e. You can't really play freely with your friends)
2. Exit at the end of the round clicking on the "Leave Session" button.
If you leave the game for any other reason, then you lose everything. As for the problem with that... in theory, it should take them around 5 to 10 lines of code to solve. Most likely only 3 or 4 if they've properly written their save function.