Inactive [CHAT] IRCTransport 0.13.0 - Minecraft Chat/IRC Integration[1.2.3-R0.2]

Discussion in 'Inactive/Unsupported Plugins' started by hef, Feb 4, 2011.

  1. Offline

    hef

    This Bukkit plugin replaces minecraft chat system with a connection to an IRC Server. All IRC Connections happen Bukkit server side, so either run your own IRC server, or make sure that you are allowed to use mutiple connections on the IRC server of your choice.
    Available settings:

    Put these in IRCTransport/plugin.yml file with appropriate values.

    Code:
    verbose: false
    suppress:
      initial_userlist: false
      initial_topic: false
    server:
      address: localhost
      port: 6667
      ssl:
        enabled: false
        trust: false
      nicksize: 16
      webirc_password: p@$$w0rd
    default:
      prefix: '[MC]'
      suffix:
      channels:
        - channel: '#minecraft'
    messages:
      chat-irc: '&9[&b${CHANNEL}&9] &3${NICK}: &f${MESSAGE}'
      quit: '&3${NICK} &fleft'
      private: '&2${NICK}&f to you: &f${MESSAGE}'
      part: '&3${NICK} &fleft'
      rename: '&3${OLDNICK} &fis now &3${NEWNICK}'
      kick: '&3${NICK} &ckicked by &3${OP}: &${REASON}'
      join: '&3${NICK} &fjoined &b${CHANNEL}'
      list: 'On &9[&b${CHANNEL}&9]: &3${LIST}'
      topic: '&9[&b${CHANNEL}&9] &3Topic: &f${TOPIC}'
      action: '* &3${NICK} &a${ACTION}'
    translations:
      hit the ground too hard: hit the ground
    
    The server address setting is mandatory. All other settings are optional.

    Normal Settings:

    Your config.yml will look a lot like this:
    Code:
    server:
      address: irc.example.com
    default:
      channels:
        - channel: '#minecraft'
    
    Available commands:

    Code:
    /join #channel [key]
    /leave #channel
    /channel #channel -- changes your active channel
    /msg user -- send a private message to a user
    /nick new_name  -- change your display name.
    /names -- shows users in your channel
    /me action to perform -- performs an irc action
    /topic -- get or set the channel topic
    /whois -- gets information about the nick
    
    Download
    Source
    Features:

    • Minecraft chat is replaced with an IRC session.
    • Private messaging works in game.
    • IRC channels are joinable in game.
    Changelog:
    Version 0.13.0
    • Leaving a channel sets another channel active.
    • Disabling IRC <-> Minecraft color code mapping (for now).
    • Added message customization support.
    • Added basic translation support.
    • Added trust all SSL option.
    • Fixed bog on player join.
    • Added WebIRC support.
    • Added Metrics
    Version 0.12.0
    • Works with Bukkit 1.1 (and 1.2)
    • Fixed bug in DeathMessage
    Version 0.11.2
    • Fixed /msg showing usage everytime.
    Version 0.11.1
    • Fixed nullUSERNAMEnull bug.
    Version 0.11
    • Fixed a potential reload bug
    • Changed from using server.properties to using IRCTransport/config.yml
    • Added /whois support.
    • Added nick persistance.
    Version 0.10
    • Added nickanme prefix and suffix options.
    • Fixed Automatic reconnect after plugin is disabled or server is stopped.
    • Added Error message for nick name already in use.
    • Fixed a null exception when the console tries to use irc commands.
    • Channel parts (leaving a channel) are now announced.
    • Channel kicks is now announced.
    • Added some handling for "Connection reset" errors.
    Version 0.9
    • Fixed PlayerJoinEvent/PlayerQuitEvent changes
    • Added channel key support.
    • Added auto join key support.
    • Made system messages yellow.
    Version 0.8
    • Actually fixed bug that 0.7 was supposed to fix.
    • Added irc.password and irc.port configuration options.
    Version 0.7
    • Fixed bug where IRC agent would reconnect after player disconnected.
    Version 0.6
    • Attempts to reconnect to IRC server on connection failure/disconnect.
    • Minecraft color to IRC color support in chat.
    • Color conversion code refactored.
    Version 0.5
    • Fixed a nickname change bug.
    • IRC color to minecraft color support in chat.
    • Removed TSLPC.
    • Channel topic support
    Version 0.4
    • Added /me support
    • Added /names support.
    • Added channel is invite only error message.
    • Changed output messages to use logging.
    • Fixed bug in nickname changing.
    Version 0.3
    • Renamed PlayerBot to IrcAgent.
    • Fixed join message detection.
    • Changed package name to hef.IRCTransport as per request.
    • Changed build system to Maven.
    Version 0.2
    • Player's name displays correctly when their name is changed.
    • Nick change notification added.
    • Nick already in use handling changed.
    • Active channel is switched on channel join.
    • Channel join messages.
    • Channel autojoin now a setting.
    Version 0.1
    • Basic irc features are functional in Minecraft.
     
    Bagels, someoneB, kvartz and 4 others like this.
  2. Offline

    hef

    I don't think I can prevent conneciton resets, but I can add better handling. I'll set it up so that the connection is re attempted after ~5 seconds.
     
  3. Offline

    Shadowblade989

    That should work wonderfully. So its the IRC server resetting the connection then?
     
  4. Offline

    hef

    A connection reset usually happens when a connection is ended abruptly, or unexpected data was received. Both of these types of errors can be caused by either implementation(application) errors, or network (physical) errors.

    If this happens a lot, you may want to look into either a different IRC server software, or a different physical server.
     
  5. Offline

    Αρρεν

    hef, can you link/merge it with iChat, I have found that this plugin can use variables like +variable for output to ingame chat.
    I should be nice if you can use it for output, because I configured iChat for output time, world, healthbar, displaynames (DispNameChanger - persistent, db supported) and when I used IRCTransport I lost it.

    Thx

    // After some sleep trying to fork and implement iChat functionality to IRCTransport, if you want lets build it together…

    // Done, but found dependency on DispNameChanger, trying to implement it too...
    So what we should have: IRC + Color&FormatOutput + PersistentNames
     
  6. Offline

    NotoriousPyro

    Would be nice to see an option to disable some commands, I want all my users in one chat channel and not able to use /join.
     
  7. Offline

    NynjaWitay

    I updated to 0.10 on CB740 and its working great. The nickname prefixing worked great.

    I'm just curious. Why are the IRC settings in the server.properties instead of being in their own config file like most other mods?

    Sending messages could still use some improvement. Maybe some sort of prefix would help. Messaging my bot with /msg Catduck help works, but is a little verbose.
    Code:
    /msg <player> [message]
    Example: /msg pbrhef Awesome thing you built!
    Catduck: blah blah blah...
    
    I would prefer the response to look something more like
    Code:
    [whisper] nynjawitay: help
    [whisper] Catduck: blah blah blah...
    
    or even just display the response and not what I send like
    Code:
    [whisper] Catduck: blah blah blah...
    
    Also, messaging NickServ and ChanServ does not work at all. I'm trying to add more functionality for the bot, but it wants the users to have registered nicknames.

    Thanks for the great work!
     
  8. Offline

    Thyraxxx

    is it possible to join the server channel from an irc client and type command in the client, like I would ingame.

    this would be awsome to moderate my server when im not home
     
  9. Offline

    NynjaWitay

    I like seeing the part messages, but is there any way to set a default Quit message? Right now it's kind of bland.

    Code:
         
    mc_nynjawitay left the room (quit: Quit: ).
    
     
  10. Offline

    Trevor_

    Suggestion:
    Could really use Permissions for this, to give users a status of what group they are through IRC + Minecraft.
    Not to mention chat colors to go along with this, take iChat for example.
    Maybe you can make some kind of compatibility for it .
     
  11. Offline

    flying_pancake

    This plugin sounds amazing, but I'm too reliant on iChat right now. I will keep my eye on this.
     
  12. Offline

    QQCucumber

    It works well, but can you implement some display name persistence?
     
    Calvin Alexander likes this.
  13. Offline

    rmbell

    Code:
    2011-05-13 22:29:06 [SEVERE] The PircBot is already connected to an IRC server.  Disconnect first.
    java.io.IOException: The PircBot is already connected to an IRC server.  Disconnect first.
        at org.jibble.pircbot.PircBot.connect(PircBot.java:131)
        at org.jibble.pircbot.PircBot.reconnect(PircBot.java:248)
        at hef.IRCTransport.Connect.run(Connect.java:46)
        at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
        at java.lang.Thread.run(Unknown Source)
    I keep getting this error thrown at me. The irc server is local, using the WAN ip. Using 127.0.0.1 gets a failed to connect. The ircd is ircd-hybrid.
     
  14. Agree to him, it would be better if it support plugins like iChat as well.
     
  15. Offline

    hef

    If you have a github repo, I can take a look.

    I had no idea how other mods were handling there configs when I started. For the most part, I see mods setting there configs using a permissions plugin. I wanted to avoid that.

    I think I need to start treating private chats like channels, and allow them to be switched between, and set as the active channel.

    do you mean like this?
    Code:
    /msg nickserv register [password]
    /msg nickserv identify [password]
    
    If those arn't working, you may want to set irc.verbose=true and post the log of what happens when you do that. (Use dummy passwords)

    If you are referring to commands like "/time set 0" then no, this plugin does not support that. Authenticating users over irc is not feasible, and most likely beyond the scope of this plugin.

    You may want to look at some web administration plugins. I would be surprised if none existed.

    I havn't looked into persistance support yet, but I really need to. In the mean time I will see if I can fill something else in.

    I don't think I am going to add direct support for permissions, at least not in the near future.

    I have actually made a few attempts at adding support for chat messages formatting plugins. The results have not been satisfactory. There is a new Services api introduced into bukkit that I intend to investigate as a possible solution.

    Persistance support in general would be nice. Does anyone know if persistance support ever got merged into Bukkit?

    I don't know what would cause the server client to attempt to reconnect while it is already connected, but I am adding a check anyway.

    Does the in game chat keep working when you get this message?

    edit: I didn't mean to imply the irc server was causing the problem. I suspect I have a logic bug/race condition but havn't found it yet.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
  16. Offline

    QQCucumber

    I believe it did, yes.
     
  17. Offline

    rmbell

    It does not. Quite strange indeed. I have supybot running and connected to the server, if that may be the cause? I also have someone going over the ircd.conf just to make sure its set 110% properly.
     
  18. Offline

    Seion

    Having issues on my servers, i have the latest version installed. and one of my players joins and doesnt get put into chat at all, says "Connection reset when connection to chat server" he cant chat with any of us or anything. Another player can join on one server but had the same problem on the other server. One error i got on console was this:

    Code:
    [SEVERE] The PircBot is already connected to an IRC server.$
    java.io.IOException: The PircBot is already connected to an IRC server.  Discon$
            at org.jibble.pircbot.PircBot.connect(PircBot.java:131)
            at org.jibble.pircbot.PircBot.reconnect(PircBot.java:248)
            at hef.IRCTransport.Connect.run(Connect.java:46)
            at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
            at java.lang.Thread.run(Thread.java:636)
    
    lastest version of bukkit and minecraft installed.
     
  19. Offline

    hef

    If anyone getting this error can set irc.verbose=true and show me what is happening around the time the error starts, I would really appreciate it.

    Additionally, any messages at all that appear in Yellow in the player's chat channel would be helpful.

    A few other questions I thought of that might help me figure this out:
    Does this error happen as soon as theuser joins?
    Does it happen to all users, or just certain users?
    Does it happen to the same users consistantly?
    Does any other event happen at around the same time?
     
  20. Offline

    Tealk

    its possible add permissions
    "prefix: '&b[&fGuest&b]&f'
    suffix: '&f'"
     
  21. Offline

    Αρρεν

    @hef
    I have no repo, but I always modifying your version after git pull to change some functionality.
    Need to do:
    • Your messages should go to IRC server and minecraft chat separately (through iChat plugin to be colored and formatted)
      In this case I have changed code in two places:
      1. public void sendMessage(…) - just send to IRC, not to in-game chat
      2. onPlayerChat - commented out setCancelled to allow moving chat event through iChat, so to be color and formatted according configuration.
    • I have changed my tables to be compatible with your queries (ebean???, I have looked to it but can not understand how did it works, can not found table columns to modify) it is hard but I have done it (maybe did it more customizable)
    • And commented out annoying ChatDisconnected :p, just added "You are offline, not in IRC, rejoin or something else" in function where you trying to chat.
    // I am writing my diploma now and have no time, but seems after Jun 16 I will be free and do some plugins.
    // That is all :) waiting for PM and questions
     
  22. Offline

    hef

    I recommend:
    1. create a github account,
    2. fork my repository on github,
    3. add your github repository to your local git repo.
    4. push your code to your github repo.
    5. send a pull request to me via github.
    Alternatively you could use git format patch to generate patches I can use.

    That's largely accurate in what I am intending on doing. I am currently trying to get my plugin and iChat to use the serviceManager api to make additional data available to the iChat Plugin like the channel name that a message was sent from.

    Currently, the table is defined by the AgentSettings class (thank Cheesy for the original implementation of this). I haven't looked into how scheme migrations are handled, but you should be able to add a private data member, and a public getter and setter, and it should be a valid entry in the table. You may also want to add @NotEmpty markup as well.

    You also didn't mention what data you were trying to store in the database.
    I am not sure which is better. I suppose the "Chat Disconnected" message is intended to be annoying. I suspect the other message is also annoying. In general getting disconnected from chat is probably pretty annoying.

    I intend on adding support for other plugins that do this.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
  23. Offline

    edwardloveall

    CB 818 - IRCTransport-0.10
    I'm getting an error when a user logs on to the server:
    Code:
    18:00:19 [SEVERE] The PircBot is already connected to an IRC server.  Disconnect first.
    java.io.IOException: The PircBot is already connected to an IRC server.  Disconnect first.
    	at org.jibble.pircbot.PircBot.connect(PircBot.java:131)
    	at org.jibble.pircbot.PircBot.reconnect(PircBot.java:248)
    	at hef.IRCTransport.Connect.run(Connect.java:46)
    	at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    	at java.lang.Thread.run(Thread.java:680)
    This is part of my config file:
    Code:
    irc.server=irc.freenode.net
    irc.port=6697
    irc.verbose=false
     
  24. Offline

    hef

    set irc.verbose=true, and send me some surrounding log data next time it happens. This error has come up a couple times, but I have been able to reproduce it yet.
     
  25. Offline

    edwardloveall

    Sure thing:

    Code:
    148 recipes
    16 achievements
    10:55:12 [INFO] Starting minecraft server version Beta 1.6.6
    10:55:12 [INFO] Loading properties
    10:55:12 [INFO] Starting Minecraft server on *:25565
    10:55:12 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-766-g3fc0460-b818jnks (MC: 1.6.6)
    10:55:12 [INFO] Preparing level "world"
    10:55:12 [INFO] Preparing start region for level 0
    10:55:13 [INFO] Preparing start region for level 1
    10:55:13 [INFO] Preparing spawn area: 93%
    10:55:13 [INFO] IRCTransport v0.1 is enabled!
    10:55:13 [INFO] Done (0.112s)! For help, type "help" or "?"
    10:55:26 [INFO] edwardloveall [/127.0.0.1:55247] logged in with entity id 140 at (7.811018853358499, 64.0, 80.3784751891365)
    10:55:26 [INFO] *** Connected to server.
    10:55:26 [INFO] >>>NICK edwardloveall
    10:55:26 [INFO] >>>USER edwardloveall 8 * :PircBot 1.5.0 Java IRC Bot - www.jibble.org
    10:55:31 [SEVERE] The PircBot is already connected to an IRC server.  Disconnect first.
    java.io.IOException: The PircBot is already connected to an IRC server.  Disconnect first.
    	at org.jibble.pircbot.PircBot.connect(PircBot.java:131)
    	at org.jibble.pircbot.PircBot.reconnect(PircBot.java:248)
    	at hef.IRCTransport.Connect.run(Connect.java:46)
    	at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    	at java.lang.Thread.run(Thread.java:680)
    10:56:11 [INFO] Command 'join' received from CraftPlayer{name=edwardloveall} with 1 arguments
     
  26. Offline

    TheShadow777

    this dont work with mibbit or ?
     
  27. I have same issue as edward
     
  28. Offline

    Shinrin

    Ok, so i got this in bukketcraft, latest release, so right now i'm the only one who can connect to my server and use it, while everyone gets a error on connect. is the plugin not working right on the latest bukkitcraft build or am i'm missing something?

    so it's not the plugin at all, it's the chat, people who use the same username for minecraft and ustream can't get on, due to ustream making you type in your password before logging in.
     
  29. Offline

    hef

    What is ustream?

    I have heard that it does, see here.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 8, 2016
  30. ok the problem I had arose from using the wrong port!

    the one in you template so to speak in the first post is not the default one!
    but it's similar, so thats why I didn't realize it until some headaches later!

    just to let others know to try use the correct port for the server they're connecting to, default is usually 6667.
     
  31. Offline

    treedweller

    I want to be able to see chat log through the server client as well as IRC, is this possible?

    "irc.verbose=true" works in a sense, but is quite cumbersome and doesn't show who said what.
     

Share This Page