Justin Clark-Casey (justincc)
1d19e1bbd0
Add naive implementation of controlled incoming HG attachments to manage load.
...
Instead of processing all incoming attachment scene object concurrently, process them consecutively to eliminate potential overload from this source.
This is a naive implementation because it does not currently account for slow foreign asset services.
Although it may take longer, this approach may also improve attachment visibility for HG avatars
since the scene object is now always added to the scene after receiving assets from the foreign service and not before.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc)
ec8d21c434
Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
...
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc)
72cb1cc7d6
Add "show threadpool calls" command to show count of all labelled smartthreadpool calls
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc)
8c9f82b035
Just for now, don't alert the user or log if we couldn't change their server-side preferences due to no e-mail address being sent.
...
This is to avoid user confusion in the oscc rehearsal as they are often not aware that this fails because no e-mail is set.
Also may be failing in the hypergrid case, though this may also be a config issue.
This is meant as a temporary solution.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc)
5d5ea9234f
Stop Mono 3.2.8 from binding a UDP socket to a port already in use.
...
At least on Mono 3.2.8 (but not under Windows), one can bind multiple UDP sockets to the same port by default.
Different simulators cannot demultiplex each other's messages, so a set of confusing non-obvious errors arise if this occurs.
This change prevents such multiple binding.
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc)
b53be022f2
On pCampbot, if we add the none (n) behaviour then make it actually stop any bots in motion.
...
Previously, adding this behaviour after physics (p) would leave the bot to drift off for ever in its last movement direction.
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc)
3a1ce2715a
Add "wearables check" console command
...
This checks that all the wearable assets and any assets for a given logged in avatar exist in the asset service
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc)
9b09dd3575
Add "wearables show" console command.
...
This shows summary wearables information (shape, hair, etc.) for all avatars in the scene or specific information about a given avatar's wearables.
Similar to the existing "attachments show" command.
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc)
5ab5d7fe47
Fix recent regression where adaptive throttles stopped adjusting.
...
Extends regression tests to test response of adaptive throttles to ack'ed and expired packets.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b2e377f168
Fix setting of max scene throttle so that setting it restricts the child client throttles properly.
...
In "show throttles", also renames 'total' column to 'actual' to reflect that it is not necessarily the throttles requested for/by the client.
Also fills out 'target' in non-adapative mode to the actual throttle requested for/by the client.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b114f5626e
Add request drip rate to assertions for token bucket regression tests
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
8a949f0ee1
Add regression tests for token buckets on their own
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
ec3b43d28d
Make regression throttle tests consistently test target and max throttle settings.
...
As part of this also refactors code to put all throttle asserts in a single regression test method
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
548abb3b47
minor: In "show client stats" command, properly handle the case where a client has made no AgentUpdate requests (as is the case with agents that have only even been child) rather than throwing an exception
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
a9dde81753
minor: Correct letter accidentally added to copyright notice on top of Scene.cs (almost five years ago!)
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b7ef6009a7
In Scene.AddNewAgent(), avoid a situation where an exception can result in a client being added to the manager without IClientAPI.SceneAgent being set.
...
This is done by adjusting the order of code so that SceneAgent will always be set before adding the client.
Various parts of the code (rightly) assume that a a client registered to the manager will always have a SceneAgent set no matter what.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
e6af551007
For now, send all non-full terse updates for ones own avatar directly to the LLUDP client stack rather than queueing internally within LLClientView.
...
When an HG avatar enters a scene, it delays processing of entity updates. Could be crowding out by other updates or something else.
This delay in ones own av mvmt updates results in mvmt lag experienced on the client. Avoiding the internal LLClientView for these packets appears to resolve this issue.
Appears most noticeably for avatars with attachments, though has also been seen on those without sometimes. Hasn't been observed for non-HG avatars in general.
Will be investigating exactly what the problem is, at which point there will be a more permanent solution.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
10095c1a58
Add "debug lludp throttles get/set request" and get current
...
This allows one to set the requested throttle (which normally comes from the client) as opposed to the max.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
61d6bd78b3
Change the word order of some debug lludp settings for readability
...
On server, scene-throttle-max becomes max-scene-throttle and likewise max-new-client-throttle
On clients, throttle-max becomes max
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
44dc58cc7f
Add "debug lludp get/set new-client-throttle-max" to allow default new client throttle to be set separately from existing clients.
...
"debug lludp throttles get/set throttle-max" now only gets and sets current max client throttles
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
68d0c4d37b
Add "debug lludp get" command which currently just shows scene-throttle-max to mirror "debug lludp set"
...
Information is also available in "show server throttles" but that's more for non-debug info rather than attempting to get and set parameters on the fly for debug purposes.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
336790e7b4
Add some more llGiveInventory() regression tests
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
1eb3e6cc43
When inserting missing CreatorData in the HGAssetMapper, do the rewrite on a streaming xml basis rather than loading it all into memory via XmlDocument.
...
This is because objects with lots of parts can have a lot of xml to load into memory, and this has been seen to have a noticeable performance impact.
Whereas streaming has been seen to reduce the impact in normal serialization.
Implmentation is messy but I couldn't see a better way of doing it when you can't assume that you know the exact structure of the input XML.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
f7ab3e20bc
Add regression test TestPostAssetRewrite() to check results of HGAssetMapper.Post() object asset rewriting,
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
6c043dd6ff
If an exception makes it to the top of a JobEngine request, catch and log instead of letting it terminate the simulator...
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
16a5e15443
Allow GetMesh capability to be served directly by a server like GetTexture
...
To do this required GetMesh to be converted to a BaseStreamHandler
Unlike GetTexture connector, no redirect URL functionality yet (this wasn't present in the first place).
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
281969093f
Start JobEngine by default in simulator for now.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
1c9529aa9e
If JobEngine is active, then use it to copy/rez attachments for an avatar entering the scene that isn't initially logging on. This will execute tasks consecutively rather than concurrently.
...
This has two aims
1) Reduce initial teleport failures when a foreign Hypergrid user enters a region by not holding up the teleport for attachment rez (this can be particularly costly when HG gets all assets in the object graph.
2) Reduce server load that may impact other simulator activities.
This complements existing JobEngine options that perform initial login attachment rez and appearance send in consecutive tasks.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
90f9cea07b
minor: be consistent about reporting errors out of HttpServerBase
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
f4424bdfcf
If the port entry in [Network] for a server is missing, then actually tell the user that's the problem rather than simply exiting silently.
...
Also exit with Environment.Exit(), not by aborting the thread.
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
8ddcd16c69
Add an IConfigSource constructor to HGAssetBroker so that it can be instantiated directly for potentially handling some capabilities directly in services with HG active
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
d33964222a
Fix an issue where specifying both max client and server outgoing UDP throttles would cause client throttles to be lower than expected when total requests exceeded the scene limit.
...
This was because specifying a max client throttle would always request the max from the parent server throttle, no matter the actual total requests on the client throttle.
This would lead to a lower server multiplier than expected.
This change also adds a 'target' column to the "show throttles" output that shows the target rate (as set by client) if adaptive throttles is active.
This commit also re-adds the functionality lost in recent 5c1a1458
to set a max client throttle when adaptive is active.
This commit also adds TestClientThrottlePerClientAndRegionLimited and TestClientThrottleAdaptiveNoLimit regression tests
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
ead32de790
Use automatic properties for Parent and TotalDripRequest in TokenBucket to make code analysis easier. No functional change.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
40314b56f2
Remove the unnecessary intermediate total token bucket.
...
This only had one child, which is the 'adaptive' token bucket.
So from testing and currently analysis, we can use that bucket directly which simplifies the code.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
93f3444de1
minor: remove warnings from unused fields in LocalGridServicesConnector
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
dacd0ecfee
minor: Remove unused field from EntityTransferModule
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
a98b514184
minor: remove compiler warning from unused field in SimulatorFeaturesModule
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
0d77796584
minor: resolve warnings from unused fields in XBakesGet and Post handlers
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
d5ead532cb
Remove compiler warning from UserProfilesHandlers
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
07a7f941e5
minor: remove warning in BasicHttpAuthentication by commenting out unused remove_me parameter (which looks like it might still be potentially useful for logging)
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
df031fe8be
extend TestClientThrottleRegionLimited for 2 clients after testing 1. Renames to TestSingleClientThrottleRegionLimited()
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
dce98acb69
Add regression test TestClientThrottleRegionLimited() for testing simple behaviour of throttles where a region-wide total outbound limit is in place.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
075f718f3f
factor out common throttle setting byte[] array construction in ThrottleTests.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
9cdd38d0cf
Add regression test TestClientThrottleLimited() for throttle behaviour when a max client total limit is enforced server-side
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
fc878a33ed
refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
...
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
af0a851eba
minor: disable logging in regression test TestClientThrottleSetNoLimit
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
9934e2c545
minor: comment out unused method in regression BasicCircuitTests
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
746defa094
Add basic regression test ThrottleTests.TestClientThrottleSetNoLimit
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
52370ac94d
refactor: Move test clientstack setup code out of BasicCircuitTests into OpenSim.Tests.Common.ClientStackHelpers
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
87d5da86a1
Fix recent regression in "debug lludp throttles get" command that stopped it printing any information. Also fix max throttle displayed to be properly kbps
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
a13022c296
minor: in "show server throttles", display unset if new client throttle value is not set rather than 0
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
44e0a2f906
Add throttle-max option to "debug lludp throttles set" to allow runtime setting of default and existing client throttles.
...
Doesn't yet adjust until clients submit new throttle settings.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
5c13980eb7
Change "debug lludp throttle *" commands to "debug lludp throttles" for consistency (and because I keep typing throttles).
...
This will still work with "debug lludp throttle" anyway.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
d20aeefef2
Fix console set and get of max scene rate. Was performing wrong calculation - throttle buckets are set in bytes, not bits
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
10d09e287c
Eliminate 'max' throttle setting from server throttles report since this never applies.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
679eaec22f
Allow "debug lludp throttle *" commands to work without a user name, in which case they apply to all users in the lludp server
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
a142edec03
minor: add apparant total to logging when client sets throttles
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c73e62ea3a
minor: fix bug in throttle logging where arguments were mismatched
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
1d33a40f59
Add "debug lludp set scene-throttle-max <value>" console command to allow us to potentially set the scene max throttle on the fly.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
a5eabdade3
Move information about "server agent rate" throttles into "show server throttles" command rather than "show throttles"
...
THis allows us to see the rates when no client is connected to the region.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c8f5add2fc
Add "show server throttles" command for showing server specific information about throttles
...
This is separate from the user-oriented "show throttles" command since one will often only want to know about varying client throttle settings.
Currently displays max scene throttle and adaptive throttles config if set.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
bb5e2e1f02
refactor: Use simpler auto-implemented property for HttpPort in GridRegion
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
13e2af7525
minor: Remove compiler warning from GridRegion in IGridService
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
968b588bb9
minor: remove compiler warning from OpenProfileClient
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
51eb8facd6
Add OutgoingPacketsQueuedCount clientstack stat.
...
This is the total of queued outgoing packets across all connections, as also seen in the "show queues" command.
Gives some early indication of whether the simulator can't send all outgoing packets fast enough.
Though then one would want to check that this isn't due to a few bad client connections.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
4c5fbf8b0a
minor: Remove compiler warnings from unused fields in TokenBucket
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
12daa3c3d9
refactor: Move LLUDPServer console commands into their own class.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
f0fd2fa325
refactor: rename "debug lludp throttle status" to "debug lludp throttle get" to match set command
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
e144958e03
Add "debug lludp throttle set" command to allow setting of parameters at runtime
...
Can currently only set adaptive true|false, where adaptive = false
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
b9b483151f
Eliminate a few unnecessary calculations in the maintenance loop.
...
Also uses wait event instead of sleep for periodicity control.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
7d30bb13be
Fix recent minor regression where the default frame time wasn't being set if there was no startup config section.
...
Caused some regression tests to fail.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
8d72145112
If Bullet is running on its own thread, use a reset event to control timing rather than a sleep.
...
In theory, there should be no difference between these mechanisms.
However, on at least Mono 3.2.8 waiting via an event appears to be much more accurate.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
7bababaab6
Improve frame time stability by taking a few unnecessary repeated calculations out of the main scene loop.
...
Also uses a wait event to sleep rather than a Thread.Sleep to allow the loop to be interrupted in a more controlled manner when necessary.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
23561239ee
Make BulletSim thread be ThreadPriority.Highest if running
...
Will only effect Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 applied
For test purposes
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
cfc4055991
Make outboudn and packet inbox handling threads highest priority.
...
Will only have any affect under Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 (not recommended) applied.
For assessment purposes.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
5b6fb7245a
Set ThreadPriority on main scene thread to highest.
...
This will only have an effect on Windows systems or mono with the (not recommended) mono-3.2.8 debug patch https://gist.github.com/justincc/31e52218d098529b4696 applied
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
d3ed5de77d
Add loglevel to jobengine that can be controlled via "debug jobengine loglevel <level>".
...
Defaults to 0
Level 1 currently does verbose logging about every queued and processed job.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
9fb3065d33
Temporarily add root agent rez attachments work to job engine if it is running rather than as a fire and forget.
...
Experiment to see if serializing attachment rez and send initial data jobs improves other parts of sim performance.
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
859b1c5ba4
Add experimental job engine to see if queueing some existing async work during root agent entry to a region improves perf rather than always attempting to execute everything concurrently
...
Job engine is controlled via "debug jobengine start|stop|status".
Can only currently be enabled and disabled dynamically at runtime.
Currently only applies to code sending initial region data (objects, other avatar data) to a client.
2014-11-25 23:18:37 +00:00
Justin Clark-Casey (justincc)
c5a0f0ba36
Temporary hack to disable av to av collisions in bulletsim.
...
Need to do this for a test. Final implementation will be properly controlled through a property.
2014-11-25 23:18:37 +00:00
BlueWall
41cc73233c
Re-work handling of email notifications settings.
2014-11-24 11:00:47 -05:00
BlueWall
12108bf6e9
Fix handling of user preference updates where no email address is supplied
2014-11-23 14:25:48 -05:00
Diva Canto
7813780eba
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-11-22 20:14:31 -08:00
Diva Canto
0997ce8629
Small improvements to SimulatorFeaturesModule: (1) don't overwrite extras if the grid response is invalid; (2) make the name of the config variable for destination guide consistent with the grid-wide name in LoginService; (3) account for the existence of a [USERID] in the destination guide URL
2014-11-22 20:14:09 -08:00
Justin Clark-Casey (justincc)
5bc389ff71
When logging reigon information returned by GateKeeperService.GetHyperlinkRegion, log the return server URL returned.
...
This helps diagnoses misconfiguration where, for instance, a LAN ExternalHostName has been configured that isn't reachable externally.
2014-11-21 20:40:59 +00:00
Diva Canto
8d3cb424a8
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-11-21 08:54:30 -08:00
Diva Canto
27512f3b42
Cleanup extraneous comments from viewer support modules
2014-11-21 08:54:10 -08:00
Cinder
cfaf904a3b
LSL key should be implicitly cast to a boolean value
...
Signed-off-by: James Hughes <jamesh@ascent.bluewallgroup.com>
2014-11-20 11:32:46 -06:00
AliciaRaven
c155656349
Minor: Include missing EventHost power for group owner role.
2014-11-19 20:25:27 +00:00
Justin Clark-Casey
3247a7cb3e
refactor: capitalize SOP.moveToTarget() and stopMoveToTarget() in accordance with code guidelines and the rest of the methods.
2014-11-19 20:12:28 +00:00
Justin Clark-Casey
7a2c77e7ea
If calling llStopMoveToTarget() on an in-world prim, don't send an unnecessary object update if the prim was not moving to target.
...
This involves making PhysicsActor.PIDActive get as well as set.
On physics components that don't implement this (all characters and some phys engines) we return false.
2014-11-19 20:06:56 +00:00
Justin Clark-Casey
bdebd525db
Remove SOP.StopMoveToTarget scheduled update which is now being done in SOG.stopMoveToTarget() as of last commit 67e568
2014-11-19 19:16:03 +00:00
Justin Clark-Casey
67e56872f3
If llStopMoveToTarget() is called on an attachment, then stop the avatar if it was moving to target.
...
Same behaviour as on Linden Lab grid.
Will probably also address http://opensimulator.org/mantis/view.php?id=7369 by not generating spurious object updates when llStopMoveToTarget() is called in attachments where the avatar is not moving.
2014-11-19 19:08:33 +00:00
AliciaRaven
b9f870fa73
Minor: Update LLLoginService to handle explicitly set login locations that include decimal precision. Fractions might be introduced if setting the initial login location from a viewer splash screen with data from the DataSnapshot service. At present the fractions cause regex to fail when matching the login string causing an exception.
2014-11-19 18:44:45 +00:00
Dev Random
d3b43a96fb
Add 'terrain feature' command
2014-11-19 18:18:18 +00:00
Diva Canto
6a8353af36
Improved SpecialUIModule so that it sends the floater data properly.
2014-11-16 10:27:10 -08:00
Diva Canto
1a02e5d2db
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-11-11 20:42:42 -08:00
Diva Canto
32293cfd6b
Fix the fetching of module references in the viewer support modules.
...
Remove the detachment of attachments in camera-only, because it doesn't work for HG people, and it's too drastic of a move.
2014-11-11 20:42:13 -08:00
Justin Clark-Casey
5aa8ba1b45
Fix issue where llRemoteLoadScriptPin() would treat 0 (the default) as a valid set pin in a destination prim rather than the unset no pin state
...
Adds regression test for this case.
2014-11-11 17:59:56 +00:00
Diva Canto
89cb07eb49
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-11-10 21:18:33 -08:00
Diva Canto
5e34727b7e
Add additional viewer support modules that allow certain viewers to modify their UI on the fly.
2014-11-10 19:03:06 -08:00
Justin Clark-Casey
4123b0fdbd
minor: correct console response when setting attachments logging level
2014-11-10 23:48:59 +00:00
Diva Canto
f1fc557715
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-11-06 17:49:36 -08:00
Diva Canto
ac051ef4ab
Added grid information to SimFeatures response, so that the viewer can show it.
2014-11-06 17:49:04 -08:00
Justin Clark-Casey (justincc)
f084320976
Actually persist a changed console set agent-limit via "region set".
...
Unfortunately, it's not currently easy to do this with "max-agent-limit"
- this must be separately set as MaxAgents in region config if it's to persist over restarts.
2014-10-31 22:36:08 +00:00
Justin Clark-Casey (justincc)
a05be7bd65
Add "region set" console command.
...
This current allows one to set two region parameters
agent-limit <int> will set the current root agent limit for the region, as also settable through the viewer, though some impose a max setting (e.g. 100).
max-agent-limit <int> will set the maximum allowed root agent limit. This can also be set via the MaxAgent parameter in region config.
2014-10-31 21:47:12 +00:00
Justin Clark-Casey (justincc)
23fb4f2221
Add "region get" command as a synononym for "show region" console command.
...
This matches existing similar commands and a soon to be added "region set" command.
2014-10-31 21:47:07 +00:00
Kevin Cozens
466657375a
Revert my commit that fixed unexpected behaviour re: parcel prim limits.
...
Others think different about how limits work so another solution is needed.
This reverts commit ff62b90636
.
2014-10-30 18:05:16 -04:00
Kevin Cozens
ff62b90636
Use parcel prim limit (not region limit) when checking if area is full.
2014-10-30 11:21:27 -04:00
BlueWall
b463870914
Add hypergrid teleporting support to user profiles picks
2014-10-27 17:27:42 -04:00
BlueWall
94250b6836
Fix some typecasting in PgSQL Groups adapter
2014-10-16 21:16:44 -04:00
Justin Clark-Casey (justincc)
c8664e8907
Add some more llGiveInventory() regression tests
2014-10-16 19:54:40 +01:00
BlueWall
b7550c947b
Experimental XAssets Module PgSQL Adapter: Remove unused migration. Syntax error preventing migration from running.
2014-10-16 12:34:04 -04:00
Melanie Thielker
04612f41a7
Fix transferring inventory from prims to agent inventory
2014-10-16 03:46:45 +02:00
BlueWall
8a93d97320
Touchup PgSQL XAssets adapter
2014-10-15 17:28:51 -04:00
BlueWall
b45c929d66
Fix over zealous chopping of text when editing (pilot error)
2014-10-15 09:55:41 -04:00
BlueWall
5c9ef4d083
Fix logging level to Error in exception handlers
2014-10-15 09:42:29 -04:00
BlueWall
231cdc2dc1
Cleanup unused code
2014-10-15 09:31:39 -04:00
BlueWall
1812cecdb7
Fix PgSQL adapter for UserProfiles
2014-10-15 09:08:25 -04:00
BlueWall
a6f8f9d003
Get V2 Groups working under PgSQL. Needed to re-create tables to satisy the generic handler type matching. There should be no existing data because it couldn't complete the first migration as-is.
2014-10-12 13:48:39 -04:00
BlueWall
300e78bfd5
Make column names lower-case, change hash column type to bytea and remove old commented lines of code
2014-10-12 10:50:32 -04:00
BlueWall
7af878a4f4
Fix some errors in PgSQL XAssets by changing some data types. Also make sql query syntax more in line with the PgSQL AssetData implementation.
2014-10-10 19:58:07 -04:00
Justin Clark-Casey (justincc)
00b23e51ae
Change name of just added OSSL osForceSit() to osForceOtherSit()
...
This is somewhat more in keeping with something like osForceAttachToOtherAvatarFromInventory()
and potentially allows a separate osForceSit() command with High threat rather than VeryHigh that only sits the owner and can be enabled without enabling sit of other avatars.
2014-10-11 00:14:35 +01:00
Justin Clark-Casey (justincc)
5acbbcb33f
minor: spacing cleanup from previous commit 79a4d1ea
2014-10-11 00:10:49 +01:00
Vegaslon
79a4d1ea8d
Implements osForceSit(string avatar) & overload osForceSit(string avatar, string target)
...
Allows a script IN the target prim to force an avatar to sit on it using normal methods as if called by the client.
Overload method of osForceSit() to allow a script NOT in the target prim to force an avatar to sit on the target prim using normal methods as if called by the client.
This patch is based on previous work from
http://opensimulator.org/mantis/view.php?id=4492
and also includes the suggestions from justincc including change of threat level
Thank you Christos Lightling.
2014-10-11 00:04:25 +01:00
Justin Clark-Casey (justincc)
5db3f08871
minor: add --default-user option to "load oar" help long description. Do other small tidies of "load oar" console command help.
2014-10-11 00:03:05 +01:00
BlueWall
c7a11899f6
Give ability to define constants that may be used throught the configuration
2014-10-09 14:59:54 -04:00
Justin Clark-Casey (justincc)
29a05cdeb5
Change thread of osForceAttachToOvtherAvatarFromInventory to VeryHigh from Severe
...
It fits much better in this category.
2014-10-08 23:35:25 +01:00
Justin Clark-Casey (justincc)
458ccd26ff
Use Scene or IEntityTransferModule directly in HGEntityTransferModule instead of casting or re-obtaining module.
...
This code originates from when IEntityTransferModule was shared rather than one per region.
Now it's one per region we know that callers are always in the same scene as the module.
2014-10-08 23:16:01 +01:00
AliciaRaven
8d4c1945c2
HG Restricted appearance checking code is only called when HG teleporting via the map but bypassed completely when teleporting via landmarks. This fixes this by including a call when acting on landmarks. Does not affect local grid teleports as flags are checked.
2014-10-08 23:04:19 +01:00
Justin Clark-Casey (justincc)
cbd428cff3
Add LSL transaction_result event.
...
This is cinderblocks' transaction_result.diff from http://opensimulator.org/mantis/view.php?id=7329 but I have used lsl.parser.cs and lsl.lexer.cs files generated directly from opensim-libs rather than those supplied in the patch.
I also added scriptEvents.transaction_reuslt.
The required parser/lexer generation file changes were made in commit d564f28 in the opensim-libs repo.
Thanks!
2014-10-04 00:16:47 +01:00
Justin Clark-Casey (justincc)
c496bd57b4
minor: Comment out received seed caps request logging for now
2014-10-02 22:33:58 +01:00
Justin Clark-Casey (justincc)
43520b3e8b
Add "debug lludp throttle status" command to return status information about a client's throttle (currently just whether adaptive is enabled).
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
05508b5c56
Add "debug lludp throttle log <level> <avatar-first-name> <avatar-last-name>" to control extra throttle related debug logging.
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
2a9528fa22
Don't unnecessarily remove from backup objects that were not directly attached from the scene.
...
These are never in region backup in the first place since recent 11830c43
Extend regression test to check backup status.
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
57e75d7c03
Do not add attachments to the region scene object backup list.
...
Attachment persistence is not handled in this way and this just results in a load of busy work until a check in each SOG terminates a backup check for attachments anyway.
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
afa85e6b3c
Set appearance refresh to false by default.
...
This setting was originally added some time ago to deal with issues where appearance was not received properly by all users.
However, it does not scale well with large numbers of agents.
Disabling to see if the original problem has abated or whether this will have to be tackled in another way.
2014-10-02 22:30:44 +01:00
Diva Canto
4e28a06f3c
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-09-28 16:10:57 -07:00
Diva Canto
763c22b28e
Improve on the last commit to InventoryArchiver: put back the original constructor (3rd party modules use it), change order of new parameters to make it more consistent.
2014-09-28 16:10:32 -07:00
AliciaRaven
f0218258d1
When a prim is bought through BuySellModule, the click action is not changed back from buy object. This means that after the object is bought, it still appears as if for sale which can be confusing. This sets it back to touch, the default after sale.
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2014-09-27 12:54:00 -04:00
Justin Clark-Casey (justincc)
530b0cbbf1
Move expired objects cleaning trigger to the maintenance thread of a region rather than it's main scene loop.
...
[Startup] default setting UpdateTempCleaningEveryNFrames becomes UpdateTempCleaningEveryNSeconds.
Default becomes 180s instead of effective 182s (which would also vary with any changes in frame time or extra long frames)
2014-09-27 00:23:52 +01:00
Justin Clark-Casey (justincc)
31c8b7fd1a
Fix recent regression with llRegionSayTo() started sending messages twice.
...
Addresses http://opensimulator.org/mantis/view.php?id=7330
Fixed by removing chat delivery to avatar from WorldCommModule.DeliverMessageTo(), in common with existing similar methods that only handle deliver to script listeners.
Preserves fixes from http://opensimulator.org/mantis/view.php?id=5005
2014-09-26 23:35:29 +01:00
Justin Clark-Casey (justincc)
23a0946e36
Fix long-lived thread name logging.
2014-09-26 01:10:49 +01:00
Justin Clark-Casey (justincc)
9fcee73326
Make "generate map" console command also trigger upload to maptiles as well as asset generation without performing tile generation twice.
2014-09-26 01:02:19 +01:00
Justin Clark-Casey (justincc)
d3578e2662
Add "debug lludp data out" console command for logging outgoing data just before it's put on the wire.
...
Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send.
For low-level debugging purposes.
2014-09-24 23:44:55 +01:00
Justin Clark-Casey (justincc)
6ac12a42ec
Add "debug lludp packet" command to pCampbot.
...
This allows one to log the packets received by a particular bot that are not duplicates of already received packets.
Similar to the OpenSimulator command at the same name but currently any positive level logs all received packets.
No facility yet for logging outgoing packets.
For debug purposes.
2014-09-24 23:44:48 +01:00
Justin Clark-Casey (justincc)
c015cb3134
Remove an unnecessary check at the bottom of Scene.CloseAgent()
...
At this point sp != null so no check required.
2014-09-24 00:50:24 +01:00
Jak Daniels
bde60cc92e
Add persistent command history in console
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2014-09-23 10:36:00 -04:00
AliciaRaven
1e22091193
Modifications to previous IAR commits to bring them more inline with existing OpenSim code conventions. Also include new IAR save switch in console help print out.
2014-09-23 00:04:59 +01:00
AliciaRaven
5bc3bbbcf3
Add an event callback for loading IAR files. The callback for creating them already existed but not for loading. This is of interest for use by region modules. Also includes reporting numbers of items saved and items filtered to the completed log printout.
2014-09-23 00:04:53 +01:00
AliciaRaven
08675d44a7
Change existing IAR save to use UUID for its callback reference instead of Guid. This is for uniformity as discussed on IRC.
2014-09-23 00:04:50 +01:00
AliciaRaven
3bde737f76
Include same content filters for IAR file exports that already exist for OAR files. Adds new console switch --perm=CTM to save iar command.
2014-09-23 00:04:45 +01:00
Justin Clark-Casey (justincc)
c73b02d583
Replace two connecting bots state booleans in pCampbot with a single state machine.
...
Also adds "show status" command to pCampbot that currently just shows bot connecting state
2014-09-22 23:13:19 +01:00
Diva Canto
c4cd98bc34
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-09-21 09:23:15 -07:00
Diva Canto
94619cba58
Fixed a hard-to-run-into bug in groups: at the time of creation of a group, the OwnerRoleID in the groups table was inconsistent with the roleID in the roles table. OpenSim core was not running into this bug, but 3rd party modules (like Wifi) were.
2014-09-21 09:22:32 -07:00
Robert Adams
2ed3a918bd
Merge branch 'master' into bullet-2.82
2014-09-21 07:11:00 -07:00
BlueWall
519c753e46
This fixes the Scene thread renaming issue
2014-09-17 20:25:27 -04:00
BlueWall
96a2449122
Undo "Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects.""
...
Fix for break in next commit
This reverts commit 376fab1402
.
2014-09-17 20:03:54 -04:00
Edward
427240f935
Changes to be committed: modified: OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs modified: OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs This solves mantis bug# 5005: llRegionSay script does not trigger ChatFromWorld event. This was solved by adding World.SimChat() command to the llRegionSay() function (per suggestion of DrCuriosity). Additionally this fixes llRegionSayTo() which was also not functioning by adding a World.SimChat() command and adding a new SimChatToAgent() overrided function to Scene.PacketHandlers.cs This is the second patch revision. Corrections made to the position of World.SimChat() and removal of tabs per suggestion by justincc.
2014-09-17 23:37:18 +01:00
BlueWall
376fab1402
Revert "Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects."
...
This reverts commit af286d5fcb
.
Issue with Jenkins builds
2014-09-17 18:11:41 -04:00
BlueWall
af286d5fcb
Small changes to threading to send thread names to unmanaged threads. Needs Mono 3.6+ to see thread names in utilities like top -H . Some formatting of the thread name to fin in the 16 byte limit on Linux. Please test on Windows to see if the work has any adverse effects.
2014-09-17 17:56:10 -04:00
Justin Clark-Casey (justincc)
2d3072f053
When osNpcMoveToTarget() is called for a sitting avatar then silently do nothing rather than throwing an error.
...
Resolves http://opensimulator.org/mantis/view.php?id=7311
2014-09-12 23:37:44 +01:00
Justin Clark-Casey (justincc)
70953dbfcd
Fix issues where setting llSetTextureAnim(FALSE... did not work properly).
...
I ended up amalgamating patches from http://opensimulator.org/mantis/view.php?id=7313 and http://opensimulator.org/mantis/view.php?id=7318
Thanks a lot to both bobshaffer2 and cinderblocks.
2014-09-12 00:34:39 +01:00
Justin Clark-Casey (justincc)
a3bd708e77
Fix regression from recent a02dae5
where stand positions are no longer correct when a sit target is specified.
...
Adjusts stand position using just avatar position relative to the root prim instead.
Fixes http://opensimulator.org/mantis/view.php?id=7315 and preserves previous fix for http://opensimulator.org/mantis/view.php?id=7299
2014-09-11 20:59:20 +01:00
Justin Clark-Casey (justincc)
b4ce71df1e
Make proper fix for last commit wrt Mantis 7317 by replacing disallowed c char and not literal 'c'
2014-09-09 18:57:02 +01:00
Justin Clark-Casey (justincc)
e271607bef
For stat names containing periods, replace with '#' rather than throw exception
...
In relation to http://opensimulator.org/mantis/view.php?id=7317
2014-09-09 18:56:58 +01:00
Robert Adams
e5b269e9a0
Merge branch 'master' into bullet-2.82
2014-09-05 21:20:02 -07:00
Justin Clark-Casey (justincc)
41f2f3132b
For monitoring purposes, start non-timeout tasks (which do not currently use a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
...
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-09-05 23:20:59 +01:00
Justin Clark-Casey (justincc)
e4d16e6795
Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability.
...
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
2014-09-04 18:24:59 +01:00
Robert Adams
47ac103df7
Merge branch 'master' into bullet-2.82
2014-09-03 21:21:01 -07:00
Justin Clark-Casey (justincc)
73e20b7f5f
For processing outbound http requests in the XMLRPCModule, start the thread through Watchdog for monitoring and stat purposes.
2014-09-04 00:22:30 +01:00
Justin Clark-Casey (justincc)
0692ebfbc6
Start long-lived thread in IRCConnector via watchdog rather than indepedently, so that it can be seen in "show threads" and stats
2014-09-04 00:00:51 +01:00
Justin Clark-Casey (justincc)
4b04d22899
Don't need to check separate physics status in bulletsim update since that method is only run for an indepndent thread anyway.
...
Also remove bulletsim monitored thread from watchdog on shutdown.
2014-09-03 23:53:04 +01:00
Justin Clark-Casey (justincc)
6e6512eb4a
Make bulletsim thread alarm if no update for 5 seconds.
...
The cost is minimal (also done for scene loop) at the benefit of telling us if this thread simply stops for some reason.
2014-09-03 23:43:59 +01:00
Justin Clark-Casey (justincc)
29400538b7
minor: fix indenting from previous commit b08ab1e
2014-09-03 23:37:20 +01:00
Justin Clark-Casey (justincc)
b08ab1e375
If BulletSim is running on its own threads, start this thread via the thread watchdog.
...
This allows us to see the presence of the permanent thread via the "show threads" console comand.
Also adds the region name to the thread name.
2014-09-03 23:35:18 +01:00
BlueWall
e19d1ecce8
Cleanup some unused code and configuration entries
2014-09-03 17:09:57 -04:00
Kevin Cozens
40c579addf
Don't show the ScrLPS data twice in the WebStats based statistics page.
2014-09-03 14:17:37 -04:00
BlueWall
3e5bc75f89
Remove the 32 bit launchers as discussed at OpenSimulator Office Hour 9//2/14 http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2014-09-02 . Find the binaries, sources and README in ./share/32BitLaunch if needed.
2014-09-03 13:00:09 -04:00
Justin Clark-Casey (justincc)
ac866a1c46
Add [EntityTransfer] AllowAvatarCrossing setting to determine whether avatars are allowed to cross regions at all.
...
Defaults to true. For test purposes.
2014-09-03 00:25:56 +01:00
Justin Clark-Casey (justincc)
d582db6132
Fix recent regression from 473c5594
where camera started to judder on moving vehicles.
...
Other parts of OpenSimulator are relying on SP.Velocity == 0 for vehicles.
So add and use SP.GetWorldVelocity() instead when we need vehicle velocity, along the same lines as existing SP.GetWorldRotation()
2014-09-02 23:39:52 +01:00
Robert Adams
3d65d22138
Merge branch 'master' into bullet-2.82
2014-08-30 08:29:39 -07:00
Justin Clark-Casey (justincc)
473c559478
As per the LL grid, if an avatar is sitting then return it's velocity relative to the region rather than relative to its seat.
...
Resolves http://opensimulator.org/mantis/view.php?id=7175
2014-08-30 01:09:33 +01:00
Justin Clark-Casey (justincc)
bb7c88805a
As per the LL grid, for attachments make llGetObjectDetails() OBJECT_VELOCITY return the avatar's velocity and not always Vector3.Zero.
...
This completes http://opensimulator.org/mantis/view.php?id=7177
2014-08-30 00:58:47 +01:00
Justin Clark-Casey (justincc)
4d8bc007e2
minor: fix wrong indentation in previous commit 0cc3cd
2014-08-30 00:54:36 +01:00
Justin Clark-Casey (justincc)
0cc3cdfb4e
As per the LL grid, for attachments make llGetObjectDetails() OBJECT_ROT return the avatar's rotation.
...
This is already the behaviour of OBJECT_POS.
Partially satisfies http://opensimulator.org/mantis/view.php?id=7177
2014-08-30 00:48:59 +01:00
Justin Clark-Casey (justincc)
a02dae566c
Fix issue where moving a seated avatar would not adjust their subsequent stand position.
...
Addresses http://opensimulator.org/mantis/view.php?id=7299
2014-08-30 00:26:18 +01:00
Justin Clark-Casey (justincc)
099212167b
Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and correct effect of STATUS_BLOCK_GRAB
...
As per http://wiki.secondlife.com/wiki/LlSetStatus
Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim.
Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim.
Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
2014-08-29 23:40:21 +01:00
Justin Clark-Casey (justincc)
1b75ec5647
Ignore whitespace when reading serialized XML objects.
...
This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29 19:08:23 +01:00
Justin Clark-Casey (justincc)
3555c0c3f3
Fix recent regression test TestDeserializeXmlObjectWithOtherParts() which was not meant to indent the input xml
2014-08-29 18:14:47 +01:00
Justin Clark-Casey (justincc)
305c3e668a
Add regression test for deserializing xml objects with more than one non-root part.
2014-08-29 18:06:29 +01:00
Justin Clark-Casey (justincc)
1a3ffda852
minor: Eliminate more unnecessary code copying individual parameters for Vector3 copying in Scene - this is not necessary as Vector3 is a value type
2014-08-28 18:37:34 +01:00
Justin Clark-Casey (justincc)
f132f642b2
On code section that rezzes single objects and attachments, reduce CPU use by reading asset XML a single time with a stream reader rather than multiple times.
...
Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once).
Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability"
Optimization of other cases will follow if this change is successful.
2014-08-28 18:15:33 +01:00
Justin Clark-Casey (justincc)
b1ff78f4d8
Don't allow update timer to invoke another scene update if the previous is still active.
2014-08-26 18:52:09 +01:00
Justin Clark-Casey (justincc)
bafa82eb12
Remove race conditions from where SP.AbsolutePosition could change between the various property checks.
2014-08-26 18:25:14 +01:00
Justin Clark-Casey (justincc)
42bb122232
Fix frame times when updating scene on timer.
2014-08-26 18:13:38 +01:00
Justin Clark-Casey (justincc)
64f640f901
Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
...
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
Robert Adams
b3e423303f
Merge branch 'master' into bullet-2.82
2014-08-26 06:47:50 -07:00
Justin Clark-Casey (justincc)
fabab7414f
Remove database connection locking in MySQLXAssetData. This is unnecessary as connections aren't shared and transactions are already in place where necessary.
2014-08-22 20:34:33 +01:00
Justin Clark-Casey (justincc)
0cb805a64c
Remove query locking in MySQLUserProfileData. This is not necessary as the connection is not shared.
2014-08-22 20:28:56 +01:00