The MIRC WorkshopTutorials, Scripts and Help Files for mIRC

The Basics of IRC

If you are already an experienced user of IRC chat then
this section may not be of much new interest to you. However you may still
wish to mark it as a site worthy of refering others to. If however, you
are new to chat, or want to be sure you have the basics correct this section
should help.

There is a lot of information to cover. Even though
this is a brief guide to IRC chat it has to be thorough enough to answer
at least the basic questions. In order to do that I have divided this
section into two seperate tutorials: The Terms of IRC, and Using IRC.

The
Terms of IRC will explain what IRC is. It will tell you about IRC
servers, 'lag' and 'net-splits'. The terminology of IRC can seem confusing
at first. So here I will attempt to explain the terms for you, and remove
any uncertainty about the nature and events of IRC.

Using
IRC is simply about what you can do in IRC. It covers the basics of
what using chat is about. Explaining what channels are about, the difference
between a private message chat and a DCC chat, etc. Between the two tutorials
you will understand what is involved in IRC chat.

More about the IRC protocol itself can be found in the
RFC (Request For Comment) document (RFC1459) which details the actual
specifications for IRC. It's quite a long and technical document, but
provides a lot of information. Documents like this exist for most if not
all protocols and are numbered. The IRC RFC is number 1459.

The Terms of IRC

IRC (Internet Relay Chat) was designed as a way for
people far apart to share knowledge, ideas and news. For scientists and
academics in different Universities, States or even Countries it proved
very useful. Since then IRC, like the rest of the internet, has become
accessible to all.

IRC is basically a protocol (like http used for web
servers and FTP for file servers) which means it is a set of rules by
which computers pass information to each other across the net, and have
the information passed to the computer users in an understandable form.

An IRC server is a computer (or just a portion of a
computer) that has the rules of the IRC protocol programmed in, serves
as the central processing point for all clients who connect to it, and
gives wouldbe IRC users a place to connect to together.

An IRC client is the software you use to exchange information
with an IRC server. MIRC is an IRC client, and a good one, but it is far
from the only one available. MS Chat, also called Comic Chat, is another
wide-spread client due to its inclusion with Internet Explorer and other
MS packages.

Most IRC users look down on MS Chat however since although
it adds the innovative graphical element, it falls short of some of the
more useful basics of the IRC protocol. Many feel that if Comic Chat were
not given away free with the world's most supported browser suite, it
would never be downloaded or used at all.

The 'big names' in the IRC client world are mIRC and
PiRCH, both of which give all the basics of IRC and extend them with colours
and DDE support to allow for speech to text software, video cameras, and
other external extras to be added in.

Thats enough about software and hardware however. What
I want to explain to you here is the phenomenon of IRC chat itself. How
to use it, what channels and private chats are about, what a channel operator
does and so on.

Operators (Ops)

Sometimes employees of the company running the IRC server
will be online. They are called server operators, sysops, or sometimes
IRCops. A true server op or sysop has a significant degree of control
over the IRC server itself. They have the power to disconnect people from
the server, and even permanently ban them from connecting if they feel
that the person in question is abusing their access.

Other Kinds of Operators, called Channel Ops, or hosts
are often found in the channels. Most servers allow people who are not
employees of the server to create and maintain channels. A channel op
cannot disconnect a user from the server, but can eject and ban that user
from that channel.

Channel Ops are not paid. They simply volunteer to host
a channel on the server and undertake to abide by the server rules. Some
channels impose additional rules and guidlines designed to better suit
the kind of users they wish to appeal to.

Servers

Many IRC Chat servers work together to form a group.
This effectively forms a single IRC Chat network that comprises several
seperate servers. Often the servers are far apart geographically. Having
multiple servers allows the chat network to have far more users without
slowing down the processing too much.

Chat networks suffer from a phenomenon called Net-splits
however. This happens when a lag builds up between two or more servers
in the group. Lag is the time-delay effect between the sending of information
and its receipt at the target.

The time-lag is caused simply by the fact that the communication
lines are having to send information to several different places at once,
sharing its lines over several connections. Also, small imperfections
on the line, like crackle or faintness on a telephone line, can cause
bursts of information to lose data, requiring a repeat send.

This all slows down the transmission of information,
and thus slows down the service to each of the other connections queued
up waiting for their burst of information to be sent or be ready for receipt.
Don't panic, that's as technical as I'm going to get.

Anyone who has browsed the net will have noticed that
sometimes small pages take ages longer to be displayed than normal. That
happens when the server those pages are on becomes lagged, either by too
many connections it must share its time amoungst, or by poor lines making
much data need repeating.

When an IRC server becomes lagged you will notice that
people take longer to reply than is usual. You may find that the chat
room seems to stand still. If the server lag becomes really bad the connection
between two or more of the group of servers might 'time-out'. If this
happens the connection between the servers is temporarily broken - A net-split.

Everyone connected to the network via the server that
disconnects will seem to quit all at once. This will not just include
the users on that server, but also on any server that connects through
the one that split.

Servers are quite independant in some ways too, and
so the servers on either side of the disconnection will each continue
to run what they can see of the IRC network. In general, the connection
between servers is re-established within a few minutes. However, sometimes
the cause of the lag can remain, and cause further splits for some time.

Net-splits are a major annoyance, but are just one of
the facts of IRC life. The only way you can guarantee to be free of net-splits
is to use chat servers that are not part of a group, but are instead all
on one server. Lag is just unavoidable with current computer and communication
technology.

CTCP

CTCP is the abbreviation for Client To Client Protocol,
a way that your client program may exchange information with others. To
a large extent, the use of CTCP messages will not be apparent to you even
when in use. As mentioned briefly in the MIRC Options pages, ctcp messages
are used to initiate dcc file transfers and to exchange sound requests.

CTCPs are also used to initiate DCC connections. The
request of one client for a direct link to the other is made in a ctcp
request. CTCPs can be created for other purposes too. One of the most
useful CTCP types is a ping. A CTCP ping is used to find the return journey
time of a signal from one client to another and then back. This will measure
the lag between two clients.

It is quite simple to create new ping types, and script
reactions to them, in order to add new functions to mIRC or other clients
that support scripting. Scripting is the subject of later tutorials however.