egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Data loss and or Latency

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help
View previous topic :: View next topic  
Author Message
ghostscript
Voice


Joined: 08 Feb 2006
Posts: 13
Location: unknown

PostPosted: Sat Apr 08, 2006 1:42 pm    Post subject: Data loss and or Latency Reply with quote

Hello, we are running Eggdrop 1.6.17 and IRCd Hybrid 6. We have two bots total. One bot picks up binds in the channel, then starts a query between the user that initiated the bind and the second bot. The second bot, who is now in a PRIVMSG with the user, responds to user input and outputs a text response. We seem to be having an issue with severe latency and, in some cases, data loss. Previously, we had postulated that the issue was rooted in the eggdrop.conf. However, after the change multiple settings had little to no effect, we turned to examining the server module. Is it possible that any of the settings in that file are causing the issue, or that they are conflicting with other settings in other files. This issue seems to arise if we either have 2 users continually requests responses from the bot (not flooding, but high volume) or more than 5 users with about 4-5 requests each. This occurs regardless of the length or complexity of the bot's response, but happens more quickly with more complex (15 line) responses. Please let us know if you have any suggestions, or if you require more information. All help is greatly appreciated.
Back to top
View user's profile Send private message Visit poster's website AIM Address
YooHoo
Owner


Joined: 13 Feb 2003
Posts: 939
Location: Redwood Coast

PostPosted: Sun Apr 09, 2006 8:21 am    Post subject: Reply with quote

Exclamation Use putserv when you need some thing to happen instantaneously. Like a kick, or a ban.

Exclamation Use puthelp when messaging people, or channels.

There are three commands with which you can send commands to the IRC server. These commands are [putserv], [puthelp] and [putquick]. All of these commands do exactly the same thing, but they use different queues. The [putquick] command uses the fastest queue and is used if you want something to be sent to the server immediantly. The [putserv] command uses the normal queue for server messages and is also the command to use when you are sending something to the server that doesn't need to be rushed. The [puthelp] command uses the slowest queues and is used to send things like messages and notices to other people, because that usually has a lower priority. The syntax a [putquick], [putserv] or [puthelp] command is [putserv <text> [options]]. The <text> is the command and parameters you want to send to the IRC server. If you want to send a message to someone or a channel, the syntax would be ["PRIVMSG <nickname/channel> :<message>"] or if you want to send a notice the syntax would be ["NOTICE <nickname/channel> :<message>"], where <nickname/channel> is the nickname or channel to which you want to send the message and <message> is the message that you want to send. For example [puthelp "PRIVMSG foo :Hi there."] would send the message "Hi there." to the nickname "foo". The [options] are the parameters for the command. At the moment there is only one parameter and that's -next. This will push your command to the front of the queue that the command uses and thereby sending it faster.
_________________
Mr. Green
Johoho's TCL for beginners
Mr. Green
Back to top
View user's profile Send private message Send e-mail
ghostscript
Voice


Joined: 08 Feb 2006
Posts: 13
Location: unknown

PostPosted: Sun Apr 09, 2006 12:31 pm    Post subject: Thank you ... but Reply with quote

While I understand the logic of your post, I do not think that is the issue. Below is a sample of one of the bots I mentioned. As you can see it uses putquicks - we have also tried those other variations you suggested with no change. We believe the issue resides within some settings within the server module included with eggdrop pre-compile. As you can tell from the bot - it's simplistic, but by no means a beginners bot. We are about 98% sure its a setting we need to adjust pre-compile in the server module - we just need help figuring out what settings we need to adjust. =) By all means please provide more feedback and/or additional ideas

Code:
bind pub - !takethis pub_takethis
proc pub_takethis {nick mask hand channel args} {
   set args_list [split $args "."]
   set tnick [lindex $args_list 0]
   set tcase [lindex $args_list 1]
   set tchannel [lindex $args_list 2]

   putquick "PRIVMSG #bot_city :$tchannel"
   putquick "PRIVMSG $tchannel :!take"
   putquick "PRIVMSG #bot_city :!taken $tcase.$tchannel"
   putquick "PRIVMSG $tnick :Hello there! My name is AgentBot. Give me a few moments to open and read over the case notes. Do you have a specific question you would like to ask?"
}

