[JDEV] Alpha release of Game Playing - IM - Posted Updated version

Thomas Charron tcharron at ductape.net
Wed Jul 25 07:47:42 CDT 2001


Quoting Ashvil <ashvil at i3connect.net>:
> Hi Thomas,
>         Thanks for finding a protocol bug. I apologize for all the
> trouble
> this caused you or anyone who downloaded our software.

  Not a problem..  8-P  We all learn..

> We have changed the client negotiation to use iq:browse as you
> suggested.
> The message flow is now
> Query   : <iq type='get' to='JID'><user
> xmlns='jabber:iq:browse'/></iq>
> Reply   : <iq type='result' to='JID' ><user type='client' name='i3c'
> xmlns='jabber:iq:browse'/></iq>

  Yep, that will work.  You might also want to take it one step further, and 
include the use of the <ns> tag, which is meant to report what namespaces that 
entity supports.  Using this method, and possibly using predeclared namespaces 
per game, you could actually add new games, etc, to clients, and be able to 
backwards negotiate with older clients that may not support newer games and 
their namespaces..

> We use i3C to identify that it is our client. We tested this with Jabber
> IM
> and WinJab. Please let us know, if this is compliant with the Jabber
> protocol.

  Yeppers... There may be some nitpicking by individual developers, but this 
will work correctly..  8-P

> >   And even better way would be to use a different ns for each game,
> that
> way,
> > each game could have it's own XML, etc, and other clients would be
> free to
> > implement the functionality of the games into their own clients.
> We need to think about your proposal of using a different namespace for
> each
> game. We are currently studying the extension mechanism that Jabber has
> and
> will get back with queries on this.

  Feel free to ask here if you have any further questions or comments.  We're 
always open to conversations, and after all, this is how the protocol evolved 
over time..  8-P

  The other capability to think about is the fact that using extented 
namespaces allows you to place any aritrary XML data within the jabber protocol 
stream.

> I am open to documenting our XML wire format for each game (that we
> write),
> so that other clients can implement the gaming functionality and we can
> have
> cross client inter-op. That's the beauty of an open system like
> Jabber.

  Yeppers.  I wasn't sure, simply becouse of the fairly strict EULA that you 
included with your client.  But yes, if you did choose to open it up, other 
clients could implement the format, or even more, develope independant 
frontends.  One step further would be, for example, a transport that 
implemented the chess protocol for clients, and served as a front end to one of 
the existing chess game servers on the net, allows interoperability with things 
such as the Internet Chess Server..

> It was not our intention to create spam or break an open system. The
> reason
> this bug slipped thru was
> a) not testing with WinJab
> b) we learnt most of the Jabber protocol by looking at the XML over
> the
> wire.

  8-P  Not a problem.  Several clients don't implement headline message types 
acuratly, and hence, may or may not have actually shown those headline 
messages..

> We plan to correct this ASAP, but some lessons are always learnt the
> hard
> way ;-)
> Once again thanks for your feedback and sorry for the trouble.

  Again, hope it didn't come accross to brash.  8-P  This is definatly a good 
use for the protocol, be it an open extention or not.  Welcome to the 
development of Jabber..  8-P

--- 
Thomas Charron
<< Wanted: One decent sig >>
<< Preferably litle used  >>



More information about the JDev mailing list