Also, sorry to double post, but - I think this points to something that I think should be talked about, which is that leveraging instance master for any player-facing world behavior is a Pretty Bad Call.
I can’t say the amount of times I’ve seen a public instance lock up, not because of the timeout issue, but because the instance master doesn’t know how to do anything, the world doesn’t say who the instance master is, the instance master just doesn’t feel like doing anything, etc. It’s a concept that’s always confusing to new players (especially since master can be separate from instance owner but some worlds still rely on master even when an instance owner is available - why why why?), and it’s mostly there for technical networking reasons anyways.
I think this issue is a symptom of this. Master switching SHOULD be able to happen automatically when the client goes to sleep and can’t respond, even if they haven’t timed out yet. It shouldn’t have to matter that someone might have put their headset down and could come back to their instance ravaged - fault tolerance should kick in as soon as is possible. Waiting 4 minutes for an instance to become usable again is a pretty frustrating and confusing experience, and one I didn’t even realize was behind instances dying before when I’ve played.
Unfortunately, since it’s leveraged in many places for permissions (ownership of video players, who can start and stop a game, who can go behind stage at a public music instance such as club orion), this can’t really happen. However, I think really a better solution to this moving forward is just to tell world creators “HEY, THIS IS INTERNAL, DON’T USE IT FOR USER-FACING WORLD LOGIC” - sort of how we treat private functions, and encourage them to abstract it.
I understand it will break some legacy content, and is legacy behavior, and that’s a consideration to have. I think providing a “new type” world feature toggle to allow creators to convert to a logic type that always switches master when unresponsive, allowing them to design around it, would be beneficial - leaving older worlds on a “legacy type”, maybe improved as you have suggested here, or left completely untouched.
Obviously in non-public instances, one can use the instance owner or group roles - in public instances, however, this would require more thought, and possibly even lead to creative UX solutions that are even better than they have right now - for example, implementing vote-to-start or vote-for-settings in a games world, implementing a media queue and vote to skip in public worlds with media players, implementing a timed stage lock w/ cooldown in public music worlds like club orion so public worlds essentially become built for open decks, permissions systems to fall back on, etc.
The point being, I don’t think moving forward master should be something any end user has to think about, period, at all. I understand it’s a legacy thing, and consideration should maybe be provided to that, but its behavior thats inconsistent and hard for the average player to predict, understand and work around. I fully expect this to be dissected, but wholly welcome it - this is a good discussion to have, I think! <3
EDIT: Wow, I think I completely misunderstood the original post lol. Sounds like you’re planning most of what I’m talking about. Still, leaving this up, I think the logic here is something I want to express - as well as my opinions on abstracting away master (Which I think would make many worlds better and should REALLY REALLY HAPPEN!)