1 |
fabian |
1.7 |
README |
2 |
|
|
------------------------------------------------------------------------ |
3 |
segfault |
1.1 |
|
4 |
fabian |
1.7 |
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 |
|
|
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 |
|
|
|
9 |
|
|
Contents |
10 |
|
|
|
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 |
55 |
|
|
|
56 |
|
|
Please read this file carefully before trying to set up this |
57 |
|
|
bot. Also, make SURE that you select your +n (owner) users |
58 |
|
|
wisely! They have 100% access to your bot and account! ONLY |
59 |
|
|
GIVE THIS POWER TO SOMEONE YOU TRUST COMPLETELY!! |
60 |
|
|
|
61 |
|
|
(1) WHAT IS EGGDROP? |
62 |
|
|
|
63 |
|
|
Eggdrop is an IRC bot, written in C. If you don't know what |
64 |
|
|
IRC is, this is probably not whatever you're looking for! |
65 |
|
|
Eggdrop, being a bot, sits on a channel and takes protective |
66 |
|
|
measures: to keep the channel from being taken over (in the |
67 |
|
|
few ways that anything CAN), to recognize banished users or |
68 |
|
|
sites and reject them, to recognize privileged users and let |
69 |
|
|
them gain ops, etc. |
70 |
|
|
|
71 |
|
|
One of the more unique features of eggdrop is its |
72 |
|
|
"partyline", accessible via DCC chat, which allows you to |
73 |
|
|
talk to other people lag-free. Consider it a multi-way DCC |
74 |
|
|
chat, or a miniature IRC (complete with channels). You can |
75 |
|
|
link up with other bots and expand the partyline until it |
76 |
|
|
actually becomes something very much like IRC, in fact. |
77 |
|
|
|
78 |
|
|
Eggdrop is always being improved and adjusted because there |
79 |
|
|
are bugs to be fixed and features to be added (if the users |
80 |
|
|
demand them, and they make actually sense). In fact, it |
81 |
|
|
existed for several years as v0.7 - v0.9 before finally |
82 |
|
|
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 |
|
|
bugs. |
85 |
|
|
|
86 |
|
|
This README file contains information about how to get |
87 |
|
|
eggdrop, how to quickly compile the bot, what you may need |
88 |
|
|
to do when upgrading from older versions, a list of |
89 |
|
|
frequently asked questions about compiling, how to set up a |
90 |
|
|
crontab, some boring legal stuff, info about the mailing |
91 |
|
|
list (a great place to ask questions, and a good place to |
92 |
|
|
report bugs also), some basics about CVS usage and some |
93 |
|
|
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 |
101 |
|
|
|
102 |
|
|
Before you can compile eggdrop, you need to have Tcl |
103 |
|
|
installed on your system. Most systems should have Tcl on |
104 |
|
|
them by now -- you can check by trying the command "tclsh". |
105 |
|
|
If it works, you will be given a "%" prompt, and you can |
106 |
|
|
type "exit" to exit the program. That means Tcl is on your |
107 |
|
|
system. If tclsh doesn't load, then Tcl probably isn't on |
108 |
|
|
your system, and you will need to ftp it. The best ftp site |
109 |
|
|
is: |
110 |
|
|
|
111 |
|
|
ftp://ftp.scriptics.com/pub/tcl |
112 |
|
|
|
113 |
|
|
Tcl comes with the Slackware distribution of Linux. HOWEVER, |
114 |
|
|
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. |
122 |
|
|
|
123 |
|
|
|
124 |
|
|
(2a) CVS USAGE |
125 |
|
|
|
126 |
|
|
You might obtain the *very latest* version of eggdrop that |
127 |
|
|
is still under development by using CVS. CVS means |
128 |
|
|
'Concurrent Versions System' and is a tool for developers to |
129 |
|
|
always keep source code up to date. Try 'man cvs' on your |
130 |
|
|
shell for more information about CVS ;-) |
131 |
|
|
|
132 |
|
|
This intended only for users that know a fairly bit about |
133 |
|
|
eggdrop. Be aware that the versions of eggdrop that you get |
134 |
|
|
by CVS are still being developed, and may be buggy. The |
135 |
|
|
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: |
140 |
|
|
|
141 |
|
|
(1) log into your shell |
142 |
|
|
(2) type 'export |
143 |
|
|
CVSROOT=:pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot' |
144 |
|
|
|
145 |
|
|
(3) type 'cvs login' |
146 |
|
|
(4) press <enter> when it asks for a password. |
147 |
|
|
(5) in your home dir, type 'cvs checkout |
148 |
|
|
eggdrop1.5' |
149 |
|
|
(6) in ~/eggdrop1.5, you should have a copy of the |
150 |
|
|
latest CVS version of eggdrop. |
151 |
|
|
|
152 |
|
|
Notes: |
153 |
|
|
|
154 |
|
|
(1) you can 'cvs logout', but you don't need to. |
155 |
|
|
(2) you don't need to go through this whole |
156 |
|
|
process every time; if you want to get a CVS |
157 |
|
|
version of eggdrop at a later time, you can just |
158 |
|
|
'cd ~/eggdrop1.5' and type 'cvs update -A'. |
159 |
|
|
(3) if you experience errors when using 'export', |
160 |
|
|
you might be using tclsh as a shell. If so, try |
161 |
|
|
using the command 'setenv' instead of 'export': |
162 |
|
|
'setenv CVSROOT |
163 |
|
|
:pserver:anonymous@cvs.eggheads.org:/usr/local/cvsroot' |
164 |
|
|
|
165 |
|
|
(3) QUICK STARTUP |
166 |
|
|
|
167 |
|
|
#### NOW INCLUDED IN 'INSTALL' - READ IT *AFTER* FINISHING |
168 |
|
|
THIS #### |
169 |
|
|
|
170 |
|
|
(4) UPGRADING |
171 |
|
|
|
172 |
|
|
(4a) FROM A PRE-1.3/1.4/1.5 VERSION TO 1.5 |
173 |
|
|
|
174 |
|
|
#### BACK UP YOUR USERFILE #### |
175 |
|
|
|
176 |
|
|
We can't re-iterate this enough, if you are |
177 |
|
|
upgrading, and you have even a slight possibility |
178 |
|
|
of downgrading again later you will HAVE to back |
179 |
|
|
up your userfile, or you will lose it. v1.3 of |
180 |
|
|
eggdrop radically changed alot of things. |
181 |
|
|
|
182 |
|
|
There are many major changes between v0.9, v1.0, |
183 |
|
|
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 |
|
|
If you're just starting out, you can skip this |
186 |
|
|
section. |
187 |
|
|
|
188 |
|
|
to 1.3/1.4/1.5: * If you run sharebots, you will |
189 |
|
|
need to upgrade them all at the same time because |
190 |
|
|
of the new userfile format. Older bots will be |
191 |
|
|
able to link in, but will not get or send a |
192 |
|
|
userfile. 1.2's will also tend to refuse to share |
193 |
|
|
with another pre1.2. MAKE A NEW CONFIG FILE from |
194 |
|
|
the example, there are some radical extras. |
195 |
|
|
|
196 |
|
|
from 0.9/1.0 to 1.3/1.4/1.5: * Just redo the whole |
197 |
|
|
thing, absolutely everything has changed including |
198 |
|
|
the userfile and config file formats. |
199 |
|
|
|
200 |
|
|
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 |
207 |
|
|
|
208 |
|
|
If you followed the INSTALL file and did a 'make |
209 |
|
|
install' (or 'make install DEST=<path>') after |
210 |
|
|
'make', this will be pretty easy. Just upload the |
211 |
|
|
new eggdrop1.5.xx.tar.gz file to the home dir of |
212 |
|
|
your shell, gunzip and untar it, and type 'cd |
213 |
|
|
~/eggdrop1.5.xx'. Then, type './configure', |
214 |
|
|
'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?") |
220 |
|
|
|
221 |
|
|
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., |
224 |
|
|
"eggdrop -m mybot"). |
225 |
|
|
(2) Go to IRC and send "hello" to your bot (i.e., |
226 |
|
|
"/msg mybot hello"). |
227 |
|
|
(3) You will become an owner on your bot. You can |
228 |
|
|
leave the bot running (nobody else will become a |
229 |
|
|
master if they say "hello"), but in the future, |
230 |
|
|
don't use the "-m" option when running the bot. |
231 |
|
|
|
232 |
|
|
2. MY EGGDROP WON'T RUN; IT JUST SAYS "CAN'T FIND YOUR |
233 |
|
|
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 |
243 |
|
|
$ export HOSTNAME |
244 |
|
|
|
245 |
|
|
In csh or tcsh: |
246 |
|
|
|
247 |
|
|
% setenv HOSTNAME myhost.domain.edu |
248 |
|
|
|
249 |
|
|
It should work after that. You may want to bug |
250 |
|
|
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? |
255 |
|
|
|
256 |
|
|
Tcl is a scripting language written by John |
257 |
|
|
Ousterhout. It's much better than most "in-built" |
258 |
|
|
script languages (like the one in ircII) and is |
259 |
|
|
meant to be linked with anything needing a script |
260 |
|
|
language. So I linked it with eggdrop. The file |
261 |
|
|
"tcl-commands.doc" in the eggdrop directory |
262 |
|
|
contains a list of the commands added to Tcl by |
263 |
|
|
eggdrop. There are also several example scripts in |
264 |
|
|
the scripts/ directory, and there are gobs of |
265 |
|
|
scripts floating around on the ftp sites if you |
266 |
|
|
like working by example (which is typically the |
267 |
|
|
best way). |
268 |
|
|
|
269 |
|
|
4. MY BOT DIES AND THE LAST ENTRY IN THE LOGFILE IS |
270 |
|
|
"RECEIVED TERMINATE SIGNAL". WHAT DOES THAT MEAN AND CAN I |
271 |
|
|
PREVENT IT? |
272 |
|
|
|
273 |
|
|
There's nothing you can do to prevent it. It means |
274 |
|
|
the system administrator is killing the eggdrop |
275 |
|
|
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. |
282 |
|
|
|
283 |
|
|
5. MY COMPILE DIES AT THE LAST MINUTE WITH "LD FATAL SIGNAL |
284 |
|
|
11"! |
285 |
|
|
|
286 |
|
|
This happens on Linux machines that have recently |
287 |
|
|
been converted to ELF by upgrading to Slackware |
288 |
|
|
3.0. Apparently Slackware 3.0 comes with a non-ELF |
289 |
|
|
(a.out) Tcl library, and the compiler doesn't |
290 |
|
|
handle that well. (It should give you an error; |
291 |
|
|
instead it barfs.) Fixing it is tricky because |
292 |
|
|
even if you recompile libtcl.a, the linker will |
293 |
|
|
most likely find the "bad" one first, and your |
294 |
|
|
work will be in vain. |
295 |
|
|
|
296 |
|
|
Here's a fix that's been floating around on the |
297 |
|
|
eggdrop list: |
298 |
|
|
|
299 |
|
|
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. |
307 |
|
|
|
308 |
|
|
Also send hate-mail to the Slackware guy telling |
309 |
|
|
him to stop messing up the libraries. He seemed to |
310 |
|
|
assume that everyone would still want to compile |
311 |
|
|
old-style (a.out) binaries. |
312 |
|
|
|
313 |
|
|
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 |
|
|
|
316 |
|
|
No, there have never been any backdoors and there |
317 |
|
|
never will be, so please stop asking. Every once |
318 |
|
|
in a while, someone finds a way to exploit a bug |
319 |
|
|
in eggdrop, but we fix these bugs as soon as we |
320 |
|
|
find out about them. If you want to bring down |
321 |
|
|
someone else's bot, you will not have my/our help. |
322 |
|
|
|
323 |
|
|
7. WHAT ARE MODULES? |
324 |
|
|
|
325 |
|
|
Modules are a way of adding extra C code from the |
326 |
|
|
bot, much like Tcl scripts, without requiring the |
327 |
|
|
bot recompiling, see doc/MODULES for more info. |
328 |
|
|
|
329 |
|
|
8. CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES? |
330 |
|
|
|
331 |
|
|
Yes, you can, if ./configure detects that your |
332 |
|
|
system CAN'T run modules it will setup 'make' to |
333 |
|
|
link the modules in statically for you, you can |
334 |
|
|
also choose this option if you can do dynamic |
335 |
|
|
modules by typing 'make static'. You can also try |
336 |
|
|
to compile dynamic modules on a static-only system |
337 |
|
|
by typing 'make eggdrop'. |
338 |
|
|
|
339 |
|
|
8.1 DO I STILL NEED TO 'loadmodule modules' ??? |
340 |
|
|
|
341 |
|
|
YES, when you compile statically, all |
342 |
|
|
the modules are linked into the main |
343 |
|
|
executable *but* they are not enabled |
344 |
|
|
until you use loadmodule to enable then, |
345 |
|
|
hence you get nearly the same |
346 |
|
|
functionality with static modules as |
347 |
|
|
dynamic modules. |
348 |
|
|
|
349 |
|
|
9. WHERE CAN I GET A PRECOMPILED EGGDROP FOR MY COMPUTER? |
350 |
|
|
|
351 |
|
|
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 |
|
|
10. I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING |
363 |
|
|
WHEN I TRY TO 'make' |
364 |
|
|
|
365 |
|
|
Try 'gmake' |
366 |
|
|
|
367 |
|
|
11. WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS |
368 |
|
|
AT ME AND DIES :( |
369 |
|
|
|
370 |
|
|
UPGRADE YOUR TCL, you are probably using tcl 7.5 |
371 |
|
|
or earlier, some of the commands in weed require |
372 |
|
|
tcl7.6 to run, so either upgrade it, or removing |
373 |
|
|
the offending lines from you userfile (those |
374 |
|
|
starting with '.' generally) and accept the loss |
375 |
|
|
of that data. |
376 |
|
|
|
377 |
|
|
12. I get "ld-elf.so.1: Shared object "libtcl80.so.1" not |
378 |
|
|
found" or "eggdrop: error in loading shared libraries / |
379 |
|
|
libtcl8.1.so: cannot open shared object file: No such file |
380 |
|
|
or directory" when I try to start my bot. |
381 |
|
|
|
382 |
|
|
'./configure' is looking in the wrong place for |
383 |
|
|
tcl; it looks like it compiled with one version of |
384 |
|
|
tcl and tries to load another. Maybe your sysadmin |
385 |
|
|
upgraded tcl and didn't tell you. In that case, |
386 |
|
|
you should just need to recompile your bot. |
387 |
|
|
|
388 |
|
|
Or maybe when upgrading he didn't clean the old |
389 |
|
|
version of tcl, and './configure' is looking for |
390 |
|
|
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-tcl-lib> |
396 |
|
|
--with-tclinc=<path-to-tcl-inc> |
397 |
|
|
|
398 |
|
|
tell configure where to look for the tcl files. |
399 |
|
|
try to look for them like: |
400 |
|
|
for libtcl: |
401 |
segfault |
1.1 |
|
402 |
fabian |
1.7 |
ls /usr/lib/libtcl* |
403 |
|
|
ls /usr/local/lib/libtcl* |
404 |
segfault |
1.1 |
|
405 |
fabian |
1.7 |
for tcl.h: |
406 |
segfault |
1.1 |
|
407 |
fabian |
1.7 |
ls /usr/include/tcl.h |
408 |
|
|
ls /usr/local/include/tcl.h |
409 |
segfault |
1.1 |
|
410 |
fabian |
1.7 |
If everything else fails, try to install tcl to |
411 |
|
|
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 12. |
419 |
|
|
|
420 |
|
|
POSSIBILITY B: |
421 |
|
|
|
422 |
|
|
Some of the standard libraries have been compiled |
423 |
|
|
for static linking only on your machine, you have |
424 |
|
|
3 options: |
425 |
|
|
|
426 |
|
|
(1) if it's your own machine, recompile TCL using |
427 |
|
|
dynamic linking by using './configure |
428 |
|
|
--enable-shared' when you configure TCL (not the |
429 |
|
|
bot) and then remake, & reinstall |
430 |
|
|
(2) if it's not you machine, you make have to |
431 |
|
|
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 |
438 |
|
|
|
439 |
|
|
Eggdrop has become more stable with time, thanks mostly to |
440 |
|
|
people reporting bug details and helping find places where |
441 |
|
|
it crashes. However, there are still a -few- places where |
442 |
|
|
things aren't perfect. Few if any things in life are. |
443 |
|
|
|
444 |
|
|
Also, most systems go down from time to time. These things |
445 |
|
|
cause your bot to disappear from IRC, and you have to |
446 |
|
|
restart it. |
447 |
|
|
|
448 |
|
|
The eggdrop source file includes a csh script called |
449 |
|
|
'botchk' that will help keep the bot online. It will make |
450 |
|
|
the machine check every ten minutes to make sure your bot is |
451 |
|
|
still running. To use it, you have to add a line to your |
452 |
|
|
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 |
457 |
|
|
|
458 |
|
|
If you don't want to get emails from cron, put this: |
459 |
|
|
|
460 |
|
|
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 |
463 |
|
|
for botchk. If you've never used crontab before, here is a |
464 |
|
|
simple way to add that line: Create a new file called |
465 |
|
|
'mycron' and put the above line into it. Then, from your |
466 |
|
|
shell prompt, type % crontab mycron That will create a new |
467 |
|
|
crontab entry for you, with a line that runs botchk every |
468 |
|
|
ten minutes. Botchk will then restart the bot when necessary |
469 |
|
|
(and send you email informing you). |
470 |
|
|
|
471 |
|
|
(6a) SETTING UP A CRONTAB USING AUTOBOTCHK |
472 |
|
|
|
473 |
|
|
Included with your eggdrop is an eggdrop utility called |
474 |
|
|
'autobotchk'. Using autobotchk is probably the fastest way |
475 |
|
|
of creating your botchk and crontabbing it with just a few |
476 |
|
|
required steps. |
477 |
|
|
|
478 |
|
|
To crontab your bot follow the following steps: |
479 |
|
|
|
480 |
|
|
(1) type 'cp scripts/autobotchk ..' |
481 |
|
|
(2) type './autobotchk <eggdrop config file>' |
482 |
|
|
|
483 |
|
|
This will hopefully crontab your bot using the default |
484 |
|
|
setup. If you want a list of autobotchk options, type |
485 |
|
|
'./autobotchk'. An example with options would be: |
486 |
|
|
|
487 |
fabian |
1.9 |
./autobotchk <eggdrop config file> -noemail -5 |
488 |
fabian |
1.7 |
|
489 |
|
|
This would setup crontab to run the botchk every 5 minutes |
490 |
|
|
and also to not send you e-mail saying that it restarted |
491 |
|
|
your bot. |
492 |
|
|
|
493 |
|
|
(7) BORING LEGAL STUFF |
494 |
|
|
|
495 |
|
|
The eggdrop bot is copyright © by Robey Pointer. As of |
496 |
|
|
January 1997, eggdrop is distributed according to the GNU |
497 |
|
|
General Public License. There should be a copy of this |
498 |
|
|
license in the file COPYING. If not, write to the Free |
499 |
|
|
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA |
500 |
|
|
02139, USA. |
501 |
|
|
|
502 |
|
|
As of eggdrop1.3.28 all changes made by the Eggheads |
503 |
|
|
development team to the eggdrop source code and any related |
504 |
|
|
files are copyright © by Eggheads. The source code will |
505 |
|
|
still be distributed according to the GNU General Public |
506 |
|
|
License as Robey Pointer did in the past. |
507 |
|
|
|
508 |
|
|
Releases previous to 1.0m were made using a different |
509 |
|
|
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. |
514 |
|
|
|
515 |
|
|
The files "match.c", "net.c", and "blowfish.c" are exempt |
516 |
|
|
from the above restrictions. "match.c" is original code by |
517 |
|
|
Chris Fuller (email: crf@cfox.bchs.uh.edu) and has been |
518 |
|
|
placed by him into the public domain. "net.c" is by me and I |
519 |
|
|
[who?] also choose to place it in the public domain. |
520 |
|
|
"blowfish.c" is by various sources and is in the public |
521 |
|
|
domain. All 3 files contain useful functions that could |
522 |
|
|
easily be ported to other applications -- the other parts of |
523 |
|
|
the bot generally don't. |
524 |
|
|
|
525 |
|
|
Tcl is by John Ousterhout and is in no way affiliated with |
526 |
|
|
eggdrop, and likely has its own set of copyrights and |
527 |
|
|
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. |
534 |
|
|
|
535 |
|
|
(8) MAILING LIST |
536 |
|
|
|
537 |
|
|
There are currently a couple of mailing lists about eggdrop. |
538 |
|
|
eggheads@eggdheads.org is the one relevant for posts about |
539 |
|
|
eggdrop 1.4 & 1.5 (and bug fixes, and suggestions, etc). |
540 |
|
|
|
541 |
|
|
To subscribe to the eggheads mailing list, send email to: |
542 |
|
|
eggheads-request@eggheads.org In the body of the message, |
543 |
|
|
put "subscribe eggheads"; or go to |
544 |
|
|
http://scrambled.eggheads.org/mailman/listinfo/eggheads |
545 |
|
|
|
546 |
|
|
### DO NOT SEND ROBEY EMAIL ABOUT EGGDROP ### |
547 |
|
|
|
548 |
|
|
Robey is no longer developing the eggdrop code (although he |
549 |
|
|
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." |
569 |
|
|
"How do I telnet my bot?" |
570 |
|
|
"Where do I get eggdrop for windows??????" |
571 |
|
|
etc.. |
572 |
|
|
|
573 |
|
|
Bug reports, technical questions, your thoughts or |
574 |
|
|
suggestions on new features being added to Eggdrop, things |
575 |
|
|
that should be removed or fixed, amazing problems that even |
576 |
|
|
stump the guru's, etc... are what we want to see here. |
577 |
|
|
|
578 |
|
|
(9) DOCUMENTATION |
579 |
|
|
|
580 |
|
|
We're trying to keep the documentation up to date. If you |
581 |
|
|
feel that anything is missing here, or that anything should |
582 |
|
|
be added etc, please email eggheads@eggheads.org about it, |
583 |
|
|
thank you. |
584 |
|
|
|
585 |
|
|
(10) OBTAINING HELP |
586 |
|
|
|
587 |
|
|
There is currently no uniform channel in existence to |
588 |
|
|
support eggdrop. At one time, such channels did exist, but |
589 |
|
|
they most often deteriorate into a vanity channel, where no |
590 |
|
|
one is willing to help. |
591 |
|
|
|
592 |
|
|
However, we'll list a few places here where you *might* get |
593 |
|
|
help. Note though that we are not responsible for those |
594 |
|
|
channels, or necessarily run those channels ourselves. |
595 |
|
|
|
596 |
johoho |
1.8 |
Undernet - #eggdrop |
597 |
|
|
EFNet - #eggheads, #eggtcl |
598 |
|
|
IRCNet - #eggdrop, #bothelp |
599 |
|
|
|
600 |
|
|
However, if you are going to ask some questions there, we can give |
601 |
|
|
you some important advices: |
602 |
|
|
- don't ask if you may ask or anyone awake, just ask and wait |
603 |
|
|
- don't msg people without their agreement, if they know help and |
604 |
|
|
have time, they will answer. |
605 |
|
|
- don't repeat yourself. This will result in being kicked |
606 |
|
|
- don't use !!, colours or only CAPITAL letters. |
607 |
fabian |
1.7 |
|
608 |
|
|
If there are any serious places that should be added, let us |
609 |
|
|
know. |
610 |
|
|
|
611 |
|
|
------------------------------------------------------------------------ |
612 |
|
|
(c) 1997 Robey Pointer |
613 |
|
|
(c) 2000 Eggheads Development Team |