_ [ Note: At 93 K in size, this “short” help file is anything but short, andmay take over a minute to load if you have a slow modem. Don’t access anythingin the table of contents until the whole thing is loaded. –Jolo ] _
Using ps command to show running processes under bash for Linux or Mac OS X CTRL Z, stop and restart Linux jobs Dec 20 2008 Take control of Linux jobs, stop and resume them any time using CTRL Z Kill any users processes and logout the user Nov 15 2008. After you press ctrl+z it will pause execution of the current process and move it to the background. If you wish to start running it in the background, then type bg after pressing ctrl-z. If you wish to have it run in the foreground (and take away your ability to enter new commands into the prompt), type fg after pressing ctrl-z.
Written by:
Owe Rasmussen, (Sorg on IRC)
< d1rasmus@dtek.chalmers.se >
HTML conversion & update by:
~~~~~~~~~~~~~~~~~~~~~~~
Michelle A. Hoyle, (Eingang on IRC)
< hoyle@ifi.unizh.ch >
Joseph Lo, (Jolo on IRC)
Edition 1.2, January 1, 1997
Have you ever wanted to talk with other computer users in other parts of theworld? Well guess what? You can! The program is called IRC, (Internet RelayChat), and it is networked over much of North America, Asia Europe, andOceania. This program is a substitute for ‘talk’, and many other multiple talkprograms you might have read about. When you are talking on IRC, everythingyou type will instantly be transmitted around the world to other users thatmight be watching their terminals at the time. They can then type somethingand respond to your messages, and vice versa. I should warn you that theprogram can be very addictive once you begin to make friends and contacts onIRC, especially when you learn how to talk in 14 languages.
Topics of discussion on IRC are varied, just like the topics of Usenetnewsgroups are varied. Technical and political discussions are popular,especially when world events are in progress. IRC is also a way to expand yourhorizons, as people from many countries and cultures are on 24 hours a day.Most conversations are in English, but there are always channels in German,Japanese, French, Finnish, and occasionally other languages.
IRC gained international fame during the late Persian Gulf War, when updatesfrom around the world came across the wire, and most people on IRC gathered ona single channel to hear these reports.
Getting started 1. Clients and Servers 2. How to Behave on IRC 3. Privacy on IRC 4. First Steps 5. Screen and Keyboard activity
Let’s go! 1. General Commands 2. Private Conversations and Communication 3. Channels and Public Conversations 4. Channel and User Modes 5. Client to Client Protocol 6. Network Related Commands 7. Quick Reference Panel 8. Further into ircII Wizardry 9. Sample .ircrc 10. Writing Automatons
Frequently Asked Questions 1. How do I set up an IRC client? 2. Which server do I connect to? 3. What are good channels to try while using IRC? 4. How do I get nifty effects with ircII? 5. What if someone tells me to type something cryptic? 6. I get strange characters on my screen. What are they? 7. What about NickServ? 8. I’m being flooded and harassed by a jerk. Help! 9. How do I get rid of a ghosted IRC session? 10. About KILL usage. 11. Where can I find more?
Administrativia 1. Revision history 2. Release sites for the IRCprimer 3. Copyright (C) 1993 Nicolas PIOCH 4. Credits
Table 1:Editing keys
Table 2:Editing commands
Table 3:Simple screen activity
Table 4:General commands
Table 5:Private conversation commands
Table 6:Channel commands
Table 7:Mode commands
Table 8:Channel modes
Table 9:User modes
Table 10:Client to client commands
Table 11:Network related commands
Table 12:Setting environment tables
Table 13:Environment variables
Table 14:Advanced commands
Table 15:FTP sites with IRC clients
Table 16:Open telnet IRC clients
Table 17:Open IRC servers
Table 18:Highlighting ircII output
Table 19:Nordic countries character translations
Table 20:IRC related mailing lists
Table 21:IRCprimer release sites [ table of contents
navigation bar ]
1.1 Clients and Servers
IRC (original code was written by Jarkko Oikarinen) is a multi-user, multi-channel chatting network. It allows people all over the internet to talk toone another in real-time. It is a functional replacement and improvement to‘talk’; ‘talk’ is an old, primitive, atrocious, minimalist sort ofkeyboard/screen conversation tool, using a grotesque, machine- dependentprotocol (blah!). IRC does everything ‘talk’ does, but with better protocol,allowing more than 2 users to talk at once, with access across the aggregateInternet, and providing a whole raft of other useful features.
There are two ways to enter IRC from a Unix system. If you are using the emacs(editor from Richard Stallman and the Free Software Foundation) lisp client,you just have to type “M-x irc”, (if this doesn’t work you may need to loadthe client into your emacs session). If you are using the C client, (easierfor beginners), then you usually type “irc”. Non-Unix boxes have specialclients, each of which has to be configured using a special procedure. Checkthe manual or help screen for more information.
If you wish to be known by a nickname which is not your login name, type “ircnickname” instead. Each IRC user, (“client”), chooses a nickname. Allcommunication with another user is either by nickname or by the channel thatthey or you are on (more information about channels later on).
The most important thing to remember about IRC is that you have to be willingto explore and learn to use it. Take your time, try not to get flustered,enjoy yourself, and you will soon be making new friends all over the world!
IRC is based on a client-server model. Clients are programs that connect to aserver, a server is a program that transports data, (messages), from a userclient to another. There are clients running on many different systems, (Unix,emacs, VMS, MSDOS, VM…), that allow you to connect to an IRC server. Theclient which will be spoken of here is the most widespread: ircII, (originallydesigned by Michael Sandrof). Other clients are similar, and often acceptircII commands.
[ table of contents
navigation bar ]
1.2 How to behave on IRC
The most widely understood and spoken language on IRC is English. However, asIRC is used in many different countries, English is by no means the onlylanguage. If you want to speak some other language than English, (for examplewith your friends), go to a separate channel and set the topic to indicatethat. On the other hand, you should check the topic before you move to achannel to see if there are any restrictions about language. On a non-restricted channel, please speak a language everybody can understand. If youwant to do otherwise, change channels and set the topic accordingly.
It’s not necessary to greet everybody on a channel personally. Usually one“Hello!” or equivalent is enough. And don’t expect everybody to greet youback. On a channel with 20 people that would mean one screenful of hellos.It’s sensible not to greet, in order not to be rude to the rest of thechannel. If you must say hello to somebody you know, do it with a privatemessage. The same applies to goodbyes.
Also note that using your client facilities, (ircII “ON” command, forinstance), to automatically say hello or goodbye to people is extremely pooretiquette. Nobody wants to receive auto-greets. They are not only obviouslyautomatic, but even if you think you are polite, you are actually soundinginsincere and also interfering with the personal environment of the recipient.If somebody wants to be auto-greeted on joining a channel, he will auto-greethimself.
Remember, people on IRC form their opinions about you only by your actions,writings and comments, so think before you type. If you use offensive words,you’ll be frowned upon. Do not “dump” to a channel or user, (send largeamounts of unwanted information). This is likely to get you kicked off thechannel or killed off from IRC. Dumping causes network “burps”, connectionsgoing down because servers cannot handle the large amount of traffic anymore.Other prohibited actions include:
Harassing another user. Harassment is defined as behavior towards another user with the purpose of annoying them.
Annoying a channel with constant beeping.
Any behavior reducing the functionality of IRC.
[ table of contents
navigation bar ]
Z-kill Mac Os X
1.3 Privacy on IRC
You should always keep in mind that messages you send to someone over IRC arepassed along all the servers between you and and the person you are writingto. When you’re sending a letter to someone, any postman on the way could openit and read its contents.
Well, it’s the same on the network. Any IRC-Admin could compile their serverin “debug” mode and log whatever messages are transmitted through his node,(it has already been done), so a good rule of thumb is not to trust theservers.
**
IRC IS NOT A SECURE WAY OF COMMUNICATION!
**
How to establish direct communications between clients will be explainedlater, (see DCC CHAT in section 2.5). This should be used when you wouldn’twant anybody else on IRC to intercept your private messages.
[ table of contents
navigation bar ]
1.4 First Steps
Note: ircII, the client most people are using, has most of this informationonline. If you are stuck, type “/HELP” and hit . To escape from HELP mode,keep pressing until your edit line, (the line at the bottom of the screen),is empty. Most of the information in this file can be found typing thesecommands: “/HELP INTRO” or “/HELP NEWUSER”.
**
All ircII commands begin with a “/irchelp/” character.
**
The slash is the default command character. Commands are not case sensitive,and can be abbreviated to their first letters: “/SI” and “/sign “ stand for/SIGNOFF and will both end your IRC session, (more in section 2.1).
Anything that does not begin with “/irchelp/” is assumed to be a message tosomeone and will be sent to your current channel, or to a person you areQUERYing, (the QUERY command will be detailed later on, maybe in section 2.2).
If you are not sure about the spelling of an ircII command, type the prefix ofthat command, and press the ESCape key twice; ircII will give you a listing ofcommands and aliases that start with that prefix. Don’t forget the “/irchelp/”in front of the command though.
This is an example. Your screen may show more aliases, and less commands thanshown here, or less aliases and more commands - in other words “your mileagemay vary.”
[ table of contents
navigation bar ]
1.5 Screen and Keyboard activity
IRC is a full-screen utility. It takes over the screen, with the bulk ofactivity happening in the top (N-2) lines, a status line, (vaguely emacs-like), on the next to last line, and your input being entered on the lastline. When typing commands at ircII, you have a minimalist line-editingfacility in an emacs style.
The ! command is used to recall previous commands in your command history forre-execution. The ! command is unique in that when it is used, it leaves thematching history entry in the input line for re-editing. You can specify ahistory entry either by its number in the history list, or by a match with agiven wildcard expression. For instance, “/!10” will put entry 10 in thehistory list into the input line. “/!/MSG” will search the history for a linebeginning with a /MSG, (a “*” is implied at the end).
/! []
Recalls previous commands for re-editing.
/HISTORY []
Displays the command history on the screen. You can specify the number ofhistory entries you wish to view as well.
Almost everything happens in the upper bulk of the screen. This includes bothmessages from other users, as well as the output of the control commands.Normal messages from other users appear with the originating nickname in
Z-kill Mac Os Catalina
. Private messages arrive with the originating nickname in*asterisks*. Messages you send to everyone appear with a preceding '> 'whereas messages you send privately to another user appear with '->*nickname*'. Other output (invitations from other users to join channels, andso forth), appears interspersed with other activity on the screen. Table 3: Simple screen activity -------------------------------- What is displayed What you typed Sender Recipients ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~ ~~~~~~~~~~ > Morning people Morning, people You Channel
Z-kill Mac Os Downloads
hello some1else Channel -> *some1else* hi! /msg some1else hi! You some1else (only) *some1else* wassup? some1else You (only) Last ircII outputs can be recalled with:**/LASTLOG** [ [] > Changes your nickname to whatever you like.Everyone who wants to talk to you sees this name - also, at the moment,nicknames are limited to 9 characters max. Your nickname will be the same asyour login name by default. You can also set an environment variable, IRCNICK,the value of which will be used instead. Nickname clashes are not allowed;this is enforced by the servers. If your intended nickname clashes withsomeone else's as you enter IRC, you will not be able to enter until youchange it to something else. /NICK Nappy *** Nap is now known as Nappy **/QUIT** [] > Exits your IRC session. You can also use BYE, SIGNOFF and EXIT. If a reasonis supplied, it is displayed to other people on your channels. /QUIT Lunch Time! **/HELP** [] > Shows help on the given command. Note: This is not installed for allclients, which can be kind of annoying. /HELP HELP Usage: HELP [command] Shows help on the given command. The help documentation is set up in a hierarchical fashion. That means that certain help topics have sub-topics under them. [boring stuff deleted] **/WHOIS** [] > Shows information about someone. /WHOIS Nap *** Nap is pioch@poly.polytechnique.fr (Klein bottle for sale... inquire within.) *** on channels: @#Twilight_Zone @#EU-Opers *** on via server poly.polytechnique.fr (Ecole Polytechnique, Paris, FRANCE ! ) *** Nap has a connection to the twilight zone (is an IRC operator) *** Nap has been idle 0 seconds /WHOIS Nappy *** Nappy: No such nickname Sometimes WHOIS won't help you much, because the person you want to know moreabout just left IRC or changed nick. However, you can use WHOWAS to get thisinformation for a while:**/WHOWAS** [] [] > Shows information about who used the given nickname last, even if no one iscurrently using it. /WHOWAS Nappy *** Nappy was pioch@poly.polytechnique.fr (Artistic ventures highlighted. Rob a museum.) on channel *private* *** on irc via server poly.polytechnique.fr (Signoff: Mon Jun 22 20:15:23) Very often, an unsuccessful call to WHOIS will lead you to try WHOWAS. That'swhy ircII allows you to '/SET AUTO_WHOWAS ON'; that way, a '*** : Nosuch nickname' message will auto-magically generate a '/WHOWAS '.Try typing '/HELP SET AUTO_WHOWAS' for more information on this topic.**/AWAY** [] > Leave a message explaining that you are not currently paying attention toIRC. Whenever someone sends you a MSG or does a WHOIS on you, theyautomatically see whatever message you set. Using AWAY with no parametersmarks you as no longer being away. /AWAY Gone to get a cup of coffee. *** You have been marked as being away /AWAY *** You are no longer marked as being away [ table of contents navigation bar ]* * *### 2.2 Communication and Private Conversation Table 5: Private conversation commands -------------------------------------- Keyword Action ~~~~~~~ ~~~~~~ MSG sends a private message QUERY starts a private conversation NOTICE sends a private message NOTIFY warns you of people logging in or out IRC IGNORE removes output from specific people off your screen You can use the MSG command, (usually 'M' is an alias for it), to send someonea message that only that person can read.**/MSG** > Send a private message to specified nickname. /MSG Nap This message is for Nap only. -> *Nap* This message is for Nap only. On my screen will appear: *YourNick* This message is for Nap only. If you want to send a private message to more than one person, you can specifya list of nicknames separated by commas, (no spaces). /MSG Nap,Sorg This message for both Nap and Sorg. -> *Nap* This message for both Nap and Sorg. -> *Sorg* This message for both Nap and Sorg. Two special case nicknames are defined. If the nickname is ',' (a comma), themessage is sent to the last person who sent you a MSG. If the nickname is '.'(a period), the message is sent to the last person to whom you sent a message.You can have a private conversation by only using /MSG. However, typing '/MSG' or '/MSG . ' gets cumbersome. That's where the /QUERYcommand comes in handy.**/QUERY** [] > Starts a private conversation with .All text you type that would normally be sent to your channel now goes to thesupplied nickname in the form of MSGs. To cancel a private conversation, useQUERY with no arguments. /QUERY Nap *** Starting conversation with Nap Blahblahblah -> *Nap* Blahblahblah /QUERY *** Ending conversation with Nap There is also another command to send messages, called NOTICE. Unlike MSGs,NOTICEs are surrounded by '-' when printed, and no automated responses, (suchas generated by IGNORE or an automaton), will be sent in reply. Services,(robots), on IRC often use this form of interaction.**/NOTICE** > Sends a private message to the specified . /NOTICE Nap Better use /MSG instead of /NOTICE. -> -Nap- Better use /MSG instead of /NOTICE. On my screen will appear: -YourNick- Better use /MSG instead of /NOTICE. As you begin to make new friends over IRC, you'll want to mark certainnicknames such that you will be warned when they signon or off.**/NOTIFY** [[-]] > Adds or removes to the list of people you'll be warned when they enter orquit IRC (in ircII versions prior to 2.2, too many people in the NOTIFY listcause excessive slowness). /NOTIFY Nap Nappy *** Signon by Nap detected /NOTIFY *** Currently present: Nap *** Currently absent: Nappy Eventually, you may wish some day not to see messages from a specific user onyour screen. This may happen when someone is dumping large amounts of garbage,or if someone is harassing you. The proper response to such a behavior is toIGNORE that person. IGNORE is a very powerful command, and can be used in manyways. However the basic usage of this tool is the following.**/IGNORE** [ <user@host> [[-]] ] ] > Sets your current channel to the supplied channel. /JOIN #Twilight_Zone *** Nap has joined channel #Twilight_Zone *** Topic: The Gernsback Continuum *** Users on #Twilight_Zone: Nap msa tober phone @julia @SirLance igh @Daemon @Avalon @Waftam @Trillian @tzoper The CHANNEL command has the same effects. Note that if no parameters aregiven, your current channel is displayed.Upon entering a channel, you are given useful details about it: list of userstalking in that channel, topic... Joining a channel does not cause you toleave your previous channel unless NOVICE is set to ON. See '/HELP SETNOVICE'.Once in a channel, you may wish to get a detailed list of the people IRCinginside. That's where the WHO command comes in handy:**/WHO**[ [] > Invites another user to a channel. If no channel is specified, your currentchannel is used. /INVITE Nap *** Inviting Nap to channel #Twilight_Zone If you receive an INVITE message, you can type '/JOIN -INVITE' to join thechannel to which you were last invited, or simply '/JOIN '.To leave a channel, just issue a LEAVE command, (PART has the same effects):**/LEAVE** > Leave a channel. /LEAVE #Twilight_Zone *** Nap has left #Twilight_Zone Well, you guessed it, if there is a way to invite someone on a channel,there's also the possibility to KICK someone out of it, for example if thisperson is behaving like a jerk, annoying people or flooding the channel withunwanted information:**/KICK** [] > Kicks named user off a given channel. Only 'channel operators' areprivileged to use this command. /KICK #Twilight_Zone Target *** Target has been kicked off channel #Twilight_Zone by Nap Channels have topics, that indicate the current topic of conversation. You canchange this topic on a channel with the TOPIC command.**/TOPIC** [[] ] > Changes the topic for the channel. /TOPIC The silent channel. *** Nap has changed the topic on channel #EU-Opers to The silent channel. At times, you may want to send a description of what you are doing or how youare feeling or just anything concerning you to the current channel or query.It is absolutely good style not to forget the period at the end of thesentence!**/ME** > Tells the current channel or query about what you are doing. You can alsouse your own nickname as command, i.e. you can type the line with a leadingslash. /ME opens up the fridge. * Nap opens up the fridge. /Nap reaches out for the orange juice. * Nap reaches out for the orange juice. The same goal can be achieved towards a specific nickname using:**/DESCRIBE** > Sends anything concerning you to the or you pass asfirst argument.(Note: The look of the result depends on each client version, and might not beexactly the same as in the examples shown here.)These commands make use of CTCP, a client-to-client protocol crafted toperform specific actions, but not understood by all clients, (more about CTCPin section 2.5). If you get an error message, your description may not havearrived properly.[ table of contents navigation bar ]* * *### 2.4 Channel and User ModesChannels can have additional constraints, which can be set by the MODEcommand, (most of the information in this section can also be obtained byissuing '/HELP MODE'). To understand this, recall that the first person toJOIN a channel effectively creates it and is initially 'in charge' of thechannel, ('Channel Operator' or 'chanop'). S/he can subsequently add thoseconstraints, make other people chanops at leisure. Table 7: Mode commands ----------------------- Keyword Action ~~~~~~~ ~~~~~~ MODE changes channel or user mode Public is the default mode for a channel. When someone is on a public channel,he can be seen by all other users, (if his own user mode permits this). Anyonecan notice users on a public channel and join such a conversation.Private means that, although anyone can see members of such a channel, youcan't tell what channel they are on unless you are already on that channelwith them. They just appear as 'Prv: *' in LIST or NAMES. Since the number ofpotential channels is in the billions, this is quite some security - all yougive away is the acknowledgement that you're IRCing.If you are on a secret channel, someone who is not on the same channel can'teven see that you are there. Your name does not show up in a LIST of activeusers. The only indication of your presence is that, when entering IRC, allnew users are told that there are 'NNNNN users on XXX servers'. If someonechecks on all users and finds less than NNNNN of them, he knows that otherpeople are hiding on secret channels. But a secret channel user still cannotbe found except by brute-force checking through all channels, a hopelessproposition in the face of the huge number of possible channel names. Securitythrough obscurity finally means something.**/MODE** [[+ -] []] > Allows channel operators to change channel mode, or any user to change theirpersonal mode, (don't use this co mmand too often, it floods the net withworthless information). /MODE #Twilight_Zone +m *** Mode change '+m' on channel #Twilight_Zone by Nap /MODE Nap -i *** Mode change '-i' for user Nap by poly.polytechnique.fr And this is how to give 'chanop' status to someone on the channel /MODE #Twilight_Zone +o sojge *** Mode change '+o sojge' on channel #Twilight_Zone by Nap A + or - sign determines whether the mode should be added or deleted. Trytyping '/HELP MODE' to get further information. Channels can be moderated(only chanops can talk), secret, private, with a limited number of users,anonymous, invite-only, topic-limited, with a list of banned users.The MODE command also allows you to modify your personal parameters, your'user mode'. You can check your usermode with the command '/MODE 'or sometimes '/UMODE'. Note that user mode +i may be the default on someservers, in order to protect privacy of users. This should not be seen as aproblem, since any user can change his/her personal mode whatever defaults aserver may set. Table 8: Channel modes ----------------------- ModeChar Effects on channels ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ b ban somebody, in 'nick!user@host' form i channel is invite-only l channel is limited, users allowed max m channel is moderated, (only chanops can talk) n external /MSGs to channel are not allowed o makes a channel operator p channel is private s channel is secret t topic limited, only chanops may change it Table 9: User modes -------------------- ModeChar Effects on nicknames ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ i makes yourself invisible to anybody that does not know the exact spelling of your nickname o IRC-operator status, can only be set by IRC-ops with OPER s receive server notices w receive wallops (abused and deprecated) [ table of contents navigation bar ]* * *### 2.5 Client to Client Protocol**/CTCP** [] > Allows you to perform certain client specific actions on the network. /CTCP Nap VERSION *** CTCP VERSION reply from Nap: ircII 2.2 *IX :ircII 2.2, SL0 The one you thought you'd never see. This can be used to get information about how long a person has been idle: /CTCP Nap FINGER *** CTCP FINGER reply from Nap: PIOCH Nicolas - Nap on IRC, X90, (pioch@poly.polytechnique.fr) Idle 0 seconds Table 10: Client to Client Commands ------------------------------------ Keyword Action ~~~~~~~ ~~~~~~ CTCP performs certain client specific actions DCC handles direct connections to remote clients DCC SEND initiates a file transfer DCC GET accepts a file transfer DCC CLOSE ends a DCC connection or offer DCC LIST shows current DCC connections DCC CHAT initiates a secure chat between two clients There are many other CTCP commands, and new ones are introduced all the time.There is a mechanism for you to find out what you can use: CTCP CLIENTINFO. Tofind out about your own client services, execute a CLIENTINFO on yourself. /CTCP Nap CLIENTINFO *** CTCP CLIENTINFO reply from Nap: SED VERSION CLIENTINFO USERINFO ERRMSG FINGER TIME ACTION DCC UTC PING :Use CLIENTINFO to get more specific information If you are interested in this powerful CTCP mechanism, have a look in thevarious ircII help files. '/HELP CTCP' might tell you more. However theclient-to-client protocol has a very powerful feature: Allowing two people toexchange files.To send small text files, electronic mail is probably the best solution,(don't rely on the user@host given by the WHOIS command to send mail. However,ircII provides you a way to establish Direct Client Connections ('DCC') toperform functions like sending and receiving files.If NickA wants to send a file to NickB, then NickA should type: '/DCC SENDNickB filename'. On NickB's screen will appear: '*** DCC SEND (filename)request received from NickA'. If he, (NickB), wants to get the file, he justneeds to type: '/DCC GET NickA filename' A few seconds later *** DCC GET connection with NickA established *** DCC GET filename connection to NickA completed will inform both users that data transfer has been successfully completed. Here's a quick overview of the subject:**/DCC** [] > Handles direct connections to remote clients. The behaviour of DCC isdetermined by the specified .**/DCC SEND** > Initiates a file transfer by direct client connection.**/DCC GET** > Accepts a file transfer by direct client connection. The sender must firsthave offered the file with DCC SEND.**/DCC CLOSE** [] > Ends an unwanted DCC connection or offer. The , and must be the same as those shown by '/DCC LIST'. If the arguments are notsupplied, the oldest connection of the specified type is closed.**/DCC LIST** > Shows current /DCC connections with their types, status and nicknamesinvolved.More details can be found in ircII online help: try '/HELP DCC' for moreinformation.If someone asks you to send him a file, don't do it unless you exactly knowwhat you are doing. For instance, NEVER send the password file of your systemto anybody. This could grant crackers illegal access to your machines, and putyou and your system administrator in a lot of trouble.DCC also allows two clients to establish a direct client connection for chat.This is a secure form of communication, since messages are not sent throughthe IRC network.**/DCC CHAT** > Initiates a direct client connection chat to the given nick, who must repondwith DCC CHAT. Once established, messages are sent over with '/MSG =Nickname...'.[ table of contents navigation bar ]* * *### 2.6 Network Related CommandsIf you encounter any problem, contact your local IRC-Administrator or an IRC-Operator. An IRC-Admin is a person who has access to all files concerning'ircd' (the server program). An IRC-Operator or 'IRC-op' is a person who hasprivileges given to him by an IRC-Admin and tries to maintain a fast reliableIRC network. Information on how you can find out who s/he is, can be foundbelow.Each time you are prompted for a server name, remember you can supply thenickname of someone being connected on that server instead. This may be usefulat times. Table 11: Network related commands ----------------------------------- Keyword Action ~~~~~~~ ~~~~~~ ADMIN displays information about a server LINKS shows the servers on the IRC network SERVER switches your primary server MOTD displays the server message-of-the-day USERS prints users logged on the server machine DATE shows server current date and time TIME shows server current date and time LUSERS gives a brief listing of users, servers and operators TRACE shows the server connections of the given server STATS shows some irc server usage statistics INFO shows useless information about IRC VERSION shows client and server version number **/ADMIN** [] > Displays the administrative details about the given server. If no server issupplied, the server you are connected to is used. /ADMIN ### Administrative info about poly.polytechnique.fr ### Ecole Polytechnique, Palaiseau, FRANCE ### IRC-Administrator Nicolas Pioch (Nap@IRC) ### <pioch@poly.polytechnique.fr> **/LINKS** [[] is given, /LINKS asks the given for a list of serversmatching the given expression, (this list can get very long!). /LINKS *po* *** nova.unix.portal.com 7 Cupertino California, USA *** poe.acc.Virginia.EDU 6 University of Virginia 2.7.1f *** polaris.utu.fi 9 University of Turku, Finland *** polaris.ctr.columbia.edu 6 Columbia University, New York City *** csd.postech.ac.kr 4 POSTECH Computer Science Dept. *** cdc853.cdc.polimi.it 2 Polytechnic of Milan, Italy *** poly.polytechnique.fr 0 Ecole Polytechnique, Paris, FRANCE **/SERVER** []] > Switches your primary server to the supplied at the specified ] > Gives the Message-Of-The-Day for the named server. If no server is given,your server is used. /MOTD MOTD - poly.polytechnique.fr message of the day - MOTD - _____________________________________ MOTD - / MOTD - _ Bienvenue sur le serveur MOTD - Internet Relay Chat MOTD - de l'Ecole Polytechnique, FRANCE MOTD - _________________________________ __ MOTD - _/___________________________________/ MOTD - MOTD - En cas de probleme, MOTD - )_) )_) )_) tapez / admin MOTD - )___))___))___) MOTD - )____)____)_____) Nicolas PIOCH MOTD - _____ ____ ____ ______ Nap sur IRC MOTD - -- Welcome to IRC ! /--------- MOTD - ^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ * End of /MOTD command **/USERS** [] > Shows the users logged into the machine where the server is running, (it'sup to the server administrator to implement this feature or not. It may notwork on some machines). /USERS *** UserID Terminal Host *** pioch ttyp9 rotule.polytechn *** pioch ttypc rotule.polytechn *** pioch ttyq0 rotule.polytechn *** pioch ttyq1 rotule.polytechn **/DATE** [] **/TIME** [] > Shows the current time of day and date. If a server is specified, the timeof day and date are reported from that server. DATE and TIME are identical. /DATE *** poly.polytechnique.fr Saturday June 20 1992 -- 02: 35 +01:00 **/LUSERS** > Gives a brief listing of the number of servers, operators and users matchingthe given ] get info on someone # /q [] query someone # /m send a message # /n send a notice # /r reply to last message I got # /a followup on my last message alias w whois alias q query alias m msg alias n notice alias r msg $, alias a msg $. # /j join a channel # /l list people in a channel # /ll list in the current channel # /i [] invite someone # /hop leave the current channel alias j join alias l who alias ll who * alias i invite alias hop part $C # /o [] give channel op status # /d [] remove channel op status # /k kick someone # /mo [+ -] change current channel mode alias o mode $C +ooo alias d mode $C -ooo alias k kick $C alias mo mode $C # the 'wrong person' alias! /oops to resend message to alias oops { @ _whoops = [$B] msg $. Whooops ! Please ignore, that wasn't meant for you. msg $0 $_whoops } alias unset set -$* alias unalias alias -$* alias NickServ msg NickServ@Service.de alias NoteServ msg NoteServ@Service.de # ------------------------------------------------------------------- [ table of contents navigation bar ]* * *### 2.10 Writing automatonsAn automaton, (also called robot or service), is a program that is connectedto the IRC network to provide services. Many people try to set that up with afew ircII commands like: on ^msg '% help' notice $0 This is LameBot 1.0 However, you should know that setting up an automaton using ircII ONfacilities is quick and dirty, and should be reserved for robots that rely onircII specific features such as DCC (file servers for instance). Writing aprogram in C, perl or any decent programming language should take longer inthe beginning, but your efforts will be rewarded. You can download skeletonsof such programs on some ftp sites that keep IRC related stuff (check in theFrequently Asked Questions part).Although most robots-writers believe they have created a 'smart thing', 99% ofthe robots online happen to be a nuisance to the IRC community, because a fewsimple rules were not respected by their owners. The main idea is that robotsshould neither be seen nor heard: 1. automatons should be clearly identified as such, having 'bot','serv' or 'srv' in their nickname. 2. they should use NOTICES to communicate with the rest of the world, and not reply to NOTICES they get. 3. they should be able to always be killed (craziness is a frequent disease among robots). 4. they should be able to be killed remotely by their owner via IRC. 5. they should not give access to their owner's real files, (bandits have already been able to crack people's accounts through their robots). 6. they should not send messages to channels (unless the channel is dedicated to that robot). 7. they should not flood channels with MODE changes. Basically, if you have such a command as: on -JOIN 'Lamer #BotTub' mode #BotTub +o Lamer then you are wrong. Because this is what you will get: *** Lamer (clueless@where.the.hell) has joined channel #bottub *** Mode change '+o Lamer' on channel #bottub by LameBot *** Mode change '+o Lamer' on channel #bottub by StupidSrv *** Mode change '+ooo Lamer Lamer Lamer' on channel #bottub by FloodServ *** Mode change '+o Lamer' on channel #bottub by Dumbbot And this will get boring very soon, so don't be surprised if such robots getbanned from most channels. A good kludge is to wait until someone asksexplicitly the robot to be opped on a channel. This could be: on -MSG 'Lamer op me on #BotTub' mode #BotTub +o Lamer If you don't respect rules 2 and 6 above, this may happen too: *** TalkBot (clueless@where.the.hell) has joined channel #bottub Hi TalkBot! Hello LameBot! How are you? *** Mode change '+o TalkBot' on channel #bottub by LameBot Fine thanx. Thank you for the op, LameBot. No problem, TalkBot. *** Signoff: Talkbot (ircserver.irc.edu where.the.hell) *** TalkBot (clueless@where.the.hell) has joined channel #bottub *** Mode change '+o TalkBot' on channel #bottub by where.the.hell *** Mode change '+o LameBot' on channel #bottub by TalkBot *** Mode change '+o TalkBot' on channel #bottub by LameBot Thank you for the op, LameBot. No problem, TalkBot. ... See? Remember the golden rule:**> A smart bot won't act unless explicitly asked by someone to.** [ table of contents navigation bar ]* * *# 3. FREQUENTLY ASKED QUESTIONS### 3.1 How do I set up an IRC client?Here is a list of FTP sites from which you can download a client for yourspecific operating system. Table 15: FTP sites with IRC clients ------------------------------------- UNIX ircII ~~~~~~~~~~ [calypso.cs.uregina.ca](ftp://calypso.cs.uregina.ca/Public/outgoing/ircii2.6.tar.gz) - /public/outgoing ftp.acsu.buffalo.edu - /pub/irc slopoke.mlb.semi.harris.com - /pub/irc plod.cmbe.unsw.oz.au - /pub coombs.anu.edu.au - /pub/irc nic.funet.fi - /pub/unix/irc/ircII ftp.informatik.tu-muenchen.de - /pub/net/irc EMACS elisp ~~~~~~~~~~~ slopoke.mlb.semi.harris.com - /pub/irc/emacs nic.funet.fi - /pub/unix/irc/Emacs lehtori.cc.tut.fi - /pub/irchat ftp.informatik.tu-muenchen.de - /pub/net/irc VMS ~~~ coombs.anu.edu.au - /pub/irc/vms nic.funet.fi - /pub/unix/irc/vms ftp.informatik.tu-muenchen.de - /pub/net/irc REXX for VM ~~~~~~~~~~~ ftp.informatik.uni-oldenburg.de - /pub/irc/rxirc ftp.informatik.tu-muenchen.de - /pub/net/irc/VM coombs.anu.edu.au - /pub/irc/rxirc nic.funet.fi - /pub/unix/irc/rxirc MSDOS ~~~~~ nic.funet.fi - /pub/unix/irc/msdos Macintosh ~~~~~~~~~ [calypso.cs.uregina.ca](ftp://calypso.cs.uregina.ca/Public/outgoing/homer.sea) nic.funet.fi - /pub/unix/irc/mac sumex.stanford.edu - /info-mac/comm ftp.ira.uka.de - /pub/systems/mac For Unix machines, you either compile the source yourself, or have someoneelse on your machine compile the source for you. The current 'official' ircIIrelease is version 2.2.1. That means that it is said to be quite bugfree(Hehe, you never know...) In addition to this 'official' distribution, you mayfind preversions of the client to come floating around, for people who like totrack down bugs and taste things to come. However, you should be aware of thatthose clients are being worked on, and may not have all features workingproperly.Here are the commands to type to setup an ircII client: ~ > ftp ftp> verbose off Verbose mode off. ftp> open cs.bu.edu Name (cs.bu.edu:yourname) : ftp Password: yourname@yourhost ftp> cd irc/clients ftp> bin ftp> get ircII2.2.1.2.tar.Z ' zcat tar xf -' ftp> get ircII2.2.1help.tar.Z ' zcat tar xf -' ftp> quit ~ > You now have to go into ircII2.2.1 and read the files explaining how toachieve a successful installation. Have a look at README and INSTALL, editconfig.h to define DEFAULT_SERVER, edit Makefile to define INSTALL_EXECUTABLE,IRCII_LIBRARY and the C compiler you will be using, then type make install andwait.If you can't set up a client on any local machine, you can still use anytelnet client: Table 16: Open telnet clients ------------------------------ Area Command login name ~~~~ ~~~~~~~ ~~~~~~~~~~ America telnet bradenville.andrew.cmu.edu telnet chatsubo.nersc.gov bbs Asia telnet cc.nsysu.edu.tw irc Europe telnet ircclient.itc.univie.ac.at 6668 telnet irc.ibmpcug.co.uk 9999 Please only use telnet when you have no other way of reaching IRC, as thisresource is quite limited.[ table of contents navigation bar ]* * *### 3.2 Which server do I connect to?It's usually best to try and connect to one geographically close, even thoughthat may not be the best. You can always ask when you get on IRC. Here's alist of servers available for connection: Table 17: Open IRC servers --------------------------- America Canada ug.cs.dal.ca ~~~~~~~ USA csa.bu.edu ucsu.coloradu.edu irc.caltech.edu Europe Finland nic.funet.fi ~~~~~~ France poly.polytechnique.fr Germany noc.belwue.de Sweden irc.nada.kth.se Oceania Australia munagin.ee.mu.oz.au ~~~~~~~ This is by no means, a comprehensive list, but merely a start. Connect to theclosest of these servers and join the channel #Twilight_Zone or, if you are inEurope, #EU-Opers. When you are there, immediately ask what you want. Don'tsay 'I have a question' because then everyone will ignore you until you say ita few times, and then they'll jump down your throat and rip your lungs out. Noone knows if he can answer your question until you ask it.[ table of contents navigation bar ]* * *### 3.3 What are good channels to try while using IRC?#Hottub and [#riskybus](http://www.cs.uregina.ca/~hoyle/Games/) are almostalways teeming with people. #Hottub is meant to simulate a hot tub, and#riskybus is a non-stop quiz show similar to Jeopardy. Just join the fun andfind out! (German users may try channels named after German universitytowns...)Many IRC Operators are in #Twilight_Zone, while European Operators congregatein #EU-Opers. So if you join an Operator channel and don't hear much talking,don't worry; it's not because you joined. Operators don't talk much on suchchannels anyways![ table of contents navigation bar ]* * *### 3.4 How do I get nifty effects with ircII?You can highlight messages you send using control chars: parts of textsurrounded by control-b (^B) will appear in video reverse to most ircII usersfor instance. However the appearance of such effects relies on the terminalabilities of the user you're writing to.In some cases keys are already bound to something. For instance, ^B isnormally bound to BACKWARD_CHARACTER, so you will need to define a 'quote-character' key: just enter '/BIND ^W QUOTE_CHARACTER' then '/BIND ^W^BSELF_INSERT' and it may work. Table 18: Highlighting ircII output ------------------------------------ Key Effect ~~~ ~~~~~~ ^V Video reverse ^_ Underline ^B Bold [ table of contents navigation bar ]* * *### 3.5 What if someone tells me to type something cryptic?NEVERtype anything anyone tells you to without knowing what it is. There is aproblem with typing a certain command with the ircII client that gives anyoneimmediate control of your client, (and thus can alter your account environmentalso). Look in the ircII on-line help each time you can.[ table of contents navigation bar ]* * *### 3.6 I get strange characters on my screen, what are they?IRC has quite a few people from Scandinavian countries, }{ ][ are letters intheir alphabet (IRC is supposed to support the ISO Latin-1 8-bit characterset, but your client must be able to display them.) This has been explained onIRC about a thousand and one times, so read the following, do not ask it onIRC: Table 19: Nordic countries character translations -------------------------------------------------- Character Description ~~~~~~~~~ ~~~~~~~~~~~ [, { 'a' with two dots over it ], } 'a' with a small circle above it , 'o' with two dots over it, or a dash ('/irchelp/') through it ('[', ']', and ' = upper case) In addition to that, Japanese IRC'ers use a special ANSI escape controlsequences to transmit their Kanji alphabet. This may also look funny if youget some of it. Here's a sample: [$B$?$K$7[$B;$m$K# (nice, uh?)[ table of contents navigation bar ]* * *### 3.7 What about NickServ?To quote from NickServ's help text, NickServ's purpose is to help avoidingnickname confusions on IRC. There's no such thing as 'nickname ownership',however NickServ sends a warning to anyone else who signs on with yournickname. If you don't use IRC for 10 weeks, your nickname registrationexpires for reuse.Only a NickServ operator can change your NickServ password. To find out whichNickServ operators are on-line, send: /MSG NickServ@Service.de OPERWHO Nicknames with a '*' next to them are online at the time.Note: As of this writing, NickServ is down and it is uncertain when or if itwill return.[ table of contents navigation bar ]* * *### 3.8 I'm being flooded or harassed by a jerk. HELP!If somebody is behaving like a jerk on IRC, like dumping to a channel Mb's ofgarbage, then he should be KICKed and eventually banned from the channel, (see'/HELP MODE' for details).If it's a matter of personal harassment, then you should set a proper IGNOREonthat person, (preferably on his userid@hostname). Remember you can usewildcard expressions for IGNORE.[ table of contents navigation bar ]* * *### 3.9 How do I get rid of a ghosted IRC session?Sometimes you may have a 'ghosted' IRC session, a process still running onyour machine you would like to get rid of, but can't control anymore to issuea QUIT command. Going back to a unix shell, try listing your processes: ('ps-ux' or 'ps -f' depending on your system) poly ~ > ps -ux USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND pioch 10410 1.4 0.2 839 402 pf S 0:00 /usr/local/bin/emacs pioch 25441 0.6 0.9 2888 1908 ? S 0:32 xterm -ls pioch 25444 0.4 0.2 550 341 pf S 0:17 -tcsh (tcsh) pioch 10404 0.1 0.3 897 624 pf S 0:00 irisVx 5 4 10403 pioch 25634 0.0 0.3 1022 678 p6 S 0:22 irc pioch 25451 0.0 0.2 953 326 ? S 0:07 xmailbox pioch 25452 0.0 0.1 386 147 ? S 0:00 xdaliclock pioch 25459 0.0 0.3 1109 617 ? S 0:02 xman pioch 10403 0.0 0.1 574 124 pf I 0:00 mapleV pioch 10423 0.0 0.2 614 459 pf R 0:00 /bin/ps -ux Locate the line about your lost IRC session, (irc should appear in the COMMANDfield of the line), and its PID, (process number, second field of the linehere). In this example the PID is 25634, as shown here: USER PID %CPU %MEM SZ RSS TT STAT TIME COMMAND pioch 25634 0.0 0.3 1022 678 p6 S 0:22 irc All you then need to type is 'kill -KILL' or 'kill -9' immediatly followed bythe PID found above: 'kill -kill 25634' here.You can get more details about the commands involved here in the standard unixmanual, ('man 1 ps' or 'man 1 kill').If your machine crashed, and your nick is still in use on the IRC network,you'll have to wait 4 to 5 minutes for your server to recognize the fact.Getting an Operator to kill the ghost is almost never necessary, just sign onas another nickname and wait for the 'Ping timeout' or 'Bad link' message,then you can change your nick back.[ table of contents navigation bar ]* * *### 3.10 About KILL usageKILL is a command restricted to IRC-Operators to deal with protocol errorsheavily reducing the IRC network functionality. It's to be used with extremecaution, if at all.**> KILL should never interfere with channel-operator status.**If you op someone on a channel, you take the consequences. If someone joins#Whatever, you op them, then they kick everyone and lock the channel with some'Mode change +ib *!*@*', then suffer it: it's your fault, don't go whining toan IRC-op to fix it. If a channel is locked, you should start a new one.Effective methods to deal with obnoxious people are IGNORE, KICK and variousMODEs on channels, such as +i and/or +b.If you have been unjustifiably killed by an IRC-Operator abusing his power togain illegal channel-operator status for instance, yell! Mail a log to hisserver IRC-Administrator, (see ADMIN), join #Twilight_Zone or #EU-Opers forEuropean-related problems, and explain what happened.[ table of contents navigation bar ]* * *### 3.11 Where can I find more?Should your question not be listed above, you may want to check the'Frequently Unasked Questions', (FUQ) list, which will be shipping real soonnow, featuring replies to: > Are there any good FTP sites? (1) How do I join a channel? How do I become an IRCop? If you have access to Usenet News, (usually through a program called rn, trn,xrn or nn), you may want to join alt.irc debates, flamings and whinings.You can also join various IRC related mailing lists. 'Operlist' discussescurrent (and past) server code, routing and protocol. Mail operlist-request@eff.org to join. Another mailing list, ircd-three@eff.org exists todiscuss protocol revisions for the 3.0 release of ircd, currently in planning.Mail ircd-three-request@eff.org to be added to that. There is also low-trafficmailing-lists for ircII vmsirc and irchat clients. Table 20: IRC related mailing lists ------------------------------------ E-mail for subscriptions What's being talked about ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ operlist-request@eff.org Server code, routing and protocol. ircd-three-request@eff.org ircd 3.0 protocol listserv@grasp1.univ.lyon1.fr European IRC-Operators mailing list dl2p+@andrew.cmu.edu ircII mailing list vmsirc-request@vax1.elon.edu VMS IRC mailing list irchat-request@cc.tut.fi irchat mailing list [ table of contents navigation bar ]* * *# 4. ADMINISTRATIVIA### 4.1 Revision historyThis is version 1.1 of this paper. Version 1.0 of the IRCprimer was releasedin postscript form in June 1992 because I was sick of people asking for an IRCor ircII manual (and it was a good way to learn LaTeX!). During summer 1992Owe Rasmussen did a very nice text conversion of the paper. Due to the supportand many remarks I got, a new version is finally completed (special thanks toOlaf Titz !), along with Owe's plain ascii conversion.The primer is available in 3 formats: * IRCprimer.ps.Z: Postscript version * IRCprimer.txt: Plain text version * IRCprimer.tex.Z: Source code. * * *### 4.2 Release sites for the IRCprimerThe latest version of the primer can be found on the following ftp sites,thanks to their admins: Table 21: IRCprimer release sites --------------------------------- ftp site location ~~~~~~~~ ~~~~~~~~ nic.funet.fi /pub/unix/irc/docs cs.bu.edu /irc/support coombs.anu.edu.au /pub/irc/docs Here's how to get the latest primer postscript version for example: ~ > ftp ftp> verbose off Verbose mode off. ftp> open cs.bu.edu Name (cs.bu.edu:yourname): ftp Password: yourname@yourhost ftp> cd irc/support ftp> bin ftp> get IRCprimer.ps.Z ftp> quit ~ > uncompress IRCprimer.ps.Z ~ > * * *### 4.3 Copyright (C) 1993 Nicolas PIOCHThis manual is free; you can redistribute it and/or modify it under the termsof the GNU General Public License as published by the Free SoftwareFoundation; either version 2 of the license, or (at your option) any laterversion.This manual is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FORA PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis manual; if not, write to the: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. [ table of contents navigation bar ]* * *### 4.4 CreditsThe Interesting information contained in this paper is due to the work ofvarious people interested in IRC improvement; I'm only responsible foromissions and mistakes :-)It's impossible to give here a full list, however special thanx are due to (inanalphabetical order): +---------------------------------------------------------------------+ Real life (uh ?) IRC E-mail ~~~~~~~~~~~~~~~~ ~~~ ~~~~~~ Christopher Davis ckd ckd@eff.org Christophe Wolfhugel Zolf wolf@grasp.insa-lyon.fr Darren Reed Avalon avalon@coombs.anu.edu.au Greg Lindahl, Wumpus gl8f@virginia.edu Helen Rose Trillian hrose@eff.org Ian Frechette Daemon frechett@spot.colorado.edu Jarkko Oikarinen WiZ jto@tolsun.oulu.fi Jeff Trim jtrim@orion.cair.du.edu Jonathon E. Tidswell Ernie jont@cs.su.oz.au Karl Kleinpaste poptart KarlKleinpaste@cs.cmu.edu Matthew Alderson thecure thecure@mullian.ee.mu.oz.au Matthew Green phone phone@coombs.anu.edu.au Mauri Haikola Mauri mjh@stekt.oulu.fi Michael Sandrof BigCheese ms5n+@andrew.cmu.edu Olaf Titz praetorius stitz@ira.uka.de Ove Ruben R. Olsen Gnarfer rubenro@viggo.blh.no Ronald van Loon rvl rvloon@cv.ruu.nl Troy Rollo Troy troy@cbme.unsw.edu.au +---------------------------------------------------------------------+ Feel free to bug me with your comments, I hope I'll have enough time to reply.* * *A Short IRC Primer, converted from plain text to HTML by [Michelle A.Hoyle](http://calypso.cs.uregina.ca/Misc/aboutme.html), see the [ originalversion](http://calypso.cs.uregina.ca/Games/Information/primer.html) at hersite or email her at [hoyle@ifi.unizh.ch](mailto:hoyle@ifi.unizh.ch).* * *