1# $Id: Readme.en,v 1.1.2 2005/06/02 18:58:23 Arcain Exp $ 2____________________________________________________________________________ 3 4--------------------------------- Readme ----------------------------------- 5 Please at least SKIM this document before asking questions. In fact, 6 READ IT if you have never succesfully set up an Eggdrop or any other bot 7 based on Eggdrop. 8 9 (!) Contents: 10 1. Info - basic info about product 11 2. Requirements - you know what 12 3. Features - list of options 13 4. Install - how to install & configure the bot 14 5. Basic configuration - continuation and some info about features 15 6. Commands - list of most commands available on hubs 16 7. Channel settings - list and description of available chansets. 17 8. Linking bots - how to make a botnet ;) 18 9. Frequently Asked Questions (FAQ) - READ IT 19 10. Help - short info about places where you should look for help 20 11. Links - all major links 21 12. About - something about me 22 13. Greets - don't ask ;) 23 24---------------------------------------------------------------------------- 25 26------------------------------ Explanation --------------------------------- 27 28 I'll explain the meaning of some shortcuts and phrases i used in this 29 document. 30 31 * Shortcuts: 32 - bot - robot, program which automatically do certain actions ;) 33 - op - operator, user with the highest "access" on channel, 34 marked with @. Also known as 'giving op status' 35 - deop - 'taking op status' 36 - voice - user who can talk on channel while it's moderated, 37 marked with + 38 - chanset - channel setting (on bot) 39 - chanmode - channel modes (like +nts, +b, +o, +v, +I, +e) 40 - flag - userflag or botflag on bot, like +mnopvga... 41 - host - hostname, address set when user connect to IRC server 42 - mass - command or action which affect on more than 1 bot or 43 user on channel. 44 45 Expect more soon.... ;) 46---------------------------------------------------------------------------- 47 48 49(1) Info: 50 Evangeline is an Internet Relay Chat (IRC) Bot based on Eggdrop. 51 It's made for IRCnet network and most changes are done to make the 52 best of it there. Bot might work correctly on other networks but you 53 should expect some problems like non-fully working kicks on QuakeNET. 54 Evangeline can be simply extended with modules (Eggdrop's modules with 55 some modifications) and TCL scripts. 56 57(2) Requirements: 58 * Unix/Cygwin account with about 7 MB of disk space. 59 * TCL 8.2+ (8.4.6 is recommended). 60 * Basic acquaintance of english language. 61 * Some knowledge about IRC and Unix. 62 63(3) Features: 64 Many of those features exist in other bots (ex.: AversE, VoiD), but some 65 are unique or not published before now. 66 67 * Encrypted userfile - userfile is encrypted and decrypted in memory 68 without using temporary files. Key isn't stored/included in binary, 69 so 'strings binary' won't be usefull any longer to find encryption 70 key. 71 72 * Admin - user compiled in binary, who has an unlimited access to the 73 bot and its commands. He can remove permowners, change their flags, 74 hosts etc. Should be only *ONE*. 75 [ Original in Cub3 ] 76 77 * Permowners - users compiled in binary, who has almost unlimited 78 access to the bot (they cannot modify other permowners or admin). 79 80 * Adder - new userflag (+r). Users with this flag can add new users 81 without being permowner. Flag can be added/removed only by permowner 82 or admin. 83 84 * Sharing - bots accept only changes done on bot with +p botflag 85 (main/slave/alt hub). 86 87 * Irc actions - bot kick instead of deop. On IRCNet it works 88 much better. Evangeline can also kick up to 6 users at once (in defense 89 mode and in lame takeover mode) and op up to 5 users at once 90 (getops and lame takeover mode). 91 92 * Encrypted share - shared userfile is sent in encrypted form if bot that 93 downloads it supports this feature. 94 95 * Userfile compression - userfile is sent throught botnet in compressed 96 form. Compression is done by zlib (gzip). 97 98 * Channels transfer at first link - channels list on hub is sent from hub 99 to bot (slave/leaf) at first link. You shouldn't notice problems 100 with missing userflag on some channels anymore ;) 101 102 * Compressed files - userfile, chanfile and 'yesterday's' logs are stored 103 in compressed form. 104 105 * Syspass - optional password protection for some commands (mass and 106 '.die', '.restart', '.rehash' at hubs) 107 [ dafcio's idea ;) ] 108 109 * AddBot - nice script/sytem which helps adding bots without even 110 logging in on them. Everything is done by one command on main hub. 111 [ Original script exists in AmenO ] 112 113 * Presets - a package of chansets automatically updated (every 60 minutes 114 and/or if some bot will link/disconnect from botnet) and set in proper 115 percentages. 116 117 * Maxbots - maximum number of bots on channel checked and eventually 118 updated every 10 minutes and in case of some problems on channel 119 (massjoin). 120 121 * Compatibility - bot can link with many other Eggdrop modification. 122 Can share userfile with: AmenO, aCo, AversE, Bear, BloW, cNs, Cub3, 123 Detox, DiVERSE, Eggdrop v1.4+, GTT, LeppeR, RaviS, RulF, Suid, VoiD, 124 VoLron, vOlRoN, X-Men. 125 Cannot share userfile with: VoiD4, NnO, Shark2. 126 127 * BotNetOP - included getops is fast enough to work without +autoop 128 chanset or +a flag. It makes botnet opping more secure (no/less spoof 129 possibility). 130 131 * Flood - bot have has lame flood options, like: msg, ctcp, invite etc... 132 [ Someone can tell me why I left it here? ] 133 134 * Servers randomiser - every time when bot start/restart servers list is 135 randomised. It prevents (partially) loosing channels on splits while 136 whole botnet is on the same server. 137 138 * Mainserver - bot tries to keep desired irc server. If server will goes 139 down, bot connects to next server and after some time tryes to switch 140 back (if more than 6 bots with op is on channel(s)). 141 142 * Autolimit - new channel setting. With '+alimit' enabled, bot 143 automatically modify channel limit depends of actual number of users on 144 the channel. Channel limit is checked every minute. Alimit settings can 145 be modified via '.chanset' command (ex.: .chanset #chan limits 10:7:1). 146 [ Should be turned on only on *ONE* bot for one channel. ] 147 148 * Hub notices - leafs inform hub about some things, like actions on channel, 149 connect/disconnect/k-line/restrict on server, netsplit etc. 150 151(4) Install: 152 * Unpack file (tar zxf filename.tar.gz) 153 154 * NOTE: Next step can be also done from configure script. Just go to next 155 step and hit 'enter' or 'y' while configure script ask to 156 'add admin/permwoner(s)', then answer to next 2 questions. 157 158 * Open 'src/main.c' and find 159 'char admin[121]' - put there *ONE* handle of user which can do 160 everything on the botnet. 161 'char owner[121]' - put there handle(s) of permowners. 162 163 * In bot's root directory type './configure' (bot might ask you some 164 questions). After configure script finishes his job type 'make' or 165 'make static' and wait... 166 167 INFO: To enable IPv6 support, you have to add --enable-ipv6 to 'configure' 168 (ex.: ./configure --enable-ipv6) 169 170 INFO: You might disable userfile encryption, just add --disable-crypt to 171 'configure' (ex.: ./configure --disable-crypt) 172 173 INFO: You can use custom key to encrypt userfile, just add --custom-key 174 to 'configure' and enter key, when script will ask for it. 175 (ex.: ./configure --custom-key, wait a while... , 176 'Enter your encryption key: my_encryption_key') 177 I suggest to use that feature, it makes bots update really easy. 178 179 * Make your config: 180 181 *WIZARD* 182 You can also tune config after 'wizard' create it. 183 NOTE: If you are using Putty (and maybe other clients) to connect to 184 the shell you should beware what are you typing (backspace can be 185 recognized as '' and that characters will exist in config if 186 you use it) 187 188 *NORMAL* 189 190 -IPv4: 191 Start ./starter --new botnet-nick 192 Enter 'y' when scripts ask you to create new config, then type 193 'ipv4' and ask next questions. Remember that 'botnet-nick' is also 194 config file name. 195 196 -IPv6: 197 Start ./starter --new botnet-nick 198 Enter 'y' when scripts ask you to create new config, then type 199 'ipv6' and ask next questions. Remember that 'botnet-nick' is also 200 config file name. 201 202 -BNC: 203 Start ./starter --new botnet-nick 204 Enter 'y' when scripts ask you to create new config, then type 205 'ipv6' and ask next questions. Remember that 'botnet-nick' is also 206 config file name. 207 208 *HUBS* 209 210 -Main: 211 Start ./starter --new botnet-nick 212 Enter 'y' when scripts ask you to create new config, then type 213 'main' and ask next questions. Remember that 'botnet-nick' is also 214 config file name. 215 216 -Slave: 217 Start ./starter --new botnet-nick 218 Enter 'y' when scripts ask you to create new config, then type 219 'slave' and ask next questions. Remember that 'botnet-nick' is 220 also config file name. 221 222 -Alt: 223 Start ./starter --new botnet-nick 224 Enter 'y' when scripts ask you to create new config, then type 225 'alt' and ask next questions. Remember that 'botnet-nick' is also 226 config file name. 227 228 *MANUALLY* 229 230 *HUBS* 231 232 - Main/Slave/Alt 233 nick "nickname in botnet" 234 botnet-nick "nickname in botnet" 235 bots-listenport "port for bot connections" 236 users-listenport "port for users connections" 237 my-ip "ipv4_address on which bot should listen" 238 reserved-portrange "6000:7000" - if you have problem with userfile 239 sharing you can change it. 240 party(plpass) "enter encrypted password. If you leave it blank 241 party-line password will be disabled". Password can 242 be also set via '.bpass' command on hub. 243 party(syspass) "enter encrypted password. If You leave it blank 244 syspass for 'mass' commands will be disabled". 245 Password can be also set via '.bpass' command on hub. 246 NOTE: Passwords (party-line and syspass) can be also set via 247 '.bpass' command from bot. 248 249 - Main: 250 mainip "enter ip of your server here (must be same as in my-ip)" 251 252 - Alt: 253 ismalt 'set this to 1 if you wish alt hub to work as main hub' 254 issalt 'set this to 1 if you wish alt hub to work as slave hub' 255 256 *NORMAL* 257 258 - IPv4/IPv6/BNC: 259 nick "nickname on irc" 260 altnick "alternative nickname (if primary will be unavailable)" 261 botnet-nick "if you use $nick with weird characters like: 262 '[', '|', enter here nickname without those 263 characters (better botnet managament)" 264 realname "realname on irc, anything you want" 265 username "bot ident (usefull if there is no oident or when 266 connecting through psyBNC)" 267 listenport 9999 'change 9999 to your port' 268 ircserver { servers list } 269 my-ip "fill this if you want to use vhosts" 270 my-hostname "fill this if you want to use vhosts" 271 firewall "enter host:port of proxy if you are behind 272 firewall/proxy" 273 Set to "Chostname:port" for HTTP CONNECT proxy or 274 "Phostname:port" for HTTP POST proxy. 275 nat-ip "external ip adress if you use above" 276 reserved-portrange "6000:7000" - if you have problem with userfile 277 sharing you can change it. 278 use-gseen 'set this to 1 if you compiled bot with gseen module 279 and you wish to use this module' 280 use-stats 'set this to 1 if you compiled bot with stats module 281 and you wish to use this module' 282 283 - IPv6: 284 use-ipv6 1 'if you wish to use ipv6 set this to 1' 285 my-ip "enter here IP in format: 127.0.0.1 (this is 286 only example)" 287 my-ip6 "enter here IP in format: 3ffe:80ee:419:0:0:0:0:1 (this is 288 only example)" 289 my-hostname6 "enter here IP in format: 3ffe:80ee:419:0:0:0:0:1 290 (this is only example)" 291 292 - BNC: 293 use-bnc 1 'set this to 1 if you wish to use normal BNC' 294 use-psyBNC 0 'set this to 1 if you wish to use psyBNC. Other 295 settings have to be 0' 296 use-ezBOUNCE 0 'set this to 1 if you wish to use ezBOUNCE. Other 297 settings have to be 0' 298 servers "enter bnc address in format: host/ip:port" 299 bnc-pass "password to bnc" 300 bnc-host "vhost which bot should use to connect to irc throught 301 bnc" 302 ircservers "irc servers list from which bot randomly choose one" 303 iserv-port "port of irc server bot is connecting to" 304 305 - SETTINGS (file in cfg/ directory): 306 use-mainserver 0 'set this to 1 if you wish to use mainserver 307 option' 308 ms(mserver) { enter master server connect } 309 ms(chktime) 120 'time in minutes after bot will try to connect 310 again to master server if actually is connected 311 to another' 312 ms(tryagain) 360 'time in minutes after bot will try to connect 313 again to master server if previous attempt 314 wasn't succesfull' 315 eva(ctcp) '0' - off, '1' - random', 2 - custom, 9 - Evangeline ;) 316 eva(rlist) { } 'leave blank' 317 lappend eva(rlist) "--=\[Evangeline\]==--" 'if you wish to use more 318 reasons for TCL actions 319 add new lines just like 320 in original file' 321 reason(alimit) "reason, which should be used if user without proper 322 flags change or remove limit" 323 324 * Ok, you have configured your bot, now start it using command: 325 ./starter --new botnet-nick (only if you created config file using 326 *WIZARD*) 327 or 328 ./evangeline -m cfg/config (-m parameter won't be needed next time) 329 330 * Log in: 331 telnet localhost usersport (set in config, ex.: 'users-listenport 9999' 332 or 'listenport 9999') 333 334 *NOTE:* If your bot uses vhosts, then use ip/hostname for that vhost 335 to connect to bot (ex. using Putty). Also remember about it 336 while adding bots. 337 338 Type: 'averse-' or '-eva-' 339 When bot ask you for nickname, type yours (use one which you entered 340 in 'main.c') 341 After that set your password. If bot won't ask you about party-line 342 password (only on main/slave/alt), then you are on the bot, otherwise 343 type party-line password (main/slave/alt). 344 345 You can now start enjoying bot. First command which I recommend is: 346 '.save' 347 348(5) Basic configuration: 349 350 * Crontab: 351 352 If you used config wizard to create config you can simply type 353 ./starter --cron botnet-nick 354 and your bot will be added to crontab (you need to have proper 355 permissions for crontab) 356 357 * Presets: 358 359 Presets are a pack of channel settings optimized every 60 minutes 360 and/or if some bot will link or disconnect from botnet. There are 3 361 presets available right now: 362 363 * defense: 364 +defense on all bots for channel. 365 +dkopper on 1/3 bots for channel (6kick in defense mode). 366 +fastop on 2/3 of all channel bots'. 367 +enforcebans on 1/2 of +fastop bots. 368 +alimit on *ONE* bot (if enabled on hub). 369 370 * freeop: 371 -defense on all bots for channel. 372 +enforcebans on 1/2 of all bots for channel. 373 +alimit on *ONE* bot (if enabled on hub). 374 375 * off: 376 presets are disabled, channel settings can be set via 377 .enforce or .rchanset setting. Only +alimit is set 378 on *ONE* bot (if enabled on hub). 379 380 Presets can be changed by .preset command (available for bot admin). 381 Example: .preset #test freeop 382 383 * Maxbots: 384 385 Additional 'preset' which defines how many bots should stay on channel. 386 Bot count is checked every 10 minutes and in case of join flood. 387 Example: .preset #test maxbots 5 - after a while you should see only 5 388 bots on #test. If some of them will go down new bot(s) (if available) 389 will join #test. 390 391 * Autolimit: 392 393 Autolimit ('+alimit' channel settting) force bots too keep and 394 update channel limit depends on users count on channel. Autolimit 395 setting can be changed via .enforce or .chanset commands, for 396 example: .enforce #test limits 10:5:0 397 10 - added to current limit while new limit is set. 398 5 - diffrence between current limit and user count on channel. 399 0 - Change limit on join/part (0 - disabled, 1 - enabled). 400 Autolimit kick reason can be changed by adding this line to config file: 401 reason(alimit) "my custom alimit kick reason" 402 403 * Syspass and hubpass: 404 405 Syspass is a system password which protects all *mass* commands and 406 '.die', '.restart', '.rehash' (and also few others) for non-authorized 407 users. If you see a message like: 'Evangeline: No authorization', it 408 means that syspass is set and users have to authorize to user that 409 commands. To authorize you must use '.syspass <password>' command. 410 411 Hubpass is a password required to enter party-line. If you see a message 412 like: 'Welcome, please enter the partyline password:' it means that 413 hubpass is set and you have to enter those password to join party-line. 414 415 Both passwords can be set and disabled on party-line by bot admin via 416 '.bpass' command. 417 Example: .bpass -syspass set encore - will set word 'encore' as syspass. 418 .bpass -hubpass set encore - will set word 'encore' as hubpass. 419 .bpass -syspass off - will disable syspass. 420 .bpass -hubpass off - will disable hubpass. 421 422 * Hub notices: 423 424 Other bots can inform hub about important (in my oppinion) events. 425 deops, kicks, mode changes (by non-owner), netsplits, limit or ban 426 override, diverse-flood, reop mode changes, channel without opped 427 bots... 428 It can also send info when connected, disconnected, k-lined or 429 non-authorized on server and many many more ;) 430 To see all those messages you have to add +m (msg) flag to your 431 console: '.console +m' 432 433(6) Commands: 434 435 *HUBS* 436 437 -Main/Alt main: (some of them work also on Slave and Alt slave) 438 439 (+m) .+channel <channel> - add new <channel> (only on that bot) 440 Example: .+channel #test 441 (+m) .+mhost <user> <host1> [host2] [...] - add multiple hosts to 442 <handle>. 443 Example: .+mhost KrzychuG *!blah@blah.net *!bubu@a.com *!wrr@z.net 444 (+m) .-channel <channel> - remove a <channel> (only on that bot) 445 Example: .-channel #test 446 (+m) .-mhost <user> <host1> [host2] [...] - remove multiple hosts to 447 <handle>. 448 Example: .-mhost KrzychuG *!blah@blah.net *!bubu@a.com *!wrr@z.net 449 (+n) .aa <name> <ip/host> <bots port> <users port> [hubpass] - add alt 450 hub with <name> on <ip/hostname>, <bots port> and <users port> 451 and [hubpass] if set on alt. 452 Example: .aa alt1 192.168.0.1 34010 34011 453 (+n) .ab <name> <ircname> <ident> <hostname> <ip/host> <port> 454 [-slave <nick>] [ipv6hosts] - add new leaf, where <name> is nick 455 in botnet, <ircname> is nick on irc, <ident> is ident on irc, 456 <hostname> is hostname on irc, <ip/host> is ip address needed to 457 link to botnet, <port> is bot listenport, [-slave <nick>] is slave 458 nickname if you want to link bot to slave, [ipv6host] is an 459 addidional IPv6 hostname. 460 Example: .ab blah blah krzychug blah.net 192.168.0.1 9999 -slave sl1 461 (+n) .abstop - clear addbot variables if something went bad (some errors 462 like 'invalid idx' and such things) 463 Example: .abstop 464 (+n) .addeggdrop <name> <ircname> <ident> <hostname> <ip/host> <port> 465 [-slave <nick>] [ipv6hosts] - add new eggdrop leaf, where <name> 466 is nick in botnet, <ircname> is nick on irc, <ident> is ident on 467 irc, <hostname> is hostname on irc, <ip/host> is ip address needed 468 to link to botnet, <port> is bot listenport, [-slave <nick>] is 469 slave nickname if you want to link bot to slave, [ipv6host] is an 470 addidional IPv6 hostname. 471 Example: .addeggdrop blah blah krzychug blah.net 192.168.0.1 9999 472 -slave sl1 473 (+n) .addstop - clear addbot variables if something went bad (some errors 474 like 'invalid idx' and such things) 475 Example: .addstop 476 (-) .alias <-/alias> - show, add or remove aliases. 477 To add an alias: .alias .name=".cmd $1 $s", 478 ex.: .alias .wii=".whois $1" 479 To remove an alias: .alias .name= 480 To list aliases: .alias 481 (+n) .as <name> <ip/host> <bots port> <users port> [hubpass] - add slave 482 hub with <name> on <ip/hostname>, <bots port> and <users port> and 483 [hubpass] if set on slave. 484 Example: .aa slave1 192.168.0.1 44010 44011 485 (+m) .autoop <on/off> [channel] - turn on/off autoop for all bots 486 (+a userflag) or only on [channel] 487 Example: .autoop on #test 488 (+m) .bncjump <bot> <server> [port] [password] - force <bot> connected 489 through bnc to change irc server. 490 .bncjump bot1 krakow.irc.pl 6667 491 (+n) .bpass <-hubpass/-syspass> <set/off> <password> - set or unset 492 hubpass or syspass. 493 To set: '.bpass -hubpass set text' or '.bpass -syspass set text' 494 To unset: '.bpass -hubpass off' or '.bpass -syspass off' 495 (+m) .channels [channel] - show list of channels along with description 496 and some data (like preset, op count, voice count etc.). 497 (+m) .closechan <bot> <channel> - force <bot> to close <channel> 498 (MODE #channel +i). 499 Example: .closechan bot1 #test 500 (+m) .downbots - show unlinked bots. 501 (+m) .eflag <flag(s)> [channel] - add or remove global (or channel) 502 userflag for all bots in botnet. 503 Example: .eflag +K #test 504 (-) .encrypt <password> - encrypt string, which can be later used for 505 hubpass or syspass. 506 .encrypt text 507 (+m) .enforce [-slave <nick>] <channel> [+/-]<setting(s)> - change 508 channel settings in botnet. 509 Example: .enforce -slave slave1 <channel> -enforcebans - will remove 510 enforcebans from #channel on all bots linked to slave1. 511 Example: .enforce * -enforcebans - will remove enforcebans from all 512 hub channels and all bots in botnet. 513 (+m) .enforceflag <flag(s)> [channel] - add or remove global (or channel) 514 userflag for all bots in botnet. 515 Example: .enforceflag +K #test 516 (-) .help [command] - very usefull command :) 517 Example: .help enforce 518 (+m) .list <c/i/n/d/p/s/u/v> [bot] - show some info about bots: 519 c - channels on which bots are opped 520 i - inactive channels 521 n - channels on which bots are not opped 522 d - disconnected bots 523 p - ping between bots 524 s - bot's server 525 u - bot's uptime 526 v - bot's binary and tcl version 527 (+m) .mclear [-slave <nick>] <mode/server/help/all> - clean specific type 528 of queue. 529 .mclear server 530 (+m) .mcycle [-slave <nick>] <time> <channel> - force bots to leave 531 channel for some <time> in seconds 532 Example: .mcycle 60 #test 533 (+n) .mdie [-slave <nick>] - botnet die ;) 534 (+n) .mdump [-slave <nick>] <data> - botnet dump. 535 Example: .mdump PRIVMSG #test :blah 536 (+n) .mexport [-slave <nick>] - mass userfile export. 537 (+n) .mflood [-slave <nick>] <user> <type> - flood <user> on IRC with 538 choosen flood <type>. 539 Example: .mflood blah version 540 (+m) .mjoin [-ajf <time>/-slave <nick>] <channel> [server] [key] - add 541 channel to botnet. 542 To join with anty-join-flood: .mjoin -ajf 15 #test - will join bot 543 every 15 seconds. 544 (+n) .mjump <server> [port] [password] - botnet jump (really needed?). 545 Example: .mjump krakow.irc.pl 546 (+n) .mkick <all/ops> <channel> [6kick] - kick <all> or <ops> from 547 <channel>. [6kick] is dangerous option. 548 Example: .mkick all #test 549 (+m) .mmsg [-slave <nick>] <user/channel> <msg> - send message from all 550 bots to <user> or <channel>. 551 Example: .mmsg #test blah blah 552 (+m) .modenforce [-slave <nick>] <channel> [+/-]<chanmode(s)> - set 553 chanmodes which have to be kept on <channel>. 554 Example: .modenforce #test +nt-k 555 (+m) .mpart [-slave <nick>] <channel> [server] - botnet part 556 Example: .mpart #test 557 (+n) .mrehash [-slave <nick>] - botnet rehash 558 (+n) .mrestart [-slave <nick>] - botnet restart 559 (+n) .mupdate [-m <mirror number>] [-force] - botnet tcl update. 560 (+m) .netchanmode [-slave <nick>] <channel> [+/-]<chanmode(s)> - set 561 chanmodes which have to be kept on <channel>. 562 Example: .netchanmode #test +nt-k 563 (+m) .netchanset [-slave <nick>] <channel> [+/-]<setting(s)> - change 564 channel settings in botnet. 565 Example: .netchanset -slave slave1 <channel> -enforcebans - will 566 remove enforcebans from #channel on all bots linked to slave1. 567 Example: .netchanset * -enforcebans - will remove enforcebans from 568 all hub channels and all bots in botnet. 569 (+m) .netclear [-slave <nick>] <mode/server/help/all> - clean specific 570 type of queue. 571 .netclear mode 572 (+m) .netcycle [-slave <nick>] <time> <channel> - force bots to leave 573 channel for some <time> in seconds 574 Example: .netcycle 60 #test 575 (+n) .netdie [-slave <nick>] - botnet die ;) 576 (+n) .netdump [-slave <nick>] <data> - botnet dump. 577 Example: .netdump PRIVMSG #test :blah 578 (+n) .netexport [-slave <nick>] - mass userfile export. 579 (+m) .netflag <flag(s)> [channel] - add or remove global (or channel) 580 userflag for all bots in botnet. 581 Example: .netflag +K #test 582 (+n) .netflood [-slave <nick>] <user> <type> - flood <user> on IRC with 583 choosen flood <type>. 584 Example: .netflood blah version 585 (+n) .netsend (more data on .netsend) - send file to bot/group of bots. 586 Example: .netsend bot1 cfg/settings 587 (+m) .nnick <-all/bot> - force bot or all bots to switch to normal nicks. 588 (+m) .openchan <bot> <channel> - open channel (MODE #channel -i). 589 Example: .openchan bot1 #test 590 (+n) .optimize [channel] - optimize channel settings for channel or all 591 channels in botnet. 592 Example: .optimize #test 593 (+n) .preset <channel> <preset/off> - set or disable presets. 594 Example: .preset #channel defense or .preset #channel maxbots 10 595 (+n) .rbotattr <bot> <target bot> [+/-]<botflag(s)> - set/remove botflag 596 from <target bot> on <bot> 597 Example: .rbotattr bot1 hub +p 598 (+n) .rchaddr <bot> <target bot> <address> <bots port> [users port] - 599 change <target bot> address on <bot>. 600 Example: .rchaddr bot1 hub 192.168.0.1 24010 24011 601 (+m) .rchanmode <bot> <channel> [+/-]<chanmode(s)> - change chanmode for 602 <channel> on <bot>. 603 Export: .rchanmode bot1 #test +nt-i 604 (+m) .rchanset <bot> <channel> [+/-]<settings> - change channel setting 605 for <channel> on <bot>. 606 Example: .rchanset bot1 #test -enforcebans 607 (+n) .rchattr <bot/*> <handle> [+/-]<flags> - change userflags for 608 <handle> on <bot> or all bots. 609 Example: .rchattr bot1 main +H or .rchattr * main +H 610 (+m) .rclear <bot> <mode/server/help/all> - clear queue on <bot>. 611 Example: .rclear bot1 mode 612 (+n) .rdeop <-all/bot> <nick> [channel] - deop <nick> on [channel] or all 613 channels by all bots or one <bot>. 614 Example: .rdeop bot1 KrzychuG #test 615 (+n) .rdie <bot> - kill bot ;) 616 Example: .rdie bot1 617 (+n) .rdop <-all/bot> <nick> [channel] - deop <nick> on [channel] or all 618 channels by all bots or one <bot>. 619 Example: .rdop bot1 KrzychuG #test 620 (+n) .rdump <bot> <data> - bot dump. 621 Example: .rdump bot1 MODE #test +o bot2 622 (+n) .rexport <bot> - force <bot> to export userfile. 623 Export: .rexport bot1 624 (+m) .rmode <-all/bot> <channel> <data> - force <bot> or all bots to 625 enforce mode (<data>) on <channel>. 626 Example: .rmode bot1 #test +o blah 627 (+m) .rmsg <-all/bot> <user/channel> <msg> - <bot> or all bots say <msg> 628 to <user> or <channel>. 629 Example: .rmsg -all #test blah blah 630 (+n) .rnick <-all/bot> - force <bot> or all bots to change their nick(s) 631 to random generated. 632 (+m) .rop <-all/bot> <nick> [channel] - force <bot> or all bots to op 633 <nick> on <channel> or on all channels. 634 Example: .rop bot1 KrzychuG #test 635 (+n) .rpart <bot> <channel> - force <bot> to part from <channel>. 636 Example: .rpart bot1 #test 637 (+n) .rrehash <bot> - force <bot> to rehash. 638 (+n) .rrestart <bot> - force <bot> to restart. 639 (+n) .rupdate <bot> [-m <mirror number>] [-force] - force bot update tcl. 640 (+m) .savenet - save chanlist and userlist on all bots. 641 (+m) .syspass <password> - authorize. 642 (+m) .tkm <channel> [6kick] - takeover <channel> (kick opped users 643 without +o userflag). 644 Example: .tkm #test 645 (+n) .tkmjoin [-slave <nick>/-auto] <channel> [6kick] [server] [key] - 646 force botnet to join channel and prepare to takeover (-auto option 647 will set proper channel settings on proper bots). 648 Example: .tkmjoin -auto #test 649 (-) .unalias <alias> - remove an alias. 650 Example: .unalias .blah 651 (+n) .update [-m <mirror number>] [-force] - update current bot tcl 652 script. 653 (+m) .users - show some info about users. 654 (+m) .verify - show all handles without password. 655 656(7) Channel settings: 657 658 All of those setting can be changed via '.chanset' and/or '.enforce' command 659 and '.rchanset' from hub. 660 661 *FLAGS?* 662 idle-kick 0 663 This setting will make the bot check every minute for idle users. Set 664 this to 0 to disable idle check. 665 666 stopnethack-mode 0 667 This setting will make the bot kick anyone who enters the channel 668 with serverops. There are seven different modes for this settings: 669 670 0 turn off 671 1 isoptest (allow serverop if registered op) 672 2 wasoptest (allow serverop if user had op before split) 673 3 allow serverop if isop or wasop 674 4 allow serverop if isop and wasop. 675 5 If the channel is -defense, see stopnethack-mode 3 676 If the channel is +defense, see stopnethack-mode 1 677 6 If the channel is -defense, see stopnethack-mode 2 678 If the channel is +defense, see stopnethack-mode 4 679 680 revenge-mode 0 681 This settings defines how the bot should punish bad users when 682 revenging. There are four possible settings: 683 0 Kick the user. 684 1 Kick the user and give them the +d flag for the channel. 685 2 Kick the user, give them the +d flag for the channel, and 686 kick them. 687 3 Kick the user, give them the +d flag for the channel, kick, 688 and ban them. 689 690 ban-time 120 691 Set here how long temporary bans will last (in minutes). If you 692 set this setting to 0, the bot will never remove them. 693 694 exempt-time 60 695 Set here how long temporary exempts will last (in minutes). If 696 you set this setting to 0, the bot will never remove them. The bot will 697 check the exempts every X minutes, but will not remove the exempt if a 698 ban is set on the channel that matches that exempt. Once the ban is 699 removed, then the exempt will be removed the next time the bot checks. 700 701 invite-time 60 702 Set here how long temporary invites will last (in minutes). If you set 703 this setting to 0, the bot will never remove them. The bot will check 704 the invites every X minutes, but will not remove the invite if a 705 channel is set to +i. Once the channel is -i then the invite will be 706 removed the next time the bot checks. 707 708 aop-delay (minimum:maximum) 709 This is used for autoop, autovoice. If an op or voice joins a channel 710 while another op or voice is pending, the bot will attempt to put 711 both modes on one line. 712 713 aop-delay 0 No delay is used. 714 aop-delay X An X second delay is used. 715 aop-delay X:Y A random delay between X and Y is used. 716 717 flood-chan 10:60 718 Set here how many channel messages in how many seconds from one 719 host constitutes a flood. Setting this to 0 or 0:0 disables text 720 flood protection for the channel. 721 722 flood-deop 3:10 723 Set here how many deops in how many seconds from one host constitutes 724 a flood. Setting this to 0 or 0:0 disables deop flood protection for 725 the channel. 726 727 flood-kick 3:10 728 Set here how many kicks in how many seconds from one host constitutes 729 a flood. Setting this to 0 or 0:0 disables kick flood protection for 730 the channel. 731 732 flood-join 5:60 733 Set here how many joins in how many seconds from one host constitutes 734 a flood. Setting this to 0 or 0:0 disables join flood protection for 735 the channel. 736 737 flood-ctcp 3:60 738 Set here how many channel ctcps in how many seconds from one host 739 constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood 740 protection for the channel. 741 742 flood-nick 5:60 743 Set here how many nick changes in how many seconds from one host 744 constitutes a flood. Setting this to 0 or 0:0 disables nick flood 745 protection for the channel. 746 747 *CHANSETS* 748 749 enforcebans 750 When a ban is set, kick people who are on the channel and match 751 the ban (should be set only on 1/3 of all channel bots). 752 753 dynamicbans 754 Only activate bans on the channel when necessary. This keeps the 755 channel's ban list from getting excessively long. The bot still 756 remembers every ban, but it only activates a ban on the channel 757 when it sees someone join who matches that ban. 758 759 userbans 760 Allow bans to be made by users directly. If turned off, the bot will 761 require all bans to be made through the bot's console. 762 763 dynamicexempts 764 Only activate exempts on the channel when necessary. This keeps the 765 channel's exempt list from getting excessively long. The bot still 766 remembers every exempt, but it only activates a exempt on the channel 767 when it sees a ban set that matches the exempt. The exempt remains 768 active on the channel for as long as the ban is still active. 769 770 userexempts 771 Allow exempts to be made by users directly. If turned off, the bot will 772 require all exempts to be made through the bot's console. 773 774 dynamicinvites 775 Only activate invites on the channel when necessary. This keeps the 776 channel's invite list from getting excessively long. The bot still 777 remembers every invite, but the invites are only activated when the 778 channel is set to invite only and a user joins after requesting an 779 invite. Once set, the invite remains until the channel goes to -i. 780 781 userinvites 782 Allow invites to be made by users directly. If turned off, the bot 783 will require all invites to be made through the bot's console. 784 785 autoop 786 Op users with the +o flag as soon as they join the channel. 787 This is insecure and not recommended. 788 789 defense 790 Only let users with the proper flagf to op people on channel. 791 792 greet 793 Say a user's info line when they join the channel. 794 795 protectops 796 Reop a user with the +o flag if they get deopped. 797 798 protectfriends 799 Reop a user with the +f flag if they get deopped. 800 801 revenge 802 Remember people who deop/kick/ban the bot, valid ops, or friends 803 and punish them. Users with the +f flag are exempt from revenge. 804 805 revengebot 806 This is similar to to the 'revenge' option, but it only triggers 807 if a bot gets deopped, kicked or banned. 808 809 autovoice 810 Voice users with the +v flag when they join the channel. 811 812 secret 813 Prevent this channel from being listed on the botnet by 814 non-owners. 815 816 shared 817 Share channel-related user info for this channel. 818 819 cycle 820 Cycle the channel when it has no ops. 821 822 dontkickops 823 Do you want the bot not to be able to kick users who have the +o 824 flag, letting them kick-flood for instance to protect the channel 825 against clone attacks? 826 827 inactive 828 This prevents the bot from joining the channel (or makes it leave the 829 channel if it is already there). It can be useful to make the bot 830 leave a channel without losing its settings, channel-specific user 831 flags, channel bans, and without affecting sharing. 832 833 nodesynch 834 Allow non-ops to perform channel modes? This can stop the bot from 835 fighting with services such as ChanServ, or from kicking IRCops when 836 setting channel modes without having ops. 837 838 dkopper 839 Special version of +defense mode, which react on 4op or 5op. 840 Should be set on 1/3 of all channel bots (bot with +dkopper 841 won't react on 1op, 2op or 3op). 842 843 takeover 844 Lame takeover mode ;) When bot got op, it tries to op rest 845 of bots and take channel. 846 847 fastkick 848 6kick for +takeover mode. 849 850 fastop 851 5op for +takeover mode and for BotnetOP (should be turned on 852 only on 1/3 of all channel bots). 853 854 alimit 855 Autolimit - check chapter 5 (basic configuration). 856 857 botnetop 858 Enable fast botnetop used to op bots on channel. More secure than 859 using +autoop or +a userflag. 860 861 reopprot 862 Protect against adding or removing +R mode. If non-owner add +R, bot 863 will kick him and remove that mode. If non-owner remove +R he will 864 be also kicked, but mode won't be restored (ircd doesn't allow this 865 yet). 866 867(8) Linking bots: 868 869 *MANUALLY* 870 871 *HUBS* 872 873 - Main alt: ( h - on main hub, a - on alt, r - on bots linked to main ) 874 h) .+bot alt_nick alt_ip:bots_port/users_port 875 h) .botattr alt_nick +gs 876 a) .+bot main_nick main_ip:bots_port/users_port 877 a) .botattr main_nick +ghp 878 a) .chattr main_nick +H 879 a) .link main_nick 880 for every bot linked to main hub: 881 a) .botattr bot +gs 882 r) .botattr alt_nick +agp 883 884 - Slave alt: (h - on main hub, on alt, r - on bots linked to slave hub) 885 h) .+bot alt_nick alt_ip:bots_port/users_port 886 h) .botattr alt_nick +gs 887 a) .+bot main_nick main_ip:bots_port/users_port 888 a) .botattr main_nick +ghp 889 a) .chattr main_nick +H 890 a) .link main_nick 891 for every bot linked to slave hub: 892 a) .botattr bot +gs 893 r) .botattr alt_nick +agp 894 895 - Slave (h - on main hub, s - on slave hub) 896 h) .+bot slave_nick slave_ip:bots_port/users_port 897 h) .botattr slave_nick +gs 898 s) .+bot main_nick main_ip:bots_port/users_port 899 s) .botattr main_nick +ghp 900 s) .chattr main_nick +H 901 s) .link main_nick 902 903 *LEAFS* 904 905 - To Main Hub: (h - on main hub, l - on leaf) 906 h) .+bot leaf_nick leaf_ip:port 907 h) .botattr leaf_nick +gs 908 h) .chattr leaf_nick +foK 909 h) .+host leaf_hostname 910 l) .+bot main_nick main_ip:bots_port/users_port 911 l) .botattr main_nick +ghp 912 l) .chattr main_nick +H 913 l) .link main_nick 914 If you want to add alt, type: (a - on alt) 915 a) .botattr leaf_nick +gs 916 l) .botattr alt_nick +agp 917 918 - To Slave Hub: (h - on main hub, s - on slave hub, l - on leaf) 919 h) .+bot leaf_nick leaf_Ip:port 920 h) .chattr leaf_nick +foK 921 h) .+host leaf_nick leaf_hostname 922 s) .botattr leaf_nick +gs 923 l) .+bot slave_nick slave_ip:bots_port/users_port 924 l) .botattr slave_nick +ghp 925 l) .link slave_nick 926 Wait for userfile from slave_nick 927 l) .botattr main_nick +gp 928 l) .chattr main_nick +H 929 If you want to add alt, type: (a - on alt) 930 a) .botattr leaf_nick +gs 931 l) .botattr alt_nick +agp 932 933 *ADDBOT* 934 935 *HUBS* 936 937 - Alt hub: 938 .aa <name> <ip/host> <port bots> <port users> [hubpass] 939 <name> - alt hub's botnet-nick 940 <ip/host> - alt hub's address 941 <port bots> - alt hub's bots-listenport 942 <port users> - alt hub's users-listenport 943 [hubpass] - if you set hubpass on althub, type it here 944 Rest must be done manually :( 945 946 - Slave hub: 947 .as <name> <ip/host> <port bots> <port users> [hubpass] 948 <name> - alt hub's botnet-nick 949 <ip/host> - alt hub's address 950 <port bots> - alt hub's bots-listenport 951 <port users> - alt hub's users-listenport 952 [hubpass] - if you set hubpass on althub, type it here 953 954 - Leaf (IPv4/BNC) to main hub: 955 .ab <name> <ircname> <ident> <hostname> <ip/host> <port> 956 <name> - leaf's botnet-nick 957 <ircname> - leaf's nick on irc 958 <ident> - leaf's ident (string between ! and @ in hostname) 959 <hostname> - hostname on irc (for example evangeline.b3ta.org) 960 <ip/host> - leaf's address 961 <port> - leaf's port 962 Example: .ab blah blah krzychug evangeline.b3ta.org 192.168.0.1 9999 963 964 - Leaf (IPv6) to main hub: 965 .ab <name> <ircname> <ident> <hostname> <ip/host> <port> [ipv6host] 966 <name> - leaf's botnet-nick 967 <ircname> - leaf's nick on irc 968 <ident> - leaf's ident (string between ! and @ in hostname) 969 <hostname> - hostname on irc (for example evangeline.b3ta.org) 970 <ip/host> - leaf's IPv4 address 971 <port> - leaf's port 972 [ipv6host] - leaf's IPv6 IP address 973 Example: .ab blah blah krzychug evangeline.b3ta.org 192.168.0.1 974 9999 2009:888:1524:10:0:0:0:0 975 976 - Leaf (IPv4/BNC) to slave hub: 977 .ab <name> <ircname> <ident> <hostname> <ip/host> <port> 978 [-slave <nick>] 979 <name> - leaf's botnet-nick 980 <ircname> - leaf's nick on irc 981 <ident> - leaf's ident (string between ! and @ in hostname) 982 <hostname> - hostname on irc (for example evangeline.b3ta.org) 983 <ip/host> - leaf's address 984 <port> - leaf's port 985 [-slave <nick>] - slave's botnet-nick 986 Example: .ab blah blah krzychug evangeline.b3ta.org 987 192.168.0.1 9999 -slave slave1 988 989 - Leaf (IPv6) to main hub: 990 .ab <name> <ircname> <ident> <hostname> <ip/host> <port> [ipv6host] 991 <name> - leaf's botnet-nick 992 <ircname> - leaf's nick on irc 993 <ident> - leaf's ident (string between ! and @ in hostname) 994 <hostname> - hostname on irc (for example evangeline.b3ta.org) 995 <ip/host> - leaf's IPv4 address 996 <port> - leaf's port 997 [-slave <nick>] - slave's botnet-nick 998 [ipv6host] - leaf's IPv6 IP address 999 Example: .ab blah blah krzychug evangeline.b3ta.org 192.168.0.1 1000 9999 -slave slave1 2009:888:1524:10:0:0:0:0 1001 1002(10) Frequently asked questions (FAQ): 1003 1004 * I get 'ld-elf.so.1: Shared object 'libtcl84.so.1' not found or 1005 'error in loading shared libraries libtcl8.4.so: cannot open shared 1006 object file: No such file or directory' while starting the bot (or 1007 similar error): 1008 1009 It looks that bot was compiled with one Tcl version and tries to load 1010 another. Maybe administrator upgraded Tcl and didn't tell you. You need 1011 to recompile bot. 1012 1013 Maybe while administator upgrading Tcl, he/she forgot to clean the old 1014 version of Tcl or installed it into another directory. Tell your admin 1015 about that :) 1016 1017 You might also try: 1018 ./configure --with-tcllib=<path_to_tcl_lib> 1019 --with-tclinc=<path_to_tcl.h> 1020 1021 For example: 1022 ./configure --with-tcllib=/usr/local/tcl8.4.6/lib/libtcl.so 1023 --with-tclinc=/usr/local/tcl8.4.6/include/tcl.h 1024 1025 This will tell configure where to look for the Tcl files. 1026 1027 Try looking for libtcl by: 1028 ls /usr/lib/libtcl* 1029 ls /usr/local/lib/libtcl* 1030 1031 Try looking for tcl.h by: 1032 ls /usr/include/tcl.h 1033 ls /usr/local/include/tcl.h 1034 1035 If everything else fails, try to install Tcl to your home dir ;) 1036 1037 * Installing Tcl in home directory: 1038 1039 Download the newest version of tcl (check links section), then unpack 1040 and go to unix/ directory. Configure, compile and install Tcl in 1041 your home directory in tcl directory (if you're using bash you can 1042 use $HOME variable): 1043 ./configure --prefix=$HOME/tcl 1044 make 1045 make install 1046 1047 Now you should have Tcl libraries and tclsh in $HOME/tcl directory. 1048 Add $HOME/tcl/bin to your PATH variable (in bash: 1049 export PATH="$PATH:$HOME/tcl/bin") and LD_LIBRARY_PATH to $HOME/tcl/lib 1050 (in bash: export LD_LIBRARY_PATH="$HOME/tcl/lib"). 1051 1052 NOTE: You should add your new PATH and LD_LIBRARY_PATH to shell 1053 startup files (~/.bashrc in bash). 1054 1055 Bot should now compile and start without problems. 1056 1057 NOTE: If you installed Tcl in diffrent directory than: $HOME/tcl add 1058 --with-tclinc=/path/to/tcl.h --with-tcllib=/path/to/libtcl.so 1059 (or similar), For example: 1060 --with-tclinc=$HOME/tcl8.4/include/tcl.h 1061 --with-tcllib=$HOME/tcl8.4/lib/libtcl.so 1062 1063 * +user - i can't add new user(s) 1064 You have to be admin, permowner or adder. First two have to be set 1065 before compilation in src/main.c ('char admin[121]' and 1066 'char owner[121]'), third is an user with +r flag. Flag can only be 1067 added by admin or permowner. 1068 1069 * Kick reasons - how to change? 1070 It's preety simple. Before compilation open modules/irc.mod/chaos.c in 1071 editor and find 'static const char *kreasons[]'. Below you've got all 1072 my reasons, which you can change or remove (leave at least one: '"",'). 1073 If you also want to change 'Evangeline' string added before kick reason 1074 find and change it in line with 'char outputr[120]'. 1075 1076 * How can i load my TCL scripts? 1077 There are 2 methods to load user TCL scripts. Both must be enabled 1078 before compilation in src/main.c: 1079 1080 - open src/main.c and find 'char Tcl2Load[512]' and add path to 1081 your tcl script, for example: 1082 char Tcl2Load[512] = "scripts/mc.limit.tcl scripts/blah.tcl" 1083 (scripts/ directory must be created by user). 1084 You cannot change (add or remove) loaded scripts after compilation. 1085 Every bot started from that directory will load same TCL scripts. 1086 1087 - open src/main.c and find 'char Tcl2Load[512] = "";'. Put '//' at 1088 the same beggining of that line, then find '//char Tcl2Load[121]' 1089 and remove '//' from that line. This will enable loader. loader.tcl 1090 is available in .data/.scripts/ directory. This file is very easy to 1091 edit: 1092 1093 array set Tcl2Load { 1094 ipv4 "scripts/tcl1.tcl scripts/tcl2.tcl" 1095 ipv6 "scripts/tcl2.tcl" 1096 bnc "scripts/tcl3.tcl .data/.scripts/tcl55.tcl" 1097 } ;# Tcl2Load 1098 1099 For example, if you want bot with 'mybot' as botnet-nick to 1100 load 'scripts/mc.limit.tcl' just add: 1101 1102 array set Tcl2Load { 1103 ipv4 "scripts/tcl1.tcl scripts/tcl2.tcl" 1104 ipv6 "scripts/tcl2.tcl" 1105 bnc "scripts/tcl3.tcl .data/.scripts/tcl55.tcl" 1106 mybot "scripts/mc.limit.tcl" 1107 } ;# Tcl2Load 1108 1109 * Problems with starting fresh bot, segmentation fault. 1110 If you see a message like: 1111 1112 * Last context: tclhash.c/215 [] 1113 * Please REPORT this BUG! 1114 * Check doc/BUG-REPORT on how to do so. 1115 * Wrote DEBUG 1116 * SEGMENT VIOLATION -- CRASHING! 1117 Segmentation fault (core dumped) 1118 1119 You can try to replace binary/tbcload.so file with 1.4 version 1120 (or 1.3 version if it won't help). If you still have that error 1121 you can try to compile tbcload 1.4 on that account. 1122 1123 Precompiled tbcload libraries can be found here: 1124 http://www.averse.piasta.pl/list/ in libs/tbcload directory 1125 Tbcload 1.4 source code can be found here: 1126 http://www.averse.piasta.pl/_data/tcl-sources/tbcload.tar.gz 1127 (compile it and copy libtbcload1.4.so to binary/tbcload.so) 1128 1129 * My bot QUIT irc with reason: 'Segmentation fault!': 1130 Probably you found a bug. Make sure your bot dumped core file 1131 (file should be named core, core.PIDNUMBER or evangeline-VERSION.core). 1132 Load core file using gdb debugger (gdb ./evangeline core) and type 1133 'bt'. Post whole info at forum (www.averse.piasta.pl/forums). Logs 1134 and/or some explanation what happend before bot crashed is also welcomed. 1135 1136 * Non-working botnet - Linked bots don't respond as "botnet" 1137 To use commands like .mjoin, .enforce (.netchanset) you have to 1138 compile 2 packages: msa (main/slave/alt hubs) and normal (v4/v6/bnc). 1139 Bots from msa package doesn't connect to irc (there is no need to) but 1140 contains all useful commands and options to manage whole botnet. 1141 Bots from normal package work as normal bots connectiong to irc and 1142 operating there. They have to be linked to bot from msa package. 1143 1144 * Failed connection; aborted userfile transfer 1145 This annoying problem depends on server. If you've got something like 1146 this, add to you hub config file 'my-ip "ip_address"' and eventually 1147 'my-hostname "hostname_for_above_ip"'. This should help. 1148 If this won't help it mean that you probably have firewall instaled 1149 (on server) you can try to change reserved-portrange to open ports 1150 range (for example to: reserved-portrange "6000:7000"). Those ports 1151 should be opened on firewall. 1152 1153 * Upgrade from previous versions: 1154 1155 - AversE: 1156 1157 *NOTE:* If you've got AversE v1.7 or earlier, you have to add 1158 '-telnet!*@*' mask to one of your users (should be your handle). 1159 *NOTE:* If you've got AversE v1.8-1.8.2 you can't do an upgrade. 1160 *NOTE:* If you've got AversE v1.8.6 you don't have to modify 1161 userfile. Just move/copy userfile and chanfile to 1162 .data/.bdata and start Evangeline with '-u' param 1163 (only v4/v6/bnc). If you want to import userfile on hub 1164 copy AversE userfile to evangeline-msa/ and type 1165 '.import filename.uf'. 1166 1167 - Evangeline: 1168 *NOTE:* If you're updating from Evangeline 0.9 or 1.0 older than 1169 RC3 try to export old userfile by using '.export' command 1170 (or .mexport). Compile and start newly compiled bot and use 1171 '.import' command. 1172 *NOTE:* If you're updating from Evangeline 1.0 RC3 or newest and you 1173 compiled bot will '--custom-key' just unpack new version to same 1174 directory and recompile it (./configure --custom-key;make) with 1175 same encryption key. If you used generated encryption key you must 1176 export current userfile (.export/.mexport) and then import 1177 userfile on newly compiled bot (.import). 1178 1179(10) Help: 1180 For help you can look at AversE/Evangeline website (in links section). 1181 If you won't find answer for your question/problem you can try on 1182 #evangeline@IRCnet. 1183 1184(11) Links: 1185 Evangeline website: http://www.averse.piasta.pl 1186 Eggdrop website: http://www.eggheads.org 1187 Eggdrop help: http://www.egghelp.org and http://forum.egghelp.org 1188 Tcl download: ftp://tcl.activestate.com/pub/tcl and 1189 ftp://ftp.eggheads.org/pub/tcl 1190 1191(12) About: 1192 My e-mail: arcain@evangeline.x86.cl 1193 My nickname: KrzychuG, I'm on IRC (#evangeline@IRCnet). 1194 1195(13) Greets (in alphabetical order): 1196 assassin: for good ideas, testing, bugs reporting, help/support (on channel 1197 and forum) and botnet for few months ;) 1198 Bogas: for good ideas, testing, bugs reporting and help (on channel and 1199 at forum) 1200 Dafcio: for some nice ideas, testing, bugs reporting and help (on channel) 1201 Jorhn: for an account, testing, bugs reporting and some help (on channel) 1202 Laagje: bug reports, test of current version, patience? ;) 1203 1204 Rest of #evangeline crew and all who use AversE/Evangeline bots. 1205 1206---------------------------------- NOTE ------------------------------------ 1207 Some (small) parts of this documents are copied from Eggdrop's Readme. 1208---------------------------------------------------------------------------- 1209____________________________________________________________________________ 1210# Copyright (C) 1999 - 2005 Eggheads Development Team 1211# Copyright (C) 2001 - 2005 Arcain/[Xp-AvR] 1212