Merge commit '39d7945efc8daa6e5cd0f4728b499e7a624526cd' into bigmerge
Conflicts: OpenSim/Framework/RegionLoader/Web/RegionLoaderWebServer.csavinationmerge
commit
5536cdf90c
|
@ -48,11 +48,13 @@ namespace OpenSim.Framework.RegionLoader.Filesystem
|
||||||
public RegionInfo[] LoadRegions()
|
public RegionInfo[] LoadRegions()
|
||||||
{
|
{
|
||||||
string regionConfigPath = Path.Combine(Util.configDir(), "Regions");
|
string regionConfigPath = Path.Combine(Util.configDir(), "Regions");
|
||||||
|
bool allowRegionless = false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
IConfig startupConfig = (IConfig)m_configSource.Configs["Startup"];
|
IConfig startupConfig = (IConfig)m_configSource.Configs["Startup"];
|
||||||
regionConfigPath = startupConfig.GetString("regionload_regionsdir", regionConfigPath).Trim();
|
regionConfigPath = startupConfig.GetString("regionload_regionsdir", regionConfigPath).Trim();
|
||||||
|
allowRegionless = startupConfig.GetBoolean("allow_regionless", false);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
@ -68,7 +70,7 @@ namespace OpenSim.Framework.RegionLoader.Filesystem
|
||||||
string[] iniFiles = Directory.GetFiles(regionConfigPath, "*.ini");
|
string[] iniFiles = Directory.GetFiles(regionConfigPath, "*.ini");
|
||||||
|
|
||||||
// Create an empty Regions.ini if there are no existing config files.
|
// Create an empty Regions.ini if there are no existing config files.
|
||||||
if (configFiles.Length == 0 && iniFiles.Length == 0)
|
if (!allowRegionless && configFiles.Length == 0 && iniFiles.Length == 0)
|
||||||
{
|
{
|
||||||
new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "Regions.ini"), false, m_configSource);
|
new RegionInfo("DEFAULT REGION CONFIG", Path.Combine(regionConfigPath, "Regions.ini"), false, m_configSource);
|
||||||
iniFiles = Directory.GetFiles(regionConfigPath, "*.ini");
|
iniFiles = Directory.GetFiles(regionConfigPath, "*.ini");
|
||||||
|
|
|
@ -60,6 +60,8 @@ namespace OpenSim.Framework.RegionLoader.Web
|
||||||
{
|
{
|
||||||
IConfig startupConfig = (IConfig) m_configSource.Configs["Startup"];
|
IConfig startupConfig = (IConfig) m_configSource.Configs["Startup"];
|
||||||
string url = startupConfig.GetString("regionload_webserver_url", String.Empty).Trim();
|
string url = startupConfig.GetString("regionload_webserver_url", String.Empty).Trim();
|
||||||
|
bool allowRegionless = startupConfig.GetBoolean("allow_regionless", false);
|
||||||
|
|
||||||
if (url == String.Empty)
|
if (url == String.Empty)
|
||||||
{
|
{
|
||||||
m_log.Error("[WEBLOADER]: Unable to load webserver URL - URL was empty.");
|
m_log.Error("[WEBLOADER]: Unable to load webserver URL - URL was empty.");
|
||||||
|
@ -69,11 +71,16 @@ namespace OpenSim.Framework.RegionLoader.Web
|
||||||
{
|
{
|
||||||
while(tries > 0)
|
while(tries > 0)
|
||||||
{
|
{
|
||||||
|
RegionInfo[] regionInfos = new RegionInfo[] {};
|
||||||
|
int regionCount = 0;
|
||||||
HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(url);
|
HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(url);
|
||||||
webRequest.Timeout = 30000; //30 Second Timeout
|
webRequest.Timeout = 30000; //30 Second Timeout
|
||||||
m_log.Debug("[WEBLOADER]: Sending Download Request...");
|
m_log.DebugFormat("[WEBLOADER]: Sending download request to {0}", url);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();
|
HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();
|
||||||
m_log.Debug("[WEBLOADER]: Downloading Region Information From Remote Server...");
|
m_log.Debug("[WEBLOADER]: Downloading region information...");
|
||||||
StreamReader reader = new StreamReader(webResponse.GetResponseStream());
|
StreamReader reader = new StreamReader(webResponse.GetResponseStream());
|
||||||
string xmlSource = String.Empty;
|
string xmlSource = String.Empty;
|
||||||
string tempStr = reader.ReadLine();
|
string tempStr = reader.ReadLine();
|
||||||
|
@ -88,7 +95,11 @@ namespace OpenSim.Framework.RegionLoader.Web
|
||||||
xmlDoc.LoadXml(xmlSource);
|
xmlDoc.LoadXml(xmlSource);
|
||||||
if (xmlDoc.FirstChild.Name == "Regions")
|
if (xmlDoc.FirstChild.Name == "Regions")
|
||||||
{
|
{
|
||||||
RegionInfo[] regionInfos = new RegionInfo[xmlDoc.FirstChild.ChildNodes.Count];
|
regionCount = xmlDoc.FirstChild.ChildNodes.Count;
|
||||||
|
|
||||||
|
if (regionCount > 0)
|
||||||
|
{
|
||||||
|
regionInfos = new RegionInfo[regionCount];
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < xmlDoc.FirstChild.ChildNodes.Count; i++)
|
for (i = 0; i < xmlDoc.FirstChild.ChildNodes.Count; i++)
|
||||||
{
|
{
|
||||||
|
@ -96,10 +107,22 @@ namespace OpenSim.Framework.RegionLoader.Web
|
||||||
regionInfos[i] =
|
regionInfos[i] =
|
||||||
new RegionInfo("REGION CONFIG #" + (i + 1), xmlDoc.FirstChild.ChildNodes[i],false,m_configSource);
|
new RegionInfo("REGION CONFIG #" + (i + 1), xmlDoc.FirstChild.ChildNodes[i],false,m_configSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i > 0)
|
|
||||||
return regionInfos;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (WebException ex)
|
||||||
|
{
|
||||||
|
if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.NotFound)
|
||||||
|
{
|
||||||
|
if (!allowRegionless)
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (regionCount > 0 | allowRegionless)
|
||||||
|
return regionInfos;
|
||||||
|
|
||||||
m_log.Debug("[WEBLOADER]: Request yielded no regions.");
|
m_log.Debug("[WEBLOADER]: Request yielded no regions.");
|
||||||
tries--;
|
tries--;
|
||||||
|
@ -109,6 +132,8 @@ namespace OpenSim.Framework.RegionLoader.Web
|
||||||
System.Threading.Thread.Sleep(wait);
|
System.Threading.Thread.Sleep(wait);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_log.Error("[WEBLOADER]: No region configs were available.");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,6 +111,8 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
|
{
|
||||||
|
if (m_scene != null)
|
||||||
{
|
{
|
||||||
m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
|
m_textureManager = m_scene.RequestModuleInterface<IDynamicTextureManager>();
|
||||||
if (m_textureManager != null)
|
if (m_textureManager != null)
|
||||||
|
@ -118,6 +120,7 @@ namespace OpenSim.Region.CoreModules.Scripting.LoadImageURL
|
||||||
m_textureManager.RegisterRender(GetContentType(), this);
|
m_textureManager.RegisterRender(GetContentType(), this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
|
|
|
@ -233,6 +233,7 @@ namespace OpenSim.Tools.Configger
|
||||||
config = defaultConfig.AddConfig("Startup");
|
config = defaultConfig.AddConfig("Startup");
|
||||||
|
|
||||||
config.Set("region_info_source", "filesystem");
|
config.Set("region_info_source", "filesystem");
|
||||||
|
config.Set("allow_regionless", false);
|
||||||
|
|
||||||
config.Set("gridmode", false);
|
config.Set("gridmode", false);
|
||||||
config.Set("physics", "OpenDynamicsEngine");
|
config.Set("physics", "OpenDynamicsEngine");
|
||||||
|
|
|
@ -71,6 +71,11 @@
|
||||||
;; in a <Regions> tag.
|
;; in a <Regions> tag.
|
||||||
; regionload_webserver_url = "http://example.com/regions.xml";
|
; regionload_webserver_url = "http://example.com/regions.xml";
|
||||||
|
|
||||||
|
;# {allow_regionless} {} {Allow simulator to start up with no regions configured.} {true false} false
|
||||||
|
;; Allow the simulator to start up if there are no region configuration available
|
||||||
|
;; from the selected region_info_source.
|
||||||
|
; allow_regionless = false
|
||||||
|
|
||||||
;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256
|
;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256
|
||||||
;; Maximum size for non-physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonphysicalPrimMax!).
|
;; Maximum size for non-physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonphysicalPrimMax!).
|
||||||
; NonPhysicalPrimMax = 256
|
; NonPhysicalPrimMax = 256
|
||||||
|
|
|
@ -70,6 +70,10 @@
|
||||||
; except that everything is also enclosed in a <Regions> tag.
|
; except that everything is also enclosed in a <Regions> tag.
|
||||||
; regionload_webserver_url = "http://example.com/regions.xml";
|
; regionload_webserver_url = "http://example.com/regions.xml";
|
||||||
|
|
||||||
|
;; Allow the simulator to start up if there are no region configuration available
|
||||||
|
;; from the selected region_info_source.
|
||||||
|
allow_regionless = false
|
||||||
|
|
||||||
; Maximum size of non physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonphysicalPrimMax!).
|
; Maximum size of non physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonphysicalPrimMax!).
|
||||||
NonPhysicalPrimMax = 256
|
NonPhysicalPrimMax = 256
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue