[Adium-devl] [Gaim-devel] Gaim integration with gnome-games
Henry Jen
henryjen at ztune.net
Tue May 30 21:31:17 UTC 2006
David Smith wrote:
>
> On May 30, 2006, at 10:14 AM, Colin Barrett wrote:
>
>> On May 30, 2006, at 6:49 AM, Andreas Røsdal 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øsdal 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
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
implementation for the JXTA P2P
protocol(http://wiki.java.net/bin/view/Jxta/WhatIsJxta) under Apache
license.
Within the project, we implemented a socket tunneling capability and
demonstrated a video playback through JXTA p2p network with legacy
socket application(VLC, http://www.videolan.org) unmodified.
With the same capability, we can tunnel the game through a local socket
which in turn relays data over JXTA.
I had spent some time to work on a JXTA plugin for gaim, which now is
running with CVS tree to support group chat with
MyJxta(http://myjxta2.jxta.org/) application. However, the end goal is
to evolve the plugin into a p2p collaboration foundation with all
different IM networks, as JXTA defines a pluggable authentication
and access control, it can be easily adapted over an existing IM
networks, from which self-organized, scalable secure peer to peer
modules can be built.
We are open to release the plugin under GPL/LGPL license, while it can
linked against the apache licensed JXTA-C and APR(Apache Portable
Runtime, http://apr.apache.org) library, which should be OK as those
libs can be separately distributed with the operating system but I am
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(?)
>
> Hi folks. I was one of the developers on the project Colin
> mentioned. Our architecture was significantly different from the
> proposed one, though, in both good and bad ways:
>
> The primary difference is that all communication took place via IMs,
> with the game plugin hiding game-related IMs from the user. Upside: easy
> NAT traversal. Downsides: Rate limiting is evil, and IMs aren't suitable
> for anything vaguely realtime.
>
> If I were going to redesign it, it would consist of two, or maybe three,
> parts:
> 1) a presence API along the lines of Galago that games could plug into
> to provide their own in-game lists (why on earth are things like
> battle.net not integrated with IM buddy lists?)
> 2) a client plugin that would launch games and provide an IP address (as
> mentioned here)
> 3 (maybe) ) an API for communicating over Jingle streams or something
> like them for games to use
>
More information about the devel
mailing list