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: [email protected] 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: [email protected] >Cc: [email protected] >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 >[email protected] >http://list.valvesoftware.com/mailman/listinfo/hlds_apps > >_______________________________________________ >hlds_apps mailing list >[email protected] >http://list.valvesoftware.com/mailman/listinfo/hlds_apps > > > > > _______________________________________________ hlds_apps mailing list [email protected] http://list.valvesoftware.com/mailman/listinfo/hlds_apps _______________________________________________ hlds_apps mailing list [email protected] http://list.valvesoftware.com/mailman/listinfo/hlds_apps
