Сборка eggdrop

Материал из Egghelp.ru - TCL/TK Eggdrop Wiki
Перейти к: навигация, поиск

Что нужно для работы с ботами Eggdrop/Windrop? Ну во-первых, необходимо иметь компьютер с операционной системой *nix или Windrows у которой есть доступ к IRC-серверу. Не важно какое у вас соединение к IRC-серверу, локально он у вас или он находится где-то в сети Internet. Во-вторых, нам нужен сам робот. Взять его можно в сети Internet.

Адреса, по которым можно найти дистрибутивы ботов Eggdrop/Windrop:
ftp://ftp.eggheads.org/pub/eggdrop/GNU/ Исходные коды всех версий бота включая последнюю beta-версию
http://geteggdrop.com/ Сразу отдает последний релиз бота
http://windrop.sourceforge.net/ Windows версия ботов (WinDrop).

Итак, теперь компилируем Eggdrop-бота:
Для сборки Eggdrop вам обязательно необходим и TCL (язык программирования, который используется в ядре бота). Проверить наличие TCL можно набрав в shell команду: tclsh Если вы получите приглашение в виде символа "%", значит TCL есть. Если нет, то установите. Рекомендуемая к установке версия TCL: 8.5.x

Как установить TCL?
Скачать TCL в исходниках можно с с официального сайта: http://tcl.tk/software/tcltk/download.html, либо с нашего архива.

Порядок сборки TCL:

  • 1. Распакуйте архив с TCL
tar -zxf tcl8.x.x.tar.gz
  • 2. Зайдите в директорию с нужной платформой
cd tcl8.x.x/unix
  • 3. Наберите './configure'
  • 4. Наберите 'make'
  • 5. Наберите 'make install'


И в /usr/local/lib появится libtcl8.x.x.so, в /usr/local/include директория tcl8.x.x, а в /usr/local/bin tcl-shell tclsh.
Однако может наилучший вариант это установить TCL из пакета (rpm, tgz, deb).

А вот Eggdrop лучше собирать самому, так как все зависит от того, как вы хотите потом использовать бота.

Собрать Eggdrop можно в двух видах:
Static - будет занимать меньше, чем eggdrop + dynamic-модули, и будет в одном файле. Таким образом менять версию бота для тестов или проверок намного проще, так как менять надо всего лишь один файл. А также, если ваш бот запускается в одном экземпляре и больше нет никаких других ботов запускающихся из этой же директории, то этот вид сборки тоже будет лучшим вариантом.

Dynamic - будет в виде нескольких файлов (сам eggdrop и модули) и займет чуть больше, из-за заголовков и служебной информации в скомпилированных файлах. Но динамик выигрывает за счет экономии памяти при запуске нескольких ботов. Если запустить несколько ботов, то память будет общей. А также dynamic-модули можно загружать/выгружать на лету.


Последовательность для сборки бота такова:

  • 1. Скачать бота с сайта или ftp (архив будет с именем eggdrop-1.x.x-tar.gz)
  • 2. Если не установлен TCL - скачать и поставить (установить можно как из исходников, так и из пакетов tgz, rpm, deb и т.п.)
  • 3. Распокавать архив с ботом в нужную директорию. (tar -zxf <имя архива>)
  • 4. Далее обычно хватает команды: ./configure
Но если собирать нужно с конкретной версией TCL, то указывайте:
./configure --with-tcllib=/libtcl8x.so --with-tclinc=/tcl.h
Где "x" нужный номер версии библиотеки.
  • 5. Для автоматического подключения модулей: make config
  • 6. Для ручного подключения модулей: make iconfig
  • 7. Для сборки бота как dynamic (обычно): make

Для сборки бота как static: make static

make install DEST= (для установки)


Уточнить процесс установки или задать любые вопросы касательно ботов eggdrop/windrop и tcl скриптов для них Вы можете на каналах #egghelp @ IrcNet.ru, либо на #eggdrop @ RusNet.