/[cvs]/eggdrop1.6/README
ViewVC logotype

Contents of /eggdrop1.6/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.22 - (show annotations) (download)
Wed Jan 2 08:06:11 2002 UTC (17 years, 9 months ago) by tothwolf
Branch: MAIN
Changes since 1.21: +1 -1 lines
more copyright updates and documentation changes

1 README
2 Last revised: December 29, 2001
3 ________________________________________________________________________
4
5 Please at least SKIM this document before asking questions. In fact,
6 READ IT if you've never successfully set up an Eggdrop bot before.
7 PLEASE! READ IT! If you haven't read this file, and ask for help
8 expect to be told to READ the README file first!
9
10 Contents
11
12 0 Important notice
13
14 1 What is Eggdrop?
15 2 How do I get Eggdrop?
16 2a CVS usage
17 3 Quick startup
18 4 Upgrading
19 4a Upgrading from a pre-1.3 version to 1.6
20 4b Upgrading from an older 1.3/1.4/1.5/1.6 version to a newer one
21 5 Frequently Asked Questions
22 1. What do I do if I get the error "User file not found"?
23 2. My Eggdrop won't run; It just says "Can't find your
24 hostname!"
25 3. What the Heck is Tcl?
26 4. My bot dies and the last entry in the logfile is "Received
27 terminate signal". What does that mean and can I prevent it?
28 5. My compile dies at the last minute with "LD fatal signal
29 11"!
30 6. Someone else set up a bot I don't like. Are there any
31 backdoors I can use to take their bot down?
32 7. What are modules?
33 8. Can I compile Eggdrop without dynamic modules?
34 8.1 Do I still need to "loadmodule modules"???
35 9. Where can I get a pre-compiled Eggdrop for my computer?
36 10. I get "Makefile:3 : invalid operator" of some such thing
37 When I try to "make"
38 11. When I "tclsh scripts/weed <userfile> c" It barfs chunks at
39 me and dies.
40 12. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found"
41 or "eggdrop: error in loading shared libraries /
42 libtcl8.1.so: cannot open shared object file: No such file
43 or directory" when I try to start my bot.
44 13. I get a whole pile of "unresolved symbol 'Tcl_AppendResult'"
45 (or some other symbol) when I try to load a module.
46 6 Setting up a crontab
47 6a Setting up a crontab using autobotchk
48 7 Boring legal stuff
49 8 Mailing list
50 9 Documentation
51 10 Obtaining help
52
53 ________________________________________________________________________
54
55 (0) NOTICE
56
57 Please read this file carefully before trying to set up this
58 bot. Also, make SURE that you select your +n (owner) users
59 wisely! They have 100% access to your bot and account! ONLY
60 GIVE THIS POWER TO SOMEONE YOU TRUST COMPLETELY!!
61
62 (1) WHAT IS EGGDROP?
63
64 Eggdrop is an IRC bot, written in C. If you don't know what
65 IRC is, this is probably not whatever you're looking for!
66 being a bot, sits on a channel and takes protective measures
67 to keep the channel from being taken over (in the few ways
68 that anything can), to recognize banished users or sites and
69 reject them, to recognize privileged users and let them gain
70 ops, etc.
71
72 One of the more unique features of Eggdrop is its "party line",
73 accessible via DCC chat and telnet, which allows you to talk
74 with other people lag-free. Consider it a multi-way DCC chat,
75 or a miniature IRC (complete with channels). You can link up
76 with other bots and expand the party line until it actually
77 becomes something very much like IRC, in fact.
78
79 Eggdrop is always being improved and adjusted because there
80 are bugs to be fixed and features to be added (if the users
81 demand them, and they make actually sense). In fact, it
82 existed for several years as v0.7 - v0.9 before finally
83 going 1.0. This version of Eggdrop is part of the 1.6 tree.
84 A valiant effort has been made to chase down and destroy
85 bugs.
86
87 This README file contains information about how to get
88 Eggdrop, how to quickly compile the bot, what you may need
89 to do when upgrading from older versions, a list of
90 frequently asked questions about compiling, how to set up a
91 crontab, some boring legal stuff, info about the mailing
92 list (a great place to ask questions, and a good place to
93 report bugs also), some basics about CVS usage and some
94 channels where you might get help with Eggdrop.
95
96 The preliminary documentation is in "eggdrop.doc" and is
97 intended to be read after you have Eggdrop compiled and set
98 up.
99
100
101 (2) HOW TO GET EGGDROP
102
103 Before you can compile Eggdrop, you need to have Tcl
104 installed on your system. Most systems should have Tcl on
105 them by now -- you can check by trying the command "tclsh".
106 If it works, you will be given a "%" prompt, and you can
107 type "exit" to exit the program. This means Tcl is on your
108 system. If tclsh doesn't load, then Tcl probably isn't on
109 your system, and you will need to ftp it.
110
111 The best ftp site for Tcl is ftp://ftp.scriptics.com/pub/tcl.
112
113 Tcl comes with the Slackware distribution of Linux. HOWEVER,
114 the one that comes on Slackware 3.0 is goofed up and you'll
115 have to re-install it for yourself to get it working.
116
117 Currently, the 1.6 tree of Eggdrop is developed at
118 eggheads.org. You can get the latest version of Eggdrop from
119 ftp://ftp.eggheads.org/pub/eggdrop/source/stable/
120
121 You might try www.eggheads.org for help and information.
122
123
124 (2a) CVS USAGE
125
126 You can obtain the VERY LATEST version of Eggdrop, that is still
127 under development, by using CVS. CVS means 'Concurrent Versions
128 System' and is a tool for developers to always keep source code
129 up to date. Try 'man cvs' on your shell for more information about
130 CVS ;-)
131
132 This is intended only for users that know a good bit about Eggdrop.
133 Be aware that the versions of Eggdrop that you get via CVS are still
134 being developed, and may be buggy. The Eggheads devteam will in
135 NO WAY take any responsibility for whatever might happen to you or
136 your shell if you use a CVS version of Eggdrop.
137
138 To obtain Eggdrop over CVS, do as follows:
139
140 (1) Log into your shell.
141
142 (2) Type 'export CVSROOT=:pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot'.
143
144 (3) Type 'cvs login'.
145
146 (4) Press <enter> when prompted for a password.
147
148 (5) In your home dir, type 'cvs checkout eggdrop1.6'
149
150 (6) in ~/eggdrop1.6, you should have a copy of the latest
151 CVS version of Eggdrop.
152
153 Notes:
154
155 (1) You can 'cvs logout', but you don't need to.
156
157 (2) You don't need to go through this whole process every
158 time. If you want to get a CVS version of Eggdrop at
159 a later time, you can just 'cd ~/eggdrop1.6' and type
160 'cvs update -dAP'.
161
162 (3) If you experience errors when using 'export', you might
163 be using tclsh as a shell. If so, try using the command
164 'setenv' instead of 'export':
165
166 'setenv CVSROOT :pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot'
167
168 (3) QUICK STARTUP
169
170 Please see the 'INSTALL' file AFTER you finish reading this file.
171
172 (4) UPGRADING
173
174 (4a) UPGRADING FROM A PRE-1.3 VERSION TO 1.6
175
176 #### BACK UP YOUR USERFILE ####
177
178 We can't stress this enough. If you are upgrading and
179 you have even a slight possibility of downgrading again
180 later, you will HAVE to back up your userfile, or you will
181 lose it. v1.3 of Eggdrop radically changed a lot of things.
182
183 There are many major changes between v0.9, v1.0, v1.1 and
184 v1.6, so PAY ATTENTION to this part if you have a v0.9, 1.0
185 or 1.1 bot currently. If you're just starting out, you can
186 skip this section.
187
188 If you run share bots, you will need to upgrade them all at
189 the same time because of the new userfile format. Older bots
190 will be able to link in, but will not get or send a userfile.
191 MAKE A NEW CONFIG FILE from the example, there are some radical
192 changes.
193
194 If you are upgrading from 0.9/1.0 to 1.6, just redo the whole
195 thing. Absolutely everything has changed, including the
196 userfile and config file formats.
197
198 If you are upgrading from 1.1/1.2 to 1.6, you will likely want
199 to redo the config file, as much as changed. BACK UP!! You will
200 need to run 'tclsh scripts/weed/<userfile> c' to convert your
201 userfile from v3 (1.1/1.2) to v4 (1.3/1.4/1.5/1.6).
202
203 (4b) UPGRADING FROM AN OLDER 1.3/1.4/1.5/1.6 VERSION TO A NEWER 1.6
204 VERSION
205
206 If you followed the 'INSTALL' file and did a 'make install'
207 (or "make install DEST='path'") after 'make', this will be
208 pretty easy. Just upload the new eggdrop1.6.x.tar.gz file to
209 your home dir on your shell, gunzip and untar it, and type
210 'cd ~/eggdrop1.6.x'. Next, type './configure', 'make config'
211 or 'make iconfig', then 'make'. Then, kill the bot ('.die' on
212 the party line), and 'make install' to the same directory your
213 bot is currently in. After that, you can just restart your
214 bot. You may wish to delete the old Eggdrop executable and
215 modules as well, especially if you have limited disk space.
216
217 You should read through the new eggdrop.complete.conf file
218 for all the new options in Eggdrop 1.6.x if you are upgrading
219 from 1.3.x or 1.4.x. You can copy and paste any of these
220 settings into you current conf file if you do not want to use
221 the default settings.
222
223 (5) FREQUENTLY ASKED QUESTIONS (or "Why doesn't this thing work?")
224
225 1. WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?
226
227 (1) Run Eggdrop with the "-m" option (i.e., "eggdrop
228 -m eggdrop.conf").
229
230 (2) Go to IRC and send "hello" to your bot (i.e., "/msg mybot
231 hello").
232
233 (3) You will become an owner on your bot. You can leave the
234 bot running (nobody else will become an owner if they say
235 "hello"), but in the future, don't use the "-m" option
236 when running the bot.
237
238 2. MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR
239 HOSTNAME!"
240
241 Your machine is set up strangely, and Eggdrop can't
242 figure out its network hostname. You can get around this by
243 setting the my-ip setting in the config file correctly.
244
245 3. WHAT THE HECK IS Tcl?
246
247 Tcl is a scripting language written by John Ousterhout. It's
248 much better than most "built-in" script languages (like the
249 one in ircII) and is meant to be linked with anything needing
250 a scripting language, so I linked it with Eggdrop. The file
251 "tcl-commands.doc" in the doc directory contains a list of
252 additional Tcl commands provided by Eggdrop. There are also
253 several example scripts in the scripts/ directory, and one
254 in the doc directory called first_script.txt. There are also
255 hundreds of scripts floating around on the ftp/web sites if
256 you like working by example (which is typically the best way).
257
258 4. MY BOT DIES, AND THE LAST ENTRY IN THE LOGFILE IS "RECEIVED
259 TERMINATE SIGNAL". WHAT DOES THAT MEAN, AND CAN I PREVENT IT?
260
261 There's nothing you can do to prevent it. It means the
262 system administrator is killing the Eggdrop process. Most
263 of the time, it's an automatic thing that happens when the
264 system is being rebooted, so it's harmless. If you have a
265 crontab running, the bot will get restarted when the system
266 is back online. Occasionally, the system administrator will
267 kill the bot manually. For example, if he/she doesn't want
268 bots running on the system.
269
270 5. MY COMPILE DIES AT THE LAST MINUTE WITH "LD FATAL SIGNAL
271 11"!
272
273 See doc/compiling.FAQ
274
275 6. SOMEONE ELSE SET UP A BOT I DON'T LIKE. ARE THERE ANY
276 BACKDOORS I CAN USE TO TAKE THEIR BOT DOWN?
277
278 No, there have never been any backdoors and there never will
279 be, so please stop asking. Every once in a while, someone
280 finds a way to exploit a bug in Eggdrop, but we fix these
281 bugs as soon as we find out about them. If you want to bring
282 down someone else's bot, you will not have my/our help.
283
284 7. WHAT ARE MODULES?
285
286 Modules are a way of adding extra C code from the bot, much
287 like Tcl scripts, without requiring the bot to be recompiled.
288 See doc/MODULES for more information.
289
290 8. CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES?
291
292 Yes, you can. If ./configure detects that your system CAN'T
293 run modules, it will setup 'make' to link the modules in
294 statically for you. You can also choose this option yourself
295 by typing 'make static'. You can also try to compile dynamic
296 modules on a static-only system by using 'make eggdrop'.
297
298 8.1 DO I STILL NEED TO 'loadmodule' modules ???
299
300 YES, when you compile statically, all the modules are linked
301 into the main executable. HOWEVER, they are not enabled until
302 you use loadmodule to enable them, hence you get nearly the
303 same functionality with static modules as with dynamic modules.
304
305 9. WHERE CAN I GET A PRE-COMPILED EGGDROP FOR MY COMPUTER?
306
307 It is HIGHLY recommended AGAINST using pre-compiled Eggdrops
308 from un-trusted sources. Eggdrop has been a regular target
309 for hacking and crashing. Distribution of pre-compiled
310 (binary) versions of Eggdrop are the easiest way for hackers
311 to provide you with the easiest (and most dangerous) way of
312 gaining access to, not only your bot, but to your computer
313 account directly. Don't advertise your pre-compiled Eggdrop
314 binary sites on the Eggdrop list either. =P
315
316 10. I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING
317 WHEN I TRY TO 'make'
318
319 Try 'gmake'.
320
321 11. WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS
322 AT ME AND DIES :(
323
324 UPGRADE YOUR TCL, you are probably using Tcl 7.5 or earlier.
325 Some of the commands in weed require Tcl7.6 to run, so either
326 upgrade it or remove the offending lines from you userfile
327 manually (those starting with '.' generally) and accept the
328 loss of that data.
329
330 12. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found"
331 or "eggdrop: error in loading shared libraries libtcl8.1.so: \
332 cannot open shared object file: No such file or directory" when I
333 try to start my bot.
334
335 './configure' is looking in the wrong place for Tcl; it looks
336 like it compiled with one version of Tcl and tries to load
337 another. Maybe your sysadmin upgraded Tcl and didn't tell
338 you. In that case, you should just need to recompile your
339 bot.
340
341 Maybe, when upgrading, he didn't clean the old version of
342 Tcl and './configure' is looking for the files in the wrong
343 places, or trying to use different versions of tcl.h and
344 libtcl*. Smack your admin and have him install Tcl properly ;)
345
346 You can also try:
347
348 ./configure --with-tcllib=<path-to-tcl-lib>
349 --with-tclinc=<path-to-tcl-inc>
350
351 Tell configure where to look for the Tcl files.
352
353 Try looking for libtcl by:
354
355 ls /usr/lib/libtcl*
356 ls /usr/local/lib/libtcl*
357
358 Try looking for tcl.h by:
359
360 ls /usr/include/tcl.h
361 ls /usr/local/include/tcl.h
362
363 If everything else fails, try to install Tcl to your home dir
364 ;) (Suggested by dw@Undernet, dw@lixom.nu)
365
366 13. I get a whole pile of "Unresolved symbol 'Tcl_AppendResult'"
367 (or some other symbol) when I try to load a modules.
368
369 POSSIBILITY A: See section 12.
370
371 POSSIBILITY B:
372
373 Some of the standard libraries have been compiled for static
374 linking only on your machine, you have 3 options:
375
376 (1) If it's your own machine, recompile Tcl using dynamic
377 linking by using './configure --enable-shared' when you
378 configure Tcl (not the bot) and then remake, and reinstall.
379
380 (2) If it's not your machine, you make have to resort to 'make
381 static' and 'make install DEST="path"' to make and install
382 your bot.
383
384 (3) If you are of a more aggressive sense of mind, go beat
385 the stuffing out of your admin for having lame static
386 libraries :)
387
388 (6) SETTING UP A CRONTAB
389
390 Eggdrop has become more stable with time, thanks mostly to people
391 reporting bug details and helping find places where it crashes.
392 However, there are still a -few- places where things aren't
393 perfect. Few, if any, things in life are.</p>
394
395 Also, most systems go down from time to time. These things cause
396 your bot to disappear from IRC, and you have to restart it.
397
398 Eggdrop comes with a shell script called 'botchk' that
399 will help keep the bot online. It will make the machine check every
400 ten minutes to make sure your bot is still running. To use it, you
401 have to add a line to your crontab. First, edit 'botchk' and change
402 the directory and command line parameters so that it will be able
403 to start up your bot. Then, add this line to your crontab:
404
405 0,10,20,30,40,50 * * * * /home/mydir/botchk
406
407 If you don't want to get emails from cron, use this:
408
409 0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1
410
411 Naturally, you need to change the path to the correct path for
412 botchk. If you've never used crontab before, here is a simple way
413 to add that line:
414
415 (1) Create a new file called 'mycron' and put the above
416 line into it.
417
418 (2) From your shell prompt, type '% crontab mycron'.
419
420 That will create a new crontab entry for you with a line that
421 runs botchk every ten minutes. Botchk will then restart the bot when
422 necessary (and send you email informing you).
423
424 (6a) SETTING UP A CRONTAB USING AUTOBOTCHK
425
426 Included with your Eggdrop is an Eggdrop utility called
427 'autobotchk'. Using autobotchk is probably the fastest way of
428 creating your botchk and crontabbing it with just a few required
429 steps.
430
431 To crontab your bot, follow these steps:
432
433 (1) Type 'cp scripts/autobotchk ..'.
434
435 (2) Type './autobotchk <Eggdrop config file>'.
436
437 This will hopefully crontab your bot using the default
438 setup. If you want a list of autobotchk options, type
439 './autobotchk'. An example with options would be:
440
441 ./autobotchk <Eggdrop config file> -noemail -5
442
443 This would setup crontab to run the botchk every 5 minutes
444 and also to not send you e-mail saying that it restarted
445 your bot.
446
447 (7) BORING LEGAL STUFF
448
449 The Eggdrop bot is copyright (C) by Robey Pointer. As of January,
450 1997, Eggdrop is distributed according to the GNU General Public
451 License. There should be a copy of this license in the file
452 'COPYING'. If not, write to the Free Software Foundation, Inc.,
453 675 Mass Ave, Cambridge, MA 02139, USA.
454
455 As of eggdrop1.3.28, all changes made by the Eggheads development
456 team to the Eggdrop source code and any related files are copyright
457 (C) by Eggheads. The source code will still be distributed according
458 to the GNU General Public License as Robey Pointer did in the past.
459
460 Releases previous to 1.0m were made using a different licensing
461 scheme. You may, at your option, use the GNU General Public License
462 on those versions (instead of the license packaged with them) with
463 my blessing. For any versions bearing a copyright date of 1997 or
464 later, you have no choice -- you must use the GNU General Public
465 License.
466
467 The files "match.c", "net.c", and "blowfish.c" are exempt from
468 the above restrictions. "match.c" is original code by Chris Fuller
469 (email: crf@cfox.bchs.uh.edu) and has been placed by him into the
470 public domain. "net.c" is by me and I [who?] also choose to place
471 it in the public domain. "blowfish.c" is by various sources and is
472 in the public domain as well. All 3 files contain useful functions
473 that could easily be ported to other applications.
474
475 Tcl is by John Ousterhout and is in no way affiliated with Eggdrop.
476 It likely has its own set of copyrights and whatnots.
477
478 There is no warranty, implied or whatever. You use this software
479 at your own risk, no matter what purpose you put it to.
480
481 (8) MAILING LIST
482
483 There are currently a couple of mailing lists about Eggdrop.
484 eggheads@eggheads.org is the one relevant for posts about
485 Eggdrop 1.4 and up (suggestions, help, etc).
486
487 To subscribe to the eggheads mailing list, send email to
488 eggheads-request@eggheads.org. In the body of the message, put
489 "subscribe eggheads". You can also go to the following url:
490
491 http://scrambled.eggheads.org/mailman/listinfo/eggheads
492
493 ### DO NOT SEND ROBEY EMAIL ABOUT EGGDROP ###
494
495 Robey is no longer developing the Eggdrop code, so don't bother
496 e-mailing him. If you have a serious problem, email the eggheads
497 mailing list and it will get to the coders.
498
499 Please, before posting to this list, see what things are like.
500 When you do post, read over your post for readability, spelling, and
501 grammar mistakes. Obviously, we're all human (or are we?) and we
502 all make mistakes (heck, look at this document! ;).
503
504 Open discussion and debate is integral to change and progress.
505 Don't flame others over mere form (grammar and spelling), or
506 even substantive issues for that matter. Please read and follow
507 the mailing list rules.
508
509 The eggheads@eggheads.org mailing list is not dedicated to those
510 all too common questions we have all seen on other lists... For
511 example:
512
513 "Why does my bot say this: Please edit your config file."
514 "How do I telnet my bot?"
515 "Where do I get Eggdrop for windows??????"
516 etc..
517
518 Technical questions, your thoughts or suggestions on new features
519 being added to Eggdrop, things that should be removed or fixed,
520 amazing problems that even stump the guru's, etc. are what we want
521 to see here.
522
523 Bug reports should be sent to bugs@eggheads.org. Please read
524 and fill out the BUG-REPORT file in the doc directory.
525
526 DO NOT SEND HTML E-MAILS TO ANY OF THE EGGHEADS.ORG MAILING LISTS.
527 ANYONE CAUGHT SENDING HTML E-MAILS TO ONE OF THESE LISTS WILL BE
528 REMOVED IMMEDIATELY!
529
530 (9) DOCUMENTATION
531
532 We're trying to keep the documentation up to date. If you feel
533 that anything is missing here or that anything should be added,
534 etc, please email eggheads@eggheads.org about it. Thank you.
535
536 (10) OBTAINING HELP
537
538 You can obtain help with Eggdrop in the following IRC channels:
539
540 Undernet - #eggdrop, #eggheads
541 EFnet - #egghelp, #eggfaq
542 IRCnet - #eggdrop
543 DALnet - #eggdrop
544
545 If you plan to ask questions in any of the above channels,
546 you should be familiar with and follow IRC etiquette.
547
548 - Don't type using CAPITAL letters, colors, or bold, and don't use
549 "!" and "?" excessively.
550
551 - Don't /msg people without their permission.
552
553 - Don't repeat or paste large amounts of text to the channel.
554
555 If there are any other serious Eggdrop related channels that should
556 be added to the above list, please let us know.
557
558 ________________________________________________________________________
559
560 Copyright (C) 1997 Robey Pointer
561 Copyright (C) 1999, 2000, 2001, 2002 Eggheads Development Team

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23