* I get ‘ld-elf.so.1: Shared object ‘libtcl84.so.1’ not found or
‘error in loading shared libraries libtcl8.4.so: cannot open shared
object file: No such file or directory’ while starting the bot (or
similar error):

It looks that bot was compiled with one Tcl version and tries to load
another. Maybe administrator upgraded Tcl and didn’t tell you. You need
to recompile bot.

Maybe while administator upgrading Tcl, he/she forgot to clean the old
version of Tcl or installed it into another directory. Tell your admin
about that :)

You might also try:
./configure –with-tcllib= –with-tclinc=

For example:
./configure –with-tcllib=/usr/local/tcl8.4.6/lib/libtcl.so

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 ;)

* Installing Tcl in home directory:

Download the newest version of tcl (check links section), then unpack
and go to unix/ directory. Configure, compile and install Tcl in
your home directory in tcl directory (if you’re using bash you can
use $HOME variable):
./configure –prefix=$HOME/tcl
make install
Now you should have Tcl libraries and tclsh in $HOME/tcl directory.
Add $HOME/tcl/bin to your PATH variable (in bash:
export PATH=”$PATH:$HOME/tcl/bin”) and LD_LIBRARY_PATH to $HOME/tcl/lib
(in bash: export LD_LIBRARY_PATH=”$HOME/tcl/lib”).
NOTE: You should add your new PATH and LD_LIBRARY_PATH to shell
startup files (~/.bashrc in bash).
Bot should now compile and start without problems.
NOTE: If you installed Tcl in diffrent directory than: $HOME/tcl add
–with-tclinc=/path/to/tcl.h –with-tcllib=/path/to/libtcl.so
(or similar), For example:

* +user – i can’t add new user(s)
You have to be admin, permowner or adder. First two have to be set
before compilation in src/main.c (‘char admin[121]’ and
‘char owner[121]’), third is an user with +r flag. Flag can only be
added by admin or permowner.

* Kick reasons – how to change?
It’s preety simple. Before compilation open modules/irc.mod/chaos.c in
editor and find ‘static const char *kreasons[]’. Below you’ve got all
my reasons, which you can change or remove (leave at least one: ‘””,’).
If you also want to change ‘Evangeline’ string added before kick reason
find and change it in line with ‘char outputr[120]’.

* How can i load my TCL scripts?
There are 2 methods to load user TCL scripts. Both must be enabled
before compilation in src/main.c:
– open src/main.c and find ‘char Tcl2Load[512]’ and add path to
your tcl script, for example:
char Tcl2Load[512] = “scripts/mc.limit.tcl scripts/blah.tcl”
(scripts/ directory must be created by user).
You cannot change (add or remove) loaded scripts after compilation.
Every bot started from that directory will load same TCL scripts.
– open src/main.c and find ‘char Tcl2Load[512] = “”;’. Put ‘//’ at
the same beggining of that line, then find ‘//char Tcl2Load[121]’
and remove ‘//’ from that line. This will enable loader. loader.tcl
is available in .data/.scripts/ directory. This file is very easy to

array set Tcl2Load {
ipv4 “scripts/tcl1.tcl scripts/tcl2.tcl”
ipv6 “scripts/tcl2.tcl”
bnc “scripts/tcl3.tcl .data/.scripts/tcl55.tcl”
} ;# Tcl2Load

For example, if you want bot with ‘mybot’ as botnet-nick to
load ‘scripts/mc.limit.tcl’ just add:

array set Tcl2Load {
ipv4 “scripts/tcl1.tcl scripts/tcl2.tcl”
ipv6 “scripts/tcl2.tcl”
bnc “scripts/tcl3.tcl .data/.scripts/tcl55.tcl”
mybot “scripts/mc.limit.tcl”
} ;# Tcl2Load

* Problems with starting fresh bot, segmentation fault.
If you see a message like:

* Last context: tclhash.c/215 []
* Please REPORT this BUG!
* Check doc/BUG-REPORT on how to do so.
* Wrote DEBUG
Segmentation fault (core dumped)
You can try to replace binary/tbcload.so file with 1.4 version
(or 1.3 version if it won’t help). If you still have that error
you can try to compile tbcload 1.4 on that account.

Precompiled tbcload libraries can be found here:
http://www.averse.piasta.pl/list/ in libs/tbcload directory
Tbcload 1.4 source code can be found here:
(compile it and copy libtbcload1.4.so to binary/tbcload.so)
* My bot QUIT irc with reason: ‘Segmentation fault!’:
Probably you found a bug. Make sure your bot dumped core file
(file should be named core, core.PIDNUMBER or evangeline-VERSION.core).
Load core file using gdb debugger (gdb ./evangeline core) and type
‘bt’. Post whole info at forum (www.averse.piasta.pl/forums). Logs
and/or some explanation what happend before bot crashed is also welcomed.

* Non-working botnet – Linked bots don’t respond as “botnet”
To use commands like .mjoin, .enforce (.netchanset) you have to
compile 2 packages: msa (main/slave/alt hubs) and normal (v4/v6/bnc).
Bots from msa package doesn’t connect to irc (there is no need to) but
contains all useful commands and options to manage whole botnet.
Bots from normal package work as normal bots connectiong to irc and
operating there. They have to be linked to bot from msa package.

* Failed connection; aborted userfile transfer
This annoying problem depends on server. If you’ve got something like
this, add to you hub config file ‘my-ip “ip_address”‘ and eventually
‘my-hostname “hostname_for_above_ip”‘. This should help.
If this won’t help it mean that you probably have firewall instaled
(on server) you can try to change reserved-portrange to open ports
range (for example to: reserved-portrange “6000:7000”). Those ports
should be opened on firewall.
* Upgrade from previous versions:

– AversE:

*NOTE:* If you’ve got AversE v1.7 or earlier, you have to add
‘-telnet!*@*’ mask to one of your users (should be your handle).
*NOTE:* If you’ve got AversE v1.8-1.8.2 you can’t do an upgrade.
*NOTE:* If you’ve got AversE v1.8.6 you don’t have to modify
userfile. Just move/copy userfile and chanfile to
.data/.bdata and start Evangeline with ‘-u’ param
(only v4/v6/bnc). If you want to import userfile on hub
copy AversE userfile to evangeline-msa/ and type
‘.import filename.uf’.

– Evangeline:
*NOTE:* If you’re updating from Evangeline 0.9 or 1.0 older than
RC3 try to export old userfile by using ‘.export’ command
(or .mexport). Compile and start newly compiled bot and use
‘.import’ command.
*NOTE:* If you’re updating from Evangeline 1.0 RC3 or newest and you
compiled bot will ‘–custom-key’ just unpack new version to same
directory and recompile it (./configure –custom-key;make) with
same encryption key. If you used generated encryption key you must
export current userfile (.export/.mexport) and then import
userfile on newly compiled bot (.import).

Leave a Reply

Your email address will not be published. Required fields are marked *