Commit Graph

701 Commits

Author SHA1 Message Date
Melanie
a348c8e44a Allow Linden trees to preserve their type when taken into inventory and rezzed again. Allow Linden trees to be sensed by LLSensor as PASSIVE objects. 2013-05-26 14:11:48 +02:00
Melanie
8ade6fa617 Refactor to get closer to core 2013-05-11 16:15:39 +02:00
Melanie
d982d24938 Fix the long standing bug of items being delivered to lost and found or trash when takig copy.
This bug was recently aggravated through the perms changes required for the
export permission.
2013-05-01 21:42:51 +01:00
Melanie
0af1d8fe19 Fix CAPS to work like they should - do not send caps to the viewer if they're not in the requested caps list.
The previous wrong behavior caused the debug setting "UseHTTPInventory" to fail
on all viewers when turned off. UDB inventory would not be correctly used in
that case.
2013-04-30 23:35:59 +02:00
Melanie
ae833af3a9 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
2013-03-31 20:56:13 +01:00
Justin Clark-Casey (justincc)
f8785b5f47 refactor: rename ETM.InformClientToInitateTeleportToLocationDelegate to InformClientToInitiateTeleportToLocationDelegate to correct spelling and bring into line with other ETM Initiate methods 2013-03-30 00:29:52 +00:00
Melanie
e9eb837347 Merge commit 'e89bcf4f773d95492b168376599f7530a6044e8f' into careminster 2013-03-29 02:21:20 +00:00
Melanie
7d466d36a3 Merge commit 'd87ddf50fcd674fbd9aa8b8556bf57f2d285a3ba' into careminster 2013-03-29 02:20:47 +00:00
Melanie
73710413cd Merge commit 'feffc8081dc5ab2889a7ea4b96b2befaed0c3f95' into careminster 2013-03-29 01:52:58 +00:00
Justin Clark-Casey (justincc)
e89bcf4f77 Revert "Try eliminating the pause before auto-reteleporting for a megaregion now that we're telepoting in a different way."
Unfortunately fails on Nebadon's system right now.  Needs investigation.  May put in a temproary option for experimentation soon.

