Currently supports hey0 server mod build 109 thru b113+ (confirmed)
Features:
Easy to configure, to meet your server's custom needs!
+ Configurable IRC command prefix (default is .command)
+ Configurable colors by name (e.g. red, blue, gold)
+ Configurable relay options (send connect/disconnect/kick/ban events, any combination!)
+ Fully customizable via CraftIRC.settings configuration file
+ Join IRC server on any port, with server password
+ IRC Authentication protocols (standard Nickserv identification, and GameSurge support!)
+ Auto-alternative nickname and nickname recovery (via Nickserv GHOST)
+ Join 'main' IRC channel with password
+ Join 'admin' channel with password
+ Bot protection/integrity
+ Full chat spew toggle (relay all chat from MC->IRC or IRC->MC or both!)
+ Make settings changes without restarting the minecraft server! (/reloadplugin CraftIRC)
+ Player-to-admin messaging: players can send notices to your admins in the admin IRC channel
+ Administration from IRC: kick, ban, and broadcast all from your admin IRC channel
IRC Commands
say [msg] - relays IRC message to Minecraft (no echo = no extra chat buffer clutter!)
players - reports the names and number of players currently connected (or empty server message if none present)
Minecraft Commands
/irc [msg] - relays Minecraft message to 'main' IRC chat
/<your admin notice command> [msg] - sends a notice to the admins in your admin IRC channel, useful for reporting griefing or other information.
Installation
Copy CraftIRC.settings to your server path
Copy CraftIRC.jar to your Plugin path
Append 'CraftIRC' to your enabled plugins in server.properties
Edit CraftIRC.settings to your particular configuration (i.e. if you do not need server/channel passwords, do not enter any)
Add the /irc command to the user group (groups.txt) you wish to have access to it
CraftIRC.settings options
All settings are documented within the CraftIRC.settings file for your convenience!
Example
Quote from Sending message from IRC -> MC »
Quote from IRC »
<@Animosity> .say This is an example.
Quote from Minecraft »
[IRC] <Animosity> This is an example.
Quote from Sending message from MC -> IRC (assuming send-all-chat=false) »
Quote from Minecraft »
/irc This is another example.
<nullcline to IRC> This is another example.
[*:3qfij380]Added: Console controls - reload and auth (see below)
[*:3qfij380]Added: Adjustable bot-timeout setting in CraftIRC.settings
[*:3qfij380]Added: Admin notification command - set this command in CraftIRC.settings (so there are no conflicts with other plugins) to let your players message/alert staff in your admin IRC channel
[*:3qfij380]Added: Admin controls from admin IRC channel: kick <playername>, ban <playername>, and broadcast <msg> are the current available commands. (use your custom prefix before the command of course)
[*:3qfij380]Added: Prefix requirement for users in the admin IRC channel (for basic security)
[*:3qfij380]Fixed: GameSurge authentication
[*:3qfij380]Changed: Kick/ban notices in IRC now display properly thanks to hey0's fix to this
Console commands
I've added a few console commands upon request, because administrators are not always able to be in the game when they need to reload a plugin.
Command: 'craftirc reload' will uninitialize the bot, disconnect it and then reload itself with any new settings. This behaves almost identically to sending /reloadplugin CraftIRC from in the game.
Command: 'craftirc auth' will re-authenticate the bot using the settings that are currently loaded - useful for if your server had some latency to the IRC server and didn't get to authenticate in time.
I intend to add prefix requirements for using the 'main' IRC commands, but didn't want to refactor all of the related code and hold this release up any longer.
As always, check the new CraftIRC.settings and make yours compliant.
Great mod :smile.gif: I have a little suggestion to avoid impersonation problems.
The admins and mods should log on and register their nicknames asap obviously. But what if some server users don't know how to / don't want to use IRC? They could still be impersonated if they don't register their nickname. The only solution I could come up with, is finding a way to let the server users register their nicknames in the minecraft chat window (instead of being in the IRC room itself).
Thank you! I hope it serves your game community well.
Let me state up front that using a tool like this for administrative purposes assumes that the user has a clue about IRC and its channel/user administration protocol - I don't consider it the role of CraftIRC to train anybody in this respect, primarily because anyone who wants to link the game to IRC presumably has some experience with IRC.
Now to the point: I've thought very intently about the issue of security with respect to administration. First consider how I've decided to approach this in my first-pass of security - the use of required admin prefixes is robust on its own but has its limitations, though if the server administrator is savvy at all with IRC they'd know that if a user is registered w/ Nickserv then that person can be added to one of the auto-op kind of lists for the channel. When that user is identified, they are authorized as that user and are trusted (hopefully, because an admin channel should have a password already) - and they receive their @.
In short, impersonation should not be a problem because prefixes should be enforced by Chanserv and not some dinky auto-op script someone found for mIRC/xchat/whatever.
If you have a rogue admin and need to remove them from your staff, or any other persons who prove themselves not to be up to the task - kickban them from the channel and change the channel password. Then simply change the password in the CraftIRC.settings and reload the plugin... it isn't the bot's job to babysit for anyone.
Quote from Kiada »
A little solution I came up with is..
1) The user types /minebot register <email address> <password>
2) My first idea was to have minebot change its nickname to the nickname of the person using the register command, but as the minebots already registered this wont work. The other way to do it, would be to have the mod spawn and connect another bot into the chat channel with the same nickname of the person using the register command, and then send the register command to nickserv before being being closed.
3) The user who just registered then checks their email address for the AUTH code. They type /minebot auth <authcode>
4) Another bot is spawned, again with the nickname of the person using the command, and they register the username and auth code.
Any ideas on this?
Well intended, but Nickserv already does this (except for the convoluted parts you added about adding another bot and changing the nickname to a registering user...) and if people are truly IRC-newbies as you suggest then this isn't any easier or better than using Nickserv, and I'm not interested in emulating it anyway.
Ultimately, my end-solution to verify a user using admin commands is:
1) check that they're actually in the admin channel (which had better be passworded)
2) they are at a higher user level defined in the CraftIRC.settings, in the admin channel
3) verify they registered and identified with Nickserv
3 layers of some security type of security, and only the last one remains to be implemented. If there is an unauthorized person in your private admin channel with an elevated user level, I think you have bigger problems than worrying about impersonation.
I could add a whitelist file and add the names of users that are allowed to use admin commands but think about it - for it to be actually secure, you already need the above-3 verification items to be true. In essence it would be whitelisting a whitelist.
If you or others are in need of help with running an IRC channel properly, there is plenty out there and most likely a #help channel on your server as well.
Come chat me in #hey0 on irc.esper.net if you want to discuss this more.
I am in the process of adopting the new plugin schema for b115 but it remains incomplete because the commands that are added to Minecraft are conditional upon your individual CraftIRC.settings (I think this is the only plugin that does this currently) - I am trying to make this unique command registration/unregistration procedure conformant to the standard set by hey0. Everything else in the plugin has been ported already.
Awesome plugin, but I have just updated to hey0's 122 because another MOD needs it to run. Would really love if you could update this plugin as well. Thanks!
Anyone else having a little trouble with this since the Halloween update? IRC chat is sent -into- the server properly, but it isn't being sent -out- from the game to the IRC channel.
Anyone else having a little trouble with this since the Halloween update? IRC chat is sent -into- the server properly, but it isn't being sent -out- from the game to the IRC channel.
Having this also, IRC is being sent to minecraft, but minecraft isn't being sent to IRC. getting unknown command for /irc even though it's listed both in /help and groups.txt
I also set send-all-IRC=TRUE, but that's not working in either direction, and send-events=joins,quits,kicks are not being sent.
Development thread: http://forum.hey0.net/viewtopic.php?id=44
Download
Source: http://code.google.com/p/craftirc/
Latest server plugin (October 10): CraftIRC v1.5 download
Currently supports hey0 server mod build 109 thru b113+ (confirmed)
Features:
Easy to configure, to meet your server's custom needs!
+ Configurable IRC command prefix (default is .command)
+ Configurable colors by name (e.g. red, blue, gold)
+ Configurable relay options (send connect/disconnect/kick/ban events, any combination!)
+ Fully customizable via CraftIRC.settings configuration file
+ Join IRC server on any port, with server password
+ IRC Authentication protocols (standard Nickserv identification, and GameSurge support!)
+ Auto-alternative nickname and nickname recovery (via Nickserv GHOST)
+ Join 'main' IRC channel with password
+ Join 'admin' channel with password
+ Bot protection/integrity
+ Full chat spew toggle (relay all chat from MC->IRC or IRC->MC or both!)
+ Make settings changes without restarting the minecraft server! (/reloadplugin CraftIRC)
+ Player-to-admin messaging: players can send notices to your admins in the admin IRC channel
+ Administration from IRC: kick, ban, and broadcast all from your admin IRC channel
IRC Commands
say [msg] - relays IRC message to Minecraft (no echo = no extra chat buffer clutter!)
players - reports the names and number of players currently connected (or empty server message if none present)
Minecraft Commands
/irc [msg] - relays Minecraft message to 'main' IRC chat
/<your admin notice command> [msg] - sends a notice to the admins in your admin IRC channel, useful for reporting griefing or other information.
Installation
Copy CraftIRC.settings to your server path
Copy CraftIRC.jar to your Plugin path
Append 'CraftIRC' to your enabled plugins in server.properties
Edit CraftIRC.settings to your particular configuration (i.e. if you do not need server/channel passwords, do not enter any)
Add the /irc command to the user group (groups.txt) you wish to have access to it
CraftIRC.settings options
All settings are documented within the CraftIRC.settings file for your convenience!
Example
Upcoming features
YOUR next great idea?
Download: http://craftirc.googlecode.com/files/CraftIRC%20v1.5.zip
Changelog:
[*:3qfij380]Added: Console controls - reload and auth (see below)
[*:3qfij380]Added: Adjustable bot-timeout setting in CraftIRC.settings
[*:3qfij380]Added: Admin notification command - set this command in CraftIRC.settings (so there are no conflicts with other plugins) to let your players message/alert staff in your admin IRC channel
[*:3qfij380]Added: Admin controls from admin IRC channel: kick <playername>, ban <playername>, and broadcast <msg> are the current available commands. (use your custom prefix before the command of course)
[*:3qfij380]Added: Prefix requirement for users in the admin IRC channel (for basic security)
[*:3qfij380]Fixed: GameSurge authentication
[*:3qfij380]Changed: Kick/ban notices in IRC now display properly thanks to hey0's fix to this
Console commands
I've added a few console commands upon request, because administrators are not always able to be in the game when they need to reload a plugin.
Command: 'craftirc reload' will uninitialize the bot, disconnect it and then reload itself with any new settings. This behaves almost identically to sending /reloadplugin CraftIRC from in the game.
Command: 'craftirc auth' will re-authenticate the bot using the settings that are currently loaded - useful for if your server had some latency to the IRC server and didn't get to authenticate in time.
-------------------------------------------------------------------------------------------------------------
I intend to add prefix requirements for using the 'main' IRC commands, but didn't want to refactor all of the related code and hold this release up any longer.
As always, check the new CraftIRC.settings and make yours compliant.
Thank you! I hope it serves your game community well.
Let me state up front that using a tool like this for administrative purposes assumes that the user has a clue about IRC and its channel/user administration protocol - I don't consider it the role of CraftIRC to train anybody in this respect, primarily because anyone who wants to link the game to IRC presumably has some experience with IRC.
Now to the point: I've thought very intently about the issue of security with respect to administration. First consider how I've decided to approach this in my first-pass of security - the use of required admin prefixes is robust on its own but has its limitations, though if the server administrator is savvy at all with IRC they'd know that if a user is registered w/ Nickserv then that person can be added to one of the auto-op kind of lists for the channel. When that user is identified, they are authorized as that user and are trusted (hopefully, because an admin channel should have a password already) - and they receive their @.
In short, impersonation should not be a problem because prefixes should be enforced by Chanserv and not some dinky auto-op script someone found for mIRC/xchat/whatever.
If you have a rogue admin and need to remove them from your staff, or any other persons who prove themselves not to be up to the task - kickban them from the channel and change the channel password. Then simply change the password in the CraftIRC.settings and reload the plugin... it isn't the bot's job to babysit for anyone.
Well intended, but Nickserv already does this (except for the convoluted parts you added about adding another bot and changing the nickname to a registering user...) and if people are truly IRC-newbies as you suggest then this isn't any easier or better than using Nickserv, and I'm not interested in emulating it anyway.
Ultimately, my end-solution to verify a user using admin commands is:
1) check that they're actually in the admin channel (which had better be passworded)
2) they are at a higher user level defined in the CraftIRC.settings, in the admin channel
3) verify they registered and identified with Nickserv
3 layers of some security type of security, and only the last one remains to be implemented. If there is an unauthorized person in your private admin channel with an elevated user level, I think you have bigger problems than worrying about impersonation.
I could add a whitelist file and add the names of users that are allowed to use admin commands but think about it - for it to be actually secure, you already need the above-3 verification items to be true. In essence it would be whitelisting a whitelist.
If you or others are in need of help with running an IRC channel properly, there is plenty out there and most likely a #help channel on your server as well.
Come chat me in #hey0 on irc.esper.net if you want to discuss this more.
Having this also, IRC is being sent to minecraft, but minecraft isn't being sent to IRC. getting unknown command for /irc even though it's listed both in /help and groups.txt
I also set send-all-IRC=TRUE, but that's not working in either direction, and send-events=joins,quits,kicks are not being sent.
Is this all related to the latest update?