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 !
  • 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.

http://bukkit.jacekk.co.uk:8000/job/SimpleIRC/

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of wide_load 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.

  • Avatar of ViscousSummer88 ViscousSummer88 Apr 11, 2013 at 16:32 UTC - 0 likes

    Does not send message from MC > IRC when Factions is installed..?

  • Avatar of wide_load 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.

  • Avatar of englishkiwi englishkiwi Mar 04, 2013 at 07:35 UTC - 0 likes

    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. :)

  • Avatar of Weirdo1984 Weirdo1984 Feb 05, 2013 at 12:22 UTC - 0 likes

    @wide_load: Go

    Thanks!

  • Avatar of wide_load 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/

    Last edited Feb 05, 2013 by wide_load
  • Avatar of Weirdo1984 Weirdo1984 Feb 04, 2013 at 22:20 UTC - 0 likes

    Hi there,

    Would it be possible to assign a prefix to text coming from IRC? Like [IRC] (maybe with color)?

  • Avatar of wide_load 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.

  • Avatar of myx0x3 myx0x3 Jan 30, 2013 at 09:57 UTC - 0 likes

    Hi!

    If you post like ÖÄÅ (swedish keyboard layout) on IRC it looks like crap on Minecraft, add UTF8 support if its possible? :)

  • Avatar of wide_load 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.

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
  • R: v0.3 for CB 1.4.7-R1.0 Mar 13, 2013
  • R: v0.2.1 for CB 1.4.7-R0.1 Jan 30, 2013
  • R: v0.2 for CB 1.4.7-R0.1 Jan 20, 2013
  • R: v0.1 for 1.3.2 Oct 26, 2012

Authors