* Fixes an issue with the BaseHttpServer in Linux

* Fixes an estate naming issue
* Fixes a land issue with the landobject not reporting the proper parcel prim.
* A few other tweaks.
0.6.0-stable
Teravus Ovares 2008-04-15 06:21:44 +00:00
parent 00dbca468a
commit 682f4e9257
7 changed files with 92 additions and 20 deletions

View File

@ -486,6 +486,19 @@ namespace OpenSim.Framework
} }
} }
// Estate name
private string m_estateName;
public string estateName
{
get { return m_estateName; }
set
{
m_estateName = value;
configMember.forceSetConfigurationOption("estate_name", m_estateName.ToString());
}
}
private LLUUID m_estateManager0; private LLUUID m_estateManager0;
private LLUUID m_estateManager1; private LLUUID m_estateManager1;
private LLUUID m_estateManager2; private LLUUID m_estateManager2;
@ -835,6 +848,8 @@ namespace OpenSim.Framework
configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
String.Empty, "00000000-0000-0000-0000-000000000000", true); String.Empty, "00000000-0000-0000-0000-000000000000", true);
configMember.addConfigurationOption("estate_name", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
String.Empty, "TestEstate", true);
configMember.addConfigurationOption("estate_manager_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, configMember.addConfigurationOption("estate_manager_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
String.Empty, "00000000-0000-0000-0000-000000000000", true); String.Empty, "00000000-0000-0000-0000-000000000000", true);
configMember.addConfigurationOption("estate_manager_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, configMember.addConfigurationOption("estate_manager_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
@ -966,6 +981,9 @@ namespace OpenSim.Framework
case "terrain_file": case "terrain_file":
m_terrainFile = (string) configuration_result; m_terrainFile = (string) configuration_result;
break; break;
case "estate_name":
m_estateName = (string) configuration_result;
break;
case "terrain_multiplier": case "terrain_multiplier":
m_terrainMultiplier = Convert.ToDouble(configuration_result); m_terrainMultiplier = Convert.ToDouble(configuration_result);
break; break;

View File

@ -56,6 +56,7 @@ namespace OpenSim.Framework
public int salePrice = 0; //Unemeplemented. Parcels price. public int salePrice = 0; //Unemeplemented. Parcels price.
public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased; public Parcel.ParcelStatus landStatus = Parcel.ParcelStatus.Leased;
public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark | public uint landFlags = (uint) Parcel.ParcelFlags.AllowFly | (uint) Parcel.ParcelFlags.AllowLandmark |
(uint) Parcel.ParcelFlags.AllowAllObjectEntry | (uint) Parcel.ParcelFlags.AllowAllObjectEntry |
(uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform | (uint) Parcel.ParcelFlags.AllowDeedToGroup | (uint) Parcel.ParcelFlags.AllowTerraform |

View File

@ -332,7 +332,14 @@ namespace OpenSim.Framework.Servers
} }
finally finally
{ {
response.OutputStream.Close(); try
{
response.OutputStream.Close();
}
catch (System.Net.Sockets.SocketException)
{
// This has to be here to prevent a Linux/Mono crash
}
} }
} }

View File

