Re: [Adium-devl] Gaim integration with gnome-games

Henry Jen <[email protected]> Tue, 30 May 2006 14:31:17 -0700
Newsgroups gmane.comp.gnome.gaim.devel,gmane.comp.java.jxta.general,gmane.comp.java.jxta.devel
Message-ID <[email protected]>
David Smith wrote:
>=20
> On May 30, 2006, at 10:14 AM, Colin Barrett wrote:
>=20
>> On May 30, 2006, at 6:49 AM, Andreas R=F8sdal wrote:
>>
>>> Luke Schierer wrote:
>>>> On Tue, May 30, 2006 at 09:40:23AM -0500, Richard Laager wrote:
>>>>
>>>>> On Tue, 2006-05-30 at 10:21 +0200, Andreas R=F8sdal wrote:
>>>>>
>>>>>> I'm wondering if there would be any interest in implementing
>>>>>> support for launching network games from Gaim? Gnome-games has
>>>>>> network games (gnibbles and iagno, and more planned), and it
>>>>>> would be very convenient for users to be able to launch network
>>>>>> games directly from Gaim. On Windows, this is already supported
>>>>>> using MSN Messenger launching minesweeper network games.  Could
>>>>>> the current plugin system for Gaim support something like this?
>>>>>>
>>>>> Almost surely. If not, we can add hooks as necessary.
>>>>>
>>>>> Richard
>>>>>
>>>>>
>>>>
>>>> I am not opposed to this, but I'd rather it be a plugin than in gaim
>>>> proper.
>>>>

[also CCing jxta community, follow up this discussion should only on=20
gaim devel list and/or jxta-c discuss list]

This is an interesting idea and I had been exploring that idea as well.

We had a project call jxta-c(http://jxta-c.jxta.org), which is a C=20
implementation for the JXTA P2P=20
protocol(http://wiki.java.net/bin/view/Jxta/WhatIsJxta) under Apache=20
license.

Within the project, we implemented a socket tunneling capability and=20
demonstrated a video playback through JXTA p2p network with legacy=20
socket application(VLC, http://www.videolan.org) unmodified.

With the same capability, we can tunnel the game through a local socket=20
which in turn relays data over JXTA.

I had spent some time to work on a JXTA plugin for gaim, which now is=20
running with CVS tree to support group chat with=20
MyJxta(http://myjxta2.jxta.org/) application. However, the end goal is=20
to evolve the plugin into a p2p collaboration foundation with all=20
different IM networks, as JXTA defines a pluggable authentication
and access control, it can be easily adapted over an existing IM=20
networks, from which self-organized, scalable secure peer to peer=20
modules can be built.

We are open to release the plugin under GPL/LGPL license, while it can=20
linked against the apache licensed JXTA-C and APR(Apache Portable=20
Runtime, http://apr.apache.org) library, which should be OK as those=20
libs can be separately distributed with the operating system but I am=20
not a lawyer.

Cheers,
Henry

>>> Do you have any pointers about implementing such a plugin? So far
>>> I've found: http://gaim.sourceforge.net/api/c-howto.html
>>>
>>> To start a network game using Gaim, it would have to:
>>> -Find the IP address of another user which also has Gaim.
>>> -When the users wants to play a network game, launch the correct
>>> game (eg. gnibbles),
>>> and give information to gnibbles about either starting a new
>>> network game, or connect to an existing game.
>>>
>>> I don't think there is a need for a gnome-games specific plugin,
>>> all that is needed is a general plugin for Gaim which
>>> can negotiate which game to start, and pass the appropriate
>>> parameters to the executable to the game knows which
>>> IP address to connect to.
>>
>> There was an effort done by some Adium contributors and developers to
>> create a similar protocol. I'm ccing the Adium Dev list this message
>> in the hopes that  they can provide you with some help and possibly
>> interop(?)
>=20
>     Hi folks. I was one of the developers on the project Colin=20
> mentioned. Our architecture was significantly different from the=20
> proposed one, though, in both good and bad ways:
>=20
> The primary difference is that all communication took place via IMs,=20
> with the game plugin hiding game-related IMs from the user. Upside: eas=
y=20
> NAT traversal. Downsides: Rate limiting is evil, and IMs aren't suitabl=
e=20
> for anything vaguely realtime.
>=20
> If I were going to redesign it, it would consist of two, or maybe three=
,=20
> parts:
> 1) a presence API along the lines of Galago that games could plug into=20
> to provide their own in-game lists (why on earth are things like=20
> battle.net not integrated with IM buddy lists?)
> 2) a client plugin that would launch games and provide an IP address (a=
s=20
> mentioned here)
> 3 (maybe) ) an API for communicating over Jingle streams or something=20
> like them for games to use
>=20




-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642