/[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.1.1.1 - (show annotations) (download) (vendor branch)
Wed Jun 23 19:51:22 1999 UTC (20 years, 3 months ago) by segfault
Branch: eggdev
CVS Tags: start
Changes since 1.1: +0 -0 lines
Eggdrop 1.3.28 CVS Code

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 accessable 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 the author
36 is never really satisfied with it. In fact, it existed for several
37 years as v0.7 - v0.9 before finally going 1.0. A valiant effort has
38 been made to chase down and destroy bugs. It is definitely nowhere
39 near as buggy as the ircII client. Crashes should be rare and
40 surprising (but aren't they always? [surprising anyway]).
41
42 This README file contains information about how to get eggdrop, how to
43 quickly compile the bot, what you may need to do when upgrading from
44 older versions, a list of frequently asked questions about compiling,
45 how to set up a crontab, some boring legal stuff, info about the mailing
46 list (a great place to ask questions), and a complaint/explanation about
47 the lack of documentation.
48
49 The preliminary documentation is in "eggdrop.doc" and is intended to be
50 read after you have eggdrop compiled and set up. It's changing all the
51 time and getting new sections added. If you'd like to write a
52 section, then please do!
53
54
55 (2) HOW TO GET EGGDROP
56
57 Before you can compile eggdrop, you need to have Tcl installed on
58 your system. Most systems should have Tcl on them by now -- you
59 can check by trying the command "tclsh". If it works, you will be
60 given a "%" prompt, and you can type "exit" to exit the program.
61 That means Tcl is on your system. If tclsh doesn't load, then Tcl
62 probably isn't on your system, and you will need to ftp it. The
63 best ftp site is:
64 ftp://ftp.scriptics.com/pub/tcl
65
66 The best version to use right now is 8.0.4 (as recommended by
67 dw@Undernet), versions like 7.6p2 are still fine to use though.
68
69 Tcl comes with the Slackware distribution of Linux. HOWEVER, the
70 one that comes on Slackware 3.0 is goofed up and you'll have to
71 re-install it for yourself to get it working.
72
73 (3) QUICK STARTUP
74
75 #### NOW INCLUDED IN 'INSTALL' - READ IT *AFTER* FINISHING THIS ####
76
77 (4) UPGRADING
78
79 #### BACK UP YOUR USERFILE ####
80
81 We can't re-iterate this enough, if you are upgrading, and you have
82 even a slight possibility of downgrading again later you will HAVE
83 to back up your userfile, or you will lose it. 1.3 radically changes a
84 lot of things.
85
86 There are many major changes between v0.9, v1.0, v1.1 and v1.3 so
87 PAY ATTENTION
88 to this part if you have a v0.9, 1.0 or 1.1 bot already. If you're
89 just starting out, you can skip this section.
90
91 to 1.3:
92 * If you run sharebots, you will need to upgrade them all at the
93 same time because of the new userfile format. Older bots will
94 be able to link in, but will not get or send a userfile. 1.2's
95 will also tend to refuse to share with another pre1.2.
96 MAKE A NEW CONFIG FILE from the example, there are some radical
97 extras.
98
99 from 0.9/1.0 to 1.3:
100 * Just redo the whole thing, absolutely everything has changed
101 including the userfile and config file formats.
102 from 1.1/1.2 to 1.3:
103 * You will likely want to redo the config file, as much as
104 changed. BACK UP!! You will need to run
105 'tclsh scripts/weed <userfile> c' to convert your userfile
106 from v3 (1.1/1.2) to v4
107
108 (5) FREQUENTLY ASKED QUESTIONS (or "Why doesn't this thing work?")
109
110 1. WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?
111
112 (1) Run eggdrop with the "-m" option (ie, "eggdrop -m mybot").
113 (2) Go to IRC and send "hello" to your bot (ie, "/msg mybot hello").
114 (3) You will become an owner on your bot. You can leave the bot
115 running (nobody else will become a master if they say "hello"),
116 but in the future, don't use the "-m" option when running the bot.
117
118 2. MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR HOSTNAME!"
119
120 Your machine is set up strangely, and eggdrop can't figure out its
121 network hostname. You can get around this by setting an environment
122 variable called HOSTNAME. In sh or ksh:
123 $ HOSTNAME=myhost.domain.edu
124 $ export HOSTNAME
125 In csh or tcsh:
126 % setenv HOSTNAME myhost.domain.edu
127 It should work after that. You may want to bug your system admini-
128 strator to set up her /etc/hosts file correctly, or add those above
129 commands to your '.login' file (sh or ksh: '.profile').
130
131 3. WHAT THE HECK IS TCL?
132
133 Tcl is a scripting language written by John Ousterhout. It's much
134 better than most "in-built" script langauges (like the one in ircII)
135 and is meant to be linked with anything needing a script language.
136 So I linked it with eggdrop.
137
138 The file "tcl-commands.doc" in the eggdrop directory contains a list
139 of the commands added to Tcl by eggdrop. There are also several
140 example scripts in the scripts/ directory, and there are gobs of
141 scripts floating around on the ftp sites if you like working by
142 example (which is typically the best way).
143
144 4. MY BOT DIES AND THE LAST ENTRY IN THE LOGFILE IS "RECEIVED TERMINATE
145 SIGNAL". WHAT DOES THAT MEAN AND CAN I PREVENT IT?
146
147 There's nothing you can do to prevent it. It means the system admini-
148 stator is killing the eggdrop process. Most of the time, it's an
149 automatic thing that happens when the system is being rebooted -- so
150 it's harmless, and if you have a crontab running, the bot will get
151 restarted when the system is back online. Occassionally the system
152 administrator will kill the bot manually -- for example, if he/she
153 doesn't want bots running on the system.
154
155 5. MY COMPILE DIES AT THE LAST MINUTE WITH "LD FATAL SIGNAL 11"!
156
157 This happens on Linux machines which have recently been converted
158 to ELF by upgrading to Slackware 3.0. Apparently Slackware 3.0
159 comes with a non-ELF (a.out) Tcl library, and the compiler doesn't
160 handle that well. (It should give you an error; instead it barfs.)
161 Fixing it is tricky because even if you recompile libtcl.a, the
162 linker will most likely find the "bad" one first, and your work
163 will be in vain.
164
165 Here's a fix that's been floating around on the eggdrop list:
166 1. Recompile 'libtcl.a' for yourself, to make sure an ELF library
167 is created.
168 2. Copy it into your eggdrop/src directory, naming it 'libtcl2.a'.
169 3. Edit the Makefile and change the line that says '-L/usr/lib -ltcl'
170 to '-L. -ltcl2'.
171 4. Recompile eggdrop.
172
173 Also send hate-mail to the Slackware guy telling him to stop messing
174 up the libraries. He seemed to assume that everyone would still
175 want to compile old-style (a.out) binaries.
176
177 6. SOMEONE ELSE SET UP A BOT I DON'T LIKE. ARE THERE ANY BACKDOORS I
178 CAN USE TO TAKE THEIR BOT DOWN?
179
180 No, there have never been any backdoors and there never will be,
181 so please stop asking. Every once in a while, someone finds a way
182 to exploit a bug in eggdrop, but we fix these bugs as soon as I find
183 out about them. If you want to bring down someone else's bot, you
184 will not have my/our help.
185
186 6. WHAT ARE MODULES?
187
188 Modules are a way of adding extra C code from the bot, much
189 like tcl scripts, without requiring the bot recompiling, see
190 doc/MODULES for more info.
191
192 7. CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES?
193
194 Yes, you can, if ./configure detects that your system CAN'T run
195 modules it will setup 'make' to link the modules in statically
196 for you, you can also choose this option if you can do dynamic
197 modules by typing 'make static'. You can also try to compile
198 dynamic modules on a static-only system by typing 'make eggdrop'.
199
200 7.1 DO I STILL NEED TO 'loadmodule modules' ???
201
202 YES, when you compile statically, all the modules are linked into
203 the main executable *but* they are not enabled until you use
204 loadmodule to enable then, hence you get nearly the same
205 functionality with static modules as dynamic modules.
206
207 8. WHERE CAN I GET A PRECOMPILED EGGDROP FOR MY COMPUTER?
208
209 It is HIGHLY recommended AGAINST using precompiled Eggdrops
210 from untrusted sources. Eggdrop has been a regular target
211 for hacking and crashing. Distribution of precompiled (binary)
212 versions of Eggdrop are the easiest way of hackers to provide
213 you with the easiest (and most dangerous) way of gaining access
214 to not only your bot, but to your computer account directly.
215 Don't advertise your precompiled eggdrop binary sites on the
216 eggdrop list either =P
217
218 9. I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING
219 WHEN I TRY TO 'make'
220
221 Try 'gmake'
222
223 10. WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS AT ME
224 AND DIES :(
225
226 UPGRADE YOUR TCL, you are probably using tcl 7.5 or earlier,
227 some of the commands in weed require tcl7.6 to run, so either
228 upgrade it, or removing the offending lines from you
229 userfile (those strating with '.' generally) and accept the
230 loss of that data.
231
232 11. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or
233 "eggdrop: error in loading shared libraries /
234 libtcl8.1.so: cannot open shared object file: No such file or directory"
235 when I try to start my bot.
236
237 './configure' is looking in the wrong place for tcl; it looks like
238 it compiled with one version of tcl and tries to load another.
239 Maybe your sysadmin upgraded tcl and didnt tell you.
240 In that case, you should just need to recompile your bot.
241
242 Or maybe when upgrading he didnt clean the old version of tcl, and
243 './configure' is looking for the files in the wrong places, or
244 trying to use different versions of tcl.h and libtcl*.
245 Smack your admin and have him install tcl properly ;)
246 Or try to:
247
248 ./configure --with-tcllib=<path-to-tcllib> --with-tclinc=<path-to-tclinc>
249
250 tell configure where to look for the tcl files.
251 try to look for them like:
252 for libtcl: ls /usr/lib/libtcl*
253 ls /usr/local/lib/libtcl*
254 for tcl.h: ls /usr/include/tcl.h
255 ls /usr/local/include/tcl.h
256
257 If everything else fails, try to install tcl to your home dir ;)
258 (suggested by dw@Undernet, dw@lixom.nu)
259
260
261 12. I get a whole pile of "Unresolved symbol 'Tcl_AppendResult'"
262 (or some other symbol) when I try to load a modules.
263
264 POSSIBILITY A: see 11.
265
266 POSSIBILITY B:
267
268 Some of the standard libraries have been compiled for static
269 linking only on your machine, you have 3 options:
270 (1) if it's your own machine, recompile TCL using dynamic linking
271 by using './configure --enable-shared' when you configure
272 TCL (not the bot) and then remake, & reinstall
273 (2) if it's not you machine, you make have to resort to
274 'make static' and 'make sinstall DESTDIR=<dir>' to make
275 and install your bot.
276 (3) if you are of a more aggressive sense of mind, go beat the
277 stuffing out of your admin for have lame static libraries :)
278
279 (6) SETTING UP A CRONTAB
280
281 Eggdrop has become more stable with time, thanks mostly to people detail-
282 ing bugs to me and helping me find places where it crashes. However, I'm
283 sure there are still a few places where things aren't perfect -- that's
284 how life works. Also, most systems go down from time to time. These
285 things cause your bot to disappear from IRC, and you have to restart it.
286
287 I have included a csh script called 'botchk' which will help keep the bot
288 online. It will make the machine check every ten minutes to make sure
289 your bot is still running. To use it, you have to add a line to your
290 crontab. First, edit 'botchk' and change the directory and command line
291 parameters so that it will be able to start up your bot. Then, add this
292 line to your crontab:
293
294 0,10,20,30,40,50 * * * * /home/mydir/botchk
295
296 If you don't want to get emails from cron, put this:
297
298 0,10,20,30,40,50 * * * * /home/mydir/botchk >/dev/null 2>&1
299
300 Naturally, you need to change the path to the correct path for botchk. If
301 you've never used crontab before, here is a simple way to add that line:
302 Create a new file called 'mycron' and put the above line into it. Then,
303 from your shell prompt, type
304 % crontab mycron
305 That will create a new crontab entry for you, with a line that runs botchk
306 every ten minutes. Botchk will then restart the bot when necessary (and
307 send you email informing you).
308
309
310 (7) BORING LEGAL STUFF
311
312 The eggdrop bot is copyright (c) by Robey Pointer. As of January 1997,
313 eggdrop is distributed according to the GNU General Public License.
314 There should be a copy of this license in the file COPYING. If not,
315 write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
316 MA 02139, USA.
317
318 Releases previous to 1.0m were made using a different licensing scheme.
319 You may, at your option, use the GNU General Public License on those
320 versions (instead of the license packaged with them) with my blessing.
321 For any versions bearing a copyright date of 1997 or later, you have
322 no choice -- you must use the GNU General Public License.
323
324 The files "match.c", "net.c", and "blowfish.c" are exempt from the above
325 restrictions. "match.c" is original code by Chris Fuller (email:
326 crf@cfox.bchs.uh.edu) and has been placed by him into the public domain.
327 "net.c" is by me and I also choose to place it in the public domain.
328 "blowfish.c" is by various sources and is in the public domain. All 3
329 files contain useful functions that could easily be ported to other
330 applications -- the other parts of the bot generally don't.
331
332 Tcl is by John Ousterhout and is in no way affiliated with eggdrop,
333 and has its own set of copyrights and whatnots, I'm sure.
334
335 There is no warranty, implied or whatever. You use this software at
336 your own risk, no matter what purpose you put it to.
337
338 You didn't pay for it, so don't expect magic.
339
340
341 (8) MAILING LIST
342
343 To subscribe, send email to:
344 majordomo@tacorp.net
345 In the body of the message, put "subscribe eggdrop".
346
347 ### DO NOT SEND ROBEY EMAIL ABOUT EGGDROP ###
348 Robey is no longer developing the eggdrop code (although he does put
349 a word in every now and then) so don't bother emailing him. If you
350 have a serious problem, email the eggdrop mailing list and it will
351 get to the coders.
352
353 Please, before posting to this list, see what things are like, and
354 when you do post, read over your post for readability, spelling, and
355 grammar mistakes. Obviously, we're all human (or are we?) and we all
356 make mistakes (heck, look at this document! ;). Don't flame, and
357 read/follow the rules.
358
359 (9) DOCUMENTATION
360
361 I've been trying hard to keep the online documentation (in the help/
362 directory) fairly up-to-date. It should be complete now; you can browse
363 through there for some handy tips. Please let me know if you find any
364 help files that are incorrect or confusing!
365
366 I know that a unified documentation would REALLY BE HELPFUL. All I can
367 say is... I've been pretty busy. I just graduated in December and I've
368 spent the past several months getting settled into the bay area, getting
369 a job, etc. So I haven't even had much time to keep updating the bot.
370 But I AM working on it, bit by bit. Stage one was finishing the online
371 docs. Now I'm slowly adding bits to the unified documentation.
372
373 I have seven sections written so far, and I'm not sure how helpful
374 they are, but you can find them in "eggdrop.doc" for now. Comments and
375 suggestions would be welcome!
376
377
378 (10) OBTAINING HELP
379
380 There exists no uniform channel currently in existance to support
381 eggdrop. At one time, such channels did exist, but they most
382 often esculate into a vanity channel, where no one is willing to help.
383 Maybe in the future, a bot will be put up in a channel to offer
384 answers to commonly asked questions, but until then, your best bet is
385 the eggdrop mailing list.
386
387
388 This is the end. Good. You actually read all the way down here. If you
389 meet someone who hasn't, thwop them for me.

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23