Merge branch 'master' into bigmerge

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
avinationmerge
Melanie 2011-11-19 22:39:15 +00:00
commit bdb5ac96d9
26 changed files with 5647 additions and 5565 deletions

View File

@ -37,10 +37,30 @@ namespace OpenSim.Data
public UUID RegionID;
public UUID ScopeID;
public string RegionName;
/// <summary>
/// The position in meters of this region.
/// </summary>
public int posX;
/// <summary>
/// The position in meters of this region.
/// </summary>
public int posY;
public int sizeX;
public int sizeY;
/// <summary>
/// Return the x-coordinate of this region.
/// </summary>
public int coordX { get { return posX / (int)Constants.RegionSize; } }
/// <summary>
/// Return the y-coordinate of this region.
/// </summary>
public int coordY { get { return posY / (int)Constants.RegionSize; } }
public Dictionary<string, object> Data;
}

View File

@ -298,7 +298,7 @@ namespace OpenSim.Framework
catch (Exception e)
{
// don't need to treat this as an error... we're just guessing anyway
m_log.DebugFormat("[WEB UTIL] couldn't decode <{0}>: {1}",response,e.Message);
// m_log.DebugFormat("[WEB UTIL] couldn't decode <{0}>: {1}",response,e.Message);
}
return result;

View File

@ -25,11 +25,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using log4net;
using Nini.Config;
using System;
using System.Collections.Generic;
using System.Reflection;
using log4net;
using Nini.Config;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Server.Base;
using OpenSim.Region.Framework.Interfaces;
@ -119,10 +120,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Neighbour
#region INeighbourService
public GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion)
public OpenSim.Services.Interfaces.GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion)
{
m_log.DebugFormat("[NEIGHBOUR CONNECTOR]: HelloNeighbour from {0}, to {1}.",
thisRegion.RegionName, regionHandle);
uint x, y;
Utils.LongToUInts(regionHandle, out x, out y);
m_log.DebugFormat("[NEIGHBOUR CONNECTOR]: HelloNeighbour from region {0} to region at {1}-{2}",
thisRegion.RegionName, x / Constants.RegionSize, y / Constants.RegionSize);
foreach (Scene s in m_Scenes)
{
if (s.RegionInfo.RegionHandle == regionHandle)

View File

@ -196,7 +196,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
}
}
m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCreateChildAgent", destination.RegionName);
reason = "Did not find region " + destination.RegionName;
return false;
}

View File

