Commit Graph

17543 Commits (e1ce3907f2edfd10b9322db4b429922897ed9905)

Author SHA1 Message Date
Justin Clark-Casey (justincc) d75f00cc2d minor: remove mono compiler warning from AttachmentsModule 2013-08-17 01:09:31 +01:00
Justin Clark-Casey (justincc) b3052c425e Remove some mono compiler warnings from OpenSim/Server/Handlers 2013-08-17 01:08:19 +01:00
Justin Clark-Casey (justincc) f5dbfe99b1 minor: remove mono compiler warnings from OpenSim/Services/Connectors/SimianGrid 2013-08-17 01:06:48 +01:00
Justin Clark-Casey (justincc) d38d5ecbac minor: remove mono compiler warnings from ScenePresence 2013-08-17 01:00:20 +01:00
Justin Clark-Casey (justincc) 77d418a36d remove mono compiler warnings from PollServiceRequestManager 2013-08-17 00:56:19 +01:00
Justin Clark-Casey (justincc) 217c8deae5 minor: remove mono compiler warning in StatsManager 2013-08-17 00:51:21 +01:00
Justin Clark-Casey (justincc) 1f1736a79f minor: Make log messages consistent in NeighbourServicesConnector 2013-08-17 00:46:18 +01:00
Justin Clark-Casey (justincc) 14ae89dbe7 Fix issues with RemoteAdmin admin_save_heightmap and admin_load_heightmap not working.
This is because they were wrongly looking for both regionid and region_id parameters in the same request.
Now only region_id is required (and recognized), regionid having been already deprecated for some time.
This is essentially Michelle Argus' patch from http://opensimulator.org/mantis/view.php?id=6737 but with tabs replaced with spaces.
Thanks!
2013-08-17 00:39:41 +01:00
Justin Clark-Casey (justincc) f5d3145bea Add ScenePresenceTeleportTests.TestSameSimulatorIsolatedRegionsV2() regression test for v2 transfers.
Also adjusts names of teleport setup helpers in EntityTransferHelpers
2013-08-17 00:24:56 +01:00
Justin Clark-Casey (justincc) fbab898f74 Add TestSameSimulatorNeighbouringRegionsV2() regression test for v2 entity transfer protocl 2013-08-16 23:52:55 +01:00
Justin Clark-Casey (justincc) 1624522761 refactor: Make AttachmentModulesTests.TestSameSimulatorNeighbouringRegionsTeleportV2 use already available TestClient handle rather than retrieving it via the ScenePresence 2013-08-16 23:45:04 +01:00
Justin Clark-Casey (justincc) 7d268912f1 Packet headers are not zero-encoded so don't try to zero-decode these in PacketPool.GetType()
Instead adjusts code with that from Packet.BuildHeader(byte[], ref int, ref int):Header in libomv
This stops packet decoding failures with agent UUIDs that contain 00 in their earlier parts (e.g. b0b0b0b0-0000-0000-0000-000000000211)
Thanks to lkalif for pointing this out.
2013-08-16 00:58:25 +01:00
Justin Clark-Casey (justincc) 7c916ab91c Try to make "slow down" message that one could receive on rapid teleporting more informative to the user.
This message is seen on V2 if one attempts to quickly re-teleport from a source region where one had previously teleported to a non-neighbour and back within 15 secs.
The solution here is for the user to wait a short while.
This message can also be seen on any teleport protocol if one recieves multiple teleport attempts simultaneously.  Probably still useful here to help identify misbehaving scripts.
2013-08-15 14:51:54 +01:00
Justin Clark-Casey (justincc) 3ddb7438d7 Move DoNotCloseAfterTeleport flag reset before UpdateAgent in V2 to avoid a low probability where the destination re-establishing the child connection before the flag was reset 2013-08-15 14:41:00 +01:00
Justin Clark-Casey (justincc) 3f8d79024b Rely on the Scene.IncomingCloseAgent() check as to whether the connection should be kept open after teleport-end rather than doing this in the ET Module
This is safer since the close check in IncomingCloseAgent() is done under lock conditions, which prevents a race between ETM and Scene.AddClient()
2013-08-15 14:07:57 +01:00
Justin Clark-Casey (justincc) 2231fcf5b4 Do not use the SP.DoNotCloseAfterTeleport flag for child agent connections.
This approach has problems if a client quits without sending a proper logout but then reconnects before the connection is closed due to inactivity.
In this case, the DoNotCloseAfterTeleport was wrongly set.
The simplest approach is to close child agents on teleport as quickly as possible so that races are very unlikely to occur
Hence, this code now closes child agents as the first action after a sucessful teleport.
2013-08-15 13:46:46 +01:00
Justin Clark-Casey (justincc) 5011c657b5 Actually implement the bot request object textures switch started in 225cf0d.
Forgot to propogate it down to bot level.
2013-08-14 23:37:07 +01:00
Justin Clark-Casey (justincc) 104626d732 minor: Comment out AvatarPicketSearch caps log message for now, which is occuring on every login and entity transfer 2013-08-14 23:22:52 +01:00
Justin Clark-Casey (justincc) 73e3ca670d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-14 23:21:51 +01:00
Justin Clark-Casey (justincc) 60cc9e9a3c minor: remove unused entity transfer config in teleport v2 attachments test 2013-08-14 23:21:18 +01:00
Robert Adams e8b1e91a1d BulletSim: include check for volume detect in check for zeroing avatar motion.
Normally, avatar motion is zeroed if colliding with a stationary object so
they don't slide down hills and such. Without volume detect check this also
allowed avatars to stand on volume detect objects and to have some jiggling
when they were in the volume detect object. This commit fixes both.
2013-08-14 14:49:24 -07:00
Robert Adams 7c3b71d294 BulletSim: add physical object initialized flag so updates and collisions
don't happen until the object is completely initialized.

