Justin Clark-Casey (justincc)
f54c70741b
Add "show threadpool calls active" console debug command.
...
This shows named threadpool calls (excluding timer and network calls) that are currently queued or running.
Also shows total of labelled and any anonymous calls.
2014-11-25 23:23:10 +00:00
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)
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)
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)
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)
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)
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
Dev Random
d3b43a96fb
Add 'terrain feature' command
2014-11-19 18:18:18 +00:00
Justin Clark-Casey
4123b0fdbd
minor: correct console response when setting attachments logging level
2014-11-10 23:48:59 +00: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
BlueWall
b463870914
Add hypergrid teleporting support to user profiles picks
2014-10-27 17:27:42 -04: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)
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
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)
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)
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
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)
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)
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)
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)
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)
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)
91e1aaa5d4
On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
...
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc)
8738445eb7
Move the inventory request lock introduced in git master a58152bd
to HGInventoryBroker to preserve that behaviour there but allow 2 simultaneous inv requests (chiefly WebFetch) rather than 1
...
This lock serialized all requests and made the inventory throttling in WebFetch redundant.
By moving this lock, two simultaneous requests may now take place which may help with http://opensimulator.org/mantis/view.php?id=7054
2014-08-09 00:52:51 +01:00
BlueWall
2924d250ab
Fix short help string for show region command.
2014-08-06 21:41:53 -04:00
BlueWall
10a8d2852e
OpenSimExtras
...
Move the experimental extra features functionality into the GridService. This sends default values for map, search and destination guide, plus ExportSupported control to the region on startup. Please watch http://opensimulator.org/wiki/SimulatorFeatures_Extras for changes and documentation.
2014-08-06 17:25:12 -04:00
BlueWall
e0d8f42e6b
Simulator Extra Features Service
...
Provide a means for regions to fetch extra features supported by modern viewers from a central location
.
2014-07-30 11:24:39 -04:00
Justin Clark-Casey (justincc)
a4107cb6c7
In TerrainModule, lock m_perClientPatchUpdates when removing entries.
...
This may have been the trigger CheckSendingPatchesToClients() dictionary out of sync exceptions in today's load test.
Don't need to check ContainsKey() since Remove() returns false on a request to remove a key that it doesn't have
2014-07-29 23:39:10 +01:00
Justin Clark-Casey (justincc)
3654ae8d8c
Allow the "debug scene set physics false|true" command to work when bulletsim physics is running in a separate thread.
...
This will also allow the "disable physics" setting in the region debug viewer dialog to work in this circumstance.
2014-07-29 01:21:15 +01:00
Justin Clark-Casey (justincc)
3a87cce2e0
Fix recent regression in 3c6becd5
where login or hg login to variable sized regions failed with outdated simulator message.
...
I forgot that a null 'their version' would not be passed over the wire and ends up as an empty string instead (like older simulators).
So instead pass through the correct simulator protcol version instead (SIMULATOR/0.3) when querying from login or hg login.
Also removes a debug console write for agent limit accidentally left in for the same commit.
Relates to mantis 7276
2014-07-22 18:04:28 +01:00
Justin Clark-Casey (justincc)
3c6becd524
On login and first HG entrance to a foreign grid, perform query access checks before proceeding.
2014-07-21 23:53:33 +01:00
Oren Hurvitz
4804edf77f
Allow reading the BulletSim detail log while the sim is running
2014-07-21 09:27:57 +01:00
Oren Hurvitz
2d034e20c4
XBakes: store the assets only in the sim's local assets cache; not in the main assets server. Also, some cleanup.
2014-07-21 09:27:56 +01:00
Oren Hurvitz
b481711fa6
Added locking in AccessModule to prevent possible errors when shutting down a simulator that has >1 region
2014-07-21 09:19:05 +01:00
Oren Hurvitz
05cacf6eb6
Eliminated common but un-useful log messages
2014-07-21 09:18:20 +01:00
Oren Hurvitz
f94b3bbe0f
Minor: changed "existant" to "existent"
2014-07-21 09:15:05 +01:00
Oren Hurvitz
99ac770abb
Close streams immediately when we finish using them
2014-07-21 08:30:03 +01:00
Robert Adams
b81187db5a
Set "[Terrain]SendTerrainUpdatesByViewDistance=true" by default.
...
This, by default, enables terrain patches being sent to each avatar
from the avatar away (rather than the old outside-in pattern), only
sending terrain patches within the avatars view distance (making
view loading quicker), and sending multiple terrain patches per
protocol packet (making terrain loading and editing quicker).
2014-07-20 10:56:52 -07:00
Justin Clark-Casey (justincc)
4dc0aaa03f
minor: Add meters unit to water height console display
2014-07-18 23:57:33 +01:00
Justin Clark-Casey (justincc)
1bdf0bed9c
Add "show region" command which will show parameters for current region.
...
This shows static data (e.g. region agent limit) whereas "show scene" shows live data (sim fps, current prims, etc.)
2014-07-18 23:52:49 +01:00
Justin Clark-Casey (justincc)
6048dfcd71
In grid mode, add SuppressConsoleCommands flag to [GridService] so that we can stop misleading grid service only console commands from registering.
...
We need to do this because the simulator initializes and internal copy of the GridService in grid mode for internal purposes
2014-07-18 22:57:04 +01:00
Michael Cerquoni
e455374a4b
fix all instances of "non-existant" to "non-existent" (spelling mistakes) thanks Ai Austin for pointing this out.
2014-07-17 09:37:24 -04:00
Diva Canto
869191a51d
Small change to my previous commit: not so aggressive on the trigger, please.
2014-07-04 16:28:37 -07:00
Diva Canto
dac8703949
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-07-04 15:56:32 -07:00
Diva Canto
78c155cd12
Instrument the UDP path of creating assets so that it triggers an asset post for users with different asset servers
2014-07-04 15:56:09 -07:00
Justin Clark-Casey (justincc)
20b47fce07
Still log (but this time with warning rather than an exception) if we regenerate a new child caps seed for a region where we already have one.
...
I think it's still useful to know this to show up any errors early, but it's reasonable to still carry on rather than throw an exception.
Follow on from Diva's commit 9643792
2014-07-04 22:59:10 +01:00
Diva Canto
d99c8e68a7
It turns out that child agent management has had a bug for a while: there was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions.
2014-07-04 10:13:53 -07:00
Diva Canto
d0782c2bc0
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-07-03 20:09:38 -07:00
Diva Canto
9643792b34
Avoid an exception in creating child agents some times.
2014-07-03 20:09:16 -07:00
Justin Clark-Casey (justincc)
889194db63
Actually call Close() for shared region modules when the simulator is being shutdown.
...
Adds regression test for this case.
2014-07-02 23:49:25 +01:00
Diva Canto
ca2379ee83
Bug fix in map teleports in varregions. The cherry was missing from the ice-cream Sunday: the packet itself was hardcoding the size of the region...
2014-06-21 15:38:38 -07:00
Justin Clark-Casey (justincc)
5450b1b024
Change assembly versions to 0.8.1
2014-06-17 18:37:15 +01:00
Diva Canto
c5f7184d1b
Behavior change: only local users can set home in any parcel of a grid. Setting it for foreign users does not make sense, since cntrl+shift+H always teleports them back to their original grid.
2014-06-15 16:29:25 -07:00
Diva Canto
dcd8e74584
Manual change as per patch in mantis #7212 . (the patch failed to apply, but the fix was good) Thanks FreakyTech.
2014-06-15 07:26:27 -07:00
Diva Canto
fe779128b0
Added simulation version compatibility check so that agents coming from 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer.
2014-06-06 11:04:53 -07:00
Diva Canto
733763c4e2
Amend to previous commit -- write down the problematic Profile server URL.
2014-06-05 20:06:01 -07:00
Diva Canto
5bb95a8a55
May fix mantis #7133
2014-06-05 18:59:30 -07:00
Robert Adams
0aa0dad478
Send multiple terrain patches per terrain update packet if terrain
...
draw distance optimization is enabled. Makes terrain editting a lot
snappier.
2014-06-01 19:23:49 -07:00
Diva Canto
3aa99b9a7f
Fixes a permissions bug where a user with group powers to always rez was not being given permission to rez on group land.
2014-06-01 16:45:37 -07:00
Diva Canto
94d0ae0d91
This may fix mantis #7200 , but I am unable to test because I don't have any old viewers around anymore.
2014-06-01 10:18:53 -07:00
Diva Canto
0eaca7aafb
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-06-01 10:06:59 -07:00
Diva Canto
2ff9ea3f80
Fixed a few things pertaining to interfacing with the estate service. Specifically, StoreEstateSettings was not being used anywhere; instead EstatSetting.Save was being called, but that method is a trigger to the DB-layer code directly, which, besides being wrong, was making it impossible to replace the service with a remote connector.
...
Also added more packing/unpacking code.
2014-06-01 10:06:26 -07:00
Robert Adams
0300ec45eb
Modifications to debugging printouts. No functional changes.
2014-05-31 12:19:51 -07:00
Robert Adams
22dade6463
varregion: More tweeking to only sending patches within avatar draw distance.
...
Still has problems with child avatars.
2014-05-31 12:19:50 -07:00
Robert Adams
db5a42ffac
varregion: send terrain patches from where the avatar outward if the parameter
...
[Terrain]SendTerrainUpdatesByViewDistance=true.
This tracks which patches have been sent to each client and outputs the
patches as the avatar moves.
2014-05-31 12:19:49 -07:00
Justin Clark-Casey (justincc)
8656b5e948
Fix bug where setting a parcel in a varregion for sale would make sale bitmap generation in WorldMapModule throw an exception on next startup.
...
This commit replaces the hardcoded region sizes in WorldMapModule.GenerateOverlay() with numbers pulled from m_scene.RegionInfo
2014-05-30 19:40:10 +01:00
Diva Canto
e19c830a6c
Fixes a bug where map search results pertaining to varregions would only send the SW-most corner of the varregions; the other areas, when clicked, would result a blue circle, meaning that the viewer didn't know about those areas. This is still not quite right, as all the areas appear to be in the same coordinates, but it's good enough for now.
2014-05-27 10:13:24 -07:00
Diva Canto
d2877b9cd4
Don't report NPC presences.
2014-05-26 10:28:31 -07:00
Oren Hurvitz
33cc847c4a
When saving an OAR in "Publish" mode, also discard Group information
2014-05-26 15:33:13 +01:00
Oren Hurvitz
e68867c9b6
When taking an object into inventory, set the inventory item's "Next Owner" permissions according to the permissions of the items in the object
2014-05-25 15:35:00 +01:00
Diva Canto
227685bea4
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-05-23 16:20:04 -07:00
Diva Canto
20f20895cf
Adds optional HTTP Basic Authentication to Robust service connectors.
2014-05-23 16:19:43 -07:00
Justin Clark-Casey (justincc)
72c67c5091
Fix possible infinite recursion in MessageTransferModule.SendGridInstantMessageViaXMLRPCAsync() whilst preserving retry lookup behaviour.
...
This is based on heavily mikemig's original patch in http://opensimulator.org/mantis/view.php?id=7149
but instead of exiting after the first IM delivery failure to presence information retrieved from the presence service
it will retry the lookup until the result matches the previous lookup.
This is to deal with the case where the agent is sent an IM whilst they are teleporting.
2014-05-23 20:14:49 +01:00
Justin Clark-Casey (justincc)
f8b8241239
Add regression test for north-south chat across neighbour regions.
2014-05-22 20:28:26 +01:00
Justin Clark-Casey (justincc)
bffc9ad184
Extend regression TestInterRegionChatDistanceEastWest() to test out of range chat
2014-05-22 20:04:32 +01:00
Justin Clark-Casey (justincc)
15b50ae737
Extend regression TestInterRegionChatDistanceEastWest() to test in range chat both ways.
2014-05-22 19:55:34 +01:00
Justin Clark-Casey (justincc)
65a135f4d3
Simplify regression TestInterRegionChatDistanceEastWest() by making the child presence connection directly rather than routing through TestClient.
...
This code isn't relevant to this test and is already exercised by other tests.
2014-05-22 19:47:33 +01:00
Justin Clark-Casey (justincc)
1b156b7fe8
Add regression test for in-range chat between neighbouring regions from east to west.
2014-05-22 19:18:24 +01:00
Diva Canto
b7c7293c7a
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-05-22 10:16:19 -07:00
Diva Canto
f7b2aa0f49
Fixed a problem with detaching attachments in situations where the user's asset server is not the same as the simulator's asset server. Unfortunately this still continues to be wasteful -- new assets are created every time an attachment is detached, but the process of storing the new asset goes through the InventoryAccess module, which does all sorts of checks regarding the users' inventory.
2014-05-22 10:16:01 -07:00
Oren Hurvitz
a1b291c889
Allow map searches for regions that contain the characters "!+|"
...
These characters are used as placeholders for other characters: ": /". But we should search first for the exact string the user entered, and only if that fails then replace the characters and search again.
2014-05-21 07:39:23 +01:00
Oren Hurvitz
47b84875fd
Tell QueryAccess explicitly whether the user is coming in via Teleport or Cross, because the permission checks are different.
...
Previously we used a heuristic of checking if the entry position is 0 to differentiate between Teleport and Cross, but that doesn't work anymore since we've started providing the precise entry position for cross, too. That's required in order to ensure that the user is allowed to enter the parcel that he's walking into.
2014-05-19 11:19:11 +01:00
Oren Hurvitz
dd30a29ba0
Return more specific error messages if an attempt to enter a region fails due to permissions (in QueryAccess and IsAuthorizedForRegion)
2014-05-19 11:11:30 +01:00
Oren Hurvitz
882af7195c
Better error-handling and logging in case User Profile requests fail
2014-05-19 11:11:06 +01:00
Oren Hurvitz
96e5836b50
When can't rez, show only one error message; not two. And show more specific error messages.
2014-05-19 10:54:27 +01:00
Diva Canto
922f76a3a7
Don't fetch assets from the server when doing simple inventory operations like copy-paste items in inventory.
2014-05-18 07:49:01 -07:00