Enable the RemoteAdmin module to save regions as ini files rather than XML
parent
5869598c4c
commit
febd54499b
|
@ -556,25 +556,28 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// no client supplied UUID: look it up...
|
if (masterFirst != String.Empty && masterLast != String.Empty) // User requests a master avatar
|
||||||
CachedUserInfo userInfo
|
|
||||||
= m_app.CommunicationsManager.UserProfileCacheService.GetUserDetails(
|
|
||||||
masterFirst, masterLast);
|
|
||||||
|
|
||||||
if (null == userInfo)
|
|
||||||
{
|
{
|
||||||
m_log.InfoFormat("master avatar does not exist, creating it");
|
// no client supplied UUID: look it up...
|
||||||
// ...or create new user
|
CachedUserInfo userInfo
|
||||||
userID = m_app.CommunicationsManager.UserAdminService.AddUser(
|
= m_app.CommunicationsManager.UserProfileCacheService.GetUserDetails(
|
||||||
masterFirst, masterLast, masterPassword, "", region.RegionLocX, region.RegionLocY);
|
masterFirst, masterLast);
|
||||||
|
|
||||||
|
if (null == userInfo)
|
||||||
|
{
|
||||||
|
m_log.InfoFormat("master avatar does not exist, creating it");
|
||||||
|
// ...or create new user
|
||||||
|
userID = m_app.CommunicationsManager.UserAdminService.AddUser(
|
||||||
|
masterFirst, masterLast, masterPassword, "", region.RegionLocX, region.RegionLocY);
|
||||||
|
|
||||||
if (userID == UUID.Zero)
|
if (userID == UUID.Zero)
|
||||||
throw new Exception(String.Format("failed to create new user {0} {1}",
|
throw new Exception(String.Format("failed to create new user {0} {1}",
|
||||||
masterFirst, masterLast));
|
masterFirst, masterLast));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
userID = userInfo.UserProfile.ID;
|
userID = userInfo.UserProfile.ID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -594,6 +594,57 @@ namespace OpenSim.Framework
|
||||||
ScopeID = new UUID(config.GetString("ScopeID", UUID.Zero.ToString()));
|
ScopeID = new UUID(config.GetString("ScopeID", UUID.Zero.ToString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void WriteNiniConfig(IConfigSource source)
|
||||||
|
{
|
||||||
|
IConfig config = source.Configs[RegionName];
|
||||||
|
|
||||||
|
if (config != null)
|
||||||
|
source.Configs.Remove(RegionName);
|
||||||
|
|
||||||
|
config = source.AddConfig(RegionName);
|
||||||
|
|
||||||
|
config.Set("RegionUUID", RegionID.ToString());
|
||||||
|
|
||||||
|
string location = String.Format("{0},{1}", m_regionLocX, m_regionLocY);
|
||||||
|
config.Set("Location", location);
|
||||||
|
|
||||||
|
if (DataStore != String.Empty)
|
||||||
|
config.Set("Datastore", DataStore);
|
||||||
|
|
||||||
|
config.Set("InternalAddress", m_internalEndPoint.Address.ToString());
|
||||||
|
config.Set("InternalPort", m_internalEndPoint.Port);
|
||||||
|
|
||||||
|
config.Set("AllowAlternatePorts", m_allow_alternate_ports.ToString());
|
||||||
|
|
||||||
|
config.Set("ExternalHostName", m_externalHostName);
|
||||||
|
|
||||||
|
if (MasterAvatarAssignedUUID != UUID.Zero)
|
||||||
|
{
|
||||||
|
config.Set("MasterAvatarUUID", MasterAvatarAssignedUUID.ToString());
|
||||||
|
}
|
||||||
|
else if (MasterAvatarFirstName != String.Empty && MasterAvatarLastName != String.Empty)
|
||||||
|
{
|
||||||
|
config.Set("MasterAvatarFirstName", MasterAvatarFirstName);
|
||||||
|
config.Set("MasterAvatarLastName", MasterAvatarLastName);
|
||||||
|
}
|
||||||
|
if (MasterAvatarSandboxPassword != String.Empty)
|
||||||
|
{
|
||||||
|
config.Set("MasterAvatarSandboxPassword", MasterAvatarSandboxPassword);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_nonphysPrimMax != 0)
|
||||||
|
config.Set("NonphysicalPrimMax", m_nonphysPrimMax);
|
||||||
|
if (m_physPrimMax != 0)
|
||||||
|
config.Set("PhysicalPrimMax", m_physPrimMax);
|
||||||
|
config.Set("ClampPrimSize", m_clampPrimSize.ToString());
|
||||||
|
|
||||||
|
if (m_objectCapacity != 0)
|
||||||
|
config.Set("MaxPrims", m_objectCapacity);
|
||||||
|
|
||||||
|
if (ScopeID != UUID.Zero)
|
||||||
|
config.Set("ScopeID", ScopeID.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result)
|
public bool ignoreIncomingConfiguration(string configuration_key, object configuration_result)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
@ -601,6 +652,23 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public void SaveRegionToFile(string description, string filename)
|
public void SaveRegionToFile(string description, string filename)
|
||||||
{
|
{
|
||||||
|
if (filename.ToLower().EndsWith(".ini"))
|
||||||
|
{
|
||||||
|
IniConfigSource source = new IniConfigSource();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
source = new IniConfigSource(filename); // Load if it exists
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
WriteNiniConfig(source);
|
||||||
|
|
||||||
|
source.Save(filename);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
configMember = new ConfigurationMember(filename, description, loadConfigurationOptionsFromMe,
|
configMember = new ConfigurationMember(filename, description, loadConfigurationOptionsFromMe,
|
||||||
ignoreIncomingConfiguration, false);
|
ignoreIncomingConfiguration, false);
|
||||||
configMember.performConfigurationRetrieve();
|
configMember.performConfigurationRetrieve();
|
||||||
|
|
Loading…
Reference in New Issue