From 30cc9a733f4e7013c82696985c8481be1a8aac1c Mon Sep 17 00:00:00 2001
From: onefang
Date: Sun, 19 May 2019 22:28:19 +1000
Subject: Remove silly 4096 sim TP check for a client bug that was fixed long
ago.
---
.../EntityTransfer/EntityTransferModule.cs | 47 ----------------
OpenSim/Services/GridService/HypergridLinker.cs | 62 ----------------------
2 files changed, 109 deletions(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 2334e0b..9ce6201 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -54,15 +54,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private static readonly string LogHeader = "[ENTITY TRANSFER MODULE]";
- public const int DefaultMaxTransferDistance = 4095;
public const bool WaitForAgentArrivedAtDestinationDefault = true;
///
- /// The maximum distance, in standard region units (256m) that an agent is allowed to transfer.
- ///
- public int MaxTransferDistance { get; set; }
-
- ///
/// If true then on a teleport, the source region waits for a callback from the destination region. If
/// a callback fails to arrive within a set time then the user is pulled back into the source region.
///
@@ -226,12 +220,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
WaitForAgentArrivedAtDestination
= transferConfig.GetBoolean("wait_for_callback", WaitForAgentArrivedAtDestinationDefault);
-
- MaxTransferDistance = transferConfig.GetInt("max_distance", DefaultMaxTransferDistance);
- }
- else
- {
- MaxTransferDistance = DefaultMaxTransferDistance;
}
m_entityTransferStateMachine = new EntityTransferStateMachine(this);
@@ -639,29 +627,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
}
///
- /// Determines whether this instance is within the max transfer distance.
- ///
- ///
- ///
- ///
- /// true if this instance is within max transfer distance; otherwise, false.
- ///
- private bool IsWithinMaxTeleportDistance(RegionInfo sourceRegion, GridRegion destRegion)
- {
- if(MaxTransferDistance == 0)
- return true;
-
-// m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Source co-ords are x={0} y={1}", curRegionX, curRegionY);
-//
-// m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Final dest is x={0} y={1} {2}@{3}",
-// destRegionX, destRegionY, finalDestination.RegionID, finalDestination.ServerURI);
-
- // Insanely, RegionLoc on RegionInfo is the 256m map co-ord whilst GridRegion.RegionLoc is the raw meters position.
- return Math.Abs(sourceRegion.RegionLocX - destRegion.RegionCoordX) <= MaxTransferDistance
- && Math.Abs(sourceRegion.RegionLocY - destRegion.RegionCoordY) <= MaxTransferDistance;
- }
-
- ///
/// Wraps DoTeleportInternal() and manages the transfer state.
///
public void DoTeleport(
@@ -721,18 +686,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
RegionInfo sourceRegion = sp.Scene.RegionInfo;
- if (!IsWithinMaxTeleportDistance(sourceRegion, finalDestination))
- {
- sp.ControllingClient.SendTeleportFailed(
- string.Format(
- "Can't teleport to {0} ({1},{2}) from {3} ({4},{5}), destination is more than {6} regions way",
- finalDestination.RegionName, finalDestination.RegionCoordX, finalDestination.RegionCoordY,
- sourceRegion.RegionName, sourceRegion.RegionLocX, sourceRegion.RegionLocY,
- MaxTransferDistance));
-
- return;
- }
-
ulong destinationHandle = finalDestination.RegionHandle;
// Let's do DNS resolution only once in this process, please!
diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs
index 67114ef..bd68056 100644
--- a/OpenSim/Services/GridService/HypergridLinker.cs
+++ b/OpenSim/Services/GridService/HypergridLinker.cs
@@ -63,7 +63,6 @@ namespace OpenSim.Services.GridService
protected GatekeeperServiceConnector m_GatekeeperConnector;
protected UUID m_ScopeID = UUID.Zero;
-// protected bool m_Check4096 = true;
protected string m_MapTileDirectory = string.Empty;
protected string m_ThisGatekeeper = string.Empty;
protected Uri m_ThisGatekeeperURI = null;
@@ -120,8 +119,6 @@ namespace OpenSim.Services.GridService
if (scope != string.Empty)
UUID.TryParse(scope, out m_ScopeID);
-// m_Check4096 = gridConfig.GetBoolean("Check4096", true);
-
//// TODO OpenSim is crazy, this is called from Robust and OpenSim, Robust needs the ../caches bit, OpenSim somehow adds a path already. I can't tell why. So strip the path.
m_MapTileDirectory = Path.Combine(Util.cacheDir(), Path.GetFileName(gridConfig.GetString("MapTileDirectory", "maptiles")));
@@ -337,19 +334,6 @@ namespace OpenSim.Services.GridService
return true;
}
- // We are now performing this check for each individual teleport in the EntityTransferModule instead. This
- // allows us to give better feedback when teleports fail because of the distance reason (which can't be
- // done here) and it also hypergrid teleports that are within range (possibly because the source grid
- // itself has regions that are very far apart).
-// uint x, y;
-// if (m_Check4096 && !Check4096(handle, out x, out y))
-// {
-// //RemoveHyperlinkRegion(regInfo.RegionID);
-// reason = "Region is too far (" + x + ", " + y + ")";
-// m_log.Info("[HYPERGRID LINKER]: Unable to link, region is too far (" + x + ", " + y + ")");
-// //return false;
-// }
-
regInfo.RegionID = regionID;
regInfo.RegionSizeX = sizeX;
regInfo.RegionSizeY = sizeY;
@@ -402,52 +386,6 @@ namespace OpenSim.Services.GridService
}
}
-// Not currently used
-// ///
-// /// Cope with this viewer limitation.
-// ///
-// ///
-// ///
-// public bool Check4096(ulong realHandle, out uint x, out uint y)
-// {
-// uint ux = 0, uy = 0;
-// Utils.LongToUInts(realHandle, out ux, out uy);
-// x = Util.WorldToRegionLoc(ux);
-// y = Util.WorldToRegionLoc(uy);
-//
-// const uint limit = Util.RegionToWorldLoc(4096 - 1);
-// uint xmin = ux - limit;
-// uint xmax = ux + limit;
-// uint ymin = uy - limit;
-// uint ymax = uy + limit;
-// // World map boundary checks
-// if (xmin < 0 || xmin > ux)
-// xmin = 0;
-// if (xmax > int.MaxValue || xmax < ux)
-// xmax = int.MaxValue;
-// if (ymin < 0 || ymin > uy)
-// ymin = 0;
-// if (ymax > int.MaxValue || ymax < uy)
-// ymax = int.MaxValue;
-//
-// // Check for any regions that are within the possible teleport range to the linked region
-// List regions = m_GridService.GetRegionRange(m_ScopeID, (int)xmin, (int)xmax, (int)ymin, (int)ymax);
-// if (regions.Count == 0)
-// {
-// return false;
-// }
-// else
-// {
-// // Check for regions which are not linked regions
-// List hyperlinks = m_GridService.GetHyperlinks(m_ScopeID);
-// IEnumerable availableRegions = regions.Except(hyperlinks);
-// if (availableRegions.Count() == 0)
-// return false;
-// }
-//
-// return true;
-// }
-
private void AddHyperlinkRegion(GridRegion regionInfo, ulong regionHandle)
{
RegionData rdata = m_GridService.RegionInfo2RegionData(regionInfo);
--
cgit v1.1