@ -86,6 +86,11 @@ namespace OpenSim.Region.CoreModules.World.Terrain
private volatile bool m_tainted;
private readonly Stack<LandUndoState> m_undo = new Stack<LandUndoState>(5);
/// <summary>
/// Human readable list of terrain file extensions that are supported.
/// </summary>
private string m_supportedFileExtensions = "";
#region ICommandableModule Members
public ICommander CommandInterface
@ -135,6 +140,15 @@ namespace OpenSim.Region.CoreModules.World.Terrain
InstallDefaultEffects();
LoadPlugins();
// Generate user-readable extensions list
string supportedFilesSeparator = "";
foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders)
{
m_supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")";
supportedFilesSeparator = ", ";
}
}
public void RegionLoaded(Scene scene)
@ -251,20 +265,19 @@ namespace OpenSim.Region.CoreModules.World.Terrain
if (filename.EndsWith(loader.Key))
{
loader.Value.SaveFile(filename, m_channel);
m_log.InfoFormat("[TERRAIN]: Saved terrain from {0} to {1}", m_scene.RegionInfo.RegionName, filename);
return;
}
}
}
catch (NotImplementedException)
{
m_log.Error("Unable to save to " + filename + ", saving of this file format has not been implemented.");
throw new TerrainException(String.Format("Unable to save heightmap: saving of this file format not implemented"));
}
catch (IOException ioe)
{
m_log.Error(String.Format("[TERRAIN]: Unable to save to {0}, {1}", filename, ioe.Message));
throw new TerrainException(String.Format("Unable to save heightmap: {0}", ioe.Message));
}
m_log.ErrorFormat(
"[TERRAIN]: Could not save terrain from {0} to {1}. Valid file extensions are {2}",
m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions);
}
/// <summary>
@ -345,6 +358,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
float duration = 0.25f;
if (action == 0)
duration = 4.0f;
client_OnModifyTerrain(user, (float)pos.Z, duration, size, action, pos.Y, pos.X, pos.Y, pos.X, agentId);
}
@ -534,6 +548,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
m_channel = channel;
UpdateRevertMap();
}
return;
}
}
@ -566,10 +581,17 @@ namespace OpenSim.Region.CoreModules.World.Terrain
fileWidth, fileHeight,
(int)Constants.RegionSize,
(int)Constants.RegionSize);
m_log.InfoFormat("[TERRAIN]: Saved terrain from {0} to {1}", m_scene.RegionInfo.RegionName, filename);
}
return;
}
}
m_log.ErrorFormat(
"[TERRAIN]: Could not save terrain from {0} to {1}. Valid file extensions are {2}",
m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions);
}
}
@ -1126,32 +1148,23 @@ namespace OpenSim.Region.CoreModules.World.Terrain
private void InstallInterfaces()
{
// Load / Save
string supportedFileExtensions = "";
string supportedFilesSeparator = "";
foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders)
{
supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")";
supportedFilesSeparator = ", ";
}
Command loadFromFileCommand =
new Command("load", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadFile, "Loads a terrain from a specified file.");
loadFromFileCommand.AddArgument("filename",
"The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " +
supportedFileExtensions, "String");
m_supportedFileExtensions, "String");
Command saveToFileCommand =
new Command("save", CommandIntentions.COMMAND_NON_HAZARDOUS, InterfaceSaveFile, "Saves the current heightmap to a specified file.");
saveToFileCommand.AddArgument("filename",
"The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: " +
supportedFileExtensions, "String");
m_supportedFileExtensions, "String");
Command loadFromTileCommand =
new Command("load-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadTileFile, "Loads a terrain from a section of a larger file.");
loadFromTileCommand.AddArgument("filename",
"The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " +
supportedFileExtensions, "String");
m_supportedFileExtensions, "String");
loadFromTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer");
loadFromTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer");
loadFromTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file",
@ -1163,7 +1176,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file.");
saveToTileCommand.AddArgument("filename",
"The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " +
supportedFileExtensions, "String");
m_supportedFileExtensions, "String");
saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer");
saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer");
saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file",

View File

