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

Annotation of /eggdrop1.9/README

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


Revision 1.1 - (hide annotations) (download)
Mon Sep 13 14:18:32 1999 UTC (19 years, 7 months ago) by segfault
Branch: MAIN
Initial stuff (.29 cvs)

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

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23