Commit Graph

184 Commits (62b12783dfa6ed5f6b4921da302f356b4eac18f8)

Author SHA1 Message Date
Mic Bowman 456c89a7a3 Fixes some problems with objects that attempt to cross a region boundary
into a region that does not exist. This is particularly problematic for
physical objects where the velocity continues to move them out of the
region causing an infinite number of failed region crossings. The patch
forces an object that fails a crossing to be non-physical and moves it
back into the starting region.
2011-12-22 16:59:51 -08:00
Diva Canto 469955889e Region crossings redone: (1) removed WaitForCallback. Now that we are passing the entire agent with attachs in one big message we don't necessarily need to wait for confirmation. The callback sometimes is problematic and it adds delay to the process. (2) Z velocity sent to the viewer = 0. This is an heuristic; the Z velocity usually is negative, and it makes the viewer move the avie down. This only matters while the agent is in transit and therefore not being physically simulated by neither region. As soon as the receiving region receives CompleteMovement from the viewer, the position and velocity get corrected. 2011-12-22 09:30:06 -08:00
Diva Canto 8300bb651e Sends the consistent child agent position upon creation of the child agent in other regions, as opposed to <128, 128, 70> 2011-12-16 09:33:22 -08:00
Justin Clark-Casey (justincc) 4919c60560 Add beginning of ScenePresenceAgentTests.TestCreateChildScenePresence()
This required an option to be added to NullRegionData via ConnectionString for it to act as a non-static instance, so that regression tests (which only load this class once) don't get hopeless confused and complex to compensate.
Normal standalone operation unaffected.
2011-12-03 18:59:54 +00:00
Justin Clark-Casey (justincc) 054ebe8878 Stop some places where we're trying to reset animations in child agents where such requests are ignored. 2011-12-02 23:56:01 +00:00
Melanie c7dd7b13a2 Convert SendKillObject to take a list of uint rather than sending one
packet per prim. More to come as we change to make use of this.
2011-11-06 20:38:07 +00:00
Dan Lake e2c51a977d Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".

UpdateFlag and Schedule*Update will both be made private shortly.

UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
2011-11-02 14:59:00 -07:00
Justin Clark-Casey (justincc) c2da1c4580 set grp.RootPart.GroupPosition for code consistency (and readability) rather than calling SOP.OffsetForNewRegion 2011-10-28 23:43:31 +01:00
Dan Lake 4748c19bdb Refactored "known child region" in ScenePresence. There were 4 different
ways to access the list/dictionary of child regions and locking was
inconsistent. There are now public properties which enforce locks.
Callers are no longer required to create new copies of lists.
2011-10-06 22:47:33 -07:00
Dan Lake 9a16e76f51 Simplified IsInTransit property on ScenePresence and removed InTransit() which called IsInTransit=true which called m_inTransit=true. Also removed NotInTransit(). 2011-10-06 12:39:19 -07:00
Justin Clark-Casey (justincc) 9c32b131fd Add extra log information when attachments fail validation 2011-09-10 00:57:52 +01:00
Justin Clark-Casey (justincc) 7531851bec reinstate the validation logging on teleport. A 'fail' of validation still doesn't prevent the actual teleport. 2011-09-10 00:45:50 +01:00
Justin Clark-Casey (justincc) cf73afec35 Try disabling the inconsistent attachment state check to see if this actually has an impact.
The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary.
This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message.
This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
2011-09-05 23:42:37 +01:00
Justin Clark-Casey (justincc) e6eb0d9a6f Comment out Scene.CleanDroppedAttachments() and calls.
This method wasn't actually doing anything since dropped attachments retain a PCode of 9.
Also, behaviour of dropped attachments in other places appears to be that they persist after avatar logout rather than get deleted.
2011-09-02 23:19:27 +01:00
Justin Clark-Casey (justincc) 7eca929686 Eliminate pointless checks of SOG.RootPart != null
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc) 7d58b5fa15 move common code into AttachmentsModule.DeleteAttachmentsFromScene() 2011-08-31 17:53:58 +01:00
Justin Clark-Casey (justincc) 32444d98cb Make SP.Attachments available as sp.GetAttachments() instead.
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
2011-08-31 16:29:51 +01:00
Justin Clark-Casey (justincc) 33a894f3d2 refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values 2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc) 92e96d394a When an NPC is created, stop telling neighbouring regions to expect a child agent 2011-08-09 23:11:07 +01:00
Mic Bowman e91861fff2 Ensure that the max transfer distance is initialized correctly. 2011-07-07 09:12:57 -07:00
Justin Clark-Casey (justincc) de20f0603f Tell hypergridders when their teleports fail because of the 4096 limit rather than just saying "destination not found"
Instead of performing the 4096 check when the region is linked (and subsequently removing the link), leave the link in place and perform the check in the entity transfer module
This allows us to explicitly tell the hypergridder why the teleport failed (region out of range).
It also allows people on regions that are within range (on a large source grid) to teleport.
The Check4096 config parameter in the [GridService] section is replaced by a max_distance paramter in a new [EntityTransfer] section in OpenSimDefaults.ini
Since the parameter is in OpenSimDefaults.ini no action needs to be taken unless you want to increase this limit.  It could also be decreased.
The check is being made in the base entity transfer module, since I believe the viewer problem occurs both on extremely large grids and while hypergridding.
2011-06-24 19:49:05 +01:00
Diva Canto e33cedfd42 HG Landmarks now working. 2011-06-03 10:26:58 -07:00
Diva Canto 76525be7b2 HG lures working! Friends can offer friends HG teleports via the profile. WARNING: additional configuration for HG inis -- see *Common.ini.example 2011-05-27 13:07:18 -07:00
Melanie e345f03895 Remove a spammy debug I left in. Disable TP cancel button at the point
of no return.
2011-05-08 22:05:33 +01:00
Melanie 1be67914fa Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-05-08 20:20:40 +01:00
Melanie 9688db2f68 Enable compressed (gzip) fatpack transfers. 2011-05-08 20:20:00 +01:00
Diva Canto 25809caaeb Mantis #5472 2011-05-08 09:28:15 -07:00
Diva Canto 6c503e75ac Put the previous state back in the attachments in case the agent transfer fails. 2011-05-04 12:04:35 -07:00
Diva Canto 0d49611f6d Remove the scripts of the attachments in the departing region and recreate them if fail. 2011-04-29 15:52:06 -07:00
Diva Canto 9892e115cc Fatpack message on agent transfers: 1 message only (UpdateAgent) containing the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service. 2011-04-28 20:19:54 -07:00
Justin Clark-Casey (justincc) 20aeace8d7 Add log messages on teleport failure to better pin down the cause. 2011-03-09 22:03:12 +00:00
Mic Bowman 5a16fa882c Parameterizes the view distance used to compute and manage
child agents in neighbor regions. This means you can extend
the view on a simulator beyond the default 3x3 regions.

This uses a region default draw distance and should be
replaced at some point by the avatar specified draw distance.
That will require more careful, dynamic recomputation of child
agents every time the draw distance changes.

