![]() |
| |||||||
| Home | GzP Upload | GzP Arcade | Register | vbBux / vbPlaza | All Albums | FAQ | Donate | Members List | Calendar | Mark Forums Read |
| GamerZPlanet IRC Discuss anything IRC related -- do not request to be unbanned. |
![]() |
| | Thread Tools | Display Modes |
| | #1 |
| Registered User | Advanced IRC Guide Originally from: [Only registered and activated users can see links. ] Guide: 1 Introduction 1.1 Why this guide? The average IRC-guides around tend to teach only the basics or they’re hopelessly outdated and mix IRC-commands with the IRCII 1) client commands. New features (last 10 years) are downrigh hard to find documentation for, scattered as they are in releasenotes, newsletters or plainly undocumented. If you are new to IRC, I suggest you go for the other guides first, ([Only registered and activated users can see links. ] or [Only registered and activated users can see links. ]) but if you’re fairly familiar with IRC and want to fetch some interesting and often usefull commands, ([Only registered and activated users can see links. ] and [Only registered and activated users can see links. ] beeing highlights) you’ve come to the right guide! :-) 1) IRCII: The first client for IRC networks. mIRC is the most common client today. 1.2 What does The IRC Command Cosmos contain? An explanation for every command on the IRC network Undernet or other nets using the latest ircu software 1), except service-commands 2) and those commands restricted to IRC-Operators only. What you can do on IRC depends on what software the irc-network is running. Over the years, this software has been split up into several different programs, maintained separately by different irc-networks. Beeing an Undernet user by chance, finding their software-development interesting and knowing several other nets to be using their software, I aim to completely document their version. I can’t keep up with development on the other nets like EFnet and IRCnet, but even if you use these nets, you may find this guide helpfull, the nets still got a lot of in common. 3) The guide should make sense for any client, even if my examples might be a bit skewed towards mIRC. You may need to replace /raw with /quote in my examples. This edition of the guide should be complete and up to date, as of version 2.10.11.rc.1 of ircu. (August 2002) The guide is updated once or twice a year, dependingg on the upcoming changes. 1) ircu: The server-software developed by Undernet and also used by several other networks. See [Only registered and activated users can see links. ] for the most recent version. Some networks have developed their software starting from earlier versions of ircu. A former developer started his own branch of ircu, ([Only registered and activated users can see links. ]) claiming this to be the “real” ircu. This guide however, choose not to deal with specifics for this or other branches of ircu. Still, much in this guide will apply to them as well. 2) For example X, nickserv, channelservice e.t.c 3) While the nets have drifted apart, people are using the same clients on all nets and the specifications for a client havn’t changed over the years, so they need to display a minimum of uniformity for your dear mIRC, Pirch, amIRC e.t.c to work at all. The client protocol is more or less defined in RFC1459, a document that defined the “original” IRC. There exist other documents, like RFC2812, but 1459 is the only one who can claim authority among all the various nets, even though it itself is outdated. See ISUPPORT messages ([Only registered and activated users can see links. ]) for another way to bridge the divide. 1.3 Is my net using ircu? Many of the smaller IRC networks are using various versions of ircu. To test if your net does, log into IRC and type /version. if the reply starts with u2...e.t.c, it’s using a version of ircu, e.g 2.10.10. If it dosn’t, you could also type /info and see if it mentions Undernet or ircu. Some nets run software based on an ircu version, but with their own tweaks and additions which /info ought to tell you about. 1.4 Hiding the Undernet Early in 2001, Undernet was struck with a massive Denial Of Service-attack, bringing down the channelservice and prompting several servers to leave the net. This sped up the development of a replacement for the old X and W and led to proposal CFV-165 (nicknamed HEAD_IN_SAND in the ircu code) being passed by the owners of the servers. It were decided to hide all non-essential information from users, disabling non-essential commands and generally hide all information that could be misused, as g-lines and networkstructure. The proposal took effect from ircu2.10.10.pl14 These commands are disabled: Every /STATS ([Only registered and activated users can see links. ]) except P, u and W /map ([Only registered and activated users can see links. ]) /links ([Only registered and activated users can see links. ]) /trace ([Only registered and activated users can see links. ]) +s, +w and +g nickmode ([Only registered and activated users can see links. ]) the names of irc-servers are hidden in /who ([Only registered and activated users can see links. ]), /whois ([Only registered and activated users can see links. ]), /whowas ([Only registered and activated users can see links. ]) and in netsplits and forced modechanges. Remote /whois dosn't depend on knowing the server and is still allowed. All other remote queries are or will be disabled. Each act of hiding is a configuration choice in the software, so other nets using ircu will be able to choose which of these, if any, they will adopt. This guide will keep the undernet-disabled features, as other nets still use them and may still choose to do so. CFV-165 is an internet-sociologists dream. Even though the most common complaint about CFV-165 is that it makes it harder to choose the right server so as to minimize lag between yourself and your friends, perhaps the underlying issue is how this somehow degrades irc into a confined webchat experience. It has been pointed to the well-known tendency to sacrifice freedom for security when times are tough, though you may claim someones freedom were sacrificed for the security of others (the owners of the servers) Does less information lead to less choice which leads to less freedom? Whether this makes IRC an anarchic, feudal or technocratic society (The idea of Internet as an anarchy has passed its best-before date, has it not?) is an interesting question, or the bloated whineing of script-kiddies, depending on your viewpoint. :-) (Hey kids! A project on this may give you the grades to get YOU into the college of your choice! Visit your local library today!) Help to selfhelp With /map gone, [Only registered and activated users can see links. ] keep a list of servers on undernet, minus the dedicated routing servers. In addition, there’s still a few commands left for the eager scripter-soul to exploit:
The servers already refer to themselves by shorter nicks ([Only registered and activated users can see links. ]) when communicating between themselves, only translating for the users using a local list of names. As remote servernames don't get displayed anymore, renaming the servers in this list would stop the above exploits with no changes in the code. This however is impractical, so these tricks ought to be around up to some given ircu-version.
1.5 Changes in this edition of The IRC Command Cosmos Since edition 2.1, the following sections have changed, mostly due to changes in ircu between 2.10.10.pl14 and 2.10.11.rc.1 [Only registered and activated users can see links. ]: Updating the self-to-selfhelp to reflect ircu development [Only registered and activated users can see links. ]: +w, along with +g and +s are not allowed on Undernet. (and has been disallowed for a while) [Only registered and activated users can see links. ] and [Only registered and activated users can see links. ]: Nickmodes +r, +x and channelmode +r introduced for upcoming channelservice upgrades and added security through host-hiding (we’ve been waiting for this one! :-D) [Only registered and activated users can see links. ]: Individual servers may choose to hide the idletime in a remote /whois [Only registered and activated users can see links. ]: An elaboration on the difference between /userip and /dns [Only registered and activated users can see links. ]: beeing able to see other users’ /silence list is not a bug, it’s a feature! [Only registered and activated users can see links. ]: extended /who didn’t display both @ and + if a user were both op and voiced in the same channel [Only registered and activated users can see links. ]: bugfix for /invite to local channels [Only registered and activated users can see links. ]: Changing into a banned nick while in channel now properly ban you and the modes +b and +m now stops you from sending to the channel from outside, even if it is -n. [Only registered and activated users can see links. ]: the propagation of topics is now less noisy [Only registered and activated users can see links. ]: Daniel Corkill solved the /wallchops vs /notice inconsistency [Only registered and activated users can see links. ]: A new /list stop feature added (Why didn’t anyone think of it before? A Coloumbi-egg) [Only registered and activated users can see links. ]: A new but uninteresting serveroption in /version [Only registered and activated users can see links. ]: A problem with characters and banning. Luckily only of academic interest. [Only registered and activated users can see links. ]: Updating information about the ISUPPORT messages and adding rumours about a novel use of the passworded login [Only registered and activated users can see links. ]: Addes some more weblinks and channels The STATS section does not reflect recent changes in the ircu code after Undernet barred access to them, but I may get back to these if I find an ircu-network where they are actually viewable by users or I get around to compile ircu on my computer. Until then I must refer to [Only registered and activated users can see links. ]. 1.6 Getting the latest version and contacting the author The latest edition is always available at [Only registered and activated users can see links. ] A mirror is available at [Only registered and activated users can see links. ]. The last URL is probably the most permanent. If you wish to be Notified of new editions, please visit [Only registered and activated users can see links. ] to register. (No, I won’t use your e-mail address for anything else and I won’t give it out to anyone. :-) Feel free to contact [Only registered and activated users can see links. ] with your corrections, suggestions or comments. As for quoting and noncommercial distribution: Go ahead, as long as the guides’ name and a link to its original location is kept and the text isn't altered substantially without stating so. If you'r mirroring the guide, drop me a note and I'll include a link to it. 2 People 2.1 nick Sets your nick. Syntax: /nick yournewnick The maximum nicklenght on Undernet is 9 characters. See NICKLEN in chapter [Only registered and activated users can see links. ] for the length at your net and [Only registered and activated users can see links. ] for legal characters in a nick. There’s a “nickchange too fast” floodstopper in ircu. A person could flood a channel with his nickchanges while for the same reason beeing hard to kick. You can not change your nick more than once in 30 secs, or twice if it’s been unchanged for 60 secs already. You can’t change your nick if you’r in a channel where you’r banned, see [Only registered and activated users can see links. ] 2.2 privmsg Syntax: /privmsg receiver text If the receiver is a nick, this equals talking to someone in a private window. If the receiver is a channel and you'r in it, it equals typing something in the channel. also see the sister-command /notice ([Only registered and activated users can see links. ]) /msg as it is called in mIRC, could also be used for external messages. (See +n [Only registered and activated users can see links. ]). When you send a message to a channel from outside with /notice, mIRC and other clients will treat it correctly, while an external /privmsg will appear as if an invisible nick suddenly raised its voice. According to some this is still the correct way, according to others it violates the graphical user interface. Might make for a nice trick anyway.. If we take advantage of the underlying machinery, we can send one message to several destinations. Here's an example: "/raw PRIVMSG Sabeltann,Timo,#ruminants :The grass is greener on the other side, lets move!" Or just: "/privmsg nickorchan,nickorchan text". (Works in mIRC) Note that since we're overriding mIRC, the text you send isn't displayed in the channelwindow. You will have to /echo that in yourself with your script. (Maybe an idea for suppressing display of text your script send to a channel. Didn't some IRC-virus implement that already?) PRIVMSG is also taking care of the /me statements. See [Only registered and activated users can see links. ] The /raw (or /quote) command is how you bypass aliases and your clients interpretation of commands. Sometimes, you pass the command directly, like in /map, a command mIRC has no "idea" about what means, while in multiple sending above, we used /PRIVMSG , as /msg is a command in mIRC that it translates according to its own rules, before passing it on as PRIVMSG to the server. Up to ircu2.10.10, there were an extra secure syntax on the form: /msg nick[%host]@server where host is the optional address of the nick and server the irc-server it resides on. This syntax were intended for sending your password to the channelservice bots, so that you wouldn't mistakeingly send it to someone else posing as them on another network. On Undernet, you could never change your nick into typical service-nicks anyway. (see [Only registered and activated users can see links. ]) Example: The nick Timo has the address “*.surfers.org” and is using the irc-server “Oslo-R.NO.EU.Undernet.org” /msg Timo%*.[Only registered and activated users can see links. ].EU.Undernet.org Hi there! You won't see this if you don't match my criteria This feature isn't of much use as authentication of normal users, for that refer to authentication via the channelservice bots. As of 2.10.11, it does not longer send the message, but curiously enough, will give a "no such nick" if you get the host or server wrong. Together with the list of servers available from [Only registered and activated users can see links. ], this supply us with a brute-force way to find a persons' irc-server. 2.3 Notice Syntax: /notice receiver text where receiver is nick or channel. The reason for NOTICE according to RCF1459, is to define a way to send messages that should never generate an automatic reply. The object is to avoid loops of responses between scripts/bots, for example this quite repeating conversation: Bot1: Please send afile.txt Bot2: Sorry, I'm turned off. Bot1: I don't understand the command "Sorry, I'm turned off". Bot2: Sorry I'm turned off. A ping Query/Reply between users ([Only registered and activated users can see links. ]) is a good example of an automated PRIVMSG/NOTICE pair. NOTICE-messages may be treated slightly different than PRIVMSG when displayed in mIRC, both in color and which window they'r displayed in. Just as PRIVMSG, you may msg both channels and person. You may send a notice to the channelops alone with: /notice @#channel text ([Only registered and activated users can see links. ]) 2.4 Whois Syntax: /whois nick1,nick2, ... Basic information about a nick. A central command in IRC and it pops up all through this guide. Usermodes ([Only registered and activated users can see links. ]), getting seconds idle ([Only registered and activated users can see links. ]) e.t.c Notice that the channels in the whois reply are sorted with the channel the nick joined first as the rightmost. The full internet-address for the user is shown in the whois, also see [Only registered and activated users can see links. ]. Some nets hide the first part of the address, as an attempt to combat attacks which involve the users' address, e.g portscanning and pinging. Then only IRC-operators may see the full address. (something like this is in the making on Undernet, see [Only registered and activated users can see links. ]) Others will send an IDENTD request to verify the username. mIRC usually handles that. For more information about identd, see the IDENTD RFC. (RFC1413) or check the undernet homepage. Example: Debet is ~[Only registered and activated users can see links. ] * Accountancy RULEZ Debet on @#spreadsheet-newbies Debet using *.undernet.org The Undernet Underworld Debet End of /WHOIS list. The ~ means that no IDENT has verified the username ted and Debet is an op on #spreadsheet-newbies. The network does not hide his internet-address modem68.johnsonconsulting.com but it hides what IRC-server he is using, an ircu2.10.10-something feature. 2.5 Usermodes 2.5.1 All the modes for a nick Here's all the modes available for a nick. Syntax: /mode <nickname> {[+|-]mode(s)} i Makes you invisible. See "Note on invisibility" ([Only registered and activated users can see links. ]) s Receives server notices. You receive various information sent between servers. Mostly kills and G-lines, but also nickname collisions, invalid usernames, splits e.t.c See [Only registered and activated users can see links. ] for masks for this command. (ircu only) w Receives wallops. The IRCops broadcast messages with this, you might even catch an IRCop-conversation! (Almost like tuning in on the police-radio, eh? :-P ) As for the moment, "uworld.undernet.org", that is the X service on Undernet, uses the Wallops too. ircu2.10.10 has the option of disabling this for regular users g [New in ircu2.10.04] You receive “HACK wallops”. After a desynch of the net, servers would start mending it and creating large amount of these wallops. This tended to flood the user and desynchs were even created to do just that. Therefore these wallops were moved to beeing “DESYNCH messages”, displayed as wallops to the user if he were +g d Deaf in all channels. Ircu only. You won't "hear" a thing that's said in the channels. Private messages get trough though. Primary reason is making the job easier for service bots that dosn't want to process channel messages. Makes logging of changes in chan easier too, and would suffice as an overly brute channel-flood stopper. x On a network where everyone runs ircu2.10.11 or above, you will be able to turn on this mode after logging into X on Undernet or whatever service your net would be running. setting this mode hides your hostname (your internet address) in the /whois reply and elsewhere. The hostname “modem44.londonpark.com” used by the registered user WinstonC would be masked as “winstonc.users.undernet.org”, so these users are still fully banable, even though their ISP can’t be tracked down. Hiding your hostname will shield you against several types of attacks often carried out on IRC, but be aware that taking part in a DCC chat or filetransfer will reveal your IP-address, so turn off automatic acceptance of these if you want to use +x. Also see use of passwords during logon ([Only registered and activated users can see links. ]) In addition, there's the operator flag, (+o) that indicates an operator, the zombie-flag "!" used halfway in mending a netsplit, +k that's used by the channelservice. And +r to signify a logged-in service account, a prerequisite to set +x. (See [Only registered and activated users can see links. ] for details on +r) No one can kick or deop +k clients from a channel, and they may also message any channel from outside, regardless of any restriction. You may /msg +k users regardless of target-restrictions. ([Only registered and activated users can see links. ], [Only registered and activated users can see links. ]) Lastly, a whois on a +k won’t show the channels it’s on. Note that Undernet do not let ordinary users see w, g and s messages. The ability to disallow that has been around since ircu2.10.10. (see [Only registered and activated users can see links. ]) 2.5.2 Finding peoples modes You'll spot a +d in the who and whois reply. Example: "/Who mowgli" returns: mowgli Hd* [Only registered and activated users can see links. ] :3 Baloo-Bot TM Hd means the user is Here (as opposed to Gone, i.o.w away([Only registered and activated users can see links. ])) and that mode d (deaf) is on. The * tells us he's an IRCop. :3 means the hopcount is 3. ([Only registered and activated users can see links. ]) In the /whois reply, a +d is spotted by a - after a channelname. Example: mowgli on -@#Junglechat (+d mode and op on the channel.) +o is spotted in whois by "nickname is an IRC operator" +i is spotted by doing "/whois *nickname" and seeing if the right person pops up. If he/she dosn't, the nick is invisible. +w and +s can't be seen by normal users. (+w due to a recent Undernet patch) Note: For address and away, also see /userhost ([Only registered and activated users can see links. ]) 2.5.3 Server notice masks From version 2.10 of the ircu serversoftware, a masking option of users s-mode has been implemented, so you can decide which types of notifications you’r interested in. +s is disabled for users of Undernet though. This section is based on documentation supplied by Ghostwolf. Syntax: /mode <nick> +s [+/-][mask] Mask Name Description 1 SNO_OLDSNO unsorted old messages 2 SNO_SERVKILL server kills (nick collisions) 4 SNO_OPERKILL oper kills 8 SNO_HACK2 desyncs 16 SNO_HACK3 temporary desyncs 32 SNO_UNAUTH unauthorized connections 64 SNO_TCPCOMMON common TCP or socket errors 128 SNO_TOOMANY too many connections 256 SNO_HACK4 Uworld actions on channels 512 SNO_GLINE glines 1024 SNO_NETWORK net join/break, etc 2048 SNO_IPMISMATCH IP mismatches 4096 SNO_THROTTLE host throttle add/remove notices Operators only: 8192 SNO_OLDREALOP old oper-only messages 16384 SNO_CONNEXIT client connect/exit If you want more than one of the masks, you simply add the numbers. To later add or remove a mask from your s-mode, use + and -. Examples: To be notified upon net join/breaks, you would type /mode yournick +s 1024. Later you’r eager to be notified when your server fills up, so you type /mode yournick +s +128. Now you are notified both about “too many connections” and “net join/break” Another day, you’r feeling bored, and want to watch new g-lines ([Only registered and activated users can see links. ]) in addition. You type /mode yournick +s 1664. (Since 1024 + 128 + 512 = 1664) But this is too much, so you drop the g-lines with /mode yournick +s -512. (/mode yournick -s +512 works fine as well) /mode yournick +s 8191 let you have it all Standard if no mask supplied: SNO_OPERKILL, SNO_GLINE and SNO_NETWORK. /mode yournick +s will give you kills done by operators, G-lines and netsplits/joins 2.6 Getting seconds idle The idle time is how long the nick has been silent towards its IRC-server. In other words being quiet. Only the server that the nick is connected to "knows" this. Knowing the idle-time is usefull if you wonder if the person has left the keyboard without putting on an away-message, or might just be ignoring you. It could also be used successfully as a "silent ping" as it can give you the lag from you to the nicks' server. Just count the seconds it takes from you send the command to you receive the reply, and divide with 2. That's how many seconds it take for a message from you to reach the persons server. (another approach outlined in [Only registered and activated users can see links. ]) Syntax: /whois nick nick or /whois fullservername nick where fullservername is the nicks server. the first syntax is available from ircu2.10.00, the second works only below 2.10.10.pl14. What technically happens, is your everyday whois-request beeing transmitted to a remote server. Examples: Xerxes is on stlouis, we're some other place: /whois stlouis.mo.us.undernet.org Xerxes We get a whois with Xerxes' idle-time: Xerxes is [Only registered and activated users can see links. ] * John Bertram Garfunkel Xerxes on #Creedence #Japanese.baseballcards @#old_boats Xerxes using StLouis.MO.US.UnderNet.org StLouis' Gateway to the UnderNet Xerxes has been idle 50min 12secs, signed on Thu Aug 1 15:35:23 End of /WHOIS list. Note: * If you and the nick is on the same server, a common /whois will do the same. * The chatting in a DCC-chat dosn't go through the IRC-network, and so is not detected by idle-time. An alternative "ping" could be to use the CTCP finger (/ctcp nick finger) as atleast mIRC supplies an idletime for the whole program in the reply; but this isn't "silent". * It's standard to only nullify idle-time when nick uses PRIVMSG. That is, sending a message to a nick or a channel. /notice does not qualify. See server options ([Only registered and activated users can see links. ]) to determine if the server is using the standard setting. * away-messages arn’t broadcasted when a netsplit is mended. You must do a remote whois to see it. * admins have the option from ircu2.10.10 and onwards, to hide the idletime when requested remotely. 2.7 Searching for people 2.7.1 Searching by address Example: /who *.fiddledep.gov This lists all visible nicks using the Fiddle Departments’ internet-connection. The command is usefull for finding people from your own host and geographical area and finding people who tend to change their nicks often. Example: Your ISP gives people from your area DNS-addresses ending with "smalltown.wasanet.se" for example modem30.ppp.smalltown.wasanet.se Typing /who *.smalltown.wasanet.se may then reveal people from your area. 2.7.2 Searching by nick You can use wildcards like * and ? in a whois-query also. Here are some examples: /whois *sam* will give you nicks like Samantha, Sam47, Sam or Tarsam. /whois ??. This displays everyone with a nick of 2 letters, like Ma and V2. Undernet will not give you more than 251 nicks back from one query to stop you from flooding yourself. 2.7.3 Searching it all The first line in a whois-reply might look like this: Xerxes is [Only registered and activated users can see links. ] * John Bertram Garfunkel using wildcards, we're able to search for anything in that line. Even the Namefield. "/who *garfunkel*", "/who *netomania*", "/who *xerx*", "/who john*" and "/who *funk*" will all reveal his name if he is visible. "/who fullservername" lists people using that irc-server. (wildcards allowed) so if he's on sandiego.ca.us.undernet.org, /who *diego* would reveal him and others as well. (Use /lusers with servername, as described in [Only registered and activated users can see links. ]if you'r just going to count people on a server.) Note: This shows that beeing visible and writing "I'm from Essex" in the namefield might not be such a good idea if some jerk is mass-messaging everyone that matches "/who *sex*". Again, be aware that the namefield IS searchable. See section [Only registered and activated users can see links. ] (Finding peoples modes) for explanation of details in the "/who nickname" output. Also note that "/who" searches each of the "information fields" (nick, login, real name, host name and server name) separately so you can't filter simultaneously, you must do an individual search for each field. That means if you’r looking for jane in sweden, you’ll have to look at the outputs of “/who *jane*” and “/who *se*”. “/who *jane* *se*” would ignore *se* and “/who *jane*se*” would search one and one field and match on the namefield “I’m Janet, now go stare at someone elses whois!” but would NOT match username janet with address *.se 2.7.4 Note on invisibility Invisible people won't show up when searched for with /who, /who #chan and not on /whois with wildcards, unless you can see them already by sharing a channel. The intent is that no one is to find you if they don't know your exact nickname. I believe that in the future the searchmethods described here might become practically obsolete, as some servers already have the policy of putting people automatically on +i, (which do save the clients a lot of trouble). You can hide by changing nick, people can't mass-message everyone on your ISP and your' not visible from outside a channel. Today roughly half the nicks on Undernet and most on Efnet is set invisible. Note: If a nick is on a secret channel ([Only registered and activated users can see links. ]) they won’t show up on a wildcard /whois, even if they arn’t set invisible 2.8 Finding an IRCop An IRC operator is a person with +o mode. ([Only registered and activated users can see links. ]) The op goes around fixing channelops, kicking users and maintaining the net. Don’t expect help if you’r banned from a channel (Atleast that’s Undernet policy) The standard way to find an operator is to type /who 0 o (zero o). This lists all non-invisible opers on the net. Before you message them, check their idle-time. ([Only registered and activated users can see links. ]) Most of them idles for days. If this dosn’t work, the operators of your server might list themselves in the /motd ([Only registered and activated users can see links. ]), possibly with e-mail. By now, you have found everyone who wants to be found, proceed on your own risk: /stats O ([Only registered and activated users can see links. ]) reveal the nicks of operators on your server. (Ofcourse they could just change nicks after logging in) /trace ([Only registered and activated users can see links. ]) has a loophole that reveals online ops. Local channels are sometimes used by operators on your server. ([Only registered and activated users can see links. ]) Join typical oper-hangouts and do the /who 0 o again. The +i dosn’t apply when you share a channel. (please observe channel rules) Apropos operators A common question we get in helpchannels is: How do I become an IRCop? At Undernet, you’d have to be a friend or co-worker with a server administrator or start your own server to get op. Starting your own Undernet server is out of the question unless you work at a big ISP. This also applies to other big networks. Whatever the reason for your hunger for power is, be it fame, revenge, groupies or tax deduction, you’d have a better chance at one of the really small networks. Then again, who in their right mind would give op to a total stranger who comes in and just ask for it? As a last resort you can always start your own network! ([Only registered and activated users can see links. ]) 2.9 userhost / userip Returns a nicks hostaddress or IP and if it's away or not. Syntax: /userhost nick nick ... (max 5 nicks) Example: sending: /userhost RAmona Sssala reply: RAmona=-[Only registered and activated users can see links. ] Sssala=+[Only registered and activated users can see links. ].com where -/+ = away / not away sending: /userip RAmona gives the reply: RAmona=-mummy@994.193.192.24 Why UserIP: Userip were implemented in ircu2.10.01 because more and more users have "virtual hostnames", that allow the person to use any sort of hostname withouth a common domain. E.g modem5.snowbiz.com one day and modem5.snowwomen.org another day, making it harder to ban these people. A ban by IP-adress would have been very effective in this case, and that is exactly what has been implemented. The ban-code has been changed so that you can ban an IP-adress even if the server has resolved his/her address as a hostname. The IP-ban has also taken effect for SILENCE ([Only registered and activated users can see links. ]) and K-lines ([Only registered and activated users can see links. ]) Example: 123.321.254 is the IP of the DNS-name "m5.camping.com". Before 2.10.1, you could ban the users' IP, but if it was resolved by irc- server to the DNS-name, the person would slip through. Not so anymore. But ofcourse you need to ban the ISP. Using a dialup-account, he gets slightly different IPs every time he logs on. So what’s the IP of the ISP? /dns in mIRC tells me that m1.camping.com has IP 123.321.250 and it seems to end at m200. I set the bans to 123.321.* ,123.322.* and 123.323.* knowing I’ve banned the ISP, hoping I havn’t banned others. Banning an ISP to stop a person is a brute approach anyway if it’s a large ISP, and most people that are banned give up withouth putting much effort in getting around the ban, so I havn’t bothered finding more elegant ways to do this, but I think you can use regular IP-masks in this ban. (If you know a more accurate way to ban an ISP, i hope to hear from you) Isn’t /dns in mIRC and /userip practically the same? Usually so, but not necessarily. When a user connects, the irc server first gets the IP-address of the user and uses it to resolve the DNS-address which it puts in the /whois reply. When queried with a /userip request, it will reply with the original IP-address. mIRC on the other hand, takes the DNS-address it finds in /whois and tries to translate it back to an IP-address. By that time, the records mapping IP-addresses to DNS-addresses could have changed, or your client and the IRC server receives different replies to a DNS-lookup for some obscure reason. In short, you risk getting the wrong IP-address, so use /userip for added reliability. Also see +x ([Only registered and activated users can see links. ]) for the upcoming ability to ban a user when logged in on the channelservice 2.10 Whowas Syntax: /whowas nick [count] If someone just left IRC or changed their nick, and you didn’t get their address, the server keeps a buffer with the nicks that disappeared the last seconds. Count is how many nicks it should return. Every matching nick if not supplied. No wildcards are allowed so the count were only usefull in special cases. For how many nicks the server keep in whowas, see /stats z ([Only registered and activated users can see links. ]) 2.11 away Syntax: /away [insert cunning remark about doing laundry here] Sets an away-message that will be displayed in your /whois reply and shown to people who try to contact you. See chapter [Only registered and activated users can see links. ] for the maximun lenght of your away-message (It's 160 by default on Undernet) See [Only registered and activated users can see links. ] for the issue of netsplits and [Only registered and activated users can see links. ] and [Only registered and activated users can see links. ] on spotting the mode while missing the cunning remark. 2.12 silence mIRC has a very customizeable command called /ignore that will filter out everything coming from certain nicks or addresses. What it dosn't do though is stopping the noise from coming through your connection. This means you could be flooded off even with ignore on. Therefore, Undernet has implemented the /silence command. When it is used, the network won't even send you the unwanted data. Syntax: /silence [+/-]nick![Only registered and activated users can see links. ].dom (nick or host alone allowed) Example: /silence +uglyguy!~[Only registered and activated users can see links. ].net silencing nickname uglyguy with matching address. /silence +*!*@modem54.styx.net Anyone from his address. (In case of clones) /silence +*!*styx.net Anyone using his ISP. (For repeated attacks.) when +/- are omitted, + is asumed. A setting is removed by "/silence -setting". E.g: /silence -*!*styx.net. /silence will display your silence settings. /silence nick will display the known silence-settings of that nick. That is a feature, not a bug in fact. You don’t get an error-message if you message someone that has silenced you, but if you suspect you’ve been silenced, type /silence nick and you may find yourself listed. When Alice is silenced by Bob, but Alice tries to message Bob nontheless, the message reaches Bobs server, which then replies to Alices’ server that Bob has silenced Alice, and that there’s no need to relay further messages from her. Every server from Bobs to Alices including now knows about the silence, and those on those servers who type /silence Bob will see his silencing of Alice. This openness means that people on the same server as Bob sees ALL his silence-settings. On Undernet, you have a maximum of 15 lines of silence-settings. Doublecheck with your logon in chapter [Only registered and activated users can see links. ] Overlapping silences are removed. Example: /silence +*.dadaism.net will remove silencing of *modem4.dadaism.net since it is now reduntand. Beware that /silence -*.dadaism.net would also remove the modem4 silencing. Removals are propagated immediately to other servers. Silence settings must be set every time you log on. This can be done automatically with your client. For more information about flooding and how to defend against it, see the undernet website or the helpbot in #class on undernet. See [Only registered and activated users can see links. ] (userhost / userip) for how to silence people with virtual hostnames. 2.13 ISON ISON is the command used for the notify list in mIRC. Syntax: /ISON nick1 nick2 nick2 ... The server replies with ISON: nicksthatexist One string of nicks sent should be no longer than 512 bytes. Example: you send: /ISON Susanne MadMex Martha29 ZyGoT and users with the nicks Susanne and Zygot is online. reply: ISON: Susanne Zygot 2.14 WHO with advanced parameters /who gives part of the same info as /whois. ircu2.10.02 gave the WHO command a new look and in ircu2.10.05, even more adjustments were made. As an example, the extended WHO will let you count people away in your channel and how many servers away they are, with a single command to the server. Searching and filtering are also more customizable than before, but still keeping backward compatibility. Syntax: WHO <mask1> [<options> [:<mask2>]] Which gives: WHO <mask> <options> or WHO <some garbage> <options> :<mask> The second syntax will allow a space, and is therefore good for matching the infotext. Case is not significant anywhere. The mask: It defines the search criteria. I'll get back to what you'r searching in. There are two ways to define it:
If you'r not familiar with masking, * means "any string, even of zero lenght" and ? means "one character". the mask "ge*" would match both "get" and "geronimo!" while "l?ve" matches "love" and "live", but not "legislative". "i??*" matches "inventory" and "inn", but not "is". In the case of IRC atleast, "0" works as a *. If you wish to match IP-numbers in the single mask, there's 3 ways to do it. (This part is quoted from the WHO documentation in the ircu2.10.05 release notes, which you can find at [Only registered and activated users can see links. ])
Syntax: [<flags>][%[<fields>[,<querytype>]]] Flags: The flags define which parts of the available data you’d like to search in. Each flag is one letter. First, the various userinformation: n Searching nicknames to match. u UserID. (As in nick!user@host) h Hostname. (Still as in nick!user@host) i Numeric IP. e Servername. (The canonic name of the IRC server a person is using) Use /links (4.1.3) if you'r unsure about canonical names r Info text. (Formerly known as "realname" ) If you don't specify any of these flags, the default "nuhs" is used. (Everything except the numeric IP and realname) In addition, it's possible to search for for usermodes, (overview in [Only registered and activated users can see links. ]) but there's only support for one of them: o Operator (Yup! the same as in [Only registered and activated users can see links. ]) Fields: When the WHO-command has found a bunch of persons, then this tells it which fields of the userinformation should be returned to you. c Include the last channel the person joined, or first common, if the person is +i. (If no common channel exist among you, a +i user won't be shown.) d How many servers away the nick are. (hopcount, also see 4.1.5) h hostname i Numeric IP n nick r Info text s servername u userID (with eventual ~) f Include all the flags you passed on earlier t Include querytype in the reply (see below) The fields are always returned in the same order. Querytype: Usefull for scripts. The querytype, an integer, is passed on with the WHO. If you specify t in Fields, the lines in the reply will start with this number (query or request type field of the output). Works like a note to itself. "Oh! This is my who-query, do so and so with it." Note to scripters: If no %fields are specified, the who reply are in numeric 352. If %fields are specified, numeric 354 are used instead, because a non-standard 352 tended to confuse clients. A WHO-query could end up matching everyone and flood you off with the reply or exhaust the server. To avoid this, the maximum number of lines in the reply is 2048/(n+4) where n is the number of Fields you've specified. A default query gives max 186 lines. The reply: Beside the nick in the reply we will gett various letters indicating: H / G Here or Gone, indicating if the nick is set /away or not * The nick is an IRC-operator @ The nick is a channel-operator on the last channel it joined and still is on + The nick is voiced on the last channel it joined and still is on ! The nick is zombie on a channel d The nick is set deaf Examples: We send: /who 0 o%fn to get a list of operators. The reply is this: Napoleon H* McMini H* Sodapunk H*@ Tordivelen G*@ Aquagirl H* Q-Beck G* * End of /WHO list. Each line presents one nick and the corresponding flags. Tordivelen is both gone and a channel-operator in the last channel he joined. /who #Luggage_Claim %dct,9 could return this: 9 #Luggage_Claim 3 9 #Luggage_Claim 3 9 #Luggage_Claim 1 9 #Luggage_Claim 3 9 #Luggage_Claim 3 9 #Luggage_Claim 5 9 #Luggage_Claim 3 "9" is the query type field, The rightmost numbers are the hopcount for each nick. Most of the folks seem to be 3 hops away. Note: If you'r using a mIRC copy older than 5.3, you'll have to send channel-whos as "/raw who #e.t.c..." On EFnet and possibly other nets but not Undernet “/who *” lists everyone on the last channel you joined and still is on (the first channel in your whois-reply) If you’r on no channels or on Undernet, “/who *” will flood you. If you’r say, swedish and joins a channel, you may want to type “/who #channel *.se” to list every swede in the channel. This a mIRC feature but works fine on non-ircu nets. However, with newer ircu you must a script to do this filtering manually as the extra parameter messes up the /who at the server. Before ircu2.10.11, the extended /who did not correctly display the + if a user were both Op and Voiced in the same channel. 2.15 /quit Waves goodbye to the net. See [Only registered and activated users can see links. ] for the quitmessage. 3 Channels 3.1 join Syntax: /join #channel1, #channel2, ... or /join channel key. Separated with a comma, you can join several channels at once, saving you some typing. (But if you want to save typing, perhaps IRC isn’t the right place? :-) On Undernet, you’r limited to beeing on 10 channels at the same time. (See [Only registered and activated users can see links. ] for the limit on your net) See [Only registered and activated users can see links. ] for allowed characters in a channelname and [Only registered and activated users can see links. ] for keys. The maximum lenght of a channel is 89 characters plus the #. 3.2 Local channels A channel with the "&" prefix instead of “#” (e.g &chat) is a channel that is local to your server. People from other IRC-servers can't join, can’t find it in the channel-listing and can't spot you'r in it, unless they retrieve a remote whois. ([Only registered and activated users can see links. ]) This feature might have been usefull when a server served a geographically limited userbase exclusively, for instance a specific university, but today you can connect to most servers in a net regardless of where you are. Operators on a server might stick around in a &channel, since LOCOPS and OPERS have equal powers over it, (see [Only registered and activated users can see links. ]) and operators can toy around with the channel directly while the ability to toy with global channels would have messed up the security. There, they have to go through Uworld. (A service on Undernet) Don’t be surprised if this feature disappears one bright day in the middle of the night. In ircu2.10.11, you can no longer send an invite for a local channel to someone on a remote server. (That makes sense :-) Prior to ircu2.10.11, there were also a bug making the server propagate the topic of a local channel to other servers. If a local channel with the same name existed on a server directly linked to the first one, there may have been “leaks”, but this is unconfirmed 3.3 The modeless channel. Equality by simplicity As of ircu2.10.02 you can start a “modeless channel” This is a channel with the prefix “+” instead of #. (e.g +chat) Such a channel can’t have any channel operators and its mode is always set to +nt. From this, “no topic”, “no /invite”, “no external messages” and “no bans” logically follows. The purpose for this invention is “to create an enviroment where all users are equal and not tempted to fight about ops”. Flooding should be dealt with by either leaving the channel or using /ignore or /silence. ([Only registered and activated users can see links. ]) Making it topic-free and non-invite is to avoid flooding by topic-changing or mass-invite, or any gibbering over what todays topic should be. 3.4 /part and /quit with comments You can put a comment along when you quit irc which is visible to fellow channelmembers, with the command /quit, and as of ircu2.10.02 you can send a comment along when you /part a channel too. Perfect for getting the last word! :-) Syntax: /quit comment /part #channel comment or /part #channel1,#channel2, ... The maximun lenght of a quit-message is governed by TOPICLEN in chapter [Only registered and activated users can see links. ], and is 160 characters by the time on Undernet. A part message could be a maximum of 65 letters and truncated with a '...' at the end if it's longer. When a message to the channel wouldn’t have been allowed to be sent, as in cases of ban or moderated channel, these message won’t be sent either. See [Only registered and activated users can see links. ] (moderated) and [Only registered and activated users can see links. ] (ban) for more about this. A client-independet way to leave all channels at once is “/join 0”. Quitting with a linebreak “//quit char$(13)” drops the parenthesis. u2.10.11.rc.1 does not display them anyway unless a reason has been specified. 3.5 Channelmodes 3.5.1 All the modes for a channel First, a quick summary of the channelmodes: syntax: /mode <mode> [parameter] b <mask>[<reason>] To ban someone and display the reason. o <nick> To op someone v nick Voice someone (Speaks through ban and moderations and get a nice + by their nick) I Channel is invite-only l <limit> Channel is limited to <limit> participants at the same time n No messages/notices is allowed to be sent to the channel from outside. m Channel is moderated. Only ops and voiced people can talk. t Noone but the ops can change the channeltopic p Channel is private s Channel is secret k <key> Set a password-key (any text) necessary to get into the channel. r ACCOUNT-limited channel You are probably more than familiar with these already, so I’ll just summarize my comments on them: b: See [Only registered and activated users can see links. ] for novel use. The maximum number of simultaneous bans in a channel on Undernet is 30. See MAXBANS in chapter [Only registered and activated users can see links. ] for the limit at your net. You can easily clear a banlist by typing "/mode #channel +b-b *!*@* *!*@* ?" Before ircu2.10.11, a nick-ban (e.g slobodan!*@*) wouldn’t take effect if the user changed into the nick inside the channel. Also, a ban did not stop external messages from a banned person from entering a -n channel. n: Most channels should set +n to have total control on who's talking in the channel, ircu prior to 2.10.11 let outsiders slip through +m and +b p and s: See [Only registered and activated users can see links. ] for the difference between these two m: "only ops and voiced people can talk". Before ircu2.10.11, +m didn’t stop messages from outside, now +m equals +mn As with +b, +m censors your optional /part and /quit comments in the channel. (See [Only registered and activated users can see links. ]) (ircu specific) and beeing in a +m channel without a voice, “censors” your quitmessage from every other channel your on too. If that sounds confusing remember you'r quitting the net not just the channel, so sending two quitmessages about you to a person that shared two channels with you (say one +m and one not) would be like saying: "He left the net, and then he left the net again without beeing there." It wouldn't make sense. v and o: You can have voice and op at the same time, but then mIRC and extended /who prior to ircu2.10.11 will only display the op @, not the voice +. k: If you are not a channeloperator, the key will from ircu2.10.10.pl15 be displayed as * when you try to retrieve it from inside the channel. r +r on a user, though you can’t see that it’s set, signifies that the user has logged in with his/her account name and password on whatever service the network supports. For instance Undernet’s channelservice “X”. +r on a channel means it’s restricted to users having usermode +r, that is, beeing registered at the channelservice. The +r usermode together with a hidden character string persist as long as you’r connected to the IRC server, so that the channel service can recognize you even if your server splits off and rejoins the net. No need to login to X all over again. The account name were for a short while visible in /whois, but this were discontinued. It is still easy to receive by “/msg X verify nick” though. A +r channelmode can be overridden with an invite, in fact +r is equivalent to +i if there’s no +r enabled servicebot around. (X were not +r enabled by August 2002, but it’s coming up.) 3.5.2 /Topic and retrieving channelmodes These commands retrieve the same info as you get when you doubleclick in the channelwindow. /mode #channel Retrieves the modes (Also when it was created when using ircu) /mode #channel b the bans (Prohibited when you’r outside the channel) /topic #channel the topic (Prohibited when you’r outside a +s channel) What information is available varies from net to net. The channel-limit is shown from ircu2.10.01 and above and topic-retrieval outside channel is also a fairly recent addition. Now it also displays when the topic were set and by whom The key is ofcourse not available from outside. If you'r inside the channel, you probably already know the key, but it won't be displayed unless you have op. If not, someone could fetch it by sneaking into a channel during a netsplit. But since the synchronization during a netjoin will remove a channelrider's op, he won't see the key. The maximum length of a topic on Undernet is 160 characters, the maximum for your net can be found by the variable TOPICLEN in chapter [Only registered and activated users can see links. ]. For the issue of topics and netsplits, see [Only registered and activated users can see links. ] Tip: If you just want to know if a channel exists, please do a /mode #chan, instead of quick join/part visits. Note: As of ircu2.10.11, topics beeing set without beeing changed is no longer displayed to the client. It should make the topicsetting of X on Undernet less annoying. It is still done behind the scenes, as topics are not automatically refreshed when the net reconnects after a netsplit. 3.5.3 Difference between +p and +s A channel can have +p (private) or +s (secret) mode set. The difference isn't obvious: “Secret” means Top Secret. Its existance is secret (not present in any listing), and you beeing in it is secret. (It dosn’t show up in a whois on you and you can’t take a /names #chan on it |