Just always send a A2S_PLAYER query directly and if you need a challenge you will get a S2C_CHALLENGE back instead of the data packet (and then you need to re-query). You can use "-1" as a placeholder challenge number so the server knows you haven't got a valid one yet.
- Alfred -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wojciech H Sent: Wednesday, March 02, 2005 1:04 PM To: hlds_apps@list.valvesoftware.com Subject: Re: [hlds_apps] Server query protocol I was asking if there is anything in the A2S_INFO packet that tells me wether I need a challenge value or not for A2S_PLAYER and A2S_RULES packets. Alfred Reynolds wrote: >No servers require a challenge for A2S_INFO, some may require the extra >string in the query packet however (that isn't on by default, but >perhaps some server admins have chosen to enable it). You cannot use a >challenge number with a A2S_INFO request. > >- Alfred > >-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On Behalf Of Wojciech H >Sent: Wednesday, March 02, 2005 10:15 AM >To: hlds_apps@list.valvesoftware.com >Subject: Re: [hlds_apps] Server query protocol > >Will there be anything in the A2S_INFO that will tell us wether a >challenge value is required? I thought the version at the end of the >packet would tell me, but then I have found servers that are unable to >respond to a challenge request with the version "1.0.0.15". Also, it >would slow down queries greatly if we had to test to see if they do >need a challenge value or not. > >Any help would be greatly appreciated. > > > >Alfred Reynolds wrote: > > > >>This change will be released tomorrow (so you can begin testing your >>tool updates). >> >>The A2S_INFO query has been altered from the description below. Rather >>than challenge response for each server ( making querying large >>numbers >> >> > > > >>of servers much slower) the query will simply have a string appended >>to >> >> > > > >>it ("Source Engine Query"). So to get server info you would send: >>0xFFFFFFFFFFFFFFF 'T' "Source Engine Query" '\0' >> >>- Alfred >> >> >> >>-----Original Message----- >>From: [EMAIL PROTECTED] >>[mailto:[EMAIL PROTECTED] On Behalf Of Alfred >>Reynolds >>Sent: Tuesday, February 22, 2005 11:48 PM >>To: hlds_apps@list.valvesoftware.com >>Cc: hlcoders@list.valvesoftware.com >>Subject: RE: [hlds_apps] Server query protocol >> >>We will be releasing an update later this week or early next week with >>an updated query protocol. To enable this change to be deployed >>quickly >> >> > > > >>we will be minimising the changes this time around. >> >>I will be writing a more detailed document describing the various >>valid >> >> > > > >>Source server queries as a part of the SDK documentation, but in the >>mean time here is a brief description of the changes that will be made. >> >>A challenge value will now required for all query responses (A2S_INFO, >>A2S_PLAYER, A2S_RULES) except for A2S_PING. The challenge value is a 4 >>byte value. You can either explicitly request a challenge value via a >>new query A2S_SERVERQUERY_GETCHALLENGE (ascii "W") or implicitly get a >>challenge value by sending a dummy challenge value of "-1" >>(0xFFFFFFFF) >> >> > > > >>to any query (that requires a challenge). The response to >>A2S_SERVERQUERY_GETCHALLENGE (and an implicit challenge) will be >>S2C_CHALLENGE (ascii 'A' ) followed by a 4 byte value that is the >>challenge value. The challenge value should be appended to the end of >>the existing query request packets. >> >>Queries that use strings to specify the query type (i.e. >>0xFFFFFFFF"players") will NO LONGER be supported. You MUST update to >>the new A2S_* style queries. The byte values for each request type is: >>#define A2S_INFO 'T' // >>server info request - this must match the Goldsrc engine >>#define A2S_PLAYER 'U' // >>request player list >>#define A2S_RULES 'V' >>// request rules list from server >>#define A2S_SERVERQUERY_GETCHALLENGE 'W' // Request >>challenge # from another machine >> >>These values are supported by the currently shipped Source engine if >>you want to start on your changes now. >> >> >>A challenge value is valid for 60 minutes or until the server flushes >>your challenge from its LRU cache (which can handle 16K elements), so >>you should attempt to cache a challenge value rather than continually >>requesting it. >> >>A challenge value is not required when querying servers within the >>same >> >> > > > >>B class address range as the server (i.e LAN style requests), you >>should specify a challenge value of "-1" (0xFFFFFFFF) in these cases. >>Note that you can still use a valid challenge value in these cases, >>its >> >> > > > >>value will be ignored however. >> >>The initial rollout will support both old and new style queries (i.e >>with and without challenges). We expect to disable the old protocol >>within a couple WEEKS of the initial rollout. The cvar >>"sv_enableoldqueries" will control the servers ability to answer old >>style requests (when it is set to "1" it will reply to old style >>queries). >> >>To aid in development and testing you can disable ignoring challenges >> >> >>from local B class clients by setting the cvar sv_allowlocalquery to 0 > > >>(i.e if sv_allowlocalquery is "0" then any query will follow the rules >>set by the "sv_enableoldqueries" cvar). >> >> >>This change will also be applied to HL1 based game servers once the >>Source rollout is complete. >> >>- Alfred >> >> >>On Mon, 21 Feb 2005, Alfred Reynolds wrote: >> >> >> >> >> >>>We will be revising the Source server query format in the near future >>>to remove some architectural problems with it. All the existing >>>queries apart from PING will be altered by this change (i.e will >>>require your tools to be updated). There will be a period where both >>>systems coincide but we want to be aggressive in removing support for >>> >>> >>> >>> >>the old protocol. >> >> >> >> >>>This change may be ported to the HL1 engine also. >>> >>>We have been assessing various protocols (both from other vendors and >>> >>> >>>from the public), this is your chance to request features or suggest >> >> >>>other standards to consider. The current plan is to make the minimal >>>set of changes to remove the problems we found (making it easier for >>>tools to update) but as we are breaking the protocol we are open to >>>larger changes. >>> >>>You can make feature requests or suggestions to this list (hlds_apps) >>>or to me directly. >>> >>> >>> >>> >>_______________________________________________ >>hlds_apps mailing list >>hlds_apps@list.valvesoftware.com >>http://list.valvesoftware.com/mailman/listinfo/hlds_apps >> >>_______________________________________________ >>hlds_apps mailing list >>hlds_apps@list.valvesoftware.com >>http://list.valvesoftware.com/mailman/listinfo/hlds_apps >> >> >> >> >> >> >> > > >_______________________________________________ >hlds_apps mailing list >hlds_apps@list.valvesoftware.com >http://list.valvesoftware.com/mailman/listinfo/hlds_apps > >_______________________________________________ >hlds_apps mailing list >hlds_apps@list.valvesoftware.com >http://list.valvesoftware.com/mailman/listinfo/hlds_apps > > > > > _______________________________________________ hlds_apps mailing list hlds_apps@list.valvesoftware.com http://list.valvesoftware.com/mailman/listinfo/hlds_apps _______________________________________________ hlds_apps mailing list hlds_apps@list.valvesoftware.com http://list.valvesoftware.com/mailman/listinfo/hlds_apps