This fixes the problem of doing a teleport while the simulator is running.
The destruction of the physical object while the engine is running means
that the physics parameter update would overwrite the new position of the
newly created avatar.
2013-08-14 14:49:22 -07:00
Justin Clark-Casey (justincc) 93dffe1777 Add stat clientstack.<scene>.IncomingPacketsOrphanedCount to record well-formed packets that were not initial connection packets and could not be associated with a connected viewer. 2013-08-14 22:33:12 +01:00
Justin Clark-Casey (justincc) 0d5680e971 Count any incoming packet that could not be recognized as an LLUDP packet as a malformed packet. Record this as stat clientstack.<scene>.IncomingPacketsMalformedCount
Used to detect if a simulator is receiving significant junk UDP
Decimates the number of packets between which a warning is logged and prints the IP source of the last malformed packet when logging
2013-08-14 22:08:28 +01:00
Justin Clark-Casey (justincc) 2c67aa0f41 If pCampbot has been asked to shutdown, don't carry on logging in queued bots 2013-08-14 21:08:00 +01:00
Justin Clark-Casey (justincc) 225cf0d010 Add pCampbot RequestObjectTextures ini setting to control whether textures are requested for received objects. 2013-08-14 19:53:10 +01:00
Justin Clark-Casey (justincc) fd519748e9 Add method doc to Scene.RemoveClient() to ask any callers to use Scene.IncomingCloseAgent() instead.
IncomingCloseAgent() now sets the scene presence state machine properly, which is necessary to avoid races between multiple sources of close.
Hence, it's also necessary for everyone to consistently call IncomingCloseAgent()
Calling RemoveClient() directly is currently generating an attention-grabbing exception though this right now this is harmless.
2013-08-14 19:36:52 +01:00
Justin Clark-Casey (justincc) 97c514daa5 Shutdown a bot's actions by making it check for disconnecting state rather than aborting the thread.
Aborting the thread appears to be causing shutdown issues.
2013-08-14 19:21:07 +01:00
Justin Clark-Casey (justincc) 3a62f39044 Add a -form switch to pCampbot to allow one to login a sequence of bots starting from numbers other than 0 2013-08-14 18:26:11 +01:00
Justin Clark-Casey (justincc) 2146b20169 Add the ability to explicitly specify a login start location to pCampbot via the -start parameter 2013-08-14 16:51:51 +01:00
Robert Adams 0feb5da31e BulletSim: move the creation of the avatar movement actor creating to
taint time. Attempt to fix a problem of teleporting within the same
region where the remove and addition of the physical avatar occasionally
ends up with a non-moving avatar.
2013-08-13 21:06:24 -07:00
Justin Clark-Casey (justincc) 5933f9448d Add a SendAgentUpdates setting to a new pCampbot.ini.example file which can control whether bots send agent updates
pCampbot.ini.example is used by copying to pCampbot.ini, like other ini files
2013-08-13 23:54:50 +01:00
Justin Clark-Casey (justincc) e311f902ff minor: Eliminate one of the duplicate 'have's in the HG message telling the user if no GroupsServerURI has been given in user data by the home grid 2013-08-13 20:13:12 +01:00
Robert Adams a90351cd2c Remove exception when printing error for failure removing script state. 2013-08-13 11:49:09 -07:00
Justin Clark-Casey (justincc) 4f8c691f8c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-12 22:57:32 +01:00
Justin Clark-Casey (justincc) c49ea491a3 Make show bots pCampbot console command print connected, connecting, etc. bot totals at end. 2013-08-12 22:49:17 +01:00
Robert Adams 2c31fe4614 BulletSim: add check in avatar stair step code to verify the collision
is not with a volume detect object.

