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.

editing server.c for performance issues ...

Discussion of Eggdrop's code and module programming in C.
Post Reply
]
]Godlike[
Voice
Posts: 9
Joined: Fri Apr 29, 2005 3:50 pm

editing server.c for performance issues ...

Post by ]Godlike[ »

Ok. I`ll describe what i am doing, want to do.

I use eggdrop 1.6.17, but it`s queueing system is too slow for me. So i need a eggdrop who will be able to flood out 100 lines or more in a sec or two.

Now i know that can be done, because it`s a RAW DCC mode somehow. I have a private ircd on which (Excess Flood) is disabled for this paticualry bot, so that wont be a problem.

Now i use my scripts with the procedure:

Code: Select all

proc putfast {arg} {
  append arg "\n"
  putdccraw 0 [string length $arg] $arg
}
so there is not much i can optimize there.

So i know the bot queueing system to the server is made in server.c which is in: src\mod\server.mod\server.c but how could i optimize this to realy make the bot flood out what i need, because now it`s realy too slow :cry:

I tried with #define msgrate 0 ... no change,
and with

Code: Select all

tputs(serv, buf, len);
    return;
which is also not helping (this was described in this forum when i searched through it).

So please please please help me out, i realy need a fast bot, so i can use it for flooding results from a game server and some other stuffs.

Please help me out, and thx for reading this long text :)
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

If you use putdccraw, it doesn't use the bot's queueing system, so there's no point changing the server code.

One thing you might try is combining lines into a single message, e.g.

putfast "$msg1\n$msg2\n$msg3"
]
]Godlike[
Voice
Posts: 9
Joined: Fri Apr 29, 2005 3:50 pm

Post by ]Godlike[ »

Well yes i use dccraw but bot still isnt fast, he floods a few msg more in a second, but that still isn`t it.

And i saw how eggdrop can flood out 200 lines in a second, and the guy who made it edited the source not just used the dccraw, he told me to look in the server.c but other than that i dunno what to change, tried a few modifications but still no progress have been made, somebody sure can tell me more about this so i can make this to work :(

cya.
User avatar
KrzychuG
Master
Posts: 306
Joined: Sat Aug 16, 2003 2:51 pm
Location: Torun, Poland
Contact:

Post by KrzychuG »

Everything depend on network and connection. putdccraw send data directly to server (without using queues) same as 'dprintf(-serv, "DATA");' in source code. Some network uses penalties and won't let any client to send too much data.
Que?
]
]Godlike[
Voice
Posts: 9
Joined: Fri Apr 29, 2005 3:50 pm

Post by ]Godlike[ »

Well it`s ircd which i set up and no penalties ....

And the bot which i seen somewhere was on the same version of ircd (Unreal IRCD), and it was a LOT better than mine...

And connection is very fast aswell ....

help :(
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

probably you exceed the outgoing buffer of the TCP connection what delays further of more than usually 4kb. So maybe the bot doesnt check often enough, if the queue has been flushed. Perhaps this check interval can be modified within the server.c, I dont know :). Just a suggestion.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
]
]Godlike[
Voice
Posts: 9
Joined: Fri Apr 29, 2005 3:50 pm

Post by ]Godlike[ »

Good thinking, will check ...
]
]Godlike[
Voice
Posts: 9
Joined: Fri Apr 29, 2005 3:50 pm

Post by ]Godlike[ »

Heh, tried a few things, compiled like 30 times and tried different approaches, but nothing didn`t work :(

Please, maybe some of the devel. team can help me, i realy need this :(

cya
Post Reply