/[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.23 - (show annotations) (download)
Wed Jan 16 03:17:59 2002 UTC (17 years, 6 months ago) by guppy
Branch: MAIN
Changes since 1.22: +49 -41 lines
more doc changes by Wcc

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

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23