mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 2 1 2
Joined: Apr 2003
Posts: 342
M
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2003
Posts: 342
Every Mac client I've used since the beginning of time will auto fetch every user's address in a channel. They all do it the same way. Sending 5 /userhost commands, each /userhost command specifying five nicks too look up. 30 second wait between each set of 25 nick look ups, and once the entire channel has been checked, it waits 300 seconds and then starts again (for obtaining both away and oper status).

My script does this... but really... I think it's time mIRC does the work.

Joined: Dec 2002
Posts: 5,408
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,408
Most features in mIRC are designed to be network resource-friendly. In this particular case, since the large majority of users don't need the IAL to be filled, making mIRC do this automatically would be a waste of IRC network resources. Many users join channels and idle for extended periods of time, and such an automated feature would end up being the reason for much of their network resource usage. This is why the scripting language supports the IAL, to allow those who need it to use it.

Joined: Jul 2008
Posts: 24
W
Ameglian cow
Offline
Ameglian cow
W
Joined: Jul 2008
Posts: 24
Maybe have an opinion that allows one to turn the updating of IAL on and off? This way people that idle can leave it deactivated, and others can activate it as needed.


=======================
Count WhipLash
Services Administrator
KnightNet
=======================
Joined: Aug 2007
Posts: 12
E
Pikka bird
Offline
Pikka bird
E
Joined: Aug 2007
Posts: 12
Try doing a /who $chan whenever you join a room, instead of doing so many /userhost commands. I've always used that to fill my IAL. Granted, if you're in a very large room it may slow things down if you're doing extra processing like storing away status or something.

Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
Said option would be just as good as a simple one line script:

Code:
ON ME:JOIN:#:who #


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
that should be
Code:
on ME:*:JOIN:#:who #


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Dec 2002
Posts: 36
T
Ameglian cow
Offline
Ameglian cow
T
Joined: Dec 2002
Posts: 36
Hi,

fyi, doing userhost results in a server-notice if the user if an oper hat has enabled a special umode (normally +W). So I'd warn such a user and kill them if they do not stop using this kind of scripts.


cu

TC / Mario
Joined: Jan 2003
Posts: 1,063
D
Hoopy frood
Offline
Hoopy frood
D
Joined: Jan 2003
Posts: 1,063
I kind of fail to see why you would kill someone who does a simple /who(is) (I can't remember /userhost also throwing that server notice)

not like there is any harm in doing that. and since it doesn't have a high impact on the server if only a few people do it (since it's not a default feature), why make a problem out of it?

I'm an admin and have that mode turned on mostly to check on bots who /who(is) and /ctcp version. never went loose on a regular user doing it.


If it ain't broken, don't fix it!
Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
Then you should either set -W or have your privileges revoked. I can't imagine anyone disallowing users from checking the userhost of another user just because it inconveniences some oper who chose to have every userhost notice flood shown to them. God forbid your buffer should be flooded due to a reasonable usage by a regular IRC user.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Nov 2004
Posts: 842
Hoopy frood
Offline
Hoopy frood
Joined: Nov 2004
Posts: 842
Out of interest, does mIRC auto-fill the IAL if n!u@h is displayed in /names?

Quote:

-
#Antarctica @+Ka-Wiz!ka-wiz@ka-wiz.Users.AxisIRC.Com @+tyler!tyler2435@tyler.Opers.AxisIRC.Com @+Jigsy!Jigsy@Why.are.you.Whoising.me.you.Perve.rt @ChanServ!ChanServ@Services.AxisIRC.Com
#Antarctica End of /NAMES list.
-


What do you do at the end of the world? Are you busy? Will you save us?
Joined: Apr 2003
Posts: 342
M
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2003
Posts: 342
Originally Posted By: mths
Hi,

fyi, doing userhost results in a server-notice if the user if an oper hat has enabled a special umode (normally +W). So I'd warn such a user and kill them if they do not stop using this kind of scripts.


No it doesn't... just throws a server notice on /whois... not on /userhost. Listen... these Mac clients don't have the option to disable it, neither does my script. I've NEVER EVER EVER have been notified by sending /userhost commands repeatedly. EVER.

And DO NOT USE /WHO <channel> to fill the IAL. /userhost is far more efficient. Using /userhost uses 1/5th the bandwidth versus /who... and you can control the I/O rate.

