Ban
Contents
Intro
It's possible your channel at some point gets bothered by an annoying chatter who keeps coming back. In stead of kicking them every time, it usually is better to ban the person from your channel. This can be done in several ways.
Banformats
Maybe it is useful to first explain which information is available to you for setting a ban that affects 1 or multiple persons. A ban basically can be set in 1 of the following 2 formats:
nickname!ident@host.name nickname!ident@ip
where the hostname and the IP address can be a 'real' address, but also a socalled VHost or a 'masked' host/IP.
IP and Hostname
By default Chat4All does not show the full hostnames or IP-addresses of other chatters, but a socalled 'masked' address. In a masked host the first part of the hostname gets replaced with "Chat4all-" followed by a hexadecimal number (for instance Chat4all-9DCCB19), or is the IP displayed in hexadecimal octals where the last octal is replaced with the text ".IP".
A user kan also choose to request their own VHost; a virtual host that has no connection whatsoever with their real hostname or IP-address.
To offer a form of privacy towards the chatters, only IRC Server Operators kan see the real IP-addresses and Hostnames of other users, unless the user decides themselves to disable their host-masking or VHost.
Whois
This all might sound very technical, but it is not really important for the banning process, because all the information you need can be obtained through the socalled "/whois nickname" command. This shows, amongst other things, the ident and the (masked/virtual) hostname or (masked) IP-address of the chatter with the nickname you supplied in the command.
A couple of examples of the fictive users "MissAnon", "Devilish_Angel" and WaterLover31:
Masked IP
/whois MissAnon
MissAnon is ~Anon@1C238BB5.94BD3981.8EF3B903.IP * MissAnon is my name, Secrecy is my fame MissAnon on #lounge MissAnon using eu.chat4all.org Chat4All MissAnon has been idle 23mins 58secs, signed on Tue Apr 20 00:53:34 MissAnon End of /WHOIS list.
The ident of the user MissAnon is Anon (the ~ indicates the lack of an identd response) and the masked IP-address is 1C238BB5.94BD3981.8EF3B903.IP. It also shows the 'real name' or 'GECOS' the user set, in this case "MissAnon is my name, Secrecy is my fame". Your IRC client might format the response a bit differently, but the available information should be the same.
Masked Hostname
/whois Devilish_Angel
Devilish_Angel is quasselcor@Chat4all-1AB43129.hsf2.comcast.net * The hellfire is cold and the holywater burns! Devilish_Angel on @#heavenOrHellfire Devilish_Angel using us.chat4all.org Chat4All Devilish_Angel End of /WHOIS list.
The ident of Devilish_Angel is quasselcor (which probably indicates the user is using the IRC client 'QuasselCore'. Their masked hostname is Chat4all-1AB43129.hsf2.comcast.net and their 'real name'/'GECOS' is "The hellfire is cold and the holywater burns!"
VHost
/whois WaterLover31
WaterLover31 is w@ter.is.amazing * Splash! WaterLover31 is a registered nick WaterLover31 on &#waterbase WaterLover31 using eu.chat4all.org Chat4All WaterLover31 has been idle 1hr 11mins 38secs, signed on Mon Apr 19 23:58:10 WaterLover31 End of /WHOIS list.
For this last user, going by the nickname WaterLover31, ident is w and the VHost is ter.is.amazing. Their 'real name'/'GECOS' is "Splash!".
Channelbans
A simple ban can be set via:
/mode #channelName +b nickname!ident@host.name
This one can then be easily removed again with:
/mode #channelName -b nickname!ident@host.name
An overview of all currently active bans in the channel can be requested with the following command:
/mode #channelName +b
Most clients offer graphical user interface options for this as well. The Windows IRC client mIRC for instance, show the current ban list by double clicking in the textbuffer area of the channel. Here you can also remove individual bans. Kickbanning a user can usually also easily be achieved through context-menus that show up by right-clicking on the username of the user you want to ban.
The commands described here should however be available and working the same way in all IRC clients. Remember though to replace #channelName with the actual name of your own channel you want to ban the user from!
Example
For instance, imagine you are an operator on the channel #deadbeats and an annoying chatter by the nickname SirBitchalot is bothering your channel.
His hostname is "Chat4all-C32E5E2E.aol.com" and the ident is set to "elma".
The chatter is using the Chat4All Java applet, so the 'real name'/'GECOS' of the user is set to "Chatwereld: http://www.chatwereld.com".
A /whois SirBitchalot will then probably look something like this:
SirBitchalot is elma@Chat4all-C42E1D3E.aol.com * Chatwereld: http://www.chatwereld.com SirBitchalot is a registered nick SirBitchalot on #lounge @#iLoveTrolling #deadbeats SirBitchalot using eu.chat4all.org Chat4All SirBitchalot End of /WHOIS list.
The line:
SirBitchalot is a registered nick
can be missing if the user hasn't register their nickname, or is currently not logged in through NickServ.
Precisionban
If you want to ban that person with exact that nickname, ident and hostname, you issue the following command:
/mode #deadbeats +b SirBitchalot!elma@Chat4all-C42E1D3E.aol.com
Then no-one can join the room anymore with that precise combination of nickname, ident and hostname. Usually this isn't really effective though, since the user only needs to change their nickname or ident.
Nickname
If you want to ban everyone who uses the nickname SirBitchalot from your channel, you use:
/mode #deadbeats +b SirBitchalot!*@*
You can imagine that this ban isn't really effective either, because the user only needs to change their nickname to evade the ban.
Wildcard
The * (asterisk/star) symbols you can see in the above examples, are socalled wildcards, which means that the chat won't look at anything that is in that spot. It kinda means something like "anything is allowed on this spot".
In the above nickname example it for instance means it doesn't matter what the ident or the hostname of the user is. Every part and subpart of the "nickname!ident@host.name" and "nickname!ident@1C238BB5.94BD3981.8EF3B903.IP" format can be replaced with a wildcard *.
Wildcard nickname
You could for instance use the wildcards to disallow certain cussing nicknames, for instance:
/mode #deadbeats +b *ass*!*@*
This would mean that no-one with "ass" in their nickname is allowed to enter the room. So, "YouAreAnAss" can't get in, however, someone with the nickname "brass" or "assignment" wouldn't be allowed either. So, be careful that you don't set a too wide ban.
Ident
If you want to ban everyone who uses the ident elma, you type:
/mode #deadbeats +b *!elma@*
This ban isn't always very effective either, since the user only needs to edit their ident.
Also keep in mind that some users get an extra ~ (tilde-sign) in front of their ident, to indicate that they aren't running a socalled 'identd' service. This ~ also would need to be added to the ident ban, or replaced with a * wildcard.
Because some IRC clients also set the ident automatically, you could also be banning certain IRC clients from yoru channel. The usecase for this is rather limited though. As an example you have for instance the IRC client "Quasselcore", which by default sets the ident to "quasselcor". You could ban this client by setting:
/mode #deadbeats +b *!quasselcor@* /mode #deadbeats +b *!~quasselcor@*
However, in reality there isn't really any reason to ban this client from your channel.
Hostname
Een effectievere ban is er een op hostname. Een hostname is over het algemeen namelijk niet makkelijk te veranderen, aangezien providers hostnames en IP-adressen vaak voor langere tijd aan 1 internet aansluiting koppelen. Als je iedereen met hostname Chat4all-C42E1D3E.quicknet.nl wilt bannen:
/mode #flierefluiters +b *!*@Chat4all-C42E1D3E.quicknet.nl
Helaas zijn er nog steeds wel providers die dynamische hosts/IPs uitgeven die veranderen bij elke keer dat de persoon zijn modem herstart, of opnieuw inbelt.
Is dit het geval bij jouw vervelende chatter die je wilt bannen en krijgt hij/zij elke keer een iets anders IP of hostname, dan kan je ervoor kiezen om het veranderende deel te 'wildcarden', kortom te vervangen met een *.
Let op! Dit kan een deel van legitieme chatters ook uit je kanaal weren!
/mode #flierefluiters +b *!*@*.quicknet.nl
zou bijvoorbeeld alle gebruikers die quicknet.nl als provider hebben, weren uit je kanaal.
Handiger zou misschien zijn om dit te combineren met een ident ban, zoals bijvoorbeeld iedereen met een ident die begint met "elma" en quicknet.nl als provider:
/mode #flierefluiters +b *!elma*@*.quicknet.nl
of iedereen met een nickname die begint met klierekruid en quicknet.nl als provider
/mode #flierefluiters +b klierekruid*!*@*.quicknet.nl
Als je iemand met een specifiek IP of hostname wilt bannen uit je kamer, dan tik je dus:
/mode #naamVanKamer +b *!*@hostname.van.persoon
Akick
Let op, normale channel bans (gezet met /mode #kanaal +b) verdwijnen zodra de kamer helemaal leeg is!
Wil je de bans ook bewaren als de kamer leeg is geweest, dan kan je zogenaamde 'akicks' (auto-kickbans) plaatsen via ChanServ.
Let op, hiervoor moet je kamer wel geregistreerd zijn. (Op http://www.chat4all.be/nl_eigenchatkamer.html kan je lezen hoe je je kamer registreert.)
Het plaatsen van een AKick kan met dezelfde banmasks, die je in het volgende commando moet plaatsen:
/CHANSERV AKICK #NaamVanKamer ADD nickname!ident@host.name
Dus om terug te grijpen op ons eerder voorbeeld, bijvoorbeeld om iedereen van Chat4all-C42E1D3E.quicknet.nl uit je kamer #flierefluiters permanent te auto-kickbannen, tik je:
/CHANSERV AKICK #flierefluiters ADD *!*@Chat4all-C42E1D3E.quicknet.nl
Of, als je het op IP (laten we zeggen dat 192.168.2.1 het IP is) wilt doen kan dat ook, bijvoorbeeld:
/CHANSERV AKICK #flierefluiters ADD *!*@192.168.2.1
Of met een masked IP:
/CHANSERV AKICK #flierefluiters ADD *!*@1C238BB5.94BD3981.8EF3B903.IP
Als de persoon een geregistreerde nickname heeft, kan je die ook op de AKick lijst plaatsen:
/CHANSERV AKICK #flierefluiters ADD klierekruid16
Als er dan iemand de kamer binnenkomt die via NickServ zich geïdentificeerd heeft voor de nickname klierekruid16, dan wordt hij automatisch gekickbanned. Dit kan handig zijn als een gebruiker meerdere nicknames gegroepeerd heeft via NICKSERV GROUP.
BotServ
Als je kanaal geregistreerd is, en je hebt een BotServ bot in je kamer met de FANTASY optie (standaard) aan, dan kan je ook het !kb commando gebruiken om iemand te kickbannen. De BotServ bot zal dan automatisch een ban zetten op de hostname van de opgegeven persoon.
!kb klierekruid16
zal dus een ban zetten op *!*@Chat4all-C42E1D3E.quicknet.nl
Je kan deze hostban ook op de AKick lijst zetten met het !akick commando.
!akick add *!*@Chat4all-C42E1D3E.quicknet.nl Klier
in je kanaal zal een akick plaatsen op *!*@Chat4all-C42E1D3E.quicknet.nl met de kick-message "Klier". Momenteel is het helaas alleen mogelijk om een enkel woord als kick reden op te geven.