This document is to introduce people to IRC.
IRC, or Internet Relay Chat, is another one of the 'net's TLAs (Three Letter Acronyms). It is simply a network of clients and servers connected together, to enable people to chat in real time over the Internet. There are thousands of people on EFNet, the second oldest IRC network (the oldest one has long been discontinued, and as such, hardly anyone knows about it), at any one time.
IRC then, is a simple medium of chatting to another person, or most often, a large (or not so large) group of people who are on at the same time.
There is one thing you need to know, UNLESS you are a channel regular (when people in the channel recognize you when you join a channel, and have been visiting for a few weeks usually), you *shouldn't* just join in and start blabbering away.
When you join, you might want to just say a quick hello to everyone, and stay silent for a few minutes until you know what's going on. If, however, no one responds to your hello, or no one seems to be talking, then you could actually say something related to the channel. If people on the channel are talking about something other than what the channel is about, then perhaps join in when you know what they're talking about, and pop in your question when it feels appropriate (the subject of the channel usually changes quickly). If there is a rather heated discussion taking place, please realize that in the heat of the discussion, people may /KICK you out of the channel, either purposely or mis-selecting the name. If you have been quiet for much of time, but for less than an hour (see: Idling), it most likely would have been accidental.
Also, if you irrititate others with things like "what's IRC?" etc. etc, they may do what's called a "BAN" where you aren't allowed to join the channel after you leave (either forcibly or politely), until the ban is removed. In line with the ban is the KICK, where you are forcibly thrown out of a channel. Sometimes a KICK will be an accident, so don't take it personally. Usually, if you do get a KICK, you should try to get back into the channel, as it could be something you have done, but wasn't taken to heart (say, accidental flooding).
Flooding is a term used to define anyone who tries to say too much too quickly. Saying too much is relative, things like CTCP PING|VERSION etc. are counted as you saying it. If you flood a channel by repeating the same thing over and over again, you could get kicked out of a channel, or permanently banned. However, someone might try to flood you, but doing things like CTCP PING, CTCP VERSION, etc, in which the server might close the connection, as your client responds to such requests.
Note that the latest version of mIRC (4.72) does not respond to the CTCP ECHO request.
CTCP is a way to usually get responses to queries to a client, from another client. Common CTCP commands are VERSION (gets the other person's client program and version), CLIENTINFO (retrieves information about the other client's supported CTCP commands), SOUND (an annoying way to get someone's attention by playing a sound), and PING (to see if a person is lagged, or if a client is responding). ECHO, a common method used to flood people off by causing the server to close their connection, is a CTCP command that does nothing but send back the data that was sent to it. As above, the latest mIRC does not support CTCP ECHO.
DCC is a way of sending files between clients, pictures, programs, sounds, etc. Also, it's a way to chat with someone over a semi-secure channel. Basically, you establish a connection with another client. This connection is like a mini-telnet connection, and a simple TELNET script for mIRC has been written using DCC CHAT. Common DCC commands are SEND and CHAT. SEND allows you to establish a binary data connection to send files over. CHAT establishes a semi-secure connection (your text is not sent throughout the network, just directly to the other person). RESUME, a command that is most likely sent by the client, to continute a data transfer that has been interrupted. ACCEPT is the response to a RESUME, as DCC RESUME is not an official standard for DCC connections.
Lag is a term used to describe how long it takes to send a message from a client, to server, perhaps more servers, to another client. Due to the fact that IRC consists of many servers hooked together, it takes a finite time for a message to traverse a few servers. Lag times of 3-6 seconds are normal, while lags greater than 10 seconds are bad, as chats with a person who doesn't get a message for 10 seconds are disconcerting. Just imagine that you are talking to someone on the phone, and when you say something, it doesn't get to the other side for 10 seconds.
Another thing to note is that the larger networks, like the "Big 3" (EFNet, DALNet, Undernet), lag can be quite annoying, and lag times of 10-30 seconds are common. The networks experience lag during periods of high Internet traffic. Lag is common, and expected on these networks.
A netsplit is simply when the network breaks apart. The network is not connected redundantly (and in fact, no server should make a connection that causes a "loop" to form). These net-breaks occur for a multitude of reasons, the most common is when the lag is too large, and the server times out the connection with the other servers. Another reason is that the lag is quite high at one server, so an administrator (called an IRCop, short for IRC Operator) would try to connect his or her server to another server that could possibly help matters.
In the past, before something called "timestamping," it was possible for someone to take over a channel (called a "takeover," how nice) by coming in during a split. The servers, upon reconnecting, did not remember the previous state of the channels on the network, and let anyone who was opped stay opped. etc. Another thing is something called a nick collision. Before TS (timestampting), if there was someone who came in during a netsplit with the same nick as someone else on the other side, the servers didn't know who had that nick first, and so disconnected both people. Timestamping is simply where each server notates the time when each person connected, got opped, etc. The timestamps are used only when reconnecting, to determine who should get ops. A person coming in with the same nick as someone else during a netsplit will be disconnected, while the other person *MIGHT* get a message saying such a thing happened.
IRC does *not* compare much with other chatting applications. Perhaps you should know one thing: IRC is not for people who *HATE* to type, because there is a lot of typing to be done. Various clients make it easier to do without typing commands, but it's still faster to do it manually. IRC is TEXT based, going back to the late 80's where GUIs were few and far between. It's my preference to play music while I do IRC, but you can do whatever, watch TV, etc. Perhaps IRC can be more closely related to the common UNIX program "talk."
Because it is text based, a low end machine can do IRC. If you have a shell account (shell or Kermit as it's called), you only need a computer with a terminal emulator (I know of one person who has an 8088 who chats on IRC). If you have a PPP/SLIP connection, then you may have to up it to a 286, to run just DOS based clients and the connection program (there are such beasts out there. For those gamers, KALI has a connection program you can use, and kalichat is very similar to IRC). If, like the rest of us, like to have graphics, you have to have a 486 (there are too many programs to run for it to be "acceptable" on a fast 386 - even a slow 486 has problems), that runs Windows. Now for those who have a 386 they want to use just for IRC (and UNIX experience), you can use a UNIX based OS like Linux, and run the popular UNIX client ircII.
More to come later...
This document is © by Worf.