Nothing has been finialised yet. What was developed as a result of the email thread below was this document: http://www.adminmod.org/alfred/SQS_v03.html
Any query API we implement will also have a challenge/response built into it (for everything except "ping" queries).
Brian A. Stumm wrote:
For some odd reason I stumbled across this tonight, don't ask how...
http://www.mail-archive.com/[EMAIL PROTECTED]/msg00028.html
And it got me to thinking again. Have you thought anymore about an extended server query API for hlds and can you comment on the server query protocol for HL2? You seemed to support the idea of an extended query format at one time...
I'd like to reiterate how EXTREMLY pleased I am with Rob aka Maelstrom's "New API" standard for halfd. Afterall I helped him come up with it :)
As a reminder, its a tab delimited format, which is quite easy for anyone thats used to DB's to use. Heck it can be imported right into a db if ya want... Using this API I've managed to create a tool that displays extended server/player data, show live chat (say and say_team) and also include whatever important events I want to show (red capped the flag for example). I've written classes for C and PHP to parse this format and it seems to work quite well (been using it over a year now).
I brought this up once before and don't think you quite understood me... This protocol allows me to grab all the data into an array (php). The array names come from the info I get back so if Halfd's api is extended my array will include the new info. I might have to update my gui's output to display the NEW data but it will NOT break my current display if things are added (or if another mod doesn't support showing that info). I do this by doing a $$key type thing so if the my array is called "$myserver" and this particular key is $frags then I have $myserver[frags]{$i] in my array where $i represents a player (incremental number).
If a reminder is needed here is Rob's explanation of the new api.
-quote-
New API
Several 3rd-party client developers had trouble parsing keyed lists, so a new API scheme was introduced in early 2002. Instead of using keyed lists, the server will send a newline-and-tab-separated structure similar to a raw database dump. The API is enabled in halfd.cfg with the "newapiauth" and "newapiusrauth" directives. A message consists of one or more lines. Each line contains a variable TAB value structure. A message is terminated with a blank line. The keys used are the same as described above, with the addition of a LINES key that tells you how many lines to read. (Or you can just read the TCP stream until you encounter a blank line).
Here's an example of an UPDATE message (note- tabs dont show too well and wrapping may not show newlines the best):
lines 18 type UPDATE up 1 time 845 data users [BOT]Nyarlathotep ^_^ [BOT]Azathoth [BOT]SuperLuckyKitty pings 5 5 5 5 frags 0 0 0 0 times 69:37:53 69:37:53 69:37:53 69:37:53 ips 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 userid 980 981 982 983 wonid 0 0 0 0 model Soldier Engineer Soldier HWGuy team Red Blue Blue Blue deaths 1 1 2 0 map cj2 cnt 4 vote 1
Here's an example of a TEXT message:
lines 5 type TEXT up 1 time 832 data L 01/13/2003 - 13:15:22: Server say "hello, world"
HTML doesn't do a good job of showing this, but there's a TAB after each key, and between each discrete value, e.g.,
pings 5 5 5 5
will really come across as
pings[TAB]5[TAB]5[TAB]5[TAB]5[newline]
- end quote -
Replace [TAB] with \t and [newline] with \r\n.
_______________________________________________ hlds_apps mailing list [EMAIL PROTECTED] http://list.valvesoftware.com/mailman/listinfo/hlds_apps
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

