Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: Smurfling on April 25, 2003, 04:53 PM

Title: /astat
Post by: Smurfling on April 25, 2003, 04:53 PM
Hmm in the game chat there's the client sending /astat <username> instead of /stats <username>.

As far as i have seen there isn't a difference in the result, both will display the stats. Or have i missed there something and there's a difference?
Title: Re:/astat
Post by: tA-Kane on April 25, 2003, 05:24 PM
I beleive the biggest difference is /astat (short for auto stats) is sent automatically, whereas /stats is not.
Title: Re:/astat
Post by: iago on April 25, 2003, 06:10 PM
My guess is that it is asynchronous.  If you send, say, /whoami and /stats right after each other, and /stats is processed first, it will still wait for /whoami to finish before displaying /stats, whereis /astat waits for nuttin' and no one.

I've never tested this, though! :)
Title: Re:/astat
Post by: Banana fanna fo fanna on April 26, 2003, 09:50 AM
Maybe it doesn't affect antiflood?
Title: Re:/astat
Post by: Yoni on April 26, 2003, 10:33 AM
Quote from: St0rm.iD on April 26, 2003, 09:50 AM
Maybe it doesn't affect antiflood?
Try making a game and having 7 people join quickly. You will get IPbanned for flooding with 7 /astat's. That is something that SCE fixes (it disables the automatic /astat).
Title: Re:/astat
Post by: iago on April 26, 2003, 01:23 PM
Quote from: Yoni on April 26, 2003, 10:33 AM
Quote from: St0rm.iD on April 26, 2003, 09:50 AM
Maybe it doesn't affect antiflood?
Try making a game and having 7 people join quickly. You will get IPbanned for flooding with 7 /astat's. That is something that SCE fixes (it disables the automatic /astat).

Yes, I fixed that too.. battle.net *should* make sure that /astat doesn't flood, and maybe at one time it did, but it doesn't now.
Title: Re:/astat
Post by: Skywing on April 27, 2003, 06:35 PM
Quote from: iago on April 25, 2003, 06:10 PM
My guess is that it is asynchronous.  If you send, say, /whoami and /stats right after each other, and /stats is processed first, it will still wait for /whoami to finish before displaying /stats, whereis /astat waits for nuttin' and no one.

I've never tested this, though! :)

All stats and profile queries are asynchronous.
Title: Re:/astat
Post by: iago on April 27, 2003, 08:43 PM
Quote from: Skywing on April 27, 2003, 06:35 PM
Quote from: iago on April 25, 2003, 06:10 PM
My guess is that it is asynchronous.  If you send, say, /whoami and /stats right after each other, and /stats is processed first, it will still wait for /whoami to finish before displaying /stats, whereis /astat waits for nuttin' and no one.

I've never tested this, though! :)

All stats and profile queries are asynchronous.

Then what's /astat do?
Title: Re:/astat
Post by: Skywing on April 27, 2003, 09:19 PM
Quote from: iago on April 27, 2003, 08:43 PM
Then what's /astat do?

The same thing as /stats, apparently.  A theory I had was that (a)utomatic stats queries would be given a lower priority than manual ones, but there's no easy way to prove or disprove that.
Title: Re:/astat
Post by: Arta on April 28, 2003, 11:22 AM
That's what I thought too, but there's no difference that I can see - sending about 3 or 4 /stats commands in quick succession produces a "Too many server requests" message just like /astat does.
Title: Re:/astat
Post by: tA-Kane on April 28, 2003, 11:30 AM
Maybe there used to be a difference... but now there isn't and, Blizzard being lazy, they never took it out because they didn't want to make a new patch just so the user wouldn't get "Unrecognized command" message everytime someone joined a game?
Title: Re:/astat
Post by: Arta on April 28, 2003, 11:46 AM
That would be my guess.
Title: Re:/astat
Post by: Skywing on April 28, 2003, 12:06 PM
Quote from: Arta[vL] on April 28, 2003, 11:22 AM
That's what I thought too, but there's no difference that I can see - sending about 3 or 4 /stats commands in quick succession produces a "Too many server requests" message just like /astat does.
The "Too many server requests" is unrelated - it's simply a limit on the number of database queries a user can make in a given amount of time.

I don't think that you (one user) will have much of a hope of accurately measuring any prioritization when there are, say, 200000 other users online, many of which bound to be making their own queries indirectly or directly.
Title: Re:/astat
Post by: Arta on April 28, 2003, 01:42 PM
That limit isn't calculated per-user?
Title: Re:/astat
Post by: FyRe on April 28, 2003, 01:45 PM
I can't seem to find a difference either.  The response time for both seem the same and they both go into a queue at overflow.
My guess is that it's similar to the /w, /m, /msg, /whisper
Title: Re:/astat
Post by: Skywing on April 28, 2003, 03:26 PM
Quote from: Arta[vL] on April 28, 2003, 01:42 PM
That limit isn't calculated per-user?
Uhm.. huh?  I just said that the "Too many server requests" was per-connection.

Anyways, my point is that there's far too much else going on for you to be able to accurately measure any possible differences in priority between /stat and/astat.
Title: Re:/astat
Post by: Arta on April 28, 2003, 04:39 PM
My point was that if the limit is calculated per-connection, irrespective of the actions of other users over other connections, then I don't see why that should be the case :)

In fact, it seems likely to me that the actions of other users are the most important. Perhaps /astat only affects priority when load on the servers reaches a certain point, or something?

Anyway, I suppose it's moot really, since we have no way to find out.
Title: Re:/astat
Post by: Skywing on April 28, 2003, 06:18 PM
Quote from: Arta[vL] on April 28, 2003, 04:39 PM
My point was that if the limit is calculated per-connection, irrespective of the actions of other users over other connections, then I don't see why that should be the case :)

In fact, it seems likely to me that the actions of other users are the most important. Perhaps /astat only affects priority when load on the servers reaches a certain point, or something?

Anyway, I suppose it's moot really, since we have no way to find out.
QuoteThe "Too many server requests" is unrelated
I was theorizing that /astat requests would be marked as "low priority", and that requests issued otherwise would be moved in front of them in the database server's queue.  This has nothing to do with the per-user restriction on number of queries per timeframe.