aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-06-08Don't make duplicate call to ScenePresence.Close() separately in ↵Justin Clark-Casey (justincc)3-81/+74
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.
2012-06-08Go back to calling IncomingCloseAgent() in the "kick user" command for ↵Justin Clark-Casey (justincc)1-6/+0
consistency instead of IClientAPI.Close() directly. This no longer double counts child agent removals
2012-06-08Remove duplicate update of user count in Scene.IncomingCloseAgent()Justin Clark-Casey (justincc)3-14/+27
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
2012-06-08Fix bug with "kick user" reducing agent counts by 2 instead of 1.Justin Clark-Casey (justincc)2-20/+22
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()
2012-06-07Record the fact that child agents can have asset transactions.Justin Clark-Casey (justincc)2-23/+18
Also change code to grab the agent asset transaction module once.
2012-06-07Don't send kill object messages to clients when a child agent is closed.Justin Clark-Casey (justincc)1-18/+21
2012-06-05Scale down per frame MS stats to match scaled simulator FPS stat.Justin Clark-Casey (justincc)1-1/+1
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers. In some ways this is not so artifical - physics FPS runs at the higher rate.
2012-06-05Start sending spare frame time MS viewer stat. Make frame time correctly ↵Justin Clark-Casey (justincc)2-78/+124
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.
2012-06-04Properly show per frame millisecond statistics per frame, not as amount of ↵Justin Clark-Casey (justincc)1-22/+41
time taken per second. This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load) Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
2012-06-04Correct the delegate specification in EventManager.TriggerTerrainTainted. ↵Robert Adams1-1/+1
Looks like the wrong one was cut and pasted.
2012-06-01Instead of updating sim stats root agent, child, objects and scripts ↵Justin Clark-Casey (justincc)2-33/+14
accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run
2012-05-31Add an optional mechanism for physics modules to collect and return ↵Justin Clark-Casey (justincc)1-5/+43
arbitrary stats. If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule (http://opensimulator.org/wiki/Monitoring_Module) This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings]. This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing. This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds. The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
2012-05-29Fix collision filtering. The filter should be checked on the receiving part!Melanie1-9/+9
2012-05-26If restating a region, clean up the physics scene after the main scene has ↵Justin Clark-Casey (justincc)1-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.
2012-05-26refactor: replace LSL_Api.InventoryKey(string) largely with ↵Justin Clark-Casey (justincc)2-8/+27
SceneObjectPartInventory.GetInventoryItem(string) Also gets llStopAnimation() to call KeyOrName rather than duplicating logic.
2012-05-25Remove a call stack debugging line accidentally left in from a few days ago ↵Justin Clark-Casey (justincc)1-2/+0
at SceneObjectPartInventory.ApplyNextOwnerPermissions().
2012-05-25Stop it being possible for an agent to teleport back to its source region ↵Justin Clark-Casey (justincc)2-4/+4
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.
2012-05-24If an agent is still registered as 'in transit' by the source region, don't ↵Justin Clark-Casey (justincc)3-36/+80
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.
2012-05-23Environment Module - allows Environment settings for Viewer3 warning: ↵PixelTomsen3-0/+77
includes database region store migrations for mssql, mysql, sqlite enable/disable this module: Cap_EnvironmentSettings = "localhost" (for enable) Cap_EnvironmentSettings = "" (for disable) at ClientStack.LindenCaps section (OpenSimDefaults.ini file) or owerwrite in OpenSim.ini mantis: http://opensimulator.org/mantis/view.php?id=5860 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-23Fix llGetSimulatorHostname to return configured hostnameBlueWall1-0/+1
2012-05-23Add "show scene" command which lists stats for the currently selected ↵Justin Clark-Casey (justincc)1-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.)
2012-05-23Fix bug where an avatar that had an object they owned attached through ↵Justin Clark-Casey (justincc)4-6/+33
llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene. This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
2012-05-21minor: extend commented out LinkInventoryItem log message for future useJustin Clark-Casey (justincc)1-5/+5
2012-05-19Add size of region to OAR control file. Megaregions (sw root OARs when ↵Justin Clark-Casey (justincc)1-1/+15
saved) will have a size larger than 256x256 Not yet read. Do not rely on this information yet, it may change.
2012-05-19Remove recent IRegionCombinerModule.IsMegaregion(). In theory, there can be ↵Justin Clark-Casey (justincc)1-8/+2
more than one megaregion in a simulator, separated by water. Rename IsRootRegion() to IsRootForMegaregion()
2012-05-19Add is_megaregion flag into oar control file. Not currently read - for ↵Justin Clark-Casey (justincc)1-0/+51
future use. Please do not rely on this remaining here. An adaptation of part of Garmin's patch from http://opensimulator.org/mantis/view.php?id=5975, thanks! Flag only written if the SW corner OAR is saved - this is the only one that captures object data presently (though not land or terrain data). This adds an IRegionCombinerModule interface and the necessary methods on RegionCombinerModule
2012-05-18Further refinement on propertiesBlueWall1-7/+4
2012-05-18Cleanup + change properties to set fields with private set : Thanks Justin ↵BlueWall2-3/+4
for the tip.
2012-05-18Provide Telehub setting to allow use of landmarksBlueWall2-1/+9
Setting to allow use of landmarks to override telehub routing. Default is off.
2012-05-17Check agent limit against root agent count rather than both root and child ↵Justin Clark-Casey (justincc)3-22/+43
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.
2012-05-17Force the default Telehub router if no matches are found in the config.BlueWall1-29/+28
2012-05-17minor: improve method doc for ↵Justin Clark-Casey (justincc)1-1/+1
TestSameSimulatorSeparatedRegionsCreateAgentFails()
2012-05-17Add regression TestSameSimulatorSeparatedRegionsCreateAgentFails()Justin Clark-Casey (justincc)1-0/+67
2012-05-17Comment out TestSameSimulatorSeparatedRegionsQueryAccessFails() regression ↵Justin Clark-Casey (justincc)1-2/+2
test logging accidentally left in
2012-05-17Add regression TestSameSimulatorSeparatedRegionsQueryAccessFails()Justin Clark-Casey (justincc)1-0/+76
2012-05-16Route OAR SOG loading through the common ↵Justin Clark-Casey (justincc)2-113/+4
SceneObjectSerializer.FromXml2Format() rather than the functionally identical but buggy Xml2ToSOG(). Remove buggy Xml2ToSOG().
2012-05-15Fix issue where loading OARs could sometimes result in link numbers being ↵Justin Clark-Casey (justincc)1-1/+12
reordered. This was because the parts in scene objects were sometimes not serialized in link order. This is perfectly fine since the parts still have the right link numbers, but an extra fix to adjust for this had not been done in the SerialiserModule methods that OAR loading used. Add regression test for same. Addresses http://opensimulator.org/mantis/view.php?id=5948, http://opensimulator.org/mantis/view.php?id=5749
2012-05-14Add another null check to Melanie's last commit. Seems to eliminate sqlite ↵dahlia1-1/+1
errors in log but no idea if it's working properly
2012-05-15Guard against null root part on SQLite. This really needs to be fixed so SQLiteMelanie1-1/+1
loads roots before children like MySQL does.
2012-05-15Try to fix sqlite breakageMelanie1-0/+3
2012-05-15Port Avination's collision fixes to core.Melanie3-512/+188
2012-05-14minor: comment out individual attachment transfer log messages for nowJustin Clark-Casey (justincc)1-4/+4
2012-05-13Add configurable SpawnPointRoutingBlueWall2-38/+146
Will use one of three selected methods to route avatar landing points when using Telehubs. The setting is in [Startup] using SpawnPointRouting = closest/random/sequence closest: The default setting. Routes avatar to the nearest SpawnPoint to the location. random: Picks random SpawnPoints to land the avatar. sequence: Follows a sequence to place the avatar on the next available SpawnPoint location Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs
2012-05-10Add even for terrain tainting and synchronize terrain module with physics ↵Dan Lake2-7/+33
scene before physics simulation step rather than after
2012-05-09Improve logging on the prim inventory script asset request path for future use.Justin Clark-Casey (justincc)1-0/+4
This adds name and description of the request handler to http request logging when DebugLevel >= 1
2012-05-09Remove physics actor related race conditions in SetVehicleFlags() and ↵Justin Clark-Casey (justincc)1-7/+9
SetPhysicsAxisRotation() sop.PhysActor can currently become null at any time.
2012-05-08Trigger event when scene presences are updatedDan Lake2-0/+34
2012-05-09Mantis 1456 same region teleport of a sitting avatar.Talun1-0/+2
Region to region was fixed some time ago in EntityTransferModule. This applies the same fix for same region teleports.
2012-05-08Perform SceneGraph.DuplicateObject() under existing m_updateLock already ↵Justin Clark-Casey (justincc)1-75/+89
used for link and delinking, in order to avoid race conditions. DuplicateObject() relies on source object having correct link numbers for the duration of the dupe. Both link and delink can change link numbers such that they are not consistent for short periods of time.
2012-05-07remove default values from prior commit since mono cant deal with themdahlia1-1/+1