]> jfr.im git - irc.git/blame - software/ircd/www.irc.org/ftp/irc/server/Old/irc2.1/README
init
[irc.git] / software / ircd / www.irc.org / ftp / irc / server / Old / irc2.1 / README
CommitLineData
3bd189cb
JR
1 Author: Jeff Trim
2 jtrim@orion.cair.du.edu
3 Date: Mar 23, 1989
4 Last Modified: May 15, 1989
5
6
7 Installing IRC - The Internet Relay Chat Program
8
9
10System Requirements:
11TCP/IP Sockets
12BSD Unix [4.3]/[4.2], SUN Unix, HP Unix, Dec Ultrix, Most Socket Compat. Unix
13Knowledge of UNIX/C Programming, helps ;-)
14
15....if you don't have sockets (and a good way to know is if the UNIX TELNET(1)
16and FTP(1) programs don't work at all) then you can't run IRC! ;-( DRAT!
17Wouldn't it be great if all UNIX destributions had SOCKETS?
18
19
20 -=> To Install IRC <=-
21
22This manual attempts to give you the ENTIRE installation procedure for IRC,
23and I have made it so that you can skip over the parts you don't want to read
24by looking at the NUMBERS located on the right side of the screen. Here are
25the CHAPTERS contained in this DOCUMENT:
26
27 1) FTP - Getting the program files from "tolsun.oulu.fi" in Finland
28 2) EDITING THE "struct.h" FILE - and what the various #define's do
29 3) EDITING THE "Makefile"
30 4) HOW TO COMPILE AND INITIALIZE THE SOURCE FILES
31 5) OVERVIEW - of the "irc.conf" file: an introduction to networking
32 6) A TOUR OF THE /etc/hosts DATABASE - Brief description what it does
33 7) SERVER CONNECTIONS - How to set up the "irc.conf" file for SERVERS
34 8) DEFINING YOUR LOCAL HOST INFORMATION - and placing it in "irc.conf"
35 9) CLIENT CONNECTIONS - How to allow Clients to connect to Servers
36 10) OPERATOR PRIVILEDGES - How to make yourself an IRC Adminestrator
37 11) ADMINESTRATOR COMMAND - Telling other IRC users about your site...
38 12) REMOVING USERS COMPLETELY FROM IRC - How to remove errent users
39 13) AN EXAMPLE "irc.conf" FILE - Shows you what one REALLY looks like!
40 14) UPDATES TO THE PROGRAM: - That effect the "irc.conf" file
41
42 Appendix:
43
44 A) ADDING SUBNETS: - Adding Multiple Unix Sites (V2.01.5+)
45
46If you want to just view over a curtain chapter, take this file into VI and
47use the VI SEARCH command to search for the NUMBER of your choice, like
48"1)", "2)" and so forth - those numbers are unique to this table of contents
49and the CHAPTER headings themselves.
50
51Because we have provided you with this nice manual, DON'T BOTHER ME OR
52ANYONE ELSE UNTIL YOU HAVE PERSONALLY WORKED ATLEAST 40 HOURS ON THE
53PROGRAM YOURSELF. That way when you do ask questions they'll be
54intelligent questions ;-)
55
56----------===========>>>>>>>> Begin Manual <<<<<<<==========-------------
57
58
591) FTP: Getting the program files and Unarchiveing them:
60
61 First grab a copy of the program files from the anonymous FTP area of
62 "tolsun.oulu.fi". The files are usually COMPRESS(ed) and TAR(ed) into
63 an ARCHIVE format so you will need to unarchive them. To do this, first
64 transfer the archive file on to your UNIX and make a SUBDRIECTORY to
65 hold the files in -- usually "mkdir IRC". Then place the IRC ARCHIVE into
66 this new sub-directory.
67
68 To uncompress the ARCHIVE type: "uncompress <archive_file>"
69 For example: "uncompress irc.v2.01.6.tar.Z"
70
71 To UNARCHIVE the program files type: "tar -xf <archive_file>"
72 For example: "tar -xf irc.v2.01.6.tar"
73
74
752) EDIT: The "struct.h" file and make changes to the various #DEFINE's:
76
77 a) Define what type of UNIX OPERATING SYSTEM your machine uses. IRC currently
78 supports, BSD42, BSD43, APOLLO, SYSV. To select the one you want,
79 replace the "0" with a "1" next to the choice you want. All the other
80 UNIX OPERATING SYSTEM DEFINES should be set to "0".
81
82 b) Define DOMAINNAME, if your systems supports the "getdomainname()" system
83 call. You can check this by typing "domainname" at the UNIX prompt and
84 seeing if anything appears. IRC will attempt to add your UNIX Internet
85 System Domain to your hostname if it is not currently present on your
86 "hostname()". You should define this if you do support getdomainame().
87
88 c) Define NOTTY if you want the IRCD to run as a DAEMON. As a Daemon it
89 will sit in Unix Background and run independant of any Terminal or TTY.
90 If you want to run IRCD in FOREGROUND and attached to a TTY, undefine
91 this option. NORMALLY you will want to DEFINE this option and run IRCD
92 in Unix Background.
93
94 d) Define MYNAME to be the Unix Directory path (pwd) to the "ircd"
95
96 e) Define CONFIGFILE to the Unix Directory path to the "irc.conf"
97 password file. The Format of this file will be discussed later.
98
99 f) Define PORTNUM alters the Internet Socket Port for IRC. IRC will use
100 this port to accept connections from other IRCD Servers and IRC Clients.
101 The current ports being used for IRC are Internet Ports "6667" and "6666"
102 although these are not OFFICIALLY reserved for IRC, they are the ports
103 we have unofficially claimed for the program. I recommend you set your
104 program to use port "6667".
105
106 g) Define LOGFILE should be set to "/dev/null" unless you plan to DEBUG
107 the program. You should be aware that the logfile grows very quickly
108 so unless you really need a LOGFILE it should be set to "/dev/null".
109
110 h) Define TIMESEC to be the amount of IDLE time you will allow your server
111 to WAIT before attempting to request status of your neighboring servers.
112 After TIMESEC seconds have passed and no activity has occured on IRC,
113 IRC will enter a routine where it will send a PING message to all of
114 the servers connected to your IRCD. It will send one PING to every
115 server and will expect the other servers to send a PONG message back
116 saying that they are "okay and functioning". The program has a built
117 in time stamp that tells IRC the last time that something was received
118 from a curtain server. PINGFREQUENCY refers to the amount of time
119 you will allow server connections to be IDLE. After this IDLE time
120 has expired (IE the server has been IDLE for PINGFREQUENCY seconds)
121 the program will PING that particular server and will expect a PONG
122 message response from that server. If no reply to a PING message is
123 received in 2 * PINGFREQUENCY seconds the connection will be closed,
124 and reconnection attempts can be made by your IRCD or the remote IRCD
125 depending upon which server connects to whom.
126
127 i) Define PINGFREQUENCY - (see "h" above)
128
129 j) Define CONNECTFREQUENCY - will define the number of SECONDS for your
130 server to wait before it attempts reconnection at it's neighboring
131 IRC hosts. The default value is 20 minutes (1200 seconds) and that
132 is generally pretty good for RECONNECTION time. You should probably
133 not change this Define.
134
135 k) Define MAXUSERSPERCHANNEL - Defines the maximum allowed users per
136 channel in IRC. This effects the number of users that can all talk
137 at once in a given channel and it should be left at 10 unless you
138 have at first consulted with an authorized IRC Adminestrator about
139 it. DO NOT CHANGE THIS DEFINE UNLESS YOU HAVE PERMISSION TO DO SO.
140 It should be defined to "10" users.
141
142 l) Define WRITEDELAY effects the UNIX Socket command WRITE() which is used
143 to write socket information to the IRCD socket.. and beyond! Sometimes
144 a socket can become very crowded (if say 10-20 people were using IRC)
145 and it will lock up the users keyboard until it can get a return value
146 from the socket, which tells IRC some information about the WRITE() call.
147 To BREAK this lockup, you need to specify the number of seconds you'll
148 allow the SOCKET to stay locked up before you'll BREAK the lock - this
149 typically is 15 seconds and that is a pretty good number for it. I
150 recommend you leave it DEFAULT value.
151
152 --> Shouldn't have to change anything else! < --
153
1543) EDIT Makefile:
155
156 Take the file "Makefile" into a text editor and DEFINE (IE remove the "#")
157 from the Machine type that is yours. Currently the Makefile supports
158 Berkeley Unix 4.2/4.3, System V and Hewlett Packard Unix. The following
159 example shows the Makefile defined for Berkeley Unix:
160
161 #
162 # SYS = sysv
163 # SYS = hpux
164 SYS = bsd
165
166 .. all the other machine types should be UNCOMMENTED (IE should have "#"
167 in front of them).
168
1694) HOW TO COMPILE AND INITIALIZE THE SORUCE FILES:
170
171 To compile everything type "make". Make will compile all of the program
172 files and produce two files for you: "irc" and "ircd". You will need to
173 make sure that the "ircd" has the SETUID bit set on so that OTHER users
174 besides you can boot server if it goes down and you aren't around to boot
175 it yourself. This will allow them to BOOT the server but it will run under
176 *YOUR* UID so that you can kill it later if you need to. To turn on the
177 SETUID bit for IRCD type:
178
179 % chmod 4111 ircd
180
181 then your directory files should look something like this:
182
183 -rwx--x--x 1 wiz 142336 Mar 16 14:17 irc
184 -rwx------ 1 wiz 707 Mar 16 02:42 irc.conf
185 -rws--x--x 1 wiz 110592 Mar 16 14:20 ircd
186 ^
187 |
188 the SETUID also allows the "IRCD" to read the "irc.conf" file, because it
189 would be accessed as USER instead of GROUP or OTHER. You want to keep the
190 "irc.conf" file PROTECTED because there are PASSWORD in it. Keep your
191 protection up on this file.
192
193 +-----------------------------------------------------------------------+
194 | E N A B L I N G / S U M M O N M E S S A G E S |
195 +-----------------------------------------------------------------------+
196
197 *NOTE* You must have ROOT or special access to the GROUP tty ('/dev')
198 to do this. It is IMPORTANT that you do enable this option if at all
199 possible!!! The /SUMMON command is pretty important to your users
200 as it allows them to be SUMMONED to IRC by other users inside of the
201 IRC program.
202
203 The "IRCD" program also needs access to the GROUP of '/dev'. This
204 directory is where user TTY's are stored (as UNIX treats each Terminal
205 as a FILE! (which is a bit uncommon - but interesting!)) IRCD needs
206 GROUP ACCESS to /dev so that users can be SUMMONED to the program
207 by others users that are *in* the program. This allows people from
208 other Universities around the world to SUMMON your users to IRC so that
209 they can chat with them. Berkeley, SUN, HP-UX and most of the newer
210 versions of UNIX check to see if a USER is accepting MESSAGES via the
211 GROUP access rights on their TTY listing in the /dev directory.
212 For example an entry in '/dev' looks like this:
213
214 (Unix Path on BSD 4.3 UNIX is: /dev/ttyp0)
215
216 crw------- 1 jtrim 20, 0 Apr 29 10:35 ttyp0
217
218 You will note that 'jtrim' OWNS this terminal and can READ/WRITE to this
219 terminal as well (which makes sense because I am ENTERING DATA and
220 RECEIVEING DATA back from the UNIX). I logged into this particular
221 UNIX on "April 29th" at "10:35am" and my TTY is "ttyp0". But further
222 of *note* is that I do not have my MESSAGES ON! (mesg n) -- This is
223 how my terminal would look with MESSAGES ON (mesg y):
224
225 crw--w---- 1 jtrim 20, 0 Apr 29 10:35 ttyp0
226
227 With my MESSAGES ON (mesg y) I can receive TALK(1) requests, use the
228 UNIX WRITE(1) command and other commands that allow users to talk
229 to one another. In IRC this would also allow me to get IRC /SUMMON
230 messages. To set up the "IRCD" program to work with /SUMMON type
231 the following: (using ROOT or an account that has access to '/dev').
232
233 % chgrp tty ircd
234 % chmod 6111 ircd
235
236 The above commands read: "Give IRCD access to GROUP tty (which is /dev)
237 and then when ANYONE runs the IRCD allow SETUID and SETGID priviledges
238 so that they can use the /SUMMON command.
239
240+--------------------------------------------------------------------------+
241+ M A K I N G T H E I R C . C O N F F I L E +
242+--------------------------------------------------------------------------+
243
244When you first look at this file it can be a bit confusing, so you should pay
245close attention to the following. I get a lot of messages from people telling
246me how confusing this is so PLEASE - really read this:
247
2485) OVERVIEW: (difference bewtween NAME and NUMERIC Addresses)
249
250 There are 2 different types of INETERNET addresses, NAME addresses and
251 NUMERIC addresses. NAME addresses look like ENGLISH words (and indeed
252 they are ENGLISH words that refer to a given host). A NAME address looks
253 like "tolsun.oulu.fi" - and that particular address refers to the UNIX
254 named TOLSUN in Finland. It is a UNIQUE address because no other UNIX in
255 the world has its NAME address the same as "tolsun.oulu.edu". Anytime
256 you say "telnet tolsun.oulu.fi" - you would always connect to TOLSUN in
257 Finland. NUMERIC addresses refer to those addresses that are made up of
258 NUMBERS for example "128.214.5.6" is the NUMERIC address for TOLSUN. This
259 address is also UNIQUE in that no other UNIX in the would should be using
260 those NUMERIC numbers. The NUMERIC address is sometimes more reliable than
261 the NAME address because not all sites can recognize and translate the
262 NAME address into it's numeric counterpart. NUMERIC always seems to work
263 best, but use a NAME address when you can because it is easier to tell
264 what host you are connected to.
265
2666) The /ect/hosts Database: The 0.25 Cent Tour ;-)
267
268 Every UNIX has a file called "/etc/hosts" on it and this file contains
269 NAME and NUMERIC addresses in it. When you supply IRC with a NAME address
270 it will at first try to look it up in /ect/hosts, and then (if it's
271 really smart), use the Local Network File Server (NFS) to find the NUMERIC
272 address for the host you want to connect to. Thus if you plan to use NAME
273 addresses keep in mind that on SOME sites the entry for the TARGET UNIX must
274 be found in /etc/hosts or the NAME address will fail. A typical entry in
275 /etc/hosts looks like this:
276
277 130.253.1.15 orion.cair.du.edu orion.du.edu orion # BSD 4.3
278
279 This particular example is the Host ORION at the University of Denver.
280 Notice that on the far left is the NUMERIC Address for orion. The
281 next few ENGLISH words are the NAME addresses that can be used for orion,
282 "orion.cair.du.edu", "orion.du.edu", "orion". ALL of these NAME addresses
283 will return the NUMERIC address "130.253.1.15" which IRC will use to
284 connect to the TARGET UNIX. (when I say TARGET UNIX I am refering to the
285 UNIX you want to connect to for IRC). Any futher questions about /etc/hosts
286 should be directed to "man hosts".
287
288
2897) SERVER CONNECTIONS: How to connect to other servers/ How other servers can
290 connect to you:
291
292 EDIT the file you speicifed in "struct.h" under the #DEFINE CONFIGFILE:
293 Create this file using the same UNIX path and Filename you specified in
294 that #DEFINE. (typically this file should be called "irc.conf").
295
296 Now you must decide WHICH hosts you want to connect to and WHAT ORDER you
297 want to connect to them in. For my example let us assume I am on the
298 UNIX "tolsun.oulu.fi" and I want to establish SOCKET connections to 3
299 other IRCD running hosts (yeah - they must be running an IRCD there ;-)
300
301 My other three hosts I want to connect to are:
302
303 "naakka.tut.fi" - PRIMARY Connection
304 "orion.cair.du.edu" - Secondary Connection
305 "hal.oce.orst.edu" - Third Connection
306
307 And I want to connect to them in THAT order, meaning I first want to
308 try connecting to "naakka.tut.fi", then to "orion.cair.du.edu", and
309 finally to "hal.oce.orst.edu". So if "naakka.tut.fi" is DOWN (not
310 functioning or whatever) - the program will try to connect to "orion".
311 If orion is DOWN it will try to connect to "hal" and so forth.
312 PLEASE limit the number of hosts you will attempt to connect to 3
313 hosts - we are trying to limit the amount of Network Traffic IRC creates.
314
315 The format for the CONNECT entry in the "irc.conf" is:
316
317 C:<TARGET Host Addr>:<Password>:<TARGET Host NAME>:<TARGET Host PORT>
318Field: 1 2 3 4 5
319
320 for example:
321
322 C:orion.cair.du.edu:passwd:orion.cair.du.edu:6667
323
324 - or -
325
326 C:130.253.1.15:passwd:orion.cair.du.edu:6667
327
328 Explaination:
329
330 Each field is separted with a ":" charcter:
331
332 Field 1: Field 1 tells the IRC program why type of COMMAND we want to
333 carry out. In this case I have specified "C", stating I want
334 to CONNECT to another host.
335
336 Field 2: Tells the IRC program what HOST we want to connect to and the
337 NAME or NUMERIC address to connect to it. You can use either
338 the NAME or NUMERIC address, but don't use both of them. Use
339 the address that works the best. If the host is listed in
340 /etc/hosts or your program can use the NFS server use the NAME
341 Address, otherwise use the NUMERIC address.
342
343 Field 3: Is the password needed to CONNECT to the TARGET host. Some hosts
344 require Password protected validation when you connect to them,
345 and it is in this field that you specify any passwords you might
346 need. If there is NO password needed, leave this field BLANK
347 with no SPACES.
348
349 Field 4: The HOSTNAME of the TARGET Host goes here, including DOMAINNAME
350 if any. This is the name that the TARGET server will identify
351 itself with when you connect to it. If you were connecting to
352 orion you would recieve "orion.cair.du.edu" - and that is what
353 you should place in this field.
354
355 Field 5: The INTERNET Port that you want to connect to on the TARGET Unix.
356 Most of the time this will be set to "6667". If there is NO
357 information in this field (IT'S BLANK) then no connections will
358 be attempted to the TARGET HOST, and your host will ACCEPT
359 connections FROM the TARGET Host instead.
360
361 Some examples:
362
363 C:naakka.tut.fi::naakka.tut.fi:6667
364
365 This reads: Connect to host "naakka.tut.fi", with NO PASSWORD,
366 and expect this server to identify itself to you as "naakka.tu.fi".
367 *YOU* will connect to this host at PORT 6667.
368
369 C:130.253.1.15:Jeff:orion.cair.du.edu:6667
370
371 This reads: Connect to a host at adress "130.253.1.15", using a
372 login password of "Jeff". The TARGET server should Identify
373 itself as "orion.cair.du.edu". *YOU* will connect at Internet
374 Port 6667 on this host.
375
376 C:orion.cair.du.edu::orion.cair.du.edu
377
378 This reads: *DO NOT CONNECT* to "orion.cair.du.edu", but if
379 "orion.cair.du.edu" happens to request a CONNECTION with me,
380 allow it, and let "orion.cair.du.edu" connect TO ME.
381
382 Now back to our original problem, we wanted OUR server CONNECT to 3
383 hosts, "naakka.tut.fi", "orion.cair.du.edu" and "hal.oce.orst.edu" in
384 that order. So as we enter these entries into the file they must be
385 done in REVERSE order of how we could want to connect to them.
386 Here's how it would look if we connected "naakka.tut.fi" first:
387
388 C:hal.oce.orst.edu::hal.oce.orst.edu:6667
389 C:orion.cair.du.edu::orion.cair.du.edu:6667
390 C:naakka.tut.fi::naakka.tut.fi:6667
391
392 IRCD would first connect to "naakka..", then to "orion..." and finally
393 to "hal...".
394
395 *** RECIPROCAL ENTRIES - MUST HAVE FOR IRC TO WORK ***
396
397 FOR THESE SERVERS TO CONNECT TO YOU, you must also have a CORRESPONDING
398 "N" entry in your file that takes the SAME FORMAT as the "C" entry
399 did (above).
400
401 Even though you have a "C" entry you also need the "N" entry or the IRC
402 Program will fail. the "N" entry allows you to SPECIFY any passwords
403 that you will REQUIRE from any CONNECING servers to give you so that they
404 can be authorized to connect to your IRCD. (If your lost, stay with me it
405 will be clearer in a moment).
406
407 Let us assume that "orion.cair.du.edu" connects to *YOUR* server:
408 Well you want to place PASSWORD authorization on ORION so you
409 make your "N" entry for Orion to be:
410
411 N:orion.cair.du.edu:golden:orion.cair.du.edu
412
413 What this line says is: Expect a Connection from host "orion.cair.du.edu",
414 and expect a login password of "golden" (or any other password *YOU* want)
415 and expect the host to Identify itself as "orion.cair.du.edu".
416
417 N:130.253.1.15::orion.cair.du.edu
418
419 What this line says is: Expect a Connection from host "130.253.1.15", and
420 DON'T EXPECT a login password. The TARGET Host should identify itself
421 as "orion.cair.du.edu".
422
423 ** NOTE ** Do not add a PORT NUMBER to any "N" entry fields, it is not
424 needed because the OTHER HOSTS are CONNECTING TO YOU, you aren't connecting
425 to them.
426
427 So now, our "irc.conf" file looks like this:
428
429
430 C:hal.oce.orst.edu::hal.oce.orst.edu:6667
431 C:orion.cair.du.edu::orion.cair.du.edu:6667
432 C:naakka.tut.fi::naakka.tut.fi:6667
433
434 N:hal.oce.orst.edu::hal.oce.orst.edu
435 N:orion.cair.du.edu::orion.cair.du.edu
436 N:naakka.tut.fi::naakka.tut.fi
437
438
439 a good rule of thumb is - "For every "C" entry you have in the file, you
440 MUST have a cooresponding "N" entry".
441
442
4438) DEFINING YOUR LOCAL HOST INFORMATION - How to tell IRC about your local
444 UNIX Host.
445
446 IRC needs to know a few things about your UNIX site, and the "M" command
447 specifies this information for IRC. The fomat of this command is:
448
449 M:<YOUR Host NAME>:xxx:<Geographic Location>:<Internet Port>
450 Field: 1 2 3 4 5
451
452 Explaination:
453
454 Field 1: Tells IRC that you are providing local UNIX HOST infomation
455 Command "M".
456
457 Field 2: The name of YOUR host adding any Internet DOMAINNAME that
458 might also be present.
459
460 Field 3: -- NOT USED --: Set to Value NULL (No spaces at ALL!).
461
462 Field 4: Geographic Location is used to say WHERE YOUR SEVRER is,
463 and gives people in other parts of the world a good
464 idea of where you are! If your server is in the USA, it is
465 usually best to say: <CITY> <STATE>, USA. Like for Denver
466 I say: "Denver Colorado, USA". Finnish sites (like
467 tolsun.oulu.fi generally say something like "Oulu, Finland".
468
469 Field 5: This specifed which Internet Port you wish to use for your
470 IRC Server. Use the same port as you defined in "struct.h".
471
472 Example:
473 M:tolsun.oulu.fi::Oulu, Finland:6667
474
475 This line reads: My Host's name is "tolsun.oulu.fi" and
476 my site is Geographically located in "Oulu, Finland".
477 I have defied Internet Port Number "6667" to be used as
478 my IRCD Socket Port.
479
480
481 M:orion.cair.du.edu::Denver Colorado, USA:6667
482
483 This line reads: My Hosts name is "orion.cair.du.edu"
484 and my site is geographically located in "Denver
485 Colorado, USA". I have defined Internet Port
486 number "6667" to be used as my IRCD Socket Port.
487
488
4899) CLIENT CONNECTIONS - How to let Clients Connect to your IRCD.
490
491 A Client is a program that connects to the "ircd". When you compile
492 all of the program files, two different files are created "irc" and
493 "ircd". The "irc" program is the CLIENT and the "ircd" is the SERVER
494 [Deamon]. Whenever ANYONE wants to talk to other users on IRC they
495 must run the CLIENT program (irc).
496
497 To allow you and your users to connect and run a session of Internet Relay
498 Chat you must make some entries to the "irc.conf" file.
499
500 A) LOCAL CLIENTS: (Defined the DEFAULT Host to connect to when IRC is run)
501
502 This defines the DEFAULT connection for the "irc" CLIENT. If you are
503 running an "ircd" SERVER on this SAME UNIX, you will want to define
504 this command to connect to *YOUR OWN* host. If your site is not running
505 a server then this command should contain the TARGET Hosts connection
506 information and login password (if any). The format for this command is:
507
508 U:<TARGET Host addr>:<Password>:<TARGET Host NAME>:<Internet Port>
509 Field: 1 2 3 4 5
510
511 [ For a DETAILED description of the FIELD NUMBERS - see item "7)" above ]
512
513 For example:
514
515 U:tolsun.oulu.fi::tolsun.oulu.fi:6667
516
517 - OR -
518
519 U:128.214.5.6::tolsun.oulu.fi:6667
520
521 You can also optionally leave off the Internet PORT Number
522 and IRC will attempt a DEFAULT connection to Internet Port 6667 as in:
523
524 U:tolsun.oulu.fi::tolsun.oulu.fi
525
526 B) REMOTE CLIENTS:
527
528 This command tells the "ircd" SERVER what clients are allowed to connect
529 to *YOUR SERVER*. Obviously you want to let your *OWN* clients connect,
530 and also any other CLIENTS that want to connect as well. REMOTE CLIENTS
531 are those clients which are run by users on other UNIXES (anywhere in
532 the world) and connect your server so that they can talk to other users.
533 The CLIENTS would be using your server as a CONNECTION point, therefore
534 the SERVER will be SERVE-ING the CLIENT, even though the REMOTE client
535 was not part of your LOCAL UNIX Network. All IRC Messages that were
536 sent to this REMOTE CLIENT would be sent to your server and then passed
537 on to where-ever the REMOTE CLIENT was connecting from by *your* "ircd".
538
539 -----------------------------------------------------------------------
540
541 The way a REMOTE CLIENT can connect to your "ircd" server is to type:
542 (At the UNIX "%" prompt:)
543
544 % irc <nickname> <TARGET Host Addr> <Internet Port>
545
546 - For Example -
547
548 % irc Jeff tolsun.oulu.fi 6667
549
550 ... would connect a USER on a REMOTE UNIX to the IRCD Server at
551 "tolsun.oulu.edu" - using a NICKNAME of "Jeff" and connecting
552 to TOLSUN's Internet Port 6667.
553
554 ------------------------------------------------------------------------
555
556 Format of this command in the "irc.conf" file is:
557
558 I:<TARGET Host Addr>:<Password>:<TARGET Hosts NAME>:<Internet Port>
559 Field: 1 2 3 4 5
560
561 [For a detailed description of these fields see item "7)" above]
562
563 For examples sake let us assume you were making this file for TOLSUN
564 and you wanted to let your *OWN* clients to connect to your server,
565 you would add this entry to the file:
566
567 I:tolsun.oulu.fi::tolsun.oulu.fi
568
569 If you wanted to let REMOTE CLIENTS from other UNIX's to connect to your
570 server (for examples sake let's say you wanted let REMOTE UNIX Sites:
571 "naakka.tut.fi", "orion.cair.du.edu" and "hal.oce.orst.edu" connect their
572 CLIENTS to your site) You *could* add them to "irc.conf" like this:
573
574 I:orion.cair.du.edu::orion.cair.du.edu
575 I:128.193.64.132::hal.oce.orst.edu
576 I:naakka.tut.fi:password:naakka.tu.fi
577
578 and any REMOTE CLIENTS that want to connect to you can. The ORDER in
579 which these is entered into the file is NOT IMPORTANT, enter them in
580 any way you want, it won't effect the PRIORITY of IRC in any way.
581
582
583
58410) OPERATOR PRIVILEDGES: How to become the IRC Adminestor on your site
585
586 To become an IRC Adminestrator, IRC must know who is authorized to become
587 an operator and what their "Nickname" and "Password" is. To add this
588 information, EDIT your "irc.conf" file and add the following command
589 line to it:
590
591 O:<TARGET Host NAME>:<password>:<nickname>
592 Field: 1 2 3 4
593
594 Explaination:
595
596 Field 1: Is the command to tell IRC that this is an OPERATOR command
597 entry. This is the "O" command.
598
599 Field 2: Tells IRC which host you have the PRIVILEDGES FROM. This
600 means that you should be logged into this host when you
601 ask for the priviledges. If you specify "tolsun.oulu.fi"
602 then IRC will expect your CLIENT to be connected at
603 "tolsun.oulu.fi" - when you ask for OPERATOR PRIVILEDGES
604 from "tolsun.oulu.fi". You cannot be logged in at any
605 other host and be able to use your OPERATOR PRIVILEDGES
606 at tolsun, only when you are connected at TOLSUN will this
607 work - this is a safe guard against unauthorized sites
608 trying to STEAL your operator priviledges.
609
610 Field 3: If your AUTHORIZATION Password - this is the password that
611 let's IRC know you are who you say you are! Never tell anyone
612 your password and always keep the "irc.conf" file protected
613 from all of the other users.
614
615 Field 4: The Nickname you usually go by - but you can make this what
616 you want. It is better to make this a NICKNAME that no one
617 else knows, but anything will do. I usually use my own
618 loginname (or Unix)
619
620 Example:
621 O:orion.cair.du.edu:pyunxc:Jeff
622
623 There is an OPERATOR at "orion.cair.du.edu" that can get
624 Operator priviledges if he specifies a password of "pyunxc"
625 and uses a NICKNAME of "Jeff".
626
627 +-----------------------------------------------------------------------+
628 + E N A B L I N G O P E R A T O R P R I V I L E D G E S +
629 +-----------------------------------------------------------------------+
630
631 If you ever want (or need) to use your OPERATOR priviledges, run "irc" and
632 login to the "ircd" normally - then type the following:
633
634 /oper <nickname> <password>
635
636 If you entered the OPERATOR COMMAND the way I did in the example above you
637 would type:
638
639 /oper Jeff pyunxc
640
641 and if you entered everything correctly you would get the message:
642 "Good morning Gentleman, I am a Hal 9000 Computer" - if you MESSED up
643 you will probable get a message like "No mere mortals may enter the
644 twilight zone" - or other funny messages ;-)
645
646 You can confirm that your operator priviledges are ACTIVE by typing "/w"
647 and seeing if there is a "*" next to your name in the listing. If there
648 is then you have successfully become an IRC ADMINESTRATOR.
649
650
651
65211) ADMINESTRATOR - Tell Other IRC users about your IRCD server:
653
654 The "A" command is used for telling a few things about youself, like who
655 you are, who is responsible for your server, and who users should contact
656 at your site if they have any questions. The "A" command stands for
657 the ADMINESTRATOR Command line, and in the "irc.conf" file it looks like
658 this:
659
660 A:<Your Name/Location>:<Your Electronic Mailing Addr>:<other>
661 Field: 1 2 3 4
662
663 Explaination:
664
665 Field 1: "A" tells IRC that you are making an Adminestrative Command
666 entry.
667
668 Field 2: Use this field to say tell your FULL NAME and where in the
669 world your UNIX is. Be sure to add your City, State
670 (Province?) and Country to this entry so everyone will know
671 what country your UNIX Host is in.
672
673 Field 3: Use this field to specify your Electronic Mailing Address
674 preferably your Internet Mailing Address. If you have
675 a UUCP or ARAPnet address - please add that as well. Be
676 sure to add any extra DOMAIN information that is needed,
677 for example "mail jtrim@orion" probably won't work as a
678 mail address to me if you happen to be in Alaska. But
679 "mail jtrim@orion.cair.du.edu" would work because you
680 know that "orion" is part of the DOMAIN "cair.du.edu".
681 So be sure to add your DOMAINNAMES to your mailing addresses.
682
683 Field 4: Is really an OTHER field - you can add what you want here,
684 I suggest you add your Government Mailing Address in this
685 field so that people can send you REAL mail if they want to,
686 but you can add funny sayings or just general comments
687 in this field as well if you so desire.
688
689
690 Examples:
691
692A:Jeff Trim - Denver Colorado, USA:INET jtrim@orion.cair.du.edu UUCP {hao, isi
693s}!udenva!jtrim:Terve! Hei! Moro! Heippa! Have you said hello in Finnish today?
694 ;)
695
696 Would look like this when printed out with the /admin command:
697
698 Jeff Trim - Denver Colorado, USA
699 INET jtrim@orion.cair.du.edu UUCP {hao, isis}!udenva!jtrim
700 Terve! Hei! Moro! Heippa! Have you said hello in Finnish today? ;)
701
702
703 *NOTE* that the "A" line cannot be BROKEN in anway - so you must WRAP THIS
704 line so that is remains one CONTINUOUS line with *NO* Carrige Return Line
705 Feeds in it. *ALSO* Remeber that you CANNOT use the ':' within the TEXT
706 of the message it'self - all *other* pieces of text are usable.
707
708
709
71012) REMOVING A USER FROM IRC - Remove an Errent User from IRC on your site.
711
712 Obviously it is hoped that you wouldn't have to use this command ;-(.
713 Unfortunately sometimes a user can become unmannagable and this is your
714 only recourse - the KILL USER command. THIS COMMAND ONLY EFFECTS YOUR
715 SERVER - If this user can connect to another SERVER somewhere else in
716 the IRC-Network then you would have to talk to the adminestrator on that
717 site to disable his access from that IRCD Server as well.
718
719 The format of this command is:
720
721 K:<Host Name>::<User>
722 Field: 1 2 3 4
723
724 Explaination:
725
726 Field 1: "K" tells the IRCD that you are making a KILL USER command
727 entry.
728
729 Field 2: In this field you specify the Hostname that the user is
730 connecting from. If you user you wanted REMOVED connects
731 to IRC from "orion.cair.du.edu" then you would want to enter
732 "orion.cair.du.edu". If you want to REMOVE ALL HOSTS
733 access you can use '*' (Wild Card notation) and no matter
734 what host the USERNAME (specified in Field 4) connects from
735 s/he will be denied access.
736
737 Field 3: ** NOT USED ** -- leave NULL (no spaces)
738
739 Field 4: The USERNAME of the user you want removed from IRC. For
740 example 'root'.
741
742
743 Some Examples:
744 K:orion.cair.du.edu::jtrim
745
746 If user 'jtrim' connects to IRC from host "orion.cair.du.edu"
747 then IMMEDIATELY REMOVE HIM from my IRCD.
748
749 K:*.cair.du.edu::root
750
751 If user 'root' connects to IRC from any host that has the
752 suffix "cair.du.edu" - then IMMEDIATELY REMOVE THEM from
753 my IRCD.
754
755 K:*::vijay
756
757 This line reads "I don't care WHAT HOST user 'vijay' is on,
758 I will NEVER allow username 'vijay' to login to my IRCD.
759
760
761
76213) AN EXAMPLE "irc.conf" FILE:
763
764 Keep one last thought in mind, if the OTHER IRCD Unix Site doesn't have
765 your site listed in THEIR "irc.conf" file - you won't be able to
766 connect to them - no matter how right your file is! It is simply
767 useless to attempt connections to IRCD Hosts that don't have you listed
768 in their files because they'll just HANGUP on you everytime you
769 connect.
770
771 After an exhausting description of every aspect of the "irc.conf" file,
772 here is a REAL and working example of a totally complete "irc.conf"
773 file. This is the real file I use on my UNIX site (orion.cair.du.edu)
774 and I am displaying it for you now so that you'll know how yours should
775 look after you've completed it:
776
777 Since this is that last time I will be speaking to you - good luck and
778 make a prayer to whichever UNIX God's you may worship ;-) I pray to
779 UUCP and Yellow Pages myself ;-) Have fun and hope to talk to you
780 soon on IRC.
781
782----------------- Cut here -------------------------- Cut here ---------------
783
784C:128.193.64.132::hal.oce.orst.edu:6667
785C:accuvax.nwu.edu::accuvax.nwu.edu:6667
786C:128.214.5.6::tolsun.oulu.fi
787
788N:128.193.64.132::hal.oce.orst.edu
789N:accuvax.nwu.edu::accuvax.nwu.edu
790N:128.214.5.6::tolsun.oulu.fi
791
792I:orion.cair.du.edu::orion.cair.du.edu
793I:128.193.64.132::hal.oce.orst.edu
794I:accuvax.nwu.edu::accuvax.nwu.edu
795I:128.214.5.6::tolsun.oulu.fi
796I:128.193.32.13::jacobs.CS.ORST.EDU
797
798O:orion.cair.du.edu:*censored*:jtrim
799
800K:*.cair.du.edu::root
801
802U:orion.cair.du.edu::orion.cair.du.edu:6667
803M:orion.cair.du.edu::Denver Colorado, USA:6667
804
805A:Jeff Trim - Denver Colorado, USA:INET jtrim@orion.cair.du.edu UUCP {hao, isi
806s}!udenva!jtrim:Terve! Hei! Moro! Heippa! Have you said hello in Finnish today?
807 ;)
808
809-------------- Cut Here ---------------------------- Cut Here ----------------
810
811
81214) UPDATES TO THE PROGRAM: Lists any program changes that were done after
813 this manual was written
814
815 This section was written to show any changes or upgrading that was done
816 after version v2.01.4 was released. We have been releasing new versions
817 of the program very quickly so it is necessary to Document what's new
818 about each version to the best of our ability ;-) The above documentation
819 is by no means out of date - and any MAJOR changes that take place in
820 the program will mean that I will rewrite the ABOVE Documentation so
821 that it once again reflect reality. This section is used to tell you
822 about the SMALL fixes to the program that may or may not effect you,
823 for example MY SITE does not use SUBNETING, but many other sites do,
824 so if you were using a SUBNET you would want to know that we do in fact
825 support subneting.
826
827 *NOTE* That if we added a new feature in ONE VERSION, the feature *is*
828 included in the next version as well. For example we added SUBNETING
829 in version v2.01.5 and it will be included in all future versions of
830 IRC.
831
832
833 A) SUBNETING (v2.01.5+)
834
835 IRC now supports SUBNETING, which is the ability to use WILD CARDS
836 (*.*) notation when refering to a NAME or NUMERIC host. For example,
837 Let us say that you wanted the CLIENTS of ANY HOST in your UNIX domain
838 of "cair.du.edu" to be able to connect to your IRCD Server. You can
839 now specify a WILD CARD host listing in the "irc.conf" file of:
840
841 C:*.cair.du.edu::*.cair.du.edu:6667
842 N:*.cair.du.edu::*.cair.du.edu
843
844 ... and that would allow ANY HOST that has a UNIX domainname of
845 "cair.du.edu" to connect to your host.
846
847 This also works for NUMERIC addresses as well. If you wanted all
848 of the UNIX. For example if you wanted to allow ANY UNIX with
849 a NUMERIC address of "130.253.1.*" to be able to connect to your
850 host you could say:
851
852 C:130.253.1.*::*.cair.du.edu:6667
853 N:130.253.1.*::*.cair.du.edu
854
855 The reason I added the "*.cair.du.edu" is because the CONNECTING
856 Host would indetify itself as a REAL NAME address, like
857 "orion.cair.du.edu", but your don't care if IT IS "orion", but
858 rather you care that it is FROM A DOMAIN of "cair.du.edu". You
859 would set this up so that "130.253.1.*" refers to ALL OF THE
860 MACHINES in the "cair.du.edu" domain, and you would hope that any
861 Machine within this UNIX DOMAIN would have an INTERNET ADRESS
862 that begins with "130.253.1", the LAST NUMBER would be the only
863 ones that's different. But, this isn't always the case.
864
865 Examples:
866
867 C:128.214.5.*::*.oulu.fi:6667
868 N:128.214.5.*::*.oulu.fi
869
870 This line reads: If any machine with an INTERNET ADDRESS
871 that starts with "128.214.5" connects to my server, and
872 identifies itself with a NAME address that ENDS in "oulu.fi",
873 let them connect to my server.
874
875 C:*.du.edu::*.du.edu:6667
876 N:*.du.edu::*.du.edu
877
878 This line reads: If any host conects to me and identifies itself
879 as a host that ENDS with a NAME Address of "du.edu".
880
881 C:*::*:6667
882 N:*::*
883
884 This ones says: Let ANYONE connect to my server! ;-) In
885 Reality the computer reads this as: I don't care what
886 what INTERNET ADRESS or NAME ADDRESS they are from, just
887 let them connect. I DON'T RECOMMEND YOU DO THIS, but this
888 is a possible option if you need it.
889
890
891 -=> End of IRC README Document <=-