Based on the spec provided below, I made the changes to my program to use
the new master server.

I assumed the port hadn't changed - still 27010.

When sending the first request, I assumed the "startIP" should be all zeros
and always used a region code of '0' for testing.

Q:  Should the "startIP" include the port as well?

First I treated the "startIP" as just an IP (4 bytes) in the initial query.
I did get a response.  I assumed that the response no longer returned the 4
byte 'batch id' and parsed from there.  I got 9 IPs of server - all
Counter-Strike.

Q:  How, if at all, has the response changed?

I then tried to pass a filter string of "\gamedir\firearms" and I still got
all CS servers.  Not the response I was expecting.  So, I tried constructing
the query assuming that the "startIP" should include the port as well with
the same results.

This is exactly what I'm sending to the server:

31 00 00 00 00 00 5C 67 61 6D 65 64 69 72 5C 66 69 72 65 61 72 6D 73 00

i.e.

'1' '0' '0000' '\gamedir\firearms' '\0'

or
'A2M_GET_SERVERS_BATCH2' 'region code zero' 'startIP = all zeros' 'filter
string\0'

I also tried with "startIP" set to all zeros plus 2 bytes for the port.

Either I'm doing something wrong or the Master server is not honoring my
filter string.

Anyone else have a better understanding of the new changes in the master
server?

(hopefully that's enough detail)

Terry



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Alfred
Reynolds
Sent: Tuesday, September 09, 2003 8:53 PM
To: Half-Life Dedicated Server Applications Mailing List
Subject: [hlds_apps] Master Server changes


The upcoming steam release has a couple small changes to the hlmaster server
protocol.

Firstly the address for the master servers has changed, our public server
can be accessed via hlmaster1.hlauth.net. This server currently doesn't have
any servers listed as we have yet to release the steam client, but in the
next day or two it will.

We have also changed the "batch request" protocol. The new protocol consists
of sending:

WriteByte( A2M_GET_SERVERS_BATCH2 ); // character '1'
WriteByte( 2 );// write the region we want info on
WriteString( startIP ); // the first ip address we are interested in
WriteString(filterString); // a backslash delimited string for filtering of
servers

The change has been adding the region field and changing the batch parameter
to use the last IP you received rather than a counter. Valid values for the
region are between 0-7 and the correspond to the following geographical
areas:
0: US East coast
1: US West coast
2: South America
3: Europe
4: Asia
5: Australia
6: Middle East
7: Africa

If you don't want the master server to do any filtering you can just send
NULL for the filter parameter.


If you develop a tool that uses our master servers and you need any
clarifications on these changes please feel free to email me.

- Alfred



_______________________________________________
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