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

Diff of /eggdrop1.9/README

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

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

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23