Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > MUD Coding
Click here to Register

Reply
 
Thread Tools
Old 11-04-2002, 06:03 PM   #1
Emit
New Member
 
Join Date: May 2002
Location: Kentucky
Posts: 14
Emit is on a distinguished road
Send a message via AIM to Emit
We've decided we'd like to integrate some AIM functionality into our rom2.4 derived mud.  i found a library in C called firetalk wich seems to have all the right functions (toc protocol translation, socket opening/closing, etc.) but reading these functions and trying to patch them in is becoming difficult.
has anyone used this library? or a different/better one? has anyone worked on a mud that integrated AIM or other chat, or seen a mud that does?
Emit is offline   Reply With Quote
Old 11-04-2002, 06:20 PM   #2
Loriel
Member
 
Join Date: May 2002
Posts: 49
Loriel is on a distinguished road
Quote:
Originally Posted by
We've decided we'd like to integrate some AIM functionality into our rom2.4 derived mud.  i found a library in C called firetalk wich seems to have all the right functions (toc protocol translation, socket opening/closing, etc.) but reading these functions and trying to patch them in is becoming difficult.
has anyone used this library? or a different/better one? has anyone worked on a mud that integrated AIM or other chat, or seen a mud that does?
This is normally done by using one of the intermud messaging systems, eg IMC2 or Intermud 3.
Loriel is offline   Reply With Quote
Old 11-04-2002, 06:33 PM   #3
Emit
New Member
 
Join Date: May 2002
Location: Kentucky
Posts: 14
Emit is on a distinguished road
Send a message via AIM to Emit
IMC is mud-to-mud chat, right? i didnt really look into it, because i didn't think it supported AIM. Please correct me if i'm wrong (please please let me be wrong, that sounds much easier). What we hope to have when we're finished is a system where players can log into AIM, see their buddylist and buddies online, send those people instant messages, recieve instant messages from those people, edit buddylist, edit denylist, etc.
Like i said, i looked at imc briefly, and didnt see this supported. if i'm wrong please let me know.
Emit is offline   Reply With Quote
Old 11-05-2002, 02:04 AM   #4
thelenian
Member
 
Join Date: Apr 2002
Posts: 122
thelenian is on a distinguished road
What you'd be attempting to do is generally not possible (not in the strict sense of the word) because what it amounts to is an attempt to masquerade as an AIM server.

In any case, IM functionality is not necessarily something that you'd want to facilitate, as it will allow players to identify other players by IP address, as all communications in AIM, once established, are direct p2p. You can get around that by using your MUD as an address translation proxy, but then you'll need to make a custom app, as there's no way to do this with AIM.
thelenian is offline   Reply With Quote
Old 11-05-2002, 07:10 AM   #5
Yui Unifex
Senior Member
 
Join Date: Apr 2002
Location: Florida
Posts: 323
Yui Unifex is on a distinguished road
Send a message via ICQ to Yui Unifex Send a message via AIM to Yui Unifex
Question

This is all pretty dependant on what you're trying to do with AIM =). I've never heard of firetalk, but I have heard good things about libaim.

You can certainly integrate AIM into the mud, but what is your goal for this integration? Will players be able to chat with their personal buddies while mudding, or will it be used as an intermud communications, with one AIM account being used for all of the players?

For intermud communications, it could be very interesting. If you sent the communication to AIM in a readable format, you could hook regular AIM clients into the distribution list, and allow people to chat with others on the various connected muds even when they're not logged in.
Yui Unifex is offline   Reply With Quote
Old 11-05-2002, 04:13 PM   #6
thelenian
Member
 
Join Date: Apr 2002
Posts: 122
thelenian is on a distinguished road
libaim only allows you to communicate with an AIM server (with limited functionality as of now).

People can already talk to their buddies over IM without any help from the MUD (this has been a serious problem on several occasions). If I'm understanding you (Emit) correctly, you want your MUD (or a seperate daemon on the same host) to host each players' MUD-specific buddy list. That is, AFAIK, impossible (in the loose sense of the word).

Yui did point out something that wasn't obvious to me, however. I'll try to explain my interpretation of his suggestion in detail.

