[CHAT] CraftXMPP v0.1 - XMPP/Jabber chatroom integration [1185]

Discussion in 'Inactive/Unsupported Plugins' started by DontCare4Free, Aug 21, 2011.

  1. Offline

    DontCare4Free

    CraftXMPP - XMPP/Jabber chatroom integration:
    Version: v0.1

    Now on BukkitDev.

    Relays chat messages (as well as some events) between the server chat and a chatroom specified by the server admin.

    Features:
    • Fully automatic two-way relaying of messages.
    • Ability for chatroom members to see who are on the server, these commands have a customizable prefix (# by default, so the player list is by default #players). This doesn't work the other way (yet) though.
    Download CraftXMPP
    Source Code

    Changelog:
    Version 0.1
    • Initial release
    Credits:
     
    derlaft, ronix and ksevelyar like this.
  2. Offline

    Taranis01

  3. Offline

    DontCare4Free

    Sadly, no. Skype itself is using a propretariary protocol. The interop code is only for facebook integration, which AFAIK doesn't support group chats.
    Google Talk is a big chat service that is completely based on XMPP, but their support for XEP-0045 (the chat room extension) is really horrible and buggy right now.

    Also, it seems like I messed up the main download link. Fixing ASAP.
    EDIT: Fixed download link.

    Hmm, anyone knowing a way to tell Gradle that something is a compile-time dependency but not a runtime dependency?
     
    Taranis01 likes this.
  4. Offline

    MonsieurApple

    Looks good. Approved!
     
  5. Offline

    jrmax

    great job. works perfect. :)

    Now I need a Dynmap plugin, which sends the web-chat messages to the XMPP chatroom as well.
    In minecraft user can see both messages from xmpp and dynmap web chat. But xmpp and dynmap user can not see the messages from each other.
     
  6. Offline

    DontCare4Free

    Thanks. :)

    I'll have a look at it. I'm also thinking about making some kind of CraftIRC <-> CraftXMPP relay/bridge, but I'm not sure about it yet.
     
  7. Offline

    ksevelyar

    I GUESS THE GODS HEARD ME!

    Good luck with the plugin.
     
  8. Offline

    alkobottle

    I've been looking a while for something like this!
    Me and my friends rely heavily on xmpp muc and we also have our own little minecraft server.
    But I have no idea how to use this Plugin, could you give me some direction on how to install the plugin on the server?

    [EDIT]
    please ignore the above, I just found the FAQ ^^
    sry for the spam
     
  9. Offline

    croxis

    Any luck finding alternatives for bundling smack and bukkit in the jar?
     
  10. Offline

    DontCare4Free

    Actually, yes, I just created a separate configuration for dependencies to be bundled.
     
  11. Offline

    Kuja_Diartua

    Works great. Thanks

    Only issue i get, is that i use mod for russian chat, i fixed ingame output by adding character set for mac, but is there anyway i can change character set output to jabber?

    Or maybe a config file with character swaping for output, different bothways. like

    À=А
    Á=Б

    Because, basicly to russify game, people just change font.png exchanging
    Code:
    ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
    ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
    àáâãäåæçèéêëìíîï
    ðñòóôõö÷øùúûüýþÿ
    for
    Code:
    АБВГДЕЖЗИЙКЛМНОП
    РСТУФХЦЧШЩЪЫЬЭЮЯ
    абвгдежзийклмноп
    рстуфхцчшщъыьэюя
    graphicaly.
    But to output second set of characters to jabber, you need to swap those characters...
     
  12. Offline

    DontCare4Free

    Interesting idea, might actually do that later.
     
  13. Offline

    derlaft

    yes, I have the same problem. I want to add this patch which allows to see cp1251 messages in the log, but I couldn't build this plugin from source.

    So, I did it.

    But, it works only when server is running on Windows, on UTF-8 systems it still sends bad symbols from clients and I don't know how to fix it

    This is patched CraftXMPP.java from my last post: http://paste.debian.net/141183/
     

    Attached Files:

    Last edited by a moderator: May 19, 2016
  14. Offline

    DontCare4Free

  15. Offline

    derlaft

    You can use it as you wish. But as I said before it works only with Windows servers. I'll try to fix it, but not promise.
     
  16. Offline

    DontCare4Free

    Actually, nevermind, looked at it again, it seems a bit too intrusive to be included.
     
  17. Offline

    derlaft

    And it can broke other non-English language support. The best way is to autodetect cp* and convert it into utf-8, but I don't know how to make it
     
  18. Offline

    Programie

    I've installed that plugin on my Minecraft server and tested it with Openfire as XMPP-Server: Works

    Then I uninstalled Openfire because it's using a lot of memory and switched to jabber.org.
    I've created an account for my Minecraft server on jabber.org and changed my config.yml.

    But now I get the following error message if I start my server:

    19:52:59 [SEVERE] Error occurred while enabling CraftXMPP v0.1 (Is it up to date?): org.jivesoftware.smack.util.PacketParserUtils$2 cannot be cast to org.jivesoftware.smackx.packet.MUCAdmin
    java.lang.ClassCastException: org.jivesoftware.smack.util.PacketParserUtils$2 cannot be cast to org.jivesoftware.smackx.packet.MUCAdmin
    at org.jivesoftware.smackx.muc.MultiUserChat.getOccupants(MultiUserChat.java:1797)
    at org.jivesoftware.smackx.muc.MultiUserChat.getParticipants(MultiUserChat.java:1772)
    at com.dontcare4free.craftxmpp.CraftXMPP.onEnable(CraftXMPP.java:122)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:232)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:1053)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:252)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:190)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:173)
    at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:356)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:343)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:175)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:407)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)

    I've tested the plugin with jabber.org: Sending messages from the XMPP conversation room to my Minecraft server works as before on Openfire. But I can't send messages from the in-game chat to XMPP.

    For short:
    XMPP -> Minecraft: Works
    Minecraft -> XMPP: Doesn't work

    Is there a way to fix this problem?
     
  19. Offline

    DontCare4Free

    To be honest, I've only tested/used this with OF. I have no idea about what's causing this problem. Sorry.
    Would you mind posting the config file though? It might help make a bit more sense out of this.
     
  20. Offline

    Programie

    I think the problem is in the PlayerListener, because I get a message back if I send "#players" in the XMPP chat room but I get no message if a player joins the Minecraft-Server or sends a message.

    But why is it working with Openfire?
     
  21. Offline

    DontCare4Free

    To me it looks like a library bug in getting the participants from the room.
     
  22. Offline

    zathrus

    this thing actually still works with CB 1.1-R4 ... amazing! and thank you!

    EDIT: maybe I was too quick :-D
    This still works but after a while, the plugin starts generating SEVERE errors (although the chat is visible XMPP->MC and also MC->XMPP)...



    01:23:09 [SEVERE] Could not pass event org.bukkit.event.player.PlayerJoinEvent t
    o CraftXMPP

    java.lang.NullPointerException
    at java.lang.StringBuilder.<init>(Unknown Source)
    at com.dontcare4free.craftxmpp.CraftXMPP$XMPPPlayerListener.filterOutgoi
    ng(CraftXMPP.java:59)
    at com.dontcare4free.craftxmpp.CraftXMPP$XMPPPlayerListener.onPlayerJoin
    (CraftXMPP.java:69)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:270)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:61)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:460)
    at net.minecraft.server.ServerConfigurationManager.c(ServerConfiguration
    Manager.java:131)
    at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:121)
    at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:87)
    at net.minecraft.server.Packet1Login.handle(Packet1Login.java:70)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:47)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:6
    1)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:537)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
     
  23. Offline

    md_5

    Long time no see DontCare4Free. You will notice that this thread has now been placed into the Inactive Plugin subforum.
    If you wish to revive this plugin, please ensure that you update and test compatibility with the latest recommended Bukkit build before reporting your original post, asking for it to be moved back to the release forum.

    Thanks for your time.
    md_5
     

Share This Page