bind msgm - {*alpha*} *alpha*
proc *alpha* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :alpha"
   after {3000}
}

bind msgm - {*bravo*} *bravo*
proc *bravo* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :Bravo"
   after {3000}
}

bind msgm - {*charlie*} *charlie*
proc *charlie* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :Charlie"
   after {3000}
}

bind msgm - {*delta*} *delta*
proc *delta* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :Delta"
   after {3000}
}

bind msgm - {*echo*} *echo*
proc *echo* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :echo"
   after {3000}
}

bind msgm - {*foxtrot*} *foxtrot*
proc *foxtrot* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :foxtrot"
   after {3000}
}

bind msgm - {*golf*} *golf*
proc *golf* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :golf"
   after {3000}
}

bind msgm - {*hotel*} *hotel*
proc *hotel* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :Hotel"
   after {3000}
}

bind msgm - {*india*} *india*
proc *india* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :india"
   after {3000}
}

bind msgm - {*juliet*} *juliet*
proc *juliet* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :juliet"
   after {3000}
}

bind msgm - {*kilo*} *kilo*
proc *kilo* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :kilo"
   after {3000}
}

bind msgm - {*lima*} *lima*
proc *lima* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :lima"
   after {3000}
}

bind msgm - {*mike*} *mike*
proc *mike* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :mike"
   after {3000}
}

bind msgm - {*november*} *november*
proc *november* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :november"
   after {3000}
}

bind msgm - {*oscar*} *oscar*
proc *oscar* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :oscar"
   after {3000}
}

bind msgm - {*papa*} *papa*
proc *papa* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :papa"
   after {3000}
}

bind msgm - {*quebec*} *quebec*
proc *quebec* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :quebec"
   after {3000}
}

bind msgm - {*romeo*} *romeo*
proc *romeo* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :romeo"
   after {3000}
}

bind msgm - {*sierra*} *sierra*
proc *sierra* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :sierra"
   after {3000}
}

bind msgm - {*tango*} *tango*
proc *tango* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :tango"
   after {3000}
}

bind msgm - {*uniform*} *uniform*
proc *uniform* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :uniform"
   after {3000}
}

bind msgm - {*victor*} *victor*
proc *victor* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :victor"
   after {3000}
}

bind msgm - {*whiskey*} *whiskey*
proc *whiskey* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :whiskey"
   after {3000}
}

bind msgm - {*x-ray*} *x-ray*
proc *x-ray* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :x-ray"
   after {3000}
}

bind msgm - {*yankee*} *yankee*
proc *yankee* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :yankee"
   after {3000}
}

bind msgm - {*zulu*} *zulu*
proc *zulu* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :Zulu"
   after {3000}
}

bind msgm - {*one*} *one*
proc *one* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :too"
   after {3000}
}

bind msgm - {*this*} *this*
proc *this* {nick mask hand text} {
   after {3000}
   putquick "PRIVMSG $nick :here it is"
   after {3000}
}

Back to top
View user's profile Send private message Visit poster's website AIM Address
ghostscript
Voice


Joined: 08 Feb 2006
Posts: 13
Location: unknown

PostPosted: Sun Apr 09, 2006 2:46 pm    Post subject: Please Read Reply with quote

In the current version we have no "after 3000" Those delays were intentional and were removed before testing the current problem - it isn't them since they are no longer there, Thanks.
Back to top
View user's profile Send private message Visit poster's website AIM Address
YooHoo
Owner


Joined: 13 Feb 2003
Posts: 939
Location: Redwood Coast

PostPosted: Sun Apr 09, 2006 5:00 pm    Post subject: Reply with quote

Maybe you would find it helpful to set your console to +rv, to view the raw data to/from the server, might provide a better clue....?
_________________
Mr. Green
Johoho's TCL for beginners
Mr. Green
Back to top
View user's profile Send private message Send e-mail
ghostscript
Voice


Joined: 08 Feb 2006
Posts: 13
Location: unknown

PostPosted: Sun Apr 09, 2006 6:24 pm    Post subject: Woot Reply with quote

Alright, I will do that and relay the findings here, will be posted before 12PM PST. Thank you.
Back to top
View user's profile Send private message Visit poster's website AIM Address
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber