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.
On first run the plugin will create the three files explained below, the minimum is to set the connection information in the config file.
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.
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
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.
- /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.
- 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)
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
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.
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.
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.
Available on GitHub.
Changes Since Last Release
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.