This fixes a problem of avatars trying to step over a volume detect object
that they collide with. This appeared as the avatar popping up as it started
to step up but then continuing on since the object wasn't physically interacting.
2013-08-12 13:44:53 -07:00
Justin Clark-Casey (justincc) 377fe63c60 Don't try and send group updates to NPCs via event queue, since NPCs have no event queue.
I think there is an argument for sending this information to NPCs anyway since in some cases it appears a lot easier to write server-side bots by hooking into such internal events.
However, would need to stop event messages building up on NPC queues if they are never retrieved.
2013-08-12 21:02:50 +01:00
Justin Clark-Casey (justincc) f3edc0d8b7 minor: Extend warning message when adding trying to add an event for a client without a queue to include the event message name. 2013-08-12 19:38:23 +01:00
Justin Clark-Casey (justincc) de6ad380f6 Get rid of issue where removing NPCs would through an exception by routing close through Scene.IncomingCloseAgent() and NPCAvatar.Close() rather than directly to Scene.RemoveClient().
This exception was actually harmless since it occurred at the very last stage of the remove client process.
2013-08-12 19:31:45 +01:00
Justin Clark-Casey (justincc) e5b1688913 Add none behaviour to pCampbot when one wants bots to just stand around 2013-08-12 18:48:18 +01:00
Justin Clark-Casey (justincc) b64d3ecaed Create TestSameSimulatorNeighbouringRegionsTeleportV2() regression test for V2 transfer protocol. 2013-08-12 18:15:12 +01:00
Robert Adams 216f5afe54 Stats treaking. Update ToOSDMap for Stat and PercentageStat to return
all the various numbers that have been added to the console output.
Break out EventHistogram from CounterStat.
2013-08-10 09:09:52 -07:00
Justin Clark-Casey (justincc) 23ca1f859e minor: Consistently log IOCP for IO completion thread startup log information instead of mixing this with "IO Completion Threads" 2013-08-09 18:27:26 +01:00
Justin Clark-Casey (justincc) bfdcdbb2f3 Increase wait for source region to sent UpdateAgent to 10 seconds instead of 4.
This is giving much better results on teleports between simulators over my lan where for some reason there is a pause before the receiving simulator processes UpdateAgent()
At this point, v2 teleports between neighbour and non-neighbour regions on a single simulator and between v2 simulators and between a v1 and v2 simulator
are working okay for me in different scenarios (e.g. simple teleport, teleport back to original quickly and re-teleport, teleport back to neighbour and re-teleport. etc.)
2013-08-09 17:59:58 +01:00
Justin Clark-Casey (justincc) aec7019728 Add missing file from b1c26a56 2013-08-09 17:57:24 +01:00
Justin Clark-Casey (justincc) 97bcb59bee Merge branch 'TeleportWork' 2013-08-09 17:52:29 +01:00
Justin Clark-Casey (justincc) 6fcbf219da Comment back out seed dump code enabled in b1c26a56. Also adds a few teleport comments. 2013-08-09 17:48:35 +01:00
Diva Canto 2cdcf62b48 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-09 08:31:30 -07:00
Diva Canto 7e01213bf2 Go easy on enforcing session ids in position updates 2013-08-09 08:31:15 -07:00
Justin Clark-Casey (justincc) 99bce9d877 Fix an issue with an A->C->B->A teleport where these regions are in a row (A,B,C) where the A root agent is still closed, terminating the connection.
This was occuring because teleport to B did not set DoNotCloseAfterTeleport on A as it was a neighbour (where it isn't set to avoid the issue where the source region doesn't send Close() to regions that are still neighbours (hence not resetting DoNotCloseAfterTeleport).
Fix here is to still set DoNotCloseAfterTeleport if scene presence is still registered as in transit from A
2013-08-09 00:24:22 +01:00
Justin Clark-Casey (justincc) b1c26a56b3 Fix an issue where under teleport v2 protocol, teleporting from regions in an line from A->B->C would not close region A when reaching C
The root cause was that v2 was only closing neighbour agents if the root connection also needed a close.
However, fixing this requires the neighbour regions also detect when they should not close due to re-teleports re-establishing the child connection.
This involves restructuring the code to introduce a scene presence state machine that can serialize the different add and remove client calls that are now possible with the late close of the
This commit appears to fix these issues and improve teleport, but still has holes on at least quick reteleporting (and possibly occasionally on ordinary teleports).
Also, has not been completely tested yet in scenarios where regions are running on different simulators
2013-08-08 23:29:30 +01:00
Robert Adams 6410a25cef BulletSim: adjust avatar position when the avatar's size is changed.
This fixes the problem of avatars bouncing when logged in.
Added a little height to the avatar height fudges to eliminate a problem
of feet being in the ground a bit.
2013-08-08 13:55:17 -07:00
Dan Lake 9fc97cbbf7 Make m_originRegionID in ScenePresence public to allow DSG module to work for now. Once the code churn on teleport ends, I can find a better solution 2013-08-08 12:44:03 -07:00
Robert Adams d9bd6e6b5b Add parameter and explanation of ManagedStats return to OpenSimDefaults.ini.
Add 'callback' query parameter to managed stats return to return function
form of JSON data.
2013-08-08 09:45:30 -07:00
Robert Adams c67c55e0fc Better error reporting when registering LSL function extensions (comms module).
For unknown reasons, a dynamic function signature cannot have more than 5
parameters. Error message now tells you this fact so you can curse MS and
then go change your function definitions.
2013-08-08 09:45:16 -07:00
Robert Adams 50c163ae6c Add a JSON web fetch of the statististics managed by StatsManager.
Disabled by default. Enable by setting
[Startup]ManagedStatsRemoteFetchURI="Something"
and thereafter "http://ServerHTTPPort/Something/" will return all the managed
stats (equivilent to "show stats all" console command).
Accepts queries "cat=", "cont=" and "stat=" to specify statistic category,
container and statistic names. The special name "all" is the default and returns
all values in that group.
2013-08-08 09:45:01 -07:00
teravus 4e86674a3a * Added set water height <height> [<x>] [<y>] console command following the set terrain heights console command as an example. 2013-08-07 23:33:23 -05:00
teravus 99a4a91488 * This makes in-world terrain editing smoother, even in MegaRegions. This change only affects the editing user's experience. Non-editing users will see nothing different from the current 'slow' result. See comments for the thought process and how the issues surrounding terrain editing, cache, bandwidth, threading, terrain patch reliability and throttling were balanced. 2013-08-07 21:22:04 -05:00
Justin Clark-Casey (justincc) ce1361f2fe minor: Remove console lines at bottom of FakeParcelIDTests() regression test that were accidentally left in 2013-08-08 01:07:30 +01:00
Kevin Cozens 64216b34a4 Fixed error in BuildFakeParcelID() which was detected by regression tests. 2013-08-08 01:02:04 +01:00
Kevin Cozens 43da879ea2 Added regression tests for the routines related to fake parcel IDs. 2013-08-08 00:59:55 +01:00
Kevin Cozens e4da8d74d8 Additional regression tests for the location routines in Location.cs 2013-08-08 00:56:13 +01:00
Justin Clark-Casey (justincc) 638c3d25b0 Remove never implemented stub modules commands (list, load, unload) from back in 2009.
"show modules" is the functional console command that will show currently loaded modules.
Addresses http://opensimulator.org/mantis/view.php?id=6730
2013-08-08 00:48:22 +01:00
Justin Clark-Casey (justincc) b10710d4a5 minor: add some method doc to ScenePresence fields used for entity transfer, add minor details to some log messages, rename a misleading local variable name.
No functional changes.
2013-08-07 23:17:31 +01:00
Justin Clark-Casey (justincc) a33a1ac958 Add post-CreateAgent teleport cancellation/abortion functionality from v1 transfer protocol into v2.
This stops OpenSimulator still trying to teleport the user if they hit cancel on the teleport screen or closed the viewer whilst the protocol was trying to create an agent on the remote region.
Ideally, the code may also attempt to tell the destination simulator that the agent should be removed (accounting for issues where the destination was not responding in the first place, etc.)
2013-08-07 18:52:30 +01:00
Diva Canto 6b9a65972c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-07 08:02:36 -07:00
Diva Canto 3194ffdab8 Fixed incomplete commit r/23317 -- see_into_region. Put the guard around estate bans also, and delete the obsolete config var. 2013-08-07 08:01:59 -07:00
Justin Clark-Casey (justincc) d6d5d4ebd0 Add file missing from last commit 4c2f6de 2013-08-06 18:32:16 +01:00
Justin Clark-Casey (justincc) 4c2f6de8e4 Add the experimental ability to dump stats (result of command "show stats all") to file OpenSimStats.log every 5 seconds.
This can currently only be activated with the console command "debug stats record start".
Off by default.
Records to file OpenSimStats.log for simulator and RobustStats.log for ROBUST
2013-08-06 18:29:33 +01:00
Justin Clark-Casey (justincc) ac198068ab Add "debug threadpool status" console command to show min/max/current worker/iocp threadpool numbers 2013-08-06 00:00:12 +01:00
Justin Clark-Casey (justincc) 4581bdd929 Add "debug comms status" command to show current debug comms settings 2013-08-05 23:49:33 +01:00
Justin Clark-Casey (justincc) 9bcf072795 Make it possible to switch whether we serialize osd requests per endpoint or not, either via config (SerializeOSDRequests in [Network]) or via the "debug comms set" console command.
For debug purposes to assess what impact this has on network response in a heavy test environment.
2013-08-05 23:44:48 +01:00
Justin Clark-Casey (justincc) f9dc5815c4 For LLImageManagerTests, make tests execute under synchronous fire and forget conditions.
I generally prefer this approach for regression tests because of the complexity of accounting for different threading conditions.
2013-08-05 23:15:30 +01:00
Justin Clark-Casey (justincc) 139dcf1246 minor: move "threads abort" and "force gc" console commands into debug category - these are not things one needs to do in normal operation 2013-08-05 23:06:17 +01:00
Justin Clark-Casey (justincc) 76e778fe2c Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-05 23:05:12 +01:00
Justin Clark-Casey (justincc) 160659f683 Make it possible to set worker/iocp min/max threadpool limits on the fly with the console command "debug threadpool set" 2013-08-05 23:04:36 +01:00
Diva Canto 2d3ac2b1ec Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-05 14:21:39 -07:00
Diva Canto 946b370966 Child agent updates: remove the dependency on the root agent's camera position. That was a complete overkill that is unnecessary at this point. 2013-08-05 14:21:17 -07:00
Justin Clark-Casey (justincc) 24dcf3cf6a Comment out debug log lines about script modules comms for now.
If this is an issue, could change log4net config instead to allow re-enablement
2013-08-05 20:51:40 +01:00
Justin Clark-Casey (justincc) b8612e005a At OpenSimulator startup, print out default min built-in threadpool threads as well as max.
Make it clear that we only try to adjust max, and log at warn level if this fails.
Other minor logging cleanup.
2013-08-05 20:47:47 +01:00
Justin Clark-Casey (justincc) 151a8ca0cc Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-05 20:37:27 +01:00
Justin Clark-Casey (justincc) 7f0d9ad644 Make test AssetsClient print out more information about any failure to set thread numbers and immediate post config thread numbers 2013-08-05 20:36:46 +01:00
Mic Bowman 03698121ed Remove some debugging from simian connectors. 2013-08-05 12:34:53 -07:00
Justin Clark-Casey (justincc) 976514d39a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-05 19:25:51 +01:00
Justin Clark-Casey (justincc) 76bd3de2fd Add checks monitoring framework to provide alerts if certain conditions do not hold.
Not yet in use.
2013-08-05 19:22:47 +01:00
Diva Canto 05012bb0df Group notices bug fix: use a new IM for each member of the group, otherwise the fields get messed up because the transfer is async 2013-08-05 08:09:30 -07:00
Diva Canto 5b4b349776 Fix the failing TestSendImage. J2K decoding is async. 2013-08-03 21:27:32 -07:00
Diva Canto 09cb2a37dd More on HG inventory and OutboundPermission: disallowing giving inventory to foreigners if OutboundPermission is false 2013-08-03 20:36:30 -07:00
Diva Canto dcfeb95e98 HG: If OutboundPermission is set to false, let's enforce stricter permissions by not allowing objects to be taken to inventory. 2013-08-03 20:13:44 -07:00
Diva Canto b857353fc9 Making the J2KDecoderModule decoder function async. Could this be the cause of sim freeze? -- HandleRequestImage in LLClientView is now sync, which means that it cannot take too long to complete. However, its execution path may end up in J2KDecoderModule.Decode, which is heavy and could stop the packet processing thread while it's at it. 2013-08-03 15:42:25 -07:00
Diva Canto 847c01f406 Amend Justin's last commit regarding the new config var ServiceVersion. The section may not exist at all. 2013-08-02 17:38:08 -07:00
Diva Canto fdfc951744 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-02 17:00:34 -07:00
Diva Canto 5198df3aa0 Issue: 10 simultaneous TPs, many not making it. Now bypassing the per-url lock -- we should be "ok" (or, more "ok") now that we have increased the connection limit on the http library. But this is a sensitive part of the code, so it may need reverting. 2013-08-02 17:00:18 -07:00
Justin Clark-Casey (justincc) 4ff3757f86 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-02 23:17:20 +01:00
Justin Clark-Casey (justincc) 54b1071556 Allow older teleport ConnectorProtocolVersion of "SIMULATION/0.1" to be manually forced in a new [SimulationService] config setting.
This is for testing and debugging purposes to help determine whether a particular issue may be teleport related or not
"SIMULATION/0.2" (the newer teleport protocol) remains the default.  If the source simulator only implements "SIMULATION/0.1" this will correctly allow fallback to the older protocol.
Specifying "SIMULATION/0.1" will force the older, less efficient protocol to always be used.
2013-08-02 23:12:54 +01:00
Robert Adams 5bdfd55ace BulletSim: When converting linkset types, don't try to change the list
of linkset children while iterating through the list.
2013-08-02 10:32:43 -07:00
Robert Adams 24df15dab7 BulletSim: add implementation of 'physSetLinksetType' and 'physGetLinksetType'
and processing routines in BulletSim.
Add linkset rebuild/conversion routine in BSLinkset.
2013-08-02 09:47:12 -07:00
Robert Adams 5bcccfc305 BulletSim: add BSLinkInfo structure to remember link specific information
for each link in a linkset.
Extend BSLinksetConstraint to create and use BSLinkInfo with the default
static constraint.
2013-08-02 09:47:11 -07:00
Robert Adams 87ee0c395e Fix problem with modInvoke defined integer constants being build into
scripts as boxed integers rather than proper reference to a new LSLInteger.
This fixes an exception when using a registered integer constant in
a script.
2013-08-02 09:44:01 -07:00
Diva Canto 07e4958b19 Turn off edit beams when object is derezed while being edited. (mantis #6722) 2013-08-01 20:40:13 -07:00
Justin Clark-Casey (justincc) d4c506e453 minor: replace veclist.Add(new Vector3(0,0,0)) with Vector3.Zero in InventoryAccessModules.RezObject() - structs are passed by value 2013-08-02 00:08:14 +01:00
Justin Clark-Casey (justincc) c9695a0a59 Move experimental attachments throttling further down the chain so that multiple attachments changes (e.g. change outfit) are also throttled 2013-08-02 00:00:00 +01:00
Justin Clark-Casey (justincc) 7a5d11f8a7 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-08-01 23:17:21 +01:00
Justin Clark-Casey (justincc) 68b98a8003 minor: Add name to debug lludp packet level feedback on console 2013-08-01 23:16:41 +01:00
teravus 7b9a50721d * Thanks Plugh for pointing out that the constructor that takes a ulong regionhandle and saves it to to X,Y vars in the OpenSim.Framework.Location object was inverting the X and Y resulting in X and Y confusion. The test also used 256x256 in the uint,uint constructor so it was unable to determine if the X and Y components swapped. I don't expect much upheaval from this commit, not a lot of features were using the ulong Location object constructor. The database never stores the ulong regionhandle... the prims are loaded by region Guid. LLUDPServer used it to determine regions that it handled in a service definition where there was simply a X == X test which has the same logical result un-switched as it did switched. Again, thanks LibOMV for the regionhandle code. 2013-08-01 16:32:36 -05:00
Justin Clark-Casey (justincc) 216e785ca9 Add experimental "debug attachments throttle <ms>" setting (command line) and ThrottlePer100PrimsRezzed in [Attachments] in config
This is an experimental setting to control cpu spikes when an attachment heavy avatar logs in or avatars with medium attachments lgoin simultaneously.
It inserts a ms sleep specified in terms of attachments prims after each rez when an avatar logs in.
Default is 0 (no throttling).
"debug attachments <level>" changes to "debug attachments log <level>" which controls logging.  A logging level of 1 will show the throttling performed if applicable.
Also adds "debug attachments status" command to show current throttle and debug logging levels.
2013-08-01 21:16:53 +01:00
Justin Clark-Casey (justincc) 0c4c084bed Try a different approach to slow terrain update by always cycling the loop immediately if any data was sent, rather than waiting.
What I believe is happening is that on initial terrain send, this is done one packet at a time.
With WaitOne, the outbound loop has enough time to loop and wait again after the first packet before the second, leading to a slower send.
This approach instead does not wait if a packet was just sent but instead loops again, which appears to lead to a quicker send without losing the cpu benefit of not continually looping when there is no outbound data.
2013-08-01 18:12:28 +01:00
Justin Clark-Casey (justincc) 932c382737 Revert "Issue: painfully slow terrain loading. The cause is commit d9d995914c (r/23185) -- the WaitOne on the UDPServer. Putting it back to how it was done solves the issue. But this may impact CPU usage, so I'm pushing it to test if it does."
This reverts commit 59b461ac0e.
2013-08-01 18:11:50 +01:00
Diva Canto 59b461ac0e Issue: painfully slow terrain loading. The cause is commit d9d995914c (r/23185) -- the WaitOne on the UDPServer. Putting it back to how it was done solves the issue. But this may impact CPU usage, so I'm pushing it to test if it does. 2013-08-01 09:27:44 -07:00
Mic Bowman 1299592405 Experimental comment to eneralize the handling of Linden caps when the
cap is something other than "localhost". A new interface for handling
external caps is supported with an example implemented for Simian. The
only linden cap supporting this interface right now is the GetTexture
cap.
2013-07-31 15:37:15 -07:00
Mic Bowman 48ee440983 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-31 11:31:03 -07:00
Mic Bowman 64f2dc778a A pretty major restructuring of the simian method invocations in order to
service access capabilities. In conjunction with the corresponding Simian
updates, this enables explicit per-simulator capability-based access to
grid services. That enables grid owners to add or revoke access to the grid
on a simulator by simulator basis.
2013-07-31 11:27:35 -07:00
Diva Canto ac2ad9690d HGWorldMapModule: unregister event on RemoveRegion 2013-07-31 11:20:27 -07:00
Diva Canto 87fcff9fc3 HGWorldMapModule: check whether it's enabled or not. 2013-07-31 11:13:55 -07:00
Diva Canto 3c540f0d33 Avoid another null ref opportunity. 2013-07-30 22:07:33 -07:00
Diva Canto e4ecbc2b10 Fix null ref. 2013-07-30 21:38:41 -07:00
Diva Canto fd050fca7c Doing the HG Map / SimulatorFeatures "the right way": moved it to HGMapModule, hooking on to SimulatorFeatures.OnSimulatorFeaturesRequest event (similar to what the DynamicMenuModule does).
Only HG Visitors get this var, to avoid spamming local users.
The config var  is now called MapTileURL, to be consistent with the login one, and its being picked up from either [LoginService], [HGWorldMap] or [SimulatorFeatures], just because I have a bad memory.
2013-07-30 21:10:00 -07:00
Diva Canto 590a8b0315 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-30 17:27:32 -07:00
Diva Canto 2b54199271 After talking to lkalif on the IRC: SimulatorFeatures response: renamed the OSDMap GridServices to OpenSimExtras, normalized the url keys under it, and moved ExportEnabled to under it too. Melanie: change your viewer code accordingly.
Documentation at http://opensimulator.org/wiki/SimulatorFeatures_Extras
2013-07-30 17:26:56 -07:00
Robert Adams 0d189165a8 BulletSim: distribute vehicle physical settings to all members of
a linkset. Enables constraint based linksets.
Rename some internal variables to clarify whether values world or
vehicle relative.
2013-07-30 15:23:33 -07:00
Robert Adams 6ad577d32b BulletSim: test method for debugging of extended physics script operations. 2013-07-30 15:22:32 -07:00
Robert Adams 5a7784a0e6 BulletSim: make density display and return value consistant with how
the simulator expects it (scaled to 100kg/m^3).
2013-07-30 07:22:43 -07:00
Justin Clark-Casey (justincc) 1416c90932 minor: Add timeout secs to connection timeout message. Change message to reflect it is a timeout due to no data received rather than an ack issue. 2013-07-29 23:53:59 +01:00
Justin Clark-Casey (justincc) 8004e6f31c Fix issue just introduced in 8efe4bfc2e where I accidentally left in a test line to force very quick client unack 2013-07-29 23:38:54 +01:00
Justin Clark-Casey (justincc) 8efe4bfc2e Make "abnormal thread terminations" into "ClientLogoutsDueToNoReceives" and add this to the StatsManager
This reflects the actual use of this stat - it hasn't recorded general exceptions for some time.
Make the sim extra stats collector draw the data from the stats manager rather than maintaing this data itself.
2013-07-29 23:18:29 +01:00
Diva Canto 7eee9eb312 Groups: Better warning messages to the user. 2013-07-28 20:47:15 -07:00
Diva Canto 1b94de8e58 Group chat: prevent a situation where dupe IMs could occur. 2013-07-28 19:31:17 -07:00
Diva Canto 1d4bf06fe7 Group chat: guard against duplicate sends 2013-07-28 18:49:10 -07:00
Diva Canto 33b54807a1 Changing the visibility test in groups service to be UUID.Zero.ToString() instead of "all" because some paths in the code assume there's a UUI in the RequestingAgent string. 2013-07-28 18:08:50 -07:00
Diva Canto 468ddd2373 Same issue. 2013-07-28 17:12:14 -07:00
Diva Canto c442ef346e Same issue as previous commit. 2013-07-28 16:44:31 -07:00
Diva Canto 698b2135ee Fix an issue where HG members of groups weren't seeing the entire membership for group chat. 2013-07-28 15:59:24 -07:00
Diva Canto 63f6c8f27c Removed commented lines and useless debug message 2013-07-28 13:53:47 -07:00
Diva Canto 7b0b5c9d97 Added BasicSearchModule.cs which handles OnDirFindQuery events. Removed that handler from both Groups modules in core, and replaced them with an operation on IGroupsModule. 2013-07-28 13:49:58 -07:00
Diva Canto 6be614ba84 This makes people search work. 2013-07-28 09:54:34 -07:00
Diva Canto 170a6f0563 This makes group search work (Groups V2). 2013-07-28 09:00:28 -07:00
Diva Canto 8dff05a897 More on group chat: only root agents should subscribe to OnInstantMessage, or else they'll see an echo of their own messages after teleporting. 2013-07-27 20:30:00 -07:00
Diva Canto 18eca40af3 More bug fixes on group chat 2013-07-27 19:12:47 -07:00
Diva Canto 69975763d2 Several major improvements to group (V2) chat. Specifically: handle join/drop appropriately, invitechatboxes.
The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
2013-07-27 15:38:56 -07:00
Diva Canto 3dac92f345 Increased the rate of the PollServiceRequestManager to 0.5 secs (it was 1sec). Group chat is going over the EQ... Hopefully this won't increase CPU when there's nothing going on, but we need to watch for that. 2013-07-26 21:40:04 -07:00
Diva Canto 85428c49bb Trying to decrease the lag on group chat. (Groups V2 only) 2013-07-26 21:27:00 -07:00
Diva Canto 428916a64d Commented out ChatSessionRequest capability in Vivox and Freeswitch. We aren't processing it in any meaningful way, and it seems to get invoked everytime someone types a message in group chat. 2013-07-26 21:14:21 -07:00
Justin Clark-Casey (justincc) ba9daf849e Fix regression from 056a6ee7 because the RemoteSimulationConnector uses a copy of the LocalSimulationConnector but never initializes it (hence ServiceVersion was never set) 2013-07-26 22:52:08 +01:00
Justin Clark-Casey (justincc) 840be97e40 Fix failure in TestCreateDuplicateRootScenePresence().
This is a test setup failure since code paths when adding a duplicate root scene presence now require the EntityTransferModule to be present.
Test fixed by adding this module to test setup
2013-07-26 20:52:30 +01:00
Justin Clark-Casey (justincc) c245365484 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-26 19:23:12 +01:00
Justin Clark-Casey (justincc) 056a6ee765 Fix regression tests relating to agent transfer by making simulator use last week's SIMULATOR/0.1 protocol for now. 2013-07-26 19:22:30 +01:00
nebadon d27cc62458 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-26 14:13:02 -04:00
nebadon ad2ebd2f3d Force map tiler to save Water.jpg as an actual jpeg format it seems even though we specified jpg extention it was actually a png and thus confusing the viewer silently. 2013-07-26 14:11:42 -04:00
Justin Clark-Casey (justincc) a08f01fa83 Fix NPC regression test failures.
These were genuine failures caused by ScenePresence.CompleteMovement() waiting for an UpdateAgent from NPC introduction that would never come.
Instead, we do not wait if the agent is an NPC.
2013-07-26 18:43:15 +01:00
Diva Canto dd2c211e62 Comment debug message 2013-07-26 07:40:55 -07:00
Diva Canto d5367a219d Slight improvement: no need to delay the removal of the queues in EQ, because DisableSimulator is now being sent via UDP 2013-07-26 07:39:57 -07:00
Diva Canto 878ce1e6b2 This should fix all issues with teleports. One should be able to TP as fast as needed. (Although sometimes Justin's state machine kicks in and doesn't let you) The EventQueues are a hairy mess, and it's very easy to mess things up. But it looks like this commit makes them work right. Here's what's going on:
- Child and root agents are only closed after 15 sec, maybe
- If the user comes back, they aren't closed, and everything is reused
- On the receiving side, clients and scene presences are reused if they already exist
- Caps are always recreated (this is where I spent most of my time!). It turns out that, because the agents carry the seeds around, the seed gets the same URL, except for the root agent coming back to a far away region, which gets a new seed (because we don't know what was its seed in the departing region, and we can't send it back to the client when the agent returns there).
2013-07-25 23:44:58 -07:00
Justin Clark-Casey (justincc) 4cd03d8c31 Return Simulator/0.1 (V1) entity transfer behaviour to waiting only 2 seconds before closing root agent after 15.
This is because a returning viewer by teleport before 15 seconds are up will be disrupted by the close.
The 2 second delay is within the scope where a normal viewer would not allow a teleport back anyway.
Simulator/0.2 (V2) protocol will continue with the longer delay since this is actually the behaviour viewers get from the ll grid
and an early close causes other issues (avatar being sent to infinite locations temporarily, etc.)
2013-07-26 01:40:56 +01:00
Justin Clark-Casey (justincc) 72ed49af5f Reset DoNotClose scene presence teleport flag before pausing. Rename DoNotClose to DoNotCloseAfterTeleport 2013-07-26 01:38:04 +01:00
Justin Clark-Casey (justincc) 1fabdcc43c If a returning teleport starts to reuse a downgraded child connection that was a previous root agent, do not close that child agent at the end of the 15 sec teleport timer.
This prevents an issue if the user teleports back to the neighbour simulator of a source before 15 seconds have elapsed.
This more closely emulates observed linden behaviour, though the timeout there is 50 secs and applies to all the pre-teleport agents.
Currently sticks a DoNotClose flag on ScenePresence though this may be temporary as possibly it could be incorporated into the ETM state machine
2013-07-26 01:04:16 +01:00
Diva Canto 20b989e048 Increased the wait time to 15 secs. In a 0.7.5 standalone where the effect was always present, this seems to have fixed it. 2013-07-24 17:10:26 -07:00
Diva Canto cac37e298c Deleted all [ZZZ] debug messages. 2013-07-24 14:31:30 -07:00
Diva Canto f0320f5652 The previous commit did fix the infinity problem! I'm putting the same time on TP_V1 and adding a big red warning on top of those lines. 2013-07-24 14:31:18 -07:00
Diva Canto 46d017b197 Today's wild shot at the infinity problem. Wait on the child agent left behind. 2013-07-24 14:31:03 -07:00
Diva Canto 4e5c7bdeb3 Moved TriggerOnMakeRootAgent back to the end of MakeRootAgent, to see if that eliminates the temporary placement at infinity upon TPs 2013-07-24 14:30:13 -07:00
Diva Canto e6a0f6e428 One more thing to test in order to let CompleteMovement go up the stack. 2013-07-24 14:29:51 -07:00
Diva Canto 14530b2607 Minor adjustment on timings of waits. 2013-07-24 14:29:37 -07:00
Diva Canto c0433d5e4c Changed the RegionHandshake packet to the Unknown queue, so that it is sent with high priority and hopefully gets to the client before AgentMovementComplete 2013-07-24 14:29:15 -07:00
Diva Canto 879cbb4575 This commit message intentionally left blank (last commit was idiotic) 2013-07-24 14:28:55 -07:00
Diva Canto 261512606d Improve the opening test in CompleteMovement, to account for multiple flags besides ViaLogin. 2013-07-24 14:28:41 -07:00
Diva Canto d7984ef775 More on putting TP V1 as it was 2013-07-24 14:28:27 -07:00
Diva Canto aaee63af82 Minor improvements on TP V1 trying to make it exactly as it was before. 2013-07-24 14:28:14 -07:00
Diva Canto 3891a8946b New Teleport protocol (V2), still compatible with V1 and older. (version of the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
2013-07-24 14:27:58 -07:00
Diva Canto aae29c0ee2 Further tweaks on TPs: not sending the callback URL and instead waiting 15sec before closing the agent. This seems to be working fairly well. The viewer seems to have an 8 sec delay between UseCircuitCode and CompleteMovement.
Also added back the position on UpdateAgent, because it's needed for TPing between neighboring regions.
2013-07-24 14:27:37 -07:00
Diva Canto 9ab78d412c EXPERIMENTAL: yet another variation of ES/EAC/TPFinish 2013-07-24 14:27:22 -07:00
Diva Canto 00d4a26eef Amend previous commit. 2013-07-24 12:49:30 -07:00
Diva Canto 665fb66686 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-24 11:26:30 -07:00
Diva Canto e103e34f1d Added config var that we all thought was already there: see_into_region. (Note: different from the defunct see_into_neighboring_sim, which used to control the process from the other end). This enables child agents in neighbors for which the root agent doesn't have permission to be in. 2013-07-24 11:25:41 -07:00
Diva Canto d8a6eb5641 Decreased the time of group cache to 1 min, because it was getting on my nerves that it takes so long to let go of old info. 2013-07-24 11:25:24 -07:00
Justin Clark-Casey (justincc) feef9d64a4 For unknown user issue, bump GUN7 to GUN8 and UMMAU3 to UMMAU4 to assess what looks like a very significant reducing in GUN occurrances 2013-07-23 23:42:34 +01:00
Justin Clark-Casey (justincc) fa2653c8e1 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-23 23:32:24 +01:00
Justin Clark-Casey (justincc) 9a4a513b5e Correct issue where the last instance of a sampled stat was shown 3x larger than it should have been (though internal use was correct) 2013-07-23 23:31:35 +01:00
Diva Canto 516062ae1f Don't touch the Current Outfit folder also on coming back home 2013-07-23 15:05:32 -07:00
Diva Canto 901bdfed40 Restoring landing on prims, which had been affected by the edit beams commit. 2013-07-23 14:31:16 -07:00
Diva Canto 744276dd50 In renaming the folders for hypergriding, don't rename the Current Outfit folder. The viewer doesn't like that. 2013-07-23 14:31:03 -07:00
Diva Canto 42e52f544d Improvement of fetching name in groups 2013-07-23 14:30:50 -07:00
Diva Canto 7c1eb86c7d Don't post Link asset types back to the home grid 2013-07-23 14:28:53 -07:00
Justin Clark-Casey (justincc) 76e46d0158 Improve spacing between data and units on console stats display 2013-07-23 17:23:16 +01:00
Robert Adams aec8d1e6be BulletSim: Turn on center-of-mass calculation by default.
Reduce object density by factor of 100 to bring physical mass computations
into a range better suited for Bullet.
2013-07-23 09:09:25 -07:00
Robert Adams f499b328c4 Revert "Revert "BulletSim: Add logic to linksets to change physical properties for""
Found that the vehicle movement problem was not caused by these physics changes.

This reverts commit 84d0699761.
2013-07-23 08:14:20 -07:00
Robert Adams 75686e0e49 Revert "Revert "BulletSim: change BSDynamics to expect to be passed a BSPrimLinkable""
Found that the vehicle movement problem was not caused by these physics changes.

This reverts commit 7b187deb19.
2013-07-23 08:13:56 -07:00
Robert Adams b14156aa63 Revert "Revert "BulletSim: only create vehicle prim actor when vehicles are enabled.""
Found that the vehicle movement problem was not caused by these physics changes.

This reverts commit 5f7b2ea81b.
2013-07-23 08:13:29 -07:00
Robert Adams aec8852af7 Revert "Revert "BulletSim: move collision processing for linksets from BSPrimLinkable""
Found that the vehicle movement problem was not caused by these physics changes.

This reverts commit c45659863d.
2013-07-23 08:13:01 -07:00
Robert Adams 401c2e2f2e Revert "Revert "Add experimental stubs for an extension function interface on both""
Found that the vehicle movement problem was not caused by these physics changes.

This reverts commit 89857378ce.
2013-07-23 08:12:34 -07:00
Robert Adams af9deed135 Revert "Revert "BulletSim: freshen up the code for constraint based linksets.""
Found that the vehicle movement problem was not caused by these physics changes.

This reverts commit 44543ebe63.
2013-07-23 08:11:21 -07:00
Justin Clark-Casey (justincc) 90528c23d9 For stats which can show average change over time, show the last sample as well as the average.
This is somewhat cryptic at the moment, need to improve documentation.
2013-07-23 01:13:13 +01:00
Justin Clark-Casey (justincc) a57a472ab8 Add proper method doc and comments to m_dataPresentEvent (from d9d9959) 2013-07-23 00:51:59 +01:00
Justin Clark-Casey (justincc) 9fb9da1b6c Add clientstack.InboxPacketsCount stat. This records the number of packets waiting to be processed at the second stage (after initial UDP processing)
If this consistently increases then this is a problem since it means the simulator is receiving more requests than it can distribute to other parts of the code.
2013-07-23 00:35:41 +01:00
Justin Clark-Casey (justincc) 60732c96ef Add clientstack.OutgoingUDPSendsCount stat to show number of outbound UDP packets sent by a region per second 2013-07-23 00:35:34 +01:00
Justin Clark-Casey (justincc) 8396f1bd42 Record raw number of UDP receives as clientstack.IncomingUDPReceivesCount 2013-07-23 00:35:23 +01:00
Justin Clark-Casey (justincc) bf517899a7 Add AverageUDPProcessTime stat to try and get a handle on how long we're taking on the initial processing of a UDP packet.
If we're not receiving packets with multiple threads (m_asyncPacketHandling) then this is critical since it will limit the number of incoming UDP requests that the region can handle and affects packet loss.
If m_asyncPacketHandling then this is less critical though a long process will increase the scope for threads to race.
This is an experimental stat which may be changed.
2013-07-23 00:35:09 +01:00
Robert Adams e6b6af62dd Added check for user movement specification before discarding an incoming
AgentUpdate packet. This fixes the problem with vehicles not moving forward
after the first up-arrow.
Code to fix a potential exception when using different IClientAPIs.
2013-07-22 15:41:14 -07:00
Robert Adams 44543ebe63 Revert "BulletSim: freshen up the code for constraint based linksets."
The changes don't seem to be ready for prime time.

This reverts commit 803632f8f3.
2013-07-22 12:10:23 -07:00
Robert Adams 89857378ce Revert "Add experimental stubs for an extension function interface on both"
The changes don't seem to be ready for prime time.

This reverts commit 13a4a80b38.
2013-07-22 12:09:55 -07:00
Robert Adams c45659863d Revert "BulletSim: move collision processing for linksets from BSPrimLinkable"
The changes don't seem to be ready for prime time.

This reverts commit b4c3a791aa.
2013-07-22 12:09:17 -07:00
Robert Adams 5f7b2ea81b Revert "BulletSim: only create vehicle prim actor when vehicles are enabled."
The changes don't seem to be ready for prime time.

This reverts commit acb7b4a09a.
2013-07-22 12:08:49 -07:00
Robert Adams 7b187deb19 Revert "BulletSim: change BSDynamics to expect to be passed a BSPrimLinkable"
The changes don't seem to be ready for prime time.

This reverts commit d0d654e218.
2013-07-22 12:08:25 -07:00
Robert Adams 84d0699761 Revert "BulletSim: Add logic to linksets to change physical properties for"
The changes don't seem to be ready for prime time.

This reverts commit b44f0e1a00.
2013-07-22 12:07:42 -07:00
Robert Adams b44f0e1a00 BulletSim: Add logic to linksets to change physical properties for
whole linkset.
Override physical property setting for BSLinksetCompound as there are
not children to the compound spape.
2013-07-22 10:27:24 -07:00
Robert Adams d0d654e218 BulletSim: change BSDynamics to expect to be passed a BSPrimLinkable
and start changing the logic to handle the base prim as a complex
object (ie, a linkset).
2013-07-22 10:27:21 -07:00
Robert Adams acb7b4a09a BulletSim: only create vehicle prim actor when vehicles are enabled. 2013-07-22 10:27:18 -07:00
Robert Adams b4c3a791aa BulletSim: move collision processing for linksets from BSPrimLinkable
into the linkset implementation classes.
Add HasSomeCollision attribute that remembers of any component of
   a linkset has a collision.
Update vehicle code (BSDynamic) to use the HasSomeCollision in place of
   IsColliding to make constraint based linksets properly notice the ground.
Add linkset functions to change physical attributes of all the members
   of a linkset.
2013-07-22 10:27:15 -07:00
Robert Adams 13a4a80b38 Add experimental stubs for an extension function interface on both
PhysicsScene and PhysicsActor.
2013-07-22 10:27:09 -07:00
Robert Adams 803632f8f3 BulletSim: freshen up the code for constraint based linksets. 2013-07-22 10:27:06 -07:00
Diva Canto df63bfafef Better version of previous commit 2013-07-21 15:42:22 -07:00
Diva Canto f81e289a1b Add the Current Outfit folder as an available folder in the SuitcaseInventory. 2013-07-21 15:42:05 -07:00
Diva Canto 99a727600b Minor cosmetic changes. 2013-07-21 10:07:35 -07:00
Diva Canto 8d18ad2f6f Minor aesthetic change to make things more clear. 2013-07-21 09:02:56 -07:00
Diva Canto 116a449d89 The quaternion delta was a bit to high, now that the head rotation is out of the equation. (head rotation was the problematic one) 2013-07-21 09:01:57 -07:00
Diva Canto b5ab0698d6 EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams. 2013-07-21 09:01:44 -07:00
Diva Canto 032c637c10 Filter certain viewer effects depending on distance between the avatar that is generating the effect and the cameras of the observers. In particular, this applies to LookAt (which is really verbose and occurs every time users move the mouse) and Beam (which doesn't occur that often, but that can be extremely noisy (10.sec) when it happens) 2013-07-21 09:01:09 -07:00
Diva Canto 3919c80505 A couple of small optimizations over the previous commit 2013-07-21 09:00:57 -07:00
Diva Canto d5a1779465 Manage AgentUpdates more sanely:
- The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around
- Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later
- Ignore updates of HeadRotation, which were problematic and aren't being used up stream
2013-07-21 09:00:42 -07:00
Diva Canto 174105ad02 Fixed the stats in show client stats. Also left some comments with observations about AgentUpdates. 2013-07-21 09:00:27 -07:00
Diva Canto 18d5d8f5dd Removed verbose debug from previous commit 2013-07-21 09:00:08 -07:00
Diva Canto edafea6ae6 PollServiceRequestManager: changed the long poll from a Queue to a List. No need to dequeue and enqueue items every 1sec. 2013-07-21 08:59:48 -07:00
Justin Clark-Casey (justincc) 3a6acbcc14 furhter shorten CheckAgentUpdateSignificance(). No real perf impact. 2013-07-21 08:59:31 -07:00
Justin Clark-Casey (justincc) 866de53978 Remove some pointless code in CheckAgentUpdateSignificance() 2013-07-21 08:59:17 -07:00
Justin Clark-Casey (justincc) 61eda1f441 Make the check as to whether any particular inbound AgentUpdate packet is significant much earlier in UDP processing (i.e. before we pointlessly place such packets on internal queues, etc.)
Appears to have some impact on cpu but needs testing.
2013-07-21 08:58:55 -07:00
Justin Clark-Casey (justincc) e5c677779b Add measure of number of inbound AgentUpdates that were seen as significant to "show client stats" (i.e. sent on for further processing instead of being discarded)
Added here since it was the most convenient place
Number is in the last column, "Sig. AgentUpdates" along with percentage of all AgentUpdates
Percentage largely falls over time, most cpu for processing AgentUpdates may be in UDP processing as turning this off even earlier (with "debug lludp toggle agentupdate" results in a big cpu fall
Also tidies up display.
2013-07-21 08:58:39 -07:00
Justin Clark-Casey (justincc) 5a2d4d888c Hack in console command "debug lludp toggle agentupdate" to allow AgentUpdate in packets to be discarded at a very early stage.
Enabling this will stop anybody from moving on a sim, though all other updates should be unaffected.
Appears to make some cpu difference on very basic testing with a static standing avatar (though not all that much).
Need to see the results with much higher av numbers.
2013-07-21 08:58:21 -07:00
Justin Clark-Casey (justincc) 66048e1a70 minor: provide user feedback in the log for now when udp in/out bound threads are started/stopped 2013-07-21 08:58:02 -07:00
Justin Clark-Casey (justincc) 3a476bf60c Fix up a temporary debugging change from last commit which stopped "lludp stop out" from actually doing anything 2013-07-21 08:57:36 -07:00
Diva Canto 98d47ea428 Delay the enqueueing of non-longpoll requests for 100ms. No need to have these requests actively on the processing queue if it seems they're not ready. 2013-07-21 08:57:16 -07:00
Justin Clark-Casey (justincc) 63c42d6602 Do some simple queue empty checks in the main outgoing udp loop instead of always performing these on a separate fired thread.
This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic.
However, needs testing at scale.
2013-07-21 08:56:48 -07:00
Diva Canto 9041f4a056 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-19 20:27:49 -07:00
Diva Canto c1705236c7 Fix HGTravelStore.migrations in SQLite (mantis #6709) 2013-07-19 20:25:33 -07:00
Robert Adams 1d65b0d802 BulletSim: add position resetting for stationary avatars so they don't
move around when standing on a stationary object.
Create proper linkage between BSCharacter and its actor by generating
a UpdatedProperties event the same way BSPrim does.
2013-07-18 19:09:55 -07:00
Dan Lake edef7472d1 Enable storing of environment settings in NullSimulationData 2013-07-18 13:33:50 -07:00
Diva Canto b5062ae7ee Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post requests timeout in 60 secs.
There's plenty of room for improvement in handling the EQs. Some other time...
2013-07-18 13:30:04 -07:00
Justin Clark-Casey (justincc) d9d995914c try Hacking in an AutoResetEvent to control the outgoing UDP loop instead of a continuous loop with sleeps.
Does appear to have a cpu impact but may need further tweaking
2013-07-18 12:28:02 -07:00
Diva Canto 71b1511db5 Revert "Revert "I confuse myself. Let's try this variable name instead.""
This reverts commit 52dc7b2a96.
2013-07-18 12:25:47 -07:00
Diva Canto a22a4db5ce Revert "Revert "Do the same trick that dahlia did for Dequeue(timeout)""
This reverts commit 5495df7443.
2013-07-18 12:25:22 -07:00
Diva Canto 552b85d33d Revert "Revert "Putting the requests back in the queue while testing for count >0 is not the smartest move...""
This reverts commit 7127891957.
2013-07-18 12:25:04 -07:00
Diva Canto ad198a714c Revert "Revert "Didn't mean to commit this change in BlockingQueue.cs""
This reverts commit fda91d93da.
2013-07-18 12:24:43 -07:00
Diva Canto 9e35b069a4 Reverting the reverts I did yesterday. cpu-branch has now been
successfully tested, and I'm merging back those changes, which proved to
be good.
Revert "Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:""

This reverts commit fa2370b32e.
2013-07-18 12:23:27 -07:00
Dan Lake ae997fffee Merge branch 'master' of git://opensimulator.org/git/opensim 2013-07-18 02:28:36 -07:00
Dan Lake 6572847518 Added MinPoolThreads to ini [Startup] section to control SmartThreadPool. 2013-07-18 02:28:07 -07:00
Justin Clark-Casey (justincc) 077be8b496 Fix what apepars to be a bug in DoubleQueue<T>.Enqueue(Queue<T> q, T data) where the q parmater is ignored and everyghig is always placed on m_lowQueue.
No actual impact presently since nothing ends up calling EnqueueHigh()
2013-07-18 01:23:33 +01:00
Diva Canto 6293614074 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-07-17 15:06:33 -07:00
Dan Lake 49b3b7ee83 Merge branch 'master' of git://opensimulator.org/git/opensim 2013-07-17 15:06:25 -07:00
Diva Canto fa2370b32e Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"
This reverts commit e46459ef21.
2013-07-17 15:05:36 -07:00
Dan Lake f64f07e7c5 command line kick user now uses exact name match instead of substring search to avoid kicking the wrong user or multiple wrong users. 2013-07-17 15:05:30 -07:00
Diva Canto fda91d93da Revert "Didn't mean to commit this change in BlockingQueue.cs"
This reverts commit 0f5b616fb0.
2013-07-17 15:05:16 -07:00