@ -2813,7 +2813,7 @@ namespace OpenSim.Region.ClientStack
{ {
// Keep track of when this packet was sent out // Keep track of when this packet was sent out
Pack.TickCount = System.Environment.TickCount; Pack.TickCount = System.Environment.TickCount;
if (!Pack.Header.Resent) if (!Pack.Header.Resent)
{ {
Pack.Header.Sequence = NextSeqNum(); Pack.Header.Sequence = NextSeqNum();

View File

@ -289,7 +289,7 @@ namespace OpenSim.Region.Environment
} }
//Sending Estate Settings //Sending Estate Settings
returnblock[0].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarFirstName + m_scene.RegionInfo.MasterAvatarLastName); returnblock[0].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateName);
returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString()); returnblock[1].Parameter = Helpers.StringToField(m_scene.RegionInfo.MasterAvatarAssignedUUID.ToString());
returnblock[2].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateID.ToString()); returnblock[2].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateID.ToString());
@ -578,21 +578,22 @@ namespace OpenSim.Region.Environment
{ {
RegionInfoPacket rinfopack = new RegionInfoPacket(); RegionInfoPacket rinfopack = new RegionInfoPacket();
RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock(); RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
rinfopack.AgentData.AgentID = client.AgentId;
rinfoblk.BillableFactor = 0; rinfopack.AgentData.SessionID = client.SessionId;
rinfoblk.EstateID = 02; rinfoblk.BillableFactor = m_regInfo.EstateSettings.billableFactor;
rinfoblk.MaxAgents = 100; rinfoblk.EstateID = m_regInfo.EstateSettings.estateID;
rinfoblk.ObjectBonusFactor = 1.0f; rinfoblk.MaxAgents = m_regInfo.EstateSettings.maxAgents;
rinfoblk.ParentEstateID = 0; rinfoblk.ObjectBonusFactor = m_regInfo.EstateSettings.objectBonusFactor;
rinfoblk.PricePerMeter = 0; rinfoblk.ParentEstateID = m_regInfo.EstateSettings.parentEstateID;
rinfoblk.RedirectGridX = 0; rinfoblk.PricePerMeter = m_regInfo.EstateSettings.pricePerMeter;
rinfoblk.RedirectGridY = 0; rinfoblk.RedirectGridX = m_regInfo.EstateSettings.redirectGridX;
rinfoblk.RegionFlags = (uint) m_regInfo.EstateSettings.regionFlags; rinfoblk.RedirectGridY = m_regInfo.EstateSettings.redirectGridY;
rinfoblk.RegionFlags = (uint)( m_regInfo.EstateSettings.regionFlags);
rinfoblk.SimAccess = (byte) m_regInfo.EstateSettings.simAccess; rinfoblk.SimAccess = (byte) m_regInfo.EstateSettings.simAccess;
rinfoblk.SunHour = m_regInfo.EstateSettings.sunHour; rinfoblk.SunHour = m_regInfo.EstateSettings.sunHour;
rinfoblk.TerrainLowerLimit = 20; rinfoblk.TerrainLowerLimit = m_regInfo.EstateSettings.terrainLowerLimit;
rinfoblk.TerrainRaiseLimit = 20; rinfoblk.TerrainRaiseLimit = m_regInfo.EstateSettings.terrainRaiseLimit;
rinfoblk.UseEstateSun = true; rinfoblk.UseEstateSun = !m_regInfo.EstateSettings.useFixedSun;
rinfoblk.WaterHeight = m_regInfo.EstateSettings.waterHeight; rinfoblk.WaterHeight = m_regInfo.EstateSettings.waterHeight;
rinfoblk.SimName = Helpers.StringToField(m_regInfo.RegionName); rinfoblk.SimName = Helpers.StringToField(m_regInfo.RegionName);
@ -650,7 +651,7 @@ namespace OpenSim.Region.Environment
regionInfoPacket.RegionInfo.PricePerMeter = m_regInfo.EstateSettings.pricePerMeter; regionInfoPacket.RegionInfo.PricePerMeter = m_regInfo.EstateSettings.pricePerMeter;
regionInfoPacket.RegionInfo.RedirectGridX = m_regInfo.EstateSettings.redirectGridX; regionInfoPacket.RegionInfo.RedirectGridX = m_regInfo.EstateSettings.redirectGridX;
regionInfoPacket.RegionInfo.RedirectGridY = m_regInfo.EstateSettings.redirectGridY; regionInfoPacket.RegionInfo.RedirectGridY = m_regInfo.EstateSettings.redirectGridY;
regionInfoPacket.RegionInfo.RegionFlags = (uint) m_regInfo.EstateSettings.regionFlags; regionInfoPacket.RegionInfo.RegionFlags = (uint)(m_regInfo.EstateSettings.regionFlags);
regionInfoPacket.RegionInfo.SimAccess = (byte) m_regInfo.EstateSettings.simAccess; regionInfoPacket.RegionInfo.SimAccess = (byte) m_regInfo.EstateSettings.simAccess;
regionInfoPacket.RegionInfo.SimName = Helpers.StringToField(m_regInfo.RegionName); regionInfoPacket.RegionInfo.SimName = Helpers.StringToField(m_regInfo.RegionName);
regionInfoPacket.RegionInfo.SunHour = m_regInfo.EstateSettings.sunHour; regionInfoPacket.RegionInfo.SunHour = m_regInfo.EstateSettings.sunHour;
@ -658,6 +659,7 @@ namespace OpenSim.Region.Environment
regionInfoPacket.RegionInfo.TerrainRaiseLimit = m_regInfo.EstateSettings.terrainRaiseLimit; regionInfoPacket.RegionInfo.TerrainRaiseLimit = m_regInfo.EstateSettings.terrainRaiseLimit;
regionInfoPacket.RegionInfo.UseEstateSun = !m_regInfo.EstateSettings.useFixedSun; regionInfoPacket.RegionInfo.UseEstateSun = !m_regInfo.EstateSettings.useFixedSun;
regionInfoPacket.RegionInfo.WaterHeight = m_regInfo.EstateSettings.waterHeight; regionInfoPacket.RegionInfo.WaterHeight = m_regInfo.EstateSettings.waterHeight;
remote_client.OutPacket(regionInfoPacket, ThrottleOutPacketType.Task); remote_client.OutPacket(regionInfoPacket, ThrottleOutPacketType.Task);
} }

