@Thenomain Here's the thing, though: certain design decisions mean that providing an email is not opt-in. Namely, it's needed for the wiki and to provide the initial MUX login password (and any resend if the person ends up with a temp ban and gets change-passworded until the ban expires; this is relevant, will mention how/why below). That part isn't, and really can't be, opt-in, so the 'provide an email' thing isn't something I can call 'opt-in' completely. There's bonus 'we hope this is helpful and if people want it they can sign up for it and we'll happily do that extra work for you in an attempt to be helpful' stuff, yeah, that absolutely is opt-in. Just, the over all 'we need an email' isn't.
Re: the temp-ban things mentioned above:
My judgement call on this is to work with @newpassword, rather than an IP ban. IP bans are not as reliable in the days of VPN, and like I mentioned before, can adversely impact innocent third party roomies or spouses, etc. in ways I, personally, consider quite unfair, and would not feel comfortable with.
I have seen good effects come from the use of temp-bans, or 'enforced vacations' if one's feeling euphemistic (I'm usually not feeling euphemistic). A more accurate definition of this, to me, is 'cooldowns' if I had to pick an effective euphemism.
There are long-term temp bans that should be called precisely that for actual abuse, or infractions. Permanent ones if it's bad or repetitive, obviously, or intentional abuse that can be clearly proved in some way.
But! ...even the nicest, most reasonable, most fair-minded people can have the occasional meltdown and asplode. And sometimes they will not stop asploding until someone steps in and contains it. You can come up with some kind of elaborate coded prison cell or something to lock someone up in to sit on the game and fume in silence, but I'm not that code savvy, and I actually think that's less effective than temporarily removing them from the environment entirely, because the environment is, at that time, clearly not the one they should be in, usually for their own sake and that of the others on the game. Cutting someone off to go back to the real world for a while is much more effective; leaving someone to sit connected and non-communicative and stewing tends to only make them hyperfocus on the anger/frustration/etc. Basically, confinement and a sense of helplessness in a restricted online space is not the best way to accomplish a reality check, and most of the time, this is what someone actually needs.
@newpassword and @boot does this the most cleanly, IMHO.
It's possible, I guess, to create some kind of login, similar to a guest, that can potentially only communicate with staff or something, to handle these kinds of 'pop back in to get the return password', or otherwise handle things like this, but that seems like a lot more work than just sending somebody an email with their new password when the cooldown time or temp ban has expired. There are options for this with the cron that are also worth looking at. Still, emailing the new password is the easiest, lowest code-overhead method.