Merge branch 'master' of git://opensimulator.org/git/opensim
commit
8f1acb890a
|
@ -138,12 +138,12 @@ namespace OpenSim.Data
|
|||
/// <param name="conn"></param>
|
||||
/// <param name="script">Array of strings, one-per-batch (often just one)</param>
|
||||
protected virtual void ExecuteScript(DbConnection conn, string[] script)
|
||||
{
|
||||
{
|
||||
using (DbCommand cmd = conn.CreateCommand())
|
||||
{
|
||||
cmd.CommandTimeout = 0;
|
||||
foreach (string sql in script)
|
||||
{
|
||||
{
|
||||
cmd.CommandText = sql;
|
||||
try
|
||||
{
|
||||
|
|
|
@ -108,10 +108,30 @@ namespace OpenSim.Framework
|
|||
public string ServiceSessionID = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Viewer's version string
|
||||
/// The client's IP address, as captured by the login service
|
||||
/// </summary>
|
||||
public string IPAddress;
|
||||
|
||||
/// <summary>
|
||||
/// Viewer's version string as reported by the viewer at login
|
||||
/// </summary>
|
||||
public string Viewer;
|
||||
|
||||
/// <summary>
|
||||
/// The channel strinf sent by the viewer at login
|
||||
/// </summary>
|
||||
public string Channel;
|
||||
|
||||
/// <summary>
|
||||
/// The Mac address as reported by the viewer at login
|
||||
/// </summary>
|
||||
public string Mac;
|
||||
|
||||
/// <summary>
|
||||
/// The id0 as reported by the viewer at login
|
||||
/// </summary>
|
||||
public string Id0;
|
||||
|
||||
/// <summary>
|
||||
/// Position the Agent's Avatar starts in the region
|
||||
/// </summary>
|
||||
|
@ -179,7 +199,11 @@ namespace OpenSim.Framework
|
|||
args["service_session_id"] = OSD.FromString(ServiceSessionID);
|
||||
args["start_pos"] = OSD.FromString(startpos.ToString());
|
||||
args["appearance_serial"] = OSD.FromInteger(Appearance.Serial);
|
||||
args["client_ip"] = OSD.FromString(IPAddress);
|
||||
args["viewer"] = OSD.FromString(Viewer);
|
||||
args["channel"] = OSD.FromString(Channel);
|
||||
args["mac"] = OSD.FromString(Mac);
|
||||
args["id0"] = OSD.FromString(Id0);
|
||||
|
||||
if (Appearance != null)
|
||||
{
|
||||
|
@ -279,8 +303,16 @@ namespace OpenSim.Framework
|
|||
SessionID = args["session_id"].AsUUID();
|
||||
if (args["service_session_id"] != null)
|
||||
ServiceSessionID = args["service_session_id"].AsString();
|
||||
if (args["client_ip"] != null)
|
||||
IPAddress = args["client_ip"].AsString();
|
||||
if (args["viewer"] != null)
|
||||
Viewer = args["viewer"].AsString();
|
||||
if (args["channel"] != null)
|
||||
Channel = args["channel"].AsString();
|
||||
if (args["mac"] != null)
|
||||
Mac = args["mac"].AsString();
|
||||
if (args["id0"] != null)
|
||||
Id0 = args["id0"].AsString();
|
||||
|
||||
if (args["start_pos"] != null)
|
||||
Vector3.TryParse(args["start_pos"].AsString(), out startpos);
|
||||
|
@ -349,6 +381,9 @@ namespace OpenSim.Framework
|
|||
public float startposy;
|
||||
public float startposz;
|
||||
public string Viewer;
|
||||
public string Channel;
|
||||
public string Mac;
|
||||
public string Id0;
|
||||
|
||||
public sAgentCircuitData()
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
|
@ -139,28 +139,43 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
private void ProcessQueues()
|
||||
{
|
||||
// Process all the pending adds
|
||||
OutgoingPacket pendingAdd;
|
||||
while (m_pendingAdds.Dequeue(out pendingAdd))
|
||||
m_packets[pendingAdd.SequenceNumber] = pendingAdd;
|
||||
|
||||
OutgoingPacket pendingAdd;
|
||||
if (m_pendingAdds != null)
|
||||
{
|
||||
while (m_pendingAdds.TryDequeue(out pendingAdd))
|
||||
{
|
||||
if (pendingAdd != null && m_packets != null)
|
||||
{
|
||||
m_packets[pendingAdd.SequenceNumber] = pendingAdd;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Process all the pending removes, including updating statistics and round-trip times
|
||||
PendingAck pendingRemove;
|
||||
OutgoingPacket ackedPacket;
|
||||
while (m_pendingRemoves.Dequeue(out pendingRemove))
|
||||
if (m_pendingRemoves != null)
|
||||
{
|
||||
if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket))
|
||||
while (m_pendingRemoves.TryDequeue(out pendingRemove))
|
||||
{
|
||||
m_packets.Remove(pendingRemove.SequenceNumber);
|
||||
|
||||
// Update stats
|
||||
System.Threading.Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength);
|
||||
|
||||
if (!pendingRemove.FromResend)
|
||||
if (m_pendingRemoves != null && m_packets != null)
|
||||
{
|
||||
// Calculate the round-trip time for this packet and its ACK
|
||||
int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount;
|
||||
if (rtt > 0)
|
||||
ackedPacket.Client.UpdateRoundTrip(rtt);
|
||||
if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket))
|
||||
{
|
||||
m_packets.Remove(pendingRemove.SequenceNumber);
|
||||
|
||||
// Update stats
|
||||
System.Threading.Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength);
|
||||
|
||||
if (!pendingRemove.FromResend)
|
||||
{
|
||||
// Calculate the round-trip time for this packet and its ACK
|
||||
int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount;
|
||||
if (rtt > 0)
|
||||
ackedPacket.Client.UpdateRoundTrip(rtt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -252,7 +252,7 @@ namespace Flotsam.RegionModules.AssetCache
|
|||
}
|
||||
else
|
||||
{
|
||||
m_MemoryCache.AddOrUpdate(key, asset, DateTime.MaxValue);
|
||||
m_MemoryCache.AddOrUpdate(key, asset, Double.MaxValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -863,4 +863,4 @@ namespace Flotsam.RegionModules.AssetCache
|
|||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -307,7 +307,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
|||
/// <param name="remoteClient"></param>
|
||||
/// <param name="itemID"></param>
|
||||
/// <param name="AttachmentPt"></param>
|
||||
/// <returns></returns>
|
||||
/// <returns></returns>
|
||||
protected UUID ShowAttachInUserInventory(
|
||||
SceneObjectGroup att, IClientAPI remoteClient, UUID itemID, uint AttachmentPt)
|
||||
{
|
||||
|
|
|
@ -318,12 +318,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
|||
|
||||
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(client.Scene.RegionInfo.ScopeID, fromAgentID);
|
||||
|
||||
PresenceInfo presence = null;
|
||||
PresenceInfo[] presences = PresenceService.GetAgents(new string[] { fid });
|
||||
if (presences != null && presences.Length > 0)
|
||||
presence = presences[0];
|
||||
if (presence != null)
|
||||
im.offline = 0;
|
||||
PresenceInfo presence = null;
|
||||
PresenceInfo[] presences = PresenceService.GetAgents(new string[] { fid });
|
||||
if (presences != null && presences.Length > 0)
|
||||
presence = presences[0];
|
||||
if (presence != null)
|
||||
im.offline = 0;
|
||||
|
||||
im.fromAgentID = fromAgentID.Guid;
|
||||
im.fromAgentName = account.FirstName + " " + account.LastName;
|
||||
|
|
|
@ -301,7 +301,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||
if (currentAgentCircuit != null)
|
||||
{
|
||||
agentCircuit.ServiceURLs = currentAgentCircuit.ServiceURLs;
|
||||
agentCircuit.IPAddress = currentAgentCircuit.IPAddress;
|
||||
agentCircuit.Viewer = currentAgentCircuit.Viewer;
|
||||
agentCircuit.Channel = currentAgentCircuit.Channel;
|
||||
agentCircuit.Mac = currentAgentCircuit.Mac;
|
||||
agentCircuit.Id0 = currentAgentCircuit.Id0;
|
||||
}
|
||||
|
||||
if (NeedsNewAgent(oldRegionX, newRegionX, oldRegionY, newRegionY))
|
||||
|
@ -943,16 +947,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||
agent.CapsPath = CapsUtil.GetRandomCapsObjectPath();
|
||||
|
||||
agent.ChildrenCapSeeds = new Dictionary<ulong, string>(sp.Scene.CapsModule.GetChildrenSeeds(sp.UUID));
|
||||
m_log.DebugFormat("[XXX] Seeds 1 {0}", agent.ChildrenCapSeeds.Count);
|
||||
//m_log.DebugFormat("[XXX] Seeds 1 {0}", agent.ChildrenCapSeeds.Count);
|
||||
|
||||
if (!agent.ChildrenCapSeeds.ContainsKey(sp.Scene.RegionInfo.RegionHandle))
|
||||
agent.ChildrenCapSeeds.Add(sp.Scene.RegionInfo.RegionHandle, sp.ControllingClient.RequestClientInfo().CapsPath);
|
||||
m_log.DebugFormat("[XXX] Seeds 2 {0}", agent.ChildrenCapSeeds.Count);
|
||||
//m_log.DebugFormat("[XXX] Seeds 2 {0}", agent.ChildrenCapSeeds.Count);
|
||||
|
||||
sp.AddNeighbourRegion(region.RegionHandle, agent.CapsPath);
|
||||
foreach (ulong h in agent.ChildrenCapSeeds.Keys)
|
||||
m_log.DebugFormat("[XXX] --> {0}", h);
|
||||
m_log.DebugFormat("[XXX] Adding {0}", region.RegionHandle);
|
||||
//foreach (ulong h in agent.ChildrenCapSeeds.Keys)
|
||||
// m_log.DebugFormat("[XXX] --> {0}", h);
|
||||
//m_log.DebugFormat("[XXX] Adding {0}", region.RegionHandle);
|
||||
agent.ChildrenCapSeeds.Add(region.RegionHandle, agent.CapsPath);
|
||||
|
||||
if (sp.Scene.CapsModule != null)
|
||||
|
@ -963,7 +967,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||
if (currentAgentCircuit != null)
|
||||
{
|
||||
agent.ServiceURLs = currentAgentCircuit.ServiceURLs;
|
||||
agent.IPAddress = currentAgentCircuit.IPAddress;
|
||||
agent.Viewer = currentAgentCircuit.Viewer;
|
||||
agent.Channel = currentAgentCircuit.Channel;
|
||||
agent.Mac = currentAgentCircuit.Mac;
|
||||
agent.Id0 = currentAgentCircuit.Id0;
|
||||
}
|
||||
|
||||
InformClientOfNeighbourDelegate d = InformClientOfNeighbourAsync;
|
||||
|
@ -1052,7 +1060,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||
if (currentAgentCircuit != null)
|
||||
{
|
||||
agent.ServiceURLs = currentAgentCircuit.ServiceURLs;
|
||||
agent.IPAddress = currentAgentCircuit.IPAddress;
|
||||
agent.Viewer = currentAgentCircuit.Viewer;
|
||||
agent.Channel = currentAgentCircuit.Channel;
|
||||
agent.Mac = currentAgentCircuit.Mac;
|
||||
agent.Id0 = currentAgentCircuit.Id0;
|
||||
}
|
||||
|
||||
if (newRegions.Contains(neighbour.RegionHandle))
|
||||
|
|
|
@ -91,6 +91,7 @@ namespace OpenSim.Region.CoreModules.World.LightShare
|
|||
m_scene.EventManager.OnMakeRootAgent += EventManager_OnMakeRootAgent;
|
||||
m_scene.EventManager.OnSaveNewWindlightProfile += EventManager_OnSaveNewWindlightProfile;
|
||||
m_scene.EventManager.OnSendNewWindlightProfileTargeted += EventManager_OnSendNewWindlightProfileTargeted;
|
||||
m_scene.LoadWindlightProfile();
|
||||
}
|
||||
|
||||
InstallCommands();
|
||||
|
|
|
@ -53,9 +53,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.UserAccounts
|
|||
public void Cache(UUID userID, UserAccount account)
|
||||
{
|
||||
// Cache even null accounts
|
||||
m_UUIDCache.AddOrUpdate(userID, account, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
|
||||
m_UUIDCache.AddOrUpdate(userID, account, CACHE_EXPIRATION_SECONDS);
|
||||
if (account != null)
|
||||
m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
|
||||
m_NameCache.AddOrUpdate(account.Name, account.PrincipalID, CACHE_EXPIRATION_SECONDS);
|
||||
|
||||
m_log.DebugFormat("[USER CACHE]: cached user {0}", userID);
|
||||
}
|
||||
|
|
|
@ -352,6 +352,12 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
|
|||
Face face = renderMesh.Faces[i];
|
||||
string meshName = primID + "-Face-" + i.ToString();
|
||||
|
||||
// Avoid adding duplicate meshes to the scene
|
||||
if (renderer.Scene.objectData.ContainsKey(meshName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
warp_Object faceObj = new warp_Object(face.Vertices.Count, face.Indices.Count / 3);
|
||||
|
||||
for (int j = 0; j < face.Vertices.Count; j++)
|
||||
|
|
|
@ -1073,7 +1073,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
catch (Exception e)
|
||||
{
|
||||
// Catch it and move on. This includes situations where splist has inconsistent info
|
||||
m_log.WarnFormat("[SCENE]: Problem processing action in ForEachSOG: ", e.Message);
|
||||
m_log.WarnFormat("[SCENE]: Problem processing action in ForEachSOG: ", e.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1114,7 +1114,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
catch (Exception e)
|
||||
{
|
||||
m_log.Info("[BUG] in " + m_parentScene.RegionInfo.RegionName + ": " + e.ToString());
|
||||
m_log.Info("[BUG] Stack Trace: " + e.StackTrace);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2763,7 +2763,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
UUID = UUID.Random();
|
||||
LinkNum = linkNum;
|
||||
LocalId = 0;
|
||||
Inventory.ResetInventoryIDs();
|
||||
Inventory.ResetInventoryIDs();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1523,7 +1523,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
|
||||
// If the agent update does move the avatar, then calculate the force ready for the velocity update,
|
||||
// which occurs later in the main scene loop
|
||||
// which occurs later in the main scene loop
|
||||
if (update_movementflag || (update_rotation && DCFlagKeyPressed))
|
||||
{
|
||||
// m_log.DebugFormat("{0} {1}", update_movementflag, (update_rotation && DCFlagKeyPressed));
|
||||
|
|
|
@ -210,7 +210,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
|
|||
= new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero)
|
||||
{ Name = childPartName, UUID = childPartUuid };
|
||||
|
||||
SceneObjectGroup sog = new SceneObjectGroup(rootPart);
|
||||
SceneObjectGroup sog = new SceneObjectGroup(rootPart);
|
||||
sog.AddPart(linkPart);
|
||||
|
||||
Assert.That(sog.UUID, Is.EqualTo(rootPartUuid));
|
||||
|
@ -221,7 +221,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
|
|||
sog.UUID = newRootPartUuid;
|
||||
|
||||
Assert.That(sog.UUID, Is.EqualTo(newRootPartUuid));
|
||||
Assert.That(sog.RootPart.UUID, Is.EqualTo(newRootPartUuid));
|
||||
Assert.That(sog.RootPart.UUID, Is.EqualTo(newRootPartUuid));
|
||||
Assert.That(sog.Parts.Length, Is.EqualTo(2));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -812,7 +812,7 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
|
|||
// gets the object data. If the data sent by the client doesn't match the object, the viewer probably has an
|
||||
// old idea of what the object properties are. Viewer developer Hazim informed us that the base module
|
||||
// didn't check the client sent data against the object do any. Since the base modules are the
|
||||
// 'crowning glory' examples of good practice..
|
||||
// 'crowning glory' examples of good practice..
|
||||
|
||||
// Validate that the object exists in the scene the user is in
|
||||
SceneObjectPart part = s.GetSceneObjectPart(localID);
|
||||
|
|
|
@ -188,7 +188,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
public OdePrim(String primName, OdeScene parent_scene, Vector3 pos, Vector3 size,
|
||||
Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool pisPhysical, CollisionLocker dode)
|
||||
{
|
||||
Name = primName;
|
||||
Name = primName;
|
||||
m_vehicle = new ODEDynamics();
|
||||
//gc = GCHandle.Alloc(prim_geom, GCHandleType.Pinned);
|
||||
ode = dode;
|
||||
|
@ -620,7 +620,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
volume *= (1.0f - hollowVolume);
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
@ -658,7 +658,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
|
||||
taperY = _pbs.PathTaperY * 0.01f;
|
||||
if (taperY < 0.0f)
|
||||
taperY = -taperY;
|
||||
taperY = -taperY;
|
||||
taperY1 = 1.0f - taperY;
|
||||
|
||||
}
|
||||
|
@ -1059,7 +1059,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
|||
}
|
||||
|
||||
foreach (OdePrim prm in childrenPrim)
|
||||
{
|
||||
{
|
||||
prm.m_collisionCategories |= CollisionCategories.Body;
|
||||
prm.m_collisionFlags |= (CollisionCategories.Land | CollisionCategories.Wind);
|
||||
|
||||
|
|
|
@ -176,7 +176,7 @@ namespace OpenSim.Server.Base
|
|||
OpenSimAppender consoleAppender = null;
|
||||
FileAppender fileAppender = null;
|
||||
|
||||
if ( logConfig != null )
|
||||
if (logConfig != null)
|
||||
{
|
||||
FileInfo cfg = new FileInfo(logConfig);
|
||||
XmlConfigurator.Configure(cfg);
|
||||
|
|
|
@ -54,9 +54,10 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private IGatekeeperService m_GatekeeperService;
|
||||
|
||||
public GatekeeperAgentHandler(IGatekeeperService gatekeeper)
|
||||
public GatekeeperAgentHandler(IGatekeeperService gatekeeper, bool proxy)
|
||||
{
|
||||
m_GatekeeperService = gatekeeper;
|
||||
m_Proxy = proxy;
|
||||
}
|
||||
|
||||
protected override bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason)
|
||||
|
|
|
@ -51,6 +51,8 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
get { return m_GatekeeperService; }
|
||||
}
|
||||
|
||||
bool m_Proxy = false;
|
||||
|
||||
public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server, ISimulationService simService) :
|
||||
base(config, server, String.Empty)
|
||||
{
|
||||
|
@ -65,11 +67,13 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
if (m_GatekeeperService == null)
|
||||
throw new Exception("Gatekeeper server connector cannot proceed because of missing service");
|
||||
|
||||
m_Proxy = gridConfig.GetBoolean("HasProxy", false);
|
||||
|
||||
HypergridHandlers hghandlers = new HypergridHandlers(m_GatekeeperService);
|
||||
server.AddXmlRPCHandler("link_region", hghandlers.LinkRegionRequest, false);
|
||||
server.AddXmlRPCHandler("get_region", hghandlers.GetRegion, false);
|
||||
|
||||
server.AddHTTPHandler("/foreignagent/", new GatekeeperAgentHandler(m_GatekeeperService).Handler);
|
||||
server.AddHTTPHandler("/foreignagent/", new GatekeeperAgentHandler(m_GatekeeperService, m_Proxy).Handler);
|
||||
}
|
||||
|
||||
public GatekeeperServiceInConnector(IConfigSource config, IHttpServer server)
|
||||
|
|
|
@ -55,11 +55,13 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
private IUserAgentService m_UserAgentService;
|
||||
|
||||
private string m_LoginServerIP;
|
||||
private bool m_Proxy = false;
|
||||
|
||||
public HomeAgentHandler(IUserAgentService userAgentService, string loginServerIP)
|
||||
public HomeAgentHandler(IUserAgentService userAgentService, string loginServerIP, bool proxy)
|
||||
{
|
||||
m_UserAgentService = userAgentService;
|
||||
m_LoginServerIP = loginServerIP;
|
||||
m_Proxy = proxy;
|
||||
}
|
||||
|
||||
public Hashtable Handler(Hashtable request)
|
||||
|
@ -153,11 +155,11 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
string ip_str = args["client_ip"].ToString();
|
||||
try
|
||||
{
|
||||
string callerIP = Util.GetCallerIP(request);
|
||||
string callerIP = GetCallerIP(request);
|
||||
// Verify if this caller has authority to send the client IP
|
||||
if (callerIP == m_LoginServerIP)
|
||||
client_ipaddress = new IPEndPoint(IPAddress.Parse(ip_str), 0);
|
||||
else
|
||||
else // leaving this for now, but this warning should be removed
|
||||
m_log.WarnFormat("[HOME AGENT HANDLER]: Unauthorized machine {0} tried to set client ip to {1}", callerIP, ip_str);
|
||||
}
|
||||
catch
|
||||
|
@ -198,6 +200,23 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp);
|
||||
}
|
||||
|
||||
private string GetCallerIP(Hashtable request)
|
||||
{
|
||||
if (!m_Proxy)
|
||||
return Util.GetCallerIP(request);
|
||||
|
||||
// We're behind a proxy
|
||||
Hashtable headers = (Hashtable)request["headers"];
|
||||
if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null)
|
||||
{
|
||||
IPEndPoint ep = Util.GetClientIPFromXFF((string)headers["X-Forwarded-For"]);
|
||||
if (ep != null)
|
||||
return ep.Address.ToString();
|
||||
}
|
||||
|
||||
// Oops
|
||||
return Util.GetCallerIP(request);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
throw new Exception("UserAgent server connector cannot proceed because of missing service");
|
||||
|
||||
string loginServerIP = gridConfig.GetString("LoginServerIP", "127.0.0.1");
|
||||
bool proxy = gridConfig.GetBoolean("HasProxy", false);
|
||||
|
||||
server.AddXmlRPCHandler("agent_is_coming_home", AgentIsComingHome, false);
|
||||
server.AddXmlRPCHandler("get_home_region", GetHomeRegion, false);
|
||||
|
@ -74,7 +75,7 @@ namespace OpenSim.Server.Handlers.Hypergrid
|
|||
server.AddXmlRPCHandler("verify_client", VerifyClient, false);
|
||||
server.AddXmlRPCHandler("logout_agent", LogoutAgent, false);
|
||||
|
||||
server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP).Handler);
|
||||
server.AddHTTPHandler("/homeagent/", new HomeAgentHandler(m_HomeUsersService, loginServerIP, proxy).Handler);
|
||||
}
|
||||
|
||||
public XmlRpcResponse GetHomeRegion(XmlRpcRequest request, IPEndPoint remoteClient)
|
||||
|
|
|
@ -88,14 +88,26 @@ namespace OpenSim.Server.Handlers.Login
|
|||
startLocation = requestData["start"].ToString();
|
||||
|
||||
string clientVersion = "Unknown";
|
||||
if (requestData.Contains("version"))
|
||||
if (requestData.Contains("version") && requestData["version"] != null)
|
||||
clientVersion = requestData["version"].ToString();
|
||||
// We should do something interesting with the client version...
|
||||
|
||||
string channel = "Unknown";
|
||||
if (requestData.Contains("channel") && requestData["channel"] != null)
|
||||
channel = requestData["channel"].ToString();
|
||||
|
||||
string mac = "Unknown";
|
||||
if (requestData.Contains("mac") && requestData["mac"] != null)
|
||||
mac = requestData["mac"].ToString();
|
||||
|
||||
string id0 = "Unknown";
|
||||
if (requestData.Contains("id0") && requestData["id0"] != null)
|
||||
id0 = requestData["id0"].ToString();
|
||||
|
||||
//m_log.InfoFormat("[LOGIN]: XMLRPC Login Requested for {0} {1}, starting in {2}, using {3}", first, last, startLocation, clientVersion);
|
||||
|
||||
LoginResponse reply = null;
|
||||
reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, remoteClient);
|
||||
reply = m_LocalService.Login(first, last, passwd, startLocation, scopeID, clientVersion, channel, mac, id0, remoteClient);
|
||||
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
response.Value = reply.ToHashtable();
|
||||
|
@ -166,7 +178,8 @@ namespace OpenSim.Server.Handlers.Login
|
|||
m_log.Info("[LOGIN]: LLSD Login Requested for: '" + map["first"].AsString() + "' '" + map["last"].AsString() + "' / " + startLocation);
|
||||
|
||||
LoginResponse reply = null;
|
||||
reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID, String.Empty, remoteClient);
|
||||
reply = m_LocalService.Login(map["first"].AsString(), map["last"].AsString(), map["passwd"].AsString(), startLocation, scopeID,
|
||||
map["version"].AsString(), map["channel"].AsString(), map["mac"].AsString(), map["id0"].AsString(), remoteClient);
|
||||
return reply.ToOSDMap();
|
||||
|
||||
}
|
||||
|
|
|
@ -52,6 +52,8 @@ namespace OpenSim.Server.Handlers.Simulation
|
|||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private ISimulationService m_SimulationService;
|
||||
|
||||
protected bool m_Proxy = false;
|
||||
|
||||
public AgentHandler() { }
|
||||
|
||||
public AgentHandler(ISimulationService sim)
|
||||
|
@ -179,13 +181,31 @@ namespace OpenSim.Server.Handlers.Simulation
|
|||
resp["reason"] = OSD.FromString(reason);
|
||||
resp["success"] = OSD.FromBoolean(result);
|
||||
// Let's also send out the IP address of the caller back to the caller (HG 1.5)
|
||||
resp["your_ip"] = OSD.FromString(Util.GetCallerIP(request));
|
||||
resp["your_ip"] = OSD.FromString(GetCallerIP(request));
|
||||
|
||||
// TODO: add reason if not String.Empty?
|
||||
responsedata["int_response_code"] = HttpStatusCode.OK;
|
||||
responsedata["str_response_string"] = OSDParser.SerializeJsonString(resp);
|
||||
}
|
||||
|
||||
private string GetCallerIP(Hashtable request)
|
||||
{
|
||||
if (!m_Proxy)
|
||||
return Util.GetCallerIP(request);
|
||||
|
||||
// We're behind a proxy
|
||||
Hashtable headers = (Hashtable)request["headers"];
|
||||
if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null)
|
||||
{
|
||||
IPEndPoint ep = Util.GetClientIPFromXFF((string)headers["X-Forwarded-For"]);
|
||||
if (ep != null)
|
||||
return ep.Address.ToString();
|
||||
}
|
||||
|
||||
// Oops
|
||||
return Util.GetCallerIP(request);
|
||||
}
|
||||
|
||||
// subclasses can override this
|
||||
protected virtual bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint teleportFlags, out string reason)
|
||||
{
|
||||
|
|
|
@ -238,8 +238,12 @@ namespace OpenSim.Services.Connectors.Hypergrid
|
|||
args["destination_y"] = OSD.FromString(destination.RegionLocY.ToString());
|
||||
args["destination_name"] = OSD.FromString(destination.RegionName);
|
||||
args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString());
|
||||
if (ipaddress != null)
|
||||
args["client_ip"] = OSD.FromString(ipaddress.Address.ToString());
|
||||
|
||||
// 10/3/2010
|
||||
// I added the client_ip up to the regular AgentCircuitData, so this doesn't need to be here.
|
||||
// This need cleaning elsewhere...
|
||||
//if (ipaddress != null)
|
||||
// args["client_ip"] = OSD.FromString(ipaddress.Address.ToString());
|
||||
|
||||
return args;
|
||||
}
|
||||
|
|
|
@ -147,7 +147,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
|||
if (account == null)
|
||||
{
|
||||
// Store null responses too, to avoid repeated lookups for missing accounts
|
||||
m_accountCache.AddOrUpdate(userID, null, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
|
||||
m_accountCache.AddOrUpdate(userID, null, CACHE_EXPIRATION_SECONDS);
|
||||
}
|
||||
|
||||
return account;
|
||||
|
@ -225,7 +225,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
|||
if (success)
|
||||
{
|
||||
// Cache the user account info
|
||||
m_accountCache.AddOrUpdate(data.PrincipalID, data, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
|
||||
m_accountCache.AddOrUpdate(data.PrincipalID, data, CACHE_EXPIRATION_SECONDS);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -290,7 +290,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
|||
GetFirstLastName(response["Name"].AsString(), out account.FirstName, out account.LastName);
|
||||
|
||||
// Cache the user account info
|
||||
m_accountCache.AddOrUpdate(account.PrincipalID, account, DateTime.Now + TimeSpan.FromSeconds(CACHE_EXPIRATION_SECONDS));
|
||||
m_accountCache.AddOrUpdate(account.PrincipalID, account, CACHE_EXPIRATION_SECONDS);
|
||||
|
||||
return account;
|
||||
}
|
||||
|
|
|
@ -148,7 +148,6 @@ namespace OpenSim.Services.HypergridService
|
|||
agentCircuit.ServiceSessionID = region.ServerURI + ";" + UUID.Random();
|
||||
TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region);
|
||||
|
||||
//bool success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out reason);
|
||||
bool success = false;
|
||||
string myExternalIP = string.Empty;
|
||||
string gridName = gatekeeper.ServerURI;
|
||||
|
@ -200,6 +199,11 @@ namespace OpenSim.Services.HypergridService
|
|||
{
|
||||
if (m_TravelingAgents.ContainsKey(agentCircuit.SessionID))
|
||||
{
|
||||
// Very important! Override whatever this agent comes with.
|
||||
// UserAgentService always sets the IP for every new agent
|
||||
// with the original IP address.
|
||||
agentCircuit.IPAddress = m_TravelingAgents[agentCircuit.SessionID].ClientIPAddress;
|
||||
|
||||
old = m_TravelingAgents[agentCircuit.SessionID];
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,8 @@ namespace OpenSim.Services.Interfaces
|
|||
|
||||
public interface ILoginService
|
||||
{
|
||||
LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP);
|
||||
LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
|
||||
string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP);
|
||||
Hashtable SetLevel(string firstName, string lastName, string passwd, int level, IPEndPoint clientIP);
|
||||
}
|
||||
|
||||
|
|
|
@ -208,7 +208,8 @@ namespace OpenSim.Services.LLLoginService
|
|||
return response;
|
||||
}
|
||||
|
||||
public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, string clientVersion, IPEndPoint clientIP)
|
||||
public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID,
|
||||
string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP)
|
||||
{
|
||||
bool success = false;
|
||||
UUID session = UUID.Random();
|
||||
|
@ -340,7 +341,8 @@ namespace OpenSim.Services.LLLoginService
|
|||
//
|
||||
string reason = string.Empty;
|
||||
GridRegion dest;
|
||||
AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, clientVersion, clientIP, out where, out reason, out dest);
|
||||
AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where,
|
||||
clientVersion, channel, mac, id0, clientIP, out where, out reason, out dest);
|
||||
destination = dest;
|
||||
if (aCircuit == null)
|
||||
{
|
||||
|
@ -600,7 +602,8 @@ namespace OpenSim.Services.LLLoginService
|
|||
}
|
||||
|
||||
protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarData avatar,
|
||||
UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, IPEndPoint clientIP, out string where, out string reason, out GridRegion dest)
|
||||
UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0,
|
||||
IPEndPoint clientIP, out string where, out string reason, out GridRegion dest)
|
||||
{
|
||||
where = currentWhere;
|
||||
ISimulationService simConnector = null;
|
||||
|
@ -640,7 +643,7 @@ namespace OpenSim.Services.LLLoginService
|
|||
if (m_UserAgentService == null && simConnector != null)
|
||||
{
|
||||
circuitCode = (uint)Util.RandomClass.Next(); ;
|
||||
aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer);
|
||||
aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0);
|
||||
success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason);
|
||||
if (!success && m_GridService != null)
|
||||
{
|
||||
|
@ -665,7 +668,7 @@ namespace OpenSim.Services.LLLoginService
|
|||
if (m_UserAgentService != null)
|
||||
{
|
||||
circuitCode = (uint)Util.RandomClass.Next(); ;
|
||||
aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, viewer);
|
||||
aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0);
|
||||
success = LaunchAgentIndirectly(gatekeeper, destination, aCircuit, clientIP, out reason);
|
||||
if (!success && m_GridService != null)
|
||||
{
|
||||
|
@ -694,7 +697,8 @@ namespace OpenSim.Services.LLLoginService
|
|||
}
|
||||
|
||||
private AgentCircuitData MakeAgent(GridRegion region, UserAccount account,
|
||||
AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position, string viewer)
|
||||
AvatarData avatar, UUID session, UUID secureSession, uint circuit, Vector3 position,
|
||||
string ipaddress, string viewer, string channel, string mac, string id0)
|
||||
{
|
||||
AgentCircuitData aCircuit = new AgentCircuitData();
|
||||
|
||||
|
@ -715,7 +719,11 @@ namespace OpenSim.Services.LLLoginService
|
|||
aCircuit.SecureSessionID = secureSession;
|
||||
aCircuit.SessionID = session;
|
||||
aCircuit.startpos = position;
|
||||
aCircuit.IPAddress = ipaddress;
|
||||
aCircuit.Viewer = viewer;
|
||||
aCircuit.Channel = channel;
|
||||
aCircuit.Mac = mac;
|
||||
aCircuit.Id0 = id0;
|
||||
SetServiceURLs(aCircuit, account);
|
||||
|
||||
return aCircuit;
|
||||
|
|
Binary file not shown.
|
@ -1,333 +1,333 @@
|
|||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>OpenMetaverse.StructuredData</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDParser">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDNotationElement(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.PeekAndSkipWhitespace(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.ReadAndSkipWhitespace(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.GetLengthInBrackets(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.GetStringDelimitedBy(System.IO.StringReader,System.Char)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<param name="delimiter"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<param name="buffer"></param>
|
||||
<param name="offset"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.UnescapeCharacter(System.String,System.Char)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="s"></param>
|
||||
<param name="c"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.EscapeCharacter(System.String,System.Char)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="s"></param>
|
||||
<param name="c"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="binaryData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.IO.Stream)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinary(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="osd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinaryStream(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SkipWhiteSpace(System.IO.Stream)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.FindByte(System.IO.Stream,System.Byte)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<param name="toFind"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.FindByteArray(System.IO.Stream,System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<param name="toFind"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<param name="consumeBytes"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostInt(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="binaryNetEnd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostDouble(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="binaryNetEnd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.HostToNetworkIntBytes(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="intHostEnd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.String)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Xml.XmlTextReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlBytes(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlString(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlElement(System.Xml.XmlTextWriter,OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="writer"></param>
|
||||
<param name="data"></param>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.TryValidateLLSDXml(System.Xml.XmlTextReader,System.String@)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<param name="error"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.ParseLLSDXmlElement(System.Xml.XmlTextReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDType">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Unknown">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Boolean">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Integer">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Real">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.String">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.UUID">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Date">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.URI">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Binary">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Map">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Array">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDException">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSD">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSD.SerializeMembers(System.Object)">
|
||||
<summary>
|
||||
Uses reflection to create an SDMap from all of the SD
|
||||
serializable types in an object
|
||||
</summary>
|
||||
<param name="obj">Class or struct containing serializable types</param>
|
||||
<returns>An SDMap holding the serialized values from the
|
||||
container object</returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSD.DeserializeMembers(System.Object@,OpenMetaverse.StructuredData.OSDMap)">
|
||||
<summary>
|
||||
Uses reflection to deserialize member variables in an object from
|
||||
an SDMap
|
||||
</summary>
|
||||
<param name="obj">Reference to an object to fill with deserialized
|
||||
values</param>
|
||||
<param name="serialized">Serialized values to put in the target
|
||||
object</param>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDBoolean">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDInteger">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDReal">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDString">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDUUID">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDDate">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDUri">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDBinary">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDMap">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDArray">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>OpenMetaverse.StructuredData</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDParser">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.String)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDXml(System.Xml.XmlTextReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlBytes(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlString(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDXmlElement(System.Xml.XmlTextWriter,OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="writer"></param>
|
||||
<param name="data"></param>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.TryValidateLLSDXml(System.Xml.XmlTextReader,System.String@)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="xmlData"></param>
|
||||
<param name="error"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.ParseLLSDXmlElement(System.Xml.XmlTextReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDNotationElement(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.PeekAndSkipWhitespace(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.ReadAndSkipWhitespace(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.GetLengthInBrackets(System.IO.StringReader)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.GetStringDelimitedBy(System.IO.StringReader,System.Char)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<param name="delimiter"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.BufferCharactersEqual(System.IO.StringReader,System.Char[],System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="reader"></param>
|
||||
<param name="buffer"></param>
|
||||
<param name="offset"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.UnescapeCharacter(System.String,System.Char)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="s"></param>
|
||||
<param name="c"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.EscapeCharacter(System.String,System.Char)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="s"></param>
|
||||
<param name="c"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="binaryData"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.DeserializeLLSDBinary(System.IO.Stream)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinary(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="osd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SerializeLLSDBinaryStream(OpenMetaverse.StructuredData.OSD)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="data"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.SkipWhiteSpace(System.IO.Stream)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.FindByte(System.IO.Stream,System.Byte)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<param name="toFind"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.FindByteArray(System.IO.Stream,System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<param name="toFind"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.ConsumeBytes(System.IO.Stream,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="stream"></param>
|
||||
<param name="consumeBytes"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostInt(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="binaryNetEnd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.NetworkToHostDouble(System.Byte[])">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="binaryNetEnd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSDParser.HostToNetworkIntBytes(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="intHostEnd"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDType">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Unknown">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Boolean">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Integer">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Real">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.String">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.UUID">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Date">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.URI">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Binary">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Map">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="F:OpenMetaverse.StructuredData.OSDType.Array">
|
||||
<summary></summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDException">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSD">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSD.SerializeMembers(System.Object)">
|
||||
<summary>
|
||||
Uses reflection to create an SDMap from all of the SD
|
||||
serializable types in an object
|
||||
</summary>
|
||||
<param name="obj">Class or struct containing serializable types</param>
|
||||
<returns>An SDMap holding the serialized values from the
|
||||
container object</returns>
|
||||
</member>
|
||||
<member name="M:OpenMetaverse.StructuredData.OSD.DeserializeMembers(System.Object@,OpenMetaverse.StructuredData.OSDMap)">
|
||||
<summary>
|
||||
Uses reflection to deserialize member variables in an object from
|
||||
an SDMap
|
||||
</summary>
|
||||
<param name="obj">Reference to an object to fill with deserialized
|
||||
values</param>
|
||||
<param name="serialized">Serialized values to put in the target
|
||||
object</param>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDBoolean">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDInteger">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDReal">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDString">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDUUID">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDDate">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDUri">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDBinary">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDMap">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OpenMetaverse.StructuredData.OSDArray">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
|
Binary file not shown.
50201
bin/OpenMetaverse.XML
50201
bin/OpenMetaverse.XML
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -1,7 +1,7 @@
|
|||
<configuration>
|
||||
<dllmap os="osx" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib" />
|
||||
<dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" />
|
||||
<dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" />
|
||||
<dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" />
|
||||
<dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" />
|
||||
</configuration>
|
||||
<configuration>
|
||||
<dllmap os="osx" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib" />
|
||||
<dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" />
|
||||
<dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-x86_64" />
|
||||
<dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" />
|
||||
<dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2.1.3.0-dotnet-1-i686" />
|
||||
</configuration>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -364,7 +364,7 @@
|
|||
|
||||
;; Path to default appearance XML file that specifies the look of the
|
||||
;; default avatars
|
||||
; default_appearance = default_appearance.xml
|
||||
; default_appearance = default_appearance.xml
|
||||
|
||||
[Wind]
|
||||
;# {enabled} {} {Enable wind module?} {true false} true
|
||||
|
@ -510,7 +510,7 @@
|
|||
;# {AllowOSFunctions} {Enabled:true} {Allow OSFunctions? (DANGEROUS!)} {true false} false
|
||||
;; Allow the use of os* functions (some are dangerous)
|
||||
; AllowOSFunctions = false
|
||||
|
||||
|
||||
;# {AllowLightShareFunctions} {Enabled:true [LightShare]enable_windlight:true} {Allow LightShare functions?} {true false} true
|
||||
; Allow the user of LightShare functions
|
||||
; AllowLightShareFunctions = false
|
||||
|
@ -633,7 +633,7 @@
|
|||
|
||||
;; Service connectors to the Groups Service. Select one depending on
|
||||
;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend
|
||||
|
||||
|
||||
;# {ServicesConnectorModule} {Module:GroupsModule} {Service connector to use for groups?} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector} XmlRpcGroupsServicesConnector
|
||||
;; The service connector to use for the GroupsModule
|
||||
; ServicesConnectorModule = SimianGroupsServicesConnector
|
||||
|
@ -644,7 +644,7 @@
|
|||
|
||||
;# {NoticesEnabled} {Module:GroupsModule} {Enable group notices?} {true false} true
|
||||
;; Enable Group Notices
|
||||
; NoticesEnabled = true
|
||||
; NoticesEnabled = true
|
||||
|
||||
;; This makes the Groups modules very chatty on the console.
|
||||
; DebugEnabled = false
|
||||
|
@ -652,12 +652,12 @@
|
|||
;; Specify which messaging module to use for groups messaging and if it's
|
||||
;; enabled
|
||||
; MessagingModule = GroupsMessagingModule
|
||||
; MessagingEnabled = true
|
||||
; MessagingEnabled = true
|
||||
|
||||
;; XmlRpc Security settings. These must match those set on your backend
|
||||
;; groups service.
|
||||
; XmlRpcServiceReadKey = 1234
|
||||
; XmlRpcServiceWriteKey = 1234
|
||||
; XmlRpcServiceReadKey = 1234
|
||||
; XmlRpcServiceWriteKey = 1234
|
||||
|
||||
[InterestManagement]
|
||||
;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness
|
||||
|
|
Binary file not shown.
|
@ -212,6 +212,10 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
|||
; Does this grid allow incoming links to any region in it?
|
||||
; If false, HG TPs happen only to the Default regions specified in [GridService] section
|
||||
AllowTeleportsToAnyRegion = true
|
||||
|
||||
; If you run this gatekeeper server behind a proxy, set this to true
|
||||
; HasProxy = true
|
||||
|
||||
|
||||
[UserAgentService]
|
||||
LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
|
||||
|
@ -220,6 +224,9 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
|||
GridService = "OpenSim.Services.GridService.dll:GridService"
|
||||
GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
|
||||
|
||||
; If you run this user agent server behind a proxy, set this to true
|
||||
; HasProxy = true
|
||||
|
||||
;; If you separate the UserAgentService from the LoginService, set this to
|
||||
;; the IP address of the machine where your LoginService is
|
||||
;LoginServerIP = "127.0.0.1"
|
||||
|
|
|
@ -57,12 +57,12 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
|||
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
|
||||
; Realm = "regions"
|
||||
; AllowDuplicateNames = "True"
|
||||
|
||||
|
||||
;; Next, we can specify properties of regions, including default and fallback regions
|
||||
;; The syntax is: Region_<RegionName> = "<flags>"
|
||||
;; or: Region_<RegionID> = "<flags>"
|
||||
;; where <flags> can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut,Reservation,NoMove,Authenticate
|
||||
;; For example:
|
||||
;; For example:
|
||||
; Region_Welcome_Area = "DefaultRegion, FallbackRegion"
|
||||
; (replace spaces with underscore)
|
||||
|
||||
|
@ -83,7 +83,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
|||
; for the server connector
|
||||
AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
|
||||
UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
|
||||
|
||||
|
||||
; * This is the new style authentication service. Currently, only MySQL
|
||||
; * is implemented. "Realm" is the table that is used for user lookup.
|
||||
; * It defaults to "useraccounts", which uses the new style.
|
||||
|
@ -141,6 +141,8 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003
|
|||
; For snowglobe's web map
|
||||
; MapTileURL = "";
|
||||
|
||||
; If you run this login server behind a proxy, set this to true
|
||||
; HasProxy = true
|
||||
|
||||
[GridInfoService]
|
||||
; These settings are used to return information on a get_grid_info call.
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
;;
|
||||
;; Options for CenmoeAssetCache
|
||||
;;
|
||||
|
||||
|
||||
; 256 MB (default: 134217728)
|
||||
MaxSize = 268435456
|
||||
|
||||
|
||||
; How many assets it is possible to store cache (default: 4096)
|
||||
MaxCount = 16384
|
||||
|
||||
|
||||
; Expiration time - 1 hour (default: 30 minutes)
|
||||
ExpirationTime = 60
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;
|
||||
;; Options for FlotsamAssetCache
|
||||
;;
|
||||
|
||||
|
||||
; cache directory can be shared by multiple instances
|
||||
CacheDirectory = ./assetcache
|
||||
; Other examples:
|
||||
|
@ -34,9 +34,9 @@
|
|||
; How often {in hours} should the disk be checked for expired filed
|
||||
; Specify 0 to disable expiration checking
|
||||
FileCleanupTimer = .166 ;roughly every 10 minutes
|
||||
|
||||
; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how
|
||||
; long (in miliseconds) to block a request thread while trying to complete
|
||||
|
||||
; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how
|
||||
; long (in miliseconds) to block a request thread while trying to complete
|
||||
; an existing write to disk.
|
||||
; WaitOnInprogressTimeout = 3000
|
||||
|
||||
|
@ -50,10 +50,10 @@
|
|||
|
||||
; Warning level for cache directory size
|
||||
;CacheWarnAt = 30000
|
||||
|
||||
; Perform a deep scan of all assets within all regions, looking for all assets
|
||||
; present or referenced. Mark all assets found that are already present in the
|
||||
; cache, and request all assets that are found that are not already cached (this
|
||||
; will cause those assets to be cached)
|
||||
;
|
||||
; DeepScanBeforePurge = false
|
||||
|
||||
; Perform a deep scan of all assets within all regions, looking for all assets
|
||||
; present or referenced. Mark all assets found that are already present in the
|
||||
; cache, and request all assets that are found that are not already cached (this
|
||||
; will cause those assets to be cached)
|
||||
;
|
||||
; DeepScanBeforePurge = false
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
; for more details
|
||||
;Include-Storage = "config-include/storage/SQLiteLegacyStandalone.ini";
|
||||
|
||||
; MySql
|
||||
; Uncomment these lines if you want to use mysql storage
|
||||
; MySql
|
||||
; Uncomment these lines if you want to use mysql storage
|
||||
; Change the connection string to your db details
|
||||
;StorageProvider = "OpenSim.Data.MySQL.dll"
|
||||
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;"
|
||||
|
@ -81,18 +81,18 @@
|
|||
[Modules]
|
||||
;; Choose 0 or 1 cache modules, and the corresponding config file, if it exists.
|
||||
;; Copy the config .example file into your own .ini file and change configs there
|
||||
|
||||
|
||||
AssetCaching = "FlotsamAssetCache"
|
||||
Include-FlotsamCache = "config-include/FlotsamCache.ini"
|
||||
|
||||
;AssetCaching = "CenomeMemoryAssetCache"
|
||||
;Include-CenomeCache = "config-include/CenomeCache.ini"
|
||||
|
||||
|
||||
;AssetCaching = "GlynnTuckerAssetCache"
|
||||
|
||||
;; Optionally, the port for the LLProxyLoginModule module can be changed
|
||||
|
||||
|
||||
;Setup_LLProxyLoginModule = "9090/"
|
||||
|
||||
;; Authorization is not on by default, as it depends on external php
|
||||
;AuthorizationServices = "RemoteAuthorizationServicesConnector"
|
||||
;AuthorizationServices = "RemoteAuthorizationServicesConnector"
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
AvatarServices = "LocalAvatarServicesConnector"
|
||||
EntityTransferModule = "BasicEntityTransferModule"
|
||||
InventoryAccessModule = "BasicInventoryAccessModule"
|
||||
|
||||
LibraryModule = true
|
||||
LLLoginServiceInConnector = true
|
||||
GridInfoServiceInConnector = true
|
||||
|
||||
LibraryModule = true
|
||||
LLLoginServiceInConnector = true
|
||||
GridInfoServiceInConnector = true
|
||||
|
||||
[SimulationDataStore]
|
||||
LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService"
|
||||
|
@ -35,9 +35,9 @@
|
|||
LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
|
||||
|
||||
[LibraryService]
|
||||
LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
|
||||
LibraryName = "OpenSim Library"
|
||||
DefaultLibrary = "./inventory/Libraries.xml"
|
||||
LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
|
||||
LibraryName = "OpenSim Library"
|
||||
DefaultLibrary = "./inventory/Libraries.xml"
|
||||
|
||||
[AvatarService]
|
||||
LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
|
||||
|
@ -78,7 +78,7 @@
|
|||
[LoginService]
|
||||
LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
|
||||
UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
|
||||
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
|
||||
GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
|
||||
AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
|
||||
InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
|
||||
PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
|
||||
|
@ -88,7 +88,6 @@
|
|||
|
||||
WelcomeMessage = "Welcome, Avatar!"
|
||||
|
||||
|
||||
;; This should always be the very last thing on this file
|
||||
[Includes]
|
||||
Include-Common = "config-include/StandaloneCommon.ini"
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
; for more details
|
||||
;Include-Storage = "config-include/storage/SQLiteLegacyStandalone.ini";
|
||||
|
||||
; MySql
|
||||
; Uncomment these lines if you want to use mysql storage
|
||||
; MySql
|
||||
; Uncomment these lines if you want to use mysql storage
|
||||
; Change the connection string to your db details
|
||||
;StorageProvider = "OpenSim.Data.MySQL.dll"
|
||||
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
|
||||
|
@ -28,9 +28,9 @@
|
|||
[Modules]
|
||||
;; Choose 0 or 1 cache modules, and the corresponding config file, if it exists.
|
||||
;; Copy the config .example file into your own .ini file and change configs there
|
||||
|
||||
|
||||
;AssetCaching = "GlynnTuckerAssetCache"
|
||||
|
||||
|
||||
;AssetCaching = "FlotsamAssetCache"
|
||||
;Include-FlotsamCache = "config-include/FlotsamCache.ini"
|
||||
|
||||
|
@ -41,7 +41,7 @@
|
|||
;FreeswitchServiceInConnector = True
|
||||
|
||||
;; Authorization is not on by default, as it depends on external php
|
||||
;AuthorizationServices = "LocalAuthorizationServicesConnector"
|
||||
;AuthorizationServices = "LocalAuthorizationServicesConnector"
|
||||
|
||||
[FreeswitchService]
|
||||
;; Configuration for the freeswitch service goes here
|
||||
|
@ -49,11 +49,11 @@
|
|||
|
||||
[GridService]
|
||||
;; For in-memory region storage (default)
|
||||
StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
|
||||
StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
|
||||
;;--- For MySql region storage (alternative)
|
||||
;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
|
||||
;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
|
||||
|
||||
; If HG, do you want this check on the distance to be performed?
|
||||
; If HG, do you want this check on the distance to be performed?
|
||||
; Check4096 = "False"
|
||||
|
||||
;; Next, we can specify properties of regions, including default and fallback regions
|
||||
|
@ -65,7 +65,7 @@
|
|||
[LibraryModule]
|
||||
; Set this if you want to change the name of the OpenSim Library
|
||||
;LibraryName = "My World's Library"
|
||||
|
||||
|
||||
[LoginService]
|
||||
WelcomeMessage = "Welcome, Avatar!"
|
||||
|
||||
|
@ -77,9 +77,9 @@
|
|||
[GatekeeperService]
|
||||
ExternalName = "http://127.0.0.1:9000"
|
||||
|
||||
; Does this grid allow incoming links to any region in it?
|
||||
; If false, HG TPs happen only to the Default regions specified in [GridService] section
|
||||
AllowTeleportsToAnyRegion = true
|
||||
; Does this grid allow incoming links to any region in it?
|
||||
; If false, HG TPs happen only to the Default regions specified in [GridService] section
|
||||
AllowTeleportsToAnyRegion = true
|
||||
|
||||
[GridInfoService]
|
||||
; These settings are used to return information on a get_grid_info call.
|
||||
|
|
Loading…
Reference in New Issue