SimpleIRC
SimpleIRC
Description
Simply this plugin will create a link between the chat on the server and an IRC server and channels. This is useful for admins to keep an eye on the server and also a fun thing for players to be able to chat without actually having to be in the game.
Bug Reports / Suggestions
If you find a bug, encounter a problem or have a suggestion, please fill out a ticket via the Tickets link above. I do not have the time to read through the comments section, any comment that fits the previous three categories will be ignored.
Installation
On first run the plugin will create the three files explained below, the minimum is to set the connection information in the config file.
Config
The default config file looks like this
irc: server: address: irc.esper.net port: 6667 password: '' bot: nick: MCBot password: nickserv_password channels: - '#something' - '#somethingelse' verbose: false
The server section is fairly straight forward but note that the password here is the password required to join the server and not the NickServ password. The bot section allows a list of channels which can be joined as well as the other standard config options, the password here is the NickServ password for the nick if it has one. Setting verbose to true will cause all text sent to and from the IRC server to be written to the console, this is useful for debugging.
Console
Any console command can be used from IRC if you are an OP (see below). In the channel you can use a ! in place of the first slash for example /time in game would be !time via IRC. You can also send a /msg to the bot with any command jut like you would in the console, no need for a ! or /, so using the same example it would be time
IRC OP
Only players listed in the irc-ops.txt file can use commands from IRC, note that this is not the same as an OP in game. Make sure that all names listed in this file are registered with NickServ on the IRC server, without this anyone would be able to join and execute console commands if they knew your nickname.
Commands
- /ircop - Adds a player to the ops list.
- /ircdeop - Removes a player from the ops list.
- /irc kick - Kicks a user from a channel
- /irc ban - Bans a hostmask from a channel
- /irc op - Gives a user OP
- /irc deop - Takes OP from a user
- /irc voice - Gives voice to a user
- /irc devoice - Takes voice from a user
- /irc leave - Leaves all channels
- /irc join - Joins the configured channels
- /irc disconnect - Disconnects from the server
- /irc connect - Connects to the server
Note that most of the /irc commands require the bot to be an OP for the channel.
Permissions
- simpleirc.op.give - Required to be able to op players
- simpleirc.op.take - Required to be able to deop players
- simpleirc.channel.kick - Allows the player to kick IRC users
- simpleirc.channel.ban - Allows the player to ban IRC users
- simpleirc.channel.op - Allows the player to op IRC users
- simpleirc.channel.voice - Allows the player to deop IRC users
- simpleirc.bot.leave - Allows the player have the bot leave channels
- simpleirc.bot.join - Allows the player have the bot join channels
- simpleirc.bot.disconnect - Allows the player have the bot disconnect
- simpleirc.bot.connect - Allows the player have the bot connect
All permissions default to OP only)
Aliases
If you use a different name on IRC to in game you get create an alias so that your name appears correctly in both places, to do that add a line to the alises.txt file in the format
IRC name:in-game name
So If I use the name "Jacek" on IRC and the name "wide_load" in game then I would enter
Jacek:wide_load
The player name will be protected on the IRC server, if a user joins the channel with the name of a player with an alias they will be kicked for impersonation.
Chat Formatting
A chat formatting plugin is needed to modify the way messages from IRC are displayed in game, SimpleIRC will call a RemotePlayerChatEvent which formatting plugins can listen for. If your chat formatting plugin does not support this you can use SimpleIRC-Formatter alongside it which does.
Contributing
Contributions to the project are very much welcome, if you have a feature that you want implemented and know a nice way to do it then consider forking the repo and submitting a pull request. These will be accepted as long as the following simple guidelines are followed.
- Do not edit the structure of the pom.xml file, feel free to add a dependency if you need it but the formatting and structure should not be changed.
- If you are exposing a new API method, add a JavaDoc comment to it, but don't over-comment internal code.
- Follow the existing code style, don't antagonise over every space though !
All dependencies that are used are now available from a public Maven repo, so you don't have to worry about building several other projects just to add a simple change any more.
Source Code
Available on GitHub.
Dev Builds
Changes Since Last Release
Download
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://bukkit.jacekk.co.uk:8000/job/SimpleIRC/
@Chadwiko
Just change your Mirc theme to another theme, or just change the background color to a bit darker on the current theme.
@wide_load
Not having much luck finding a plugin to do that.
Could you please figure out a way to configure the colour codes that the IRC bot uses?
Also, it would be awesome if there was a way to ge tthe IRC plugin to tell the channel how many people are online on the server.
Those two tweaks would make this irc plugin perfect.
@Chadwiko
Find a plugin that does it I guess.
@wide_load
How do I do that?
@Chadwiko
It just matches the in-game colours so if you change that it will also change on IRC.
How do I make it so the "Player joined the game" messages that the bot publishes in the IRC channel are not yellow?
IE:
http://i.imgur.com/aCRLkE5.png
The yellow is eye-bleeding stuff :P
@ViscousSummer88
Tell the developers of Factions not to cancel chat events on the Monitor level.
Does not send message from MC > IRC when Factions is installed..?
@englishkiwi
The safest thing to do would be not enable the use of commands from the console. The way nicks are protected varies per-server but there should be a method to prevent it being used without identification. I could probably add something to prevent the commands working for normal users too.
Hey, love the plugin, it's been super easy to configure and seems to just work out of the box which is great!
My only issue currently is security. I've done some testing and even after registering my name on the irc server, anyone can login with my name and (since my name is in the irc-ops.txt) use any console commands. This is without first identifying the username.
Now it's entirely possible that I'm derping something up here, since I'm relatively new to irc, but if not, this seems like a fairly big oversight. Am I doing something wrong, or is this just how it is?
Thanks for your time, and again, really great plugin. :)
@wide_load
Thanks!
@Weirdo1984
It already does that doesn't it ?
EDIT: Oh right apparently not, check out http://dev.bukkit.org/server-mods/simpleirc-formatter/
Hi there,
Would it be possible to assign a prefix to text coming from IRC? Like [IRC] (maybe with color)?
@myx0x3
The only thing I could do would be to filter out invalid characters,which would probably just make it make no sense. There is no way to add more to the game, that is controlled by the client.
Hi!
If you post like ÖÄÅ (swedish keyboard layout) on IRC it looks like crap on Minecraft, add UTF8 support if its possible? :)
@Mouffles
I want the commands to work the same as they do in game, so they should work if you nick has permission in game (obviously for identified users only). Haven't quite worked out how to do that yet. currently it's all users.
well anyway it's a nice plugin
I integrated it in my website with mibbit widget in an iframe, and i'm going to integrate it the login mysql system of xauth, and my players will be abble to chat if they want.
I have one left question about commands, is this just ops wich can execute them?
@wide_load
Ok i try to disable, essentials chat, and maybe factions chat.
EDIT : it was Factions colors that was bugging the ircchat. But now i have something incompatible with webchat in dynmap, i'm trying to check this out with them.
@Mouffles
Could you try disabling your chat plugin ? Sometimes they do things that prevent other plugins working correctly.
I installed sucessfully the plugin, everythings seemed to work. But on irc players chat are not displayed (can't read the message sended from minecraft) strange because connection, disconnection of players are correctly notified by the bot.
I'm going to put put verbose on :(
EDIT, verbose doesn't say anything strange, example of the logs :
I can't read on irc what said Mephistot.
I use latest spigot version of bukkit (1.4.6 R4), factions, worldedit, every essentials plugins, and many others, i don't understand why bukkit seem not to send messages to irc.