Melanie Thielker
2b48ed60ec
Remove the m_Viewer variable and make the property a shortcut to the
...
proper field in AgentCircuitData instead
2010-05-05 23:41:57 +01:00
Melanie
ad2039a8c4
Stab a test fail
2010-05-05 22:48:05 +01:00
Melanie Thielker
e45f5ac126
Plumb Viewer version into ScenePresence for initial login. It's still not
...
carried along
2010-05-05 22:33:22 +01:00
Melanie Thielker
9cf0077bf9
Add "reload estate" command to sims
2010-05-04 16:11:06 +01:00
Melanie Thielker
6eea0a3931
Allow reloading of estate settings into a running region. Move sun update
...
helper into Scene, since that is less evil than exposing m_storageManager
to the public.
2010-05-04 15:52:36 +01:00
Melanie
7a8ad1ceb2
Make in-place sale send CHANGED_OWNER again
2010-05-03 01:30:57 +01:00
Melanie
22b3217113
Fix link security issue
2010-04-30 11:46:50 +01:00
Melanie
21cad5d3ac
All scripts are now created suspended and are only unsuspended when the object
...
is fully rezzed and all scripts in it are instantiated. This ensures that link
messages will not be lost on rez/region crossing and makes heavily scripted
objects reliable.
2010-04-19 06:29:26 +01:00
Justin Clark-Casey (justincc)
26e3884237
refactor: move DeatchObject() into the AttachmentsModule
2010-04-17 00:00:45 +01:00
Justin Clark-Casey (justincc)
17d023ba5b
refactor: crudely move the RezMultipleAttachments() method into the AttachmentsModule
2010-04-16 22:54:25 +01:00
dahlia
3d0860ae61
thanks lkalif for Mantis #4676 - a patch that adds support for inventory links
...
Signed-off-by: dahlia <dahliaTrimble@gmail.removeme.com>
2010-04-12 17:10:51 -07:00
Melanie
ec637e2b8c
Committing the LightShare code, which was developed by TomMeta of Meta7.
...
This allows scripts to set WindLight parameters for clients connecting
to a region. Currently, this is only supported by the Meta7 viewer.
2010-03-31 04:20:20 +01:00
Melanie
607ed61ec2
Stab one bug. When joining an estate with a new region, make sure it's also
...
used on first run and not only later.
2010-03-28 23:18:25 +01:00
John Hurliman
5a2315c68c
* Fixed a bug with null value handling in WebUtil.BuildQueryString()
...
* Changed the null check back in estate manager setup but fixed the case for an existing account being found
* Implemented SetPassword() in the SimianGrid auth connector
2010-03-26 12:21:05 -07:00
John Hurliman
dd1c1b3bcd
Fixed a backwards null check that was preventing estate owner from being set and a misleading error message (in grid mode it tries to get a user, not create one)
2010-03-26 11:08:14 -07:00
Justin Clark-Casey (justincc)
19c659ca99
fix unit tests broken by commit dcf18689b9
...
can't prompt for estate owner in unit tests
2010-03-25 21:46:23 +00:00
Melanie
dcf18689b9
First stage of the new interactive region creation. This will allow creation
...
of a region and joining it to an existing estate or creating a new estate,
as well as creating an estate owner if in standalone, and assigning estate
owners. In Grid mode, existing users must be used. MySQL ONLY!!!! so far, as
I can't develop or test for either SQLite or MSSQL.
2010-03-23 02:05:56 +00:00
Melanie
70b0e07d1e
Remove the reading of estate_settings.xml and the associated processing of
...
defaults. Adding code to facilitate estate creation / managemment as part of
first time start up
2010-03-22 18:49:56 +00:00
Dan Lake
62e0b53ca4
Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files.
2010-03-19 15:16:44 -07:00
Dan Lake
859bc717a4
Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>).
2010-03-19 15:16:35 -07:00
Dan Lake
73e9b0be72
Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class.
...
This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
2010-03-17 11:21:27 -07:00
John Hurliman
b51f40da8f
Removed the unused use_async_when_possible config variable
2010-03-16 12:03:04 -07:00
Justin Clark-Casey (justincc)
315fa06c75
refactor: Move another RezSingleAttachment() from Scene.Inventory to AttachmentsModule
2010-03-12 23:20:38 +00:00
Justin Clark-Casey (justincc)
582375509c
refactor: move RezSingleAttachmentFromInventory() from SceneGraph to AttachmentsModule
2010-03-12 22:48:49 +00:00
Justin Clark-Casey (justincc)
b9f5cd75bc
refactor: move client invoked AttachObject from SceneGraph to AttachmentsModule
2010-03-12 22:39:15 +00:00
Jeff Ames
f58a0394ed
Formatting cleanup. Add copyright notices.
2010-03-10 13:15:36 +09:00
unknown
98f91a252c
- parcel blocking, region crossing blocking, teleport blocking
...
Signed-off-by: Melanie <melanie@t-data.com>
2010-03-09 22:43:55 +00:00
Diva Canto
f4c165afe7
Bug fix: store correct position information upon logout. Fixes mantis #4608
2010-03-06 08:21:54 -08:00
John Hurliman
27b8d13057
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2010-03-05 17:05:15 -08:00
John Hurliman
36afd0bfd1
* Cache packed throttle data to avoid repeated allocations in CheckForSignificantMovement()
...
* Removed a lock on "return m_neighbours.Count" in GetInaccurateNeighborCount(). Dictionary<>.Count by itself does not benefit from locking
2010-03-05 17:04:20 -08:00
Justin Clark-Casey (justincc)
395f343498
refactor: Move DetachSingleAttachmentToInv to region module
...
need to rationalize method names later
2010-03-06 00:07:47 +00:00
Justin Clark-Casey (justincc)
60553e62a3
refactor: begin to move attachments code into a region module
2010-03-05 23:18:47 +00:00
Justin Clark-Casey (justincc)
edb176447b
Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated).
...
The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client.
Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates.
The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do.
2010-03-03 22:14:06 +00:00
Diva Canto
14073831d2
Fixes Region.Framework tests. Although these tests don't fail, they need to be rewritten, because they are doing agent manipulations in the wrong way, so they're fairly meaningless.
2010-03-02 07:53:52 -08:00
Diva Canto
5c5966545d
Initial Online friends notification seems to be working reliably now. All this needs more testing, but everything is there.
2010-02-28 12:07:38 -08:00
John Hurliman
71c6559a91
Merge branch 'presence-refactor' of ssh://opensimulator.org/var/git/opensim into presence-refactor
2010-02-22 14:10:19 -08:00
John Hurliman
7665aad002
* Adds CreatorID to asset metadata. This is just the plumbing to support CreatorID, it doesn't modify database backends or OAR files to support storing/loading it
2010-02-22 13:27:17 -08:00
Melanie
1f45e6c649
Merge branch 'master' into presence-refactor
...
This brings presence-refactor up to master again
2010-02-22 03:00:59 +00:00
Jeff Ames
af265e001d
Formatting cleanup.
2010-02-15 19:21:56 +09:00
Melanie
c033223c63
Merge branch 'master' into presence-refactor
2010-02-15 00:20:48 +00:00
Revolution
9821c4f566
Revolution is on the roll again! :)
...
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).
Direct flames and kudos to Revolution, please
Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Justin Clark-Casey (justincc)
802a969267
Fix http://opensimulator.org/mantis/view.php?id=4224
...
This resolves the problem where eyes and hair would turn white on standalone configurations
When a client receives body part information, for some insane reason or other it always ends up uploading this back to the server and then immediately re-requesting it.
This should have been okay since we stored that asset in cache. However, the standalone asset service connector was not checking this cache properly, so every time the client made the request for the asset it has just loaded it would get a big fat null back in the face, causing it to make clothes and hair white.
This bug did not affect grids since they use a different service connector.
2010-02-12 21:32:03 +00:00
Melanie
1d75ad9fd5
Merge branch 'master' into presence-refactor
2010-02-08 21:54:26 +00:00
Justin Clark-Casey (justincc)
9f4883d146
refactor: Reuse SceneObjectGroup.IsAttachmentCheckFull() in Scene.AddSceneObject since this wraps a check that is much less clear
2010-02-08 19:10:54 +00:00
Justin Clark-Casey (justincc)
00947cf2ca
Add EventManager.OnIncomingSceneObject event which is triggered by an incoming scene object
...
Add a read-only Attachments property to ScenePresence
2010-02-08 19:02:20 +00:00
Melanie
baaf660511
Merge branch 'master' into presence-refactor
...
This was a large, heavily conflicted merge and things MAY have got broken.
Please check!
2010-02-08 15:53:38 +00:00
Melanie
2953bee1f4
Revert "change position of OnAttach event firing so that this also happens when a user teleports into a region"
...
The behavior introduced here is not compatible with SL
This reverts commit b6bee4999c
.
2010-02-04 17:11:06 +00:00
Justin Clark-Casey (justincc)
b6bee4999c
change position of OnAttach event firing so that this also happens when a user teleports into a region
2010-02-03 15:35:41 +00:00
Justin Clark-Casey (justincc)
05a3e37b85
Apply http://opensimulator.org/mantis/view.php?id=3334
...
Send continuous touch() events if the left mouse button is held down while moving over an object
This conforms with Linden Lab practice
Thanks Revolution
2010-01-29 23:12:08 +00:00
Diva Canto
00f7d622cb
HG 1.5 is in place. Tested in standalone only.
2010-01-28 19:19:42 -08:00
Justin Clark-Casey (justincc)
38cfc9366c
Fix a problem where llDie() calls were sometimes leaving dead objects behind.
...
When an object was deleted, the remove script instance call was aggregating the scripting events as normal.
This would queue a full update of the prim before the viewer was notifed of the deletion of that prim (QuitPacket)
On some occasions, the QuitPacket would be sent before the full update was dequeued and sent.
In principle, you would think that a viewer would ignore updates for deleted prims. But it appears that in the Linden viewer (1.23.5),
a prim update that arrives after the prim was deleted instead makes the deleted prim persist in the viewer. Such prims have no properties
and cannot be removed from the viewer except by a relog.
This change stops the prim event aggregation call if it's being deleted anyway, hence removing the spurious viewer-confusing update.
2010-01-25 21:51:58 +00:00
Diva Canto
bbbe9e73cc
* Fixed misspelling of field in GridService
...
* Moved TeleportClientHome to EntityTransferModule
2010-01-18 09:14:19 -08:00
Diva Canto
04e29c1bac
Beginning of rewriting HG. Compiles, and runs, but HG functions not restored yet.
2010-01-16 21:42:44 -08:00
Diva Canto
ee1fb81376
Finished moving object crossings into EntityTransferModule
2010-01-16 08:42:20 -08:00
Diva Canto
bd6d1a2444
Moved prim crossing to EntityTransferModule. Not complete yet.
2010-01-16 07:46:07 -08:00
Diva Canto
32bfbdab6f
Merge branch 'presence-refactor' of ssh://diva@opensimulator.org/var/git/opensim into presence-refactor
2010-01-15 17:24:41 -08:00
Diva Canto
4ac3c0e81b
Renamed IAgentTransferModule to IEntityTransferModule -- accounts for objects too.
2010-01-15 17:14:48 -08:00
Melanie
10f8c2ea9b
Merge branch 'master' into presence-refactor
...
This merge was very conflicted. I think I got them all, but I can't be sure.
I had to merge to master or risk divergence to the point of unmergeability.
2010-01-16 00:05:08 +00:00
Diva Canto
f1c30784ac
* General cleanup of Teleports, Crossings and Child agents. They are now in the new AgentTransferModule, in line with what MW started implementing back in May -- ITeleportModule. This has been renamed IAgentTransferModule, to be more generic.
...
* HGSceneCommunicationService has been deleted
* SceneCommunicationService will likely be deleted soon too
2010-01-15 15:11:58 -08:00
Diva Canto
e90a5895ad
Bug fix in releasing agent. In Scene, always use SimulatonService, and not m_SimulationService, because it may be null...
2010-01-13 21:32:48 -08:00
Diva Canto
daa9866a9a
Omit AuthorizationService from the default configurations, because the service doesn't exist in the distribution.
2010-01-13 19:25:33 -08:00
Diva Canto
7356860b48
Several more buglets removed.
2010-01-13 09:17:30 -08:00
Melanie
e3a04fcb7b
Change the error messages on region region registration. This changes URM
...
and region. The non-error case should be compatible, so no version bump.
Untested.
2010-01-13 03:08:34 +00:00
Diva Canto
011a1b3798
More appearance woes fixed, this time for child agents. Tested on a grid with 2 simulators. Everything seems to be working, including border crosses. TPs (prim crossing) need love now.
2010-01-12 09:49:27 -08:00
Diva Canto
66920a9047
Fixed more appearance woes that showed up using remote connectors. Appearance is now being passed with AgentCircuitData, as it should be.
2010-01-12 09:22:58 -08:00
Diva Canto
77e43f4801
Fixed a couple of bugs with Appearance. Appearance is all good now.
2010-01-11 17:30:05 -08:00
Diva Canto
c5ea783526
OpenSim/Framework/Communications/Cache deleted. LibraryRootFolder deleted.
2010-01-11 07:51:33 -08:00
Diva Canto
001d369568
CommunicationsManager deleted.
2010-01-11 07:45:47 -08:00
Diva Canto
dc4bbf6065
All Framework.Communications.Clients and Framework.Communications.Services deleted, including old LoginService.
2010-01-10 20:29:09 -08:00
Diva Canto
4dd523b45d
* Changed IPresenceService Logout, so that it takes a position and a lookat
...
* CommsManager.AvatarService rerouted
2010-01-10 15:34:56 -08:00
Diva Canto
1e1b2ab221
* OMG! All but one references to UserProfileCacheService have been rerouted!
...
* HG is seriously broken here
* Compiles. Untested.
2010-01-10 10:40:07 -08:00
Melanie
45b19e5e2d
Fix a small bug in login disable code
2010-01-10 04:05:19 +00:00
Melanie
b0a7bcb2c8
Add "StartDisabled" to [Startup] to make all regions start up with
...
logins disabled until enabled from the console. Add the AccessModule (WIP)
2010-01-10 03:17:40 +00:00
Diva Canto
25fdbd6cbc
Less refs to UserProfileCacheService. Compiles but likely doesn't run.
2010-01-09 09:09:32 -08:00
Melanie
673a52fa7a
Implement the groups module query to make the estate allowed groups work
2010-01-09 15:58:18 +00:00
Diva Canto
6b60f3cce5
A few more inches... Old friends things removed. Less references to UserProfileService.
2010-01-08 20:31:29 -08:00
Diva Canto
b63405c1a7
Inching ahead... This compiles, but very likely does not run.
2010-01-08 10:43:34 -08:00
Diva Canto
f11a97f12d
* Finished SimulationServiceConnector
...
* Started rerouting calls to UserService.
* Compiles. May run.
2010-01-07 15:53:55 -08:00
Melanie
7f960cd595
Merge branch 'master' into presence-refactor
2010-01-04 21:41:33 +00:00
Jeff Ames
70d5b1c34c
Formatting cleanup. Add copyright headers.
2010-01-04 06:17:30 +09:00
Diva Canto
8a9677a531
The Library Service is now working. UserProfileCacheService.LibraryRoot is obsolete. Didn't delete it yet to avoid merge conflicts later -- want to stay out of core as much as possible.
2010-01-01 21:12:46 -08:00
Diva Canto
4240f2dec6
New LL login service is working! -- tested in standalone only. Things still missing from response, namely Library and Friends. Appearance service is also missing.
2010-01-01 16:54:24 -08:00
Diva Canto
a8901a40f4
Simulation handlers (agents & objects) completed.
2009-12-31 09:25:16 -08:00
Melanie
0b5cdc539c
Change teleports so the TeleportFlags are sent to the destination sim. It
...
can now determine if a connection is from login, teleport or crossing.
Needed for a meaningful banlines implementation
2009-12-29 18:35:06 +00:00
Melanie
37b07aa9ec
Fix a case where an idle sim can eat 100% of a core
2009-12-20 16:44:31 +00:00
Melanie
0813dc8c1d
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2009-12-14 00:32:00 +00:00
Melanie
c426549f53
Add an option to exit an instance rather than restarting a region within it
2009-12-14 00:31:15 +00:00
Adam Frisby
963cf25813
* Implements OSSL function: osGetSimulatorMemory - returns the current amount of memory allocated to the simulator process (Moderate Threat Level).
...
* Cleans redundant information out of the Simulator Version. Versions now look like:
"OpenSimulator 0.6.9(dev) Unix/Mono"
* [Minor] additional log info for MySQLInventoryData
2009-12-13 03:04:16 +11:00
Teravus Ovares (Dan Olivares)
d9a20edfb0
* Move code from that last commit to LLClientView since it's a linden client specific limitation, it moves to the Linden Specific client handler.
2009-12-03 02:02:04 -05:00
Teravus Ovares (Dan Olivares)
af04cd1ae0
* If the position that comes in on Scene.SetHomeRezPoint has a component that is 255.5, replace the component with the user's position in the simulator.
...
* Fixes mantis 4414: http://opensimulator.org/mantis/view.php?id=4414
2009-12-03 01:50:54 -05:00
Teravus Ovares (Dan Olivares)
75e28b3a16
* Fix Inconsistent line ending style on Scene
2009-12-01 10:48:11 -05:00
Teravus Ovares (Dan Olivares)
4338f4e1d7
* Patch from Misterblue to fix Environment.TickCount for statistics purposes. Resolves the wrap-around of the 32 bit uint.
...
* Teravus moved the Environment methods to the Util class
2009-11-29 05:06:25 -05:00
Justin Clark-Casey (justincc)
66f511c76a
Remove unused GetDefaultAppearance() static function that is also available on AvatarFactoryModule
2009-11-27 19:45:33 +00:00
Jeff Lee
d39c300d11
Added osGetRegionStats() function, to return a number of sim statistics
2009-11-26 17:43:00 +00:00
Melanie
9d63f90467
Remove the old (Remoting) region crossing code. Fix the new code to
...
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
Melanie
05fc504ff3
Remove the old remoting-type interregion code for prim/script crossing
2009-11-26 12:16:42 +00:00
Teravus Ovares (Dan Olivares)
0ff3c28f90
* This doesn't fix mantis 3522, but it should mitigate it.
...
* If the start position is outside of the region on the X and Y, put the user in the center of the region and then damp the Z position at 720 if necessary. If the start position is not outside of the region on the X or Y, then don't check the Z.
2009-11-22 20:21:33 -05:00
Justin Clark-Casey (justincc)
8f0db68424
Fix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for statements cause script compile failures
...
This fixes a problem in OpenSim where statements of the form
for ((i = 0); (i < 10); (++i)) { ... }
do not compile even though they are valid lsl.
2009-11-20 18:39:39 +00:00
Justin Clark-Casey (justincc)
622003ab09
minor: tweak log message to say which region is being enabled for logins
2009-11-18 20:27:37 +00:00
dahlia
2e24415077
undo previous changes
...
add a GetGroupByPrim() method to Scene.cs
delete a redundant method
2009-11-13 22:13:40 -08:00
Teravus Ovares (Dan Olivares)
4a2d82e14b
* Thanks to a little help from jhurliman, jradford, diva, mono's brajkovic, miguel, and the fabulous bug reports by our community members.. The workaround fix for the "ERROR:metadata.c:3211:mono_metadata_token_from_dor: code should not be reached" bug in the RegionCombinerModule.
2009-11-11 02:47:17 -05:00
John Hurliman
e6d7303b29
Applying #4332 , optional packet statistics logging
2009-11-05 12:01:40 -08:00
Justin Clark-Casey (justincc)
9dd5d63495
minor: remove some mono compiler warnings
2009-11-04 19:44:28 +00:00
John Hurliman
67ac9881fa
Removing duplicate SceneObjectPart.RotationalVelocity property
2009-11-02 11:28:35 -08:00
Adam Frisby
838bc80ab9
* Implemented some tweaks to monitoring module.
...
* Output is prettier & more useful.
* Added 'Alerts' to allow rules to be constructed using Monitors to detect for events such as deadlocks. This will be translated to SNMP Traps when I get SNMP implemented.
2009-11-02 00:05:49 +11:00
Adam Frisby
711dde34e4
* Implements new 'Monitoring' system for reporting performance.
...
* Mostly the same set as the StatsMonitor used for Viewer notification, but exposes some new frametimes - including EventMS, PhysicsUpdateMS, LandUpdateMS; new memory monitoring - both GC.TotalMemory and Process.PrivateWorkingMemory64; also exposes ThreadCount (using System.Diagnostics.Process)
* Type 'monitor report' on the console to see output.
* SNMP Implementation forthcoming.
2009-11-01 19:37:40 +11:00
John Hurliman
59eb378d16
Small performance tweaks to code called by the heartbeat loop
2009-10-28 23:10:16 -07:00
John Hurliman
a069a1ee68
Limit physics time dilation to 1.0
2009-10-28 14:44:05 -07:00
John Hurliman
0c466b28bb
Move the calculation of time dilation from the scene to the physics engine. The scene is still the one reporting dilation so this does not break the API or remove flexibility, but it gets the calculation happening in the right place for the normal OpenSim usage. The actual calculation of physics time dilation probably needs tweaking
2009-10-27 16:24:43 -07:00
John Hurliman
a718d7d56a
Making the defaults for interest management variables match whether you have the [InterestManagement] section in your config or not
2009-10-27 10:17:20 -07:00
John Hurliman
bcd7593dfb
Forgot a line in the previous commit
2009-10-27 10:07:35 -07:00
John Hurliman
3a1ee79ee4
Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool
2009-10-27 02:36:57 -07:00
John Hurliman
d199767e69
Experimental change of PhysicsVector to Vector3. Untested
2009-10-26 18:23:43 -07:00
John Hurliman
0b1726b524
Removing the ClientManager reference from IScene and hiding it entirely inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on
2009-10-26 16:48:43 -07:00
John Hurliman
4847e62e9f
* Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
...
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman
119cf80e13
Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ODE (helps the GC make better scheduling choices), and a call to GC.Collect() right before logins are enabled for a region. Although this doesn't change actual memory usage, it improves the reported usage from OpenSim and the operating system
2009-10-26 15:52:59 -07:00
John Hurliman
ac7ccdf7d7
* Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later
...
* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-26 14:41:27 -07:00
John Hurliman
730930955a
Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
...
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff
* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()
* Improved the instantiation of PrimitiveBaseShape
2009-10-25 00:40:21 -07:00
John Hurliman
2c34619aea
* Changed various modules to not initialize timers unless the module is initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary
...
* Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created
2009-10-23 14:22:21 -07:00
John Hurliman
a41cd1d069
* Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system
...
* Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler
* Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
2009-10-23 13:14:29 -07:00
John Hurliman
62f1a5e36d
Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you
2009-10-23 02:38:59 -07:00
John Hurliman
588361e2a2
Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed
2009-10-23 01:02:36 -07:00
John Hurliman
b2ed348aa2
Implemented a Watchdog class. Do not manually create Thread objects anymore, use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated
2009-10-22 12:33:23 -07:00
Melanie
c4969d47d9
Merge branch 'master' into vehicles
2009-10-22 07:12:10 +01:00
John Hurliman
bd03cbd815
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-19 15:19:37 -07:00
John Hurliman
142008121e
* Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference
...
* Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost
* Reordered some comparisons on hot code paths for a minor speed boost
* Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow)
* Don't fire the queue empty callback for the Resend category
* Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down
* Rewrote some expensive math in LandObject.cs
* Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible
* Only update the attachment database when an object is attached or detached
* Other small misc. performance improvements
2009-10-19 15:19:09 -07:00
Melanie
ffd59868f5
Merge branch 'master' into vehicles
2009-10-19 21:58:51 +01:00
John Hurliman
233e16b99c
* Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away
...
* Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters
* Made Parallel.ProcessorCount public
* Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes()
* More cleanup of the ScenePresences vs. ClientManager nightmare
* ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-18 20:24:20 -07:00
Jeff Ames
0d29614ca1
Formatting cleanup.
2009-10-19 08:58:03 +09:00
John Hurliman
fdb2a75ad3
Committing the second part of Jim Greensky @ Intel Lab's patch, re-prioritizing updates
2009-10-17 18:01:22 -07:00
John Hurliman
b813058635
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 13:29:12 -07:00
Teravus Ovares (Dan Olivares)
f5964347bd
* fix previous commit
2009-10-16 16:25:48 -04:00
Teravus Ovares (Dan Olivares)
ac31cb89d5
* Ensure that at least 20 frames run before letting avatar in.
2009-10-16 16:22:10 -04:00
John Hurliman
5a4fda9dc3
Updating OpenSim.ini.example with the section required to enable a useful prioritization scheme
2009-10-16 11:09:18 -07:00
John Hurliman
4b75353cbf
Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
2009-10-15 16:35:27 -07:00
John Hurliman
d44b50ee46
* Removed some of the redundant broadcast functions in Scene and SceneGraph so it is clear who/what the broadcast is going to each time
...
* Removed two redundant parameters from SceneObjectPart
* Changed some code in terse update sending that was meant to work with references to work with value types (since Vector3 and Quaternion are structs)
* Committing a preview of a new method for sending object updates efficiently (all commented out for now)
2009-10-15 15:25:02 -07:00
Melanie
642084c2a9
Merge branch 'master' into vehicles
2009-10-15 21:16:05 +01:00
Melanie
6deef7d0f3
Merge branch 'master' into vehicles
2009-10-15 21:14:13 +01:00
John Hurliman
4790f8576c
* Replaced (possibly broken?) math for calculating the unix timestamp in MySQLAssetData with Utils.DateTimeToUnixTime()
...
* Disabled UpdateAccessTime() function since it was only writing zeros anyways. This gave me a significant performance improvement for startup times and avatar logins in standalone mode
* Load attachments asynchronously so avatars with lots of attachments don't have to race the timeout clock to login
2009-10-14 19:23:44 -07:00
Melanie
6bdd6ae0a0
Merge branch 'master' into htb-throttle
2009-10-14 23:31:38 +01:00
Diva Canto
bea13e3709
Setting changeY in border crossing.
2009-10-14 11:01:46 -07:00
Melanie
d83ace0d3b
Merge branch 'master' into htb-throttle
2009-10-14 05:10:43 +01:00
Dan Lake
5976ac16b0
Optimized heartbeat by calling Update() only on updated objects.
...
During the heartbeat loop, Update() is called on every SceneObjectGroup which in turn checks if any SceneObjectPart has changed. For large regions (> 100k prims) this work consumes 20-30% of a CPU even though there are only a few objects updating each frame.
There is only one other reason to check every object on every frame, and that is the case where a script has registered the object with an "at target" listener. We can easily track when an object is registered or unregistered with an AtTarget, so this is not a reason to check every object every heartbeat.
In the attached patch, I have added a dictionary to the scene which tracks the objects which have At Targets. Each heartbeat, the AtTarget() function will be called on every object registered with a listener for that event. Also, I added a dictionary to SceneGraph which stores references to objects which have been queued for updates during the heartbeat. At each heartbeat, Update() is called only on the objects which have generated updates during that beat.
2009-10-13 19:32:59 -07:00
Teravus Ovares (Dan Olivares)
31a61bbeec
* Fixes some prim crossings on megaregions with regions beyond the 512m mark
...
* There's a slight chance that this could cause a problem with regular prim crossings.. but hopefully not. Revert if it does.
2009-10-13 22:03:53 -04:00
John Hurliman
dc11643c00
* Consolidated adding / removing ClientManager IClientAPIs to two places in Scene
...
* Added some missing implementations of IClientAPI.RemoteEndPoint
* Added a ClientManager.Remove(UUID) overload
* Removed a reference to a missing project from prebuild.xml
2009-10-13 17:33:45 -07:00
John Hurliman
23a334b9f5
* Rewrote ClientManager to remove Lindenisms from OpenSim core, improve performance by removing locks, and replace LLUDPClientCollection
...
* Removed the confusing (and LL-specific) shutdowncircuit parameter from IClientAPI.Close()
* Updated the LLUDP code to only use ClientManager instead of trying to synchronize ClientManager and m_clients
* Remove clients asynchronously since it is a very slow operation (including a 2000ms sleep)
2009-10-13 14:50:03 -07:00
John Hurliman
c893761319
* Unregister event handlers in LLUDPServer when a client logs out and disconnects
...
* Move ViewerEffect handling to Scene.PacketHandlers
* Removing the unused CloseAllAgents function
* Trimming ClientManager down. This class needs to be reworked to keep LLUDP circuit codes from intruding into the abstract OpenSim core code
2009-10-13 12:50:59 -07:00
Melanie
170d2c4660
Merge branch 'master' into htb-throttle
2009-10-12 15:25:42 +01:00
Melanie
70553a979e
Merge branch 'master' into vehicles
2009-10-12 15:12:15 +01:00
Diva Canto
ef6aa444bf
Fixed tree crossing. This will alleviate
...
http://opensimulator.org/mantis/view.php?id=4163
2009-10-11 13:46:19 -07:00
John Hurliman
77e48a6725
Change the backup thread to run on a BackgroundWorker instead of a Thread. I don't have an explanation, but this seems to stop a slow but steady memory leak I was experiencing
2009-10-09 02:49:55 -07:00
Melanie
f6b8bac0fa
Merge branch 'master' into vehicles
2009-10-08 10:32:15 +01:00
John Hurliman
eb205ef4f0
Added a debug line for nebadon
2009-10-06 14:07:04 -07:00
John Hurliman
fa6027aa09
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-06 12:15:24 -07:00
Melanie
0374f1b144
Merge branch 'master' into vehicles
2009-10-06 17:44:59 +01:00
Melanie
40d0018d66
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-06 15:29:46 +01:00
Diva Canto
d4d060b57d
Commenting the DEBUG code that I added yesterday, because it's causing mono to fail with
...
https://bugzilla.novell.com/show_bug.cgi?id=538854
2009-10-06 07:49:05 -07:00
Melanie
2a060136bd
Lock the heartbeat against multiple invocations. May prevent deadlocks and/or
...
runaway thread use
2009-10-06 15:28:38 +01:00
John Hurliman
2519f071f2
Fixing a few compile errors in the previous commit
2009-10-06 02:50:59 -07:00
Diva Canto
0c46df973a
Correction on the DEBUG code.
2009-10-05 21:02:10 -07:00
Diva Canto
e36a54ee2a
#if DEBBUG code for monitoring the ThreadPool.
2009-10-05 20:39:23 -07:00
Melanie
46955f4260
Merge branch 'master' into vehicles
2009-10-02 19:04:46 +01:00
dr scofield (aka dirk husemann)
2107b67f1b
- cleaning up LandData/ILandObject capitalization issues
...
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00
Melanie
212e132e79
Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
...
This reverts commit 39842eb4af
.
2009-10-02 00:47:01 +01:00
Melanie
d6301db382
Revert "* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity"
...
This reverts commit 39842eb4af
.
2009-10-02 00:45:31 +01:00
Melanie
41ff39414b
Merge branch 'master' into vehicles
2009-10-01 14:08:15 +01:00
John Hurliman
cb26878f96
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-09-30 17:51:34 -07:00
Jeff Ames
606e831ff5
Formatting cleanup.
2009-10-01 09:38:36 +09:00
John Hurliman
acfe2d9f4e
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-09-30 15:28:23 -07:00
opensim
827b0fb199
Commit initial version of KittoFlora's vehicle changes
2009-09-30 18:51:02 +02:00
Jeff Ames
ee205e7e81
Formatting cleanup.
2009-10-01 01:17:47 +09:00
Diva Canto
bc892c1d4c
A little hack to see if this fixes the problems with ~20% of SOG's becoming phantom after an import to megaregions.
2009-09-29 07:54:56 -07:00
Diva Canto
2432cc607e
Neighbours cache working.
2009-09-27 13:43:57 -07:00
Diva Canto
5d09c53a1a
Unpacking the mess with OtherRegionUp, so we can have a real cache of the neighbours in the grid service modules.
2009-09-27 10:14:10 -07:00
Diva Canto
5757afe766
First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now.
2009-09-26 07:48:21 -07:00
John Hurliman
39842eb4af
* Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity
2009-09-16 17:17:40 -07:00
Justin Clark-Casey (justincc)
a4c093469a
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2009-09-16 18:21:46 +01:00
Justin Clark-Casey (justincc)
35260faead
on iar save/load, let the user know if they put in the wrong password
...
refactor GetUserInfo() to eliminate copypasta
2009-09-16 18:20:55 +01:00
Rob Smart
281ad1251c
updated the IAuthorizationService interface so that a message is passed back and can be displayed at the client when an avatar is denied access to a region
2009-09-16 10:04:07 -07:00
Jeff Ames
01ec93945e
Formatting cleanup.
2009-09-13 13:56:09 +09:00
Diva Canto
ce332f235c
Changed the interface of IAuthorizationService to get less data.
2009-09-10 19:56:08 -07:00
Rob Smart
16940097be
The stubs for an authorization service, at the moment the service will always grant access to an avatar entering the region if requested.
2009-09-10 17:51:28 -07:00
Justin Clark-Casey (justincc)
f5feb25dd1
fix spurious loading... messages on iar load by creating folders as version 1 rather than version 0
2009-09-10 17:08:26 +01:00
Justin Clark-Casey (justincc)
bb1f64fe51
minor: suppress mono warning 0162 generated when comparing const RegionSize against a literal number
2009-09-09 18:09:23 +01:00
Teravus Ovares (Dan Olivares)
9a06056c9a
* Fixes a 'take object from mega region' and rez it in a regular region.. and have it appear 5 regions over bug by limiting the stored position in the asset to Constants.RegionSize. The stored position in the asset gets overwritten anyway by the rezzing routine, but at least this way, there's no chance of the objects border crossing before the rezzing routine finishes.
2009-09-08 04:43:00 -04:00
Teravus Ovares (Dan Olivares)
8797a82098
Merge branch 'master' of ssh://MyConnection/var/git/opensim
2009-09-06 16:15:20 -04:00
Teravus Ovares (Dan Olivares)
511bddc8bc
* Moves another Legacy avatar inbounds check to Border
2009-09-06 16:15:06 -04:00
Melanie
998624544c
Addendum to last commit. With the last commit, some other code that should
...
have been in this commit slipped in. If the last heartbeat is more than
2 seconds ago, kill that thread and start a new one. Untested.
his commit adds support to let the first heartbeat complete unconditionally,
since it is almost always longer.
2009-09-06 16:14:45 +01:00
Melanie
dcebbc3f1b
Remove the encryption from the IAuthenticationService interface. That
...
is too high up for that type of stuff. It needs to be at the
connector/handler level
2009-09-06 15:55:14 +01:00
Teravus Ovares (Dan Olivares)
016a648a30
* Fixes various quirks rezzing in virtual regions.
...
* Breaks up the Client event registrations in Scene into methods of similar event types. The generic event registration registers all of the event types.
*Created symmetrical Un-Registration methods.
* Made the Registration and Unregistration methods public
* Hooks The events required for creating new prim and rezzing new prim into the proper scene.
2009-09-04 20:19:34 -04:00
Jeff Ames
56ddd6828c
Add copyright headers. Formatting cleanup.
2009-09-03 02:04:17 +09:00
Teravus Ovares (Dan Olivares)
9505297fb1
* One last attempt to get the bordercrossing/primcrossing/attachmentcrossing right in the new border framework.
...
* This also contains some inactive preliminary code for disconnecting combined regions that will be used to make one root region a virtual region of a new root region.
2009-09-02 04:39:00 -04:00
Melanie
f32de6fe88
Thank you, dslake, for a set of patches to improve OpenSim startup
...
and idle performance.
2009-09-02 03:33:31 +01:00
Teravus Ovares (Dan Olivares)
2245e2977e
* The return of fuzzy borders!
2009-08-31 23:16:24 -04:00
Teravus Ovares (Dan Olivares)
c09884a467
No more fuzzy borders
2009-08-31 22:50:27 -04:00
Teravus Ovares (Dan Olivares)
2068b6714a
* -2 on the south and west side, -1 on the north and east side. Fuzzy borders! yay
2009-08-31 21:40:06 -04:00
Teravus Ovares (Dan Olivares)
b997174d08
* Fix attachment cross issues with new borders.
2009-08-31 20:07:33 -04:00
Teravus Ovares (Dan Olivares)
9f2f3afe22
* Fixes a teleport issue when teleporting out of a region to a different one.
2009-08-30 02:49:50 -04:00
Teravus Ovares (Dan Olivares)
d4dd179547
* whoops, forgot the other class initializer.
2009-08-30 00:29:43 -04:00
Teravus Ovares (Dan Olivares)
59c8a02a24
* When the RegionCombinerModule is off, make borders have an infinite aabb perpendicular to the cardinal
2009-08-30 00:22:38 -04:00