Commit Graph

17513 Commits (a7e7bed66096a6ccd2bea8fd46ec2732e7420fd0)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 979b17165b 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-19 22:45:50 +01:00
Justin Clark-Casey (justincc) b6f10780c2 minor: Make SP.MakeRootAgent() private - no external code has any business calling this method 2013-09-19 21:44:30 +01:00
Justin Clark-Casey (justincc) 03b2b5b77b 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-19 20:59:27 +01:00
Justin Clark-Casey (justincc) 6bdef1f70b minor: Stop debug logging whenever an npc is moved, other npc log related formatting cleanups 2013-09-19 20:49:55 +01:00
Justin Clark-Casey (justincc) 3a9a8d2113 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-19 20:26:26 +01:00
Justin Clark-Casey (justincc) 83c113896e 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-19 20:26:08 +01:00
Justin Clark-Casey (justincc) 8999f06025 minor: correct method name in comment 2013-09-18 23:13:31 +01:00
Justin Clark-Casey (justincc) ddcbd4bb7d refactor: rename *ChildAgentDataUpdate() methods to *UpdateChildAgent()
verb-noun is consistent with other similar methods
2013-09-18 23:09:38 +01:00
Justin Clark-Casey (justincc) 3ce46adb2a 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-18 22:56:00 +01:00
Justin Clark-Casey (justincc) f4d82a56f4 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-18 22:09:46 +01:00
Justin Clark-Casey (justincc) 7dbc93c62a 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-18 21:41:51 +01:00
Justin Clark-Casey (justincc) 1d2466889a 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-17 01:20:55 +01:00
Justin Clark-Casey (justincc) 845d2b193a Comment out warning about no grid user found in UMM.TryGetUserNamesFromServices() for now 2013-09-17 00:54:53 +01:00
Justin Clark-Casey (justincc) 69ec85f491 Fix issue in recent 3f0fa9f7 where the code start adding unknown user cache entries with no name 2013-09-17 00:02:36 +01:00
Justin Clark-Casey (justincc) 2603a2891b Reinsert comments about possible race conditions when sending bulk inventory updates on non-flag clothing editing 2013-09-16 23:26:13 +01:00
Justin Clark-Casey (justincc) f99dae03cb 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-16 23:00:40 +01:00
Justin Clark-Casey (justincc) 60cf42cb8d 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-16 22:56:08 +01:00
Justin Clark-Casey (justincc) 3f0fa9f707 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-16 19:45:42 +01:00
Talun 07d6a0385f 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-12 23:23:52 +01:00
BlueWall 3c85afbb43 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-12 11:46:12 -04:00
Robert Adams dacc20ee48 BulletSim: remove collision cache clearing logic for physical objects.
This fixes constraints from getting messed up when properties change.
2013-09-11 16:50:27 -07:00
Mic Bowman b29e9d37e7 Change handling of the FetchInventoryDescendents2 capability configuration to allow
for external handlers.
2013-09-11 12:15:16 -07:00
Robert Adams 6e39cc316f 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-11 09:12:24 -07:00
Robert Adams c5eabb28b4 BulletSim: add LSL function and plumbing for setting a spring
equilibrium point in the physics engine constraint.
2013-09-11 09:12:19 -07:00
Robert Adams 5827b6e1aa BulletSim: add extended physics LSL constants for axis specification.
Add specific error warnings for mis-matched parameter types in extended
   physics functions.
