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

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

  1. Offline


    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.

    • 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

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


  3. Offline


    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


    Looks good. Approved!
  5. Offline


    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


    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



    Good luck with the plugin.
  8. Offline


    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?

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


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


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


    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
    But to output second set of characters to jabber, you need to swap those characters...
  12. Offline


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


    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


  15. Offline


    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


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


    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


    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


    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


    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


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


    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

    at java.lang.StringBuilder.<init>(Unknown Source)
    at com.dontcare4free.craftxmpp.CraftXMPP$XMPPPlayerListener.filterOutgoi
    at com.dontcare4free.craftxmpp.CraftXMPP$XMPPPlayerListener.onPlayerJoin
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    at net.minecraft.server.ServerConfigurationManager.c(ServerConfiguration
    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
    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


    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.

Share This Page