@ -102,9 +102,10 @@ namespace OpenSim.Region.Framework.Scenes
public event OnPluginConsoleDelegate OnPluginConsole;
public delegate void OnShutdownDelegate();
public event OnShutdownDelegate OnShutdown;
/// <summary>
/// Triggered when the entire simulator is shutdown.
/// </summary>
public event Action OnShutdown;
public delegate void ObjectDeGrabDelegate(uint localID, uint originalID, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs);
public delegate void ScriptResetDelegate(uint localID, UUID itemID);
@ -117,9 +118,14 @@ namespace OpenSim.Region.Framework.Scenes
public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
public delegate void SceneShuttingDownDelegate(Scene scene);
public event SceneShuttingDownDelegate OnSceneShuttingDown;
/// <summary>
/// Triggered when an individual scene is shutdown.
/// </summary>
/// <remarks>
/// This does not automatically mean that the entire simulator is shutting down. Listen to OnShutdown for that
/// notification.
/// </remarks>
public event Action<Scene> OnSceneShuttingDown;
/// <summary>
/// Fired when an object is touched/grabbed.
@ -893,10 +899,10 @@ namespace OpenSim.Region.Framework.Scenes
public void TriggerShutdown()
{
OnShutdownDelegate handlerShutdown = OnShutdown;
Action handlerShutdown = OnShutdown;
if (handlerShutdown != null)
{
foreach (OnShutdownDelegate d in handlerShutdown.GetInvocationList())
foreach (Action d in handlerShutdown.GetInvocationList())
{
try
{
@ -2236,10 +2242,10 @@ namespace OpenSim.Region.Framework.Scenes
public void TriggerSceneShuttingDown(Scene s)
{
SceneShuttingDownDelegate handler = OnSceneShuttingDown;
Action<Scene> handler = OnSceneShuttingDown;
if (handler != null)
{
foreach (SceneShuttingDownDelegate d in handler.GetInvocationList())
foreach (Action<Scene> d in handler.GetInvocationList())
{
try
{

View File

@ -5218,18 +5218,16 @@ namespace OpenSim.Region.Framework.Scenes
return offsets.ToArray();
}
/// <summary>
/// Regenerate the maptile for this scene.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void RegenerateMaptile(object sender, ElapsedEventArgs e)
{
IWorldMapModule mapModule = RequestModuleInterface<IWorldMapModule>();
if (mapModule != null)
{
mapModule.GenerateMaptile();
string error = GridService.RegisterRegion(RegionInfo.ScopeID, new GridRegion(RegionInfo));
if (error != String.Empty)
throw new Exception(error);
}
}
// public void CleanDroppedAttachments()

View File

@ -174,7 +174,6 @@ namespace OpenSim.Region.Framework.Scenes
{
// We're ignoring a collection was modified error because this data gets old and outdated fast.
}
}
public delegate void SendCloseChildAgentDelegate(UUID agentID, ulong regionHandle);
@ -185,13 +184,12 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary>
protected void SendCloseChildAgentAsync(UUID agentID, ulong regionHandle)
{
//m_log.Debug("[INTERGRID]: Sending close agent to " + regionHandle);
// let's do our best, but there's not much we can do if the neighbour doesn't accept.
//m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID);
uint x = 0, y = 0;
Utils.LongToUInts(regionHandle, out x, out y);
GridRegion destination = m_scene.GridService.GetRegionByPosition(m_regionInfo.ScopeID, (int)x, (int)y);
m_scene.SimulationService.CloseChildAgent(destination, agentID);
}

View File

@ -91,6 +91,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine
private bool m_KillTimedOutScripts;
private string m_ScriptEnginesPath = null;
/// <summary>
/// Is the entire simulator in the process of shutting down?
/// </summary>
private bool m_SimulatorShuttingDown;
private static List<XEngine> m_ScriptEngines =
new List<XEngine>();
@ -537,12 +542,20 @@ namespace OpenSim.Region.ScriptEngine.XEngine
// Must be done explicitly because they have infinite
// lifetime
//
m_DomainScripts[instance.AppDomain].Remove(instance.ItemID);
if (m_DomainScripts[instance.AppDomain].Count == 0)
if (!m_SimulatorShuttingDown)
{
m_DomainScripts.Remove(instance.AppDomain);
UnloadAppDomain(instance.AppDomain);
m_DomainScripts[instance.AppDomain].Remove(instance.ItemID);
if (m_DomainScripts[instance.AppDomain].Count == 0)
{
m_DomainScripts.Remove(instance.AppDomain);
UnloadAppDomain(instance.AppDomain);
}
}
m_Scripts.Clear();
m_PrimObjects.Clear();
m_Assemblies.Clear();
m_DomainScripts.Clear();
}
lockScriptsForRead(false);
lockScriptsForWrite(true);
@ -1512,6 +1525,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine
public void OnShutdown()
{
m_SimulatorShuttingDown = true;
List<IScriptInstance> instances = new List<IScriptInstance>();
lockScriptsForRead(true);
@ -1907,4 +1922,4 @@ namespace OpenSim.Region.ScriptEngine.XEngine
return true;
}
}
}
}

View File

@ -99,7 +99,6 @@ namespace OpenSim.Server.Handlers.Hypergrid
}
return FailureResult();
}
#region Method-specific handlers
@ -127,7 +126,6 @@ namespace OpenSim.Server.Handlers.Hypergrid
return FailureResult();
}
string perms = "0";
FriendInfo[] friendsInfo = m_FriendsService.GetFriends(principalID);
foreach (FriendInfo finfo in friendsInfo)
{

View File

@ -79,7 +79,7 @@ namespace OpenSim.Server.Handlers.MapImage
public override byte[] Handle(string path, Stream requestData, OSHttpRequest httpRequest, OSHttpResponse httpResponse)
{
m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path);
// m_log.DebugFormat("[MAP SERVICE IMAGE HANDLER]: Received {0}", path);
StreamReader sr = new StreamReader(requestData);
string body = sr.ReadToEnd();
sr.Close();
@ -97,9 +97,14 @@ namespace OpenSim.Server.Handlers.MapImage
int x = 0, y = 0;
Int32.TryParse(request["X"].ToString(), out x);
Int32.TryParse(request["Y"].ToString(), out y);
string type = "image/jpeg";
if (request.ContainsKey("TYPE"))
type = request["TYPE"].ToString();
m_log.DebugFormat("[MAP ADD SERVER CONNECTOR]: Received map data for region at {0}-{1}", x, y);
// string type = "image/jpeg";
//
// if (request.ContainsKey("TYPE"))
// type = request["TYPE"].ToString();
byte[] data = Convert.FromBase64String(request["DATA"].ToString());
string reason = string.Empty;
@ -117,7 +122,6 @@ namespace OpenSim.Server.Handlers.MapImage
}
return FailureResult("Unexpected server error");
}
private byte[] SuccessResult()

