IRCTransport
[CHAT] IRCTransport 0.13.0 - Minecraft Chat/IRC Integration
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/config.yml file with appropriate values.
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:
server:
address: irc.example.com
default:
channels:
- channel: '#minecraft'
Available commands:
/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 a nick
/irc_listbots -- lists all connected users on the system terminal
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
- Leaving a channel sets another channel active.
- Added server.nicksize to truncate nick intelligently
- Added basic translation support
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 nickname 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.
And this is no longer compatible... RIP best IRC plugin.
@JWhy
Crap, I totally missed this. The link is now dead. Can you reupload it?
@pbrhef Please, can you post here accurate tutorial, how to make own IRC chat with your plugin? I added your plugin on my server... So what I have to do next? Please, help me :( My config.yml file: http:pastebin.com/Gj7Vsxwr
PS: It always says "Failed to connect to Chat Server." ...http:prntscr.com/5a2efm
@LaserCucumber
I forked the project in order to fix some known bugs. Here's a version that fixes the exception reported by skylarmt: https://github.com/JWhy/IRCTransport/releases/download/IRCTransport-0.14.0/IRCTransport-0.14.0.jar
So I think this plugin is officially dead. :( I liked how it creates a client for each individual user rather than have a single bot relay messages and I also liked how I simply had to add a exception to allow for more connections from my Minecraft server, rather than have a server link, which is much less safe.
Fortunately, it still works for now. I really am not looking forward to the day it will stop working.
My players are sometimes getting duplicate messages in chat, and the rest of the time this happens, and the messages aren't synced to the IRC server:
Could not pass event PlayerChatEvent to IRCTransport v0.13.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at net.minecraft.server.v1_7_R3.PlayerConnection$3.evaluate(PlayerConnection.java:890) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at org.bukkit.craftbukkit.v1_7_R3.util.Waitable.run(Waitable.java:24) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:604) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] Caused by: java.lang.NullPointerException at hef.IRCTransport.IrcAgent.sendMessage(IrcAgent.java:259) [?:?] at hef.IRCTransport.BukkitListener.onPlayerChat(BukkitListener.java:43) [?:?] at sun.reflect.GeneratedMethodAccessor141.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_55] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) [bukkit.jar:git-Bukkit-1.7.9-R0.1-1-g5786276-b3085jnks] ... 10 more
Is this a plugin you're still planning to update?
@LaserCucumber
I'll look into getting a proper fix, but if you want a less drastic solution that blowing away the preferences file, you can open he IRCTransport.db file with sqlite3 and remove only the affected user, or change their stored nick to something that the server can accept.
There seems to be some random and unknown derp happening where a user's nickname gets changed to something that can't be used.
[SEVERE] Could not log into the IRC server: :irc.something.net 432 69SAAAA3G 69SAAAA29 :Erroneous Nickname
I don't know what's causing this. It has happened twice in many months so thankfully it doesn't happen often. Deleting IRCTransport.db fixes this.
@qwertyjl
Yep.
Does this work with 1.5?
I Love This Plugin it connects mys servers together but my admin wish there was a way to have prefixes{not Nicks bc anybody can change them } we want somthing like this [Prefix like Owner][than nick ][msg] Plzdo this it would make this alot better
I quite like this plugin, but it seems 1.3.1 has broken some aspect of the 'send message queue' of the underlying pircbotx dependency. I have recompiled irctransport and pircbotx without this queue and the result seems to be stable. To be clear, the queue exists so at times of very high message traffic in MC, messages will be sent to IRC with a delay to prevent an aggressive IRC server from kicking the MC bots for spamming. This likely will not be a problem for most servers.
IRCTransport-0.13.1unofficial.jar
Cheers!
Could you add an automatic NickServ identify option?
@hunterboerner
I too would like this. I utilize Towny, TownyChat and run Prefixes and Suffixes via GroupManager.
For some reason whenever someone talks in game it shows what they said twice, once for ingame and once for IRC.... any ideas?
@pbrhef
can you add an option so that the nicks aren't changed in game. I run my server with prefixes from groupmanager and it changes everybody's name to plain text.
@LaserCucumber
It's a bug, I should have it fixed in the next release.
There are 2 other issues.
Right now all messages are logged 3 times in the server log :
.. and messages sent from IRC are logged 4 times!
I also get a bunch of :
I'd also like to be able to disable chat logging altogether or output it to a different file.
Holy crap! And here I thought this was just another CraftIRC!
This plugin works like a charm!
There is a small issue though.
The focus isn't automatically changed to another channel when a channel is parted. I enabled the verbose mode and checked the logs and nothing is wrong.
Otherwise, awesome plugin.