Difference between revisions of "ExtendedBans"
m |
|||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | Extended | + | [[Category:EN]] |
+ | = 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. | ||
+ | == Wildcarding == | ||
+ | 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: | ||
+ | Lamer*!*@* | ||
+ | or you could ban everyone with 'lame' in his ident, by banning: | ||
+ | *!*lame*@* | ||
+ | or you could ban the user by banning everyone from lamest.user.example: | ||
+ | *!*@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: | ||
+ | Lame*!*amlame@*.user.example | ||
− | + | 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 : | New in the IRC software are the extended bans. Extended bans have the following syntaxis : | ||
<type>:<stuff> | <type>:<stuff> | ||
Line 16: | Line 32: | ||
The different types : | The different types : | ||
* ~q : quiet | * ~q : quiet | ||
− | * ~n : nickchange ( | + | * ~n : nickchange ([[Anti flood|Anti-Flood Feature]]) |
* ~c : channel | * ~c : channel | ||
− | * ~r | + | * ~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. | ||
+ | |||
+ | ''Syntax:'' | ||
+ | /mode #channel +b ~q:nick!ident@host.mask | ||
+ | |||
+ | ''Example:'' | ||
+ | /mode #lounge +b ~q:*!*@*.aol.com | ||
+ | 05:40 -!- mode/#lounge <nowiki>[+b ~q:*!*@*.aol.com]</nowiki> 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. | ||
+ | |||
+ | ''Syntax:'' | ||
+ | /mode #channel +b ~n:nick!ident@host.mask | ||
+ | |||
+ | Example: | ||
+ | ''/mode #lounge +b ~n:*!*@*.test.be''<br /> | ||
+ | 05:42 -!- mode/#lounge <nowiki>[+b ~n:*!*@*.test.be]</nowiki> by Jay<br /> | ||
+ | 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. | ||
+ | |||
+ | ''Syntax:'' | ||
+ | /mode #channel +b ~c:#otherChannel | ||
+ | |||
+ | ''Example:'' | ||
+ | /mode #lounge +b ~c:#lamerz | ||
+ | 05:47 -!- mode/#lounge <nowiki>[+b ~c:#lamerz]</nowiki> by Jay<br /> | ||
+ | would ban access to '''#lounge''' to any chatters who are also on the '''#lamerz''' channel. | ||
+ | |||
+ | === ~r (Realname) === | ||
+ | ''Syntax:'' | ||
+ | ''/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.'' | ||
+ | |||
+ | ''Example:'' | ||
+ | /mode #lounge +b ~r:netbus_pro* | ||
+ | 05:50 -!- mode/#lounge <nowiki>[+b ~r:netbus_pro*]</nowiki> by Jay<br /> | ||
+ | If the realname of a chatter starts with netbus_pro , then (s)he will be unable to join #lounge. | ||
+ | |||
+ | === ~f (Host Forward) === | ||
+ | ''Syntax:'' | ||
+ | ''/mode #channel <nowiki>+b ~f:#mychan-nl:*!*@*.nl</nowiki>'' | ||
+ | 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. | ||
+ | |||
+ | ==== Block ==== | ||
+ | With the ~T:block: extban you can block messages that contain certain words. | ||
+ | |||
+ | ''Syntax:'' | ||
+ | ''<nowiki>/mode #channel +b ~T:block:*somethingoffensive*</nowiki>'' | ||
+ | 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. | ||
+ | |||
− | + | ==== Censor ==== | |
− | + | With the ~T:censor: extban you can censor certain words in all messages. | |
− | |||
− | + | ''Syntax:'' | |
− | + | ''<nowiki>/mode #channel +b ~T:censor:*somethingoffensive*</nowiki>'' | |
+ | 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. |
− | |||
− | |||
− | '' | ||
− | |||
− | |||
− | |||
− | + | === Result === | |
− | + | 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 #lounge You are banned (#lounge) | + | 06:51 <nowiki>[someUser]</nowiki> test answer :) |
+ | 06:51 #lounge You are banned (#lounge) |
Latest revision as of 02:09, 17 February 2011
Contents
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.
Wildcarding
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:
Lamer*!*@*
or you could ban everyone with 'lame' in his ident, by banning:
*!*lame*@*
or you could ban the user by banning everyone from lamest.user.example:
*!*@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:
Lame*!*amlame@*.user.example
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 :
<type>:<stuff>
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.
Syntax:
/mode #channel +b ~q:nick!ident@host.mask
Example:
/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.
Syntax:
/mode #channel +b ~n:nick!ident@host.mask
Example:
/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.
Syntax:
/mode #channel +b ~c:#otherChannel
Example:
/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)
Syntax:
/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.
Example:
/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)
Syntax:
/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.
Block
With the ~T:block: extban you can block messages that contain certain words.
Syntax:
/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.
Censor
With the ~T:censor: extban you can censor certain words in all messages.
Syntax:
/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.
Result
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)