This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Minimal Installation

Old posts that have not been replied to for several years.
Locked
r
rtfmoz

Minimal Installation

Post by rtfmoz »

Hello,

I am working with the latest eggdrop and I want to have a minimal installation. I mean I would like the bot to be in channel but do nothing until I add some scripts of my own. I want to turn off all the other protection mechanisims that eggdrop has built in. I suppose I want all the functionality of the eggdrop tcl command set but just a framework to develop in.

You see I am writing a KB search system, frontend is eggdrop, backend is tcl-sql onto a MySQL database. So you see I want the bot just for this and no other purpose.

I am new, so I may be going about this the wrong way - comments ?

Regards

BK
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

To get all the commands provided by eggdrop, you will need to include all modules (witht he exception of wire, share and woobie).

To turn flood setting off, you would set them to 0:0.

Other flags to set would be

-protectops
-protectfriends
+dontkickops
-bitch
-revenge
-revengebot

If you are doiung a knowledge bot, there is no need to take it down the the barebones, even if you are doing MySQL transactions. Allthough, this would depend ont he location of the MySQL sever copared to the bot.

I have a bot that is responsible for authorising all commands on my botnet, flood protection, responing to about 100 KB questions a minuite (peak times), spam detection.

That bot is one of the most stable bots on my botnet (witht he exception of receint hardware failures), which even managed a high score of 56 on the uptime charts (16th best eggdrop), until some1 decided that a problem with traffic routing meant that the machine requires a reboot. This made matters worse for a day, due to a routing patch that failed on reboot.
r
rtfmoz

Wow

Post by rtfmoz »

Wow ppslim,

Thats really nice of you to reply :D

Its just what I needed to know. I had kind of figured it out but wasnt sure. There is a lot more going on under the hood than what is in the documentation. Things like, what actually happens when it reads the config file and starts up. Can you point me towards source documentation if there is any? Thanks heaps!

Where do I sent software suggestions...? I couldnt find a developers forum and I didnt see an email addy listed on the website.

Regards

BK
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

It all depends what you are doing with the bot, how much traffic it has to handle and so forth.

The config file is just plain old Tcl. So when eggdrop starts, it will load the Tcl library up, and run the input throught he Tcl parser. Seeing as source is a Tcl command, Tcl will load the scripts when it comes to these lines.

There is not that much going on inside eggdrop. It just takes a little extra knowledge to understand where things come from. IE, Tcl has a base set of commands. Eggdrop provides it's owr Tcl commands, so that scripts can interact with the bot. For this, there are 2 types of Tcl command, core and module provided. Core commands like adduser and bind are a must, due tot he fact they are included in the core part of eggdrop (IE, if they are not there, other parts of eggdrop do not function). Module provided commands like channel, notes, putserv and so on, are provided by the modules they are related with. IE, you don't want the putserv command unless you want the IRC support loaded in.

At the basic level, each module provides commands, realted to the function of the module.

This is no source documentation. Keep reading the source, and you will understand it (wort of) one day. To this day, I still do not know C. I can't even manage the "Hello world" program without reading it from a book, but I can read through the eggdrop source without much problems (with exception to the socket code - Yuk).

As for making sugestions, you can subscribe to the eggheads mailing list (the developers site). I would not make any sugestions, unless they will benefit all users, all networks and is 99% IRC related instantly. This is what Tcl is for.

What sort of information about eggdrop do you need, and we will try to supply it.
r
rtfmoz

Suggestions

Post by rtfmoz »

Thanks ppslim,

My only suggestion was a security issue. When you try to start eggdrop in a chroot enviroment it complains it will not run as root. This is a problem under linux because you have to be the root user to use the chroot command. May I suggest that you add a command line option such as -u username. The bot will chroot to that users home directory and then assume the userid and groupid of that user.

I have since written a workaround in C. From a security standpoint it may be a useful function?

Regards

BK
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Eggdrop was receintly changed so that it would not run under root.

I do not understand the aspects of chroot yet.

Eggdrop does not support root, due tot he fact that Tcl could be used to gain root access.

Simply setting up a crontab would launch the bot. Root can edit a user crontab.
Locked