| Current Path : /home/mudbot/eggdrop/doc/ |
| Current File : //home/mudbot/eggdrop/doc/FAQ |
FREQUENTLY ASKED QUESTIONS
(a.k.a. Why doesn't this thing work?!")
WHAT DO I DO IF I GET THE ERROR "USER FILE NOT FOUND"?
1. Run Eggdrop with the "-m" option (i.e. "eggdrop -m eggdrop.conf").
2. Go to IRC and send "hello" to your bot (i.e. "/msg mybot hello").
3. You will become an owner on your bot. You can leave the bot
running (nobody else will become an owner if they say "hello"),
but in the future, don't use the "-m" option when running the bot.
WHAT THE HECK IS Tcl?
Tcl is a scripting language written by John Ousterhout. It's much
better than most "built-in" script languages (like the one in ircII)
and is meant to be linked with anything needing a scripting language,
so I linked it with Eggdrop. The file "tcl-commands.doc" in the doc
directory contains a list of additional Tcl commands provided by
Eggdrop. There are also several example scripts in the scripts/
directory, and one in the doc directory called first_script.txt.
Hundreds of scripts floating around on the ftp/web sites if you like
working by example (which is typically the best way).
MY BOT DIES, AND THE LAST ENTRY IN THE LOGFILE IS "RECEIVED TERMINATE
SIGNAL". WHAT DOES THAT MEAN, AND CAN I PREVENT IT?
There's nothing you can do to prevent it. It means the system
administrator is killing the Eggdrop process. Most of the time, it's
an automatic thing that happens when the system is being rebooted, so
it's harmless. If you have a crontab running, the bot will get
restarted when the system is back online. Occasionally, the system
administrator will kill the bot manually. For example, if he/she
doesn't want bots running on the system.
SOMEONE ELSE SET UP A BOT I DON'T LIKE. ARE THERE ANY BACKDOORS I CAN
USE TO TAKE THEIR BOT DOWN?
No, there have never been any backdoors and there never will be, so
please stop asking. Every once in a while, someone finds a way to
exploit a bug in Eggdrop, but we fix these bugs as soon as we find out
about them. If you want to bring down someone else's bot, you will not
have my/our help.
WHAT ARE MODULES?
Modules are a way of adding extra features to the bot, much like Tcl
scripts, without requiring the bot to be recompiled. See doc/MODULES
for more information.
CAN I COMPILE EGGDROP WITHOUT DYNAMIC MODULES?
Yes, you can. If the configure script detects that your system CAN'T
run modules, it will setup 'make' to link the modules in statically
for you. You can choose this option yourself by using 'make static'.
You can also try to compile dynamic modules on a static-only system by
using 'make eggdrop'.
DO I STILL NEED TO 'loadmodule' MODULES?
YES, when you compile statically, all the modules are linked into the
main executable. HOWEVER, they are not enabled until you use
loadmodule to enable them, hence you get nearly the same functionality
with static modules as with dynamic modules.
WHERE CAN I GET A PRE-COMPILED EGGDROP FOR MY COMPUTER?
It is HIGHLY recommended AGAINST using pre-compiled Eggdrops from
un-trusted sources. Eggdrop has been a regular target for hacking and
crashing. Distribution of pre-compiled (binary) versions of Eggdrop
are the easiest way for hackers to provide you with the easiest (and
most dangerous) way of gaining access to, not only your bot, but to
your computer account directly. Don't advertise your pre-compiled
Eggdrop binary sites on the Eggdrop list either. =P
I GET 'Makefile:3 :invalid operator' OR SOME-SUCH-THING WHEN I TRY TO
'make'.
Try 'gmake'.
WHEN I 'tclsh scripts/weed <userfile> c' IT BARFS CHUNKS AT ME AND DIES.
:(
Upgrade your Tcl. You are probably using Tcl 7.5 or earlier. Some of
the commands in weed require Tcl7.6 to run, so either upgrade it or
remove the offending lines from you userfile manually (those starting
with '.' generally) and accept the loss of that data.
I GET "ld-elf.so.1: Shared object "libtcl80.so.1" not found" or
"eggdrop: error in loading shared libraries libtcl8.1.so:
cannot open shared object file: No such file or directory" WHEN I TRY TO
START MY BOT.
'./configure' is looking in the wrong place for Tcl; it looks like it
compiled with one version of Tcl and tries to load another. Maybe your
sysadmin upgraded Tcl and didn't tell you. In that case, you should
just need to recompile your bot.
Maybe, when upgrading, he didn't clean the old version of Tcl and
'./configure' is looking for the files in the wrong places, or trying
to use different versions of tcl.h and libtcl*. Smack your admin and
have him install Tcl properly. ;)
You can also try:
./configure --with-tcllib=<path-to-tcl-lib>
--with-tclinc=<path-to-tcl-inc>
This will tell configure where to look for the Tcl files.
Try looking for libtcl by:
ls /usr/lib/libtcl*
ls /usr/local/lib/libtcl*
Try looking for tcl.h by:
ls /usr/include/tcl.h
ls /usr/local/include/tcl.h
If everything else fails, try to install Tcl to your home dir ;)
(Suggested by dw@Undernet, dw@lixom.nu)
I GET A WHOLE PILE OF "Unresolved symbol 'Tcl_AppendResult'" (OR SOME
OTHER SYMBOL) WHEN I TRY TO LOAD A MODULES.
POSSIBILITY A: See previous section.
POSSIBILITY B:
Some of the standard libraries have been compiled for static linking
only on your machine, you have 3 options:
1. If it's your own machine, recompile Tcl using dynamic linking
by using './configure --enable-shared' when you configure Tcl
(not the bot) and then remake, and reinstall.
2. If it's not your machine, you may have to resort to 'make
static' and 'make install DEST="path"' to make and install
your bot.
3. If you are of a more aggressive sense of mind, go beat the
stuffing out of your admin for having lame static libraries.
:)