View File

@ -144,6 +144,7 @@ namespace OpenSim.Region.Environment.Modules
// Centralized grid structure using OpenSimWi Redux revision 9+ // Centralized grid structure using OpenSimWi Redux revision 9+
// https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux // https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux
scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate); scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate);
scene.AddXmlRPCHandler("user_alert", UserAlert);
} }
else else
{ {
@ -1164,6 +1165,49 @@ namespace OpenSim.Region.Environment.Modules
r.Value = rparms; r.Value = rparms;
return r; return r;
} }
/// <summary>
/// XMLRPC handler to send alert message and sound to client
/// </summary>
public XmlRpcResponse UserAlert(XmlRpcRequest request)
{
XmlRpcResponse ret = new XmlRpcResponse();
Hashtable retparam = new Hashtable();
Hashtable requestData = (Hashtable)request.Params[0];
LLUUID agentId = LLUUID.Zero;
LLUUID soundId = LLUUID.Zero;
Helpers.TryParse((string)requestData["agentId"], out agentId);
Helpers.TryParse((string)requestData["soundId"], out soundId);
string text=(string)requestData["text"];
string secret=(string)requestData["secret"];
Scene userScene = GetRandomScene();
if(userScene.RegionInfo.regionSecret.ToString() == secret)
{
IClientAPI client = LocateClientObject(agentId);
if (client != null)
{
if(soundId != LLUUID.Zero)
client.SendPlayAttachedSound(soundId, LLUUID.Zero, LLUUID.Zero, 1.0f, 0);
client.SendBlueBoxMessage(LLUUID.Zero, LLUUID.Zero, "", text);
retparam.Add("success", true);
}
else
{
retparam.Add("success", false);
}
}
else
{
retparam.Add("success", false);
}
ret.Value = retparam;
return ret;
}
# region Standalone box enablers only # region Standalone box enablers only

View File

@ -172,7 +172,7 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
{ {
updatePacket.ParcelData.MaxPrims = updatePacket.ParcelData.MaxPrims =
Convert.ToInt32( Convert.ToInt32(
Math.Round((Convert.ToDecimal(landData.area)/Convert.ToDecimal(65536))*15000* Math.Round((Convert.ToDecimal(landData.area)/Convert.ToDecimal(65536))*m_scene.objectCapacity*
Convert.ToDecimal(m_scene.RegionInfo.EstateSettings.objectBonusFactor))); Convert.ToDecimal(m_scene.RegionInfo.EstateSettings.objectBonusFactor)));
} }
else else
@ -194,7 +194,7 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
updatePacket.ParcelData.PassHours = landData.passHours; updatePacket.ParcelData.PassHours = landData.passHours;
updatePacket.ParcelData.PassPrice = landData.passPrice; updatePacket.ParcelData.PassPrice = landData.passPrice;
updatePacket.ParcelData.PublicCount = 0; //unemplemented updatePacket.ParcelData.PublicCount = 0; //unemplemented
uint regionFlags = (uint) m_scene.RegionInfo.EstateSettings.regionFlags; uint regionFlags = (uint) m_scene.RegionInfo.EstateSettings.regionFlags;
updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint) Simulator.RegionFlags.DenyAnonymous) > updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint) Simulator.RegionFlags.DenyAnonymous) >
0); 0);
@ -215,7 +215,7 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
{ {
updatePacket.ParcelData.SimWideMaxPrims = updatePacket.ParcelData.SimWideMaxPrims =
Convert.ToInt32( Convert.ToInt32(
Math.Round((Convert.ToDecimal(landData.simwideArea)/Convert.ToDecimal(65536))*15000* Math.Round((Convert.ToDecimal(landData.simwideArea) / Convert.ToDecimal(65536)) * m_scene.objectCapacity *
Convert.ToDecimal(m_scene.RegionInfo.EstateSettings.objectBonusFactor))); Convert.ToDecimal(m_scene.RegionInfo.EstateSettings.objectBonusFactor)));
} }
else else