Teravus Ovares (Dan Olivares)
a5f2803c79
* Re-enable the AbsolutePosition = AbsolutePosition in the LSL_Api in the SetRot method if the object is not active physical. This is important for scripted rotating doors. without AbsolutePosition = AbsolutePosition, the door won't rotate. It's also important that we do not use AbsolutePosition = AbsolutePosition if the object is active physical because that would cause a complete rebuild of the object which would break vehicles. This is the best of both worlds right now. Doors as child prim should work again so long as you don't check the Physical box.
...
* Thanks talentraspel
* Thanks NixNerd
* Thanks KittoFlora
* Thanks lockd
2009-11-26 01:34:46 -05:00
Teravus Ovares (Dan Olivares)
dac9c6fb23
Merge branch 'master' of ssh://MyConnection/var/git/opensim
2009-11-25 14:13:51 -05:00
OpenSim Master
a3755d831d
Patch: Fix a bug in LAND animation when the TickCount wraps into negative numbers
...
by Mic Bowman
Signed-off-by: Teravus Ovares (Dan Olivares) <teravus@gmail.com>
2009-11-25 14:13:29 -05:00
Melanie
cc3617f74f
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2009-11-25 17:03:11 +00:00
Justin Clark-Casey (justincc)
59caa68e08
minor: add doc to a few parcel methods
2009-11-25 17:49:38 +00:00
Melanie
0b380f68d8
Change osTeleportAgent parameters from long to int. That numerical range is
...
not even supported by the underlying type, so there is no need to ask
for a type the script can not even supply.
2009-11-25 17:02:45 +00:00
Justin Clark-Casey (justincc)
40464f6cc6
Change chat config code so that enabled = false actually does disable the chat module
2009-11-25 16:23:37 +00:00
Justin Clark-Casey (justincc)
a4d2a97bc6
minor: remove some mono compiler warnings, add --merge load oar switch to help information
2009-11-25 16:14:08 +00:00
Justin Clark-Casey (justincc)
c18422ad3a
Implement oar merging
...
An oar can now be merged with existing region contents by using the --merge option
For example, load oar --merge my.oar
Existing terrain, region settings and parcel data is left in place when an oar is merged.
See http://opensimulator.org/wiki/OpenSim_Archives#Usage for more information
2009-11-25 16:02:47 +00:00
Justin Clark-Casey (justincc)
f9807884a4
Add MIT/X11 licensed NDesk.Options ( http://www.ndesk.org/Options ) DLL to aid command line parsing
2009-11-25 15:28:43 +00:00
Teravus Ovares (Dan Olivares)
a642968fd5
* Reverting last commit.. because it just made it worse.
2009-11-25 04:00:52 -05:00
Teravus Ovares (Dan Olivares)
abddb60b8d
* Attempt number 1 to stop the repeating crouch animation that sometimes happens.
...
* This tries to address it by correcting one potential bug where it never resets the falltimer.
* This tries to address it by telling Physics that we're not flying this step.. instead of waiting until the next step when the next agent update comes along.
2009-11-25 02:51:11 -05:00
Justin Clark-Casey (justincc)
f605d59136
Make load/save iar slightly better in the face of io failures by always attempting to close the streams
2009-11-24 18:27:31 +00:00
Justin Clark-Casey (justincc)
c083ab6824
make save and load oar slightly more robust by always closing the archive streams even if there has been an error
2009-11-24 17:47:09 +00:00
Justin Clark-Casey (justincc)
73dcbbd57a
minor: remove some mono compiler warnings
2009-11-24 17:32:14 +00:00
Justin Clark-Casey (justincc)
88ead9ee63
pass all command parameters to load/save oar, not just the filename
...
unfortunately, these commands cannot yet be properly relocated to the region modules due to deficiencies in the region module infrastructure
2009-11-24 17:28:38 +00:00
Justin Clark-Casey (justincc)
52952a75ca
minor: remove experimental tags from load iar and save iar commands
2009-11-24 15:20:02 +00:00
Teravus Ovares (Dan Olivares)
cf36420d19
* This concludes the packet migrations from the big nasty switch into packet handler delegates.
2009-11-23 22:20:51 -05:00
Teravus Ovares (Dan Olivares)
3bfbd2952d
* Moved 60 more packet handlers to Packet Handler Delegates.
2009-11-23 20:19:00 -05:00
Teravus Ovares (Dan Olivares)
3ebb528c79
* Resolves mantis 4390 http://opensimulator.org/mantis/view.php?id=4390
2009-11-23 11:44:22 -05:00
Teravus Ovares (Dan Olivares)
976728029b
* Moved 40 more Packet handlers to the PacketDelegate and out of the 5000 line switch.
2009-11-23 01:12:46 -05:00
Teravus Ovares (Dan Olivares)
94cb4b486a
Merge branch 'master' of ssh://MyConnection/var/git/opensim
2009-11-22 22:05:26 -05:00
Teravus Ovares (Dan Olivares)
21f80b6507
* Adds a test for if the collision is at the bottom of the capsule on avatar. This prevents the 'double jump' capability that's been occurring for ages when avatar collide with prim on the side.
2009-11-22 22:04:52 -05:00
Jeff Ames
9f5c2acd12
Formatting cleanup.
2009-11-23 11:26:06 +09:00
Teravus Ovares (Dan Olivares)
9ba10af6b2
* Added missing lock to m_forcelist when AddForce is called. When a user dragged a prim, in some cases, it would corrupt the datatype in memory and throw spurious IndexOutOfRangeExceptions.
...
* Physics a situation that causes physics to spew redline messages to the console forever.
2009-11-22 21:08:54 -05: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
Teravus Ovares (Dan Olivares)
c155099faf
* The client prevents the avatar from landing if the avatar is going above an unknown certain speed, so, add a speed check on the server.
...
* This addresses the 'hump the prim' animation playing while you're moving forward full speed and pressing page down over a prim to land.
2009-11-22 19:26:00 -05:00
Teravus Ovares (Dan Olivares)
8db97f7dab
* Switched over 15 more packet types from the 5000 line switch to the Packet handler delegate
2009-11-22 05:13:50 -05:00
Teravus Ovares (Dan Olivares)
968b7310f4
* Moved 13 more packet type handlers to PacketHandler Delegates.. and out of of that giant 5000 line switch, ProcessInPacket.
2009-11-22 03:48:56 -05:00
Teravus Ovares (Dan Olivares)
2c8fbc15e8
* Comment out some example code for later.
2009-11-21 21:59:31 -05:00
Teravus Ovares (Dan Olivares)
079691b98f
* Move a few of the ProcessInPacket switch case blocks into packet handler delegates
2009-11-21 21:58:11 -05:00
Teravus Ovares (Dan Olivares)
f7916d10f3
* This fixes landing on Prim and removes the hack from yesterday. Landing on prim should work fine again.
2009-11-21 19:38:38 -05:00
Teravus Ovares (Dan Olivares)
247fc00ce7
* Hack to get avatar to land on prim. This is a big nasty hack that tricks the client into thinking you're landing on the terrain. There are some visual artifacts when you land. It's only temporary until we figure out how this broke.
2009-11-21 06:39:28 -05:00
Teravus Ovares (Dan Olivares)
7760da1a4c
* Fixes the second of two terse update issues. Physical objects should react normally again.
2009-11-21 04:39:41 -05:00
Teravus Ovares (Dan Olivares)
0ffda7128e
* Fixes one of two terse update issues. There's still one left, but this one fixes the situation where the object on the server is moving but no updates are being sent.
2009-11-21 04:33:34 -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
Justin Clark-Casey (justincc)
4baac71a5e
refactor: Eliminate redundant CreateSceneViewer call on ScenePresence constructors since this is also done on other called constructors
2009-11-17 18:44:57 +00:00
Justin Clark-Casey (justincc)
710a2afd12
Add scene animator set up to apparantly uncalled no-arg ScenePresence constructor
2009-11-17 16:40:59 +00:00
Justin Clark-Casey (justincc)
da255be05a
refactor: move AvatarAnimations, BinBVHAnimation
2009-11-17 16:25:52 +00:00
Justin Clark-Casey (justincc)
de054bc583
minor: remove mono compiler warning due to unreachable code in GroupsModule
2009-11-17 15:21:29 +00:00
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
Justin Clark-Casey (justincc)
2606bf4a53
minor: very minor formatting change
2009-11-16 19:16:24 +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)
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)
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)
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
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
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
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)
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
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
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
Melanie
c6246050d9
Make the default and max RTO configurable int he linden client stack
2009-10-30 22:07:56 +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
cb1492aaf0
Fixed a regression in SendAvatarGroupsReply()
2009-10-30 13:18:18 -07: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
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
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
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
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
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
de25dcfb7b
Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0
2009-10-25 01:10:02 -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
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
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
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
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
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
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
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
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
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
John Hurliman
fdce1be3db
* Removed OpenSim.Data.NHibernate
...
* Replaced calls to ThreadPool.QueueUserWorkItem() with ThreadPool.UnsafeQueueUserWorkItem() since OpenSim does not use Code Access Security sandboxing
2009-10-19 16:52:27 -07:00
John Hurliman
72078195c2
Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-19 15:20:38 -07: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
Diva Canto
590d91e572
Forgot {} on last commit.
2009-10-19 15:03:55 -07:00
Diva Canto
2dd8a6beac
More instrumentation in physics.
2009-10-19 14:48:17 -07:00
Melanie
ffd59868f5
Merge branch 'master' into vehicles
2009-10-19 21:58:51 +01:00
John Hurliman
6d04a213d6
Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-18 20:25:16 -07: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
Diva Canto
baed19d068
A bit of instrumentation to figure out what's going on with physics actors.
2009-10-18 16:48:44 -07:00
John Hurliman
1dbbf6edb6
* Process the avatar terse update priority queue as soon as an update for our own avatar is ready to send
...
* Reduce the scope of the locks when processing the update queues
* Reuse the ImprovedTerseObjectUpdate.RegionData block
2009-10-18 03:15:36 -07:00
John Hurliman
2f2eeb6731
Zero out PrimitiveBaseShape.SculptData after the JPEG2000 data has been decoded to allow garbage collection on it
2009-10-18 02:53:36 -07:00
John Hurliman
b4526a5a6d
* Big performance increase in loading prims from the region database with MySQL
...
* Handle the AgentFOV packet
* Bypass queuing and throttles for ping checks to make ping times more closely match network latency
* Only track reliable bytes in LLUDPCLient.BytesSinceLastACK
2009-10-18 02:00:42 -07:00
John Hurliman
a3f93cffb4
* Committing Nini.dll with the patch from #3773 applied
...
* Fixing a log message typo
2009-10-17 22:06:36 -07: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
e28ac42486
Wrapped the contents of the IncomingPacketHandler loop in a try/catch statement
2009-10-17 17:19:18 -07:00
Melanie
66923983a7
Add support for display of the script compilation errors in the script editor's
...
debug pane. This will still use DEBUG_CHANNEL currently, since it is not
fully implemented. This also removes the "Compiled successfully" message
that pops up in the viewer.
2009-10-17 22:36:44 +01:00
Melanie
cdcbd22ba8
Merge branch 'master' into prioritization
2009-10-17 14:51:17 +01:00
Melanie
c7da13eb23
Adds SendAvatarInterestsUpdate to IClientAPI
...
Thank you, Fly-Man
2009-10-17 14:50:21 +01:00
John Hurliman
9c21d672d4
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 18:32:12 -07:00
Teravus Ovares (Dan Olivares)
01051daaab
* One more tweak to inform the user that they may not be able to move until relogging.
2009-10-16 21:24:08 -04:00
Teravus Ovares (Dan Olivares)
d49424c421
* After seeing it repeat over and over again.. again, We won't inform the scenepresence that there was an issue so it doesn't try to make the capsule again. I have a feeling that this is some kind of object leak. We'll know for sure.. soon.
2009-10-16 21:20:55 -04:00
John Hurliman
c81378dc22
Changing avatar movement updates to the Task throttle category until we get finer grained prioritization of avatars vs. prims
2009-10-16 17:33:41 -07:00
John Hurliman
7d6d94a7b5
More debugging of RegionCombinerModule.RegionLoaded() by making RegionLoaded() a two line function
2009-10-16 16:49:13 -07:00
John Hurliman
31dfe87570
Prevent oversized packets from crashing the LLUDP server. It will now print a friendly error message and drop the packet
2009-10-16 14:26:58 -07:00
John Hurliman
1bd9202f24
* Simplified the prioritization packet creation code to reduce CPU usage and increase throughput. Apologies to Jim for hacking on your code while it's only halfway done, I'll take responsibility for the manual merge
...
* Changed LLUDP to use its own MTU value of 1400 instead of the 1200 value pulled from the currently shipped libomv
2009-10-16 14:17:13 -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
John Hurliman
e776dfb1d7
* Changing the "clean dropped attachments" MySQL command to a using statement inside a try/catch. This statement times out for me very frequently
...
* More verbose logging when zerocoding fails on an outbound packet
2009-10-16 13:22:45 -07: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
eee1318597
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 12:42:53 -07:00
John Hurliman
a18489dc9b
* Change appearance packets from State to Task. This will hopefully fix the cloud issues
...
* Changed the throttling logic to obey the requested client bandwidth limit but also share bandwidth between some of the categories to improve throughput on high prim or heavily trafficked regions
2009-10-16 12:20:01 -07:00
Teravus Ovares (Dan Olivares)
0079d0a7c4
* One more attempt at the NullRef In The OdePlugin. This might fix it, but it will definitely get us closer to the root cause.
2009-10-16 14:30:55 -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
06354a093d
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization
2009-10-16 10:09:19 -07:00
Melanie
5de657cf5d
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-16 13:29:07 +01:00
Melanie
0487092d15
Thank you, Fly man, for plumbing the AvatarInterestsUpdate packet
2009-10-16 13:28:40 +01:00
Teravus Ovares (Dan Olivares)
67afa9e633
* Make sure to unregister the OutOfBounds Physics event in RemoveFromPhysicalScene or we'll be leaking
2009-10-16 03:52:57 -04:00
Teravus Ovares (Dan Olivares)
1f28c6208b
* Added a message for when the null reference exception occurs to make debugging easier. Without this, from the user's perspective.. they cannot move, fly or otherwise do anything physical and without a message on the console, it would be hard to tell that this is what is occurring.
2009-10-16 03:40:44 -04:00
Teravus Ovares (Dan Olivares)
ac2f98b846
* A hacky attempt at resolving mantis #4260 . I think ODE was unable to allocate memory, and therefore the unmanaged wrapper call fails or worse.. there's some unmanaged resource accounting in the ODEPlugin for ODECharacter that isn't being done properly now.
...
* The broken avatar may not be able to move, but it won't stop simulate from pressing on now. And, the simulator will try to destroy the avatar's physics proxy and recreate it again... but if this is what I think it is, it may not help.
2009-10-16 03:32:30 -04: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
jjgreens
df2d5a460f
Replaced the update lists with a priority queue implementation in LLClientView
...
Replaced the update lists with a priority queue implementation in LLClientView.
The priority queues are based on the MinHeap implementation also included in
this commit within the OpneSim.Framework namespace. Initially setup to exactly
mimic the behavior beofre the change which was a first come first serve queue.
2009-10-15 15:52:53 -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
Teravus Ovares (Dan Olivares)
6d3d985511
* Request from lkalif to have the Sim send a coarselocationupdate for each avatar in the sim, including yourself.
...
* Apparently the LLClientView should have been doing this previously.. Also fixed the 'You' on the index block.. so the client doesn't display an extra green dot.
* Thanks lkalif for bringing it to our attention.
2009-10-15 02:01:29 -04:00
John Hurliman
b1c93cd3b1
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-14 19:24:09 -07: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
Diva Canto
cd321ec4d2
Moved some code up to AddRegion, so that other modules that depend on it don't crash. This code needs to be removed as soon as user services is refactored.
2009-10-14 19:15:11 -07:00
John Hurliman
fe4109a5b0
Merge branch 'htb-throttle' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-14 16:48:42 -07:00
John Hurliman
06990b074c
Allow the LLUDP server to run in either synchronous or asynchronous mode with a config setting, defaulting to synchronous mode
2009-10-14 16:48:27 -07:00
John Hurliman
82012ec4e3
* Clean up the SetThrottle() code and add a maxBurstRate parameter to allow more tweaking in the future
2009-10-14 16:21:48 -07:00
Melanie
6bdd6ae0a0
Merge branch 'master' into htb-throttle
2009-10-14 23:31:38 +01:00
John Hurliman
1e9e9df0b3
* Switched to a plain lock for the ClientManager collections and protected the TryGetValues with try/catch instead of a lock
...
* Added ClientManager.ForEachSync() for operations that need to run synchronously, such as "show connections"
2009-10-14 14:25:58 -07:00
John Hurliman
25878d6828
* Added the "show connections" command to print out all of the currently tracked IClientAPIs
2009-10-14 13:00:42 -07:00
John Hurliman
c033477d2f
* Read scene_throttle_bps from the config file and use it
...
* Minor formatting cleanup
2009-10-14 11:52:48 -07:00