You could use a sort of meta-protocol over AIM's OSCAR whereby your MUD is connected to the AIM network through use of libaim, and it would route traffic to the various AIM users on its buddy list. (i.e. sending YourMUD the message "Jimbob: hey Jimbob!" would cause YourMUD to send Jimbob the message). Your MUD daemon could then host a translation table of MUD charnames -> AIM usernames, allowing players to communicate to eachother over AIM knowing only the charnames of the people they're trying to contact. Since your MUD acts as an address translation proxy, you have the added benefit of masking your players' IP addresses from eachother (this is *very* important for liability reasons). This could be expanded to general MUD services, like sending YourMUD "who" would have YourMUD IM you the who list. Still, it must be noted that in this case the individual players will not show up on your buddylist.
thelenian is offline   Reply With Quote
Old 11-05-2002, 06:21 PM   #7
RavenDM
New Member
 
Join Date: Apr 2002
Posts: 17
RavenDM is on a distinguished road
Sounds more like they want the mud to act as an AIM client for each individual player, so that they can send and receive messages without changing focus out of the mud window.

I suspect this is possible; a matter of finding an open source AIM client and figuring out how to do multiple connections.
RavenDM is offline   Reply With Quote
Old 11-06-2002, 09:22 AM   #8
Loriel
Member
 
Join Date: May 2002
Posts: 49
Loriel is on a distinguished road
Quote:
Originally Posted by
What we hope to have when we're finished is a system where players can log into AIM, see their buddylist and buddies online, send those people instant messages, recieve instant messages from those people, edit buddylist, edit denylist, etc.
I can't see how this is going to work when you try to mix a window-based communication system like AIM with a text-based system in the same single window - interspersed on the same screen you will have mud and AIM messages. The prospect of holding multiple AIM conversations within the mud sounds highly confusing.

It appears that you are proposing to have a switch from "mud mode" to "AIM mode" to handle that - but this doesn't seem to offer an easy method to hold two or more AIM conversations simultaneously, whilst it leaves you with the problem of what to do with players who are in "AIM mode" - do you allow them to receive messages from the mud (which will disrupt the flow of the AIM messages) or do you block them so that the player becomes effectively "dead" to the mud?

Unless you design your own mud client to handle multiple windows of course - but then you might as well leave your players to use the separate mud and AIM clients of their choice.

Sorry to be so negative, but your project appears to be a difficult one, which is likely to have a disappointingly poor result as far as I can see (ie at best your system will be significantly inferior to using a pure AIM client).
Loriel is offline   Reply With Quote
Old 11-15-2002, 07:30 PM   #9
Emit
New Member
 
Join Date: May 2002
Location: Kentucky
Posts: 14
Emit is on a distinguished road
Send a message via AIM to Emit
sorry i've been away from this board from a while, but i'm pleased to see all the reponses.  ravenDM hit the nail on the head.  I have an open source text based aim client (maim) that uses a library called firetalk to communicate with an aim server.  i'm not trying to do anything graphical, or confusing; here is the way i imagine it working:
a player uses command "aim logon" or similar.
we open up a new socket or port to aim server, using routines from maim. (this is one of the parts i'm fuzzy about).
associate the player with the socket or port, send the request for buddy list to aim server, display that list to player.
player uses an "im" command very similar to a tell.
redirect this to the aim server dressed up like an aim from that person to his buddy
get back "message sent ok" or "user not on" from aim, and display appropriate message to player.
listen on this socket for incoming messages (which hopefully we can glean user name from) and direct those to player in form of 1 or many lines, depending on length.

thanks for the tip on libaim, i'm looking into it now.
the main problems are my weakness in socket programming, and the lack of documention i've been able to find for aim protocol.
Emit is offline   Reply With Quote
Old 11-15-2002, 10:19 PM   #10
thelenian
Member
 
Join Date: Apr 2002
Posts: 122
thelenian is on a distinguished road
Aha.. now I see what you're trying to do. Just out of curiosity... why?
thelenian is offline   Reply With Quote
Reply


Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 12:35 PM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2014