IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Eggdrop, NeoStats, BNC (https://www.ircforumlari.net/eggdrop-neostats-bnc/)
-   -   eggdrop1.6.21 timer sorunu hakkında (https://www.ircforumlari.net/eggdrop-neostats-bnc/507013-eggdrop1621-timer-sorunu-hakkinda.html)

saywhat 11 Ekim 2012 16:22

eggdrop1.6.21 timer sorunu hakkında
 
selam.
eggdrop1.6.21 sürümünde yazımı sırasında yapılan ufak bir hata-eksik nedeniyle,
özellikle trivia tarzı oyun scriptlerini bu eggdrop versionunda işletirken ,( bu tarz scriptlerde çokça "timer" kullanılmak zorunluluğu doğar,soruya cevap verme süresi,ipuçlarını gösterme süresinin ayarlanması vs gibi aralıkları-süreleri belirlemek için) botunuz timer komutunda hata mesajı verecektir.

bu eggdrop1.6.21 versionundaki bug-hata belirlendikten sonra bir düzeltme-patch açıklandı.
bu eggdrop versionunu kullanıp bu türden timer hatalarıyla karşılaşanlar,
aşağıdaki düzeltmeyi yapıp botun yeniden kurulumunu yapmak durumunda kalacaklardır.(sadece eggdrop1.6.21 versionu için geçerlidir.diğer sürümlerde bu bug-hata söz konusu değildir.)

eggdrop1.6.21.tar.gz dosyasını hesabınıza çekip ,dizine çıkardıktan sonra :
Kod:

cd eggdrop1.6.21
komutuyla bu dizinde:
Kod:

wget [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
komutuyla bu hatayı düzeltecek timerworkaround.patch dosyasını bot kurulum klasörünün ana dizinine çekiyoruz.

Kod:

patch -p1 < timerworkaround.patch
komutuyla bu patch-yama'yı işliyoruz.

yapılan "patch" işlemini onaylamak için
Kod:

find. - yam "*.rej" -print
komutu uygulayabilirsiniz.bu şart değil isteğinize bağlıdır.

bundan sonra botunuzu sırasıyla
Kod:

./configure && make config && make && make install DEST=/home/kullanici-adiniz/yeni-botunuz
komutlarını uygulayarak botunuzu yeni baştan kuruyoruz.

yada bu hatayı elle-manuel onarmak için:
Kod:

cd eggdrop1.6.21/src/tcl.c
dosyasını açıyoruz.(ister sftp ile indirip açabilir ister Shell üzerindeki pico ,nano vs gibi araçlarla açıp düzenleyebilirsiniz) tcl.c dosyasında 614. satırdaki
Kod:

do_tcl_async(context, script, bgtclcallback);
satırını
Kod:

do_tcl_sync(context, script, bgtclcallback, 0);
olarak değişip kaydediyoruz. sonra bot ana dizinine gidip normal şekilde

Kod:

./configure && make config && make && make install DEST=/home/kullanici-adiniz/yeni-botunuz
ile kuruyoruz.böylece eggdrop'un 1.6.21 versionundaki "timer" hatasını onarmış oluyorsunuz.

kinaye 21 Mart 2013 18:31

Cevap: eggdrop1.6.21 timer sorunu hakkında
 
Özel mesajınız kapali oldugundan burdan yazdım

centos6 32 bit syteme tcl8.5 ve eggdrop1.6.17 kurulu

fakat oyun botlarında merlin ve trivia tcl de denedigimde

ard arda verilen 5. cevaptan sonra yavaşlamaya başlıyor

normal calışmasında bir sorun yok

diger eggdropları(eggdrop1.6.18-eggdrop1.6.21) denedigimde de aynı sorun devam ediyor

tcl8.6 eggdrop1.6.20 kurdum eggdrop hizlandirmak icin gerekli yerleri duzenledim gene aynı sorun devam ediyor

Sorun hakkında bilginiz varsa yardımcı olursan sevinirim.

saywhat 21 Mart 2013 19:07

Cevap: eggdrop1.6.21 timer sorunu hakkında
 
daha fazla hız konusunda : eggdrop maximum 2 saniyede 512 byte'lık veri gönderebiliyor bağlı olduğu sunucuyla arasında.bundan daha fazlası teknik olarak mümkün değil.ayrıca bu "sınırları" ne kadar zorlarsanız botun lag'a düşmesi yavaşlaması söz konusu olabilir.botlarınız üstünde işlev gören scriptlerin özelliklerine-yaptırdığı iş yoğunluğuna göre bot bundan verim anlamında etkilenebilir.örnek vermek gerekirse yoğun socket bağlantısı kullandıracak rss scriptleri gibi yada bind raw içeren ki bu sunucudan gelen mesajlara göre ordan gelecek cevaba göre istenen işi yapmasını gerektiren kodlar. misal yoğun giriş çıkışı olan bi sunucuda bota bu yoğunluğu takip ettirecek bi kod-görev verilmişse bu yoğunluğa bağlı olarak botun veriminde düşme-yavaşlama söz konusu olabilecektir.

botun sınırlarını illa zorlamak isteniyorsa yapılabilecek bikaç iş var tabii.. hemen aklıma gelen .conf üstünde set msgrate 0 satırı eklemek. botu sıfırdan kurup derlemeye girişmeden önce kurulum klasörü içinden eggdrop*/src/mod/server.mod/server.c dosyası içinde #define msgrate satırı öntanımlı olarak 2 ayarlıdır onu (1 yada 0 ) olarak değişip kurulumu gerçekleştirebilirsiniz.

bunun dışında şu kod parçasını :

Kod:

proc instasend {text args} {
putnow $text
}
 if {[info commands putquick_r] eq ""} {
 foreach c {putquick putserv puthelp} {
 rename $c ${c}_r
 interp alias {} $c {} instasend } }

eggdrop.conf'içine ekleyin.bu botun tüm kanala yansııttığı postalama methodlarının "putnow" yani en hızlı şekilde gerçekleştirmesini sağlayacaktır.ancak şuda unutulmamalı bu ard arda kanal üstüne çoklu satır postaladığınızda sunucu kaynaklı yavaşlamada söz konusu oluyor yani kendinizde misal burdaki yazıları alıp bi anda kanala postalama copy-paste etmeye kalksanız yanlış hartırlamıyorsam 5-6 satırdan sonra kanala yavaşlayarak gecikmeli gider öyle bi anda tüm satırları atmayacaktır.

yukarda verdiğim kod parçasını .conf içine attıktan sonra .rehash yeterli değil.botu en az .restart etmelisiniz.ve riskide "sunucudan flood"'dan düşme riskinide göze almış olursunuz...bu risk özellikle aynı anda botun kanala mesaj atması için bulunduğu kanallarda komut kullanılması sırasında doğabilecektir.

{artı hız konusunda botun işlediği makina'nın özellikleri /gücü/hızı. internet bant genişliği/ hızı gibi kavramlarında etkisi mutlaktır.)

bu linki inceleyebilirsiniz daha teknik bilgi için -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 21:20.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk