Commit Graph

1493 Commits (3ce909528dd42cd2c92d8ac6590135bb1962aee4)

Author SHA1 Message Date
UbitUmarov 3a0137cb45 fix odd drawdistance control initialization 2015-09-06 16:36:30 +01:00
Diva Canto d00f73c3a4 Deleted OpenSim.Framework.Communications. Moved its two remaining files to OpenSim.Framework. 2015-09-04 14:39:23 -07:00
UbitUmarov 08f9c54554 use GetTimeStampMS to increase heartbeat and stats timing resolution. some rearrange on stat code ( MOSES special ones still out ) 2015-09-04 12:05:31 +01:00
UbitUmarov a11edceb00 seems to compile ( tests comented out) 2015-09-02 19:54:53 +01:00
UbitUmarov 371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
Diva Canto 11194209df First commit where physics work as region module.
Moved all physics dlls out of Physics and into bin directly, so they can be found by the module loader.
Removed call to PhysicsPluginManager.
2015-08-31 14:09:15 -07:00
UbitUmarov 4905c74ddf start sending terrain patchs in completmovement where we know its
position. Also reset camera to position on makeroot
2015-08-31 14:08:32 +01:00
Diva Canto ce2c67876e More namespace and dll name changes. Still no functional changes. 2015-08-30 21:05:36 -07:00
Diva Canto 2c0cad6dd3 Renamed the namespaces too 2015-08-30 20:29:31 -07:00
Diva Canto 5648eb7bd1 Moved instantiation of SceneCommunicationService object to inside the scene constructor. This was a left over from the original monolithic design of scene communications. The less the instantiators of scenes know about the scene's internals, the better. 2015-08-30 15:52:26 -07:00
UbitUmarov b114a04ed4 fix NeighborRegions code 2015-08-29 03:41:43 +01:00
UbitUmarov b82b16c954 take taints check terrain out of Onframe event and add a new event for it. Slow it down to 1/4 heartbeat rate (once every 363ms aprox) 2015-08-27 15:01:15 +01:00
UbitUmarov f6a59f74ab remove a 256m check 2015-08-21 00:35:55 +01:00
Melanie Thielker 028506cf3c Partial plumbing for the agent stateful module features negotiation 2015-08-20 00:18:45 +02:00
UbitUmarov 0af2fafddf add missing regionExtent setup and Scene physicsscene configuration ( not
exactly as core)
2015-08-19 11:04:28 +01:00
Oren Hurvitz d24528b3bc Show Script Time in the statistics panel
The value shown is the number of milliseconds per frame that were spent executing scripts in this region.
2015-08-11 08:44:26 +01:00
Robert Adams fdb7a804fc Add an option to processes physics collisions using FireAndForget.
Off by default but set with [Startup]ShouldUseFireAndForgetForCollsions=true

There is a problem with physics colliions sometimes stopping. One suspicion
is that the long callback path from the physics engine into the script engine
is causing problems. Enabling this feature passes the collision into the
script engine on a separate thread and not the main simulation thread.
Tester can enable this and see if the collsions stay around. If they still
fail, this commit should be reverted and another solution looked for.
2015-08-02 22:31:53 -07:00
Oren Hurvitz e174dc87fb Fixed the whitespace in Scene.cs
The whitespace in this file was fubared recently
2015-07-13 12:37:18 +03:00
Cinder 0fa94f222d Refactor AgentPreferences so that database operations happen centrally. the opensim way.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:42 -07:00
Melanie Thielker edcba95ab5 Merge branch 'master' into moses
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2015-05-20 23:40:52 +02:00
Talun d9afe354ac New values returned by llGetEnv
Implements recent changes to llGetEnv
region_cpu_ratio hardcoded to 1
region_product_sku hardcoded to OpenSim

Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2015-05-20 14:36:54 -04:00
Michael Heilmann 946a6622fe Removing duplicate definition 2015-05-19 15:52:13 -04:00
Michael Heilmann 140ea04b9d Merging Opensim upstream before generating patch 2015-05-19 15:18:45 -04:00
Glenn Martin 91a55c0794 Merge branch 'master' of https://github.com/M-O-S-E-S/opensim into moses.metricsPhase2
Fixed conflicts.

Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2015-05-19 14:07:44 -04:00
Glenn Martin 72e17b0219 Merge remote-tracking branch 'upstream/master' into moses.metricsPhase2
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SimStatsReporter.cs
2015-05-01 14:11:16 -04:00
Steven Zielinski 625452b84b Updated phase 2 to have the changes originally done in phase 1 for the defaultNumberFramesStored.
Test Plan: Tested using opensim standalone on windows with json stats.

