Commit Graph

9512 Commits (e063f0d592d07c1131c30893c93b01c4dd5e819a)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 61c76d1810 refactor: move AnimationSet 2009-11-17 15:20:02 +00:00
Justin Clark-Casey (justincc) 1324082b90 refactor: move most animation methods from ScenePresence into a new ScenePresenceAnimator class 2009-11-17 15:05:40 +00:00
Melanie 02680cda42 Add the presence server connector 2009-11-17 02:22:15 +00:00
Justin Clark-Casey (justincc) 2606bf4a53 minor: very minor formatting change 2009-11-16 19:16:24 +00:00
Justin Clark-Casey (justincc) b130b36403 minor: add forgotton copyright header 2009-11-16 16:05:15 +00:00
Melanie 9997790211 Committing the incomplete table handler to get it into the tree. No user
functionality yet
2009-11-15 20:19:19 +00:00
Diva Canto d5c18f6149 Make GroupRootUpdate be a terse update. This method is not used by opensim (it should), but it's used by external modules. 2009-11-14 14:14:08 -08: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
dahlia e7d0aa75ba expose SceneGraph.GetGroupByPrim(UUID) 2009-11-13 20:52:03 -08:00
Justin Clark-Casey (justincc) 96be5e5a88 minor: A further minor tweak to reduce iar load logging verbosity 2009-11-13 20:24:45 +00:00
Justin Clark-Casey (justincc) 69fba2647d minor: remove mono compiler warning 2009-11-13 20:16:49 +00:00
Justin Clark-Casey (justincc) 0712196c26 make logging less verbose when loading iars 2009-11-13 18:56:23 +00:00
dahlia 89a63c9a8b Some corrections to PrimitiveBaseShape.ToOmvPrimitive() 2009-11-13 01:18:52 -08:00
Justin Clark-Casey (justincc) fe82471c2b Apply patch http://opensimulator.org/mantis/view.php?id=4369
Adds osGetMapTexture() and osGetRegionMapTexture() methods to retrieve region map texture uuids
2009-11-12 19:42:35 +00:00
Justin Clark-Casey (justincc) d95df603df move fake user service to a separate mock user service class
delete asset cache tests shell
2009-11-12 19:33:38 +00:00
Justin Clark-Casey (justincc) e2b1fb8ff9 refactor: extract another test asset helper method 2009-11-12 19:15:08 +00:00
Justin Clark-Casey (justincc) ed1089d892 refactor some test asset creation into a helper class
remove mono compiler warning
2009-11-12 19:08:00 +00:00
Justin Clark-Casey (justincc) 2f092d271e Rename test services to mock services, since this is a more accurate description
remove duplicate mock inventory service
2009-11-12 18:44:03 +00:00
Justin Clark-Casey (justincc) d21fc1cefb minor: for now stop iar tests spewing log messages when running testsuite 2009-11-12 18:33:40 +00:00
Justin Clark-Casey (justincc) 73b437b7b4 minor: remove some mono compiler warnings 2009-11-12 18:30:32 +00:00
Justin Clark-Casey (justincc) bb92ba97c6 Stop iar save failing on corrupt assets
Not ideal since one will still have to watch out for big 'corrupt asset' messages in the log, but better than an outright fail
2009-11-12 18:26:22 +00:00
Justin Clark-Casey (justincc) cbe1cc1bc8 minor: refactor common setup in uuid gatherer test 2009-11-12 17:50:09 +00:00
Justin Clark-Casey (justincc) 55a40694e7 minor: remove mono compiler warning 2009-11-12 17:42:26 +00:00
Adam Frisby cedd827f7f * Added some new syntax options for the Monitor Module's HTTP poll. 2009-11-12 11:17:04 +11:00
dahlia 8ae3df22a2 clean up some cruft 2009-11-11 11:10:42 -08:00
Justin Clark-Casey (justincc) 6d88c96e01 minor: remove mono compiler warning 2009-11-11 18:49:05 +00:00
Justin Clark-Casey (justincc) 00102e73a6 Add basic new uuid gatherer tests to check behaviour when the gather seed is a missing asset 2009-11-11 18:46:04 +00:00
Justin Clark-Casey (justincc) 1fa037a0c3 minor: remove some mono compiler warnings 2009-11-11 15:56:14 +00:00
dahlia a8a01e2bc7 add a ToOmvPrimitive() method to PrimitiveBaseShape 2009-11-11 02:54:58 -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
Teravus Ovares (Dan Olivares) c8268a270f * Fix resources file mapping 2009-11-11 00:00:21 -05:00
Teravus Ovares (Dan Olivares) 1bb510ab17 * Update namespace in the regioncombinermodule. 2009-11-10 23:43:18 -05:00
Teravus Ovares (Dan Olivares) 2e514bfb1b * Move RegionCombinerModule to it's own project
* Moves the mono_metadata_token_from_dor message to a different module on loading.
2009-11-10 22:40:08 -05:00
Justin Clark-Casey (justincc) d6a7f284a2 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-10 18:59:37 +00:00
Justin Clark-Casey (justincc) 9cb0c7c86e Stop OpenSim.Grid.GridServer.exe from building to reduce user/developer confusion, since only the ROBUST grid service now works
GridServer dll still building for now due to unresolved dependencies with the remaining OpenSim.Grid.UserServer.exe
2009-11-10 18:58:28 +00:00
Diva Canto 05f7fa1543 Broke the monster RegionLoaded method in RegionCombinerModule into 4 smaller methods. Let's see if this avoids a mono bug that is making megaregions not work in mono. Long shot, but worth a try. 2009-11-10 10:39:16 -08:00
Diva Canto 3294714099 Updated HGUserServices with AuthenticateUserByPassword, so that iar works. 2009-11-10 07:57:54 -08:00
Adam Frisby 90b15aa440 * Added HTTP polling for Statistics Monitor Module (access via http://sim.com:httpport/monitorstats/regionUUID/)
* Returns simple formatted XML document containing statistical data on the current sim.
* Example:
<data>
 <AgentCountMonitor>5.0000</AgentCountMonitor>
 ...
</data>
2009-11-11 00:22:06 +11:00
Mic Bowman 167c15db9d Fixed XMLRPC return params
Signed-off-by: Melanie <melanie@t-data.com>
2009-11-10 04:14:41 +00:00
Melanie ba99081bbe Add IScriptModuleComms interface and region module to handle dispatch of
script messages to region modules and sending back replies.
Hook IScriptModuleComms.OnScriptCommand to see commands and use
DispatchReply to reply to the script. It is recommended to pass the "id"
parameter from the event as the "k" parameter of the reply.
The script will receive the reply as a link message from link -1.
2009-11-10 03:36:43 +00:00
dahlia af9b0dcc20 Merge branch 'master' of ssh://dahlia@myConnection01/var/git/opensim 2009-11-09 18:49:13 -08:00
dahlia 3e22bb24f5 add an overload to _SculptMesh for meshing from a list of coordinates
add conditional compilation for System.Drawing dependency
2009-11-09 18:44:03 -08:00
Melanie 7df7e6a0bb Add modSendCommand function (note, this is a new API module, using the API
extension mechanism, it's not a osFunction!
2009-11-10 01:22:14 +00:00
John Hurliman 5145dfa53c * Removing the redundant SendPrimitiveTerseData.State field, it duplicates AttachPoint
* LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
2009-11-09 17:13:56 -08:00
Justin Clark-Casey (justincc) a88a463b50 Following various discussions on irc and in the OpenSim dev OSGrid meeting last week, change av_capsule_tilted to false by default
This appears to now give better ODE physics response (less sinking into the ground, etc.)
Please change it back if this is actually a bad idea for some reason
2009-11-09 19:26:42 +00:00
Justin Clark-Casey (justincc) 3274bc39c8 minor: remove some mono compiler warnings 2009-11-09 17:43:32 +00:00
Justin Clark-Casey (justincc) 7f5d0a6735 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-09 17:36:28 +00:00
Justin Clark-Casey (justincc) 716f70cd31 refactor out iar escaping 2009-11-09 17:34:07 +00:00
Justin Clark-Casey (justincc) 1ded7edde2 minor: correct slightly over-enthusiastic load iar logging message 2009-11-09 17:24:06 +00:00
Justin Clark-Casey (justincc) 7c5dc94cc8 fix load iar regression accidentally introduced in last commit 2009-11-09 17:22:18 +00:00
Justin Clark-Casey (justincc) 3c1f50127c minor: tweak load iar messages to be slightly less verbose 2009-11-09 17:20:30 +00:00
Justin Clark-Casey (justincc) fbcf6ffc18 minor: provide updates on number of assets loaded while executing "load iar" 2009-11-09 17:17:25 +00:00
Justin Clark-Casey (justincc) 1afe5a528c minor: remove some mono compiler warnings 2009-11-09 17:09:56 +00:00
Justin Clark-Casey (justincc) ae92bbcb95 refactor: break actual item load in iar into separate method 2009-11-09 17:04:05 +00:00
Justin Clark-Casey (justincc) a0c1836fde minor: remove some old commented out load iar code 2009-11-09 16:43:35 +00:00
Justin Clark-Casey (justincc) 678a74e4f7 Tell the user when a 'save iar' has failed because the inventory path could not be found 2009-11-09 16:42:17 +00:00
Justin Clark-Casey (justincc) a3105a34ca Implement human / escaping for inventory folders as well as items 2009-11-09 16:12:13 +00:00
Justin Clark-Casey (justincc) 6820cc93ec refactor path delimiter in iar utils 2009-11-09 16:08:17 +00:00
Justin Clark-Casey (justincc) a7af92d5d0 minor: remove some mono compiler warnings 2009-11-09 16:03:15 +00:00
Justin Clark-Casey (justincc) 9b2592a960 refactor: make human iar escape char a constant rather than a magic char 2009-11-09 15:54:43 +00:00
Justin Clark-Casey (justincc) 668850b974 * for iars, allow item names/folders including "/" to be escaped using "\/"
* also, "\" has to be escaped as "\\"
* add item name unit test for escaped characters
2009-11-09 15:49:09 +00:00
Melanie f8bcbe5492 remove the debug stuff 2009-11-08 22:39:00 +00:00
Melanie aff5fe10b0 test commit with debug output per folder fetch. NOT FOR PRODUCTION, SPEWY 2009-11-08 22:29:36 +00:00
Melanie 81c439bcaa Patch from Snoopy2. Fixes Mantis #4342
fixes problems when group owned land was abandoned by the land owner or reclaimed by the estate manager or by god.

Beside that this new patch makes it possible, that users can buy land directly for a group, if the buyer has the required permissions.
2009-11-08 20:36:00 +00:00
Melanie 5300e8506d Reintroduce AssetBase's old behavior. A Parameterless constructor is required
for .NET serialization and removing it breaks the OpenSim asset server
protocol.
2009-11-06 10:33:49 +00:00
John Hurliman 1cddc85078 Fixing the build break 2009-11-06 00:06:49 -08:00
John Hurliman dfe4dc735a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-11-05 23:50:42 -08:00
John Hurliman 6ed57814c1 * Clamp the CoarseLocationUpdate packet at a maximum of 60 positions per packet. This is a limitation of LLUDP, nothing we can really do about it
* Marking CoarseLocationUpdate as *not* zerocoded. Zerocoding can only save space when a packet contains three or more contiguous zeroes, and will use more space if it contains single zeroes randomly scattered through the packet (which is what you see when you send a long list of UUIDs)
2009-11-05 23:50:17 -08:00
John Hurliman afef1ac191 Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen 2009-11-05 13:10:58 -08:00
John Hurliman e6d7303b29 Applying #4332, optional packet statistics logging 2009-11-05 12:01:40 -08:00
Justin Clark-Casey (justincc) f8f1e94cf8 add unit test for iar & escaping 2009-11-05 19:32:24 +00:00
Justin Clark-Casey (justincc) 6f4a588397 minor test var name tweak 2009-11-05 19:09:32 +00:00
Justin Clark-Casey (justincc) bae03dfcbd Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-05 18:53:57 +00:00
Justin Clark-Casey (justincc) 345ddcd0d8 * Escape / character when saving items and folders in an iar so that the loader doesn't barf 2009-11-05 18:53:25 +00:00
Melanie ec0d5b408a Change the permissions module to use the friend list cache already in the
friends module instead of requesting the entire friends list over the
network each time a prim is touched.
2009-11-05 17:29:52 +00:00
Melanie b098572525 Remove a spammy debug message from friends list check in the perms module.
Replace the integer compares with proper bitflags checking from libOMV.
Friends rights are now functional.
2009-11-05 16:46:39 +00:00
Melanie 83b4b4440b Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.
Applied with major changes. Core functionality commented pending review
for possible rights escalation. No user functionality yet.
2009-11-05 02:09:07 +00:00
Melanie 30a2411e58 Separate folder and item limit for UDP inventory packets. Folder limit is
now 6, as before, item limit is 5. This should avoid most, if not
all, oversized packets.
2009-11-04 23:54:19 +00:00
Melanie a431f346e7 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2009-11-04 23:29:42 +00:00
John Hurliman a13e25ebbe Initialize SceneObjectPart.RotationOffset to Quaternion.Identity 2009-11-04 16:19:56 -08:00
John Hurliman f57a646638 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-11-04 16:08:23 -08:00
John Hurliman ec2ebf2598 Removing EntityBase.Rotation 2009-11-04 16:08:10 -08:00
Melanie b6ea7c26ac Refine oversized packet handling as per jhurliman. Reallocate the buffer to
actual packet size only for oversized packets.
2009-11-04 23:12:56 +00:00
Melanie 58be90d2b1 Add some length to the backet buffer for packet sending so oversize
inventory packets don't make us barf
2009-11-04 22:47:40 +00:00
Justin Clark-Casey (justincc) 9dd5d63495 minor: remove some mono compiler warnings 2009-11-04 19:44:28 +00:00
Melanie 535f4597c1 Add an overload to OutPacket as per jhurliman. Switch hacky workaround
for InventoryDescendents to the proper way
2009-11-04 04:36:19 +00:00
Melanie cfcb5faa4e Bounce the pacjet items limit back up to 6 2009-11-04 04:09:46 +00:00
Melanie 5bcc02c97b Prevent autosplitting of inventory descendents packets. Also reduces the
number of items per packet to 5 to prevent asserts
2009-11-04 03:56:31 +00:00
Melanie 4d2ecd1236 Correctly set the totall number of descendents in inventory retrieval 2009-11-04 03:07:21 +00:00
Melanie c72f78215b Backport the fixes to WebFetchInventoryDescendents to the UDP
InventoryDescendents packet. Testing has shown that UDP inventory now
works flawlessly and, unlike CAPS inventory, doesn't download the entire
agent inventory on start. Neither does it incessantly re-request folder
NULL_KEY. Therefore, I have disabled CAPS inventory.
2009-11-04 01:56:19 +00:00
Melanie 00130841db Remove parallel loading from XEngine, but retain the new design where
all scripts are loaded from the same thread, rather than launching a
new one for each script. This is only marginally slower, but avoids the
race condition that led to script engine failure.
2009-11-03 20:23:50 +00:00
Justin Clark-Casey (justincc) 865d3f4b09 minor: remove a few mono compiler warnings 2009-11-03 19:35:18 +00:00
Justin Clark-Casey (justincc) af0e5d0974 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-03 19:11:09 +00:00
Justin Clark-Casey (justincc) 1d737b010c minor: remove some mono compiler warnings 2009-11-03 18:52:20 +00:00
Diva Canto 9e6f01321e Fixed a couple of NREs in corner cases. 2009-11-03 10:24:02 -08:00
dahlia 82554e9a89 Delete depricated extrusion methods and redirect to universal extrude method.
Sync with PrimMesher.cs r47 on forge.
2009-11-02 22:24:58 -08:00
John Hurliman 1927945053 Another race condition fix in SceneObjectGroup 2009-11-02 15:09:07 -08:00
John Hurliman de71d23e14 Removing Console.WriteLine()s that were brought in with the revert 2009-11-02 11:54:39 -08:00
John Hurliman 0e8b5c7ffa Fixing race conditions in the SceneObjectPart properties 2009-11-02 11:40:57 -08:00
John Hurliman 67ac9881fa Removing duplicate SceneObjectPart.RotationalVelocity property 2009-11-02 11:28:35 -08:00
John Hurliman 6309fcc5b4 Reverting the memory leak patch for MySQL. Problems have been reported with the grid server after running for several hours 2009-11-02 11:19:55 -08:00
Melanie f4e9809b7d Fix an invalid argument exception in the remote admin module when.
Patch from CasperW
2009-11-02 06:13:05 +00:00
Adam Frisby 3c0881c83c * Committing missing file from last commit. 2009-11-02 00:20:41 +11: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
Diva Canto 58c260140c Patch + minor formatting fixes. 2009-10-31 19:10:33 -07:00
Douglas R. Miles 7f4d646aea http://opensimulator.org/mantis/view.php?id=4337 2009-10-31 19:05:02 -07:00
Teravus Ovares (Dan Olivares) 50b599a62b Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-10-30 19:25:41 -04:00
Teravus Ovares (Dan Olivares) fb08133999 * Remove the locklessqueue tests since I guess I didn't understand what it was when I wrote the test. 2009-10-30 19:24:14 -04:00
Teravus Ovares (Dan Olivares) 5101f688ee * Add LocklessQueueTests. One Test is commented out because it fails. It should probably work.. but I'm awaiting clarification. 2009-10-30 19:13:57 -04:00
Teravus Ovares (Dan Olivares) 2e81acec48 * Adding Tests for OpenSim.Framework.Cache. Some test cases disabled until mantis resolutions. 2009-10-30 18:13:58 -04:00
Melanie f54d611771 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-10-30 22:08:34 +00:00
Melanie c6246050d9 Make the default and max RTO configurable int he linden client stack 2009-10-30 22:07:56 +00:00
Teravus Ovares (Dan Olivares) 419303a40f Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-10-30 17:28:08 -04:00
Teravus Ovares (Dan Olivares) 4563f00852 * Another ACL Test 2009-10-30 17:27:44 -04:00
Teravus Ovares (Dan Olivares) 9d6a540198 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2009-10-30 17:04:55 -04:00
Teravus Ovares (Dan Olivares) 120c731a3b * Moving A test from the OpenSim.Framework.ACL object to the OpenSim.Framework.Tests assembly. Fixing the test. 2009-10-30 17:04:10 -04:00
John Hurliman f5e470d4ba Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-30 13:18:38 -07:00
John Hurliman cb1492aaf0 Fixed a regression in SendAvatarGroupsReply() 2009-10-30 13:18:18 -07:00
Melanie 8eb3ea02ee Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-10-30 19:55:51 +00:00
Melanie 92f4835ba6 Convert the AvatarGroupsReply message to the event queue. 2009-10-30 19:54:56 +00:00
Melanie 39f95e8cf0 Add a using for OSD to the client view 2009-10-30 19:44:01 +00:00
John Hurliman 5d5d0e699a * Disables automatic packet splitting on AvatarGroupsReply packets. This packet is a mess and shouldn't be used at all (in favor of the event queue message)
* Clean up the way we send AvatarGroupsReply packets, including clamping the group name and group title
2009-10-30 11:12:32 -07:00
Melanie 8a64421735 Squelch an error message on sim shutdown when not using MXP 2009-10-30 18:08:58 +00:00
John Hurliman 8a73dc0f8a * Fix for a potential race condition in ScenePresence.AbsolutePosition
* Unified the way region handles are stored and used in ScenePresence
* Fixed camera position for child agents
* CheckForSignificantMovement now checks avatar and camera position (both are important for scene prioritization)
* Removing debug code from the previous commit
2009-10-30 03:01:15 -07:00
John Hurliman 7965b6eb61 * Moving parcel media and avatar update packets from the unthrottled category to task
* Fixing a bug where the max burst rate for the state category was being set as unlimited, causing connections to child agents to saturate bandwidth
* Upped the example default drip rates to 1000 bytes/sec, the minimum granularity for the token buckets
2009-10-30 00:43:46 -07:00
John Hurliman a05c67bebb * Fixes issue #4329 "llDialog fails silently" by updating OpenMetaverse.dll
* Prints a warning for any future packet splitting failures
2009-10-30 00:08:41 -07:00
John Hurliman aecaa51063 * Fixed a NullReferenceException in GetMovementAnimation() and added more protection against NREs in AddNewMovement()
* Removed the three second limit on ImprovedTerseObjectUpdate. With the latest fixes I don't think this is necessary, and it generates a lot of unnecessary updates in a crowded sim
2009-10-29 16:31:48 -07:00
John Hurliman 2913c24c8a * Commented out two noisy debug lines in the LLUDP server
* Misc. cleanup in ScenePresence.HandleAgentUpdate()
2009-10-29 15:24:31 -07:00
John Hurliman ec7fd8b1f8 More performance improvements to XEngine script loading 2009-10-29 06:42:40 -07:00
John Hurliman dd13fa361b * Misc. formatting cleanup for the previous patch
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29 05:56:37 -07:00
Dan Lake 33448e4ba8 Optimizations 2009-10-29 05:39:18 -07:00
John Hurliman 5c894dac8b * Implemented foot collision plane for avatars
* Fixed a NullReferenceException regression
2009-10-29 05:34:40 -07:00
John Hurliman 3f2d6fe470 Ported the Simian avatar animation system to OpenSim. Landing is currently not working 2009-10-29 04:13:51 -07:00
John Hurliman fd2c99f184 Fixing NullReferenceException regression in the previous commit 2009-10-29 02:10:48 -07:00
John Hurliman 7132877075 * Log progress messages when loading OAR files with a lot of assets
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07:00
John Hurliman 59eb378d16 Small performance tweaks to code called by the heartbeat loop 2009-10-28 23:10:16 -07:00
John Hurliman 1c9696a9d2 Always send a time dilation of 1.0 while we debug rubberbanding issues 2009-10-28 15:11:01 -07:00
John Hurliman a069a1ee68 Limit physics time dilation to 1.0 2009-10-28 14:44:05 -07:00
John Hurliman b81c829576 * Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman c003f49432 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-28 12:45:56 -07:00
John Hurliman a65c8cdc38 * Reduce the velocity tolerance on sending terse updates to avoid slowly drifting prims/avatars
* Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28 12:45:40 -07:00
John Hurliman ee0f7e10c8 Fixed a bad check on velocity in the ODE near() callback (it was only checking for velocity in certain directions, and was calling the get_Velocity() function three times) 2009-10-28 12:20:34 -07:00
Melanie 184e85cdec Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-10-28 18:26:31 +00:00
Melanie c17359fea5 Adding changes to previous patch to make it fit into core better 2009-10-28 18:25:37 +00:00
Fredo Chaplin bff0d75e0f patch kill by UUID
Signed-off-by: Melanie <melanie@t-data.com>
2009-10-28 18:09:50 +00:00
John Hurliman cdbeb8b83b Track timestamps when terse updates were last sent for a prim or avatar to avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way) 2009-10-28 03:21:53 -07:00
John Hurliman 587c35f6b6 Marking ImprovedTerseObjectUpdate packets for avatars as unthrottled to test 2009-10-28 02:30:16 -07:00
John Hurliman 2d470f8bde Switching sculpty from CSJ2K back to OpenJPEG for now until more kinks are ironed out 2009-10-28 01:48:53 -07:00
John Hurliman e31024f08b Print the exception message when CSJ2K decoding fails for sculpty textures 2009-10-28 01:30:39 -07:00
Mikko Pallari 8254256fe9 Modified visibilities of properties and methods. This is so that SL client based clients can use UDP server that is inherited from LLUDPServer. 2009-10-28 00:41:13 -07:00
Diva Canto 6a6a8df1ba Make map search work also for hyperlinked regions. 2009-10-27 20:32:48 -07:00
John Hurliman 76dc52dba4 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-27 16:26:02 -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 f89c2cac0f Experimental test to rate limit the incoming packet handler and try to always leave a worker thread available for other tasks 2009-10-27 14:16:01 -07:00
Melanie d068d108ad Remove the SECS loader 2009-10-27 21:11:10 +00:00
John Hurliman 2525810e2a Removed the DotNetEngine scripting engine. You will need to create a fresh checkout or clean out all *DotNet*.dll assemblies from the bin/ directory to run OpenSim moving forward 2009-10-27 13:31:04 -07:00
Melanie 92f7521983 Remove the rest of SECS. It was never used, except by an experimental version
of the DotNetEngine that was never runnable.
2009-10-27 20:25:54 +00:00
John Hurliman fefe767476 Lowering the position tolerance of terse updates for ScenePresences to mitigate some of the rubberbanding issues while we are sending incorrect time dilation values 2009-10-27 13:16:58 -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 b498693cff * Tweak to region module loading to check for a matching constructor first instead of throwing and catching exceptions
* Commenting out the MySQL startup sequence that cleans out dropped attachments under the advice that it is no longer relevant. If anything, it could be brought back as a database cleanup console command
* Updated to the latest libomv 0.8.0-pre. UUID.TryParse() will no longer throw and catch exceptions for most failed UUID parses
2009-10-27 01:46:14 -07:00
John Hurliman c75d415648 * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode
* Minor code readability cleanup
2009-10-27 00:26:56 -07:00
John Hurliman f5cad91578 * Switched from OpenJPEG to CSJ2K in Meshmerizer
* Tested the previous patch and found no regressions
2009-10-26 19:03:55 -07:00
John Hurliman d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23:43 -07:00
John Hurliman b6651ce790 * Double the priority on avatar bake texture requests to get avatars rezzing in faster than the surrounding scene
* Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
2009-10-26 18:22:32 -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
Dan Lake 428bd7a74b No need to create dupe TriMeshData for ODE. A previous patch created a dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch. 2009-10-26 15:14:19 -07:00
Dan Lake ad624f703d ParcelObjectOwnersReplyPacket has null DataBlock when a client requests a list of their prims in the region and none exist. Instead of leaving pack.Data null, this patch sets a new DataBlock[0]; 2009-10-26 15:14:13 -07:00
John Hurliman ff4b45a1e3 Do case-insensitive comparisons on region names in LLStandaloneLoginModule 2009-10-26 15:12:43 -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 c04775bf68 Changed UseCircuitCode handling to be synchronous or asynchronous depending on the async_packet_handling config option, and added a debug log message when a UseCircuitCode packet is handled 2009-10-26 13:38:07 -07:00
John Hurliman ff65b50236 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-26 11:28:43 -07:00
John Hurliman 2222172afa Removed an unnecessary lock in LLUDPClient.UpdateRTO() and LLUDPClient.BackoffRTO() 2009-10-26 11:28:02 -07:00
Melanie 1209db6dcd Thank you, RemedyTomm, for an update to your previous patch. Garbage-collect
the transfers that never happen.
2009-10-26 15:51:28 +00:00
Melanie 7df54d4ad2 Thank you, RemedyTomm, for a patch to handle Xfer requests being dropped
before the file data to be transfered is ready.
2009-10-26 04:52:11 +00:00
John Hurliman 0be79b285b Having a commit fail... this fixes a typo in the previous commit(s?) 2009-10-25 01:13:50 -07:00
John Hurliman 593ce2e1fb Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0 2009-10-25 01:01:26 -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 52a4534f7f * Change the way Util.FireAndForget() calls SmartThreadPool to avoid using a delegate (which STP appears to hold on to). This removes the slow leak I was seeing when using async_call_method=SmartThreadPool and stabilizes allocated memory for an idle OpenSim instance 2009-10-23 13:45:18 -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 c749cf0061 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-23 10:37:01 -07:00
John Hurliman 4c45b5fd3c Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been removed and several new parameters have been added to [ClientStack.LindenUDP] 2009-10-23 10:35:47 -07:00
dslake 8ba3afb59b Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: Inconsistent locking of ODE tainted prims 2009-10-23 12:14:05 -04:00
unknown 71c929137f Inconsistent locking of SenseRepeaters in Script Engine.
When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration.

The attached patch locks SenseRepeatListLock in GetSerializationData()
2009-10-23 11:25:06 +01:00
Melanie b0923e0d73 Fix a glitch in a ROBUST message 2009-10-23 10:41:05 +01:00
Melanie 1d47dbb380 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-10-23 09:48:13 +01: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
Melanie d0019704e6 Adding the presence service skeleton 2009-10-23 09:47:45 +01:00
John Hurliman 37f7277378 Uncommented the resend log line so the previous commit can be seen in action 2009-10-23 01:33:43 -07:00
John Hurliman ac0acb0296 * Changed the max RTO value to 60 seconds to comply with RFC 2988
* Implemented section 5.5, exponential backoff of the RTO after a resend
2009-10-23 01:33:05 -07:00
John Hurliman 53bf479bab Commented out noisy debugging about resent packets (normal) and agents setting throttles (normal) 2009-10-23 01:11:40 -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
Teravus Ovares (Dan Olivares) f34e8adffb * Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright. 2009-10-22 18:28:42 -04:00
John Hurliman ba2972eaf6 * Send out m_bodyRot everywhere instead of m_rotation. Still have no clue which is right
* Fix WorldMapModule.process() to not trip the watchdog timer
2009-10-22 14:33:54 -07:00
John Hurliman 4ba3842d71 Forgot to hit save in the last commit 2009-10-22 13:24:24 -07:00
John Hurliman 167d8e39fa * Sending (position - hipoffset) instead of position
* Sending m_rotation instead of m_bodyRot in full updates to match terse updates (no idea which one is right!)
2009-10-22 13:14:41 -07:00
John Hurliman a16c3bf446 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-22 12:34:47 -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
KittoFlora 227c832d3b Commented out instrumentation in ODEPrim.cs 2009-10-22 19:15:35 +01:00
John Hurliman 11013ad295 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2009-10-22 11:07:43 -07:00
John Hurliman 36b0e5e1d3 Terrible typo in the previous commit! 2009-10-22 11:07:23 -07:00
John Hurliman 6ca4b0f366 * Added a check if Util.m_ThreadPool is null before trying to use it, and if so initialize it to sane defaults
* Simplified the InitThreadPool() function
2009-10-22 10:37:11 -07:00
Melanie 5d12170df9 Correct version number after merge 2009-10-22 17:41:42 +01:00
Melanie fc4ff09181 Merge branch 'vehicles' 2009-10-22 17:39:19 +01:00
Snowcrash 84ac0f56f5 Fixing the patch to the patch 2009-10-22 17:36:52 +01:00
Snowcrash 47d8b6c5f5 Fix rounding error in PRIM_SIZE portion of llSetPrimitiveParams 2009-10-22 17:36:49 +01:00
Jeff Ames d756fa01ae Add copyright header. Formatting cleanup. 2009-10-22 18:57:24 +09:00
John Hurliman 5d07e18980 A synchronous call to the messaging server was blocking the process of promoting an agent to a root agent (logins and teleports). Changed to an async method 2009-10-22 02:27:06 -07:00
John Hurliman 2f394b7e7e * Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation)
* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
2009-10-22 01:30:12 -07:00
Melanie c4969d47d9 Merge branch 'master' into vehicles 2009-10-22 07:12:10 +01:00
Melanie 1e71e3f910 Remove the "mel_t" from version string 2009-10-22 07:03:40 +01:00
Melanie b35fbe1f98 Merge branch 'melanie_test' into prioritization
This makes SmartThreadPool configurable and also makes it the default, since
the regular thread pool simply stinks.
2009-10-22 07:02:21 +01:00
John Hurliman 32ccd5bb40 * Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to Util.FireAndForget()
* Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
2009-10-21 23:03:18 -07:00
Melanie 624af66c35 Make the LSL scripting delays take full effect. To tune, tweat the
ScriptDelayFactor in config
2009-10-22 05:42:34 +01:00
Melanie 8ce4fd7234 Reduce the default pool threads to 15 (from 30) and the minimum from 5 to 2 2009-10-22 04:02:26 +01:00
Melanie 8a336c6860 Add MaxPoolThreads in startup to limit the size of the thread pool used
for FireAndForget. This lets us limit concurrency to make OpenSim play nice
2009-10-22 02:28:53 +01:00
John Hurliman 6492640e72 * Change the OnQueueEmpty signature to send the flags of the queues that are empty instead of firing once per empty queue
* Change the OnQueueEmpty firing to use a minimum time until next fire instead of a sleep
* Set OutgoingPacket.TickCount = 0 earlier to avoid extra resends when things are running slowly (inside a profiler, for example)
2009-10-21 18:03:41 -07:00
Melanie 9ec55df988 Mark new version 2009-10-22 01:51:27 +01:00
John Hurliman 4e04f6b3a5 * Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and upped it to 30ms
* Removed the unused PacketSent() function
* Switched UnackedPacketCollection from a SortedDictionary to a Dictionary now that the sorting is no longer needed. Big performance improvement for ResendUnacked()
2009-10-21 17:02:55 -07:00
John Hurliman 2b39ff0a39 Merged master into prioritization 2009-10-21 16:24:17 -07:00
John Hurliman b06f258319 * FireQueueEmpty now checks if a measurable amount of time has passed, and if not it sleeps for a small amount of time. This throttles OnQueueEmpty calls where there is no callback or the callback is doing very little work
* Changed HandleQueueEmpty()'s Monitor.TryEnter() calls to locks. We want to take our time in this function and do all the work necessary, since returning too fast will induce a sleep anyways
2009-10-21 16:21:08 -07:00
John Hurliman 2752a3525c * Changed the timing calculations for sending resends/acks/pings from per-client back to per-scene
* Testing a fix from Jim to make the cpu usage fix cleaner
2009-10-21 15:22:23 -07:00
John Hurliman 62f1bfd136 Testing out a hack to identify the source of the high cpu usage 2009-10-21 14:25:22 -07:00
John Hurliman bb4da417ad Removing the Sleep(0) call from the OutgoingPacketHandler 2009-10-21 14:03:49 -07:00
John Hurliman 7ee422a344 * Handle UseCircuitCode packets asynchronously. Adding an agent to a scene can take several seconds, and was blocking up packet handling in the meantime
* Clamp retransmission timeout values between three and 10 seconds
* Log outgoing time for a packet right after it is sent instead of well before
* Loop through the entire UnackedPacketCollection when looking for expired packets
2009-10-21 13:47:16 -07:00
Melanie d88bb83136 Fix llParticleSystem to accept LSL variables and LSL constants in place
of the named constants for the rule selector.
Information provided by Snowcrash
2009-10-21 20:47:24 +01:00
John Hurliman 9178537e94 * Replaced the UnackedPacketCollection with a lockless implementation. The tiny amount of time spent in the locks turned into a lot of time when the rest of the LLUDP implementation went lockless
* Changed the timer tracking numbers for each client to not have "memory". It will no longer queue up calls to functions like ResendUnacked
* Reverted Jim's WaitHandle code. Although it was technically more correct, it exhibited the exact same behavior as the old code but spent more cycles. The 20ms has been replaced with the minimum amount of time before a token bucket could receive a drip, and an else { sleep(0); } was added to make sure the outgoing packet handler always yields at least a minimum amount
2009-10-21 11:59:48 -07:00
Melanie 8dd15fd5a5 Patch by mcortez: Remove lock from scene presence updating in groups module 2009-10-21 18:45:37 +01:00
John Hurliman c0c845aea4 Fixed the way OnQueueEmpty is called to prevent simultaneous calls for the same category 2009-10-21 01:07:40 -07:00
John Hurliman cde47c2b3d Committing Jim's optimization to replace the 20ms sleep in outgoing packet handling with an interruptible wait handle 2009-10-21 00:18:35 -07:00
Melanie 93b24b5207 Fix web map retrieval for regions configured via .ini 2009-10-21 03:44:40 +01:00
Melanie 2a886fd76c Really make module port selection work. Implement port setting in
LLProxyLoginModule.
2009-10-21 02:19:45 +01:00
John Hurliman 45dc4e0a54 * Added a sanity check to GetScriptAssemblies() and GetScriptStates() for the case where no scripting engine is enabled
* Added TokenBucket.cs to OpenSim, with some fixes for setting a more accurate MaxBurst value and getting a more accurate Content value (by Drip()ing each get)
2009-10-20 18:19:17 -07:00
John Hurliman 1833c69568 * Removed the unused m_agentUpdates collection and some extra work that was being done for AgentUpdate packets
* Start LLUDPClients unpaused (this variable is not being used yet)
2009-10-20 15:19:19 -07:00
John Hurliman d38f33736c * Removed the throttle speed optimizations to see if it brings stability back
* Changed the outgoing packet handler to use a real function instead of a closure and to track time on a per-client basis instead of a global basis
2009-10-20 14:41:20 -07:00
John Hurliman d1ab11dc2a Added try/catches in the outgoing packet handler to match the one in the incoming packet handler 2009-10-20 12:43:09 -07:00
John Hurliman 99abe885c8 Fixing position/rotation/collisionplane in ObjectUpdate packets for avatars 2009-10-20 12:30:34 -07:00
John Hurliman edd393ff30 Reverting the deletion of files related to texture sending until we figure out exactly what is and isn't needed 2009-10-20 11:58:23 -07:00
Melanie f568982e69 Cleanup and comment the region module loader. Add support for configuring
a server port to use for modules in a generic way and also add support
for disabling modules that don't support proper disabling.
Add support for selective loading by class name (advanced users only)
2009-10-20 19:38:35 +01:00
John Hurliman 8151190a45 * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-20 10:56:15 -07:00
John Hurliman 9a5e7222ce * Removing cruft left over from the conversion to the new texture sending and UDP code
* Changing the cache modules to only initialize the caches if they are actually enabled. Should save a bit of resources from unused cache systems
2009-10-20 10:33:23 -07:00
Melanie 9bc303d293 Add MainServer.GetHttpServer(port) method for using multiple listener
ports in region modules
2009-10-20 16:57:22 +01:00
Melanie 26863c04a5 Change "config save" to "config save <filename>", which is mandatory.
File name is enforced to NOT be OpenSim.ini
2009-10-20 14:02:11 +01:00
Snowcrash 182693628c Fix for index error in llList2String 2009-10-20 02:09:24 -07:00
John Hurliman 0a6ea33ac8 * Optimized sending of terrain data
* Send terrain data in a spiral pattern instead of a typewriter pattern (placeholder until terrain data becomes part of the interest list management)
* Added a debug line when resent packets are being sent
2009-10-19 18:50:31 -07:00