* First draft resolution of mantis 777, 734, 389 - scripts do not save in non-home regions

* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency).  However, I wanted to get this out there for feedback and my own sanity.  Next few patches will clean up the mess.
This commit is contained in:
Justin Clarke Casey
2008-03-20 20:04:45 +00:00
parent f61ea1998e
commit c1beb85315
9 changed files with 114 additions and 76 deletions

View File

@@ -483,7 +483,7 @@ namespace OpenSim.Region.Environment.Scenes
}
/// <summary>
///
/// Try to teleport an agent to a new region.
/// </summary>
/// <param name="remoteClient"></param>
/// <param name="RegionHandle"></param>
@@ -530,7 +530,11 @@ namespace OpenSim.Region.Environment.Scenes
m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId,
position, false);
AgentCircuitData circuitdata = avatar.ControllingClient.RequestClientInfo();
string capsPath = Util.GetCapsURL(avatar.ControllingClient.AgentId);
// TODO Should construct this behind a method
string capsPath =
"http://" + reg.ExternalHostName + ":" + 9000 + "/CAPS/" + circuitdata.CapsPath + "0000/";
avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4),
capsPath);
avatar.MakeChildAgent();