Hell-Ban MU
-
I'm in the midst of a whack-a-mole game with banned player so the slight annoyance has my mind wandering. I've been thinking about this for a while and I don't think implementing this is worth the effort but I'll share the idea because it tickles me.
I believe the idea of the Hell Ban originates from forums. The user isn't prevented from using the site, however, they are the only person who sees any of the content they generate. They post, their posts go up, if they leave and come back their posts are still there. Nobody else sees them though.
With a few pieces you could do the same thing on MU. You would need to hack or hook the hard functions that determine "onlineness" for players like lwho(), hasflag(), etc, so that it shows people as being online. You'd have to hook page so that pages seem to go through to players that should appear to be online... or you could just have an emit to say that the person is page locked. You would need a robot to relay channel messages and onlineness updates from the real game to the hell game. Or you could just have scripted/logged events replayed. Finally, you'd need an iptables rules to DNAT hell banned players to the hell ban game; this is actually trivial.
The result should be a game that makes all the noises of a live game and is difficult to distinguish from the actual game.
-
So basically an echo chamber sort of idea. I like it. Seems like a lot of work though.
-
This would be awesome. Though the page-lock message wouldn't work -- it would take banned player a short time to determine that everybody on the game was refusing their pages, and then they'd make another mole to whack. If it just appeared that everyone was ignoring them, better.
Huh. What if your Hell game caused anyone whom they paged to appear to log off immediately, giving the banned player the impression that they had amazing powers of being annoying, and had destroyed the game.
-
This is part of why-- when I've banned people actively Doing Evil-- I tend to do it in the form of an iptables rule that blocks only the inbound packets. I engineer my firewalls to be stateful, so this leaves existing TCP sessions intact, at least in one direction.
From the perspective of people on the game, the person just becomes quiet and eventually idles off. This tends to de-escalate nicely; everyone says their piece, gets their last word in, then tends to subside as nothing else comes back.
From the perspective of the person banned, people are still actively responding to them, though eventually they seem to not pay as much attention and finally there is a network outage of some sort. This tends to have a moderately de-escalating effect also.
In most cases, a temporary ban is quite sufficient for the person to cool off and resume responsible adult behavior. Not always, though.
I don't think implementing a separate game is the way to go; better to do it with a variation on in-game message routing, much like how BLIND rooms (e.g. for truly quiet quietrooms, freezers, etc) make everyone in one feel like they are alone. I'd recommend calling it a SHUN flag on the player object, or similar.
Ultimately, pseudonymous services of this sort really have two options: Hope for the best, or rely upon some third-party authentication source for tracking accounts. E.g. OpenID, G+, Facebook (ugh), etc. Or allowing people in only after they have been recommended by one existing player-- and hold that player accountable for their guests' behavior. This is essentially a variation on the external authentication concept.
As it is, most of the community is horrified by the idea of supplying even an email address, yet so pathetically clueless that they won't use SSL.