aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-03-17Region access control! Region operators can now specify things like ↵Diva Canto1-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.
2012-03-16Terrain: added [Terrain] section with an option to load an initial flat ↵Diva Canto1-2/+9
terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
2012-03-15Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)1-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.
2012-03-08Display help commander topics in capitalized form - the commands themselves ↵Justin Clark-Casey (justincc)1-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
2012-03-08Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)1-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.
2012-03-07Stop individually deleting objects at the end of each ObjectTortureTest.Justin Clark-Casey (justincc)1-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.
2012-03-06Explictly close down the StatsReporter so that we can shutdown its timerJustin Clark-Casey (justincc)1-0/+2
This is another step necessary for the scene to be garbage collected between performance tests
2012-03-02Remove outdated comment about checking attachment prims in ↵Justin Clark-Casey (justincc)1-3/+1
Scene.PipeEventsForScript()
2012-03-02Allow a script to receive events if its root prim is in an area where it's ↵Justin Clark-Casey (justincc)1-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!
2012-02-24Get rid of some of the identical exception catching in Scene.Update().Justin Clark-Casey (justincc)1-17/+1
2012-02-24Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)1-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.
2012-02-23Try to resolve some problems with viewers crashing after hitting parcel ↵Justin Clark-Casey (justincc)1-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
2012-02-23Add a position parameter to region crossing of objects. This avoids theMelanie1-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.
2012-02-22Remove two spurious m_sceneGraph != null checks in Scene.cs. It's set in ↵Justin Clark-Casey (justincc)1-8/+2
constructor and never subsequent set to null.
2012-02-21Fix bug where NPCs would establish child agents on other neighbour regions ↵Justin Clark-Casey (justincc)1-15/+14
that had come up after the NPC was created.
2012-02-19Use localy defined name, TPFlags, for Constants.TeleportFlagsBlueWall1-6/+6
2012-02-18Route logins according to Estate, Telehub and TeleportFlagsBlueWall1-2/+4
2012-02-18Propagate our teleport flags on loginsBlueWall1-1/+4
2012-02-17Fix missing telehub handling on loginBlueWall1-0/+21
2012-02-14Add some more data to the new user connection logging for debug purposes.Justin Clark-Casey (justincc)1-3/+3
2012-02-04change NonPhysicalPrimMax to NonphysicalPrimMax in Scenes.cs to make thenebadon1-1/+1
variable in OpenSim.ini and Regions.ini match
2012-02-02ObjectAddedToScene event should be fired when duplicating objectsDan Lake1-4/+22
2012-02-01Add event RegionHeartbeatEnd for modules interested in coordinating activity ↵Dan Lake1-10/+12
with region heartbeats
2012-02-01Small optimization to last commitMelanie1-5/+5
2012-02-01Fix copy/paste errorsMelanie1-2/+2
2012-02-01Straighten out some attachment mess. Don't save attachment states for HGMelanie1-1/+11
visitors at all. On Leaving a sim, save only the changed ones. Don't save all scripted stuff when leaving a sim.
2012-01-31Move object delete commands into a commands region module, in preparation ↵Justin Clark-Casey (justincc)1-104/+0
for adding similar show commands.
2012-01-31Add torture tests to test adding 10,000, 100,000 and 200,000 single prim ↵Justin Clark-Casey (justincc)1-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.
2012-01-26Support rejecting a teleport if a user is banned in all parcels that haveMelanie1-0/+30
spawn points
2012-01-19Add a version of GetGroupByPrim to Scene which accepts UUID instead of localIDDan Lake1-0/+10
2012-01-10Teleport DebuggingBlueWall1-2/+0
Move setting from ini to existing facitilies - thanks justincc toggle with console command: debug teleport
2012-01-09Add some run-time debugging supportBlueWall1-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.
2012-01-09Use our TeleportFlagsBlueWall1-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.
2012-01-04Added EventManager.OnRegionStarted which is triggered when Heartbeat is started.Dan Lake1-0/+1
2011-12-30Bug fix in map tiles in standalone: the map has been blank since commit ↵Diva Canto1-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.
2011-12-22rename Scene.m_physicalPrim to PhysicalPrims since its public and access ↵Justin Clark-Casey (justincc)1-2/+2
external as a property
2011-12-22Make it possible to force all prims to be phantom via the collidable_prim ↵Justin Clark-Casey (justincc)1-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.
2011-12-19Move HandleObjectGroupUpdate() from GroupsModule to Scene.PacketHandlers.cs ↵Justin Clark-Casey (justincc)1-6/+5
as this is updating SOG/SOP.GroupID, which is arguably generic.
2011-12-17Fix bug where objects could not be set to a new group if the group had been ↵Justin Clark-Casey (justincc)1-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
2011-12-16No functional changes. Changed the prefix of that log message [CONNECTION ↵Diva Canto1-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.
2011-12-12Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and ↵Dan Lake1-4/+4
IsColliding
2011-12-09Do some clean up Scene.cs log messages.Justin Clark-Casey (justincc)1-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.
2011-12-09Get rid of IScene.PresenceChildStatus() which always had to execute a lookup ↵Justin Clark-Casey (justincc)1-11/+0
in favour of IClientAPI.ISceneAgent.IsChildAgent instead.
2011-12-08Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().Justin Clark-Casey (justincc)1-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
2011-12-08On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)1-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
2011-12-08Simplify Scene.AddNewClient()Justin Clark-Casey (justincc)1-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.
2011-12-07On an Exception in Scene.RemoveClient(), always remove the client (and SP) ↵Justin Clark-Casey (justincc)1-19/+28
structure so that logout on unexpired packets isn't retriggered, causing the same exception
2011-12-07Implement XMLRPCAdmin command admin_teleport_agent.Justin Clark-Casey (justincc)1-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.
2011-12-02Stop some places where we're trying to reset animations in child agents ↵Justin Clark-Casey (justincc)1-1/+0
where such requests are ignored.
2011-11-24Remove bizarre call to PhysicsScene.Simulate(0) in ↵Justin Clark-Casey (justincc)1-4/+2
Scene.GetNearestAllowedPosition() At least on ODE, this wasn't doing any harm but there wasn't any point to it either