Commit Graph

17366 Commits (416bbe9583c77e2b1087b375d29ce1ace9c4b050)

Author SHA1 Message Date
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