diff options
author | Tleiades Hax | 2007-10-18 15:10:43 +0000 |
---|---|---|
committer | Tleiades Hax | 2007-10-18 15:10:43 +0000 |
commit | 05df8571323c535b5c1ce1b0532e88236b143b7e (patch) | |
tree | 6f275d5b682231906315363514e98b7b06557fda /OpenSim/Region | |
parent | * Removed some comments (diff) | |
download | opensim-SC_OLD-05df8571323c535b5c1ce1b0532e88236b143b7e.zip opensim-SC_OLD-05df8571323c535b5c1ce1b0532e88236b143b7e.tar.gz opensim-SC_OLD-05df8571323c535b5c1ce1b0532e88236b143b7e.tar.bz2 opensim-SC_OLD-05df8571323c535b5c1ce1b0532e88236b143b7e.tar.xz |
Possible fix for: Remoting exceptions with adjacent non-running sims.
Bugs 449, 454, 408, 244, 197
implemented InformClientOfNeighbours as an asynchroneous process, handling timeouts without blocking the main thread.
Improved logging of errors, removed catch all in try catch
Diffstat (limited to '')
10 files changed, 78 insertions, 42 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index e526f73..d92127f 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | |||
@@ -519,7 +519,7 @@ namespace OpenSim.Region.ClientStack | |||
519 | { | 519 | { |
520 | AssetLandmark lm = new AssetLandmark(lma); | 520 | AssetLandmark lm = new AssetLandmark(lma); |
521 | 521 | ||
522 | if (lm.RegionID == m_scene.RegionInfo.SimUUID) | 522 | if (lm.RegionID == m_scene.RegionInfo.RegionID) |
523 | { | 523 | { |
524 | TeleportLocalPacket tpLocal = new TeleportLocalPacket(); | 524 | TeleportLocalPacket tpLocal = new TeleportLocalPacket(); |
525 | 525 | ||
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 9a6bc82..fdc3994 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -72,20 +72,20 @@ namespace OpenSim.Region.Communications.Local | |||
72 | /// </summary> | 72 | /// </summary> |
73 | /// <param name="regionInfo"></param> | 73 | /// <param name="regionInfo"></param> |
74 | /// <returns></returns> | 74 | /// <returns></returns> |
75 | public List<RegionInfo> RequestNeighbours(RegionInfo regionInfo) | 75 | public List<SimpleRegionInfo> RequestNeighbours(uint x, uint y) |
76 | { | 76 | { |
77 | // Console.WriteLine("Finding Neighbours to " + regionInfo.RegionHandle); | 77 | // Console.WriteLine("Finding Neighbours to " + regionInfo.RegionHandle); |
78 | List<RegionInfo> neighbours = new List<RegionInfo>(); | 78 | List<SimpleRegionInfo> neighbours = new List<SimpleRegionInfo>(); |
79 | 79 | ||
80 | foreach (RegionInfo reg in this.m_regions.Values) | 80 | foreach (RegionInfo reg in m_regions.Values) |
81 | { | 81 | { |
82 | // Console.WriteLine("CommsManager- RequestNeighbours() checking region " + reg.RegionLocX + " , "+ reg.RegionLocY); | 82 | // Console.WriteLine("CommsManager- RequestNeighbours() checking region " + reg.RegionLocX + " , "+ reg.RegionLocY); |
83 | if (reg.RegionHandle != regionInfo.RegionHandle) | 83 | if (reg.RegionLocX != x || reg.RegionLocY != y) |
84 | { | 84 | { |
85 | //Console.WriteLine("CommsManager- RequestNeighbours() - found a different region in list, checking location"); | 85 | //Console.WriteLine("CommsManager- RequestNeighbours() - found a different region in list, checking location"); |
86 | if ((reg.RegionLocX > (regionInfo.RegionLocX - 2)) && (reg.RegionLocX < (regionInfo.RegionLocX + 2))) | 86 | if ((reg.RegionLocX > (x - 2)) && (reg.RegionLocX < (x + 2))) |
87 | { | 87 | { |
88 | if ((reg.RegionLocY > (regionInfo.RegionLocY - 2)) && (reg.RegionLocY < (regionInfo.RegionLocY + 2))) | 88 | if ((reg.RegionLocY > (x - 2)) && (reg.RegionLocY < (x + 2))) |
89 | { | 89 | { |
90 | neighbours.Add(reg); | 90 | neighbours.Add(reg); |
91 | } | 91 | } |
@@ -223,7 +223,7 @@ namespace OpenSim.Region.Communications.Local | |||
223 | regData["status"] = "active"; | 223 | regData["status"] = "active"; |
224 | regData["handle"] = region.ToString(); | 224 | regData["handle"] = region.ToString(); |
225 | 225 | ||
226 | respData[reg.SimUUID.ToStringHyphenated()] = regData; | 226 | respData[reg.RegionID.ToStringHyphenated()] = regData; |
227 | } | 227 | } |
228 | } | 228 | } |
229 | 229 | ||
@@ -254,3 +254,4 @@ namespace OpenSim.Region.Communications.Local | |||
254 | } | 254 | } |
255 | } | 255 | } |
256 | 256 | ||
257 | |||
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs index 1a92aaa..9c10d04 100644 --- a/OpenSim/Region/Communications/Local/LocalLoginService.cs +++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs | |||
@@ -127,7 +127,7 @@ namespace OpenSim.Region.Communications.Local | |||
127 | 127 | ||
128 | response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CAPS/" + capsPath + "0000/"; | 128 | response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CAPS/" + capsPath + "0000/"; |
129 | // response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CapsSeed/" + capsPath + "0000/"; | 129 | // response.SeedCapability = "http://" + reg.ExternalHostName + ":" + this.serversInfo.HttpListenerPort.ToString() + "/CapsSeed/" + capsPath + "0000/"; |
130 | theUser.currentAgent.currentRegion = reg.SimUUID; | 130 | theUser.currentAgent.currentRegion = reg.RegionID; |
131 | theUser.currentAgent.currentHandle = reg.RegionHandle; | 131 | theUser.currentAgent.currentHandle = reg.RegionHandle; |
132 | 132 | ||
133 | Login _login = new Login(); | 133 | Login _login = new Login(); |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 1264052..1a9584a 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -30,9 +30,12 @@ using System; | |||
30 | using System.Collections; | 30 | using System.Collections; |
31 | using System.Collections.Generic; | 31 | using System.Collections.Generic; |
32 | using System.Net; | 32 | using System.Net; |
33 | using System.Net.Sockets; | ||
33 | using System.Runtime.Remoting; | 34 | using System.Runtime.Remoting; |
34 | using System.Runtime.Remoting.Channels; | 35 | using System.Runtime.Remoting.Channels; |
35 | using System.Runtime.Remoting.Channels.Tcp; | 36 | using System.Runtime.Remoting.Channels.Tcp; |
37 | using System.Security.Authentication; | ||
38 | |||
36 | using libsecondlife; | 39 | using libsecondlife; |
37 | using Nwc.XmlRpc; | 40 | using Nwc.XmlRpc; |
38 | using OpenSim.Framework; | 41 | using OpenSim.Framework; |
@@ -78,7 +81,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
78 | // Login / Authentication | 81 | // Login / Authentication |
79 | 82 | ||
80 | GridParams["authkey"] = serversInfo.GridSendKey; | 83 | GridParams["authkey"] = serversInfo.GridSendKey; |
81 | GridParams["UUID"] = regionInfo.SimUUID.ToStringHyphenated(); | 84 | GridParams["UUID"] = regionInfo.RegionID.ToStringHyphenated(); |
82 | GridParams["sim_ip"] = regionInfo.ExternalHostName; | 85 | GridParams["sim_ip"] = regionInfo.ExternalHostName; |
83 | GridParams["sim_port"] = regionInfo.InternalEndPoint.Port.ToString(); | 86 | GridParams["sim_port"] = regionInfo.InternalEndPoint.Port.ToString(); |
84 | GridParams["region_locx"] = regionInfo.RegionLocX.ToString(); | 87 | GridParams["region_locx"] = regionInfo.RegionLocX.ToString(); |
@@ -115,12 +118,12 @@ namespace OpenSim.Region.Communications.OGS1 | |||
115 | /// </summary> | 118 | /// </summary> |
116 | /// <param name="regionInfo"></param> | 119 | /// <param name="regionInfo"></param> |
117 | /// <returns></returns> | 120 | /// <returns></returns> |
118 | public List<RegionInfo> RequestNeighbours(RegionInfo regionInfo) | 121 | public List<SimpleRegionInfo> RequestNeighbours(uint x, uint y) |
119 | { | 122 | { |
120 | 123 | ||
121 | Hashtable respData = MapBlockQuery((int)regionInfo.RegionLocX - 1, (int)regionInfo.RegionLocY - 1, (int)regionInfo.RegionLocX + 1, (int)regionInfo.RegionLocY + 1); | 124 | Hashtable respData = MapBlockQuery((int)x - 1, (int)y - 1, (int)x + 1, (int)y + 1); |
122 | 125 | ||
123 | List<RegionInfo> neighbours = new List<RegionInfo>(); | 126 | List<SimpleRegionInfo> neighbours = new List<SimpleRegionInfo>(); |
124 | 127 | ||
125 | foreach (ArrayList neighboursList in respData.Values) | 128 | foreach (ArrayList neighboursList in respData.Values) |
126 | { | 129 | { |
@@ -128,27 +131,20 @@ namespace OpenSim.Region.Communications.OGS1 | |||
128 | { | 131 | { |
129 | uint regX = Convert.ToUInt32(neighbourData["x"]); | 132 | uint regX = Convert.ToUInt32(neighbourData["x"]); |
130 | uint regY = Convert.ToUInt32(neighbourData["y"]); | 133 | uint regY = Convert.ToUInt32(neighbourData["y"]); |
131 | if ((regionInfo.RegionLocX != regX) || (regionInfo.RegionLocY != regY)) | 134 | if ((x != regX) || (y != regY)) |
132 | { | 135 | { |
136 | |||
133 | string simIp = (string)neighbourData["sim_ip"]; | 137 | string simIp = (string)neighbourData["sim_ip"]; |
134 | 138 | ||
135 | uint port = Convert.ToUInt32(neighbourData["sim_port"]); | 139 | int port = Convert.ToInt32(neighbourData["sim_port"]); |
136 | string externalUri = (string)neighbourData["sim_uri"]; | 140 | string externalUri = (string)neighbourData["sim_uri"]; |
137 | 141 | ||
138 | string externalIpStr = OpenSim.Framework.Utilities.Util.GetHostFromDNS(simIp).ToString(); | 142 | string externalIpStr = OpenSim.Framework.Utilities.Util.GetHostFromDNS(simIp).ToString(); |
139 | IPEndPoint neighbourInternalEndPoint = new IPEndPoint(IPAddress.Parse(externalIpStr), (int)port); | 143 | SimpleRegionInfo sri = new SimpleRegionInfo(regX, regY, simIp, port); |
140 | string neighbourExternalUri = externalUri; | 144 | sri.RemotingPort = Convert.ToUInt32(neighbourData["remoting_port"]); |
141 | RegionInfo neighbour = new RegionInfo(regX, regY, neighbourInternalEndPoint, externalIpStr); | 145 | sri.RegionID = new LLUUID((string)neighbourData["uuid"]); |
142 | |||
143 | //OGS1 | ||
144 | //neighbour.RegionHandle = (ulong)n["regionhandle"]; is now calculated locally | ||
145 | |||
146 | neighbour.RegionName = (string)neighbourData["name"]; | ||
147 | 146 | ||
148 | //OGS1+ | 147 | neighbours.Add(sri); |
149 | neighbour.SimUUID = new LLUUID((string)neighbourData["uuid"]); | ||
150 | |||
151 | neighbours.Add(neighbour); | ||
152 | } | 148 | } |
153 | } | 149 | } |
154 | } | 150 | } |
@@ -199,7 +195,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
199 | regionInfo.RemotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); | 195 | regionInfo.RemotingPort = Convert.ToUInt32((string)responseData["remoting_port"]); |
200 | regionInfo.RemotingAddress = internalIpStr; | 196 | regionInfo.RemotingAddress = internalIpStr; |
201 | 197 | ||
202 | regionInfo.SimUUID = new LLUUID((string)responseData["region_UUID"]); | 198 | regionInfo.RegionID = new LLUUID((string)responseData["region_UUID"]); |
203 | regionInfo.RegionName = (string)responseData["region_name"]; | 199 | regionInfo.RegionName = (string)responseData["region_name"]; |
204 | 200 | ||
205 | return regionInfo; | 201 | return regionInfo; |
@@ -365,6 +361,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
365 | OGS1InterRegionRemoting remObject = (OGS1InterRegionRemoting)Activator.GetObject( | 361 | OGS1InterRegionRemoting remObject = (OGS1InterRegionRemoting)Activator.GetObject( |
366 | typeof(OGS1InterRegionRemoting), | 362 | typeof(OGS1InterRegionRemoting), |
367 | "tcp://" + regInfo.RemotingAddress + ":" + regInfo.RemotingPort + "/InterRegions"); | 363 | "tcp://" + regInfo.RemotingAddress + ":" + regInfo.RemotingPort + "/InterRegions"); |
364 | |||
368 | if (remObject != null) | 365 | if (remObject != null) |
369 | { | 366 | { |
370 | retValue = remObject.InformRegionOfChildAgent(regionHandle, agentData); | 367 | retValue = remObject.InformRegionOfChildAgent(regionHandle, agentData); |
@@ -386,10 +383,27 @@ namespace OpenSim.Region.Communications.OGS1 | |||
386 | MainLog.Instance.Error("Remoting Error: Unable to connect to remote region.\n" + e.ToString()); | 383 | MainLog.Instance.Error("Remoting Error: Unable to connect to remote region.\n" + e.ToString()); |
387 | return false; | 384 | return false; |
388 | } | 385 | } |
389 | catch | 386 | catch (SocketException e) |
387 | { | ||
388 | MainLog.Instance.Error("Socket Error: Unable to connect to remote region.\n" + e.ToString()); | ||
389 | return false; | ||
390 | } | ||
391 | catch (InvalidCredentialException e) | ||
392 | { | ||
393 | MainLog.Instance.Error("Invalid Credentials: Unable to connect to remote region.\n" + e.ToString()); | ||
394 | return false; | ||
395 | } | ||
396 | catch (AuthenticationException e) | ||
397 | { | ||
398 | MainLog.Instance.Error("Authentication exception: Unable to connect to remote region.\n" + e.ToString()); | ||
399 | return false; | ||
400 | } | ||
401 | catch (Exception e) | ||
390 | { | 402 | { |
403 | MainLog.Instance.Error("Unknown exception: Unable to connect to remote region.\n" + e.ToString()); | ||
391 | return false; | 404 | return false; |
392 | } | 405 | } |
406 | return true; | ||
393 | } | 407 | } |
394 | 408 | ||
395 | /// <summary> | 409 | /// <summary> |
diff --git a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs index bac0d59..e776717 100644 --- a/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs +++ b/OpenSim/Region/Environment/Modules/DynamicTextureModule.cs | |||
@@ -47,9 +47,9 @@ namespace OpenSim.Region.Environment.Modules | |||
47 | 47 | ||
48 | public void Initialise(Scene scene) | 48 | public void Initialise(Scene scene) |
49 | { | 49 | { |
50 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.SimUUID)) | 50 | if (!RegisteredScenes.ContainsKey(scene.RegionInfo.RegionID)) |
51 | { | 51 | { |
52 | RegisteredScenes.Add(scene.RegionInfo.SimUUID, scene); | 52 | RegisteredScenes.Add(scene.RegionInfo.RegionID, scene); |
53 | scene.RegisterModuleInterface<IDynamicTextureManager>(this); | 53 | scene.RegisterModuleInterface<IDynamicTextureManager>(this); |
54 | } | 54 | } |
55 | } | 55 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 567fbd9..ee515ea 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -403,7 +403,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
403 | } | 403 | } |
404 | 404 | ||
405 | storageManager.DataStore.RemoveObject(((SceneObjectGroup) selectedEnt).UUID, | 405 | storageManager.DataStore.RemoveObject(((SceneObjectGroup) selectedEnt).UUID, |
406 | m_regInfo.SimUUID); | 406 | m_regInfo.RegionID); |
407 | ((SceneObjectGroup) selectedEnt).DeleteGroup(); | 407 | ((SceneObjectGroup) selectedEnt).DeleteGroup(); |
408 | 408 | ||
409 | lock (Entities) | 409 | lock (Entities) |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index b0f0b9a..ab8a48a 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using System; | 28 | using System; |
29 | using System.Net; | ||
29 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
30 | using System.IO; | 31 | using System.IO; |
31 | using System.Threading; | 32 | using System.Threading; |
@@ -529,7 +530,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
529 | public virtual void LoadPrimsFromStorage() | 530 | public virtual void LoadPrimsFromStorage() |
530 | { | 531 | { |
531 | MainLog.Instance.Verbose("Loading objects from datastore"); | 532 | MainLog.Instance.Verbose("Loading objects from datastore"); |
532 | List<SceneObjectGroup> PrimsFromDB = storageManager.DataStore.LoadObjects(m_regInfo.SimUUID); | 533 | List<SceneObjectGroup> PrimsFromDB = storageManager.DataStore.LoadObjects(m_regInfo.RegionID); |
533 | foreach (SceneObjectGroup prim in PrimsFromDB) | 534 | foreach (SceneObjectGroup prim in PrimsFromDB) |
534 | { | 535 | { |
535 | AddEntityFromStorage(prim); | 536 | AddEntityFromStorage(prim); |
@@ -964,7 +965,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
964 | if (Entities.ContainsKey(entID)) | 965 | if (Entities.ContainsKey(entID)) |
965 | { | 966 | { |
966 | Entities.Remove(entID); | 967 | Entities.Remove(entID); |
967 | storageManager.DataStore.RemoveObject(entID, m_regInfo.SimUUID); | 968 | storageManager.DataStore.RemoveObject(entID, m_regInfo.RegionID); |
968 | return true; | 969 | return true; |
969 | } | 970 | } |
970 | return false; | 971 | return false; |
@@ -1062,13 +1063,32 @@ namespace OpenSim.Region.Environment.Scenes | |||
1062 | } | 1063 | } |
1063 | } | 1064 | } |
1064 | 1065 | ||
1066 | delegate void InformClientOfNeighbourDelegate(IClientAPI remoteClient, AgentCircuitData a, ulong regionHandle, IPEndPoint endPoint); | ||
1067 | |||
1068 | /// <summary> | ||
1069 | /// Async compnent for informing client of which neighbours exists | ||
1070 | /// </summary> | ||
1071 | /// <remarks> | ||
1072 | /// This needs to run asynchronesously, as a network timeout may block the thread for a long while | ||
1073 | /// </remarks> | ||
1074 | /// <param name="remoteClient"></param> | ||
1075 | /// <param name="a"></param> | ||
1076 | /// <param name="regionHandle"></param> | ||
1077 | /// <param name="endPoint"></param> | ||
1078 | public void InformClientOfNeighbourAsync(IClientAPI remoteClient, AgentCircuitData a, ulong regionHandle, IPEndPoint endPoint) | ||
1079 | { | ||
1080 | bool regionAccepted = commsManager.InterRegion.InformRegionOfChildAgent(regionHandle, a); | ||
1081 | |||
1082 | if (regionAccepted) | ||
1083 | remoteClient.InformClientOfNeighbour(regionHandle, endPoint); | ||
1084 | } | ||
1085 | |||
1065 | /// <summary> | 1086 | /// <summary> |
1066 | /// | 1087 | /// |
1067 | /// </summary> | 1088 | /// </summary> |
1068 | public void InformClientOfNeighbours(IClientAPI remoteClient) | 1089 | public void InformClientOfNeighbours(IClientAPI remoteClient) |
1069 | { | 1090 | { |
1070 | List<RegionInfo> neighbours = commsManager.GridService.RequestNeighbours(m_regInfo); | 1091 | List<SimpleRegionInfo> neighbours = commsManager.GridService.RequestNeighbours(m_regInfo.RegionLocX, m_regInfo.RegionLocY); |
1071 | |||
1072 | if (neighbours != null) | 1092 | if (neighbours != null) |
1073 | { | 1093 | { |
1074 | for (int i = 0; i < neighbours.Count; i++) | 1094 | for (int i = 0; i < neighbours.Count; i++) |
@@ -1078,8 +1098,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1078 | agent.InventoryFolder = LLUUID.Zero; | 1098 | agent.InventoryFolder = LLUUID.Zero; |
1079 | agent.startpos = new LLVector3(128, 128, 70); | 1099 | agent.startpos = new LLVector3(128, 128, 70); |
1080 | agent.child = true; | 1100 | agent.child = true; |
1081 | commsManager.InterRegion.InformRegionOfChildAgent(neighbours[i].RegionHandle, agent); | 1101 | |
1082 | remoteClient.InformClientOfNeighbour(neighbours[i].RegionHandle, neighbours[i].ExternalEndPoint); | 1102 | InformClientOfNeighbourDelegate d = new InformClientOfNeighbourDelegate(InformClientOfNeighbourAsync); |
1103 | IAsyncResult asyncInform = d.BeginInvoke(remoteClient, agent, neighbours[i].RegionHandle, neighbours[i].ExternalEndPoint, null, null); | ||
1083 | //this.capsHandlers[remoteClient.AgentId].CreateEstablishAgentComms("", System.Net.IPAddress.Parse(neighbours[i].CommsIPListenAddr) + ":" + neighbours[i].CommsIPListenPort); | 1104 | //this.capsHandlers[remoteClient.AgentId].CreateEstablishAgentComms("", System.Net.IPAddress.Parse(neighbours[i].CommsIPListenAddr) + ":" + neighbours[i].CommsIPListenPort); |
1084 | } | 1105 | } |
1085 | } | 1106 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 9f8ea0c..21edbac 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -197,7 +197,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
197 | { | 197 | { |
198 | if (m_scene != null) | 198 | if (m_scene != null) |
199 | { | 199 | { |
200 | return m_scene.RegionInfo.SimUUID; | 200 | return m_scene.RegionInfo.RegionID; |
201 | } | 201 | } |
202 | return LLUUID.Zero; | 202 | return LLUUID.Zero; |
203 | } | 203 | } |
@@ -1173,7 +1173,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1173 | { | 1173 | { |
1174 | if (HasChanged) | 1174 | if (HasChanged) |
1175 | { | 1175 | { |
1176 | datastore.StoreObject(this, m_scene.RegionInfo.SimUUID); | 1176 | datastore.StoreObject(this, m_scene.RegionInfo.RegionID); |
1177 | HasChanged = false; | 1177 | HasChanged = false; |
1178 | } | 1178 | } |
1179 | } | 1179 | } |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 22a0754..2f5829a 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -770,7 +770,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
770 | 770 | ||
771 | protected void CheckForSignificantMovement() | 771 | protected void CheckForSignificantMovement() |
772 | { | 772 | { |
773 | if (Helpers.VecDist(AbsolutePosition, posLastSignificantMove) > 2.0) | 773 | if (AbsolutePosition.GetDistanceTo(posLastSignificantMove) > 2.0) |
774 | { | 774 | { |
775 | posLastSignificantMove = AbsolutePosition; | 775 | posLastSignificantMove = AbsolutePosition; |
776 | if (OnSignificantClientMovement != null) | 776 | if (OnSignificantClientMovement != null) |
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs index 05811e2..4388b31 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | |||
@@ -1221,7 +1221,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1221 | if (dynamicID == "") | 1221 | if (dynamicID == "") |
1222 | { | 1222 | { |
1223 | IDynamicTextureManager textureManager = this.World.RequestModuleInterface<IDynamicTextureManager>(); | 1223 | IDynamicTextureManager textureManager = this.World.RequestModuleInterface<IDynamicTextureManager>(); |
1224 | LLUUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.SimUUID, this.m_host.UUID, contentType, url, extraParams, timer); | 1224 | LLUUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, this.m_host.UUID, contentType, url, extraParams, timer); |
1225 | return createdTexture.ToStringHyphenated(); | 1225 | return createdTexture.ToStringHyphenated(); |
1226 | } | 1226 | } |
1227 | else | 1227 | else |