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 !
- The feature being added must fit in with the project, for example adding a /heal command to a chest locking plugin would be rejected
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.
Facts
- Date created
- Oct 26, 2012
- Category
- Last update
- Mar 13, 2013
- Development stage
- Release
- License
- GNU General Public License version 3 (GPLv3)
- Curse link
- SimpleIRC
- Downloads
- 1,173
- Recent files
- Reply
- #21
wide_load Apr 11, 2013 at 16:57 UTC - 0 likes@ViscousSummer88: Go
Tell the developers of Factions not to cancel chat events on the Monitor level.
- Reply
- #20
ViscousSummer88 Apr 11, 2013 at 16:32 UTC - 0 likesDoes not send message from MC > IRC when Factions is installed..?
Server: http://epiccrafts.co.uk
Website: http://viscoussummer88.com
- Reply
- #18
wide_load Mar 05, 2013 at 23:15 UTC - 0 likes@englishkiwi: Go
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.
- Reply
- #17
englishkiwi Mar 04, 2013 at 07:35 UTC - 0 likesHey, 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. :)
- Reply
- #16
Weirdo1984 Feb 05, 2013 at 12:22 UTC - 0 likes@wide_load: Go
Thanks!
- Reply
- #15
wide_load Feb 04, 2013 at 22:48 UTC - 1 like@Weirdo1984: Go
It already does that doesn't it ?
EDIT: Oh right apparently not, check out http://dev.bukkit.org/server-mods/simpleirc-formatter/
- Reply
- #14
Weirdo1984 Feb 04, 2013 at 22:20 UTC - 0 likesHi there,
Would it be possible to assign a prefix to text coming from IRC? Like [IRC] (maybe with color)?
- Reply
- #13
wide_load Jan 30, 2013 at 11:45 UTC - 0 likes@myx0x3: Go
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.
- Reply
- #12
myx0x3 Jan 30, 2013 at 09:57 UTC - 0 likesHi!
If you post like ÖÄÅ (swedish keyboard layout) on IRC it looks like crap on Minecraft, add UTF8 support if its possible? :)
- Reply
- #11
wide_load Jan 01, 2013 at 14:55 UTC - 0 likes<<reply 1160275>>
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.