Reviewers: rlouden

Reviewed By: rlouden

Differential Revision: http://cr.irl.ucf.edu/D275
2015-04-30 16:02:45 -04:00
Steven Zielinski 59778cfc2a Added in all metrics for Phase 1 except for Time Dilation.
Test Plan:
Tested on local opensim and firestorm. Not tested with JSON stats
reporter.

Reviewers: rlouden

Reviewed By: rlouden

Differential Revision: http://cr.irl.ucf.edu/D269

Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-04-29 18:22:24 -07:00
Steven Zielinski cb3c6038af Changed the 10 value to be a constant value inside of the Scene called m_DefaultNumberFramesStored.
Test Plan: Tested on windows with the json stats reporter.

Reviewers: rlouden, kboswell, clattin, ssirigam, martin

Reviewed By: rlouden, kboswell, clattin, ssirigam, martin

Differential Revision: http://cr.irl.ucf.edu/D273
2015-04-29 16:20:03 -04:00
Steven Zielinski bebdc29eff Changed the 10 value to be a constant value inside of the Scene called m_DefaultNumberFramesStored.
Test Plan: Tested on windows with the json stats reporter.

Reviewers: rlouden, ssirigam, martin, kboswell, clattin

Differential Revision: http://cr.irl.ucf.edu/D273
2015-04-28 16:56:53 -04:00
Steven Zielinski 0b3adc961b Added in all metrics for Phase 1 except for Time Dilation.
Test Plan:
Tested on local opensim and firestorm. Not tested with JSON stats
reporter.

Reviewers: rlouden

Reviewed By: rlouden

Differential Revision: http://cr.irl.ucf.edu/D269
2015-04-21 17:33:26 -04:00
Robert Louden c3138f9f38 Phase 2 additons with Frame Dilation metric. 2015-04-21 16:15:48 -04:00
Glenn Martin 1959eb8372 Moved over metrics from previous OpenSim 0.8.0.3 repository (this new repository is now the master branch from OpenSim). 2015-04-21 14:29:17 -04:00
Robert Adams 07dead7dcb varregion: any conversions of use of Constants.RegionSize converted into
Util.cs routines to convert region coords to and from world coords or handles.
2015-03-29 14:25:12 -07:00
Robert Adams bedafb8fae varregion: refactor use of 'double heightmap[,]' into references to new class TerrainData
and push the implementation from Scene into the database readers and writers.
2015-03-27 19:32:50 -07:00
Robert Adams 9f18e3ba80 Varregion: first cut at removing Border class checks for region crossings.
Added Scene.PositionIsInCurrentRegion(pos) to sense when new position needs some crossing work.
Many changes made to EntityTransferModule to accomodate new crossing sense logic.
2015-03-22 21:53:02 -07:00
Robert Adams 00b5b915c7 BulletSim: add VEHICLE_ more parameter value limit checking.
This only bounds passed parameters as there is no good way of refusing
the parameter setting. This mostly means that passing NaN's won't
crash the simulator.
2015-03-07 17:47:40 -08:00
BlueWall aeb8a4bf85 Revert "Adding dynamic ossl permission control"
This reverts commit a3681f3052 until
further testing. Jenkins now fails ossl tests.
2015-02-27 12:27:10 -05:00
BlueWall a3681f3052 Adding dynamic ossl permission control
Add permission by identifying uuid (owner/creator/group) and function. Revoke
permission in the same manner. Permission adjustments immediately effect
running scripts ability to call os functions.

