Opened 7 years ago

Closed 6 years ago

#14514 closed plugin request (wontfix)

Create cross-platform Steam chat plugin with Steamkit2

Reported by: justdan96 Owned by: rekkanoryo
Milestone: Component: unclassified
Version: 2.9.0 Keywords: steam vapor steamkit2 steamre
Cc:

Description (last modified by justdan96)

There is already a Windows-only Steam chat plugin that has been created using Opensteamworks (https://code.google.com/p/pidgin-opensteamworks/) but as has already been mentioned (http://developer.pidgin.im/ticket/3987) the Steamre project has created Steamkit2 (https://bitbucket.org/VoiDeD/steamre/src) - a .Net/Mono? library for interfacing with Steam, without the need for a Steam client to be installed - and a full portable chat client using the library called Vapor (https://bitbucket.org/VoiDeD/steamre/downloads). This should make it possible to bring cross-platform Steam chat to Pidgin.

The biggest hurdle to creating a Steamkit Pidgin plugin is the language it is coded in, C# whereas libpurple is in C.

I have talked to the developer of the Opensteamworks plugin and he has said that continued development of the Monoloader plugin to libpurple would be required to create a C# Steamkit protocol plugin. Specifically, securing the exception handling code of the plugin from the exception handling code of Pidgin itself.

Someone has supposedly ported Steamkit2 to C (http://dev-zilla.net/?p=24), and I am trying to contact the developer about whether they will release the code or not. He is making an iPhone app so it could well end up being not particularly useful, or if he is seeking to monetise the app he probably won't release the code. Having a C port of Steamkit2 would make it easier to create a plugin but would require constant maintenance to keep the C code updated with the C# code.

I put this in plugin request in case some experienced developer wants to step up and re-write the Steamkit2 code into a Pidgin plugin, or liaise with the Pidgin developers to make one easier to create without a C port of the Steamkit. Doing so would deliver a cross-platform Steam chat plugin to Pidgin users which could be hugely beneficial to the community.

--

Edit: I have contacted the developer of the Steamkit C port, he will release the code, so that opens up the possibility of someone taking that code and creating a Pidgin plugin from it.

Change History (7)

comment:1 Changed 7 years ago by justdan96

  • Description modified (diff)

comment:2 follow-up: Changed 7 years ago by BW~Merlin

I really hope someone makes things.

comment:3 in reply to: ↑ 2 Changed 7 years ago by BW~Merlin

Replying to BW~Merlin:

I really hope someone makes things.

Typo fail, meant this*

comment:4 Changed 7 years ago by Zerwan'

That would really be great ! Right now i'm using Vapor, but I would love to have a Pigdin integration.

comment:5 follow-up: Changed 7 years ago by sfrwly

I am willing to pay someone to write this. It would have to meet the standards pidgin distributed plugins have and should run natively w/o wine/libwine on linux. Please contact me if you're interested.

comment:6 in reply to: ↑ 5 Changed 7 years ago by justdan96

If you are serious, sfrwly, please consider using a service such as Elance, guru.com, RentACoder or oDesk. If you can write a suitably detailed technical spec (we can probably create one as a community if you aren't up for it) then you can post the project and have coders bid to write it. However I would be willing to bet coders highly versed in C, C#, Pidgin, libpurple, Mono and the Steam protocol are quite hard to come by. Good luck to you if you still want to go ahead with it, though.

Replying to sfrwly:

I am willing to pay someone to write this. It would have to meet the standards pidgin distributed plugins have and should run natively w/o wine/libwine on linux. Please contact me if you're interested.

comment:7 Changed 6 years ago by EionRobb

  • Resolution set to wontfix
  • Status changed from new to closed

The pidgin-opensteamworks plugin works cross platform

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!