View File

@ -42,7 +42,8 @@ namespace OpenSim.Server.Handlers.MapImage
{
public class MapGetServiceConnector : ServiceConnector
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IMapImageService m_MapService;
private string m_ConfigName = "MapImageService";
@ -69,7 +70,8 @@ namespace OpenSim.Server.Handlers.MapImage
class MapServerGetHandler : BaseStreamHandler
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private IMapImageService m_MapService;
public MapServerGetHandler(IMapImageService service) :

View File

@ -243,14 +243,13 @@ namespace OpenSim.Server.Handlers.Simulation
responsedata["int_response_code"] = HttpStatusCode.OK;
responsedata["str_response_string"] = "OpenSim agent " + id.ToString();
m_log.Debug("[AGENT HANDLER]: Agent Released/Deleted.");
m_log.DebugFormat("[AGENT HANDLER]: Agent {0} Released/Deleted from region {1}", id, regionID);
}
protected virtual void ReleaseAgent(UUID regionID, UUID id)
{
m_SimulationService.ReleaseAgent(regionID, id, "");
}
}
public class AgentPostHandler : BaseStreamHandler
@ -275,7 +274,7 @@ namespace OpenSim.Server.Handlers.Simulation
public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
{
m_log.DebugFormat("[SIMULATION]: Stream handler called");
// m_log.DebugFormat("[SIMULATION]: Stream handler called");
Hashtable keysvals = new Hashtable();
Hashtable headervals = new Hashtable();
@ -462,7 +461,7 @@ namespace OpenSim.Server.Handlers.Simulation
public override byte[] Handle(string path, Stream request,
OSHttpRequest httpRequest, OSHttpResponse httpResponse)
{
m_log.DebugFormat("[SIMULATION]: Stream handler called");
// m_log.DebugFormat("[SIMULATION]: Stream handler called");
Hashtable keysvals = new Hashtable();
Hashtable headervals = new Hashtable();

View File

@ -129,7 +129,9 @@ namespace OpenSim.Services.Connectors
}
else
m_log.DebugFormat("[MAP IMAGE CONNECTOR]: RegisterRegion received null reply");
{
m_log.DebugFormat("[MAP IMAGE CONNECTOR]: Map post received null reply");
}
}
catch (Exception e)
{

View File

@ -371,7 +371,7 @@ namespace OpenSim.Services.Connectors.Simulation
private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly)
{
// m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start");
// m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start");
string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/";

View File

@ -156,6 +156,7 @@ namespace OpenSim.Services.GridService
regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID);
return "Region overlaps another region";
}
if ((region != null) && (region.RegionID == regionInfos.RegionID) &&
((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY)))
{
@ -236,18 +237,21 @@ namespace OpenSim.Services.GridService
}
m_log.DebugFormat("[GRID SERVICE]: Region {0} ({1}) registered successfully at {2}-{3}",
regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY);
regionInfos.RegionName, regionInfos.RegionID, regionInfos.RegionCoordX, regionInfos.RegionCoordY);
return String.Empty;
}
public bool DeregisterRegion(UUID regionID)
{
m_log.DebugFormat("[GRID SERVICE]: Region {0} deregistered", regionID);
RegionData region = m_Database.Get(regionID, UUID.Zero);
if (region == null)
return false;
m_log.DebugFormat(
"[GRID SERVICE]: Deregistering region {0} ({1}) at {2}-{3}",
region.RegionName, region.RegionID, region.coordX, region.coordY);
int flags = Convert.ToInt32(region.Data["flags"]);
if (!m_DeleteOnUnregister || (flags & (int)OpenSim.Data.RegionFlags.Persistent) != 0)
@ -292,7 +296,7 @@ namespace OpenSim.Services.GridService
}
}
m_log.DebugFormat("[GRID SERVICE]: region {0} has {1} neighbours", region.RegionName, rinfos.Count);
// m_log.DebugFormat("[GRID SERVICE]: region {0} has {1} neighbours", region.RegionName, rinfos.Count);
}
else
{

View File

@ -103,9 +103,8 @@ namespace OpenSim.Services.Interfaces
int GetRegionFlags(UUID scopeID, UUID regionID);
}
public class GridRegion : Object
public class GridRegion
{
/// <summary>
/// The port by which http communication occurs with the region
/// </summary>
@ -149,6 +148,19 @@ namespace OpenSim.Services.Interfaces
protected IPEndPoint m_internalEndPoint;
/// <summary>
/// The co-ordinate of this region.
/// </summary>
public int RegionCoordX { get { return RegionLocX / (int)Constants.RegionSize; } }
/// <summary>
/// The co-ordinate of this region
/// </summary>
public int RegionCoordY { get { return RegionLocY / (int)Constants.RegionSize; } }
/// <summary>
/// The location of this region in meters.
/// </summary>
public int RegionLocX
{
get { return m_regionLocX; }
@ -156,6 +168,9 @@ namespace OpenSim.Services.Interfaces
}
protected int m_regionLocX;
/// <summary>
/// The location of this region in meters.
/// </summary>
public int RegionLocY
{
get { return m_regionLocY; }
@ -417,8 +432,6 @@ namespace OpenSim.Services.Interfaces
if (kvp.ContainsKey("Token"))
Token = kvp["Token"].ToString();
}
}
}