osGrantScriptPermissions(UUID key,string function) Threat Level Severe
osRevokeScriptPermissions(UUID key,string function) Threat Level Severe

work sponsored by: Rage
2015-02-27 11:05:15 -05:00
Justin Clark-Casey (justincc) 5861401faa Remove long unused region parameters from SceneBase. Some of these weren't even being set. Region parameters come from Scene.RegionInfo instead. 2014-12-03 21:44:22 +00:00
Justin Clark-Casey (justincc) 2d2aa6e076 minor: Just have one message that displays successful registration of a region with its parameters rather than 2 2014-12-03 21:40:39 +00:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) 1d19e1bbd0 Add naive implementation of controlled incoming HG attachments to manage load.
Instead of processing all incoming attachment scene object concurrently, process them consecutively to eliminate potential overload from this source.
This is a naive implementation because it does not currently account for slow foreign asset services.
Although it may take longer, this approach may also improve attachment visibility for HG avatars
since the scene object is now always added to the scene after receiving assets from the foreign service and not before.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) a9dde81753 minor: Correct letter accidentally added to copyright notice on top of Scene.cs (almost five years ago!) 2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b7ef6009a7 In Scene.AddNewAgent(), avoid a situation where an exception can result in a client being added to the manager without IClientAPI.SceneAgent being set.
This is done by adjusting the order of code so that SceneAgent will always be set before adding the client.
Various parts of the code (rightly) assume that a a client registered to the manager will always have a SceneAgent set no matter what.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b9b483151f Eliminate a few unnecessary calculations in the maintenance loop.
Also uses wait event instead of sleep for periodicity control.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 7d30bb13be Fix recent minor regression where the default frame time wasn't being set if there was no startup config section.
Caused some regression tests to fail.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 7bababaab6 Improve frame time stability by taking a few unnecessary repeated calculations out of the main scene loop.
Also uses a wait event to sleep rather than a Thread.Sleep to allow the loop to be interrupted in a more controlled manner when necessary.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) 5b6fb7245a Set ThreadPriority on main scene thread to highest.
This will only have an effect on Windows systems or mono with the (not recommended) mono-3.2.8 debug patch https://gist.github.com/justincc/31e52218d098529b4696 applied
2014-11-25 23:18:38 +00:00
UbitUmarov ead78764ab allow drawdistance to change between 32 and MaxDrawDistance, configurable
value default to 256, so should have no effect. Next steps needed: reduce
 client udp Throttles with distance, update childreen connections with
 significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov 31c036c044 refuse crossings if logins disabled
Please enter the commit message for your changes. Lines starting
2014-10-21 19:22:51 +01:00
UbitUmarov f44c29effb try to fix propagation of seeds to all relevante regions 2014-10-19 15:51:12 +01:00
UbitUmarov b7708b9d1f change child agents creation/notification. As before this assumes that
sending regions close out of view connections.
2014-10-18 18:27:38 +01:00
Justin Clark-Casey (justincc) afa85e6b3c Set appearance refresh to false by default.
This setting was originally added some time ago to deal with issues where appearance was not received properly by all users.
However, it does not scale well with large numbers of agents.
Disabling to see if the original problem has abated or whether this will have to be tackled in another way.
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc) 530b0cbbf1 Move expired objects cleaning trigger to the maintenance thread of a region rather than it's main scene loop.
[Startup] default setting UpdateTempCleaningEveryNFrames becomes UpdateTempCleaningEveryNSeconds.
Default becomes 180s instead of effective 182s (which would also vary with any changes in frame time or extra long frames)
2014-09-27 00:23:52 +01:00
UbitUmarov c9079360b9 coment out stack trace at newUserConnection, add log msh at createAgent 2014-09-24 18:37:59 +01:00
UbitUmarov 46bf6d1640 add stack trace debug message 2014-09-24 18:29:23 +01:00
UbitUmarov 4206c1248f same thing on another lock(acd) 2014-09-24 01:51:36 +01:00
UbitUmarov d96fe6eaf5 replace a lock on a unkown origin object with a lock on a well defined
one.
2014-09-24 01:37:51 +01:00
Justin Clark-Casey (justincc) c015cb3134 Remove an unnecessary check at the bottom of Scene.CloseAgent()
At this point sp != null so no check required.
2014-09-24 00:50:24 +01:00
Melanie Thielker 309cfeff88 If an agent is logging in, rather than teleporting, make sure all known
circuits for that agent are closed.
2014-09-23 21:53:09 +02:00
Melanie Thielker 4cc552162e Merge branch 'ubitworkmaster' 2014-09-22 18:50:06 +02:00
Melanie Thielker 0bfba122f0 When a ghosted avatar is removed, also remove any remaining CAPS 2014-09-22 18:49:08 +02:00
UbitUmarov bcaf202e34 update scenegraph group find by part information in sog link, so script link functions do update that also. 2014-09-22 13:59:23 +01:00
BlueWall 519c753e46 This fixes the Scene thread renaming issue 2014-09-17 20:25:27 -04:00
BlueWall 96a2449122 Undo "Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects.""
Fix for break in next commit

