[The OS/2 Supersite: The New Web Site for OS/2 Shareware and Freeware.]

An IRC Primer- by Chris Wenham


The Internet Relay Chat networks have become THE place to chat on the Internet. While commercial interests have tried to take a slice of the on-line chat pie using virtual worlds and avatars and 3D VRML and other wizardry, plain old free and anarchistic IRC is still what draws the masses.

To get into the world of IRC all you need is a client and an Internet connection. The client connects to a server that is usually part of a larger network of servers all hooked together to provide the same chat areas, or 'channels', with the same conversations on them to everybody within the same network. That is, if servers A, B and C are all hooked together in the same network then you can chat with anyone connected to any of those three servers as long as you are connected too. A few popular networks are Efnet, Undernet and Dalnet.

The purpose of grouping servers together like this is that if any of them get overloaded, you can simply join the next one down the line and still be able to chat to the same people. It's also intended so that you can log on to a server that's closest to you physically, allowing chatters to bypass the slowdowns that might come from passing through too many routers or across transatlantic lines.

Terminology

IRC has a lingo all its own, some of which you might hear cropping up in conversations on or about IRC every now and then. Here's a rundown of the common terms and what they mean.

Nicks

A 'Nick' or 'Nickname' is the short name a person picks to represent him or herself to everyone else on IRC. Most networks restrict this nickname to 9 characters or less. It can be anything you like as long as it's not already in use by someone else. It can be something like "Bob" or "Joe" or "Zapper5" or "SuperDude" or even weirder than that (and they do get weird).

Channels