View File

@ -138,6 +138,8 @@ namespace OpenSim.Services.MapImageService
public byte[] GetMapTile(string fileName, out string format)
{
// m_log.DebugFormat("[MAP IMAGE SERVICE]: Getting map tile {0}", fileName);
format = ".jpg";
string fullName = Path.Combine(m_TilesStoragePath, fileName);
if (File.Exists(fullName))
@ -206,7 +208,7 @@ namespace OpenSim.Services.MapImageService
private bool CreateTile(uint zoomLevel, int x, int y)
{
m_log.DebugFormat("[MAP IMAGE SERVICE]: Create tile for {0} {1}, zoom {2}", x, y, zoomLevel);
// m_log.DebugFormat("[MAP IMAGE SERVICE]: Create tile for {0} {1}, zoom {2}", x, y, zoomLevel);
int prevWidth = (int)Math.Pow(2, (double)zoomLevel - 2);
int thisWidth = (int)Math.Pow(2, (double)zoomLevel - 1);

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -532,19 +532,17 @@
[Economy]
;; The economy module is not enabled by default and there is no easy,
;; menu controlled way to do this. To enabled this module, insert
;; economymodule = BetaGridLikeMoneyModule
;; into the startup section (at the top of this file).
;; Then configure the options below as needed.
; The default economy module only implements just enough to allow free actions (transfer of objects, etc).
; There is no intention to implement anything further in core OpenSimulator.
; This functionality has to be provided by third party modules.
;; Enables selling things for $0
; SellEnabled = "false"
;; Enables selling things for $0. Default is true.
; SellEnabled = true
;; Money Unit fee to upload textures, animations etc
;; Money Unit fee to upload textures, animations etc. Default is 0.
; PriceUpload = 0
;; Money Unit fee to create groups
;; Money Unit fee to create groups. Default is 0.
; PriceGroupCreate = 0

View File

@ -332,6 +332,26 @@
DelayBeforeAppearanceSend = 2
[RegionReady]
; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled
enabled = true
; Channel on which to signal region readiness through a message
; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]"
; - the first field indicating whether this is an initial server startup
; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error)
; - the third field is a number indicating how many scripts failed to compile
; - "oar error" if supplied, provides the error message from the OAR load
channel_notify = -800
; - disallow logins while scripts are loading
; Instability can occur on regions with 100+ scripts if users enter before they have finished loading
login_disable = true
; - send an alert as json to a service
; alert_uri = "http://myappserver.net/my_handler/"
[SMTP]
enabled = false
@ -489,6 +509,7 @@
;
;DisableFacelights = "false"
[ClientStack.LindenCaps]
;; Long list of capabilities taken from
;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities
@ -1098,15 +1119,18 @@
[Economy]
; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only -
; The default economy module only implements just enough to allow free actions (transfer of objects, etc).
; There is no intention to implement anything further in core OpenSimulator.
; This functionality has to be provided by third party modules.
; Enables selling things for $0
SellEnabled = "false"
;; Enables selling things for $0. Default is true.
SellEnabled = true
; Money Unit fee to upload textures, animations etc
PriceUpload = 0
;; Money Unit fee to upload textures, animations etc. Default is 0.
PriceUpload = 0
; Money Unit fee to create groups
PriceGroupCreate = 0
;; Money Unit fee to create groups. Default is 0.
PriceGroupCreate = 0
; We don't really know what the rest of these values do. These get sent to the client
; These taken from Agni at a Public Telehub. Change at your own risk.
@ -1301,24 +1325,6 @@
broker = "http://broker.place.com/{1}"
[RegionReady]
; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled
; default is false
enabled = false
; Channel on which to signal region readiness through a message
; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]"
; - the first field indicating whether this is an initial server startup
; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error)
; - the third field is a number indicating how many scripts failed to compile
; - "oar error" if supplied, provides the error message from the OAR load
channel_notify = -800
; - disallow logins while scripts are loading
login_disable = false
; - send an alert as json to a service
; alert_uri = "http://myappserver.net/my_handler/"
[MRM]
; Enables the Mini Region Modules Script Engine.
; default is false