WARNING: this is experimental and has known instabilities. specifically
all regions "within site" should be running the same default draw distance
or agents will not be closed correctly.
2011-02-22 13:23:54 -08:00
Melanie 918c12c965 Change the QUERYACCESS method to eliminate spurious access denied messages 2011-02-16 08:06:11 +00:00
Diva Canto a8ced66e87 Improved error message on TP failure 2011-02-12 07:28:21 -08:00
Justin Clark-Casey (justincc) 1613d89383 minor: Correct misspelling of neighbour in log messages.
Thanks Fly-Man-
2011-02-04 20:51:51 +00:00
Melanie 188d86998d Fix up QueryAccess to also check parcels 2011-01-28 04:09:04 +00:00
Melanie d90b0c53ec Fix bumping into sim borders and check estate bans for walking crossings 2011-01-28 02:38:14 +00:00
Diva Canto 02e661f8dd Minor additional debug message. 2011-01-07 11:39:22 -08:00
Melanie c48ddbfef1 Fix scoping for prim region crossings 2011-01-03 19:41:02 +00:00
Diva Canto cefdee8aaf Normalized ALL URLs with trailing /'s hopefully. Fixed show hyperlinks command. mantis #5259 2010-12-09 16:52:37 -08:00
Diva Canto 72748746d5 Fixed some inconsistency with trailing /. Made debug messages consistent. Changed the stored region names of HG regions. Increased the size of regionName in DB. 2010-12-05 19:43:24 -08:00
Jonathan Freedman 45cd2e3ef9 Merge branch 'master-core' into mantis5110 2010-12-05 11:49:15 -08:00
Mic Bowman 541a7660e0 Refactor appearance and avatar data sending code. Paritioning the routines into "one-to-many" and "many-to-one" makes it possible to call the right function on presence creation (both child and root) and when a child agent is promoted to root. This brings the total number of appearance sends down to one or two on login.
Cleaned up the avatar update calls in the groups code. Cleaned up
some commented and debugging code, and a few formating fixes.
2010-11-27 01:14:36 +00:00
Jonathan Freedman b7f5e82843 Merge branch 'master-core' into mantis5110 2010-11-21 20:01:48 -08:00
Jonathan Freedman 562147475c Merge https://github.com/opensim/opensim into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2010-11-21 19:51:23 -08:00
Justin Clark-Casey (justincc) e6eeaaea67 minor: add some method comments 2010-11-17 22:55:06 +00:00
Melanie Thielker d8fffd0fb5 Call attachment cleanup when an agent crosses out 2010-11-08 02:37:00 +00:00
Jonathan Freedman e371d3208c Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
2010-10-30 14:10:13 -04:00
Justin Clark-Casey (justincc) ade71c9ed7 Change level of some logging messages, turning some info into arguably more appropriate debug to reduce console spam when log level is info 2010-10-30 01:32:56 +01:00
Justin Clark-Casey (justincc) fe8d3d5a2b Revert "Merge remote branch 'otakup0pe/mantis5110'"
This reverts commit 21187f459e, reversing
changes made to 8f34e46d74.
2010-10-22 23:52:07 +01:00
Jonathan Freedman d4144bedb8 * change the data exchanged within hypergrid transactions 2010-10-21 23:22:15 -04:00
Jonathan Freedman a2167b0f0d * more url / hg cleanup 2010-10-11 16:53:00 -04:00
Jonathan Freedman 8f1acb890a Merge branch 'master' of git://opensimulator.org/git/opensim 2010-10-05 14:17:18 -04:00
Diva Canto 0772e19af2 Added viewer's channel, mac, and id0 to agent circuit data. Also moved client ip address to agent circuit data, so that it's always there. 2010-10-03 20:01:59 -07:00
Jonathan Freedman 32ccc7a9d9 * refactor refactor refactor ServerURI 4 lyfe 2010-10-02 19:17:02 -04:00
Diva Canto 0f95cd209e Addresses mantis #4991 -- HG between two regions with the same map coordinates fails with no warning 2010-08-27 17:25:04 -07:00
Diva Canto 69ad04cdf6 Attempt at sending TeleportProgress, but it doesn't seem to be doing anything at all. Left it commented, just as a reminder for where those messages could be sent. 2010-08-16 12:03:13 -07:00
Diva Canto 77de28965a Work on TeleportStart: renamed method from TeleportLocationStart to TeleportStart, and now sending this upon all teleports, not just some, and in the right place (EntityTransferModule). 2010-08-16 11:33:59 -07:00
Diva Canto 5d29c0ec9d Addresses mantis #4929. Agent was being logged off the grid too soon -- things may still fail. 2010-08-15 18:10:54 -07:00
Justin Clark-Casey (justincc) 8acb401a14 minor: remove mono compiler warnings 2010-08-13 23:28:28 +01:00
Diva Canto 19558f380a Fixes the long-standing RegionUp bug! Plus lots of other cleanups related to neighbours. 2010-06-13 19:06:22 -07:00
Diva Canto 66619b5996 Added checks for failed UpdateAgent calls. 2010-06-12 12:08:45 -07:00
Diva Canto e6efe34b4c * Added CHANGED_TELEPORT event trigger upon inter-sim teleports.
* Cleaned up NewUserConnection.
2010-06-12 11:11:13 -07:00
Melanie Thielker 4c58ac2c90 Make local teleports send CHANGED_TELEPORT 2010-06-12 07:35:03 +01:00
Dan Lake ca2abc43ad Refactor SendCoarseLocations for better performance. Instead of computing list of all locations fresh for every scene presence on every frame, we will instead compute the list once every 50 frames and send to all connected presences at that time. Also, we only add 60 items to the list when there are more than 60 presences in the scene. For 1000 users, this change yields a 99.8% reduction in list processing and a 98% reduction in network bandwidth for coarse locations. 2010-06-08 16:44:18 -07:00
Diva Canto ab3afd5f42 * Bug fix in TP home: typo in unpacking of GridUserInfo.
* Bug fix in TPs across neighboring regions: bug was introduced when getting rid of crashed sessions.
2010-06-05 09:39:09 -07:00
Melanie a48d7f62a7 Revert "Comment noisy "CONNECTION DEBUGGING" messages, because they push more"
Some other stuff snuck in.

