View Single Post
Author Message
Olly
Senior Member
Join Date: Mar 2007
Location: UK
Old 02-13-2008 , 18:01   IRC Relay for SourceMod 2.5.0
Reply With Quote #1

IRC Relay v2.5.0
by InterWave Studios

This is a follow-up from my last IRC Relay (1.0) which had lots of bugs, was bloated, and was slow to run on your server.

IRC Relay 2.0.0 was re-written COMPLETELY from scratch using the newest SourceMod stuff, unlike the old version which showed 100's of deprecation warnings.

The main idea behind this version is 'modularization'. This version has a much better library set of natives that can be called from ANY plugin on the game-server. Doing this I could split up each part of IRC Relay into multiple plugins, so now if you dont need/want a function, you can simply unload the plugin, and IRC Relay will keep working, but without that 'module'

Anyway, lets get on with it.

Features
  • Message the whole server, or individual players in your source server from IRC
  • Ability to authenticate with IRC services
  • Player listings
  • Detailed player info
  • Server information
  • Run Rcon commands from IRC
  • Kick & Ban players from IRC
  • Support for multiple IRC relay's in the same channel
  • Define-able relay "groups" for executing commands on multiple servers at once
  • Multiple channel support (UNLIMITED CHANNELS!!)
  • Brand new user permission system (kinda like ChanServ) a user gets added with a specific level (0-300) and depending on what level you set the command for, they can run it or not.
  • MUCH better flood protection, all data sent to the IRC server goes into a message queue, and dispatches the messages after a duration you specify. (I have spammed the shit out of it, and cant get it to 'Excess Flood'
  • Baconator module for all of your BACON needs!
  • Steam Community converter, converts Steam Community URL's to SteamID's and vice-versa
  • Ability to have all server chat relayed to your IRC channel(s)
Requirements
Server CVars
  • irc_server
    • The IRC server to connect to
  • irc_port
    • The IRC server port to connect to (def: 6667)
  • irc_password
    • The IRC server password
  • irc_nickname
    • The relay's nickname (make sure its unique on the network)
  • irc_trigger
    • The bot's trigger
  • irc_trigger_groups
    • This is a space seperated list of 'groups' like "eu css" the bot will respond to eu and css triggers (used for multiple servers)
  • irc_debug
    • If this is 1 IRC data will be sent to the server console (recomended it stays as 0, unless you have a problem)
  • irc_message_relaytype
    • The type of channel to send /irc messages from in-game to
      • 1 = Public Channels
      • 2 = Private Channels
      • 3 = Both types
  • irc_color
    • Having this set to 1 will enable colours in IRC (includes calls from any external plugins using the library)
    • If your IRC channel has +c mode set, then you MUST set this to 0, or some messages will fail to send
  • irc_auth_string
    • The service auth string
    • GameSurge: AUTHSERV AUTH %s %s
    • QuakeNet: PRIVMSG [email protected] :auth %s %s
  • irc_auth_username
    • The username to send to the IRC services to auth
  • irc_auth_password
    • The password to send to auth with
  • irc_chat_relaytype
    • The type of channel to send chat messages from in-game to
      • 0 = Off
      • 1 = Public Channels
      • 2 = Private Channels
      • 3 = Both types
  • irc_xs_* (Multiple CVars)
    • This is the user-level required to run the command specified in the cvar name (Read the config file for more info)
ChangeLog
  • 2.0.0
    • Initial Release
  • 2.0.1
    • Made IRC Relay work with sfPlayer's socket extension, as its more stable, and has more features (That is now required, instead of mine)
    • Fixed OnRelayPm/OnRelayMessage only triggering if the trigger was used (should be fired for any message)
    • Added IRC_ReplyMsg native which will reply to same destination that the triggering message was sent from
    • Added IRC_ReplyNotice native which is same as above, but a notice (duh)
    • Added IRC_Action native so you can send ./me commands to IRC
    • Added a die command, this is hardcoded to only allow level 300 to 'kill' the relay (for obvious reasons)
    • Merged irc-access.sp into irc-relay-core.smx (seperate sources) but should solve problems with late-loading because each plugin relyed on the other one to start ><
    • Added a new module (Steam-Community) which will convert steamid's to steam community URL's, and URL's to SteamID's (2 new commands, steam [community url], and profile [steamid]
    • Fixed some minor bugs with the queue, and added better error handling
    • Added a new essential module - Bacon module, with a new added command 'baconize' - Use for all your porky needs
    • Added new command (act) to make the relay perform an action (/me) same syntax as say
    • Added new cvar irc_xs_act to set the required access level to run the act command
    • Added OnWhoisHost forward, that will be called once the relay recieves a reply from a WHOIS command sent to the server, use IRC_GetWhoisHost() to get the host value retrieved
    • Added IRC_GetWhoisHost Read above -^
    • Added IRC_Whois native which will check the hostname of nickname supplied
    • Fixed missing confirmation when adding a new user to the relay
  • 2.1.0
    • Added chat relay for all in-game chat to be shown in IRC
    • Added ability to specify the location (and prefix) of KV config files
    • Reversed output of !players command. Now shows unconnected/spectators last
    • You can now sm plugins reload irc-relay-core to reload the whole thing. Each core plugin will also be reloaded automatically by the core plugin once it is finished loading.
  • 2.5.0
    • Again a complete rewrite, while retaining most of its functionality.
    • Replaced user permission system with access modes. It now checks for a user's channel access (founder/superop/op/halfop/voice) and allows them to run the command or not.
  • 2.5.0 - Version 2
    • Removed all separate plugins into one ircrelay-modules.smx file
    • New Permissions system
Thanks to http://www.steamfriends.com for the servers for me to test on

You can grab the download over here:
http://code.google.com/p/sm-ircrelay/

Bugs, requests and stuff can be done over here:
http://tracker.iwcommunity.net/projects/ircrelay
Attached Files
File Type: zip ircrelay-2.5.0.zip (676.4 KB, 3132 views)

Last edited by tcviper; 05-03-2010 at 08:41. Reason: IRCRelay 2.5.0
Olly is offline
Send a message via MSN to Olly