aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add --force flag to "kick user" console command to allow bypassing of recent ↵Justin Clark-Casey (justincc)2012-08-201-3/+6
| | | | | | | | | race condition checks. This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once). You should only attempt --force if a normal kick fails. This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive. This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
* enables configurable minimum sizes for physical & non-physical primsSignpostMarv2012-08-151-1/+30
|
* Add support for the extra params to scene and the event managerMelanie2012-08-151-0/+39
|
* Add a skeleton for a name value storage associated with regionsMelanie2012-08-151-0/+4
|
* Lay some groundwork for temp attachments. Decouple attachments from inventory.Melanie2012-08-141-1/+1
|
* Move previously unadvertised SendPeriodicAppearanceUpdates setting from ↵Justin Clark-Casey (justincc)2012-08-031-1/+7
| | | | | | | | | | [Startup] to [Appearance] config section. Add description and default of false (as before) to OpenSimDefaults.ini If set to true, this config switch will resend avatar appearance information (a small amount of UUID data, not the baked textures themselves) to other avatars in the sim every 60 seconds. For me, this has helped with situations where avatars appear persistently grey - the LL viewer sometimes did not appear to request assets the first time the appearance data was sent. However, this switch will not help with other appearance failure situations (e.g. failure to bake assets). This setting is experimental but will not have any significant impact on the simulator if turned to true.
* Create the ability for physics modules to request assets on demand byMelanie2012-08-011-0/+16
| | | | | | themselves. For that, the physics module simply calls RequestAssetMethod, which in turn points to Scene.PhysicsRequestAsset. This gives physics access to the asset system without introducing unwanted knowledge of the scene class.
* Avoid a race condition between the scene shutdown thread and the update ↵Justin Clark-Casey (justincc)2012-07-271-3/+5
| | | | | | | | | thread since commit c150320 (Thu Jul 26 15:27:18 2012) c150320 started explicitly disposing of the physics scene and nulling it out on region shutdown. However, the update loop may not have yet checked Scene.ShuttingDown, particularly if avatars were not in the scene, causing failure when it tried to lookup time dilation. This commit moves the setting of m_shuttingDown above the existing 500ms pause to notify avatars that they are being kicked. This should not affect the few other places that use this flag.
* Add a Dispose() of the physics engine when a scene is being shutdown.Robert Adams2012-07-261-0/+9
|
* Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring ↵Justin Clark-Casey (justincc)2012-07-251-0/+1
| | | | with other monitoring code from OpenSim.Framework
* Make SceneManager.OnRegionsReadyStatusChange event available.Justin Clark-Casey (justincc)2012-07-251-2/+2
| | | | | This is fired when all regions are ready or when at least one region becomes not ready. Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
* Change attachment handling to remove object from the scene first as perMelanie2012-07-231-11/+1
| | | | | | justincc's original work. Sample scripts before doing so. Also refactor some crucial common code and eliminate parameters that were only ever used with the same constant value.
* Prevent race conditions between two threads that call LLClientView.Close() ↵Justin Clark-Casey (justincc)2012-07-191-3/+3
| | | | simultaneously (e.g. ack timeout and an attempt to reconnect)
* Add TestCreateDuplicateRootScenePresence() regression test.Justin Clark-Casey (justincc)2012-07-191-0/+17
|
* Add EventManager.OnRegionLoginsStatusChange fired whenever logins are ↵Justin Clark-Casey (justincc)2012-07-191-5/+5
| | | | | | | enabled or disabled at any point, not just during initial startup. This replaces EventManager.OnLoginsEnabled which only fired when logins were first enabled and was affected by a bug where it would never fire if the region started with logins disabled.
* Add back notification to neighbouring regions when RegionReadyModule is not ↵Justin Clark-Casey (justincc)2012-07-181-0/+3
| | | | active accidentally just removed in 528004d
* Perform other region ready actions even if simulator is configured to leave ↵Justin Clark-Casey (justincc)2012-07-181-19/+18
| | | | logins disabled on startup.
* Fix bug where region ready was being triggered twice in quick succession if ↵Justin Clark-Casey (justincc)2012-07-181-9/+12
| | | | a region contained no scripts.
* Establish EventManager.OnRegionReady event. This will only be triggerred ↵Justin Clark-Casey (justincc)2012-07-181-0/+1
| | | | | | once when the region is ready. Switch MapImageServiceModule to use this.
* Pass entire scene object in OnLoginsEnabled event rather than just the ↵Justin Clark-Casey (justincc)2012-07-181-1/+1
| | | | | | region name. This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed
* Close() the ScenePresence after we've removed it from the scene graph, to ↵Justin Clark-Casey (justincc)2012-07-181-10/+16
| | | | cut down race conditions when another thread manages the grab the presence after some SP structures have been reset.
* Change very recent AllowedViewerList and BannedViewerList config setting ↵Justin Clark-Casey (justincc)2012-07-121-4/+4
| | | | | | | names in OpenSim.ini.example to AllowedClients and BannedClients to match long-existing settings in [LoginService] Also changes separator from comma to bar to match existing [LoginService] config features. Divergence of config names for identical facilities in different places makes for an unnecessarily confusing user experience.
* When an attachment is detached to inv or derezzed, stop the scripts, update ↵Justin Clark-Casey (justincc)2012-07-101-1/+18
| | | | | | the known item with script state still in the script engine and then remove the scripts. This is to fix a regression starting from 5301648 where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
* Remove redundant SetScene() function in Scene.AddSceneObject()Justin Clark-Casey (justincc)2012-07-071-2/+0
| | | | | This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks. There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
* Remove now duplicate interregion object check that should have been removed ↵Justin Clark-Casey (justincc)2012-07-061-12/+0
| | | | a few commits ago in 43a2da9
* Add assert to attachment regression tests to check that number of objects in ↵Justin Clark-Casey (justincc)2012-07-061-0/+11
| | | | the scene graph
* Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from ↵Justin Clark-Casey (justincc)2012-07-061-14/+27
| | | | | | Scene.AddObject() Only IncomingCreateObject() needs these checks. General object adding does not need to perform crossing perm checks
* Correct spelling mistake m_BanedViewers to m_BannedViewersJustin Clark-Casey (justincc)2012-07-031-4/+4
|
* Adds a list of viewers that are allowed or banned from the region.Michelle Argus2012-07-021-0/+65
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* Removing unused handling of incoming create object by userID and itemID only.Justin Clark-Casey (justincc)2012-06-301-22/+0
| | | | | It appears this was never actually used since attachments were rezzed in other code. This was never available on remote simulator comms, only local.
* Remove code listed for removal in 0.7.3 that handled script restart for ↵Justin Clark-Casey (justincc)2012-06-301-16/+0
| | | | incoming attachments from pre-fatpack regions (versions of OpenSimulator more than a year old)
* Add IScene.Name for code clarity to replace the RegionInfo.RegionName used ↵Justin Clark-Casey (justincc)2012-06-291-26/+24
| | | | in many, many log messages.
* When attachments are being saved and deleted for a closing root agent, ↵Justin Clark-Casey (justincc)2012-06-251-11/+13
| | | | | | delete first to avoid a hud race condition with update threads. If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
* If RegionReady is active, don't falsely say that logins are enabled in the ↵Justin Clark-Casey (justincc)2012-06-201-2/+2
| | | | | | main scene loop before RegionReady is signalled when initial script compilation finishes. Also raises this logging level to Info from Debug since this information is of high importance. This matches the behaviour of the RegionReady module
* In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already ↵Justin Clark-Casey (justincc)2012-06-121-4/+3
| | | | available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
* Don't make duplicate call to ScenePresence.Close() separately in ↵Justin Clark-Casey (justincc)2012-06-081-79/+70
| | | | | | | ETM.DoTeleport() if an agent needs closing. This is always done as part of Scene.RemoveClient() Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
* Remove duplicate update of user count in Scene.IncomingCloseAgent()Justin Clark-Casey (justincc)2012-06-081-10/+0
| | | | This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
* Fix bug with "kick user" reducing agent counts by 2 instead of 1.Justin Clark-Casey (justincc)2012-06-081-14/+17
| | | | | This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close() DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
* Record the fact that child agents can have asset transactions.Justin Clark-Casey (justincc)2012-06-071-6/+6
| | | | Also change code to grab the agent asset transaction module once.
* Don't send kill object messages to clients when a child agent is closed.Justin Clark-Casey (justincc)2012-06-071-18/+21
|
* Start sending spare frame time MS viewer stat. Make frame time correctly ↵Justin Clark-Casey (justincc)2012-06-051-44/+46
| | | | | | | display total frame time, not just non-spare time. This makes it easier to see when components of frame time exceed normal permitted frame time. Currently reflect scene frame times.
* Instead of updating sim stats root agent, child, objects and scripts ↵Justin Clark-Casey (justincc)2012-06-011-5/+0
| | | | accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run
* If restating a region, clean up the physics scene after the main scene has ↵Justin Clark-Casey (justincc)2012-05-261-4/+4
| | | | | | | | been closed not before. If this is done before then on ODE agent update calls still incoming can fail as they try to use a raycastmanager that has been disposed. Bullet plugin does nothing on Dispose() However, I wouldn't be at all surprised if individual region restarting was buggy in lots of other areas.
* Stop it being possible for an agent to teleport back to its source region ↵Justin Clark-Casey (justincc)2012-05-251-3/+3
| | | | | | | | | before the source region has finished cleaning up old agent data and structures. If this is allowed, then the client usually gets forcibly logged out and data structures might be put into bad states. To prevent this, the binary state machine of EMT.m_agentsInTransit is replaced with a 4 state machine (Preparing, Transferring, ReceivedAtDestination, CleaningUp). This is necessary because the source region needs to know when the destination region has received the user but a teleport back cannot happen until the source region has cleaned up. Tested on standalone, grid and with v1 and v3 clients.
* If an agent is still registered as 'in transit' by the source region, don't ↵Justin Clark-Casey (justincc)2012-05-241-21/+46
| | | | | | | | | | | | allow an immediate teleport back. This is to help relieve a race condition when an agent teleports then immediately attempts to teleport back before the source region has properly cleaned up/demoted the old ScenePresence. This is rare in viewers but much more possible via scripting or region module. However, more needs to be done since virtually all clean up happens after the transit flag is cleared . Possibly need to add a 'cleaning up' state to in transit. This change required making the EntityTransferModule and HGEntityTransferModule per-region rather than shared, in order to allow separate transit lists. Changes were also required in LocalSimulationConnector. Tested in standalone, grid and with local and remote region crossings with attachments.
* Add "show scene" command which lists stats for the currently selected ↵Justin Clark-Casey (justincc)2012-05-231-1/+6
| | | | | | | | | | console scene(s) This includes prim count, script count, avatar count, etc. Information is currently the same as "show stats", though show stats can only show one scene at a time because it listens for the latest outgoing stats packet (a bad approach that needs to change). Might be better to tie this module into the other stats module to display arbitrary stats rather than fetching directly from scene.SimStatsReporter. Console command is "show scene" because "show region" already exists for the grid service, which is unfortunate. Might need to make a distinction between "scene" relating to a live scene and "region" relating to more static region data (url, coords, etc.)
* Further refinement on propertiesBlueWall2012-05-181-7/+4
|
* Cleanup + change properties to set fields with private set : Thanks Justin ↵BlueWall2012-05-181-2/+4
| | | | for the tip.
* Provide Telehub setting to allow use of landmarksBlueWall2012-05-181-0/+7
| | | | Setting to allow use of landmarks to override telehub routing. Default is off.
* Check agent limit against root agent count rather than both root and child ↵Justin Clark-Casey (justincc)2012-05-171-15/+32
| | | | | | | | | | | agents From sl docs such as http://community.secondlife.com/t5/English-Knowledge-Base/Managing-Private-Regions/ta-p/700115 agent should apply to avatars only. This makes sense from a user perspective, and also from a code perspective since child agents with no physics or actions take up a fraction of root agent resources. As such, the check is now only performed in Scene.QueryAccess() - cross and teleport check this before allowing an agent to translocate. This also removes an off-by-one error that could occur in certain circumstances on teleport when a new child agent was double counted when a pre-teleport agent update was performed. This does not affect an existing bug where limits or other QueryAccess() checks are not applied to avatars logging directly into a region.