This reverts commit d87ddf50fc.
2013-03-29 01:34:31 +00:00
Justin Clark-Casey (justincc)
d87ddf50fc Try eliminating the pause before auto-reteleporting for a megaregion now that we're telepoting in a different way.
On my own system, I can now eliminate the pause entirely and the reteleport happens whilst the teleport screen is still up.
Trying this change to see if this is true for other people.
2013-03-29 01:16:29 +00:00
Justin Clark-Casey (justincc)
feffc8081d minor: remove some mono compiler warnings from EntityTransferModule 2013-03-28 22:56:30 +00:00
Justin Clark-Casey (justincc)
9ca54d00d8 Add back a log message when we attempt a megaregion auto-reteleport 2013-03-28 02:29:34 +00:00
Melanie
f548a41fb8 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs
2013-03-28 02:29:07 +00:00
Justin Clark-Casey (justincc)
afd0d6af07 minor: Only try to deregister stats in EntityTransferModule.RemoveRegion() if module was enabled. 2013-03-28 02:23:09 +00:00
Justin Clark-Casey (justincc)
d9c049fd9f Fix a bug in HGEntityTransferModule to call base.RemoveRegion() when a region is removed rather than base.AddRegion() 2013-03-28 02:20:43 +00:00
Justin Clark-Casey (justincc)
b05ed4ffa6 Instead of going via GodLikeRequestTeleport, auto-teleport the agent directly in a megaregion, in the same manner at the "teleport user" console command.
This is to bypass an issue with the HGLureModule which stops the auto-teleport from happening.
2013-03-28 02:17:32 +00:00
Justin Clark-Casey (justincc)
506d5e41bf On the North and East sides of a megaregion, only consider regions within 256m to be neighbours rather than regions up to 512 distant.
This looks like an off-by-one bug since the view distance was already only 256 on the west and south sides.
This reduces the number of child agents being logged into regions neighbouring a megaregion.
2013-03-28 01:54:11 +00:00
Justin Clark-Casey (justincc)
f32027f3b5 Remove some Console.WriteLines accidentally left in last commit cfb20f09 2013-03-28 01:08:47 +00:00
Justin Clark-Casey (justincc)
cfb20f09a9 refactor: combine the checks for megaregion view range into a single place. 2013-03-28 00:57:43 +00:00
Justin Clark-Casey (justincc)
dd7d7683c9 Fix problem with megaregions where teleporting into a different region which already had a child agent would stop the eq working for the agent in the new region.
This was because the calculation as to whether a new agent was needed in the receiving region did not take megaregions into account,
unlike the original calculation when the user first teleported into the region.
This meant that on teleport, entity transfer would create a new CAP but this would be ignored by the viewer and receiving region, meaning that the EQ could no longer be used.
This would prevent subsequent teleport, amongst other things.
Currently, regions up to 512m from a megaregion are considered neighbours.
2013-03-28 00:12:48 +00:00
Melanie
46b765d28e Merge branch 'master' into careminster 2013-03-28 00:10:51 +00:00
Melanie
5f4c4df227 Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-26 03:40:06 +00:00
Melanie
36c57bac8e Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster 2013-03-26 03:26:28 +00:00
Melanie
95d0a7d4fa Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
2013-03-26 03:26:02 +00:00
Justin Clark-Casey (justincc)
128c72a234 Start recording inter-region teleport attempts, aborts, cancels and failures in statistics for monitoring/debugging purposes
These are recorded as 'entitytransfer' stats as seen by the "show stats entitytransfer" console command.
2013-03-25 21:53:27 +00:00
Melanie
c341664c1b Phase 1 of implementing a transfer permission. Overwrite libOMV's PermissionMask
with our own and add export permissions as well as a new definition for "All" as meaning "all conventional permissions" rather than "all possible permissions"
2013-03-24 18:56:28 +01:00
Melanie
6ce9ed1a64 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-03-23 23:01:55 +00:00
Justin Clark-Casey (justincc)
93206ef0fa Add "show borders" command to show the borders of a region.
This is relevant to mega-regions where the borders are very different to a regular region.
Also adds some method doc and other code comments.
2013-03-23 00:45:21 +00:00
Justin Clark-Casey (justincc)
1f17ef6d3c Take out a testing sleep I accidentally left in the teleport code from last commit 7471bc7 2013-03-22 01:06:56 +00:00
Melanie
d5e5c13f3b Merge branch 'master' into careminster 2013-03-22 01:02:17 +00:00
Melanie
68b910c1ff Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
2013-03-22 01:01:24 +00:00
Justin Clark-Casey (justincc)
7471bc7775 At strategic points in the teleport process, if the client has simultaneously logged out then do not continue.
This aims to reduce any side effects if the process tries to complete after the client has logged back in (e.g. it was delayed due to a slow destination region response).
This introduces a new Aborting entity transfer state which signals that the teleport should be stopped but no compensating actions performed.
2013-03-22 01:00:13 +00:00
Justin Clark-Casey (justincc)
e23a0dcc5d minor: On teleport, signal a child agent before we send the viewer TeleportFinish in order to avoid a theoretical race condition when teleporting to a neighbour.
If we do this after TeleportFinish, then it's possible for a neighbour destination to request the source to create a child agent whilst its still treated as root.
This closes the original presence which we don't really want to do.
This is probably okay (albeit with warnings on the console) but afaics there's no reason not to move the child agent signal.
2013-03-21 23:37:23 +00:00
Justin Clark-Casey (justincc)
46c833810c On a teleport, lock m_agentsInTransit whilst we grab the value to check for completion just to be sure we're not using a thread cached version. 2013-03-21 00:46:08 +00:00
Justin Clark-Casey (justincc)
36651bed71 On the later forms of teleport failure, tell the user if this was because viewer couldn't/didn't connect with destination or if destination didn't signal teleport completion.
Also adds regression test for the case where the viewer couldn't connect with the destination region.
Also refactoring of regression test support code associated with entity transfer in order to make this test possible and the code less obscure.
2013-03-20 23:01:16 +00:00
Robert Adams
1dd2d432f1 For those people collecting and comparing logfiles from servers scattered
around the world, change LogWriter to use DateTime.UtcNow rather than
DateTime.Now.
2013-03-19 11:40:10 -07:00
Melanie
b9146a7922 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Servers/BaseOpenSimServer.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-03-15 23:45:32 +00:00
Justin Clark-Casey (justincc)
d3e76730bd Add example code to DOExampleModule to pull data from that previously saved by DAExampleModule when instantiating a dynamc object. 2013-03-15 00:49:35 +00:00
Justin Clark-Casey (justincc)
cb74186888 Add ParentGroup.HasGroupChanged = true setting to DAExampleModule as this is necessary to get attributes to save (though this probably happens anyway due to the prim move) 2013-03-15 00:27:06 +00:00
Melanie
8b657773e4 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
2013-03-14 22:34:15 +00:00
Justin Clark-Casey (justincc)
43220afda2 Improve DAExampleModule to show current necessary locking to avoid race conditions with a serialization thread. 2013-03-13 23:42:14 +00:00
Justin Clark-Casey (justincc)
5c53660a7f Add prototype dynamic objects map for scene object parts
This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes.
This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes.
This commit adds a DOExampleModule to demonstrate/evolve this code.
Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap.
DOExampleModule in this commit only attaches a fresh dynamic object.  Actually constructing this from stored dynamic attributes and handling persistence is left for later.
These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
2013-03-13 22:59:06 +00:00
Melanie
710381e838 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs
2013-03-13 02:02:46 +00:00
Justin Clark-Casey (justincc)
fb1211ad5e Add DisableInterRegionTeleportCancellation option in [EntityTransfer] section of OpenSim.ini. False by default.
This option allows the simulator to specify that the cancel button on inter-region teleports should never appear.
This exists because sometimes cancellation will result in a stuck avatar requiring relog.
It may be hard to prevent this due to the protocol design (the LL grid has the same issue)
In small controlled grids where teleport failure is practically impossible it can be better to disable teleport cancellation entirely.
2013-03-12 23:01:27 +00:00
Justin Clark-Casey (justincc)
c43d4b5572 Improve teleport cancellation in some circumstances, though cancelling teleports is still not recommended.
Previously, hitting the cancel button on a teleport would cancel on the client side but the request was ignored on the server side.
Cancel would still work if the teleport failed in the early stages (e.g. because the destination never replied to early CreateAgent and UpdateAgent messages).
But if the teleport still completed after a delay here or later on, the viewer would become confused (usual symptom appears to be avatar being unable to move/reteleport).
This commit makes OpenSimulator obey cancellations which are received before it sends the TeleportFinish event queue message and does proper cleanup.
But cancellations received after this (which can happen even though the cancel button is removed as this messages comes on a different thread) can still result in a frozen avatar.
This looks extremely difficult and impossible to fix.
I can replicate the same problem on the Linden Lab grid by hitting cancel immediately after a teleport starts (a teleport which would otherwise quickly succeed).
2013-03-12 22:16:09 +00:00
Melanie
70f0587558 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
2013-03-08 01:07:05 +00:00
Justin Clark-Casey (justincc)
5751ecde52 Add code for testing event queue messages recevied on region cross.
This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.
2013-03-06 23:06:00 +00:00
Justin Clark-Casey (justincc)
b272b91317 minor: Fix mono compiler warning in MonitorModule 2013-03-05 23:59:39 +00:00
Melanie
81552f41c6 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs
2013-03-05 23:57:53 +00:00