Commit Graph

20289 Commits (643bc47451b55ed81178bd80edce6797febc5966)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 643bc47451 minor: log MaxOutgoingTransferVersion at EntityTransferModule startup 2013-09-26 20:11:17 +01:00
Justin Clark-Casey (justincc) 7d6072b825 minor: correct spelling of Initialized in LSC connector version message 2013-09-26 20:11:12 +01:00
Justin Clark-Casey (justincc) 6013c15b6e Move adding UUID.Zero -> Unknown User binding to UMM.Init() so that it's also called by HGUserManagementModule 2013-09-26 20:11:09 +01:00
Justin Clark-Casey (justincc) 0114c8bd15 Reinsert client.SceneAgent checks into LLUDPServer.HandleCompleteMovementIntoRegion() to fix race condition regression in commit 7dbc93c (Wed Sep 18 21:41:51 2013 +0100)
This check is necessary to close a race condition where the CompleteAgentMovement processing could proceed when the UseCircuitCode thread had added the client to the client manager but before the ScenePresence had registered to process the CompleteAgentMovement message.
This is most probably why the message appeared to get lost on a proportion of entity transfers.
A better long term solution may be to set the IClientAPI.SceneAgent property before the client is added to the manager.
2013-09-26 20:11:05 +01:00
Justin Clark-Casey (justincc) 7eb5680c38 Reinsert 200ms sleep accidentally removed in commit 7dbc93c (Wed Sep 18 21:41:51 2013 +0100) 2013-09-26 20:11:00 +01:00
Justin Clark-Casey (justincc) 516ab5d8c6 Instead of swallowing any socket begin/end receive exceptions, log them for debugging purposes.
This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
2013-09-26 20:10:56 +01:00
Justin Clark-Casey (justincc) 2b392a09b1 minor: Recomment out log message uncommented in previous cbdfe969 2013-09-26 20:09:48 +01:00
Oren Hurvitz 5be6954e5d When giving items between avatars in different simulators, only add the item to the receiving avatar's inventory once.
When a user gives an item, the user's client sends an InventoryOffered IM message to its simulator. This adds the item to the receiver's inventory. If the receiver isn't in the same simulator then XMLRPC is used to forward the IM to the correct simulator. The bug was that the receiving simulator handled the message by calling OnInstantMessage() again, which added a second copy of the item to the inventory. Instead, the receiving simulator should only notify the avatar that the item was offered.
2013-09-26 20:09:43 +01:00
Justin Clark-Casey (justincc) 7cb673e5dc minor: Add prefix to log message in LureModule 2013-09-26 20:09:38 +01:00
Justin Clark-Casey (justincc) e4dd069a95 minor: Correct minor spelling mistake Reseting -> Resetting in HG Map module log message 2013-09-26 20:09:34 +01:00
Justin Clark-Casey (justincc) afa9847288 Make UUID.Zero resolve to "Unknown User" in user cache.
This is to avoid massive numbers of 'no user found' logs when user IDs are missing for some reason.
UUID.Zero should not be used for any user ID.
2013-09-26 20:09:30 +01:00
Justin Clark-Casey (justincc) 111d1ba826 Lock around read/write of ScenePresence.m_originRegionID to make sure that all threads are seeing the latest value and not a cached one.
There is a possibilty that some V2 teleport failures are due to the viewer triggered CompleteMovement thread not seeing the change of m_originRegionID by the UpdateAgent thread.
2013-09-26 20:09:25 +01:00
Justin Clark-Casey (justincc) 914a92335a Change some message log levels in Scene.IncomingUpdateChildAgent() for debugging purposes 2013-09-26 20:09:21 +01:00
Robert Adams 2c856f2a60 BulletSim: reduce avatar walking stopped threshold.
Add parameter for setting the walking stopped threshold.

