[1] Ban Class Set your client window so that these line goes all the way across ----> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Some tables look best if you use a fixed pitch font. [2] Part 1 .. Hostmasks An IRC user 'mask' is made up of four parts: It could be alphanumeric or just numeric: NICK USERID PORT HOSTNAME mynick ! myuserid @ port222 . myhost.com --------------------------------------- mynick ! myuserid @ 000.000.000.222 -NICK- -USERID- --HOST-- -Port-- Notice that for alpha, the port is right after the @ sign, and for numerics, its at the very end. For example: Bitsy!itsy@va077.idsonline.com is the same as Bitsy!itsy@240.157.110.077 [3] WHAT THAT MEANS FOR CONTROL NICK - Any user can change this at any time. Using it alone as a parameter for banning isn't very effective, but can be useful to get somebody's 'attention. USERID - Generally, this is set up in the chat client and can be changed easily. However, they need to disconnect from the IRC server and reconnect for it to take effect. Again, it will force them to do something in order to go 'around' a ban, but its not much of a deterrent. PORT - This is the connection port they are using. For most users, this is dynamic and is assigned at the time they connect to their ISP. A ban by port is effective in that it makes them disconnect and reconnect to their ISP to get a different number assigned. Since it takes a LOT longer to reconnect to an ISP than to do a ban, a port ban can be effective while still letting other users from the same ISP stay on the channel. HOST - This is the most effective long term ban. Basically, banning by host means that no one from that ISP can enter the channel. If its a small or little used ISP, that may not matter. If its an ISP that many of your users use, you have a problem: It's effective, but not very useful! [4] PART 2 -- CHANNEL VS BOT BANS You can ban either of two ways: directly from your client (a 'channel' ban) or through CStar (a 'bot ban'). So, if both methods are equally effective at keeping people out of the channel, why prefer one over the other? Channel bans last only as long as the channel exists. If a channel collapses (vanishes) because it becomes empty, all modes and bans are lost. This can happen if no one is present and, say CStar leaves due to a netsplit or restart. Bans through CStar last until they are removed. Channel bans can be set and removed quickly and are easy to view with most clients. They are good when someone needs to be banned for a short period of time, or as a warning (we'll get to that later.) Bans through CStar are 'hard' bans .. they remain until removed, and the person will be kicked and banned any time they join the channel. As a rule of thumb, use channel bans for most things, and only resort to CStar when you have to. While CStar is perfectly capable of handling many thousands of bans, enforcing them can impose something of a burden on the net as it grows. [5] PART 3 - TYPES OF BANS The format for a ban is /mode #channel +b . For this example I will substitute /ban for the mode #channel +b part of the command. We will assume Lamer has a mask of: Lamer!trouble@ppp127.hack.com or Lamer!trouble@205.240.177.127 This translates to: Nick ! User @ Port Host ------ ------- ------ -------- Lamer trouble ppp127 hack.com ------ ------- ------ -------- With various usermasks, you can ban on any part of the user's ID: ..by nick: /ban Lamer ban anyone using the nick Lamer ..by user: /ban *!trouble@* ban anyone with userid trouble ..by port: /ban *!*@ppp127.hack.com ban anyone on port 127 at hack.com ..by host: /ban *!*@*.hack.com ban anyone using the ISP hack.com While it IS possible to ban purely by the port number someone is using: .. like : /ban *!*@ppp127*.* to ban anyone on port 127 at any ISP.. DO NOT DO THIS!! .. there are ONLY 255 'ports! [6] Ban types can be mixed and matched, so technically, there are about 10 different ways to ban someone. The more information included, the more specific the ban will be to that particular user at that moment in time. Nick User Port Host Nick ok ok ok ok User - ok ok ok Port - - NO! ok Host - - - ok However, there are only four combinations that are at all useful: Type Nick ! User @ Port . Host How user can get around it -------- ---------------------------- -------------------------- NickBan X * * * Change nick UserBan * X * * Change userid and reconnect PortBan * * X X Redial ISP and reconnect HostBan * * * X Get another ISP [7] Pros and cons of each type of ban. NICK BAN. /ban Lamer Useful to keep someone using an offensive nick from joining. Not much use otherwise. Excellent as a 'warning' to someone. Note: Try NOT to use CStar for a ban on a nickname. To get back in, the user only needs to change nicknames. USER BAN: /ban *!trouble@* More useful than nick ban. To get back in, a user has to disconnect from the net, change the userid settings, and reconnect. Since userid's are easily changed, a ban by ID is not a good long term ban. PORT BAN: /ban *!*@ppp127.hack.com This is most useful for getting rid of clones. When a user connects to their ISP, they are assigned a port number that remains while they are connected. Regardless of what else they may change, the port will remain fixed while connected. HOST BAN:/ ban *!*@*.hack.com This bans all users from that ISP. The downside is that you may end up banning those welcome to your channel who happen to be on the banned ISP. [8] PART 4 - USEFUL BANS AND DUSTING OFF THE BANLIST This is a suggested 'sequence' of bans to use, depending on how persistent the banned person is. 1. Try a user ban. *!trouble@ppp127.hack.com They have to reconnect and change userid's to get back in, and it may not be worth the trouble. 2. Try a modified user ban: *!trouble@*.hack.com Even if they redial their ISP, it will keep them out as long as they dont change their USERID. 3. Use a host ban. There may be no alternative for a serious troublemakder, so you use *!*@*.hack.com DUSTING: Periodically, check your banlist to make sure that the bans are useful and current. Very specific bans, for example, are useless after a while and should be removed. For example, if you banned *!trouble@ppp127.hack.com .. the ban becomes useless as soon as they have redialed their ISP, since the port will (probably) not be 127 any more. Might as well clear it out. In addition to nick only bans, any which include the port should also be cleared when you're dusting off your banlist. [9] PART 5 - MULTIPLE BAN PROBLEMS You may find that a ban doesn't 'take', even though you've set it right. This is because IRC will not let you set a second ban that would perform the same function. For example, if you have banned Lamer!trouble@*.hack.com you can NOT then do /mode #channel +b *!*@*.hack.com The reason is that you have already banned a user at hack.com, therefore, the second ban would (from IRC's viewpoint) do the same thing. This is important because if you have set, say, a userid ban on someone, and they return, you cannot set a host ban on them UNTIL you've lifted the other ban. [10] EPILOGUE - THE IGNORE LIST You can use the same masks for ignoring people that we just talked about. When you set /ignore , it will ignore that user the same way it would have banned them. For mIRC, /ignore NICK 4 and /ban #channel nick 4 are host level bans. If you are being flooded, an /ignore *@* will make you 'blind' to everything, but WILL give you a chance to get control without being flooded off. .... Thanks, and that's the end of ban class. Thank you.