This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

My bot is very slow

Help for those learning Tcl or writing their own scripts.
Post Reply
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

My bot is very slow

Post by Arnold_X-P »

My bot before was very fast, now that adding more channels is very slow.
My eggdrop when it was on 3 channels was very fast, (it only took 15 seconds to respond requests), and for two weeks I added 3 more channels, ie my bot is now on 6 channels, now it takes about two minutes to work or respond Tcl requests.
It seems that when adding more channels the bot takes or is slow
Some friend that help me to make my bot fast as before.

In summary it seems that when adding more than five channels to the bot this influences that the bot is very slow, some friend who teaches me to solve this slowness by adding more than five channels.

help please
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
User avatar
caesar
Mint Rubber
Posts: 3778
Joined: Sun Oct 14, 2001 8:00 pm
Location: Mint Factory

Post by caesar »

Most likely you have some TCL scripts that are causing problems. Try with removing them all and see if there's a difference and then load them one by one until you notice the lag is back. When you find the culprit fix or remove it. Simple as that.
Once the game is over, the king and the pawn go back in the same box.
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

Post by Arnold_X-P »

Friend will not have a command in partyline to see how tcl works or show that tcl is consuming resources it is possible to see that with commands in partyline or dcc.

ok caesar thanks
I will check the tcl all and load in two by two to see that tcl is giving errors..
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

Post by Arnold_X-P »

hi caesar
I found the bug is in the file kantuta.chan
To much use the activation by partyline in .chanset #chan +
That makes the bot saturate and late in responding some tcl
The bot responds after 2 minutes that I enter the irc

Code: Select all

#Dynamic Channel File for Kantutina (eggdrop v1.8.0+preinit) -- written Sat Apr 22 14:00:00 2017

channel add #cremacamba { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #cremacamba -udef-flag-mc.who
channel set #cremacamba +udef-flag-whereis
channel set #cremacamba +udef-flag-whois
channel set #cremacamba +udef-flag-cswelcome
channel set #cremacamba -udef-flag-masscmd
channel add #lapaz { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #lapaz -udef-flag-mc.who
channel set #lapaz +udef-flag-whereis
channel set #lapaz +udef-flag-whois
channel set #lapaz +udef-flag-cswelcome
channel set #lapaz -udef-flag-masscmd
channel add #beni2 { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #beni2 -udef-flag-mc.who
channel set #beni2 -udef-flag-whereis
channel set #beni2 +udef-flag-whois
channel set #beni2 +udef-flag-cswelcome
channel set #beni2 -udef-flag-masscmd
channel add #ayudas { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #ayudas -udef-flag-mc.who
channel set #ayudas -udef-flag-whereis
channel set #ayudas +udef-flag-whois
channel set #ayudas -udef-flag-cswelcome
channel set #ayudas -udef-flag-masscmd
channel add #potosi { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #potosi -udef-flag-mc.who
channel set #potosi -udef-flag-whereis
channel set #potosi +udef-flag-whois
channel set #potosi -udef-flag-cswelcome
channel set #potosi -udef-flag-masscmd
channel add #cochabamba { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #cochabamba -udef-flag-mc.who
channel set #cochabamba +udef-flag-whereis
channel set #cochabamba +udef-flag-whois
channel set #cochabamba -udef-flag-cswelcome
channel set #cochabamba -udef-flag-masscmd
channel add #chile { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #chile -udef-flag-mc.who
channel set #chile -udef-flag-whereis
channel set #chile +udef-flag-whois
channel set #chile -udef-flag-cswelcome
channel set #chile -udef-flag-masscmd
channel add #SantaCruz { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #SantaCruz -udef-flag-mc.who
channel set #SantaCruz +udef-flag-whereis
channel set #SantaCruz +udef-flag-whois
channel set #SantaCruz +udef-flag-cswelcome
channel set #SantaCruz -udef-flag-masscmd
channel add #beni { chanmode +tn idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:85 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #beni -udef-flag-mc.who
channel set #beni +udef-flag-whereis
channel set #beni +udef-flag-whois
channel set #beni -udef-flag-cswelcome
channel set #beni -udef-flag-masscmd
channel add #Trinidad { chanmode +tn-ki idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:90 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #Trinidad -udef-flag-mc.who
channel set #Trinidad -udef-flag-whereis
channel set #Trinidad +udef-flag-whois
channel set #Trinidad -udef-flag-cswelcome
channel set #Trinidad -udef-flag-masscmd
channel add #bolivia2 { chanmode +tn-ki idle-kick 0 stopnethack-mode 0 revenge-mode 0 need-op {} need-invite {} need-key {} need-unban {} need-limit {} flood-chan 8:30 flood-ctcp 3:90 flood-join 6:70 flood-kick 3:65 flood-deop 4:50 flood-nick 4:65 aop-delay 5:30 ban-type 3 ban-time 120 exempt-time 60 invite-time 60 -enforcebans +dynamicbans +userbans -autoop -autohalfop -bitch +greet -protectops -protecthalfops -protectfriends +dontkickops +statuslog -revenge -revengebot -autovoice -secret +shared +cycle -seen -inactive +dynamicexempts +userexempts +dynamicinvites +userinvites -nodesynch -static }
channel set #bolivia2 -udef-flag-mc.who
channel set #bolivia2 -udef-flag-whereis
channel set #bolivia2 +udef-flag-whois
channel set #bolivia2 -udef-flag-cswelcome
channel set #bolivia2 -udef-flag-masscmd
The solution would be to increase the loading speed of the file kantuta.chan
Friend caesar is there any way to quickly load the kantuta.chan file so my bot is not slow
Last edited by Arnold_X-P on Wed Jun 21, 2017 4:27 pm, edited 1 time in total.
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