This fixes the slight jump when an avatar stops walking.
2013-09-26 20:09:16 +01:00
Robert Adams 3ba1d5259a BulletSim: zero velocity when avatar not moving.
This fixes a movement jitter that happens when an avatar is standing on a
tilted surface.
2013-09-26 20:09:12 +01:00
Justin Clark-Casey (justincc) 0bb8415a69 Make new regions PG by default instead of Mature.
This makes scripted object sounds and a few other things play by default instead of having to switch the viewer to adult
This reduces the support burden
2013-09-26 20:09:07 +01:00
Oren Hurvitz 24ab021ea1 UUID Gatherer: find assets used in Light Projection, Particle Systems, and Collision Sounds. 2013-09-26 20:09:03 +01:00
Justin Clark-Casey (justincc) 882ba74140 For debug purposes, allow simulators to force use of earlier SIMULATION/0.1 teleport protocol even if SIMULATION/0.2 is available.
This is specified in the MaxOutgoingTransferVersion attribute of [EntityTransfer] in OpenSim.ini, see OpenSimDefaults.ini for more details.
Default remains "SIMULATION/0.2"
Primarily for http://opensimulator.org/mantis/view.php?id=6755
2013-09-26 20:08:49 +01:00
Justin Clark-Casey (justincc) b675e41d01 minor: Make log message at top of ScenePresence.CompleteMovement info level and comment out later log message in ScenePresence.MakeRootAgent()
Need an info message since this is currently important in detecting teleport issue when not at debug log level.
CompleteMovement message occurs before MakeRootAgent() one did
2013-09-26 20:07:30 +01:00
Justin Clark-Casey (justincc) c01dea0f6a minor: Make SP.MakeRootAgent() private - no external code has any business calling this method 2013-09-26 20:07:15 +01:00
Justin Clark-Casey (justincc) ff08f56937 minor: Stop debug logging whenever an npc is moved, other npc log related formatting cleanups 2013-09-26 20:07:07 +01:00
Justin Clark-Casey (justincc) 5dabecf95d Revert "Also check user authorization if looking to upgrade from a child to a root agent."
This reverts commit c7ded0618c.
This proves not to be necessary - the necessary checks are already being done via QueryAccess() before cross or teleport
2013-09-26 20:07:02 +01:00
Justin Clark-Casey (justincc) 689f79fead Create regression TestCrossOnSameSimulatorNoRootDestPerm() to check that avatars are not allowed to cross into a neighbour where they are not authorized, even if a child agent was allowed. 2013-09-26 20:06:57 +01:00
Justin Clark-Casey (justincc) ac2b1497c0 minor: Make config-include .ini files more consistent
Chiefly tabs to spaces.
No actual setting changes
2013-09-26 20:06:51 +01:00
Justin Clark-Casey (justincc) de4d568923 Add [SimulationService] section to GridHypergrid.ini and StandaloneHypergrid.ini
This was already in Grid.ini and Standalone.ini
Default settings are same as previously, just introduce a debug ConnectorProtocolVersion parameter
2013-09-26 20:06:47 +01:00
Justin Clark-Casey (justincc) 12a191409e minor: correct method name in comment 2013-09-26 20:06:42 +01:00
Justin Clark-Casey (justincc) d1d4dd547a refactor: rename *ChildAgentDataUpdate() methods to *UpdateChildAgent()
verb-noun is consistent with other similar methods
2013-09-26 20:06:38 +01:00
Justin Clark-Casey (justincc) 1a55309ea7 minor: Make log message when Scene.IncomingChildAgentDateUpdate() more explicit that there is a problem if it still finds the agent to be a child if the sender wanted to wait till it became root
Add some comments about the mssage sequence, though much more data is at
http://opensimulator.org/wiki/Teleports
2013-09-26 20:06:32 +01:00
Justin Clark-Casey (justincc) ee58e3a5a1 Double the time spent waiting for a UseCircuitCode packet in LLUDPServer.HandleCompleteMovementIntoRegion()
This is to deal with one aspect of http://opensimulator.org/mantis/view.php?id=6755
With the V2 teleport arrangements, viewers appear to send the single UseCircuitCode and CompleteAgentMovement packets immediately after each other
Possibly, on occasion a poor network might drop the initial UseCircuitCode packet and by the time it retries, the CompleteAgementMovement has timed out and the teleport fails.
There's no apparant harm in doubling the wait time (most times only one wait will be performed) so trying this.
2013-09-26 20:06:28 +01:00
Justin Clark-Casey (justincc) 6c2462e410 Change logging to provide more information on LLUDPServer.HandleCompleteMovementIntoRegion()
Add more information on which endpoint sent the packet when we have to wait and if we end up dropping the packet
Only check if the client is active - other checks are redundant since they can only failed if IsActve = false
2013-09-26 20:06:22 +01:00
Justin Clark-Casey (justincc) b1d43d46bf Reinstate insertion of "Unknown UserUMMAU4" now, as naive removing may be generating too many repeating user requests from other sources.
Leaves in the dropping of the client GUN8 (now 9) uuid binding message, since this was the much more common case from the viewer-side and this can only affect viewers.
2013-09-20 21:39:30 +01:00
Justin Clark-Casey (justincc) ccf52d3d9d Comment out warning about no grid user found in UMM.TryGetUserNamesFromServices() for now 2013-09-20 21:39:26 +01:00
Justin Clark-Casey (justincc) 7a14221754 Fix issue in recent 3f0fa9f7 where the code start adding unknown user cache entries with no name 2013-09-20 21:39:20 +01:00
Justin Clark-Casey (justincc) d5a3139b05 Reinsert comments about possible race conditions when sending bulk inventory updates on non-flag clothing editing 2013-09-20 21:39:17 +01:00
Justin Clark-Casey (justincc) 6f5fd067a5 Fix bug where using PRIM_LINK_TARGET with only two remaining list items (e.g. link number then PRIM_ROTATION) would not return the parameter
Extended regression test for this case
2013-09-20 21:39:10 +01:00
Justin Clark-Casey (justincc) 9fcf1de0fa Make llGetLinkPrimitiveParams() abort and return existing list of params when it encounters an invalid link number, rather than throwing an exception
Addresses http://opensimulator.org/mantis/view.php?id=6768
Thanks to talun for the patch on that commit - in the end I took a different approach that also deals with invalid PRIM_LINK_TARGET
However, not yet generating the same warning on invalid PRIM_LINK_TARGET as seen on LL grid
This commit also adds regression tests for some cases of llGetLinkPrimitiveParams()
2013-09-20 21:39:07 +01:00
Justin Clark-Casey (justincc) 86c39d618e To avoid viewers (particularly on the Hypergrid) from permanently caching a UUID -> "Unknown User" binding, drop the binding request rather than replying with "Unknown User"
By not binding UUID -> "Unknown User", we leave open the possibility that the binding may be correctly resolved at a later time, which can still happen in some Hypergrid situations.
Observed behaviour of LL viewer 3.3.4 is that a dropped bind request is not retried until the next session.
2013-09-20 21:39:01 +01:00
Justin Clark-Casey (justincc) 068f22a52c minor: replace spaces with tabs for see_into_region setting 2013-09-20 21:38:55 +01:00
Talun 726b7dce61 6762: llList2Key fails to convert a string in a list to a key
llGetPrimitiveParams changed to return the sculpty key as an LSL_String so
that type checking in llList2Key will work
2013-09-20 21:38:49 +01:00
Robert Adams d260e398f5 BulletSim: update DLLs and SOs to disable Bullet's internal profiling.
This was accidentily left on. This version should make performance better
and fix the memory leak.
2013-09-20 21:38:45 +01:00
BlueWall 560ea54c98 Allow setting the EntityTransfer-max_distance to 0 to override distance checks. This is to facilitate current viewer work fixing the distance limitations for teleporting. 2013-09-20 21:37:56 +01:00
Robert Adams 10152815ac BulletSim: remove collision cache clearing logic for physical objects.
This fixes constraints from getting messed up when properties change.
2013-09-20 21:04:18 +01:00
Mic Bowman 1217785155 Change handling of the FetchInventoryDescendents2 capability configuration to allow
for external handlers.
2013-09-20 21:04:10 +01:00
Robert Adams 712bee7206 BulletSim: update DLLs and SOs with ClearCollisionCache inteface calls
and constraint debugging messages.
2013-09-20 21:04:07 +01:00
Robert Adams 568ff6fddc BulletSim: add ClearCollisionProxyCache function to API.
Add proxy cache clearing when some properties are changed. This fixes
a problem where objects would stop colliding of they were moved
with setPosition mulitple times.
2013-09-20 21:04:03 +01:00
Robert Adams b6568c7e22 BulletSim: update DLLs and SOs for spring parameters and constraint
debugging dump code.
2013-09-20 21:03:54 +01:00
Robert Adams 4179d8f651 BulletSim: add LSL function and plumbing for setting a spring
equilibrium point in the physics engine constraint.
2013-09-20 21:03:50 +01:00
Robert Adams bde8ac6a5c BulletSim: add extended physics LSL constants for axis specification.
Add specific error warnings for mis-matched parameter types in extended
   physics functions.
2013-09-20 21:03:47 +01:00
Robert Adams 9d04c6a828 BulletSim: ability to specify groups of axis to modify in constraint parameters that control multiple axis. Add useLinearReferenceFrameA constraint parameter. 2013-09-20 21:03:42 +01:00
Robert Adams 7a9eb26b00 BulletSim: add axis parameter for specifying enable, damping, and stiffness for spring constraints. Renumber parameter ops since I can as no one is using them yet. 2013-09-20 21:03:34 +01:00