Seriously... just try using /who <channel> on a channel with many hundreds of users. You'll be disconnected by the server. The whole reason why I would like mIRC to send /userhost commands automatically is to stop people from using /who <channel>. And no, using /userhost in moderation does not put excessive stress on the server. I've connected at 2400bps using the /userhost technique, it's not even noticable at that low speed.


Beware of MeStinkBAD! He knows more than he actually does!
Joined: Dec 2002
Posts: 3,138
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 3,138
Originally Posted By: Jigsy
Out of interest, does mIRC auto-fill the IAL if n!u@h is displayed in /names?

It does.

Joined: Dec 2002
Posts: 2,031
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,031

I've seen it done for /userhost too. It was probably Unreal.

~ Edit ~

How do you figure that using /userhost instead of /who uses 1/5 the bandwidth? If you join a channel of 100 users and send a /who request, that's just 1 request with 100 replies. If you use /userhost that would be 100 requests with 100 replies. I don't think mIRC should auto fill the IAL at all, it's just not important enough to have ALL of the addresses as soon as you join the channel. The average user would not need the addresses at all, let alone get them automatically as soon as they join the channel. The more advanced user can script it.


Originally Posted By: YouStinkBAD

Seriously... just try using /who <channel> on a channel with many hundreds of users. You'll be disconnected by the server.



I do it several times daily and don't get disconnected.

Joined: Nov 2006
Posts: 1,559
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Nov 2006
Posts: 1,559
Nor do I.. "max sendQ" may vary from ircd config to ircd config, like some networks may dislike *mass* userhost requests. And that's exactly why it shouldn't be a default setting or a quick checkbox, besides the important reasons already stated, especially with regard to
Quote:
...and once the entire channel has been checked, it waits 300 seconds and then starts again (for obtaining both away and oper status)
There *may* be situations/scripts that need a complete ial as soon as possible (or an updated ial) - and you can scipt it for these purposes.

Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
Servers don't disconnect you based on how much information they send to you, they disconnect you based on how much you send to them (if you ignore SendQ which I've only ever seen surpassed through /LIST). Sending 5 /who #channel commands in 3 seconds is still only equivalent to sending 5 commands to the server in 3 seconds.. if you think about it, it's not much. I'ved typed faster than that without problems.

What the server sends back is not part of what can flood you off, otherwise PRIVMSG floods would make it extremely easy to disconnect any user. The server will, however, throttle your connection and probably lag you a bit, but you can always put your /who commands in separate timer events to compensate for lag if you join multiple channels on connect. One single who command is unlikely to lag you let alone drop your connection even if the channel had > 300 users in it. I've never seen that happen. You're probably referring to sending multiple who commands successively for large channels, which is your fault as the scripter.



- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Apr 2004
Posts: 871
Sat Offline
Hoopy frood
Offline
Hoopy frood
Joined: Apr 2004
Posts: 871
Originally Posted By: argv0
Servers don't disconnect you based on how much information they send to you, [..] What the server sends back is not part of what can flood you off, otherwise PRIVMSG floods would make it extremely easy to disconnect any user. [..] One single who command is unlikely to lag you let alone drop your connection even if the channel had > 300 users in it. I've never seen that happen.

Yes they do, yes it is, yes privmsg floods do disconnect users, and yes a single /who can also cause such a disconnection on big channels and servers with restrictive sendq settings. There are still more than a few of those.

Doing /who on join should never be done by mIRC. The solution used by all of MeStinkBAD's mac clients isn't bad, but since most mIRC users don't need it anyway, why not just leave this up to a script? I think the status quo is fine.


Saturn, QuakeNet staff
Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
s/"don't"/"shouldn't"/.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"
Joined: Apr 2003
Posts: 342
M
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2003
Posts: 342
Originally Posted By: RoCk

I've seen it done for /userhost too. It was probably Unreal.

~ Edit ~

How do you figure that using /userhost instead of /who uses 1/5 the bandwidth? If you join a channel of 100 users and send a /who request, that's just 1 request with 100 replies. If you use /userhost that would be 100 requests with 100 replies. I don't think mIRC should auto fill the IAL at all, it's just not important enough to have ALL of the addresses as soon as you join the channel. The average user would not need the addresses at all, let alone get them automatically as soon as they join the channel. The more advanced user can script it.


Because you get up to five users per line... here is an actual example...

