Room moderation

This is a brief proposal for additions to Hubs to help facilitate crowd control in small “meetup” spaces where there may be bad actors.

There will be two new “roles” users can be in for a specific room: a host, or a mod. A room has at most one host that is immutable once set, and the host must be logged into an account. Mods do not need to be logged in. (Though this may change in the future – the reason I think its a bad idea is due to UX friction and the extra work in doing the flow for v1.)

A room starts off with no host, and has a random name. If there is more than one person in the room, then its not possible to become the host. If you are in the room by yourself, you can become the host by logging in (if there is no host already.) Or, if you are logged in when you create the room, you are automatically the host of any room you create.

Mods have the ability to mute and kick other users in the room. Hosts have this ability too, but can also:

  • Rename the room (and update its canonical URL)
  • Change the scene for the room
  • Close the room (and kick everyone)
  • Adjust any other room-level settings that emerge (custom image, capacity, password, avatar restrictions, feature flags, etc.)

When in the room you can see who the hosts and the mods are in both the presence list and via their nametags.

Muting and kicking users can be done via in-game controls in the freeze menu and in the presence list. When a user is kicked I’m not sure if they should be kicked out of the room or be “hellbanned” where they become invisible to others but don’t know they are kicked. In any case their owned objects should be removed.

Renaming the room, changing the scene, closing the room, and adjusting settings happens on the landing page (if you are the host) and under a settings button.

In order to become a mod, you are given a special entry link by the room host. If you open the link, you’re connected to the room as a mod. If you’re logged in, your account is tagged as being a mod for that room. I don’t think we should have other mechanisms like local storage to keep track of mod credentials in order to keep things simple.

This makes sense. For simplicity I would ditch both the whole notion of becoming a host of an empty room in favor of just hosted rooms being created by logged in users. I would also ditch the idea of tagging accounts as moderators and just make the shared secret the source of truth for mods.

Sidenote, what you are calling “hellban” I have usually heard called “shadowbanned” which seems a bit more descriptive heh.

haha I believe that originates from my time on the SA forums – noted :slight_smile:

the main use case for mods i was concerned about is the case where they want to be in VR. if we have a shortlink to share the secret with mods, its probably going to be a bit of a pain to type in. but in any case, we can work through the details on that based on how it ends up feeling once we get the baseline secret/link-oriented one working.

oh also, the “log in to become a host” is just me getting out ahead and designing the “carrot UI” in my head where the user sees various buttons that let them edit the room, and when they click on them they get prompted to sign up/log in to become the host. so it’s more of an acquisition-oriented feature.

I’m wondering if becoming a mod via secret link is too cumbersome-- so, for example, sharing that secret link with a user means that a host cannot (should not) say that link out loud for fear that other users might hear it. Also, a host may not know who they want the mods to be until they are in the room already. In which case, might it make sense to have a way for hosts to appoint mods via the landing page/presence list?

That seems like a good idea. I think we’ll need the secret link case regardless (unless we want to tie mod rights to accounts) since for meetups you’ll want to coordinate mod assignment beforehand. (If you could appoint a person a mod by selecting their account, it would work, but if not, you need to give them something up-front they can use at meetup time to get mod rights.)

A host may also want to be able to revoke mod status as well. (As in, ‘Dom is on a power trip and must be stopped’) In which case, the method of control via presence list would also be useful, but his secret link would negate that ability so I’m not sure how that could be done.

given these points, perhaps we should just back out both host and mods as account-required roles. hard to say if it will be more/less work but overall given the use-cases mentioned the alternative of account-less mods seems like work is piling up to support all of these things.