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: [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







_______________________________________________
hlds_apps mailing list
[email protected]
http://list.valvesoftware.com/mailman/listinfo/hlds_apps

Reply via email to