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

Contents of /eggdrop1.4/README

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


Revision 1.2 - (show annotations) (download)
Sat Jun 26 18:07:59 1999 UTC (20 years, 1 month ago) by guppy
Branch: MAIN
Changes since 1.1: +111 -39 lines
*** empty log message ***

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 priveledged users and let them gain ops, etc.
27
28 One of the more unique features of eggdrop is its "party line",
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 party line 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 to),
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 devel team will in *NO WAY*
92 take any responsability 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) hit enter when it asks for a password.
100 (4) in your home dir, type 'cvs checkout eggdrop1.3'
101 (5) in ~/eggdrop1.3, you should have a copy of the latest CVS version of eggdrop.
102
103 notes:
104
105 (1) you can 'cvs logout', but you don't need to
106 (2) you dont need to go through this whole process every time; if you want to get
107 a CVS version of eggdrop at a later time, you just 'cd ~/eggdrop1.3' and type
108 'cvs update'
109 (3) if you errors when using 'export', you might be using tclsh as a shell; just
110 'setenv CVSROOT :pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot' instead
111 of using 'export'.
112
113
114 (3) QUICK STARTUP
115
116 #### NOW INCLUDED IN 'INSTALL' - READ IT *AFTER* FINISHING THIS ####
117
118
119 (4) UPGRADING
120
121 (4a) FROM A PRE-1.3 VERSION TO 1.3
122
123 #### BACK UP YOUR USERFILE ####
124
125 We can't re-iterate this enough, if you are upgrading, and you have
126 even a slight possibility of downgrading again later you will HAVE
127 to back up your userfile, or you will lose it. 1.3 radically changes a
128 lot of things.
129
130 There are many major changes between v0.9, v1.0, v1.1 and v1.3 so
131 PAY ATTENTION
132 to this part if you have a v0.9, 1.0 or 1.1 bot already. If you're
133 just starting out, you can skip this section.
134
135 to 1.3:
136 * If you run sharebots, you will need to upgrade them all at the
137 same time because of the new userfile format. Older bots will
138 be able to link in, but will not get or send a userfile. 1.2's
139 will also tend to refuse to share with another pre1.2.
140 MAKE A NEW CONFIG FILE from the example, there are some radical
141 extras.
142
143 from 0.9/1.0 to 1.3:
144 * Just redo the whole thing, absolutely everything has changed
145 including the userfile and config file formats.
146 from 1.1/1.2 to 1.3:
147 * You will likely want to redo the config file, as much as
148 changed. BACK UP!! You will need to run
149 'tclsh scripts/weed <userfile> c' to convert your userfile
150 from v3 (1.1/1.2) to v4
151
152 (4b) FROM AN OLDER 1.3 VERSION TO A NEWER ONE
153
154 If you followed the INSTALL file and did a 'make install' (or 'make
155 install DEST=<path>') after 'make', this will be pretty easy.
156 Just upload the new eggdrop1.3.xx.tar.gz file to the home dir of your
157 shell, gunzip and untar it, and type 'cd ~/eggdrop1.3.xx'. Then,
158 type './configure', 'make', then kill the bot ('.die' on the partyline,
159 or use 'kill' on the shell) and 'make install' to the same directory
160 your bot is currently in. Then, you can just restart your bot.
161
162
163 (5) FREQUENTLY ASKED QUESTIONS (or "Why doesn't this thing work?")
164
165 1. WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?
166
167 (1) Run eggdrop with the "-m" option (ie, "eggdrop -m mybot").
168 (2) Go to IRC and send "hello" to your bot (ie, "/msg mybot hello").
169 (3) You will become an owner on your bot. You can leave the bot
170 running (nobody else will become a master if they say "hello"),
171 but in the future, don't use the "-m" option when running the bot.
172
173 2. MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR HOSTNAME!"
174
175 Your machine is set up strangely, and eggdrop can't figure out its
176 network hostname. You can get around this by setting an environment
177 variable called HOSTNAME. In sh or ksh:
178 $ HOSTNAME=myhost.domain.edu
179 $ export HOSTNAME
180 In csh or tcsh:
181 % setenv HOSTNAME myhost.domain.edu
182 It should work after that. You may want to bug your system admini-
183 strator to set up her /etc/hosts file correctly, or add those above
184 commands to your '.login' file (sh or ksh: '.profile').
185
186 3. WHAT THE HECK IS TCL?
187
188 Tcl is a scripting language written by John Ousterhout. It's much
189 better than most "in-built" script langauges (like the one in ircII)
190 and is meant to be linked with anything needing a script language.
191 So I linked it with eggdrop.
192
193 The file "tcl-commands.doc" in the eggdrop directory contains a list
194 of the commands added to Tcl by eggdrop. There are also several
195 example scripts in the scripts/ directory, and there are gobs of
196 scripts floating around on the ftp sites if you like working by
197 example (which is typically the best way).
198
199 4. MY BOT DIES AND THE LAST ENTRY IN THE LOGFILE IS "RECEIVED TERMINATE
200 SIGNAL". WHAT DOES THAT MEAN AND CAN I PREVENT IT?
201
202 There's nothing you can do to prevent it. It means the system admini-
203 stator is killing the eggdrop process. Most of the time, it's an
204 automatic thing that happens when the system is being rebooted -- so
205 it's harmless, and if you have a crontab running, the bot will get
206 restarted when the system is back online. Occassionally the system
207 administrator will kill the bot manually -- for example, if he/she
208 doesn't want bots running on the system.
209
210 5. MY COMPILE DIES AT THE LAST MINUTE WITH "LD FATAL SIGNAL 11"!
211
212 This happens on Linux machines which have recently been converted
213 to ELF by upgrading to Slackware 3.0. Apparently Slackware 3.0
214 comes with a non-ELF (a.out) Tcl library, and the compiler doesn't
215 handle that well. (It should give you an error; instead it barfs.)
216 Fixing it is tricky because even if you recompile libtcl.a, the
217 linker will most likely find the "bad" one first, and your work
218 will be in vain.
219
220 Here's a fix that's been floating around on the eggdrop list:
221 1. Recompile 'libtcl.a' for yourself, to make sure an ELF library
222 is created.
223 2. Copy it into your eggdrop/src directory, naming it 'libtcl2.a'.
224 3. Edit the Makefile and change the line that says '-L/usr/lib -ltcl'
225 to '-L. -ltcl2'.
226 4. Recompile eggdrop.
227
228 Also send hate-mail to the Slackware guy telling him to stop messing
229 up the libraries. He seemed to assume that everyone would still
230 want to compile old-style (a.out) binaries.
231
232 6. SOMEONE ELSE SET UP A BOT I DON'T LIKE. ARE THERE ANY BACKDOORS I
233 CAN USE TO TAKE THEIR BOT DOWN?
234
235 No, there have never been any backdoors and there never will be,
236 so please stop asking. Every once in a while, someone finds a way
237 to exploit a bug in eggdrop, but we fix these bugs as soon as I find
238 out about them. If you want to bring down someone else's bot, you
239 will not have my/our help.
240
241 6. WHAT ARE MODULES?
242
243 Modules are a way of adding extra C code from the bot, much
244 like tcl scripts, without requiring the bot recompiling, see
245 doc/MODULES for more info.
246
247 7. CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES?
248
249 Yes, you can, if ./configure detects that your system CAN'T run
250 modules it will setup 'make' to link the modules in statically
251 for you, you can also choose this option if you can do dynamic
252 modules by typing 'make static'. You can also try to compile
253 dynamic modules on a static-only system by typing 'make eggdrop'.
254
255 7.1 DO I STILL NEED TO 'loadmodule modules' ???
256
257 YES, when you compile statically, all the modules are linked into
258 the main executable *but* they are not enabled until you use
259 loadmodule to enable then, hence you get nearly the same
260 functionality with static modules as dynamic modules.
261
262 8. WHERE CAN I GET A PRECOMPILED EGGDROP FOR MY COMPUTER?
263
264 It is HIGHLY recommended AGAINST using precompiled Eggdrops
265 from untrusted sources. Eggdrop has been a regular target
266 for hacking and crashing. Distribution of precompiled (binary)
267 versions of Eggdrop are the easiest way of hackers to provide
268 you with the easiest (and most dangerous) way of gaining access
269 to not only your bot, but to your computer account directly.
270 Don't advertise your precompiled eggdrop binary sites on the
271 eggdrop list either =P
272
273 9. I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING
274 WHEN I TRY TO 'make'
275
276 Try 'gmake'
277
278 10. WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS AT ME
279 AND DIES :(
280
281 UPGRADE YOUR TCL, you are probably using tcl 7.5 or earlier,
282 some of the commands in weed require tcl7.6 to run, so either
283 upgrade it, or removing the offending lines from you
284 userfile (those strating with '.' generally) and accept the
285 loss of that data.
286
287 11. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or
288 "eggdrop: error in loading shared libraries /
289 libtcl8.1.so: cannot open shared object file: No such file or directory"
290 when I try to start my bot.
291
292 './configure' is looking in the wrong place for tcl; it looks like
293 it compiled with one version of tcl and tries to load another.
294 Maybe your sysadmin upgraded tcl and didnt tell you.
295 In that case, you should just need to recompile your bot.
296
297 Or maybe when upgrading he didnt clean the old version of tcl, and
298 './configure' is looking for the files in the wrong places, or
299 trying to use different versions of tcl.h and libtcl*.
300 Smack your admin and have him install tcl properly ;)
301 Or try to:
302
303 ./configure --with-tcllib=<path-to-tcllib> --with-tclinc=<path-to-tclinc>
304
305 tell configure where to look for the tcl files.
306 try to look for them like:
307 for libtcl: ls /usr/lib/libtcl*
308 ls /usr/local/lib/libtcl*
309 for tcl.h: ls /usr/include/tcl.h
310 ls /usr/local/include/tcl.h
311
312 If everything else fails, try to install tcl to your home dir ;)
313 (suggested by dw@Undernet, dw@lixom.nu)
314
315
316 12. I get a whole pile of "Unresolved symbol 'Tcl_AppendResult'"
317 (or some other symbol) when I try to load a modules.
318
319 POSSIBILITY A: see 11.
320
321 POSSIBILITY B:
322
323 Some of the standard libraries have been compiled for static
324 linking only on your machine, you have 3 options:
325 (1) if it's your own machine, recompile TCL using dynamic linking
326 by using './configure --enable-shared' when you configure
327 TCL (not the bot) and then remake, & reinstall
328 (2) if it's not you machine, you make have to resort to
329 'make static' and 'make sinstall DESTDIR=<dir>' to make
330 and install your bot.
331 (3) if you are of a more aggressive sense of mind, go beat the
332 stuffing out of your admin for have lame static libraries :)
333
334 (6) SETTING UP A CRONTAB
335
336 Eggdrop has become more stable with time, thanks mostly to people detail-
337 ing bugs to me and helping me find places where it crashes. However, I'm
338 sure there are still a few places where things aren't perfect -- that's
339 how life works. Also, most systems go down from time to time. These
340 things cause your bot to disappear from IRC, and you have to restart it.
341
342 I have included a csh script called 'botchk' which will help keep the bot
343 online. It will make the machine check every ten minutes to make sure
344 your bot is still running. To use it, you have to add a line to your
345 crontab. First, edit 'botchk' and change the directory and command line
346 parameters so that it will be able to start up your bot. Then, add this
347 line to your crontab:
348
349 0,10,20,30,40,50 * * * * /home/mydir/botchk
350
351 If you don't want to get emails from cron, put this:
352
353 0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1
354
355 Naturally, you need to change the path to the correct path for botchk. If
356 you've never used crontab before, here is a simple way to add that line:
357 Create a new file called 'mycron' and put the above line into it. Then,
358 from your shell prompt, type
359 % crontab mycron
360 That will create a new crontab entry for you, with a line that runs botchk
361 every ten minutes. Botchk will then restart the bot when necessary (and
362 send you email informing you).
363
364
365 (7) BORING LEGAL STUFF
366
367 The eggdrop bot is copyright (c) by Robey Pointer. As of January 1997,
368 eggdrop is distributed according to the GNU General Public License.
369 There should be a copy of this license in the file COPYING. If not,
370 write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
371 MA 02139, USA.
372
373 Releases previous to 1.0m were made using a different licensing scheme.
374 You may, at your option, use the GNU General Public License on those
375 versions (instead of the license packaged with them) with my blessing.
376 For any versions bearing a copyright date of 1997 or later, you have
377 no choice -- you must use the GNU General Public License.
378
379 The files "match.c", "net.c", and "blowfish.c" are exempt from the above
380 restrictions. "match.c" is original code by Chris Fuller (email:
381 crf@cfox.bchs.uh.edu) and has been placed by him into the public domain.
382 "net.c" is by me and I also choose to place it in the public domain.
383 "blowfish.c" is by various sources and is in the public domain. All 3
384 files contain useful functions that could easily be ported to other
385 applications -- the other parts of the bot generally don't.
386
387 Tcl is by John Ousterhout and is in no way affiliated with eggdrop,
388 and has its own set of copyrights and whatnots, I'm sure.
389
390 There is no warranty, implied or whatever. You use this software at
391 your own risk, no matter what purpose you put it to.
392
393 You didn't pay for it, so don't expect magic.
394
395
396 (8) MAILING LIST
397
398 There are currently a couple of mailing lists about eggdrop.
399 eggheads@eggdheads.org is the one relevant for posts about
400 eggdrop 1.3 (and bug fixes, and suggestions, etc).
401
402 To subscribe to the eggheads mailing list, send email to:
403 eggheads-request@eggheads.org
404 In the body of the message, put "subscribe eggheads"; or go to
405 http://scrambled.eggheads.org/mailman/listinfo/eggheads
406
407 ### DO NOT SEND ROBEY EMAIL ABOUT EGGDROP ###
408 Robey is no longer developing the eggdrop code (although he does put
409 a word in every now and then) so don't bother emailing him. If you
410 have a serious problem, email the eggdrop mailing list and it will
411 get to the coders.
412
413 Please, before posting to this list, see what things are like, and
414 when you do post, read over your post for readability, spelling, and
415 grammar mistakes. Obviously, we're all human (or are we?) and we all
416 make mistakes (heck, look at this document! ;). Don't flame, and
417 read/follow the rules.
418
419 This list is not, and never will be a list dedicated to those all too
420 common questions we have all seen on other lists... for example:
421
422 "Why does my bot say this: Please edit your config file."
423 "How do I telnet my bot?"
424 "Where do I get eggdrop for windows????????"
425 etc..
426
427 Bug reports, technical questions, your thoughts or suggestions on new
428 features being added to Eggdrop, things that should be removed or fixed,
429 amazing problems that even stump the guru's, etc... are what we want to
430 see here.
431
432
433 (9) DOCUMENTATION
434
435 We're trying to keep the documentation up to date. If you feel that anything
436 is missing here, or that anything should be added etc, please email
437 eggheads@eggheads.org about it, thank you.
438
439
440 (10) OBTAINING HELP
441
442 There is currently no uniform channel in existance to support eggdrop.
443 At one time, such channels did exist, but they most often esculate into
444 a vanity channel, where no one is willing to help.
445
446 However, we'll list a few places here where you *might* get help. Note
447 though that we are not responsible for those channels, or neccessarily
448 run those channels ourselves.
449
450 #Eggdrop@Undernet for eggdrop 1.3 and tcl related questions
451 #egghelp@IRCNet
452 #eggdrop@IRCNet
453 #bothelp@IRCNet
454 #EggTCL@EFNet
455 #eggheads@EFNet
456
457 If there are any serious places that should be added, let us know.
458
459
460
461 The eggdrop 1.3 devel team.

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23