MadStudioRoblox / ProfileService

Universal session-locked savable table API
https://madstudioroblox.github.io/ProfileService/
Apache License 2.0
292 stars 157 forks source link

Players have to wait 80 seconds (force load timeout) to play the game after migrating servers #41

Closed ambergamefam closed 4 months ago

ambergamefam commented 5 months ago

With the recent Automatic Reconnect feature, I am getting user reports of players being unable to play the game for a full minute (by which point most players give up and leave the game) after migrating servers to the newest version.

I was able to load the player data of a player who was in a migrated server, and I was able to confirm that their data will never load until you wait a full minute and a half in-game. In our case, we reduced the ForceLoadMaxSteps to 2, which solved the issue, but this will affect any game that uses ProfileService's default values.

I believe this happens due to the combination of servers being shut down + players being teleported to new ones ahead of time causes the old session lock to never expire. This means that players will experience serious hiccups when migrating servers, which basically defeats the purpose of migrating servers in the first place.

Roblox is also moving towards deprecating the "shut down" feature, opting to always migrate and always reconnect when pushing updates.

LM-loleris commented 4 months ago

I'm personally running ProfileServices on a multi-place game and couldn't reproduce this. Without using :Release() at proper times may lead to such problems and, unfortunately, if there's something that has changed in the Roblox API behaviour than this is beyond this module's scope. If you find good reproduction steps for this issue feel free to open a new issue and share it.