// ----------------------------------------------------------------- /// <summary> /// Initialise this shared module /// </summary> /// <param name="scene">this region is getting initialised</param> /// <param name="source">nini config, we are not using this</param> // ----------------------------------------------------------------- public void Initialise(IConfigSource config) { try { if ((m_config = config.Configs["Dispatcher"]) == null) { // There is no configuration, the module is disabled m_log.InfoFormat("[Dispatcher] no configuration info"); return; } m_enabled = m_config.GetBoolean("Enabled", m_enabled); if (m_enabled) { IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName()); m_host = ips[0].ToString(); m_host = m_config.GetString("HostAddress", m_host); m_udpport = m_config.GetInt("UDPPort", m_udpport); m_abinding = String.Format("{0}:{1}", m_host, m_udpport); m_httppath = m_config.GetString("HTTPPath", m_httppath); if (!m_httppath.StartsWith("/")) { m_httppath = "/" + m_httppath; } if (!m_httppath.EndsWith("/")) { m_httppath = m_httppath + "/"; } m_sbinding = String.Format("http://{0}:{1}{2}", m_host, MainServer.Instance.Port, m_httppath); m_maxRequestThreads = m_config.GetInt("MaxAsyncThreads", m_maxRequestThreads); m_maxInterPingTime = m_config.GetInt("MaxInterPingTime", m_maxInterPingTime); m_authorizer = new AuthHandlers(m_config, this); m_infohandler = new InfoHandlers(m_config, this); m_endpointhandler = new EndPointHandlers(m_config, this); m_commands = new DispatcherCommandModule(m_config, this); } } catch (Exception e) { m_log.ErrorFormat("[Dispatcher] initialization error: {0}", e.Message); return; } m_log.WarnFormat("[Dispatcher] module {0} enabled, udp binding {1}, http binding {2}", (m_enabled ? "is" : "is not"), m_abinding, m_sbinding); }
// ----------------------------------------------------------------- /// <summary> /// Initialise this shared module /// </summary> /// <param name="scene">this region is getting initialised</param> /// <param name="source">nini config, we are not using this</param> // ----------------------------------------------------------------- public void Initialise(IConfigSource config) { try { string configFileName = "Dispatcher.ini"; string configFilePath; bool created; if (!Util.MergeConfigurationFile(config, configFileName, "", out configFilePath, out created)) { string exampleConfigFile = Path.Combine(AssemblyDirectory, "Dispatcher.ini.example"); m_log.WarnFormat("[Dispatcher] please edit configuration at {0} before running this module, an example can be found at {1}", configFilePath, exampleConfigFile); } if ((m_config = config.Configs["Dispatcher"]) == null) { // There is no configuration, the module is disabled m_log.InfoFormat("[Dispatcher] no configuration info, module disabled"); return; } m_enabled = m_config.GetBoolean("Enabled", m_enabled); if (m_enabled) { IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName()); m_host = ips[0].ToString(); m_host = m_config.GetString("HostAddress", m_host); m_udpport = m_config.GetInt("UDPPort", m_udpport); m_abinding = String.Format("{0}:{1}", m_host, m_udpport); m_httppath = m_config.GetString("HTTPPath", m_httppath); if (!m_httppath.StartsWith("/")) { m_httppath = "/" + m_httppath; } if (!m_httppath.EndsWith("/")) { m_httppath = m_httppath + "/"; } m_sbinding = String.Format("http://{0}:{1}{2}", m_host, MainServer.Instance.Port, m_httppath); m_maxRequestThreads = m_config.GetInt("MaxAsyncThreads", m_maxRequestThreads); m_maxInterPingTime = m_config.GetInt("MaxInterPingTime", m_maxInterPingTime); m_filterIPs = m_config.GetBoolean("UseIPAddressFiltering", m_filterIPs); m_filterPattern = m_config.GetString("AcceptableIPAddressPattern", m_filterPattern); if (!String.IsNullOrEmpty(m_filterPattern)) { try { m_filterRegex = new Regex(m_filterPattern); //m_log.DebugFormat("[Dispatcher] filtering ip addresses with pattern <{0}>",m_filterPattern); } catch (Exception e) { m_log.WarnFormat("[Dispatcher] failed to parse regular expression in AcceptableIPAddressPattern"); m_filterRegex = null; } } m_authorizer = new AuthHandlers(m_config, this); m_infohandler = new InfoHandlers(m_config, this); m_endpointhandler = new EndPointHandlers(m_config, this); m_commands = new DispatcherCommandModule(m_config, this); } } catch (Exception e) { m_log.ErrorFormat("[Dispatcher] initialization error: {0}", e.Message); return; } m_log.WarnFormat("[Dispatcher] module {0} enabled, udp binding {1}, http binding {2}", (m_enabled ? "is" : "is not"), m_abinding, m_sbinding); }