From Chat4AllFAQ
Jump to: navigation, search

Extended Bans Tutorial

This tutorial will teach you how to make use of the new banning possibilities that have become available to channel operators. It makes use of the new Extended Bans that have become available in UnrealIRCd.

With UnrealIRCd comes the masking of IP/host addresses to secure the privacy of the chatters. Such masked IP/Hostname makes it more difficult to find the real IP/Hostname of someone. The "+x" usermode indicates that masking is active. Ban evasion gets more complicated, a hostname ban matches both masked and unmasked hostnames. Same applies to IP addresses.


As for most bans go: you can wildcard parts of the ban mask by replacing the part with a asterisk *. For instance, given the following user:

 Nickname: Lamer
 Ident: iamlame
 Hostname: lamest.user.example
 Full hostmask: Lamer!iamlame@lamest.user.example

You could ban everyone with a nickname starting with Lamer, by banning:


or you could ban everyone with 'lame' in his ident, by banning:


or you could ban the user by banning everyone from lamest.user.example:


Of course this can all be combined as well, by banning everyone with a nickname starting with Lame, an ident ending in amlame and a hostname ending with user.example by banning the following mask:


If wildcarding still isn't clear, please join #help on the Chat4All IRC Network and ask for more examples :)

New ban modifiers

New in the IRC software are the extended bans. Extended bans have the following syntaxis :


The different types :

* ~q : quiet
* ~n : nickchange (Anti-Flood Feature)
* ~c : channel
* ~r : realname

~q: (Quiet)

The ~q extended ban will ban a user matching the ban from talking in a room, but will still allow them to enter the channel, or change their nick while being on the channel. Chatters matching this banmask are unable to speak unless they have +v or higher.


  /mode #channel +b ~q:nick!ident@host.mask


  /mode #lounge +b ~q:*!*@*.aol.com
  05:40 -!- mode/#lounge [+b ~q:*!*@*.aol.com] by Jay

would refuse anyone from AOL (*!*@*.aol.com) to talk on #lounge. However, they would still be allowed to join the room and listen to others talking.

~n: (Nickchange)

The ~n extended ban will disallow nickname changes from people matching the banmask for as long as they are in the room. As with all bans, it will become useless if they have a voice (+v) or higher.


  /mode #channel +b ~n:nick!ident@host.mask


 /mode #lounge +b ~n:*!*@*.test.be
05:42 -!- mode/#lounge [+b ~n:*!*@*.test.be] by Jay

would refuse any chatters coming from test.be to change nickname while they are in #lounge. Unless they are voiced or higher.

~c (Channel)

If you have a lot of trolls coming from a rival channel, you might want to ban all chatters that are also present on that channel. The ~c extended ban can be used for that.


  /mode #channel +b ~c:#otherChannel


 /mode #lounge +b ~c:#lamerz
 05:47 -!- mode/#lounge [+b ~c:#lamerz] by Jay

would ban access to #lounge to any chatters who are also on the #lamerz channel.

~r (Realname)


  /mode #channel +b ~r:real_name_goes_here

Attention: replace your spaces by an underscore (_) , since spaces aren't allowed in bans. An underscore will then be recognised as either an underscore or a space.


 /mode #lounge +b ~r:netbus_pro*
 05:50 -!- mode/#lounge [+b ~r:netbus_pro*] by Jay

If the realname of a chatter starts with netbus_pro , then (s)he will be unable to join #lounge.

~f (Host Forward)


  /mode #channel +b ~f:#mychan-nl:*!*@*.nl

If the end of the host mask ends in .nl, send them to #mychan-nl instead of the channel they joined.

USAGE TIP: Using *!*@* as a mask here can be useful in redirecting all users of a channel to a new channel in the event of a name change in your channel.

~T (Text Ban)

NOTE: This method will take up 1 entry per use on your ban list, and will disappear after the last person leaves the channel (although you can make them stick by adding them as AKICKs). With the ~T Text Ban extended ban you can block message containing specified words, or censor those words and still allow the message. There are 2 types of ~T extbans, the block and the censor. Block will block the entire message if the blocked word appears in the message, where as censor will only censor the censored word and will allow the rest of the message.


With the ~T:block: extban you can block messages that contain certain words.


 /mode #channel +b ~T:block:*somethingoffensive*

If a message contains the text 'somethingoffensive', the message simply will not go through.

For example, if you don't want people to be able to use for instance XDCC/FSERVE commands on your (example) channel #libertiesAreGone, such as for @find, you can block all messages that contain that word:

 /mode #libertiesAreGone +b ~T:block:*@find*

Which would result in:

 [08:13:46] * o_o sets mode: +b ~T:block:*@find*
 [08:13:56] <+NotUE> @find
 #libertiesAreGone Message blocked due to a text ban (#libertiesAreGone)

To make this textban permanent on your registered channel, you can set an AKICK for it:

 /CHANSERV AKICK #libertiesAreGone ADD ~T:block:*@find*
 /CHANSERV AKICK #libertiesAreGone STICK ~T:block:*@find*

Be sure to STICK it, otherwise it will never be set/activated, since it does not involve a userhost.

NOTE: You might want to consider using a BotServ bot with the BADWORDS feature. This will not use up your max banlist entries, and is easier to configure. People will also not be able to request the list of banned words this way. In addition you can also configure BotServ to ban the user after he has used blacklisted words for more than x times. Although the difference is that the BADWORDS feature kicks after the word is said (and has appeared in the channel), whereas the extban prevents the bad word to show up in the channel at all.


With the ~T:censor: extban you can censor certain words in all messages.


 /mode #channel +b ~T:censor:*somethingoffensive*

If a message contains the text 'somethingoffensive', the word will simply be replaced with '<censored>'.

For example, if you don't want people to be able to say 'n00b' your (example) channel #WeWereAllNewbiesOnce, you can censor that word with:

 /mode #WeWereAllNewbiesOnce +b ~T:censor:*n00b*
 [08:13:46] * FiXato sets mode: +b ~T:block:*n00b*

Now, if the user So1337 joins and types:

 you are such a n00b! I pwn you!

The rest of the channel would see:

 [08:13:56] <So1337> you are such a <censored>! I pwn you!

To make this textban permanent on your registered channel, you can set an AKICK for it:

 /CHANSERV AKICK #WeWereAllNewbiesOnce ADD ~T:censor:*n00b*
 /CHANSERV AKICK #WeWereAllNewbiesOnce STICK ~T:censor:*n00b*

Be sure to STICK it, otherwise it will never be set/activated, since it does not involve a userhost.

NOTE: We also have a limited server-based list of 'censored words' you can activate on your channel by setting channel mode +G. However, this list is rather limited and not maintained because we think people can easily find way around these restrictions, and because the choice of words is rather subjective. What one might find offensive, might another find a perfectly suitable word. For instance, the word 'bitch' might not be suitable in an average conversation, but a channel about dogs would find it a very ordinary word to describe a female dog.


When you are banned and still try to talk (in case of ~q ban), or try to change your nickname (in case of ~n ban) or try to join while you match a channel (~c) or realname (~r) ban, you will see the following message:

 06:51 [someUser] test answer :)
 06:51 #lounge You are banned (#lounge)