diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 29ba5f8..1ea0fd7 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -916,13 +916,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
916 | 916 | ||
917 | if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) | 917 | if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) |
918 | { | 918 | { |
919 | // We need to delay here because Imprudence viewers, unlike v1 or v3, have a short (<200ms, <500ms) delay before | 919 | // RED ALERT!!!! |
920 | // they regard the new region as the current region after receiving the AgentMovementComplete | 920 | // PLEASE DO NOT DECREASE THIS WAIT TIME UNDER ANY CIRCUMSTANCES. |
921 | // response. If close is sent before then, it will cause the viewer to quit instead. | 921 | // THE VIEWERS SEEM TO NEED SOME TIME AFTER RECEIVING MoveAgentIntoRegion |
922 | // | 922 | // BEFORE THEY SETTLE IN THE NEW REGION. |
923 | // This sleep can be increased if necessary. However, whilst it's active, | 923 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR |
924 | // an agent cannot teleport back to this region if it has teleported away. | 924 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. |
925 | Thread.Sleep(2000); | 925 | Thread.Sleep(5000); |
926 | 926 | ||
927 | sp.Scene.IncomingCloseAgent(sp.UUID, false); | 927 | sp.Scene.IncomingCloseAgent(sp.UUID, false); |
928 | } | 928 | } |
@@ -1048,6 +1048,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1048 | 1048 | ||
1049 | if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) | 1049 | if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) |
1050 | { | 1050 | { |
1051 | // RED ALERT!!!! | ||
1052 | // PLEASE DO NOT DECREASE THIS WAIT TIME UNDER ANY CIRCUMSTANCES. | ||
1053 | // THE VIEWERS SEEM TO NEED SOME TIME AFTER RECEIVING MoveAgentIntoRegion | ||
1054 | // BEFORE THEY SETTLE IN THE NEW REGION. | ||
1055 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR | ||
1056 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. | ||
1051 | Thread.Sleep(5000); | 1057 | Thread.Sleep(5000); |
1052 | sp.Scene.IncomingCloseAgent(sp.UUID, false); | 1058 | sp.Scene.IncomingCloseAgent(sp.UUID, false); |
1053 | } | 1059 | } |