A channel is what might be called a "room" in other chat schemes like America Online's. It's the place where conversation occurs. Each channel is usually dedicated to talk about a certain topic such as OS/2 or movies or music or whatever; some are general-chat type places where anything goes. A channel name always begins with a pound sign (#) which is used to differentiate between a channel and a nick, since some IRC commands can take either as a parameter.

For example, "/ctcp #OS/2 VERSION" will send a request to the everyone on the channel #OS/2 to identify what version of their client they are using. "/ctcp Bob VERSION" will send the same request to just "Bob" and nobody else. It would mix things up a bit if there was a channel by the name of "Bob" too and there wasn't anything to tell the IRC client which one you were referring to.

The other way to prefix a channel is with ampersand (&). You'll rarely see this. If '#' is the prefix for channels that can be seen across the whole network (everyone on servers A, B and C) then '&' is used to mark a channel that can only be seen and joined by users who are on the same server as the one the channel was created on. It's a local channel, in other words, rather than a global one.

So if someone on server A created "&talk" then only other users of server A could see and join it. Channels like this are usually used by administrators who share the job of maintaining a server with others and want to talk about it without outside interference.

You can create your own channels if you like. If a channel doesn't already exist just "/join" it as if it did and it will be created automatically for you by the server. You will also be given "ops", or "Operator privileges", which allow you to maintain the channel. (This is described below.)

"Ops"

"Ops" refers to the permission to maintain the channel you're on. This permission is granted automatically to the first person who enters a channel and it is then that person's responsibility to grant "ops" to other trusted members and use them to regulate the channel as they please. With "ops" one can set the modes of a channel (to make it invite-only or secret for example), make it a moderated channel and give "voices" to other members, or kick out rude members and ban them if they become a persistent nuisance. A channel operator is usually marked by the '@' character next to his or her nick. You don't need to specify this '@' character when sending messages to operators though.

IRCOps

If "ops" are the local police for each channel on IRC, then IRCOps are the FBI. These are dudes with a god complex and aren't ashamed to admit it. They have special privileges that go beyond regular channel maintenance and extend into the realm of server and network maintenance too. They can connect and disconnect servers from one another, "/kill" users right off a network and, depending on the kind of software being run on the server, they can even see "secure" channels and join invite-only channels without needing an invitation first.

Just to be clear, IRCops have a lot of power but generally they won't use it casually. Where a regular Op can kick you off a channel, leaving you still connected to the server and joined to any other channels you had open, IRCOps can boot you clean off the server and out of every channel you had joined, even if you're not using the same server the IRCop is. For this reason they won't settle any petty squabbles or takeovers for you, they only deal with real troublemakers.

Lag

Lag is the condition when it takes a long time for your messages to reach someone else or the channel in general. This is caused by backlogs of messages that are coming in too fast for the server or protocol to handle, as well as deteriorating line conditions. Lag isn't usually much (only a couple of seconds) but on the big networks it can be as bad as a minute or even up to half an hour. There isn't much you can do about it except to wait it out and let the servers gradually catch up to each other and get properly synchronized again.

Splits (Netsplits)

Netsplits are caused when one server on a network loses contact with another and everyone on either side of the break seems to disappear from the other. You may suddenly see a mass of people leave a channel with the message "(irc.texas.net <-> irc.neosoft.com)" or similar. (The names will be of the two servers that lost contact with each other.) Those people haven't been kicked off, they're still connected and from their point of view it was you who left suddenly (usually with a lot of other people on your side of the split).

These splits are often healed within a minute or two, longer if network conditions are adverse.

It's more-or-less consensus that lag and splits are caused by the IRC protocol's inability to handle large amounts of traffic and not because any server "just plain sucks". Networks the size of Efnet weren't foreseen when the standard was drawn up, which is one reason smaller networks got started -- to provide an environment less noisy and without so much lag or splitting. Lag and splits are still inevitable evils, though no matter what network you use. To paraphrase Kurt Godel: "It doesn't matter how well you build it, there's always some way to break it."

Actions

"Chris loads a teaspoon with pudding and flicks it at Trevor for being silly"
Actions look just like the above. You "perform" them by typing "/me" followed by the action you want to do. ("/act" may also work, depending on the client. It's purely whimsical.) Some badly written clients don't always support actions.

DCC

DCC is short for Direct Client to Client and is a means for both transferring files and chatting from one nick to the other. Someone can "DCC send" you a file and you can "DCC get" it. Usually this is done by typing "/dcc send <nick> filename.zip" to send and "/dcc get <nick>" to receive.

A DCC chat is different from the standard method of using the "/msg" command or query windows to talk with someone in that it connects you directly to their client and computer rather than passing the messages through the IRC server first. The advantage of this is that the connection doesn't suffer from lag delays and doesn't rely on your connection to the IRC server. File transfers benefit from the same advantages; you can actually disconnect or change your server without breaking the file transfer. (However there are some poorly written clients which will do just that.)

CTCP

Stands for Client To Client Protocol. It is a means of sending technical messages and requests back and forth between clients and is usually handled in the background. One such popular CTCP request is PING, which is used to measure the lag between users. Another is VERSION, which elicits your client to automatically return its name and version. A few more are SOUND (for sending sound effects, usually followed by the name of a .wav file), FINGER and TIME.

XDCC

Stands for eXtended DCC. This can describe anything from a menuing system that allows you to request another user's client to send files to you automatically, or enhancements to your own client's DCC handling such as the ability to preview picture files as they're being sent to you.

Bots

Short for "Robots", these are automated programs that serve various duties on channels and networks. Some are used to protect channels and prevent takeovers, others dispense useful information such as the excellent "OS/2Bot" -- a REXX bot found on the channel #OS/2 on Efnet. Sometimes these Bots perform even more far-reaching services such as the "Nickserv" and "Chanserv" bots found on Dalnet, which are used for reserving your favorite nick and channel. Many servers will not allow you to run your own bot, however, since more times than not they cause more harm than good -- being used to assist channel takeovers rather than protect against them. Some of the nasty bots you might hear about are "eggdrop" bots.

Takeovers

Takeovers are malicious attacks where a user tries to gain control of a channel by stealing "ops" and kicking everyone out. People do this to be a nuisance and for the thrill of it. These are also the same people who read Cyberpunk novels and fantasize about, "jacking into the neural net." If their skin had not long ago turned the same color as their wallpaper, they could get a job instead of planning takeovers.

ROTFL

Rolling On The Floor Laughing. Also look out for "LOL" which is Laughing Out Loud.

AFK Away From Keyboard. Some people use the command "/away" on their client, which automatically returns a notice to others whenever messages are received or when others ping them or check their ID with a "/whois".


Chris Wenham is a Team OS/2er in Binghamton, NY with a catchy-titled company -- Wenham's Web Works. He has written comedy, sci-fi, HTML, Pascal, C++ and now writes software reviews.

[Index]  [ Previous] - [Feedback] - [Next ]

[Our Sponsor: Perez Computing Services - Makers of Ctrl-Alt-Del Commander and IPF Editor.]


This page is maintained by Falcon Networking. We welcome your suggestions.

Copyright © 1997 - Falcon Networking