/// <summary> /// Create a server that can set up sessions for virtual world client <-> server communications /// </summary> /// <param name="_listenIP"></param> /// <param name="port"></param> /// <param name="proxyPortOffset"></param> /// <param name="allow_alternate_port"></param> /// <param name="configSource"> /// Can be null, in which case default values are used /// </param> /// <param name="assetCache"></param> /// <param name="authenticateClass"></param> /// <returns></returns> public List <IClientNetworkServer> CreateServers( IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, IConfigSource configSource, AgentCircuitManager authenticateClass) { if (m_log.IsDebugEnabled) { m_log.DebugFormat("{0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); } List <IClientNetworkServer> servers = new List <IClientNetworkServer>(); if (plugin != null) { for (int i = 0; i < plugin.Count; i++) { IClientNetworkServer server = (IClientNetworkServer)Activator.CreateInstance(pluginAssembly[i].GetType(plugin[i].ToString())); server.Initialise( _listenIP, ref port, proxyPortOffset, allow_alternate_port, configSource, authenticateClass); servers.Add(server); } return(servers); } m_log.Error("[CLIENTSTACK]: Couldn't initialize a new server"); return(null); }
/// <summary> /// Create a server that can set up sessions for virtual world client <-> server communications /// </summary> /// <param name="_listenIP"></param> /// <param name="port"></param> /// <param name="proxyPortOffset"></param> /// <param name="allow_alternate_port"></param> /// <param name="configSource"> /// Can be null, in which case default values are used /// </param> /// <param name="assetCache"></param> /// <param name="authenticateClass"></param> /// <returns></returns> public IClientNetworkServer CreateServer( IPAddress _listenIP, ref uint port, int proxyPortOffset, bool allow_alternate_port, IConfigSource configSource, IAssetCache assetCache, AgentCircuitManager authenticateClass) { if (plugin != null) { IClientNetworkServer server = (IClientNetworkServer)Activator.CreateInstance(pluginAssembly.GetType(plugin.ToString())); server.Initialise( _listenIP, ref port, proxyPortOffset, allow_alternate_port, configSource, assetCache, authenticateClass); return(server); } m_log.Error("[CLIENTSTACK]: Couldn't initialize a new server"); return(null); }
/// <summary> /// Create a scene and its initial base structures. /// </summary> /// <param name = "regionInfo"></param> /// <param name = "proxyOffset"></param> /// <param name = "configSource"></param> /// <param name = "clientServer"> </param> /// <returns></returns> protected IScene SetupScene(RegionInfo regionInfo, IConfigSource configSource) { AgentCircuitManager circuitManager = new AgentCircuitManager(); List <IClientNetworkServer> clientServers = AuroraModuleLoader.PickupModules <IClientNetworkServer>(); List <IClientNetworkServer> allClientServers = new List <IClientNetworkServer>(); foreach (IClientNetworkServer clientServer in clientServers) { foreach (int port in regionInfo.UDPPorts) { IClientNetworkServer copy = clientServer.Copy(); copy.Initialise(port, m_configSource, circuitManager); allClientServers.Add(copy); } } AsyncScene scene = new AsyncScene(); scene.AddModuleInterfaces(m_openSimBase.ApplicationRegistry.GetInterfaces()); scene.Initialize(regionInfo, circuitManager, allClientServers); return(scene); }
/// <summary> /// Create a scene and its initial base structures. /// </summary> /// <param name="regionInfo"></param> /// <param name="proxyOffset"></param> /// <param name="configSource"></param> /// <param name="clientServer"> </param> /// <returns></returns> protected Scene SetupScene(RegionInfo regionInfo, IConfigSource configSource) { AgentCircuitManager circuitManager = new AgentCircuitManager(); IPAddress listenIP = regionInfo.InternalEndPoint.Address; if (!IPAddress.TryParse(regionInfo.InternalEndPoint.Address.ToString(), out listenIP)) { listenIP = IPAddress.Parse("0.0.0.0"); } uint port = (uint)regionInfo.InternalEndPoint.Port; string ClientstackDll = m_config.Configs["Startup"].GetString("ClientStackPlugin", "OpenSim.Region.ClientStack.LindenUDP.dll"); IClientNetworkServer clientServer = AuroraModuleLoader.LoadPlugin <IClientNetworkServer> (Util.BasePathCombine(ClientstackDll)); clientServer.Initialise( listenIP, ref port, 0, regionInfo.m_allow_alternate_ports, m_config, circuitManager); regionInfo.InternalEndPoint.Port = (int)port; Scene scene = new Scene(); scene.AddModuleInterfaces(m_OpenSimBase.ApplicationRegistry.GetInterfaces()); scene.Initialize(regionInfo, circuitManager, clientServer); StartModules(scene); m_clientServers.Add(clientServer); //Do this here so that we don't have issues later when startup complete messages start coming in m_localScenes.Add(scene); return(scene); }
/// <summary> /// Create a scene and its initial base structures. /// </summary> /// <param name="regionInfo"></param> /// <param name="proxyOffset"></param> /// <param name="configSource"></param> /// <param name="clientServer"> </param> /// <returns></returns> protected Scene SetupScene(RegionInfo regionInfo, IConfigSource configSource, out IClientNetworkServer clientServer) { AgentCircuitManager circuitManager = new AgentCircuitManager(); IPAddress listenIP = regionInfo.InternalEndPoint.Address; if (!IPAddress.TryParse(regionInfo.InternalEndPoint.Address.ToString(), out listenIP)) listenIP = IPAddress.Parse("0.0.0.0"); uint port = (uint)regionInfo.InternalEndPoint.Port; string ClientstackDll = m_config.Configs["Startup"].GetString("ClientStackPlugin", "OpenSim.Region.ClientStack.LindenUDP.dll"); clientServer = AuroraModuleLoader.LoadPlugin<IClientNetworkServer>(ClientstackDll); clientServer.Initialise( listenIP, ref port, 0, regionInfo.m_allow_alternate_ports, m_config, circuitManager); regionInfo.InternalEndPoint.Port = (int)port; Scene scene = new Scene(regionInfo, circuitManager, this); StartModules(scene); clientServer.AddScene(scene); m_clientServers.Add(clientServer); //Do this here so that we don't have issues later when startup complete messages start coming in m_localScenes.Add(scene); return scene; }
/// <summary> /// Create a scene and its initial base structures. /// </summary> /// <param name="regionInfo"></param> /// <param name="proxyOffset"></param> /// <param name="configSource"></param> /// <param name="clientServer"> </param> /// <returns></returns> protected Scene SetupScene(RegionInfo regionInfo, int proxyOffset, IConfigSource configSource, out IClientNetworkServer clientServer) { AgentCircuitManager circuitManager = new AgentCircuitManager(); IPAddress listenIP = regionInfo.InternalEndPoint.Address; //if (!IPAddress.TryParse(regionInfo.InternalEndPoint, out listenIP)) // listenIP = IPAddress.Parse("0.0.0.0"); uint port = (uint)regionInfo.InternalEndPoint.Port; string ClientstackDll = m_config.Configs["Startup"].GetString("ClientStackPlugin", "OpenSim.Region.ClientStack.LindenUDP.dll"); clientServer = Aurora.Framework.AuroraModuleLoader.LoadPlugin<IClientNetworkServer>(ClientstackDll, "IClientNetworkServer"); clientServer.Initialise( listenIP, ref port, proxyOffset, regionInfo.m_allow_alternate_ports, m_config, circuitManager); regionInfo.InternalEndPoint.Port = (int)port; SceneCommunicationService sceneGridService = new SceneCommunicationService(); Scene scene = new Scene(regionInfo, circuitManager, sceneGridService, m_config, m_OpenSimBase.Version, m_simulationDataService, m_OpenSimBase.Stats); FindEstateInfo(scene); clientServer.AddScene(scene); m_clientServers.Add(clientServer); //Do this here so that we don't have issues later when startup complete messages start coming in Add(scene); scene.PhysicsScene = GetPhysicsScene(m_config, scene.RegionInfo.RegionName); return scene; }