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