Thanks Alfred,

I must say, this I think is what has been needed for some time... nice one! Well done and thanks! It'd be good to have something similar, a point of reference, for the rcon queries and master server queries. Just a suggestion =]

Dave

----- Original Message ----- From: "Alfred Reynolds" <[EMAIL PROTECTED]>
To: <[email protected]>
Cc: <[email protected]>
Sent: Sunday, March 13, 2005 4:03 AM
Subject: RE: [hlds_apps] Server query protocol



We have just published a document describing the Source server query
protocol located at:
http://www.valve-erc.com/srcsdk/Code/Networking/serverqueries.html

This page contains information on the challenge changes and documents a
few extra fields in the A2S_INFO packet.

In a WEEK or two we will be turning off non-challenged query responses
(an email will be sent to this list when that happens).

- Alfred

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alfred
Reynolds
Sent: Thursday, February 24, 2005 5:26 PM
To: [email protected]
Cc: [email protected]
Subject: RE: [hlds_apps] Server query protocol

This change has just been release (restart Steam to apply it). Note that
you will need to set  "sv_enableoldqueries 0" to enable the new
challenge system.

- Alfred

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alfred
Reynolds
Sent: Thursday, February 24, 2005 12:46 AM
To: [email protected]
Cc: [email protected]
Subject: RE: [hlds_apps] Server query protocol

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


-- No virus found in this incoming message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 11/03/2005




-- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 11/03/2005


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

Reply via email to