Eggdrop Sürüm Yükseltme: Botu Güvenle Yeni Sürüme Taşımak
İçindekiler
Bir Eggdrop botu yıllarca aynı sürümle çalışabilir ve çoğu zaman sorun çıkarmaz. Ancak eski sürümler zamanla geride kalır: Güvenlik açıkları ortaya çıkar, IRC ağları SASL ve modern TLS gibi yeni özellikler bekler, işletim sistemi güncellemeleri eski kodun derlenmesini zorlaştırır. Eggdrop sürüm yükseltme, doğru planlandığında yarım saatlik bir iştir; plansız yapıldığında ise kullanıcı listesini veya kanal ayarlarını riske atabilir. Bu rehberde yükseltmeyi güvenli şekilde yapmanın adımlarını anlatıyoruz.
Neden Yükseltmeli?
- Güvenlik: Eski sürümlerde keşfedilmiş açıklar yeni sürümlerde kapatılır.
- Modern bağlantı özellikleri: SASL, güncel TLS sürümleri ve IRCv3 yetenekleri yeni sürümlerde daha iyi desteklenir. Bkz. Eggdrop SASL.
- Yeni özellikler: Python modülü gibi yenilikler yalnızca güncel sürümlerde bulunur. Bkz. Python modülü.
- Hata düzeltmeleri: Uzun süredir yaşadığınız küçük sorunlar yeni sürümde çözülmüş olabilir.
- İşletim sistemi uyumluluğu: Güncel derleyiciler ve kütüphanelerle eski kod sorun çıkarabilir.
1. Sürüm Notlarını Okuyun
Yükseltmeden önce, mevcut sürümünüzle hedef sürüm arasındaki bütün sürüm notlarını okuyun. Özellikle şu başlıklara dikkat edin:
- Kaldırılan veya adı değişen yapılandırma ayarları,
- Davranışı değişen Tcl komutları,
- Kaldırılan modüller,
- Userfile biçimindeki değişiklikler,
- Yeni gereksinimler (kütüphaneler, derleyici sürümü).
Büyük sürüm atlamalarında, örneğin 1.6 serisinden 1.10'a geçerken, değişiklik listesi uzun olabilir. Bu durumda ara sürümlerin notlarını da gözden geçirin.
2. Tam Yedek Alın
Hiçbir şeye dokunmadan önce botun bütün klasörünün yedeğini alın. Userfile, chanfile, eggdrop.conf, scriptler, script veri dosyaları ve sertifikalar bu yedeğe dahil olmalıdır. Partyline'da .backup komutunu çalıştırmak da iyi bir ek önlemdir. Yedekleme stratejileri için Eggdrop yedekleme yazımıza bakın.
3. Yeni Sürümü Ayrı Bir Klasöre Derleyin
Yeni sürümü mevcut kurulumun üzerine değil, ayrı bir klasöre kurun. Böylece bir sorun çıkarsa eski sürüme dönmek, yalnızca eski klasördeki botu yeniden başlatmak kadar kolay olur.
tar xzf eggdrop-yeni.tar.gz
cd eggdrop-yeni
./configure
make config
make
make install DEST=~/eggdrop-yeni
Configure çıktısında TLS ve varsa Python desteğinin bulunduğunu kontrol edin. Derleme adımlarının ayrıntıları Eggdrop kurulumu yazımızda.
4. Yapılandırmayı Aktarın
Burada iki yaklaşım vardır. Eski eggdrop.conf'u olduğu gibi yeni klasöre kopyalamak hızlıdır ama riskli olabilir: Kaldırılmış ayarlar uyarılara veya hatalara yol açar, yeni ve önemli ayarlar ise eksik kalır. Daha güvenli yaklaşım, yeni sürümle gelen örnek yapılandırma dosyasını temel almak ve eski dosyadaki kendi ayarlarınızı bu dosyaya tek tek aktarmaktır.
Bu iş için iki dosyayı yan yana karşılaştırmak işinizi kolaylaştırır. Botun adı, sunucu listesi, listen portları, userfile ve chanfile yolları, log ayarları ve yüklenen scriptler gibi kişisel ayarlarınızı aktarın. Yeni dosyadaki varsayılanları gözden geçirerek eskiden olmayan özellikleri değerlendirin. Yapılandırma dosyasının genel yapısı için eggdrop.conf ayarları yazımıza bakın.
5. Veri Dosyalarını Kopyalayın
Userfile, chanfile, scriptler ve script veri dosyalarını eski klasörden yeni klasöre kopyalayın. Yeni sürüm, eski userfile biçimini genellikle okuyabilir ve ilk kaydetmede yeni biçime dönüştürür. Bu dönüşüm geri alınamayabileceği için yedeğin önemi burada bir kez daha ortaya çıkar.
6. Scriptlerin Uyumluluğunu Kontrol Edin
Yükseltmelerde en sık sorun çıkaran kısım scriptlerdir. Eski scriptler, kaldırılmış Tcl komutlarını veya değişmiş parametre sıralarını kullanıyor olabilir. Ayrıca Eggdrop'un yeni sürümleri genellikle daha yeni bir Tcl sürümüyle çalışır ve bu da bazı eski script kalıplarının uyarı vermesine yol açabilir.
Uyumluluğu kontrol etmenin en iyi yolu, botu önce test modunda çalıştırmaktır.
7. Test Edin
Yeni botu farklı bir nickle ve yalnızca bir test kanalında çalıştırarak başlayın. Bunun için yeni yapılandırmanın geçici bir kopyasında nicki ve kanal listesini değiştirebilirsiniz. Test sırasında:
- Bot sunucuya bağlanıyor mu, TLS ve SASL çalışıyor mu?
- Partyline'a giriş yapılabiliyor mu?
- Kullanıcı listesi ve bayraklar doğru mu?
- Scriptler hatasız yükleniyor mu, komutlar çalışıyor mu?
- Log dosyalarında beklenmedik uyarılar var mı?
Hataları tek tek çözün. Sık karşılaşılan hatalar için Eggdrop sık hatalar yazımıza bakın.
8. Geçiş
Test başarılı olduğunda eski botu kapatın, yeni yapılandırmayı gerçek nick ve kanallarla güncelleyin ve yeni botu başlatın. Crontab'daki botchk kaydının yeni klasörü gösterdiğinden emin olun; aksi hâlde cron eski botu yeniden başlatabilir. Gerekirse autobotchk'ı yeni klasörde yeniden çalıştırın. Ayrıntılar autobotchk ve crontab yazımızda.
Geri Dönüş Planı
Her yükseltmenin bir geri dönüş planı olmalıdır. Yeni sürümde çözemediğiniz bir sorun çıkarsa yeni botu kapatıp eski klasördeki botu yeniden başlatın. Eski klasöre dokunmadığınız için bot kaldığı yerden devam eder. Yeni botta yapılan değişiklikler, örneğin yeni eklenen kullanıcılar, eski bota aktarılmaz; bu yüzden geçişten sonraki ilk günlerde kullanıcı listesinde büyük değişiklikler yapmaktan kaçının.
Botnet'te Yükseltme
Botnet içinde birden fazla botunuz varsa hepsini aynı anda yükseltmeyin. Önce bir leaf botu yükseltin ve birkaç gün sorunsuz çalıştığından emin olun. Ardından diğer leaf'leri, en son da hub'ı yükseltin. Farklı sürümlerdeki botlar genellikle botnet içinde birlikte çalışabilir, ancak çok büyük sürüm farklarında paylaşım sorunları yaşanabilir. Bkz. botnet kurulumu.
Yükseltme Takvimi
Yükseltmeyi kanalınızın en sakin olduğu saatlere planlayın. Gece geç saatler veya hafta içi sabahlar genellikle uygundur. Kanal kullanıcılarına kısa bir duyuru yaparak botun bir süre farklı davranabileceğini bildirmek de iyi bir nezakettir. Yükseltme sırasında yaptığınız her adımı kısa notlarla kaydedin; bir sonraki yükseltmede bu notlar size zaman kazandırır.
Sonuç
Eggdrop sürüm yükseltme; sürüm notlarını okumak, tam yedek almak, yeni sürümü ayrı klasöre kurmak, yapılandırmayı dikkatle aktarmak, test etmek ve bir geri dönüş planına sahip olmaktan ibarettir. Bu adımları izlediğinizde yükseltme, botunuzun güvenliğini ve yeteneklerini artıran sorunsuz bir işlem olur. Yükseltme sırasında veya günlük kullanımda karşılaşabileceğiniz hatalar için sıradaki rehberimiz Eggdrop sık hatalar.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Eggdrop'u neden güncel tutmalıyım?
Yeni sürümler güvenlik düzeltmeleri, TLS ve SASL gibi modern özellikler ve hata düzeltmeleri içerir. Eski sürümler bazı ağlara bağlanmakta zorlanabilir.
Yükseltmede userfile kaybolur mu?
Doğru yapılırsa hayır. Yeni sürüm genellikle eski userfile'ı okuyabilir, ancak her ihtimale karşı önceden yedek alınmalıdır.
Eski eggdrop.conf'u yeni sürümde kullanabilir miyim?
Genellikle çalışır ama önerilmez. Yeni örnek dosyayı temel alıp eski ayarlarınızı aktarmak daha güvenlidir.


