aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Region access control! Region operators can now specify things like ↵Diva Canto2012-03-171-2/+2
| | | | DisallowForeigners (means what it says) and DisallowResidents (means that only admins and managers can get into the region). This puts the never-completed AuthorizationService to good use. Note that I didn't implement a grid-wide Authorization service; this service implementation is done entirely locally on the simulator. This can be changed as usual by pluging in a different AuthorizationServicesConnector.
* Terrain: added [Terrain] section with an option to load an initial flat ↵Diva Canto2012-03-161-2/+9
| | | | terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
* Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2012-03-151-10/+1
| | | | | | | | | | multiple scripts in the same linkset can cause unnecessary thread aborts. The first llDie() could lock Scene.m_deleting_scene_object. The second llDie() would then wait at this lock. The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away. Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead. This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
* Display help commander topics in capitalized form - the commands themselves ↵Justin Clark-Casey (justincc)2012-03-081-1/+1
| | | | | | are still lowercase. Also convert the estate commands to simply AddCommand() calls so that commands from two different modules can be placed in the same category
* Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)2012-03-081-1/+1
| | | | | | | | | | | <category/module>" to display commands in a category. This is to deal with the hundred lines of command splurge when one previously typed "help" Modelled somewhat on the mysql console One can still type help <command> to get per command help at any point. Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet). Does not affect command parsing or any other aspects of the console apart from the help system. Backwards compatible with existing modules.
* Stop individually deleting objects at the end of each ObjectTortureTest.Justin Clark-Casey (justincc)2012-03-071-28/+21
| | | | | | We can now do this since the entire scene and all objects within it are now successfully gc'd at the end of these tests. This greatly improves the time taken to run each test (by reducing teardown time, not the time to actually do the test work that we're interested in). Slightly simplifies config read in Scene constructor to help facilitate this.
* Explictly close down the StatsReporter so that we can shutdown its timerJustin Clark-Casey (justincc)2012-03-061-0/+2
| | | | This is another step necessary for the scene to be garbage collected between performance tests
* Remove outdated comment about checking attachment prims in ↵Justin Clark-Casey (justincc)2012-03-021-3/+1
| | | | Scene.PipeEventsForScript()
* Allow a script to receive events if its root prim is in an area where it's ↵Justin Clark-Casey (justincc)2012-03-021-4/+1
| | | | | | | | allowed to run rather than checking its own prim. This allows scripts to run in child prims that are outside region boundaries. This is an interim patch applied from http://opensimulator.org/mantis/view.php?id=5899 though it does not resolve that bug Thanks tglion!
* Get rid of some of the identical exception catching in Scene.Update().Justin Clark-Casey (justincc)2012-02-241-17/+1
|
* Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)2012-02-241-3/+9
| | | | | | | | On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
* Try to resolve some problems with viewers crashing after hitting parcel ↵Justin Clark-Casey (justincc)2012-02-231-5/+12
| | | | | | | | | | banlines or freezing on the banline. This involves 1) On forcible teleport, call m_scene.RequestTeleportLocation() rather than ScenePresence.Teleport() - only EntityTransferModule now should call SP.Teleport() 2) When avatar is being forcibly moved due to banlines, use a 'stop movement' tolerance of 0.2 to requested position rather than 1 This prevents the avatar sometimes being stuck to banlines until they teleport somewhere else. This aims to fix some problems in http://opensimulator.org/mantis/view.php?id=5822
* Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2012-02-231-8/+2
|\
| * Remove two spurious m_sceneGraph != null checks in Scene.cs. It's set in ↵Justin Clark-Casey (justincc)2012-02-221-8/+2
| | | | | | | | constructor and never subsequent set to null.
* | Add a position parameter to region crossing of objects. This avoids theMelanie2012-02-231-1/+4
|/ | | | | | potential bad update that places an object at the opposite side of the origin sim for a moment before actually crossing it. Especially important in grids like OSG where lag between sims is high.
* Fix bug where NPCs would establish child agents on other neighbour regions ↵Justin Clark-Casey (justincc)2012-02-211-15/+14
| | | | that had come up after the NPC was created.
* Use localy defined name, TPFlags, for Constants.TeleportFlagsBlueWall2012-02-191-6/+6
|
* Route logins according to Estate, Telehub and TeleportFlagsBlueWall2012-02-181-2/+4
|
* Propagate our teleport flags on loginsBlueWall2012-02-181-1/+4
|
* Fix missing telehub handling on loginBlueWall2012-02-171-0/+21
|
* Add some more data to the new user connection logging for debug purposes.Justin Clark-Casey (justincc)2012-02-141-3/+3
|
* change NonPhysicalPrimMax to NonphysicalPrimMax in Scenes.cs to make thenebadon2012-02-041-1/+1
| | | | variable in OpenSim.ini and Regions.ini match
* ObjectAddedToScene event should be fired when duplicating objectsDan Lake2012-02-021-4/+22
|
* Add event RegionHeartbeatEnd for modules interested in coordinating activity ↵Dan Lake2012-02-011-10/+12
| | | | with region heartbeats
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDan Lake2012-02-011-112/+51
|\
| * Small optimization to last commitMelanie2012-02-011-5/+5
| |
| * Fix copy/paste errorsMelanie2012-02-011-2/+2
| |
| * Straighten out some attachment mess. Don't save attachment states for HGMelanie2012-02-011-1/+11
| | | | | | | | | | visitors at all. On Leaving a sim, save only the changed ones. Don't save all scripted stuff when leaving a sim.
| * Move object delete commands into a commands region module, in preparation ↵Justin Clark-Casey (justincc)2012-01-311-104/+0
| | | | | | | | for adding similar show commands.
| * Add torture tests to test adding 10,000, 100,000 and 200,000 single prim ↵Justin Clark-Casey (justincc)2012-01-311-0/+2
| | | | | | | | | | | | | | | | | | scene objects. These can be run using the "nant torture" target. They are not part of "nant test" due to their long-run future nature. Such tests are designed to do some testing of extreme situations and give some feedback on memory usage, etc. However, data can be inconsistent due to different machine circumstances and virtual machine actions. This area is under development.
| * Support rejecting a teleport if a user is banned in all parcels that haveMelanie2012-01-261-0/+30
| | | | | | | | spawn points
| * Teleport DebuggingBlueWall2012-01-101-2/+0
| | | | | | | | | | | | Move setting from ini to existing facitilies - thanks justincc toggle with console command: debug teleport
| * Add some run-time debugging supportBlueWall2012-01-091-0/+3
| | | | | | | | | | | | Add configuration option - DEBUG to enable debugging methods. This is temporary for helping users testing teleport routing be able to report back the data with the test cases. We can remove when finished with this, or leave it if it proves to be useful. Users: set DEBUG = true in OpenSim.ini to get more information from teleport routing. The default is false. It presently prints the TeleportFlags value.
| * Use our TeleportFlagsBlueWall2012-01-091-2/+2
| | | | | | | | Switch to our TeleportFlags enum instead of LibOMV because we need to define a type for HG Logins. Also moved some debugging in ScenePresence into a function to make it simpler to enable/disable.
* | Add a version of GetGroupByPrim to Scene which accepts UUID instead of localIDDan Lake2012-01-191-0/+10
|/
* Added EventManager.OnRegionStarted which is triggered when Heartbeat is started.Dan Lake2012-01-041-0/+1
|
* Bug fix in map tiles in standalone: the map has been blank since commit ↵Diva Canto2011-12-301-13/+20
| | | | | | 01ae916bad672722aa62ee712b7b580d6f5f4370 r/17324 (Nov.18, justincc). But the root cause comes from commit 02e54c57c4901167779f07ed3e89fb1d24ffc22a Author: Oren Hurvitz Date: 7/22/2011 This is a nasty situation. The map tile UUID is, in principle, stored authoritatively in RegionSettings. However, it also needs to be stored in the Grid Service because that's how other sims can retrieve it to send it in Map Blocks to non-V3 viewers. So every time the tile image changes, that change needs to propagate to the Grid Service, and this is done via RegisterRegion (ugh!). Interestingly, this problem didn't affect grids because by default AllowRemoteDelete is false, so the prior images aren't being deleted from the asset servers -- but they were not being correctly updated in the map either, the map was stuck with old images.
* rename Scene.m_physicalPrim to PhysicalPrims since its public and access ↵Justin Clark-Casey (justincc)2011-12-221-2/+2
| | | | external as a property
* Make it possible to force all prims to be phantom via the collidable_prim ↵Justin Clark-Casey (justincc)2011-12-221-0/+9
| | | | | | | | | boolean setting in the OpenSim.ini config [Startup] section. Naturally, default is true. When set to false, "phantom" flags on prims can be set as usual but all prims remain phantom. This setting is for test purposes. This switch does not affect the collision of avatars with the terrain.
* Move HandleObjectGroupUpdate() from GroupsModule to Scene.PacketHandlers.cs ↵Justin Clark-Casey (justincc)2011-12-191-6/+5
| | | | as this is updating SOG/SOP.GroupID, which is arguably generic.
* Fix bug where objects could not be set to a new group if the group had been ↵Justin Clark-Casey (justincc)2011-12-171-3/+1
| | | | | | | | | | created in that client session, or if no other action has been performed on the object. There were two problems here: 1) On object group update, we looked for the group is the IClientAPI group cache rather than in the groups service. This fails to groups created newly in that session 2) On object group update, we weren't setting the HasGroupChanged flag. This meant that the change was not persisted unless some other action set this flag. This commit fixes these issues and hopefully addresses http://opensimulator.org/mantis/view.php?id=5588 This commit also moves HandleObjectGroupUpdate() to the GroupsModule from the Scene.PacketHandlers.cs file
* No functional changes. Changed the prefix of that log message [CONNECTION ↵Diva Canto2011-12-161-6/+6
| | | | | | BEGIN] to [SCENE] because that's where the message happens. Also changed the instantiation of a vector object to be done only once instead of every time we receive a position update.
* Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and ↵Dan Lake2011-12-121-4/+4
| | | | IsColliding
* Do some clean up Scene.cs log messages.Justin Clark-Casey (justincc)2011-12-091-24/+38
| | | | | This prints out both exception message and stacktrace (Exception.ToString()) isn't enough on Windows. This also uses m_log.*Format() which is more efficient than string concat.
* Get rid of IScene.PresenceChildStatus() which always had to execute a lookup ↵Justin Clark-Casey (justincc)2011-12-091-11/+0
| | | | in favour of IClientAPI.ISceneAgent.IsChildAgent instead.
* Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().Justin Clark-Casey (justincc)2011-12-081-11/+4
| | | | | The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists. This allows us to eliminate another null check elsewhere and simplifies the method contract
* On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)2011-12-081-12/+3
| | | | | | | | | it's live before sending other data. This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
* Simplify Scene.AddNewClient()Justin Clark-Casey (justincc)2011-12-081-17/+28
| | | | | If sp becomes null right after we've checked or created it, then behaviour down the line is going to be wrong anyway. So instead retain the check/create ScenePresence reference and use this.
* On an Exception in Scene.RemoveClient(), always remove the client (and SP) ↵Justin Clark-Casey (justincc)2011-12-071-19/+28
| | | | structure so that logout on unexpired packets isn't retriggered, causing the same exception
* Implement XMLRPCAdmin command admin_teleport_agent.Justin Clark-Casey (justincc)2011-12-071-3/+3
| | | | This allows someone with access to this command on the XMLRPCAdmin interface to teleport an avatar to an arbitrary region and/or position.