Hi I'm the creator of Playerbot and I was thinking about taking mangchat a step further and calling my fork something like MangosIRCClient. My ideas may not be in line with the rest of you, so I'm not asking for help, but would accept ideas and help.
This fork would:
Phase 1 - Create an IRC Mangos Client
------------------------------------------------------------------------
1) mangos server would automatically log into a predefined IRC server
2) players using the irc client could send a private message to the server with their account login to sign in, select an existing character and enter the world.
3) Once the server authenticates the user, a MangosIRCPlayer is instantiated for the user. MangosIRCPlayer has a Player object, WorldSession object and is a real player in game. The only difference is that don't have a TCP connection. Instead MangosIRCPlayer intercepts incoming and outgoing packets and selectively translates and recommunicates the information over IRC. We are already doing this with Playerbot, but instead of passing information to IRC we are interpreting it with our PlayerbotAI classes. The load on IRC would be minimal since only chat is sent over IRC.
4) Admin users can use their normal ingame admin commands over IRC chat. Normal users can hang out in bars and chat etc...
Phase 2 - Linking Cities on Servers together
-------------------------------------------------------------------------------
In the future it could be possible to have predefined IRC channels set up for each section in cities. Servers would then communicate player profiles and locations of their players to each other over these IRC channels. Each server could then auto create MangosIRCPlayer objects to represent players on other servers. This would be nice for people hosting their own server that don't allow other users to connect to it or for low population servers. Users could then chat and see each other. Combat, grouping, many other things wouldn't work right, but the social aspect would be there.
Phase 3 - Grouping
-----------------------------------
This phase would be the hardest and best explained with an example.
playerA and playerB are on different server but hanging out at the same linked city. If playerA invites playerB, playerB's packets could be automatically proxied to playerA's server. The proxied packets would NOT be sent over IRC. A direct connection between the servers would need to be instantiated. Obviously this feature only works for users hosting their own private/low population server. Also the MangosIRCPlayer representing playerB on playerA's server would be closed and a new class called MangosProxyPlayer would be created. MangosProxyPlayer objects would also intercept incoming and outgoing packets and possibly strip off copyrightable content. The origin server could add the content back on if we care about this type of thing. This would also probably take care of language differences between servers.
Phase 4 - Distributed Battlegrounds
-----------------------------------------------------------------
This would work in the same manner as Phase 3. Servers would need to advertise their service on predefined IRC channels.