This reverts commit 376fab1402.
2014-09-17 20:03:54 -04:00
BlueWall 376fab1402 Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects."
This reverts commit af286d5fcb.
Issue with Jenkins builds
2014-09-17 18:11:41 -04:00
BlueWall af286d5fcb Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects. 2014-09-17 17:56:10 -04:00
Melanie Thielker 8ab5f2ce84 When CloseAgnt is called with an agent id that doesn't have a presence, check for stray clients and clean them up instead of failing. 2014-09-13 16:39:56 +02:00
Melanie Thielker 0caa59b286 Fix a nullref that can hit Vivox voice 2014-09-10 02:43:51 +02:00
UbitUmarov 17154fbffa set default LinksetPhysPrims to 0 so max number of prims for physical
object is disabled
2014-09-09 02:22:07 +01:00
UbitUmarov 8e15d4ad57 limit number of prims on physical objects. Not all cases covered still 2014-09-08 23:58:49 +01:00
Justin Clark-Casey (justincc) 41f2f3132b For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
Justin Clark-Casey (justincc) ac866a1c46 Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.
Defaults to true.  For test purposes.
2014-09-03 00:25:56 +01:00
Justin Clark-Casey (justincc) 1a3ffda852 minor: Eliminate more unnecessary code copying individual parameters for Vector3 copying in Scene - this is not necessary as Vector3 is a value type 2014-08-28 18:37:34 +01:00
Justin Clark-Casey (justincc) b1ff78f4d8 Don't allow update timer to invoke another scene update if the previous is still active. 2014-08-26 18:52:09 +01:00
Justin Clark-Casey (justincc) 42bb122232 Fix frame times when updating scene on timer. 2014-08-26 18:13:38 +01:00
Justin Clark-Casey (justincc) 64f640f901 Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov 0295e6822d some cleanup ( well or not ) 2014-08-22 20:01:07 +01:00
UbitUmarov d31f361e89 moved hacks to scene presence completemovement, possible only needed
there?
2014-08-18 19:41:16 +01:00
UbitUmarov 73b8dc4183 missing file for previus commit 2014-08-18 19:19:25 +01:00
Justin Clark-Casey (justincc) 4c781db572 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-08-14 01:39:26 +01:00
Justin Clark-Casey (justincc) 6ea82ad48a Make some existing reprioritization values changeable outside the scene for test purposes, and use more consise property syntax.
No functional change.
2014-08-14 01:16:58 +01:00
Justin Clark-Casey (justincc) 30f1b424bb Change RootRotationUpdateTolerance from 0.01 to 0.1 in code as well. 2014-08-08 23:47:53 +01:00
Oren Hurvitz e36e416637 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-06 19:02:15 +03:00
Justin Clark-Casey (justincc) 78ccadb27e 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-08-06 00:53:14 +01:00
Justin Clark-Casey (justincc) 961cb9cc77 refactor: Rename recent new Client*UpdateTolerance to Root*UpdateTolerance for better accuracy and consistency with other similar parameters 2014-08-06 00:35:26 +01:00
UbitUmarov 3d81f25e34 Revert "start sending terrain in scenePresence after well defined avatar. Minor"
This reverts commit 05a2feba5d.
2014-08-04 20:32:11 +01:00
UbitUmarov 05a2feba5d start sending terrain in scenePresence after well defined avatar. Minor
change on significante AgentUpdate check.
2014-08-04 19:57:47 +01:00
UbitUmarov ca8b0e6a1d replace debug msgs by others 2014-08-03 19:00:01 +01:00
UbitUmarov ed47874197 several debug msgs, need to be removed asap 2014-08-03 18:22:00 +01:00
Justin Clark-Casey (justincc) fcf5fb5dfd 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-07-29 18:54:16 +01:00
Justin Clark-Casey (justincc) 0f87a99e54 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-07-29 18:09:11 +01:00
Justin Clark-Casey (justincc) f54fccba1e 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-07-29 03:13:10 +01:00
Justin Clark-Casey (justincc) 3654ae8d8c 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-07-29 01:21:15 +01:00
Justin Clark-Casey (justincc) f6f7585ec5 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-07-29 00:13:29 +01:00
UbitUmarov b6af41ec11 dont standup avatar on crossing 2014-07-26 05:59:38 +01:00
Justin Clark-Casey (justincc) 3a87cce2e0 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-07-22 18:04:28 +01:00
Justin Clark-Casey (justincc) 3c6becd524 On login and first HG entrance to a foreign grid, perform query access checks before proceeding. 2014-07-21 23:53:33 +01:00
Diva Canto 82b875317b On logout, delay the removal of AgentCircuitData until the very end, because that data structure contains important information about the agent that may be needed by modules. 2014-07-04 14:36:11 -07:00
Diva Canto 60ad72357e This fixes the bug related to rebooting neighboring varregions while avatars are logged in; the avies would not see the region anymore until they relogged. Same problem as before: inconsistent calculation of scope. 2014-07-04 11:45:30 -07:00
Justin Clark-Casey (justincc) 889194db63 Actually call Close() for shared region modules when the simulator is being shutdown.
Adds regression test for this case.
2014-07-02 23:49:25 +01:00
Justin Clark-Casey (justincc) fe6dab7f13 minor: Change default max phys prim size in code to match OpenSimDefaults.ini 2014-06-28 00:20:09 +01:00
Justin Clark-Casey (justincc) cd031d129a minor: change allow script crossings default in code to true in order to match OpenSimDefaults.ini 2014-06-28 00:18:00 +01:00
Oren Hurvitz 5aeaa7fcdd Prevent login to a region if the Telehub or Landing Point are in a banned parcel 2014-05-25 15:37:28 +01:00
Justin Clark-Casey (justincc) 1b156b7fe8 Add regression test for in-range chat between neighbouring regions from east to west. 2014-05-22 19:18:24 +01:00
Oren Hurvitz 47b84875fd Tell QueryAccess explicitly whether the user is coming in via Teleport or Cross, because the permission checks are different.
Previously we used a heuristic of checking if the entry position is 0 to differentiate between Teleport and Cross, but that doesn't work anymore since we've started providing the precise entry position for cross, too. That's required in order to ensure that the user is allowed to enter the parcel that he's walking into.
2014-05-19 11:19:11 +01:00
Oren Hurvitz dd30a29ba0 Return more specific error messages if an attempt to enter a region fails due to permissions (in QueryAccess and IsAuthorizedForRegion) 2014-05-19 11:11:30 +01:00
Oren Hurvitz a780e01a54 Fixed: the parcel flag "Allow Scripts from Group" should only check if the parcel has a Group set; it doesn't have to be *deeded* to the group
Also some cleanup of the use of Group ID's (with no change to functionality).
2014-04-20 06:23:35 +01:00
Oren Hurvitz 06e0528d0b In teleports, pass the source region to the destination (similar to an HTTP referrer) 2014-04-09 09:22:20 +01:00
Oren Hurvitz 85d51e57a9 When sending QueryAccess to a region, also send the user's Home URI 2014-04-07 07:32:36 +01:00
Oren Hurvitz 55cc8044cb Refactored: use Scene.GetAgentHomeURI() to get the Home URI of a user 2014-04-07 07:26:44 +01:00
Justin Clark-Casey (justincc) 99308d64c6 minor: Add some doc to Scene.Backup() detailing its direct invocation if the indepedent backup thread is not running (e.g. in a regression test) 2014-03-26 00:43:17 +00:00
Oren Hurvitz e131e73652 Run slow operations in a separate thread, instead of using FireAndForget (which has a 1-minute timeout)
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:55 +01:00
Oren Hurvitz 921f0052f4 Get the full viewer name even if it's (incorrectly) sent in the 'Channel' field
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name.