2013-09-11 09:12:18 -07:00
Robert Adams cf2cdc191d BulletSim: ability to specify groups of axis to modify in constraint parameters that control multiple axis. Add useLinearReferenceFrameA constraint parameter. 2013-09-11 09:12:16 -07:00
Robert Adams 7c54630a2d 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-11 09:12:14 -07:00
Robert Adams 30b3657a66 BulletSim: implementation of setting spring specific physical parameters. Add setting of linkset type to physChangeLinkParams. Lots of detail logging for setting of linkset constraint parameters. 2013-09-11 09:12:12 -07:00
Robert Adams 67195618d5 BulletSim: add requestor's ID to post taint detail log message. 2013-09-11 09:12:10 -07:00
Robert Adams 3dbf4a1002 BulletSim: remove chatty debug message from previous commit. 2013-09-11 09:12:09 -07:00
Robert Adams e0b457d3c3 BulletSim: add position and rotation update for child prim physics update events. Normally, physics engines do not return updates for child prims so, under normal operation, this code should never execute. Will only be used when using flexible linkset linkages. 2013-09-11 09:12:07 -07:00
Robert Adams d09c35f506 BulletSim: pass both root and child BSPhysObjects to Extension function. Update routines to use the new parameters list from above change. 2013-09-11 09:12:05 -07:00
Robert Adams 995314f91f BulletSim: add ID parameter to TaintedObject calls so logging will include LocalID of object which created the taint. 2013-09-11 09:12:03 -07:00
Robert Adams 4781297b4e BulletSim: Extension parameters passed through the classes made to pass just and array of objects rather than a mixture of parameters and array. Makes understanding and parsing what is being passed much easier. 2013-09-11 09:12:02 -07:00
Robert Adams 6d83f3f021 BulletSim: adjust avatar capsule height calculation to be closer to defined SL heights. Correct BSParam avatar height defaults to be what's in OpenSimDefaults.ini. 2013-09-11 09:12:00 -07:00
Robert Adams e1120cb74d BulletSim: add extended physics function physGetLinkType(linkNum). Add implementation of physChangeLinkParams() in BSLinksetConstraint. 2013-09-11 09:11:58 -07:00
Robert Adams f6fdfd16f5 BulletSim: change ExtendedPhysics constants to 'const' so they can be used as case variables in switch statements. 2013-09-11 09:11:54 -07:00
Robert Adams 455d36c4c7 BulletSim: add physChangeLinkParams to set individual parameters on link constraints. Not fully functional. Remove double definition of ExtendedPhysics parameters by having BulletSim reference the optional module (addition to prebuild.xml and usings). 2013-09-11 09:11:52 -07:00
Robert Adams b2a1348adc BulletSim: update C++ HACD parameters to values that handle enclosed hollow spaces better. This shouldn't affect many since this HACD routine is off by default. 2013-09-11 09:11:50 -07:00
Robert Adams 6aee08ac3c BulletSim: add physChangeLinkSpring to change linkset link to be a spring constraint. Add implementation to create spring constraint. Send up property updates for linkset children at the end of flexible linkset links. The simulator probably doesn't do the right thing yet. 2013-09-11 09:11:48 -07:00
Robert Adams dff0fb5690 BulletSim: Linkset.Refresh() calls internal ScheduleRebuild() to recreate the linkset physics at next PostTaint time. Replace the existing calls to ScheduleRebuild to be calls to Refresh(). This allows external routines to make changes to parameters and then cause the linkset to rebuild. 2013-09-11 09:11:46 -07:00
Robert Adams f3cc20050e BulletSim: initial implementation of physChangeLinkFixed that resets a linkset's link back to a fixed, non-moving connection. 2013-09-11 09:11:45 -07:00
Robert Adams c6a6631efc BulletSim: move linkset extension operations into BSPrimLinkable where they should be. 2013-09-11 09:11:43 -07:00
Robert Adams 993bcec088 BulletSim: add unmanaged and XNA functions for hinge, slider and spring constraints. 2013-09-11 09:11:41 -07:00
Robert Adams 0971c7ae77 BulletSim: complete linkage of spring constraint into linkset constraint. 2013-09-11 09:11:39 -07:00
Robert Adams 9a7d0e489c BulletSim: add spring constraint to linkset constraint types. 2013-09-11 09:11:37 -07:00
Robert Adams 48ee73bfa7 BulletSim: add API and calls for spring constraint parameters. 2013-09-11 09:11:36 -07:00
Robert Adams 725751fd6c BulletSim: fixes for change linkset implementation of physical linksets. 2013-09-11 09:11:34 -07:00
Robert Adams b05cb3b2bf Change collision logic in SceneObjectPart so land_collision will happen.
The previous logic would generate land_collision_start and land_collision_end
but would not generate the land_collision itself.
2013-09-09 14:50:33 -07:00
BlueWall a97f6f8668 Fix configuration/ini expansion issue. Thanks to smxy for testing. 2013-09-07 13:11:31 -04:00
Diva Canto 04619a9b13 Restore group membership check for HG users in QueryAccess. 2013-09-05 07:44:27 -07:00
Justin Clark-Casey (justincc) dc74a50225 Stop "show client stats" from throwing an exception if somehow Scene.m_clientManager still retains a reference to a dead client.
Instead, "show client stats" now prints "Off!" so that exception is not thrown and we know which entries in ClientManager are in this state.
There's a race condition which could trigger this, but the window is extremely short and exceptions would not be thrown consistently (which is the behaviour observed).
It should otherwise be impossible for this condition to occur, so there may be a weakness in client manager IClientAPI removal.
2013-09-04 23:48:24 +01:00
Justin Clark-Casey (justincc) c7ded0618c Also check user authorization if looking to upgrade from a child to a root agent.
Relevant if a child agent has been allowed into the region which should not be upgraded to a root agent.
2013-09-04 00:44:17 +01:00
Justin Clark-Casey (justincc) 5f0d54c209 For a Hypergrid user, delay estate access checks until NewUserConnection() so that they work.
This is necessary because the hypergrid groups checks (as referenced by estates) require an agent circuit to be present to construct the hypergrid ID.
However, this is not around until Scene.NewUserConnection(), as called by CreateAgent() in EntityTransferModule.
Therefore, if we're dealing with a hypergrid user, delay the check until NewUserConnection()/CreateAgent()
The entity transfer impact should be minimal since CreateAgent() is the next significant call after NewUserConnection()
However, to preserve the accuracy of query access we will only relax the check for HG users.
2013-09-04 00:42:23 +01:00
Justin Clark-Casey (justincc) b781a23c44 In pCampbot PhysicsBehaviour.Close(), only cancel jumping if bot is connected 2013-09-03 19:58:27 +01:00
Justin Clark-Casey (justincc) 9c3c9b7f5f Make pCampbot "add behaviour" and "remove behaviour" console commands work for all bots if no bot number is given 2013-09-03 19:57:34 +01:00
Justin Clark-Casey (justincc) 76bd2e2d72 Consistently give responsibility for thread sleeping to behaviours rather than controlling from the main action loop
This is to avoid excessive and inconsistent delays between behaviours that currently need to embed sleeps in other actions (e.g. physics) and other behaviours.
Might need a more sophisticated approach in the long term.
2013-09-03 19:41:12 +01:00
Justin Clark-Casey (justincc) 3dbe7313d1 Add Close() method to IBehaviour to allow behaviours to cleanup when removed or bot it disconnected.
In this case, it is used to turn off jump when physics testing behaviour is removed.
2013-09-03 19:33:17 +01:00
Justin Clark-Casey (justincc) 1a2627031d Add pCampbot "remove behaviour" console command for removing bot behaviours during operation.
Doesn't currently work very well as stopping physics, for instance, can leave bot travelling in old direction
2013-09-03 19:05:54 +01:00
Justin Clark-Casey (justincc) 9bd6271570 Add ability to adjust pCampbot bot behaviours whilst running with "add behaviour <behaviour-name> <bot-number>" console commad 2013-09-03 18:51:55 +01:00
Justin Clark-Casey (justincc) 01cb8033a4 And fix break in "show bot" from commit 9c65207 2013-09-03 17:55:20 +01:00
Justin Clark-Casey (justincc) a89c56dcf1 Fix build break from last commit 9c65207. Mono 2.4 lacks string.join(string, List<string>), or some auto casting is missing 2013-09-03 17:53:29 +01:00
Justin Clark-Casey (justincc) 9c65207936 Show behaviours of pCampbot bots in "show bots" and "show bot" console commands 2013-09-03 17:07:57 +01:00
Justin Clark-Casey (justincc) 431156f6c4 minor simplification of some unix date functions in Util. No functional change. 2013-09-03 00:17:50 +01:00
Justin Clark-Casey (justincc) 5f15ee95dc Fix logic errors in "show grid users online" console command which didn't actually filter out users shown continuously online for more than 5 days
Remove confusion in command output.
2013-09-03 00:16:43 +01:00
Justin Clark-Casey (justincc) fc9f50d940 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-09-03 00:06:50 +01:00
Justin Clark-Casey (justincc) 4035badd20 Add experimental "show grid users online" console command to show grid users online from a standalone/robust instance.
This is not guaranteed to be accurate since users may be left "online" in certain situations.
For example, if a simulator crashes and they never login/logout again.
To counter this somewhat, only users continuously online for less than 5 days are shown.
2013-09-03 00:04:12 +01:00
BlueWall 9643915093 Remove test that gives issue on Windows, just let the try/catch do the work. 2013-09-02 16:28:40 -04:00
Justin Clark-Casey (justincc) 857f24a5e2 Fix bug where users teleporting to non-neighbour regions could continue to hear chat from their source region for some time after teleport completion.
This occurs on v2 teleport since the source region now waits 15 secs before closing the old child agent, which could still receive chat.
This commit introduces a ScenePresenceState.PreClose which is set before the wait, so that ChatModule can check for ScenePresenceState.Running.
This was theoretically also an issue on v1 teleport but since the pause before close was only 2 secs there, it was not noticed.
2013-09-02 19:15:10 +01:00
Justin Clark-Casey (justincc) 5ce5ce6edb Comment out warning about agent updating without valid session ID for now.
This causes extreme console spam if a simulator running latest master and one running 0.7.5 have adjacent regions occupied by avatars.
2013-09-02 17:45:38 +01:00
Justin Clark-Casey (justincc) 4cbadc3c49 Allow one to specify a DefaultHGRegion flag in [GridService] in order to allow different default regions for HG and direct grid logins.
This requires a new GridService.GetDefaultHypergridRegions() so ROBUST services require updating but not simulators.
This method still returns regions flagged with just DefaultRegion after any DefaultHGRegions, so if no DefaultHGRegions are specified
then existing configured defaults will still work.
Immediate use is for conference where we need to be able to specify different defaults
However, this is also generally useful to send experienced HG users to one default location and local users whose specified region fails (e.g. no "home" or "last") to another.
2013-09-02 17:27:45 +01:00
BlueWall 56f565b601 Profiles: Clean up some log entries caused when visiting HG avatar is using legacy profiles 2013-08-29 16:54:13 -04:00
BlueWall a8c0e16e47 Initialization: move key expansion out to operate on all sources and not just environment variables 2013-08-29 14:35:56 -04:00
Robert Adams aa521fb385 Do not add a port zero to end of the hypergrid gateway host name.
If the port is specified it is added but a ":0" is not added if the port is zero.
This enables the hypergrid address short form "hypergridGateway:regionName"
which is handled by the parser but failed because of this zero port addition.
2013-08-28 16:38:07 -07:00
Robert Adams 0882cf0fc3 BulletSim: add some protections for processing when shutting down.
Attempt to fix Mantis 6740 (http://opensimulator.org/mantis/view.php?id=6740).
2013-08-27 09:55:50 -07:00
Justin Clark-Casey (justincc) 0dd9a68eb7 Revert "Make HG logins fall back to fallback regions if the desired region fails."
This is very similar to my earlier revert in bcb8605f84 and fails for the same reasons.
Reverting this change because it causes a problem if access is denied to the user.
This reverts commit c7a8afbb8d.
2013-08-26 21:07:49 +01:00
Justin Clark-Casey (justincc) 1b2830b929 Revert "Added some more debug messages."
Fallback doesn't work at this level as the change of destination isn't communicated to the source region/viewer
Reverting because this introduces a bug when access does fail.
More detail in revert of main commit.

This reverts commit ec32c1d4b6.
2013-08-26 21:05:55 +01:00
Justin Clark-Casey (justincc) 60e4ce20b8 Fix exception thrown after a region has been restarted through scheduling.
This exception was very likely harmless since it occurred after the restart had taken place, but still misleading.
Thanks to SCGreyWolf for the code change suggestion in http://opensimulator.org/mantis/view.php?id=6747, though I did this in a slightly different way.
2013-08-25 20:17:04 +01:00
Justin Clark-Casey (justincc) 85824d2cd9 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-25 20:12:59 +01:00
Diva Canto ec32c1d4b6 Added some more debug messages. 2013-08-24 09:59:05 -07:00
Diva Canto f0c0376660 Potential fix for access control bug on login introduced with SeeIntoRegion commit. 2013-08-24 08:42:41 -07:00
Diva Canto 5cd7bc2848 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-24 03:42:39 -07:00
Diva Canto c7a8afbb8d Make HG logins fall back to fallback regions if the desired region fails. 2013-08-24 03:41:56 -07:00
Robert Adams c34e6f25b1 Fix a printing of exception error in InventoryArchiveModule that only
printed the error message and not the call stack.
2013-08-23 13:53:47 -07:00
Justin Clark-Casey (justincc) 1a623bb266 Rename pCampbot.ini -> pCampBot.ini (and example file) to be consistent with other capitalizations of pCampBot 2013-08-23 20:58:46 +01:00
Justin Clark-Casey (justincc) 0fbfef9649 minor: shortern warning messages in EntityTransferModule when UpdateAgent() fails 2013-08-23 01:21:03 +01:00
Justin Clark-Casey (justincc) 050617ae0e Make pCampbot "show bot" command take the bot number instead of the full bot name
Shorter and can do this because bot names are uniform
2013-08-23 01:13:19 +01:00
Justin Clark-Casey (justincc) 04f4dd3dc7 remove redundant return at end of HandleDeregisterRegion() 2013-08-23 01:04:03 +01:00
Justin Clark-Casey (justincc) 2be786709b Make it possible for the "deregister region id" command to accept more than one id 2013-08-23 01:03:27 +01:00
Justin Clark-Casey (justincc) 61c20bd06a Remove old and unused ScenePresence.RestoreInCurrentScene() 2013-08-23 00:53:42 +01:00
Justin Clark-Casey (justincc) 065c5839b5 Refactor: merge SceneGraph.AddScenePresence() into CreateAndAddChildScenePresence() since the former was only ever called from the latter
This allows us to remove dead code relating to adding root agents directly to the scenegraph, which never happens.
2013-08-23 00:49:13 +01:00
Justin Clark-Casey (justincc) a9f9b0da9d minor: Correct typo on "debug stats record start" message 2013-08-23 00:13:31 +01:00
Justin Clark-Casey (justincc) a0c99a7dcc minor: remove mono compiler warning from LLClientView 2013-08-23 00:03:47 +01:00
Justin Clark-Casey (justincc) 13556cf129 Fix a further bug in pCampbot connect where ignoring already connected bots was wrongly counted as a connect
Also, only sleep when we actually perform a connection
2013-08-22 23:49:19 +01:00
Justin Clark-Casey (justincc) 70f89ae65b Make it possible to adjust the pCampbot login delay via the [BotManager] LoginDelay parameter of pCampbot.ini 2013-08-22 23:43:33 +01:00
Justin Clark-Casey (justincc) 51c7fb1969 Add "set bots" command to make it possible to set SEND_AGENT_UPDATES on all bots whilst pCampbot is running 2013-08-22 23:11:05 +01:00
Justin Clark-Casey (justincc) beb9d966f9 Stop "handle sit user name" command from trying to sit avatars on objects which have sit positions but are attachments 2013-08-22 22:49:23 +01:00
Justin Clark-Casey (justincc) 416bbe9583 Stop error messages being misleadingly generated when on client connection activity timeout, a root connection triggers a CloseAgent to a neighbour region which has already closed the agent due to inactivity.
Also separates out log messages to distinguish between close not finding an agent and wrong auth token, and downgrades former to debug and latter to warn
2013-08-22 22:46:40 +01:00
Justin Clark-Casey (justincc) 66a7dc3a0d In pCampbot, don't try and reconnect bots that are already connected on console "connect" command 2013-08-22 20:12:14 +01:00
Justin Clark-Casey (justincc) 832c35d4d5 Stop "sit user name" and "stand user name" console commands from trying to sit/stand avatars already sitting/standing 2013-08-22 20:05:57 +01:00