Commit Graph

21315 Commits (72be9eaa8b3e2a7be5f57d93688a7d31fc46eb7d)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 72be9eaa8b If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region. 2014-09-04 18:50:02 +01:00
Justin Clark-Casey (justincc) ad1b5959d3 On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-09-04 18:49:59 +01:00
Justin Clark-Casey (justincc) 4ec5349192 Make RootTerseUpdatePeriod and ChildTerseUpdatePeriod configurable in [InterestManagement] in OpenSim.ini for experimental purposes.
If n > 1 for RootTerseUpdatePeriod only every n terse update is actually sent to observers on same region, unless velocity is effectively zero (to stop av drift).
If n > 1 for ChildTerseUpdatePeriod only every n terse update is sent to observers in other regions, unless velocity is effectively zero.
Defaults are same as before (all packets are sent).
Tradeoff is reduction of UDP traffic vs fidelity of observed av mvmt.
Increasing n > 1 leads to jerky observed mvmt immediateley for root, though not on child, where experimentally have gone to n = 4 before jerkiness is noticeable.
2014-09-04 18:49:44 +01:00
Justin Clark-Casey (justincc) 045e644824 Make some existing reprioritization values changeable outside the scene for test purposes, and use more consise property syntax.
No functional change.
2014-09-04 18:49:30 +01:00
Justin Clark-Casey (justincc) bd54798923 On entity transfer of scene presence, replace polling sleep in SP.WaitForUpdateAgent() with a triggered event instead.
Rapid polls are more expensive than triggered events (several polls vs one trigger) and may be problematic on heavily loaded simulators where many threads are vying for processor time.
A triggered event is also slightly quicker as there is no maximum 200ms wait between polls.
2014-09-04 18:49:23 +01:00
Justin Clark-Casey (justincc) 5360cd4247 Remove redundant origin region lock in SP.CompleteMovement()
This is already going to be correctly set by WaitForUpdateAgent() earlier on in that method, which is always called where a callback to the originating region is required.
2014-09-04 18:49:18 +01:00
Justin Clark-Casey (justincc) d66e264e50 Only set up the UnackedMethod for an outgoing message if that message is actually meant to get an ack (because it's reliable). 2014-09-04 18:49:13 +01:00
Justin Clark-Casey (justincc) 238c51329e Terminate 'nothing' behaviour (and potentially others) by signalling using an event rather than polling connection state every 100ms
This kind of polling is very expensive with many bots/polling threads and appears to be the primary cause of bot falloff from the client end at higher loads.
Where inbound packet threads can't run in time due to contention and simulator disconnect timeout occurs.
2014-09-04 18:49:06 +01:00
Justin Clark-Casey (justincc) 605da59ed3 Change RootRotationUpdateTolerance from 0.01 to 0.1 in code as well. 2014-09-04 18:48:37 +01:00
Justin Clark-Casey (justincc) 70ca01283e Reduce default rotation AgentUpdate output sensitivity to a setting that cuts down UDP traffic without obvious adverse effects on observed avatar rotations.
Experimentally, on the Linden Lab grid the avatar can rotate slightly before triggering AvatarUpdates, whereas this is practically impossible in OpenSimulator.
These updates allow other avatars to see rotations, though sensitivity is low since other avatars can only be seen in one of 8 body rotations.
This commit changes sensitivity from 0.01 to 0.1, which better matches LL and reduces UDP traffic which has a beneficial impact on network and CPU load.
This has no impact on rotations in the simulator itself so simulation fidelity is the same as before.
To change this setting back for test/other purposes, edit RootRotationUpdateTolerance in the [InterestManagement] section of OpenSim.ini
2014-09-04 18:48:29 +01:00
Justin Clark-Casey (justincc) ba5f6fdfad Add RootPositionUpdateTolerance, RootRotationUpdateTolerance, and RootVelocityUpdateTolerance parameters to [InterestManagement] in OpenSimDefaults.ini
These govern when AgentUpdates are sent to observers on position, rotation and velocity changes to an avatar (including the avatar themselves).
Higher values reduce AgentUpdate traffic but at a certain level will degrade smoothness of avatar and perceived avatar movement.
2014-09-04 18:48:02 +01:00
Justin Clark-Casey (justincc) 59a79f52b3 refactor: Rename recent new Client*UpdateTolerance to Root*UpdateTolerance for better accuracy and consistency with other similar parameters 2014-09-04 18:47:58 +01:00
Justin Clark-Casey (justincc) 4443e05d5d Go back to disconnecting bots in parallel since serially is too slow.
However, disconnecting now halts any current connection, with the possible exception of the single currently connecting bot.
2014-09-04 18:47:48 +01:00
Justin Clark-Casey (justincc) 04cb9bc4bf Put pCampbot "disconnect" command on separate thread like "connect" so that we can continue to run status commands whilst bots are disconnecting. 2014-09-04 18:47:41 +01:00
Justin Clark-Casey (justincc) 9fe282f902 Allow "show bots" pCampbot console command to quickly report status by not locking entire bot list for almost 100% of connection time. 2014-09-04 18:47:36 +01:00
Robert Adams 588a3b91c5 BulletSim: thread safe handling of list of avatars.
Fix for 7284 which is an enumeration exception when starting up a region.
2014-09-04 18:46:29 +01:00
Justin Clark-Casey (justincc) d19126207e Implement "scene debug set root-upd-per" for dropping 1 in N root agent updates except to originator
For experimental purposes.
Also corrects a previous bug where each terse update sent was counted rather than each set of terse updates to agents.
2014-09-04 18:45:55 +01:00
Justin Clark-Casey (justincc) 6757633f12 Add debug mechanism for only sending 1 in N AgentUpdate packets to child agents.
Allows experiments in manually reducing updates under heavy load.
Activated by "debug scene set client-upd-per" console command.
In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
2014-09-04 18:45:50 +01:00
Justin Clark-Casey (justincc) 71d425c07c Add "debug scene set appear-refresh true|false" to control whether periodic appearance refresh is active.
Corresponds to ResendAppearnceUpdates setting in [Appearance] in OpenSim.ini
This was originally implemented to alleviate cloud appearance problems but could be too expensive with large numbers of avatars.
2014-09-04 18:45:40 +01:00
Justin Clark-Casey (justincc) cc149a95e7 Make it possible to change avatar position update, rotation and velocity tolerances on the fly.
This is done via "debug scene set client-pos-upd, client-rot-upd, client-vel-upd".
For testing purposes.
2014-09-04 18:45:34 +01:00
Justin Clark-Casey (justincc) 01bd3a8632 Allow the "debug scene set physics false|true" command to work when bulletsim physics is running in a separate thread.
This will also allow the "disable physics" setting in the region debug viewer dialog to work in this circumstance.
2014-09-04 18:45:29 +01:00
Justin Clark-Casey (justincc) 8938bc6905 minor: make "debug scene set" usage command accurate again from last commit f6f7585 2014-09-04 18:45:24 +01:00
Justin Clark-Casey (justincc) 1b037c8e8e Add a "debug scene set child-repri <double>" command that allows child reprioritization distance to be changed on the fly.
This governs when child agent position changes are sent to neighbouring regions.
Corresponding config parameter is ChildReprioritizationDistance in [InterestManagement] in OpenSim.ini
For test purposes.
2014-09-04 18:45:15 +01:00
AliciaRaven 058861ec70 Include option to remove auto backup files older than given number of days. New property created to specify how many days to keep files for. Off by default, also made sure only oar files will be removed. 2014-09-04 18:38:41 +01:00
Justin Clark-Casey 4a90dd3556 Change 0.8-post-fixes branch back to Post_Fixes flavour 2014-08-23 00:02:12 +01:00
Justin Clark-Casey f6d02a63eb Change 0.8 post fixes branch to version 0.8.0.1 with release flavour. 2014-08-22 20:19:16 +01:00
Oren Hurvitz 422f718949 Fixed crash when using Allowed/Denied Viewers, and the viewer's name is shorter than one of the test strings
This fixes http://opensimulator.org/mantis/view.php?id=7294
2014-08-22 19:20:19 +01:00
Oren Hurvitz 3176237169 Fixed premature closing of the connection in DataSnapshotManager 2014-08-08 20:46:59 +01:00
Justin Clark-Casey (justincc) a4595b18ca Make currently unfiltered EventQueue log messages only appear now at DebugLevel 1
This covers event queue setup messages and some outgoing messages (e.g. EnableSimulator)
In my experience these messages are only useful if you really know what they mean and you're looking for them
Otherwise, they're quite spammy.
Event queue DebugLevel 1 is enabled with the "debug eq 1" console command
2014-08-05 00:51:17 +01:00
Justin Clark-Casey 4640281e57 Add conflict resolution that should have been done in conflict resolution of 4e3a2d3a64 2014-08-02 01:04:58 +01:00
Justin Clark-Casey (justincc) 319bbce517 If REMOVEAGENTFROMGROUP core groups call fails because requesting agent does not have sufficient permission, return null failure result rather than true.
On non-HG this is on the only recognized failure state so we can return more information in the error result.
On HG there are multiple failure states which would require more work to distinguish, so currently return the unsatisfying "Internal Error" like some other existing calls.
2014-08-02 00:58:37 +01:00
Justin Clark-Casey (justincc) a48b3ef97a Don't overwrite the null result with the true result is groups service REMOVEAGENTFROMGROUP call has failed because of missing parameters 2014-08-02 00:58:33 +01:00
Justin Clark-Casey (justincc) 32a9fcd8b3 Fix bug where calling PUTGROUP on the core groups service without specifying a ServiceLocation would set the group name to an empty string.
This should set the ServiceLocation to an empty string instead.
2014-08-02 00:58:30 +01:00
Robert Adams eedefdc5ff BulletSim: rearrange code for sensing whether shapes have been
constructed.
Add routine to check for failed and use that method rather than
    checking individual state.
2014-08-02 00:58:27 +01:00
Justin Clark-Casey (justincc) 05dfc38f66 Add inventory.<url>.RequestsMade stat.
This gives a count of all requests made to the remote inventory service.
This is finer grained than inventory.httpfetch.ProcessedFetchInventoryRequests since such a request can be comprised of many individual inv service calls.
In addition, this will count requests that don't go through the HTTP inventory fetch (e.g. HG, archiving, etc.)

Conflicts:
	OpenSim/Services/Connectors/Inventory/XInventoryServicesConnector.cs
2014-08-02 00:58:23 +01:00
Justin Clark-Casey (justincc) 95f3a9452d Fix issue with TestTextureNotFound in previous commit 1e3027a
Stop failure by actually giving the test handler a path instead of null
2014-08-02 00:58:15 +01:00
Justin Clark-Casey (justincc) 3410b36d76 Temporary stop CAPS service points from being added to stats as this can be a huge number.
A stop gap solution - a better one may be to improve stats display on simulator-side.
Caps information is still accessible via the "show caps stats by user" and "show caps stats by cap" commands
2014-08-02 00:58:12 +01:00
Justin Clark-Casey (justincc) 2f7d950ead Add stats for service endpoints using existing data.
For each service endpoint (e.g. posts to the xinventory service), a stat is available which shows the number of requests received and moving average per second
The full name is "service.<http-method>:<path>.requests (e.g. service.POST:/xinventory.requests)
2014-08-02 00:58:09 +01:00
Michael Cerquoni 26916806db fix comments in physics section of [Startup] to reflect the actual default engine. 2014-08-02 00:58:06 +01:00
Justin Clark-Casey (justincc) bdfbe4d0e2 Add missing default female hair texture for Ruth avatar.
This was not in library assets despite being referred to in assets/BodyPartsAssetSet/base_hair.dat
Texture ID is 7ca39b4c-bd19-4699-aff7-f93fd03d3e7b
Taken from https://github.com/openmetaversefoundation/simiangrid/blob/master/Grid/default_assets/Default%20Female%20Hair-7ca39b4c-bd19-4699-aff7-f93fd03d3e7b.j2c
2014-08-02 00:58:02 +01:00
Justin Clark-Casey (justincc) dfaabf4d0d Fix recent regression in 3c6becd5 where login or hg login to variable sized regions failed with outdated simulator message.
I forgot that a null 'their version' would not be passed over the wire and ends up as an empty string instead (like older simulators).
So instead pass through the correct simulator protcol version instead (SIMULATOR/0.3) when querying from login or hg login.
Also removes a debug console write for agent limit accidentally left in for the same commit.
Relates to mantis 7276
2014-08-02 00:57:59 +01:00
Justin Clark-Casey (justincc) fdb0c7389e minor: convert tabs to spaces that got in on recent commit 4a9282e 2014-08-02 00:57:49 +01:00
Justin Clark-Casey (justincc) 92e2478059 On login and first HG entrance to a foreign grid, perform query access checks before proceeding. 2014-08-02 00:57:43 +01:00
Justin Clark-Casey (justincc) b6e32c000b minor: Limit processor related stats to 3 decimal places instead of all the places.
Easier to read and analyze, and probably still too much detail (1 dp would probably be fine)
2014-08-02 00:57:36 +01:00
Justin Clark-Casey (justincc) ed4a4d6bbd Fix CPU processor use reporting on Mono.
Despite the comments in the code, it appears that the issue where the .NET performance counter was wrongly idle time time on Mono was fixed in 2009.
https://bugzilla.novell.com/show_bug.cgi?id=468625
Which means that the workaround is no longer necessary and produces bad results instead.
2014-08-02 00:57:33 +01:00
BlueWall 7e0d0282c4 Add missing parts to profiles - classified delete 2014-08-02 00:57:29 +01:00
Oren Hurvitz 8de1be746f Fixed: after a Hypergrid teleport, attachments often either disappear, or appear both on the avatar AND as in-world objects.
Another manifestation of this bug is that after a Hypergrid teleport, when you click on one of the avatar's attachments the object doesn't show its name. This means that the viewer knows the attachment is there, but the simulator does not.

The problem was caused by treating Hypergrid teleports as if they're Logins (because the teleport flag ViaLogin is enabled).

This may fix: http://opensimulator.org/mantis/view.php?id=7238
This may fix: http://opensimulator.org/mantis/view.php?id=7220
2014-08-02 00:57:24 +01:00
Oren Hurvitz e7bd4a11aa Don't append attachments multiple times 2014-08-02 00:57:20 +01:00
Oren Hurvitz f1536de438 Allow reading the BulletSim detail log while the sim is running 2014-08-02 00:57:17 +01:00
Oren Hurvitz 4514799c8d Changed the default XBakes directory to a local path: "./bakes".
Previously it was an absolute path. Now it's a sibling of the maptiles directory.

This fixes http://opensimulator.org/mantis/view.php?id=7063
2014-08-02 00:57:11 +01:00