This resolves http://opensimulator.org/mantis/view.php?id=6952
2014-03-24 12:26:52 +01:00
Oren Hurvitz 62b3bdf0fc When linking two groups, and then deleting the combined group: delete *all* of the combined group's prims, including those that came from the second subgroup
This fixes http://opensimulator.org/mantis/view.php?id=6175
2014-03-24 11:44:48 +01:00
Jak Daniels 61353dde80 Allow Region specific static maptiles to be loaded from file. 2014-03-18 22:18:50 -07:00
Justin Clark-Casey (justincc) c9415fd763 If an avatar is sitting, send out position updates to clients for any change, not just those outside the usual tolerances.
This is to allow small adjustments of less than 0.05m in functions such as llSetPrimitiveLinkParams() to work
This is another fix for http://opensimulator.org/mantis/view.php?id=7044
Extends regression test for this case.
2014-03-05 00:38:38 +00:00
Robert Adams 0f03c64a0c Make Scene.DefaultDrawDistance to be the max of the region size and the
user setting. Seems this parameter has many side effects.
2014-02-23 21:56:37 -08:00
dahlia a2866b85f3 add newRegion parameter to CrossAgentToNewRegion event and trigger the event after crossing thread is invoked 2014-02-20 00:18:28 -08:00
dahlia 269a6410a0 add EventManager event OnCrossAgentToNewRegion 2014-02-19 17:52:38 -08:00
Robert Adams c26f01ff8c varregion: make scene default draw distance to be the maximum size of the
region. This is a temp fix for the use of draw distance to compute child
regions. Eventually must use the draw distance from the viewer for the
computation.
2014-02-19 09:51:49 -08:00
Robert Adams fc9930e420 Repair check for if in region position (I mean || is kinda like &&). 2014-02-15 18:49:40 -08:00
Robert Adams 877bdcdce1 Rewrite of mega-region code to use new form of border checking.
This commit eliminates all of the 'border' class and list code and replaces
it with testing if in the current region.
Impacts: can make a mega-region out of varregions of the same size; and
mega-region combinations must be rectangular (not square but rectangular)
2014-02-15 16:01:43 -08:00
Melanie c6e9db5866 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/RegionSettings.cs
	OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
	OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
	OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2014-01-28 21:02:20 +00:00
