eggdrop.conf Ayarları: Botunuzu Yapılandırmanın Temel Rehberi
İçindekiler
- Dosya Bir Tcl Betiğidir
- die Satırlarını Kaldırın
- Temel Kimlik Ayarları
- Nick ve Realname
- Sunucu Ayarları
- Dosya Ayarları
- Partyline ve Botnet Portu
- Sahip (Owner)
- Log Ayarları
- Modüller
- Script Yükleme
- Değişiklikleri Uygulamak
- Sık Yapılan Hatalar
- Ayarları Düzenli Tutmak
- Gizli Bilgileri Korumak
- Yapılandırmayı Test Etmek
- Sonuç
Eggdrop'un bütün davranışı tek bir dosya tarafından belirlenir: eggdrop.conf. Botun nicki, bağlanacağı sunucular, kullanıcı ve kanal dosyalarının adları, partyline portu ve yüklenecek modüller bu dosyada tanımlanır. Bu rehberde dosyanın en önemli bölümlerini sırasıyla ele alıyoruz.
Dosya Bir Tcl Betiğidir
eggdrop.conf aslında bir Tcl betiğidir. Bu yüzden ayarlar set komutuyla tanımlanır ve Tcl söz dizimine uyar:
set nick "KanalBotu"
set altnick "KanalBotu2"
set realname "mIRC Club kanal botu"
Birkaç temel kural:
- Diyez (
#) ile başlayan satırlar yorumdur. - Boşluk içeren değerler çift tırnak içinde yazılır.
- Köşeli parantezler (
[ ]) Tcl'de komut çalıştırma anlamına gelir; değerlerde kullanırken dikkatli olun. - Süslü parantezler (
{ }) içindeki metin olduğu gibi alınır.
Örnek dosya çok uzundur ve her ayarın yanında açıklama satırları bulunur. Dosyayı baştan sona okumak, Eggdrop'u öğrenmenin en iyi yollarından biridir.
die Satırlarını Kaldırın
Örnek dosyada, düzenlenmeden çalıştırılmasını önlemek için konmuş satırlar bulunabilir:
die "Please make sure you edit your config file completely."
Dosyayı düzenledikten sonra bu satırları bulup silin veya yorum satırına alın. Aksi hâlde bot bu mesajla kapanır. Bir metin düzenleyicide "die" kelimesini aratmak, bu satırları hızla bulmanızı sağlar.
Temel Kimlik Ayarları
set username "kbot"
set admin "Ahmet <email: ahmet@ornek.net>"
set network "OrnekNET"
set timezone "Europe/Istanbul"
- username: Botun ident kullanıcı adıdır.
- admin: Botun sahibi hakkında bilgi; bazı komutlarla görüntülenir.
- network: Botun bağlandığı ağın adı; botnet'te bilgi amaçlı kullanılır.
- timezone: Log zaman damgaları ve zamanlanmış görevler için saat dilimi.
Nick ve Realname
set nick "KanalBotu"
set altnick "KanalBotu?"
set realname "Kanal yardimci botu"
altnick, ana nick kullanımdaysa denenecek alternatiftir. Soru işareti rastgele bir rakamla değiştirilir. Nick kaydı ve NickServ ile kimlik doğrulama için NickServ identify yazımıza bakın.
Sunucu Ayarları
Güncel Eggdrop sürümlerinde sunucular server add komutuyla tanımlanır:
server add irc.ornekagi.net +6697
server add irc2.ornekagi.net +6697
Port numarasının başındaki + işareti TLS ile bağlanılacağını belirtir. Birden fazla sunucu eklerseniz bot, bağlantı koptuğunda sıradakine geçer. Sunucu parolası gerekiyorsa portun ardından yazılabilir. TLS ayrıntıları için SSL bağlantı yazımıza bakın.
Dosya Ayarları
set userfile "KanalBotu.user"
set chanfile "KanalBotu.chan"
- userfile: Botun tanıdığı kullanıcıların, host maskelerinin, bayrakların ve parolaların tutulduğu dosya.
- chanfile: Botun girdiği kanalların ve kanal ayarlarının tutulduğu dosya.
Bu iki dosya botun hafızasıdır. Kaybolurlarsa bot kimseyi tanımaz ve hiçbir kanal ayarını hatırlamaz. Düzenli yedekleme için yedekleme yazımıza mutlaka göz atın.
Partyline ve Botnet Portu
listen 3333 all
Bu satır, botun 3333 numaralı portta hem kullanıcıların (partyline) hem de diğer botların (botnet) bağlantılarını kabul etmesini sağlar. Ayrı portlar kullanmak isterseniz:
listen 3333 users
listen 3334 bots
Bu portlar internete açıktır; telnet ile bağlanan herkes giriş ekranını görür. Güvenlik için yalnızca gerçekten ihtiyaç duyduğunuz portları açın ve kullanıcılarınızın güçlü parolalar kullandığından emin olun. Partyline'a erişim yöntemleri için partyline kullanımı yazımıza bakın.
Sahip (Owner)
set owner "Ahmet"
Bu ayar, botun sahibinin kullanıcı dosyasındaki adını belirtir. Sahiplik ilk çalıştırmada kurulur; ayrıntılar ilk çalıştırma yazımızda.
Log Ayarları
logfile mco * "logs/KanalBotu.log"
logfile jpk #kanal "logs/kanal.log"
set log-time 1
set keep-all-logs 0
Log türleri harflerle belirtilir: komutlar, kanal olayları, botnet olayları gibi. Kanal sohbetini kaydetmeden önce kanal kullanıcılarının bundan haberdar olması gerektiğini unutmayın. Ayrıntılar: log ayarları.
Modüller
eggdrop.conf'un ilerleyen bölümlerinde modüller yüklenir:
loadmodule channels
loadmodule server
loadmodule ctcp
loadmodule irc
loadmodule notes
loadmodule console
loadmodule seen
| Modül | Görevi |
|---|---|
| server | IRC sunucusuna bağlanma |
| irc | Kanal olaylarını yönetme |
| channels | Kanal ayarları ve banlar |
| ctcp | CTCP isteklerine cevap |
| notes | Kullanıcılar arası not sistemi |
| console | Partyline konsol ayarlarını hatırlama |
| seen | Basit "en son görülme" özelliği |
| share | Botnet'te kullanıcı dosyası paylaşımı |
| transfer | Dosya transferi |
| uptime | Çalışma süresi istatistiği |
Her modülün kendi ayarları vardır ve genellikle loadmodule satırının hemen altında açıklamalarıyla birlikte bulunur.
Script Yükleme
Dosyanın sonunda Tcl scriptleri yüklenir:
source scripts/alltools.tcl
source scripts/action.fix.tcl
Kendi scriptlerinizi de aynı şekilde ekleyebilirsiniz. Ayrıntılar: Tcl script yükleme.
Değişiklikleri Uygulamak
Bot çalışırken eggdrop.conf'ta değişiklik yaptıysanız partyline'da:
.rehash
komutu dosyayı yeniden okur. Sunucu ve modül ayarları gibi bazı değişiklikler ise .restart gerektirebilir. Tcl söz dizimi hatası yaptıysanız rehash başarısız olur ve bot hata mesajı gösterir; bot ise mevcut ayarlarla çalışmaya devam eder.
Sık Yapılan Hatalar
- die satırlarını kaldırmamak: Bot hemen kapanır.
- Tırnak veya parantez hatası: Tcl söz dizimi hatası verir.
- Sunucu portunda + unutmak: TLS sunucusuna şifresiz bağlanmaya çalışır ve başarısız olur.
- Userfile adını sonradan değiştirmek: Bot yeni, boş bir dosya oluşturur ve kimseyi tanımaz.
Daha fazla sorun için sık hatalar yazımıza bakın.
Ayarları Düzenli Tutmak
Örnek eggdrop.conf yüzlerce satırdan oluşur ve zamanla kendi eklemelerinizle daha da uzar. Düzeni korumanın iyi bir yolu, kendi değişikliklerinizi tek bir bölümde toplamak veya ayrı bir dosyaya yazıp ana dosyanın sonunda source ile çağırmaktır. Böylece Eggdrop'u yeni bir sürüme yükseltirken yeni örnek dosyayı alıp yalnızca kendi bölümünüzü eklemeniz yeterli olur. Değiştirdiğiniz her ayarın yanına kısa bir açıklama yazmak, aylar sonra dosyayı açtığınızda neyi neden değiştirdiğinizi hatırlamanızı sağlar.
Gizli Bilgileri Korumak
eggdrop.conf; NickServ parolası, SASL bilgileri veya botnet parolaları gibi hassas veriler içerebilir. Dosyanın izinlerini yalnızca botun kullanıcısının okuyabileceği şekilde ayarlayın (chmod 600). Yapılandırmanızı yardım almak için bir yerde paylaşacaksanız bu satırları mutlaka silin veya yıldızla gizleyin. Parolaları ayrı bir dosyada tutup ana yapılandırmadan çağırmak, paylaşım sırasında yanlışlıkla sızdırma riskini de azaltır.
Yapılandırmayı Test Etmek
Büyük bir değişiklik yaptıktan sonra botu hemen canlı kanalda yeniden başlatmak yerine önce -nt parametresiyle ön planda başlatıp çıktıyı izlemek, Tcl söz dizimi hatalarını anında görmenizi sağlar. Hata yoksa botu normal şekilde başlatabilirsiniz. Bu alışkanlık, gece yarısı fark edilmeyen bir hatanın botu saatlerce kapalı bırakmasını önler.
Sonuç
eggdrop.conf uzun bir dosya olsa da botunuzu çalıştırmak için düzenlemeniz gereken ayarlar sınırlıdır: kimlik bilgileri, sunucular, dosya adları, partyline portu ve sahip. Diğer ayarlar mantıklı varsayılanlarla gelir ve zamanla ihtiyaç duydukça keşfedebilirsiniz. Dosya hazırsa botu ilk kez çalıştırma zamanı: Eggdrop ilk çalıştırma.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
eggdrop.conf hangi dilde yazılır?
eggdrop.conf aslında bir Tcl dosyasıdır. Ayarlar set komutlarıyla tanımlanır ve Tcl söz dizimi kurallarına uyar.
die satırları neden var?
Örnek dosyanın düzenlenmeden çalıştırılmasını önlemek için konmuştur. Dosyayı düzenledikten sonra bu satırları kaldırmanız gerekir.
Ayar değişikliğinden sonra botu yeniden başlatmam gerekir mi?
Çoğu ayar partyline'da .rehash komutuyla uygulanabilir. Bazı ayarlar ise .restart gerektirir.