This reverts commit 4cc533e7ad94d148351c16f48afd2a688a64c48a.
2010-05-27 19:02:20 +01:00
Melanie Thielker 6b6425aa5e Comment noisy "CONNECTION DEBUGGING" messages, because they push more
important stuff off screen too fast
2010-05-27 18:44:15 +01:00
Diva Canto a58859a0d4 GridUserService in place. Replaces the contrived concept of storing user's home and position info in the presence service. WARNING: I violated a taboo by deleting 2 migration files and simplifying the original table creation for Presence. This should not cause any problems to anyone, though. Things will work with the new simplified table, as well as with the previous contrived one. If there are any problems, solving them is as easy as dropping the presence table and deleting its row in the migrations table. The presence info only exists during a user's session anyway.
BTW, the Meshing files want to be committed too -- EOFs.
2010-05-07 21:29:56 -07:00
Diva Canto ebc3726d52 Added copying of Viewer field to the agent circuit data that is being passed on TPs and crossings.
(XmlRpcGroups files want to be committed too)
2010-05-05 16:54:48 -07:00
John Hurliman d506449f67 * Removed the unused GridRegion.getInternalEndPointPort() (just use InternalEndPoint.Port). This class is complex enough as it is
* Changed the failed to inform neighbor message from a warning to info, since this will fire for every empty neighbor space
* Made the EnableSimulator/EstablishAgentCommunication log message more verbose and more clear about what is happening
2010-02-23 00:59:24 -08:00
Diva Canto 5001f61c08 * HGGridConnector is no longer necessary.
* Handle logout properly. This needed an addition to IClientAPI, because of how the logout packet is currently being handled -- the agent is being removed from the scene before the different event handlers are executed, which is broken.
2010-01-29 18:59:41 -08:00
Diva Canto 0c81966c0a Works for grid login. 2010-01-29 09:12:22 -08:00
Diva Canto 00f7d622cb HG 1.5 is in place. Tested in standalone only. 2010-01-28 19:19:42 -08:00
Diva Canto 3d53694415 Go Home works. With security!! 2010-01-18 16:34:23 -08:00
Diva Canto fd64823466 * Added missing GatekeeperServiceConnector
* Added basic machinery for teleporting users home. Untested.
2010-01-18 10:37:11 -08:00
Diva Canto bbbe9e73cc * Fixed misspelling of field in GridService
* Moved TeleportClientHome to EntityTransferModule
2010-01-18 09:14:19 -08:00
Diva Canto b5fcb5e872 HG teleports through gatekeeper are working. 2010-01-17 20:10:42 -08:00
Diva Canto b2e6ec9e12 Agent gets there through the Gatekeeper, but still a few quirks to fix. 2010-01-17 18:04:55 -08:00
Diva Canto f276ba57bf HG agent transfers are starting to work. Gatekeeper handlers are missing. 2010-01-17 11:33:47 -08:00
Diva Canto 04e29c1bac Beginning of rewriting HG. Compiles, and runs, but HG functions not restored yet. 2010-01-16 21:42:44 -08:00
Diva Canto ee1fb81376 Finished moving object crossings into EntityTransferModule 2010-01-16 08:42:20 -08:00
Diva Canto bd6d1a2444 Moved prim crossing to EntityTransferModule. Not complete yet. 2010-01-16 07:46:07 -08:00
Diva Canto 4ac3c0e81b Renamed IAgentTransferModule to IEntityTransferModule -- accounts for objects too. 2010-01-15 17:14:48 -08:00