Robert Adams 4c362a83f9 Merge branch 'master' into varregion 2014-01-21 11:31:51 -08:00
Justin Clark-Casey (justincc) 2cf7478b9a Merge branch 'justincc-master' 2014-01-20 19:34:55 +00:00
Justin Clark-Casey (justincc) 8e72b53edc Stop exceptions being generated on agent connection if a telehub object has been deleted or has no spawn points. 2014-01-20 19:16:19 +00:00
Robert Adams f127e4b4ee Merge branch 'master' into varregion 2014-01-19 07:38:53 -08:00
Justin Clark-Casey (justincc) 1a8b56fa87 Merge branch 'justincc-master' 2014-01-16 00:33:04 +00:00
Justin Clark-Casey (justincc) e99a7d879e Remove old IInterRegionComms and references. This hasn't been used since 2009 and was superseded by ISimulationService 2014-01-16 00:05:04 +00:00
Melanie e79fab91db Intermediate commit. Sill errors.
Merge branch 'master' into careminster

Conflicts:
	OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
	OpenSim/Framework/RegionInfo.cs
	OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Services/UserProfilesService/UserProfilesService.cs
2014-01-05 20:12:32 +00:00
Robert Adams 7e32313a49 varregion: Add region size to teleport event messages (EnableSimulator,
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).

