Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
198 stars 9 forks source link

Vote Kick, Ban and Permission Change #558

Open Frooxius opened 4 years ago

Frooxius commented 4 years ago

Hello!

This is an additional feature based on the increasing reports and requests from the community (read https://github.com/Frooxius/NeosPublic/issues/557 for details first please) to complement the self-moderation toolset in Neos.

Essentially the idea is what it says in the title. Users will be able to initiate a vote to kick, ban or change permission (e.g. to spectator) for a particular user. If there's enough votes, the action will be taken. This would solve issues in worlds where the host is not present or that are hosted on headless.

Here are some important details:

Again, I'll appreciate any thoughts, concerns and ideas! As well as some info on how soon do you feel this should be added. This is a complement to the User Blocking Functionality and another addition to the self-moderation tools in Neos.

Since it's something that heavily affects you, the community directly, we need to know your feedback and need for this kind of functionality.

Reiko9 commented 4 years ago

(In public worlds)Please limit Direct-effect Voting privileges to "vote to spectator" aka no World building / editing privileges, because the "User-blocking" already allows users to Not See or Hear users they want rid of...

Allowing a collective voting system to directly block users is going to suppress unpopular ideas and is Open for abuse...

(Private worlds of Course I am all for Voting to Ban a user out of the Session... Since Personal and sensitive information/content can be displayed visually as well as audibly)


Using Voting to Identify content could be a Critically useful feature though.... aka Vote as NSFW, Explicit, Offensive, Annoying, etc

Users could Choose by Content Classification, What "Vote-flagged" content they want to Listen to. (Check-marks in settings probably) Aka If Player has NSFW content Disabled, they will be Unable to Hear Voice / actions from the Player Flagged as NSFW.. (Rather good to have if entering private worlds) could also affect visual content involving the player.

Likewise if a Player has ANNOYING content disabled, they will be Unable to Hear Audio emitted from an Annoying flagged players Voice and Actions.. (UGh squeaky Toys!) (Voting an Object as Annoying "noisemaker, etc" would also be good with the filter)

Even Better... Players can Vote-Flag Items / Objects within NeosVR as NSFW and Moderators can take a Look .... The More Votes the Item has, the Higher priority it is for Admins/Mods to check...

IN other words.. Voting makes an Excellent way of Identifying Content... It should be Up to the Player how their Client should Treat it... (Filter it)

I have Learned a good deal about Failed player Self-moderation systems from my Minecraft days....

From what I can tell Neos is all about the Players and their experiences... Hopefully we will not restrict these experiences to an entirely watered down Politically correct mainstream viewpoint...

After all VrChat exploded in popularity, because you can get-away with doing and saying insane things... (Ugandan knuckles was just the tip of the iceberg) (Insane stuff went viral on social media/ youtube and advertised the project) It would die off rather quickly if free-speech was restricted....

Sorry for being so serious about this... Content moderation is a double-edged sword and its very easy to destroy your own project if done wrong...

Just think of (Public-worlds) as Public square and the Free-speech/choice that applies there...

(Private-Worlds) like what goes on in your House/Bedroom... Moderation tools I hope will be Strong in here, because of how sensitive these rooms can be... (Block Live-streaming by DEFAULT Automatically in Private worlds... The Session Owner should have to Enable it manually, since this is like a camera in your bedroom... Granted this does Not help with Desktop capture devices)

Frooxius commented 4 years ago

Yeah excluding certain users like spectators from the voting is a good idea! And it'll definitely be configurable, so it'll be up to each host to decide this. We'll have to think carefully about how to set it up for officially hosted worlds.

In terms of voting on content that's a separate topic from this. I don't think voting there is the right solution, content should be tagged appropriately by creator/uploader in those cases and there likely should be reporting function for incorrectly tagged content. But that's not something we're dealing with now, so that'd be another topic/issue in the future. This issue isn't about content moderation.

However maintaining freedom of speech and thought is definitely crucial and important for how we structure the system and how we make decisions. It's one of the reasons why we only want to use global banning functionality as last resort in extreme cases and instead give users ability to better moderate and control their experiences in ways, that don't lock out other users from using Neos or meeting their friends because of conflicts and disputes, even in cases where the person is trolling or being a nuisance (that'd be ideal for the blocking or kicking/banning from your session) and ways that will more likely de-escalate the situation.

Reiko9 commented 4 years ago

Reporting Content is Far to slow of a Process and only fixes things After the damage has been done.. If someone Live-streams NeosVR when the Abomination is happening it is Far Far to late... This is why I pushed so hard a Vote-filter system... Filtered from the Game Immediately if players choose so...

TehTurk commented 4 years ago

I really like that the Vote Kick is configurable in some form, because it definitely does address some people's inability to "read the room" when they join if the host isn't there. I agree with the aspect that it's a double edge sword too and increasing session controls would also be ideal. I'm just sad we are also at this point, and hopefully as time goes on we can have more fine tuned systems to deal with this :c. One suggestion would be, would it be possible to have some sort of indicator if people in a session have someone in the session blocked? While 2 people might have their differences, it does also affect some social/interaction situations without being aware. (This could also be a future thing vs immediate thing understandably too)

Reiko9 commented 4 years ago

At the very Least... Allow a User to Personally Unblock a user that has Collectively been blocked by the majority... (Because it is personal Other players do not see them/ hear etc)

The Voting by Type-of-Activity is a Much more fine-grained and powerful approach, which would allow users to Decide What-type-of-Activity they wish to see... (Aka not see individuals involving certain behaviors)

Ugh I should have said Voting to "Identify-Behaviour" since content is not technically the exact lingo..

TehTurk commented 4 years ago

Ah Reiko I think you misunderstand Local, it would only be blocked for the 2 users in question who have each other blocked. No one else.

TheRealBobotron commented 4 years ago

Really well thought out! not gonna lie its unfortunate that times call for this but its something that needs to happen

can i make one request tho please! Can the vote kick/ban and vote for permissions be made separate?

Ideally id like it that people can vote perms in case i'm not there and someone is messing with workflow but i don't want anyone with the means to kick/ban someone in my sessions

TheRealBobotron commented 4 years ago

Using Voting to Identify content could be a Critically useful feature though.... aka Vote as NSFW, Explicit, Offensive, Annoying, etc

Aka If Player has NSFW content Disabled, they will be Unable to Hear Voice / actions from the Player Flagged as NSFW.. (Rather good to have if entering private worlds) could also affect visual content involving the player.

Even Better... Players can Vote-Flag Items / Objects within NeosVR as NSFW and Moderators can take a Look .... The More Votes the Item has, the Higher priority it is for Admins/Mods to check...

IN other words.. Voting makes an Excellent way of Identifying Content... It should be Up to the Player how their Client should Treat it... (Filter it)

I think many of these features will come into play when neos has the +18 verification system

Frooxius commented 4 years ago

@Reiko9 Maybe yeah, but like I said that's a future issue, this topic is about users, that's better discussed in the future.

@TehTurk Yeah I definitely want to keep this stuff configurable and optional, so the host still has control. We could make it part of session information as well, so users will know before joining the world if it allows for vote kicking and such as well.

Seeing blocks is possibility too. Question is how exactly would that be visualized though. If it should be somehow obvious immediately or something in the UI that you check. I feel that's better discussion for the other GitHub issue for the block function.

@Reiko9 This wouldn't deal with blocking. Blocking is always individual, this is for the session itself. If the user gets kicked, they're gone from the session. If they're voted to spectator, their visibility is unaffected.

@TheRealBobotron Yeah it's all proposed to be separate! So you could even decide which abilities you give. E.g. you could allow vote to spectator, but not vote to kick if you prefer. That way if there's disruptive person, people can downgrade them until you get back and deal with them yourself. Or maybe just getting set to spectator is sufficient to deal with the situation.

RueShejn commented 4 years ago

having vote kick also not allow the kicked person back into the world for a specific time would be good where that time could be adjusted by the host of the world and maybe adding a cool down after successful/unsuccessful vote kick to prevent spam

Canadian-Git commented 4 years ago

Following on Rue's concerns, as always with vote-kick, there's the potential of small groups of players to enter low-pop worlds and kick everyone present if they outnumber them. I'm not certain how this can be eliminated entirely - though requiring a timeframe prior to calling for vote-kicks may curtail it somewhat.

Frooxius commented 4 years ago

Oh yeah preventing raids to vote-bomb would definitely be an important thing to prevent. Having to be in the world for certain amount of time could help there.

To prevent the user from returning, that'd more of of the vote to ban. Perhaps the host can adjust for how long they get banned from the session?

Reiko9 commented 3 years ago

(Like being Jailed on a separate planet copy) Spectator + Different World-Layer might be a better alternative to Vote-Ban, I have seen worlds where I can exist in the Same place at the same time, but out-of-phase with other Players in Neos. We had 2 Pillars One to go to Dimension B and one to go to Dimension A.

If a User is forced to Spectator mode in Dimension B, other players can still visit them and talk easily... (Dimension swapping controls in World or GUI)

But they are kept out of Dimension A, where the players Vote-Banned them so they do not cause trouble...

When the Session-Host, Moderators, Admins, etc Visit the Session they can talk with the player in Dimension B and Find out why they were banned from interacting with the other players.

Simply Vote-Blocking a player out of a Session makes dealing with the situation less direct and is more jarring to the player... Kick to Dimention B could also work quite well... The World-Layers also avoid the Irritation of having to Reload the Entire World to Re-join after being kicked or unbanned, which reduces Server-lag and client lag...

This similar Idea is being used now-days to send Players suspected of Cheating to a separate Server where other Suspected Cheaters are.. So they can still have some game-play experience instead of being blocked entirely from the game...

https://hypebeast.com/2020/4/call-of-duty-warzone-cheaters-together-matchmaking-banning

Additionally if Players are Vote-Banning everyone else then their group... The Group of Banned players will meet each other in Dimension B and can Discuss what Other Session to Visit, so the Group is not destroyed by Vote-ban abuse.

shiftyscales commented 3 years ago

There are a few factors/reasons why that would not work as you are proposing- for one- for such a system to work, the host would still need to be processing the data of the client they tried to ban, which they likely would not want to do. For two- it seems like you are making your recommendations based on the way the systems are implemented at present.

E.g. if there was a notification message that stated why you were removed from the world, it would remove all confusion, and your proposed solution has a lot of potential to cause confusion, "Why did everyone in the session suddenly dissappear?"

If they just want to 'hide' that particular user, that's where other systems like blocking would come in to play. @Reiko9

Enverex commented 3 years ago

If I kick someone from a world, I'd not want them to exist in that instance in any way, shape or form. This would be especially true if they're doing something hostile or malicious (which they likely would be if I was kicking them in the first place).

Reiko9 commented 3 years ago

Then send them to a Separate session or headless session... So if Vote-Abuse is used to kick everyone else out of a session the players will still be able to Continue their conversation... We could Joke about using the "Hell" world as where the players are sent after being Vote-Kicked / Vote-Banned...

Having an Entire group split-up / fragmented, because Another group Vote-kicks/Banns them out of a session is a good thing to prevent, because it is both depressing and infuriating.
AS-Is whenever a Session Crashes its a serious head-ache getting the group back together again...

As of the moment for simplicity sake we would probably need a headless-session to function as a lightweight "Jail" world with everyone on spectator mode and possibly avatars disabled to improve performance..

At some point better Group management and communication tools will reduce this issue, but I am talking about if the vote-ban / vote-kick was implemented in a hurry with today's limitations..