30 using System.Reflection;
 
   33 using OpenSim.Region.Framework.Interfaces;
 
   34 using OpenSim.Region.Framework.Scenes;
 
   35 using OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server;
 
   39 namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView
 
   41     [Extension(Path = 
"/OpenSim/RegionModules", NodeName = 
"RegionModule", Id = 
"IRCStackModule")]
 
   44         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 
   49         private bool m_Enabled;
 
   51         #region Implementation of INonSharedRegionModule 
   55             if (null != source.Configs[
"IRCd"] &&
 
   56                 source.Configs[
"IRCd"].GetBoolean(
"Enabled", 
false))
 
   59                 m_Port = source.Configs[
"IRCd"].GetInt(
"Port", 6666);
 
   68             m_server = 
new IRCServer(IPAddress.Parse(
"0.0.0.0"), m_Port, scene);
 
   69             m_server.OnNewIRCClient += m_server_OnNewIRCClient;
 
   86             get { 
return "IRCClientStackModule"; }
 
   89         public Type ReplaceableInterface
 
   98             user.OnIRCReady += user_OnIRCReady;
 
  103             m_log.Info(
"[IRCd] Adding user...");
 
  105             m_log.Info(
"[IRCd] Added user to Scene");
 
void RegionLoaded(Scene scene)
This will be called once for every scene loaded. In a shared module this will be multiple times in on...
void AddRegion(Scene scene)
This is called whenever a Scene is added. For shared modules, this can happen several times...
Adam's completely hacked up not-probably-compliant RFC1459 server class. 
void RemoveRegion(Scene scene)
This is called whenever a Scene is removed. For shared modules, this can happen several times...
Interactive OpenSim region server 
void Initialise(IConfigSource source)
This is called to initialize the region module. For shared modules, this is called exactly once...
void Close()
This is the inverse to Initialise. After a Close(), this instance won't be usable anymore...