Conflicts:

	OpenSim/Framework/RegionInfo.cs
2014-01-04 19:01:04 -08:00
Robert Adams 9984ecf862 varregion: Add region size to teleport event messages (EnableSimulator,
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).
2014-01-03 07:41:06 -08:00
Robert Adams 2d2bea4aa7 varregion: many more updates removing the constant RegionSize and replacing
with a passed region size. This time in the map code and grid services code.
2013-12-26 22:45:59 -08:00
Robert Adams b40b57776b varregion: remove unused Scene.HaveNeighbor routine. Its computation
was wrong for large regions anyway.
2013-12-24 12:28:54 -08:00
Robert Adams 13a9a4b653 varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.
Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z.
This keeps the downward compatibility and follows the scheme of 'region'
and 'world' location naming that is happening in the Util module.
2013-12-14 07:53:01 -08:00
Robert Adams 6cd0d7a62b varregion: Add MaxRegionSize constant and enforce in RegionInfo.
Intermediate checkin of changing border cross computation from checking
boundry limits to requests to GridService. Not totally functional.
2013-11-30 15:28:39 -08:00
Robert Adams beeec1c467 varregion: elimination of Constants.RegionSize from all over OpenSimulator.
Routines in Util to compute region world coordinates from region coordinates
as well as the conversion to and from region handles. These routines have
replaced a lot of math scattered throughout the simulator.
Should be no functional changes.
2013-11-08 20:53:37 -08:00
Robert Adams cd1a23fc14 varregion: remove uses of region size constant. In particular, update scene
to check for border crossings based on the size of the region.
2013-11-04 22:09:52 -08:00
Robert Adams ff5885ab23 varregion: push TerrainData implementation up and down the database storage stack.
Implement both LoadTerrain and StoreTerrain for all DBs.
Move all database blob serialization/deserialization into TerrainData.
2013-11-01 11:35:31 -07:00
Robert Adams 7416809077 varregion: plug in TerrainData class and modify TerrainModule and LLClientView to use same. This passes a terrain info class around rather than passing a one dimensional array thus allowing variable regions. Update the database storage for variable region sizes. This should be downward compatible (same format for 256x256 regions). 2013-10-07 13:57:40 -07:00
Melanie 75c68fa29e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Data/MySQL/MySQLSimulationData.cs
	OpenSim/Data/MySQL/Resources/RegionStore.migrations
	OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
	OpenSim/Region/CoreModules/World/LightShare/LightShareModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
	OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs
	OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-10-04 20:03:12 +01:00
Robert Adams 8c1d80fdfd varregion: serious rework of TerrainChannel:
-- addition of varaible region size in X and Y
    -- internal storage of heightmap changed from double[] to short[]
    -- helper routines for handling internal structure while keeping existing API
    -- to and from XML that adds region size information (for downward compatibility,
        output in the legacy XML format if X and Y are 256)
Updated and commented Constants.RegionSize but didn't change the name for compatibility.
2013-09-28 07:33:56 -07:00
Robert Adams 317c04fe17 VarRegion: change RegionInfo storage of region coordinates from region
count number to integer world coordinates.
Added new methods RegionWorldLoc[XY].
Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim.
Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability
of external region management packages.
2013-09-28 07:33:52 -07:00
Justin Clark-Casey (justincc) 2cd95fac73 refactor: Rename Scene.AddNewClient() to AddNewAgent() to make it obvious in the code that this is symmetric with CloseAgent() 2013-09-27 22:27:39 +01:00
Justin Clark-Casey (justincc) b16bc7b01c refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly.
Adds IScene.CloseAgent() to replace RemoveClient()
2013-09-27 19:14:21 +01:00
Justin Clark-Casey (justincc) 32ddfc2740 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-25 18:45:56 +01:00
Justin Clark-Casey (justincc) c6dea6ee78 Change some message log levels in Scene.IncomingUpdateChildAgent() for debugging purposes 2013-09-20 20:19:44 +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