osu-server-spectator icon indicating copy to clipboard operation
osu-server-spectator copied to clipboard

Handling of blocks, silenced, restricted users

Open peppy opened this issue 11 months ago • 2 comments

Right now we are doing basically nothing for these cases. As more users adopt lazer, it's going to become an important thing to do correctly very fast. I'd argue now is the time to focus on getting this right.

Restricted users

These users are basically jailed, and should not appear online in any way. They should not be able to interact with any online system apart from score submission.

  • Cannot enter multiplayer room
  • Cannot spectate other users
  • Should not be spectate-able by other users
  • Cannot chat
  • Should not show in online users list
  • Should not show presence to friends

Silenced users

These users are limited in actions they can perform to interact with others, but still appear as online as per usual.

  • Cannot enter multiplayer room
  • Cannot spectate other users
  • Cannot chat
  • Should show in online users list
  • Should show presence to friends

Blocked users

This is the case where one user has blocked another and doesn't want to see / interact with them.

  • Cannot enter a multiplayer room owned by the user that blocked them
  • Cannot spectate the user that blocked them (or optionally matching stable, if they can, they should not show in spectator list)
  • Should not show in online users list of users that blocked them
  • Should not receive friend presence updates of users that blocked them

Appear offline users

This is the case where a user has set their status to "appear offline", but they can still interact with others if they choose to.

  • Should not be spectate-able by other users (https://github.com/ppy/osu-server-spectator/issues/263)
  • Should not show in online users list of users that blocked them
  • Should not receive friend presence updates of users that blocked them

Additional considerations:

  • Bancho checked silence and restricted status on an ongoing basis in the background, to ensure users which are restricted are actioned against immediately. This is going to be required. Restricted users need to almost immediately be removed from online status. Without this, we have scenarios where a potential cheater make a spectacle of themselves as users continue to spectate them being a twat (was a regular occurrence in the past).

peppy avatar Jan 22 '25 09:01 peppy

There's probably missing details from this post, so let me know what needs to be added.

peppy avatar Jan 22 '25 09:01 peppy

in regard to blocked users players need a way to actually block them in lazer, maybe something that can be interchangeable with osu-web and its block button on profile pages? blocking is mentioned here as a missing feature so i didnt make a new discussion/issue: https://github.com/ppy/osu/discussions/29129

0x84f avatar Feb 11 '25 14:02 0x84f