* 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_estateManager1;
private LLUUID m_estateManager2;
@ -835,6 +848,8 @@ namespace OpenSim.Framework
configMember.addConfigurationOption("terrain_image_id", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
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,
String.Empty, "00000000-0000-0000-0000-000000000000", true);
configMember.addConfigurationOption("estate_manager_1", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID,
@ -966,6 +981,9 @@ namespace OpenSim.Framework
case "terrain_file":
m_terrainFile = (string) configuration_result;
break;
case "estate_name":
m_estateName = (string) configuration_result;
break;
case "terrain_multiplier":
m_terrainMultiplier = Convert.ToDouble(configuration_result);
break;

View File

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

View File

@ -332,7 +332,14 @@ namespace OpenSim.Framework.Servers
}
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
Pack.TickCount = System.Environment.TickCount;
if (!Pack.Header.Resent)
{
Pack.Header.Sequence = NextSeqNum();

View File

@ -289,7 +289,7 @@ namespace OpenSim.Region.Environment
}
//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[2].Parameter = Helpers.StringToField(m_scene.RegionInfo.EstateSettings.estateID.ToString());
@ -578,21 +578,22 @@ namespace OpenSim.Region.Environment
{
RegionInfoPacket rinfopack = new RegionInfoPacket();
RegionInfoPacket.RegionInfoBlock rinfoblk = new RegionInfoPacket.RegionInfoBlock();
rinfoblk.BillableFactor = 0;
rinfoblk.EstateID = 02;
rinfoblk.MaxAgents = 100;
rinfoblk.ObjectBonusFactor = 1.0f;
rinfoblk.ParentEstateID = 0;
rinfoblk.PricePerMeter = 0;
rinfoblk.RedirectGridX = 0;
rinfoblk.RedirectGridY = 0;
rinfoblk.RegionFlags = (uint) m_regInfo.EstateSettings.regionFlags;
rinfopack.AgentData.AgentID = client.AgentId;
rinfopack.AgentData.SessionID = client.SessionId;
rinfoblk.BillableFactor = m_regInfo.EstateSettings.billableFactor;
rinfoblk.EstateID = m_regInfo.EstateSettings.estateID;
rinfoblk.MaxAgents = m_regInfo.EstateSettings.maxAgents;
rinfoblk.ObjectBonusFactor = m_regInfo.EstateSettings.objectBonusFactor;
rinfoblk.ParentEstateID = m_regInfo.EstateSettings.parentEstateID;
rinfoblk.PricePerMeter = m_regInfo.EstateSettings.pricePerMeter;
rinfoblk.RedirectGridX = m_regInfo.EstateSettings.redirectGridX;
rinfoblk.RedirectGridY = m_regInfo.EstateSettings.redirectGridY;
rinfoblk.RegionFlags = (uint)( m_regInfo.EstateSettings.regionFlags);
rinfoblk.SimAccess = (byte) m_regInfo.EstateSettings.simAccess;
rinfoblk.SunHour = m_regInfo.EstateSettings.sunHour;
rinfoblk.TerrainLowerLimit = 20;
rinfoblk.TerrainRaiseLimit = 20;
rinfoblk.UseEstateSun = true;
rinfoblk.TerrainLowerLimit = m_regInfo.EstateSettings.terrainLowerLimit;
rinfoblk.TerrainRaiseLimit = m_regInfo.EstateSettings.terrainRaiseLimit;
rinfoblk.UseEstateSun = !m_regInfo.EstateSettings.useFixedSun;
rinfoblk.WaterHeight = m_regInfo.EstateSettings.waterHeight;
rinfoblk.SimName = Helpers.StringToField(m_regInfo.RegionName);
@ -650,7 +651,7 @@ namespace OpenSim.Region.Environment
regionInfoPacket.RegionInfo.PricePerMeter = m_regInfo.EstateSettings.pricePerMeter;
regionInfoPacket.RegionInfo.RedirectGridX = m_regInfo.EstateSettings.redirectGridX;
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.SimName = Helpers.StringToField(m_regInfo.RegionName);
regionInfoPacket.RegionInfo.SunHour = m_regInfo.EstateSettings.sunHour;
@ -658,6 +659,7 @@ namespace OpenSim.Region.Environment
regionInfoPacket.RegionInfo.TerrainRaiseLimit = m_regInfo.EstateSettings.terrainRaiseLimit;
regionInfoPacket.RegionInfo.UseEstateSun = !m_regInfo.EstateSettings.useFixedSun;
regionInfoPacket.RegionInfo.WaterHeight = m_regInfo.EstateSettings.waterHeight;
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+
// https://opensimwiredux.svn.sourceforge.net/svnroot/opensimwiredux
scene.AddXmlRPCHandler("dynamic_balance_update_request", GridMoneyUpdate);
scene.AddXmlRPCHandler("user_alert", UserAlert);
}
else
{
@ -1164,6 +1165,49 @@ namespace OpenSim.Region.Environment.Modules
r.Value = rparms;
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

View File

@ -172,7 +172,7 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
{
updatePacket.ParcelData.MaxPrims =
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)));
}
else
@ -194,7 +194,7 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
updatePacket.ParcelData.PassHours = landData.passHours;
updatePacket.ParcelData.PassPrice = landData.passPrice;
updatePacket.ParcelData.PublicCount = 0; //unemplemented
uint regionFlags = (uint) m_scene.RegionInfo.EstateSettings.regionFlags;
updatePacket.ParcelData.RegionDenyAnonymous = ((regionFlags & (uint) Simulator.RegionFlags.DenyAnonymous) >
0);
@ -215,7 +215,7 @@ namespace OpenSim.Region.Environment.Modules.LandManagement
{
updatePacket.ParcelData.SimWideMaxPrims =
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)));
}
else