Giriş:
Bu yazıda , bir sisteme sıfırdan eggdrop kurulumu nasıl yapılır bunu göstermeye,anlatmaya çalışacağım...
Üzerinde çalışmak için,yaygın olarak kullanıldığı-tercih edildiği için ve pek çok ayrı distro'nun temel aldığı bir
OS olduğundan
son kararlı sürümüyle
Debian Wheezy 64bit'i seçtim...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Hazırlık:
Kurmak istediğimiz eggdrop hakkında bilinmesi gereken; bu yazılım
C ve
Tcl ile yazılmış.
Bu nedenle bir sistem üzerinde çalıştıracaksak, bu dil paketlerinin o sistemde yüklü olması gerektiğidir.
Aksi halde bunu çalıştıramayız.
Henüz kurulmuş olduğundan önce
root'a geçip sistemi güncelliyorum..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
apt-get update
daha sonra
C derleyici/
C compiler'de içeren sistem gereksinimlerini paket halinde
root iken
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
apt-get install build-essential
komutuyla kuruyorum...
(
redhat tabanlı distrolarda bu komut farklı (
CentOS,fedora vs ..) kendi kullandığınız sistem için geçerli komutu net'te araştırınız)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
kurmak istediğiniz paketleri :
apt-cache search paket-adı komutuyla aratabilirsiniz.
Açıklamalar:
Bu noktadan ileriye gitmeden açıklamak gereken; Tcl paketlerini
apt-get install ile o distro'nun depo'sundan
alabilirim,bu tabii tek komutla yapılacak işin kolay yolu...ancak ; distro'ların depolarındaki paket sürümleri maalesef çoğunlukla geriden geliyor..
yani istediğiniz paketlerin daha eski sürümleriyle yer alıyor..ve daha da sorun çıkaran durumu şu ki, bunları o distro için derleyenler, kurulacak paketin dosyalarını
olması gerekenden çok farklı dizinlere çıkartıcak şekilde değiştirmiş olabiliyorlar.
örnek vermek gerekirse; eggdrop'uda
apt-get install eggdrop komutu ile bu distro deposundan kurabilirim.
kurulacak eggdrop eski
eggdrop1.6.20 olur. bunu çalıştırmaya çalıştığınızdaysa
lang. dil dosyalarını olması gerektiği yerde bulamaz ve hata verir.bot çalışmaz...
Bu yöntemle, bazı distrolarda modül .so dosyalarıda kayıp-eksik olabiliyor... Sonuçta mutlaka ama mutlaka ilginç hata çıktıları verip, bot çalışmıyor...
Bu oldukça sık yaşanan-karşılaşılan bir durum.Gerek eggdrop forumlarında,gereksede eggdrop geliştiricilerinin iRC destek kanallarında ,hemen hergün
bundan muzdarip bir vatandaş gelip yardım istiyor....
Kurucaksak en güncel üst sürümleriyle ve sorunsuz olsun istiyorsak, bunu kendimizin derlemesi-kurması en doğru seçim olacaktır...
(eggdrop geliştiricilerinin önerdiği ,sitelerinde yönlendirdikleri kurulum şekli de budur..)
Tcl Kurulumu : 19.09.2013 tarihinde şu an için en son sürüm Tcl paketi
8.6.1 yayımlandı..
Tcl8.6.* sürümleri,daha evvelki sürümlerde olmayan
Tcl-TLS Tcl-Trf (gzip) ve
Tcl sqlite
gibi paketler içerir..Bu paketlelrle birlikte kurulurlar..
ki bu paketlerin getireceği özellikler yakın tarihli modern Tcl scriptlerde sıkça kullanılır-ihtiyaç duyulur...
Tüm bu avantajlarının dışında..
lset lmap yield yieldto coroutine vb... gibi
Tcl8.6.* sürümlerine özgü komutların
kullanılabilmesi /faydalanılabilmesi mümkün olabilir..
(
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] -
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] )
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
wget http://sourceforge.net/projects/tcl/files/Tcl/8.6.1/tcl8.6.1-src.tar.gz
ile çekiyorum..(hala
root'tayız..)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
tar -zxf tcl8.6.1-src.tar.gz
ile klasöre/dizine çıkarıyoruz..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd tcl*/unix
ile kurulum yapacağımız dizine giriyoruz.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
./configure --help
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
komutu
./configure seçeneklerimizi bize listeler.
öntanımlı olarak (başka yer-dizin gösterilmediğinde dosyaları hangi dizine/yola çıkarılacağı gösteriliyor...)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 64bit bir sistemde kurulum yaptığımdan
enable-64bit seçeneklerini de seçebiliriz...
öntanımlı dizinlere kurulsun istediğimden farklı bir yol göstermeden sadece
Kod: Kodu kopyalamak için üzerine çift tıklayın!
./configure
ile kuruluma başlıyorum...
ardından
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
make
sonra
Kod: Kodu kopyalamak için üzerine çift tıklayın!
ln -s libtcl86.so.1 libtcl86.so
ve son olarak
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
make install
ile kurulum bitiyor...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
kurulumun sorunsuz olup olmadığını:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
echo 'puts [info patchlevel]' | $HOME/local/bin/tclsh8.6
ile test ediyorum..
cevap olarak
Kod: Kodu kopyalamak için üzerine çift tıklayın!
8.6.1
dönüyor yani
Tcl8.6.1 sürümü sisteme şu an kurulmuş/derlenmiş oldu....
cd
ile Tcl kurulum klasöründen çıkıp artık işi biten kurulum klasörü/dizinini ;
rm -rf tcl8.6.1
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
ile siliyorum...
Tcllib Kurulumu: Kod: Kodu kopyalamak için üzerine çift tıklayın!
apt-get install tcllib
komutu ile tcllib almak mümkün ancak yukardada belirttiğimiz gibi distro'nun paketleri nasıl derlediğini ilerde eggdrop kurulumumuzda
herhangi bir sorun olmasını istemediğimizden ,kendimiz derlemeyi tercih etmemiz daha akılcı bir seçim olacaktır..
ayrıca
apt-get ile gelen tcllib sürümü 1.14 ki buda eski sürümü....
Biz kuracağımız her paketin son sürüm olmasını istiyoruz ki böylece yeni sürümlerle gelen ekstra özellikleri ve paketleri kullanabilelim...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
wget http://sourceforge.net/projects/tcllib/files/tcllib/1.15/tcllib-1.15.tar.gz
ile
06.02.2013 tarihli son sürüm
tcllib1.15 paketini çekiyoruz...
Kod: Kodu kopyalamak için üzerine çift tıklayın!
tar -zxf tcllib-1.15.tar.gz
ile dizine çıkarıyoruz...
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd tcllib*
ile kurulum dizinine girip;
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
./configure --help
ile
./configure kurulum seçeneklerimizi listeliyorum...
yine öntanımlı olarak hangi dizine kurulacağı (biz başka yol belirtmezsek..) gösteriliyor..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
(bu bölümdeki "
warning " uyarısı sizi kaygılandırmasın...
sadece kurulacak dizindeki dosya izinlerini doğru yaptığınıza,korumalı olmadığına emin olun:
chmod u+x /kurulum/dizini ...)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
./configure
ile kuruluma başlıyorum...
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make install
ile kurulumu tamamlıyorum..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd
kurulum dizininden geri çıkıp
Kod: Kodu kopyalamak için üzerine çift tıklayın!
rm -rf tcllib*
işi biten kurulum klasörünü siliyorum.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd /usr/local/lib
dizininde
tcllib1.15 dizinini görüyorum
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd tcllib*
ile içeri girip
Kod: Kodu kopyalamak için üzerine çift tıklayın!
ls
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
ile kurulmuş/derlenmiş dosyaları kontrol ediyorum...
Artık eggdrop kurulumuna geçebiliriz...
eggdrop Kurulum:
Hala henüz
root iken , eggdrop'un en son hali,sürümü olan,halen geliştirilmeye devam eden sürümü
eggdrop1.8 kurucağız.
Bu sürümde diğerlerinde olmayan
ssl ve
ipv6 desteği mevcud ve son derece stabil...(yaklaşık 3 yıldır kullanıyorum..)
Bu bir
CVS sürümü olduğundan ve güncellmeleriini ilerde kolayca alabilmek için
CVS paketi kurulu olması lazım sistemde.
Bu nedenle halen root iken:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
apt-get install cvs
ile kuruveriyorum...
root olarak yapacaklarımız bitti..
root'tan çıkıp
/home/kullanıcı-adım/
dizinine geçiyorum...
eggdrop1.8 CVS edinmek için iki yol var
biri günlük dosyasını
wget ile hesaba çekip,
Kod: Kodu kopyalamak için üzerine çift tıklayın!
wget ftp://ftp.eggheads.org/pub/eggdrop/source/snapshot/eggdrop1.8-snapshot.tar.gz
dosyayı dizine çıkarıp,
Kod: Kodu kopyalamak için üzerine çift tıklayın!
tar -zxvf eggdrop1.8*
bilindik kurulumu yapmak....
yada kurduğumuz cvs paketi ile kullanabileceğimiz komutlarla işi halletmek....yani:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cvs -d :pserver:anoncvs:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
:/usr/local/cvsroot login
komutu ile eggheads cvs / geliştirici adresine login oluyoruz.
"
Logging in to :pserver:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
:2401/usr/local/cvsroot"
şeklinde cevap alacağız..
sonra dosyayı çekmek için :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cvs -d :pserver:anoncvs:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
:/usr/local/cvsroot -z9 co eggdrop1.8
komutu ile
eggdrop1.8 kurulum dosyası direk eggdrop geliştiricilerinin cvs adresinden alınmış olacak..
"
cvs server: Updating eggdrop1.8 followed by a bunch of filenames"
şeklinde cevap dönecektir...
Dosyaların alımı tamamlandığında,
eggdrop1.8
adında kurulum klasörü oluşturulduğunu göreceğiz...
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd eggdrop*
ile kurulum klasörüne giriyoruz...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
cvs update -dAP
komutuyla geliştici hesabından yeni eklenmiş
güncellemeleri kurulum dosyamıza katmak-almak mümkün...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
./configure --help
kurulum seçeneklerimizi bize göstericek...
sisteme kurduğumuz
Tcl8.6.1 ve
tcllib1.15'i yeni kuracağımız botumuza gösterip ,bunları görmesine-bulmasına yardımcı olacak şekilde:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
./configure --with-tcllib=/usr/local/lib/libtcl8.6.so --with-tclinc=/usr/local/include/tcl.h
uyguluyorum.. tabii burada sizin kurrulu dizinleriniz farklı ise buna göre yukardaki komutta belirtilmiş dizin yol/larını değişmelisiniz..
locate tcl ,
which tclsh yada
whereis tcl yada
find / -name tcl.h vs vs gibi komutlarla doğru yolu - dizini bilmiyorsanız sistem üzerinde sorgulayabilirsiniz.
./configure komutundan sonra :
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
ve
Kod: Kodu kopyalamak için üzerine çift tıklayın!
export TCL_LIBRARY=/usr/local/lib/tcl8.6
tabi yine gösterilen dizin/yolunu kendinize göre değişerek uygulamalısınız...
Eğer
bash shell değilde
csh shell ise,bu komutları:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
setenv LD_LIBRARY_PATH /usr/local/lib:${LD_LIBRARY_PATH}
ve
Kod: Kodu kopyalamak için üzerine çift tıklayın!
setenv TCL_LIBRARY /usr/local/lib/tcl8.6
olarak uygulamanız gerekir...
daha sonra sırada
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make config
yada
make iconfig olarak da kullanılabailir..aradaki fark
make iconfig ile her kurulacak modül için kurulsun mu diye sorup onay ister..
make config ile hepsi kuruluverir.
sırada,
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
make
komutuyla devam edeyorum...
son olarak da yeni botumuzun kurulacağı dizini belirleyeceğimiz make install
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
make install DEST=/home/nrt/bot
uygulayarak yeni botumun
/home/kullanıcı-adım/bot dizininde oluşturulmasını sağlamış oluyorum..
bu adımda birden fazla bot kurmak isteniyorsa
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make install DEST=/home/kullanıcı/ikinci-bot
make install DEST=/home/kullanıcı/üçüncü-bot
make install DEST=/home/kullanıcı/dördüncü-bot
.....
şeklinde istediğiniz sayıda aynı sürüm-özellikte bot oluşturulabilirsiniz...
Kurulumu böylece tamamlamış olduk..
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd ..
ile kurulum dizinden geri çıkıp
işi biten
eggdrop1.8 Kod: Kodu kopyalamak için üzerine çift tıklayın!
rm -rf eggdrop1.8
ile silebilirsiniz yada ilerde güncellemeleri
cvs update -dAP komutu ile almak için saklayabiliriz.
.Conf Ayarları: eggdrop.conf dosyası eggdrop kurulumuyla birlikte gelir.
kendisi başlı başına bir tcl script'tir.
Her ayar botun ayrı bir özelliğine aittir.
Kolay .conf ,kısaltılmış .conf diye birşey yoktur..
Her ayar'ın üstünde o ayarın "ne" olduğuna dair bilgi-açıklamalar eklidir.
Bu nedenle uzun-büyük bir dosyadır ve çoğunlukla "yeni" kullanıcıların gözünü korkutup,
uyduruk-kıytırık kimin hangi akla hizmet hazırladığı belli olmayan ortalıkta dolaşan ".conf" lara yönlenmesine neden olur...
.conf'unuzda yer almayan her ayar ,botunuzun bir özelliğinin kullanılamamasına yada dilediğiniz şekilde yapılandırılamamasına neden olacaktır..
Kurduğumuz bu eggdrop1.8 sürümü diğer 1.6.. serisinde yer almayan pek çok "
yeni" eklenmiş özellik ve buna bağlı pek çok yeni
ayar içerir. ayrıca daha önceki sürümlerde yer alan ayarlar'dan bazıları bu sürümde değiştirilmiştir...
Uzun lafın kısası zaman ayırıp eggdrop kurulumuyla gelen orjinal eggdrop.conf dosyamızı kendi tercihlerimizle göre yapılandıralım...
nano pico yada kuruluysa
vim/vi gibi editörle açarak editleme yapılabilir.
botun kurulu olduğu
/home/kullanıcı-adım/bot dizinine girip ;
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
nano eggdrop.conf
ile açıyorum...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
.conf başlangıcında en üstte
Kod: Kodu kopyalamak için üzerine çift tıklayın!
shebang
(
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]) ) yer alır bunu kendime göre düzenliyorum
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#! /home/kullanıcı-adım/bot
eggdrop önceki sürümlerinde utf-8 Türkçe yazı karakterlerinin bozulmasını önlemek için patch etmemiz gerekiyordu..
eggdrop*/src/ içinde
main.h ve
tcl.c dosyalarını editlememiz gerekliydi ..(
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] )
1.8 sürümü kendinden patch edilmiştir.
main.h dosyası tümden yeniden yazılmıştır.
Tek yapılması gereken .conf dosyamıza:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
encoding system utf-8
satırı ekleyerek utf-8 tercihimizi belirliyoruz...
set username ayarı botun iRC bağlandığında alacağı ident kısmına denk gelir.
eğer sistemde
oidentd vs var ise burada girdiğiniz ayar etkisiz olur..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
set admin açıklamaya gerek var mı? botun admini kimdir?
set network bağlanılan ağ adı.. örnek
freenode yada
Efnet yada
Dal.net vs vs...
botumuzun saat dilimini doğru (Türkiye saati ile uyumlu ) olabilmesi için :
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
set timezone "CET"
Kod: Kodu kopyalamak için üzerine çift tıklayın!
set offset "-2"
Kod: Kodu kopyalamak için üzerine çift tıklayın!
set env(TZ) "$timezone$offset"
şeklinde ayarlıyoruz. (
CET = Central European Time(UTC+1) Türkiye 2 saat ilerde olduğundan
offset -2 olmalı..ne kadar ileri olduğunu -değer ,ne kadar gerideyse
o zaman diliminden
offset +değer olarak girilmesi gerekiyor...)
env(TZ) ayarındaki
$timezone ve
$offset değişkenleri birbirine yapışık olmalı...(aksi halde yanlış saat görünecektir...)
.conf üzerindeki bir ayarı etkin kılmak için satır başında yer alan hash tag " # " kaldırılması icap eder...
Aksi halde o satır dikkate alınmaz geçilir. Tcl'de
# yada
;# yorum-açıklama eklemek için satır başına eklenir...
1.8 sürümünde diğer sürümlerinde
set my-ip yada
set my-hostname vs şeklinde olan ayar/lar kaldırılmış, bu sürümün ipv6 desteğiyle birlikte
set vhost4 ve
set vhost6 ayarları gelmiştir.
localhost üzerine kurduğumdan ben bu ayarı
Kod: Kodu kopyalamak için üzerine çift tıklayın!
set vhost4 "127.0.0.1"
olarak giriyorum...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set listen-addr ayarında belli bir adres belitmez isek olası tüm ipv4 yada ipv6 kullanılmışsa tüm ipv6 olasılıkları bot tarafından dinlenecektir.
(shell hosting üzerindeyseniz birden fazla ipv4 yada ipv6 IP/host'u bulunuyorsa ,bu ayarda belli bir adres belirtilmediği sürece,tümünü dinlemeye çalışacaktır..)
set prefer-ipv6 ipv6 hostu/IP'si kullanılmak isteniyorsa buna sahipseniz bu ayarı 1 olarak girmelisiniz...
addlang kullanılacak dil dosyası hangi dilde olacak ,,Türkçe seçeneği olmadığından ... hangisi size uyuyorsa onu seçmelisiniz...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set nat-ip eğer
NAT ardından internete bağlanılıyorsa ,botunuzla
/ctcp chat yada
/dcc chat iletişimi kurulabailmesi için bu ayarda dışa IP adresiniz belirlenmeli ...
yada botunuzla dosya transferi-paylaşımı amaçlı kullanacaksanız kullanılacak port aralıklarıyla birlikte bu ayar girilip aktif edilmeli...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set owner olmazsa olmaz ayarlardan biri ... "
handle" olarak botunuzun sizi sahibi olarak tanıyabilmesi için bu ayar mutlaka girilmeli.
birden fazla girilecekse, aralarını virgülle ayırarak,bir boşlukla giriniz...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
botu çalıştırıp botumuza telnet yada dcc bağlandığımızda
.tcl ve
.set gibi komutları kullanmayı aktif hale getirebilmemiz için
bu satırların başındaki
# hashtag'lar kaldırılıp
unbind olan satırları
bind olarak değişmemiz gerekiyor..
(ki bu komutlar ilerde çok işe yarayacaktır..)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
.conf dosyamızı editlerken dosyanın değişik yerlerinde ,geliştiricelerin dikkatinizi sınamak,
dosyayı tam olarak editlediğinizden emin olmak için koydukları tuzak satırlar vardır..(3 yada 4 tane)
die "config dosyanızı tamamen düzenlediğinize emin olun lütfen..."
bu satırların başına # ekleyerek yada tamamen silerek yola devam edebilirsiniz.....
Aksi halde botu çalıştırmaya kalktığınızda baştaki
.die komutu uygulanacak ve "tırnak içerisinde" mesajla bot başlayamadan duracaktır..
Tek tek yüklenecek herbir modül'ün getireceği özellikler için belirleyeceğiniz tercihleri yapmalısınız.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set chanfile ayarı botun girdiği kanallar üzerindeki ayarlarını saklayacağı dosyanın adı...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
botu başlatırken yada irc sunucusuna bağlanmaya çalıştığında bottan dns çözümlemekle alakalı bir hata alıyorsanız
set dns-servers ayarını aktif-pasif değişerek deneyebilirsiniz...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
oluşturulacak-tutulacak log dosyası ayarları...nelerin,hangi aksiyonların,ne şekilde loglanacağına dair ayarlar..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
en mühim olmazsa olmaz ayarlardan biri botun dinleyeceği port...
telnet/dcc bağlantısında ister kullanıcılar için ayrı,
bot başka bot/lar ile linklenip bptnet oluşturulacaksa botlar arası iletişimde botların kullanacağı port ayrı ayrı da girilebilir ..
yada hepsi için tek port belirtilebilir...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Kanal/lar üzerinde botun uyacağı "
global" genel ayarları..
Bizde her ne kadar .conf üzerinde
channel add ile botun gireceği kanal/ları eklemek ,ne kadar popüler olsada..
görüldüğü üzere aslında bu önerilmez!!!
önerilen bot başlatıldıktan sonra ,bota bağlanıp ,botu kanala
.+chan #kanal komutu ile sokulmasıdır..
conf'a eklenecek kanal ilk başlattığınızda botu kanala girmeye zorlar ancak sonradan bu ignore edilir..hiçbir anlamıda kalmaz...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set net-type ayarı yine mühim ayarlardan biri,şöyleki eggdrop.h ve diğer kaynak dosyalarında büyük ağların kullandığı her farklı iRCd yazılımı için:
öntanımlı olarak ayarlar belirlenmiştir. ve burada seçeceğiniz ağ türüne göre bu öntanımlı ayarları aktif etmiş olursunuz..
Bunlardan hiçbiriyle eşleşmiyorsa 0 yani diğer seçilmeli...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] set nick botun nickidir. set altnick ise botun kullanacağı alternatif rumuzudur..
set realname adı üzerinde botun irc üzerinde görüneceği realname kısmına denk gelir...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bind evnt - init-server .. bind'i sunucuya bağlanıldığında ilgili prosedürün çalışmasına neden olur.
bot bağlandığında sunucuya ne yapmasını istersiniz? kayıtlı nickini identify / tanımlamasını mı?oper ise ,oper şifresini girmesini mi?
işte bu kısımda bunu ayarlayabilir / yaptırabilirsiniz...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
set servers { ayarında sunucu adı yanında belli bir port belirtilmemişse default/öntanımlı port'u (ki buda değiştirilmediyse 6667'dir) kullanır.
ssl kullanılacaksa
sunucu:+ssl-port şeklinde eklenmelidir.
ipv6 destekleyen bir sunucuya bağlanılacaksa .conf üzerinde ve resimde görüldüğü şekilde eklenmeli..ayrıca bazı sunucular (örneğin freenode )
sunucu:port:şifreniz destekliyor ki bu şekilde girişte şifreyi bot oto gönderebiliyor..
aynı şekilde botun bir BNC üzerinden bağlanılması isteniyorsa bu ayarda bnc-adres:portu kullanıcı-adı:şifresi
şeklinde botun bnc'a bağlanması sağlanabilir.. ( söylemeye gerek var mı bilmem ama bnc'ta irc'e bağlanır...)
Aslında halihazırda BG olarak shell üzerinde işletilen bir eggdrop botun bir BNC üzerinden irc'e bağlanması ,abuk bir durum olsada ,
bazı kullanıcılar her nedense bunu tercih edebiliyor...
Son olarak yüklemek-çalıştırmak istediğiniz script'i botunuzun
/scripts/ klasörü içine taşıyıp-gönderip
.conf dosyamızın alt satırlarında
Kod: Kodu kopyalamak için üzerine çift tıklayın!
source scripts/scriptin-adı.tcl
şeklinde scriptin bulunduğu yeri bota tam olarak göstermeniz gerekir.
(büyük-küçük harf uyumu olmalıdır.bot içine gönderdiğiniz script adı ile .conf'a eklediğiniz script adı birebir aynı olmalı...
script adı birden fazla kelimeden oluşuyorsa,tire yada nokta eklenmeli arada boşluk olamaz..)
ctrl+x yaptığımızda değişiklikler kaydedilsin mi? sorar Türkçe sistemde "
E" ingilizce sisteme "
y"
enter ile ayarlarımızı kaydedip çıkalım...
eggdrop Kullanımı:
Artık botumuzu başlatabiliriz.
Henüz kullanıcı-user dosyası oluşturulmadığından ,ilk kez çalıştıracağımızdan dolayı,
botu
-m yada
-mn seçeneğiyle başlatmalıyız .
Bu arada
./eggdrop --h yada
./eggdrop --help ile yardım içeriği,
kullanılabilecek seçeneklerinizi listeler...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
./eggdrop -m eggdrop.conf
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
botun BG / arka planda işlediğini ps x -ps aux vs.. gibi komutlarla listeleyip PID-no'su ile görebilirsiniz..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
bot çalışmaya başladı modullerini ve conf'ta belirtilmiş scriptleri yükledi ve belirttiğimiz telnet port'unu dinleyerek çalıştı...
Bize iRC üstünden
/msg botunuz hello komutuyla kendimizi tanıtmamızı,böylece sahip* olarak user/kullanıcı dosyasına işleneceğini söylüyor..
terminal üstünde :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
telnet
diyorum..botuma bağlanmak için:
open botun-ip/hostu telnet-portu ben
localhost üzerinde işlettiğimden,
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
open 127.0.0.1 3333
ilk kez bağlandığımdan ,henüz bir kullanıcı dosyası işlenmediğinden ,bot henüz sahibini tanımıyor, sorduğunda
Kod: Kodu kopyalamak için üzerine çift tıklayın!
new
yani yeni diye giriyorum,bana bir kullanıcı-adı "
handle" belirlememi söylüyor..kullanıcı dosyasına işlemek için:
giriyorum sonra bir şifre belirlememi isitiyor..giriyorum kontrol için bir daha girin diyor tekrarlıyorum...
ve artık beni sahibi olarak yeni oluşturduğu kullanıcı dosyasına işlemiş oluyor.
ve ilk tanımlanmışkişi olarak artık ben onun sahibiyim..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
.status
yada
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.status all
komutu botun şu an durumunu bize ayrıntılı olarak gösterir.
komut listesi için.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.help
tüm kullanabileceğiniz komut listesi görmek için:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.help all
belli bir komutun nasıl kullanıldığı hakkında yardım içeriği görmek için
.help komut-adı
botun modül ve scriptlerini ,olası üzerinde yapacağınız herhangi bir değişiklikten sonra görebilmesi için..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] .rehash komutu irc ile bağlantısını kesmeden kendisini yeniden yüklemesini sağlar.
Bazı değişikliklerin tam olarak geçerli kılınması/ hafızadan silinmesi için
.rehash yeterli gelmez.
.restart komutu botun kendini durdurup yeniden başlatmasını sağlar,hafızasıda temizlenmiş olur.
.restart'ta bot iRC'den kopar ,tekrar birkaç saniye içinde (sunucuya bağlantı sorunu yaşamazsa)
geri gelir...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] .save komutuyla ,mevcud kanal ve kullanıcı ayarlarınızı saklar/kaydeder.
.backup ile yedekleri alınır.(bunu belli aralıkla kendisi zaten yapar.
başka bir yer belirtilmemişse botun ana dizininde
botunuz.user botunuz.chan
gibi kanal ve kullanıcı dosyaları yanında
botunuz.user-bak ve
botunuz.chan-bak dosyalarını görürsünüz..
bunlar backup/yedekleridir...)
.reload komutuylada yedek dosya ayarları geri yüklenir..
(olurda bir şekilde kullanıcı-kanal dosyalarınız hasar görür yada kazara silinirse ,
günü bu şekilde kurtarabilirsiniz...)
bot sunucuya henüz bağlanmamışsa
.status komut çıktısında "
trying" şeklinde görünür.
.jump komutu conf'ta birden fazla şekilde sunucu/lar eklenmişse sıradaki ekli sunucuyu denemeye geçer..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
yada
.jump sunucu-adı port belirtmezseniz
default-port olarak .conf'ta ekli (
değişilmediyse 6667) portundan
adı geçen sunucuya bağlanmayı dener...
Bağlantı gerçekleştiğinde, kanal/lara sokmak için
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
.+chan #kanal
kanal'dan çıkarmak içinse :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.-chan #kanal
Bot henüz benim iRC üstümde tanımaz ,çünkü beni sadece telnet üzerinde görüp kaydetti..
iRC üzerinde de beni tanımlaması-tanıması için :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.+host handle *!identim@*hostum
yani :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.+host nrt *!nrt@*bla.bla.bla
şeklinde ekliyorum..
Bu şekilde iRC üzerindeki görünümümü de eklediğimde ,
artık beni irc/kanal üstünde sahibi olarak tanır hale geliyor..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
.whois handle
komutu bota kayıtlı kullanıcı hakkındaki botun durumunu listeler.
tüm kullanıcı dosyası kayıtları için :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.match * 666
gibi bir komut kullanılabilir..
Bir kullanıcıya flag vermek-değişmek içinse:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.chattr handle +/-global-flag|+/-kanal-flag #kanal
örnek olarak kendime burda hem global hem #kanal üzerinde +f ,friend "dost" flağı veriyorum
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.chattr nrt +f|+f #bum
yeni kullanıcı eklemek için
.+user handle kullanıcı silmek için
.-user handle kullanılabilir...
botun #kanal üstündeki ayarlarını görmek içinse :
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Kod: Kodu kopyalamak için üzerine çift tıklayın!
.chaninfo #kanal
Bu ayarlardan birini değişmek istediğinizde :
Kod: Kodu kopyalamak için üzerine çift tıklayın!
.chanset #kanal +/-ayar
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Örnek olarak
ma.tcl diye ad verdiğim scriptlerimden birini bot .conf'unda belirttim.
Bahsi geçen scripti botun/scripts/ klasörüne gönderdim..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] .chaninfo #kanal komutuyla ayarları listelediğimde ,bu scripte bağlı ayarı
-gitti olarak gördüm..
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] .chanset #kanal +gitti ile aktif ettim.ve kanal üstünde artık kullanabilirim...
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
(botun olduğu tüm kanallar için:
.chanset * +/-ayar)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Sınırlıda olsa iRC üzerinde botun bazı komutlarına erişim mümkün bunlar için
/msg botunuz help komutu ...
botun şu anki durumuyla alakalı kısa bilgi için
/msg botunuz status -sahiplik-şifreniz
Sürç-i lisan ettiysek affola...