This is a work in progress entry. It is being updated gradually. Comments/suggestions/additions welcomed.
What is this thing called IRC?
IRC stands for Internet Relay Chat, a multi user chat system allowing users to 'talk' in channels with many other users or privatly to just one other user.
A user connects to an IRC 'server' which is connected to other IRC servers in a 'network'. The user can then talk in any channel on the network and to any user connected to the network.
It was originally written by Jarkko Oikarinen in 1988 as a replacement for the UNIX program 'talk' which allowed users on a UNIX system to talk to each other and also users on linked UNIX systems to talk to each other.1
What is an IRC server?
An IRC server is a computer configured to allow connections from users, and to relay their messages to and from all the connected users as well as to any other servers in the network.
Each server runs a program called an IRCd (IRC deamon) which controlls all the users connecting to the server. There are many version of the IRC server software including Bahmut2 and Ultimate3.
Although you can get IRCd software which runs on Windows4 all of the big networks use UNIX servers. The most popular operating system for the very big networks is BSD wheras medium sized networks use Linux. They explicitly ban Windows servers as they are considered too unreliable - IRC servers may run for months without rebooting.
The standard command to connect to a server is /server servername port, for example /server irc.dal.net 6667.
A server may be linked to other servers to form an IRC network, but it does not have to be - they can function quite well on their own.
What is an IRC network?
An IRC network is a collection of servers that are linked together. Every user connected to the network can see other users connected to the network no matter which server they are using.
The advantages of connecting a server to a network include giving users a server more local to them to allow for faster and more stable connections and also increasing the number of users able to connect to a network. A single server may be able to take anything from a few hundred to many thousand users, and the largest networks have over 100,000 people using them at any one time.
Netsplit.de provides statistics on almost all of the IRC networks in the world, you can find information about the service here or jump directly to the Netsplit.de website.
Who runs the network?
IRC networks are nearly always owned an run by volunteers, who tend to fall into the catagories of admins and opers. Networks on the very large networks often have such high bandwidth demands that they are owned by companies but they still tend to have volunteer staff.
An admin (or server administrator) is the person who runs the server. Server admins set the rules for a server, as well as enforcing their policy.
Server admins often have a vote in network issues as well, such as the decisions to link a new server.
An oper (or IRC operator, sometimes called an IRCop) is a person nominated by a server admin to assist in the running of the server.
They are essentially janitors who ensure that the server keeps running smoothly for the users by removing disruptive users and answering questions.
An IRCop is listed in the server configuration by an O line - the line which tells the server that they are an IRCop begins with O: followed by various details depending on the IRCd that is running the server.
Becomming an IRCop takes a lot of time and patience, as you can only ever get there by being invited by a server admin. You have to get to know them and show them that you are trustworthy without ever implying that you are looking to aquire an O line as oper begging is a cardinal crime only commited by lamers. If you dont already know other IRCops or a server admin it may be almost impossible.
How do I connect to a IRC network?
First you need to decide which IRC network to connect to, at this point you may wish to consult netsplit which has an almost complete list.
Once you have decided which network to conect to then you need to select a server - you should look at either the network website or netsplit.de to find one. Often you can connect to a network at irc.networkname.com but there is no garentee and you should check to ensure that you can connect. Preferably you should use a server close to you to ensure that you get a good connection, but if you wish you can connect to a server on the other side of the world.
Once you have selected a server you then need a client to connect to it. There are literally thousands of IRC clients and millions of modifications5 available. Your client will come with instructions about how to connect to a server along with the commands it understands.
Which IRC client should I use?
The most popular IRC client is called mIRC, written by Khaled Mardam-Bey a very long time ago and updated frequently ever since. It is fairly siple but has a very powerful scripting language allowing you to customise it any way you wish. There is a huge mIRC script repositry at www.team-clanx.net but it is advised that you should not download any scripts until you are used to the basic program.
mIRC however is only available for Windows and all real people shun Windows in the favour of the much superior Linux, and so will need a client that works there. My personal favourite is XChat but again there is a lot of choice, and almost all Linux distributions ship with a IRC client - in Mandrake it is called Ksirc.
There are many channels on IRC, and you need to decide which one to talk in. Once you have connected to the network then you can type /list to get a complete list of channels. This is a very bad thing to do on large networks because the channel list can be so large that even with a cablemodem it can take several minutes to transmit. Instead you should use /list searchword which will give you a list of all the channels containing your searchword.
Once you decide which channel you wish to join then you can type /join #channelname to go there and start chatting!
Common IRC commands
|/server||Connect to a server||/server irc.dal.net 6667||Connects you to DALnet|
|/join||Joins a channel||/join #h2g2||Joins the channel #h2g2|
|/part||Leaves a channel||/part #h2g2||Leaves the channel #h2g2|
|/list||Lists all the channels on the server||/list dog||Lists all the channels containing the word 'dog'|
|/msg||Sends a message to a user or channel||/msg Bill||Sends a message to the user Bill|
|/me||Performs an action||/me jumps up and down||Sends '* Me jumps up and down' to channel|
|/amsg||Sends a message to all the channels you are in||/msg Hi guys||Sends the message 'Hi guys' to all the channels you are in|
|/ame||Sends an action to all the channels you are in||/me will bbl||Sends the action '* Me will be back later' to all the channels you are in|
|/quit||Terminates your session||/quit||Disconnects you from the server|
It is possible to catch viruses6 on IRC. For more information on IRC viruses and how to avoid catching one please see entry A738146.