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.

netsplits and channel limiting

Old posts that have not been replied to for several years.
Locked
User avatar
z_one
Master
Posts: 269
Joined: Mon Jan 14, 2002 8:00 pm
Location: Canada

netsplits and channel limiting

Post by z_one »

Hi,

I have 2 eggdrops EggA and EggB.
EggA is on server One
EggB is on server Two

EggB is setting a channel limit to prevent floods. But suddenly server One splits from server Two.
When both servers reconnect... EggA sees 50 users on the channel but EggB sees 40 users on the channel.
So, since EggB is setting limit +5 is will limit the channel to 45 users and so it will set a very low limit preventing anyone on server One from joining !

Interestingly enough, I can solve this if I type on EggB's partyline: .reset #channelname
But if I don't reset manually, the EggB might take like 10 minutes to automatically synchronize its information and start setting the right limit again.
Is there a way to make an eggdrop update it's channel information quickly ? Like a person using mIRC does as soon as a netsplit rejoins ?

Thanks
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

it might be due to lag, also the limit won't prevent the users from the other server from joining the channel because they already are in it but on the other server.

anyway, use Slennox's chanlimit.tcl its pretty efficiant during netsplits.
User avatar
z_one
Master
Posts: 269
Joined: Mon Jan 14, 2002 8:00 pm
Location: Canada

Post by z_one »

No offense SirFz but your answers are most of the time out of subject.
To explain myself I quote
SirFz said : also the limit won't prevent the users from the other server from joining the channel because they already are in it but on the other server.
Man what on earth are you talking about ??? I am referring to users who just connected to irc a few seconds ago (server One) and are trying to join the channel.
I am not talking about users who rejoined on a split rejoin between both servers.
SirFz said : anyway, use Slennox's chanlimit.tcl its pretty efficiant during netsplits.
I am using Slennox's script !

Sorry if I was rude but I think you should read the questions carefully, evaluate, assess then try to come up with a useful answer.
No hard feelings !
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

z_one wrote:[snip]
EggA is on server One
EggB is on server Two

EggB is setting a channel limit to prevent floods. But suddenly server One splits from server Two.
When both servers reconnect... EggA sees 50 users on the channel but EggB sees 40 users on the channel.
So, since EggB is setting limit +5 is will limit the channel to 45 users and so it will set a very low limit preventing anyone on server One from joining ![snip]
read what you wrote yourself dude :)
if the limit is low then neither users on server 1 or 2 will be able to join (when not splitted) not just users from server 1, so what you meant is what I said you meant.. anyway, it looks like lag.. usually the server splits when it lags.
User avatar
z_one
Master
Posts: 269
Joined: Mon Jan 14, 2002 8:00 pm
Location: Canada

Post by z_one »

Yes I know what I said:
since EggB is setting limit +5 is will limit the channel to 45 users and so it will set a very low limit preventing anyone on server One from joining !
I didn't say "preventing users who got split on server One from joining !"

I hope that after making this clarification, someone will be able to help me find a solution to making the bot refresh channel information automatically without having to type .reset #channel
User avatar
Dedan
Master
Posts: 260
Joined: Wed Jul 09, 2003 10:50 pm
Location: Memphis

Post by Dedan »

I have the same problem,
4 bots on different servers all setting limits.

i have thought about it, but i have not come up
with a good solution .... i could use some
help on this too.

a "temp" fix, might be to
make a proc that detected a net-split, and then
it would ".reset #channelname" from the proc..
I once was an intelligent young man, now i am old and i can not remember who i was.
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

try do decrease the timer for checking limits.
User avatar
z_one
Master
Posts: 269
Joined: Mon Jan 14, 2002 8:00 pm
Location: Canada

Post by z_one »

Sir_Fz, nope. Decreasing the timer to check for limits has nothing to do with that at all. If the bot sees a different number of users from another bot (on another server) then it will always set a low limit (whether it does it every 1 minute or every 3 minutes). The calculated limit will always be too low!
Besides, setting a very low timer "defeats the purpose of channel limiting" (as Slennox points out in his Documentation for netbots).

Dedan, good point. I think the procedure should be called on netsplit rejoin (if not on both split and rejoin) since this is when the limit could get stuck to a low value.
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

you might create a quit and a join bind and a global varible to check if netsplit is aktiv. so you can lappend all netsplit quits to a list and delete them on join. If half of parted users are back the netsplit is decalred as over and list is reset after 30min to delete oldtimers. This varible might be used in any other scripts. But Im just to lazy to script one :D.
If you count the list entrys you may also calc the real users on channel.

PS: There is a special bind for split and rejoin! *blush*
Last edited by De Kus on Thu Nov 06, 2003 11:40 am, edited 1 time in total.
User avatar
Sir_Fz
Revered One
Posts: 3794
Joined: Sun Apr 27, 2003 3:10 pm
Location: Lebanon
Contact:

Post by Sir_Fz »

maybe the wait-netsplit option has something to do with it ?
Locked