Code:
USERHOST BatmanX carlosp coffeecat cookiem0nsta dan--
USERHOST DerekS Dr_Stein DShadow esqueamio FarmerJoe
USERHOST Hallje hb ircleuser999 kev- Ke^in
USERHOST leba Lisa MacGOD MacServ MReedB
USERHOST NDPMacBook NDPTAL85 piv ScreamuS SFaulken
:Vancouver.BC.CA.Undernet.org 302 ircleuser999 :BatmanX=+~mhaque@66.92.151.147 carlosp=+~carlosp@c-98-218-20-53.hsd1.md.comcast.net coffeecat=+~cookie@199.233.178.253 cookiem0nsta=+~cookie@c-67-183-75-224.hsd1.wa.comcast.net dan--=+~dan@dlieberman.users.undernet.org

:Vancouver.BC.CA.Undernet.org 302 ircleuser999 :DerekS=-~dereks@DerekS.users.undernet.org Dr_Stein=+~Dr_Stein@heap.pbp.net DShadow=+~dshadow@static-71-246-204-84.washdc.fios.verizon.net esqueamio=+~Squeam@squeams.users.undernet.org FarmerJoe=+~FarmerJoe@farmerjoe.users.undernet.org
:Vancouver.BC.CA.Undernet.org 302 ircleuser999 :Hallje=+hallje@hallje.users.undernet.org hb=+ed@ohno.mrbill.net ircleuser999=+~likfyr@ip72-200-68-53.tc.ph.cox.net kev-=+~kev@penguinmilitia.net Ke^in=+~pigsinzen@lagging.users.undernet.org
:Vancouver.BC.CA.Undernet.org 302 ircleuser999 :leba=+~leba@201.86.250.96.adsl.gvt.net.br Lisa=-~Lisa@geekgrrl.users.undernet.org MacGOD=+~macgod@static-71-246-204-85.washdc.fios.verizon.net MacServ=+~MacServ@viper.haque.net MReedB*=+mreedb@MReedB.users.undernet.org
:Vancouver.BC.CA.Undernet.org 302 ircleuser999 :NDPMacBook=+~ndpmacboo@207-180-136-61.c3-0.sbo-ubr2.sbo.ma.cable.rcn.com NDPTAL85=+~ndptal85@NDPTAL85.users.undernet.org piv=+~wam@ool-4572a621.dyn.optonline.net ScreamuS=+~ScreaM@lns-bzn-61-82-250-116-212.adsl.proxad.net SFaulken=+~ngydtip@SFaulken.users.undernet.org


Listen... Ircle has ALWAYS done this. As does just about every Mac client.


Beware of MeStinkBAD! He knows more than he actually does!
Joined: Dec 2002
Posts: 2,031
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,031

Ok so it's 20 requests for 100 replies for for a 100 user channel, it's still not 1/5 the badwidth of a single /who request at 1 request for 100 replies. I agree with Sat that it's fine the way it is and mIRC should not do it automatically. Having all the addresses in the IAL just isn't that improtant to the average user, not to mention that it isn't "network resource-friendly" as Khaled put it earlier in this thread. The are some things that should just be left to script. I don't care what ircle does, or any other client for that matter.

Joined: Apr 2003
Posts: 342
M
Fjord artisan
OP Offline
Fjord artisan
M
Joined: Apr 2003
Posts: 342
Originally Posted By: Khaled
Most features in mIRC are designed to be network resource-friendly. In this particular case, since the large majority of users don't need the IAL to be filled, making mIRC do this automatically would be a waste of IRC network resources. Many users join channels and idle for extended periods of time, and such an automated feature would end up being the reason for much of their network resource usage. This is why the scripting language supports the IAL, to allow those who need it to use it.


Khaled, /userhost, as you know, returns one line back for each one sent. So, the only way it would be resource intensive is if the client didn't throttle it's output. mIRC uses /userhost for commands such as /ban and /dns when that user is not in the IAL. Perhaps you should explain why you choose /userhost vs. /who. I don't think anyone else here has any idea what the intent of the /userhost command is. It probably is the most network-resource friendly command used by IRC servers. Honestly it's about as resource intensive as using the /ison command for checking the notify list on legacy servers.

Listen Khaled, if you know a more effecient way of obtaining the information for a complete IAL, I would like to here it. Honestly, why have an IAL if mIRC can't fill it on it's own? People can script there own IAL's too.

Listen, this feature could be enabled or disabled the same way you could originally enable or disable the IAL. Leave it disabled by default. You would might be surprised how many people actually enable it and *like* this feature.


Beware of MeStinkBAD! He knows more than he actually does!
Page 1 of 2 1 2

Link Copied to Clipboard