diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 7913f428df..c539f1f305 100755
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -457,6 +457,12 @@ namespace OpenSim.Region.Framework.Scenes
private string m_defaultScriptEngine;
+ private int m_unixStartTime;
+ public int UnixStartTime
+ {
+ get { return m_unixStartTime; }
+ }
+
///
/// Tick at which the last login occurred.
///
@@ -1461,7 +1467,8 @@ namespace OpenSim.Region.Framework.Scenes
m_isRunning = true;
m_active = true;
- // m_log.DebugFormat("[SCENE]: Starting Heartbeat timer for {0}", RegionInfo.RegionName);
+ m_unixStartTime = Util.UnixTimeSinceEpoch();
+// m_log.DebugFormat("[SCENE]: Starting Heartbeat timer for {0}", RegionInfo.RegionName);
if (m_heartbeatThread != null)
{
m_heartbeatThread.Abort();
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 089a5a8e6a..8359440f25 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -5785,7 +5785,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public LSL_String llGetEnv(LSL_String name)
{
m_host.AddScriptLPS(1);
- if (name == "dynamic_pathfinding")
+ if (name == "agent_limit")
+ {
+ return World.RegionInfo.RegionSettings.AgentLimit.ToString();
+ }
+ else if (name == "dynamic_pathfinding")
{
return "0";
}
@@ -5793,14 +5797,37 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{
return World.RegionInfo.EstateSettings.EstateID.ToString();
}
+ else if (name == "estate_name")
+ {
+ return World.RegionInfo.EstateSettings.EstateName;
+ }
else if (name == "frame_number")
{
return World.Frame.ToString();
}
+ else if (name == "region_cpu_ratio")
+ {
+ return "1";
+ }
else if (name == "region_idle")
{
return "0";
}
+ else if (name == "region_product_name")
+ {
+ if (World.RegionInfo.RegionType != String.Empty)
+ return World.RegionInfo.RegionType;
+ else
+ return "";
+ }
+ else if (name == "region_product_sku")
+ {
+ return "OpenSim";
+ }
+ else if (name == "region_start_time")
+ {
+ return World.UnixStartTime.ToString();
+ }
else if (name == "sim_channel")
{
return "OpenSim";
@@ -5809,6 +5836,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{
return World.GetSimulatorVersion();
}
+ else if (name == "simulator_hostname")
+ {
+ IUrlModule UrlModule = World.RequestModuleInterface();
+ return UrlModule.ExternalHostNameForLSL;
+ }
else
{
return "";
diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll
index 6c6a5d4ad8..e565e3a17f 100644
Binary files a/bin/ICSharpCode.SharpZipLib.dll and b/bin/ICSharpCode.SharpZipLib.dll differ