Post by Arnold_X-P »

Delete the kantuta.chan and without activating any setudef flag or .chanset #chan +
And when I enter my bot into irc and the channel the bot was again quick to respond to requests either .ping or other
In sistesis the detail of my bot is very slow is because it has many activations in kantuta.chan via partyline using the setudef flag or .chanset #chan +
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
User avatar
Arnold_X-P
Master
Posts: 226
Joined: Mon Oct 30, 2006 12:19 am
Location: DALnet - Trinidad - Beni - Bolivia
Contact:

Post by Arnold_X-P »

before my eggdrop when I restarted it was 2 minutes working tcl, now with that modification only takes 40 seconds.
the reasons that my eggdrop, before was very slow is because it has 50 active tcl omitting the tcl of trivia
and it is in more than 11 channels, all these factors influenced my bot to be slow at the beginning after 2 minutes of start, my bot became stable when using those modifications and a tcl that speeds up the pending tasks and bot became very fast, thus solving the issue of slowness..

the solutions I found was modifying these options that are by default in the eggdrop.conf:
predetermined options that are in eggdrop.conf

Code: Select all

set msg-rate 2
set max-queue-msg 300
set stack-limit 4

the modifications that I made

Code: Select all

set msg-rate 1       
set max-queue-msg 510  
set stack-limit 0 

This TCL also helped to make the pending tasks more agile, very useful, a theme given by awyeah
and the tcl I added it in my eggdrop.conf

Code: Select all

# Copyright (C) 2003 BarkerJr
#  http://forum.egghelp.org/viewtopic.php?t=8238
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

namespace eval put {
  # Name the queues here.  The further left, the higher priority queues.
  set queues [list akill kill echo ctcp2 ctcp msg warn]

  # Script begins here (nothing to do below here).
  foreach q $queues {
    if {![info exists queue($q)]} { set queue($q) {} }
  }
  unset -nocomplain -- q

  proc serv {q text} {
    variable queue
    variable errorInfo
    if {![info exists queue($q)]} {
      set errorInfo "No such queue named: $q"
      return 1
    }
    if {[lsearch -exact $queue($q) $text] != -1} {
      set errorInfo "Already exists in queue ($q): $text"
      return 2
    }
    lappend queue($q) $text
    return 0
  }

  foreach timer [utimers] {
    if {[lindex $timer 1] == {put::bisecondly}} { killutimer [lindex $timer 2] }
  }
  if {[info exists timer]} { unset -nocomplain -- timer }
  utimer 2 put::bisecondly
  proc bisecondly {} {
    variable queues
    variable queue
    foreach q $queues {
      if {[llength $queue($q)]} {
        putserv [lindex $queue($q) 0]
        set queue($q) [lreplace $queue($q) 0 0]
        utimer 2 put::bisecondly
        return
      }
    }
    utimer 2 put::bisecondly
  }

  bind dcc - qstat put::queuestat
  proc queuestat {hand idx text} {
    variable queues
    variable queue
    putdcc $idx {Queue      Lines}
    putdcc $idx {=================}
    foreach q $queues {
      putdcc $idx "[format %-10s $q] [format %5i [llength $queue($q)]]"
    }
    putdcc $idx {=================}
  }

  proc uninstall {} {
    unbind dcc - qstat put::queuestat
    foreach timer [utimers] {
      if {[lindex $timer 1] == {put::bisecondly}} { killutimer [lindex $timer 2] }
    }
    namespace delete [namespace current]
  }
}

putlog "agilizador de ordenes en colas pendientes."
I am very happy because my eggdrop was very fast again ..
I thought before the problem of slowness was a tcl that was perhaps causing failures, which was discarded because in these 10 days of extreme tests tcl by tcl that none gave failures so by failures of tcl was not the problem of the slowness.
Problem solved :D
.:an ideal world:. www.geocities.ws/chateo/yo.htm
my programming place /server ix.scay.net:7005
Post Reply