View File

@ -237,7 +237,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
AllowRemoteSetLoginLevel = "false"
; For V2 map
; MapTileURL = "http://127.0.0.1:8002";
MapTileURL = "http://127.0.0.1:8002";
; If you run this login server behind a proxy, set this to true
; HasProxy = false

View File

@ -222,7 +222,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
AllowRemoteSetLoginLevel = "false"
; For V2 map
; MapTileURL = "http://127.0.0.1:8002";
MapTileURL = "http://127.0.0.1:8002";
; If you run this login server behind a proxy, set this to true
; HasProxy = false

View File

@ -1801,6 +1801,7 @@
<ReferencePath>../../../bin/</ReferencePath>
<Reference name="System"/>
<Reference name="System.Core"/>
<Reference name="System.Xml"/>
<Reference name="Mono.Addins" path="../../../bin/"/>
<Reference name="OpenMetaverseTypes" path="../../../bin/"/>
@ -2066,6 +2067,7 @@
<ReferencePath>../../../bin/</ReferencePath>
<Reference name="System"/>
<Reference name="System.Core"/>
<Reference name="System.Xml"/>
<Reference name="System.Data"/>
<Reference name="OpenSim.Capabilities"/>
@ -2425,6 +2427,7 @@
<ReferencePath>../../../../bin/</ReferencePath>
<Reference name="System"/>
<Reference name="System.Core"/>
<Reference name="System.Data"/>
<Reference name="System.Web"/>
<Reference name="System.Xml"/>