Commit Graph

19176 Commits (13b1c5dfcef6e6e74709da8d588ed48d99d560d2)

Author SHA1 Message Date
Diva Canto 998ef665a8 Commenting out the suppression of console warnings from Mono addins while we test this new model for the next couple of weeks. 2014-12-31 00:01:47 -08:00
Diva Canto 3375841fee Capitalization fail. 2014-12-30 23:47:11 -08:00
Diva Canto 0af02efaed Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-12-30 20:05:33 -08:00
Diva Canto a88bc50a16 Add support for expansion of key values in nini config files.
Add loading of 3rd-party addin inis automatically.
2014-12-30 20:05:12 -08:00
Mic Bowman bc7570e59c Merge branch 'mb-throttle-test'
Merge in the new throttle code.
2014-12-30 16:26:57 -08:00
Diva Canto 2138d5c7f8 Renamed VERSION_NUMBER to VersionNumber 2014-12-30 15:27:28 -08:00
Mic Bowman 5bb73793c7 Comment out the debugging statements added in the last commit. Keeping
them in the code for later use rather than just reverting them.

Fixed the throttle tests for the new algorithm used when packets
are marked as expired.
2014-12-30 14:43:42 -08:00
Diva Canto 7466ef0525 This cleans up versioning. Specifically:
- It establishes 4 digits for opensim versions
- It uses the same number between opensim releases and mono addins versions

It also eliminates the last addin.xml files that were still there, for consistency.
2014-12-30 12:53:31 -08:00
Mic Bowman 58229a968b Turn on logging of old acks, this is for debugging only, stats version coming later 2014-12-30 10:50:34 -08:00
Mic Bowman c06100c31f Another technique inspired by some of the newer flow control algorithms... rather
than drop exponentially to 0 (and then adjust up for the minimum flow), drop on
the delta between current rate and the minimum rate. This should smooth the fallback
to minimum.
2014-12-30 10:39:14 -08:00
Mic Bowman 75df04f0b3 Fix the throttle tests. Remove the hardcoded constant multipliers and
compute the expected values without depending on the token bucket code.
2014-12-30 10:03:37 -08:00
Diva Canto 2506728e35 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-12-30 07:59:09 -08:00
Diva Canto 5cf6a6f830 WARNING: BREAKING CHANGES FOR REGION MODULE DEVELOPMENT.
This cleans up Opensim's use of mono addins. In particular, the extension points /OpenSim/RegionModules and /OpenSim/WindModule moved from OpenSim.exe to OpenSim.Region.Framework.dll. From here on, developers of region modules should declare their dlls to be dependent on OpenSim.Region.Framework, starting with version 0.8.1
Additional changes:
- Addins version uniformly updated to 0.8.1. These numbers should be compatible with the release numbers or else it becomes very confusing.
- Mono addins directives moved from files addins.xml to embedded directives in the class and assembly declarations, to make it all consistent
2014-12-30 07:58:42 -08:00
Mic Bowman bda8f2a2c1 Change the effect of successfully acknowledged packets to bump the
adaptive throttle by a full MTU. This is consistent with some implementations
of congestion control algorithms and certainly has the effect of opening
the throttle window more quickly after errors. This is especially important
after initial scene load when the number and size of packets is small.
2014-12-29 23:19:10 -08:00
Mic Bowman 041a09ecb9 Enable runtime configuration of the minimum rate for adaptive
throttles. Setting adaptive_throttle_min_bps will change the
minimum rate that the adapative throttles will drop to in case
of network packet loss. The current rate default rate is 256kbps.
The viewer can throttle rates under that amount, but the dynamic
adaptation will not.
2014-12-29 18:46:33 -08:00
Justin Clark-Casey (justincc) 5410e4f1f9 minor: correct sent -> set in TokenBucket.RequestedDripRate method doc 2014-12-30 00:53:17 +00:00
Diva Canto 89c1ac4cff Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do. 2014-12-29 15:05:44 -08:00
Diva Canto 601849b4fa Added AssemblyInfo.cs to OpenSim.exe 2014-12-29 14:13:17 -08:00
Mic Bowman e71549a2cb Add debugging code for simulating packet loss in outgoing UDP packets. The
algorithm for dropping packets is a modified two state algorithm for creating
bursts of dropped packets. As configured there is about a 1.5% drop rate.

Invocation of the packet loss code is commented out by default.
2014-12-29 12:02:36 -08:00
Diva Canto bb82076a4d Allow for richer semantics of object derez. Specifically, allow the existence of region modules that do other kinds of garbage collection. Instead of placing deleted objects in the user's Trash folder, or deleting them immediately (UseTrashOnDelete = false), a module may decide to take garbage collection under its control. For example, it may place derezzed objects in a certain area inworld and delete them later. 2014-12-25 12:17:07 -08:00
Justin Clark-Casey (justincc) fc940ab09a If a moap entry has EnableWhiteList but WhiteList == null, then properly block the request instead of throwing an exception.
Normally, WhiteList is an empty list but from Mantis 7389 it looks like it might sometimes be possible for it to be null (haven't seen this up till now)
It looks like failing with an exception instead of properly replying to the request (which comes in via a cap) might be enough, surprisingly, to freeze a viewer until timeout.
Part of http://opensimulator.org/mantis/view.php?id=7389 but probably unrelated to the actual issue of that mantis.
2014-12-23 20:38:20 +00:00
Justin Clark-Casey (justincc) 7100475b90 Make sure we always dispose of disposables inside RestClient.Request() 2014-12-20 01:56:33 +00:00
Justin Clark-Casey (justincc) 9cff0bbd7c In XBakesModule.Get() use using() to always dispose of RestClient which disposes the stream rather than disposing the stream directly 2014-12-20 01:46:32 +00:00
Justin Clark-Casey (justincc) e3d07bd0cc minor: Correct propery doc RestClient._resource spelling mistake 2014-12-20 01:39:31 +00:00
Justin Clark-Casey (justincc) 798074c66f Use using() semantics in XBakesModule to ensure disposable objects are alway disposed no matter what 2014-12-20 01:38:48 +00:00
Justin Clark-Casey (justincc) 9edc5cac96 In XBakes use proper disposal semantics to always close the stream on Store() no matter what 2014-12-20 01:32:49 +00:00
Justin Clark-Casey (justincc) e901253b49 Fix recent regression where a race condition meant SP.MakeRootAgent() would sometimes look to start attachment scripts before ETM.HandleIncomingSceneObject() had added them.
Probably a regression since ghosts branch merge on Nov 26 2014
2014-12-17 00:25:24 +00:00
BlueWall e50aac020f Add command to reset region's user cache 2014-12-16 12:47:02 -05:00
BlueWall b39d697555 Adding command to reset user's email address 2014-12-16 12:20:56 -05:00
Justin Clark-Casey (justincc) 147d401b28 Remove XEngine.m_uniqueScripts
This provides no obvious benefit as far as I can tell but has a definite cost in keep script strings in memory for the entire simulator session.
2014-12-15 20:38:26 +00:00
Justin Clark-Casey (justincc) 2b9f0647de Fix a regression where objects crossing regions in the same simulator (on their own or as attachments) with AppDomainLoading = false would create the new state in the source region area rather than the dest.
This was beause the code was finding the script DLL compiled for the source region as everything is in the same appdomain and using this as the location for the destination script state, etc.
This resolves the regression by passing the proper destination separately from the DLL retrieved.
Probably a regression since commit d7b92604 (11 July 2014).
Added regression test for this case.
At least partly addresses http://opensimulator.org/mantis/view.php?id=7278
2014-12-10 00:25:27 +00:00
Justin Clark-Casey (justincc) 227d2e2b61 Avoid a possible race condition where the XEngine script compile thread could complete but see OnRezScript() insert a new job and complete before it set m_CurrentCompile = null
If the above happened, it would mean the new script would not compile until some  script was added for compilation.
2014-12-10 00:04:10 +00:00
Justin Clark-Casey (justincc) 76722d8324 In XEngine, enqueue a script rez to the compile queue after setting m_CompileDict to avoid a rare but not impossible race condition. 2014-12-09 23:59:19 +00:00
Justin Clark-Casey (justincc) f3ab7c0f5c refactor: rename IteratingUuidGather.AddAssetUuidToInspect() and RecordAssetUuids() to AddForInspection() as this properly describes what both of these methods do. 2014-12-05 00:21:42 +00:00
Justin Clark-Casey (justincc) b0ff3236be Make "fache assets" console command more efficient by only updating access times on each cached asset once, not for every reference. 2014-12-05 00:09:01 +00:00
Justin Clark-Casey (justincc) 9208fb5d54 refactor: Make IteratingUUIDGatherer take a dictionary in its constructor like UUIDGatherer, so we can deal with future cases where the dictionary may already be pre-populated. 2014-12-04 23:55:59 +00:00
Justin Clark-Casey (justincc) bee3f203cd Allow scripts in attachments on an owned NPC to call NPC functions on that NPC 2014-12-04 22:52:46 +00:00
Justin Clark-Casey (justincc) 9dbe99af0f If "fcache assets" is executed, don't stop with an exception if there's an access violation if another thread is operating on the file at the same time.
Resolves one issue from http://opensimulator.org/mantis/view.php?id=7271
2014-12-04 01:53:42 +00:00
Justin Clark-Casey (justincc) ad91143880 refactor: breakout flotasm cache last file access time to separate UpdateFileLastAccessTime() method for imminent reuse. 2014-12-04 01:51:01 +00:00
Justin Clark-Casey (justincc) c36bfdc60f Don't worry about checking FlotsamAssetCache.m_CurrentlyWriting when updating access time.
The majority of updates won't be for anything currently writing and any sharing exception from an actual clash can be caught and ignored anyway.
2014-12-04 01:46:00 +00:00
Justin Clark-Casey (justincc) 5861401faa Remove long unused region parameters from SceneBase. Some of these weren't even being set. Region parameters come from Scene.RegionInfo instead. 2014-12-03 21:44:22 +00:00
Justin Clark-Casey (justincc) 2d2aa6e076 minor: Just have one message that displays successful registration of a region with its parameters rather than 2 2014-12-03 21:40:39 +00:00
Justin Clark-Casey (justincc) d34ad345d5 minor: If we are recompiling scripts in response to a ScriptStopStrategy config change (a rare situation), then explicitly log this for debug purposes. 2014-12-03 21:08:43 +00:00
Justin Clark-Casey (justincc) c3c05a8693 Reintroduce general xengine extra debugging log level. This can be controlled at runtime with the command "debug xengine log <level>", as with similar commands.
If log level is 1 then every script load is logged.
This means the <logger name="OpenSim.Region.ScriptEngine.XEngine"> section in OpenSim.exe.config is no longer needed to avoid log spam on regions with many scripts and can be removed.
2014-12-03 20:48:17 +00:00
Justin Clark-Casey (justincc) 805b7ccb3e minor: improve logged error in XEngine.SetXmlState if there was a problem writing the linemap.
The previous error report of already exists is inaccurate since existing files do get overwritten.
2014-12-03 20:35:49 +00:00
Justin Clark-Casey (justincc) 72d1d96c5c Always close script linemap file after reading and always dispose of other streams in the script engine even if exceptions are thrown. 2014-12-03 20:31:09 +00:00
Robert Adams 3642198838 BulletSim: move detail log of InternalScheduleRebuild to reduce log file spam 2014-11-30 19:53:00 -08:00
Robert Adams 63d192f011 BulletSim: Remove linkset 'Incomplete' flag as its meaning couldn't be made clear. Add 'InternalScheduleRebuild() CHange rebuild code to call InternalScheduleRebuild() rather than ForceRebuild() to limit the scope of the changes made by the linkset. 2014-11-30 19:53:00 -08:00
Robert Adams 41a943bfd0 BulletSim: add BSLinkset.AllPartsComplete that checks of all linkset members are not Incomplete and not waiting for assets. Change BSPrimLinkable to use AllPartsComplete. 2014-11-30 19:52:59 -08:00
Robert Adams eef954a214 BulletSim: Make BSPrimLinkable 'incomplete' if any of its children are waiting for assets to load. 2014-11-30 19:52:59 -08:00
Robert Adams cf85ade81e BulletSim: add shape and linkset rebuild scheduled flags. Add BSPrim.Incomplete flag based on rebuild flags to say when an object is being rebuilt. 2014-11-30 19:52:58 -08:00
Justin Clark-Casey (justincc) 432f0e8783 Correct 690fe0c to actually log the exception reported in DoOnRezScriptQueue()(and now the scene name). 2014-11-29 15:04:16 +00:00
Justin Clark-Casey (justincc) 690fe0c5e5 If there are any exceptions in XEngine.DoOnRezScriptQueue() then log the error and always set m_CurrentCompile = null
Setting m_CurrentCompile = null in the finally block reduces the risk that an exception could permanently stop any future scripts compiling until the simulator is restarted.
If an exception is seen from this then please report and further changes to fix the bug or improve compiling reliability can be made.
2014-11-29 01:42:52 +00:00
Justin Clark-Casey (justincc) 55e064baf7 Remove minor race condition where two threads could race on fields such as m_ScriptFailCount as set in XEngine.DoOnRezScriptQueue() 2014-11-29 01:33:14 +00:00
Justin Clark-Casey (justincc) 79e37e5ecc Restore zero'ing RawVelocity in BSCharacter.ZeroMotion() in favour of not calling ZeroMotion in SetPhysicalProperties() at all
SetPhysicalProperties is only called when adding a new character so it looks like there is no existing data to reset anyway.
2014-11-29 01:13:48 +00:00
Justin Clark-Casey (justincc) dfab60a7fd minor: Remove a few indenting problems introduced to recent 265fe349 and convert the m_log.DebugFormat() call back to the original DetailLog call 2014-11-29 00:53:13 +00:00
Justin Clark-Casey (justincc) dcc36507f3 Halve the prediction lag for region crossing to improve most flying region crossings without degrading the walk cross experience (neither of which have been that great anyway). 2014-11-29 00:48:26 +00:00
Justin Clark-Casey (justincc) 39eab72d7c When performing region cross, don't add the velocity to the new position in ETM.CrossAgentIntoNewRegionMain() since this has already been performed by SP.CheckForBorderCrossing() 2014-11-29 00:16:23 +00:00
Justin Clark-Casey (justincc) 265fe349e0 Somewhat improve avatar region crossings by properly preserving velocity when avatar enters the new region.
This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular
* Full avatar updates contained no velocity information, which does appear to have some effect in testing.
* BulletSim was always setting the velocity to 0 for the new BSCharacter.  Now, physics engines take a velocity parameter when setting up characters so we can avoid this.
This patch applies to both Bullet and ODE.
2014-11-29 00:12:11 +00:00
Justin Clark-Casey (justincc) 09534f378e Avoid repeated lag-generating continuous attempts to retrieve HG service Urls in UMM if the initial request fails, possibly due to the home URL not being present
Instead, the failure information is effectively added to the memory cache (so no persistence over simualtor sessions).
A future improvement may be to invalidate negative cache results after some time has passed in case the failure was transient.
Looks to resolve http://opensimulator.org/mantis/view.php?id=7382
2014-11-28 01:16:30 +00:00
Justin Clark-Casey (justincc) d9f7aa41c1 Remove unmaintained MSSQL support.
This has not been maintained for more than 2 years, is unimplemented for newer features (e.g. built-in groups) and has no core developers using it.
If somebody fixes these issues then it could be reinstated.
2014-11-28 00:27:13 +00:00
Justin Clark-Casey (justincc) 73234e2098 Stop writing SizeZ config parameter for now when creating regions from console as it is unused/ignored, at least in core. 2014-11-28 00:04:10 +00:00
Justin Clark-Casey (justincc) ee9fae23ff Be more explicit again in UMM bad HomeURL message by logging the original creator data 2014-11-27 00:32:04 +00:00
Justin Clark-Casey (justincc) 8a27fc5d61 Make UMM.AddUser(UUID, string) log message when bad creatorData is given to reflect its location (UMM not Scene) and add the user name and ID. 2014-11-27 00:24:17 +00:00
BlueWall 62b778ca4d Merge branch 'master' of /team/src/opensim 2014-11-25 19:27:28 -05:00
BlueWall a76aec8467 Fix whitespace hoping to avoid a flogging 2014-11-25 19:27:15 -05:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) 20cede12a9 Fix ghosts copy of SimulatorFeatureModule to enable logging. 2014-11-25 23:28:38 +00:00
Justin Clark-Casey (justincc) 66b1c37973 Fix bug in HG attachment throttling code where attachments were never rezzed on any teleport within a foreign grid after the first.
Bug was introduced in ghosts branch commit 69abade
2014-11-25 23:23:12 +00:00
Justin Clark-Casey (justincc) 4b45a1b6ad Change jobengine logging command to "debug jobengine log <int>" rather than loglevel, in common with similar commands. 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) b1fd0d35e5 Make small adjustment to JobEngine default from previous commit to enable it when [Startup] section is not present (though this is extremely unlikely). 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 59b38f842a Add [Startup] JobEngineEnabled setting that allows the job engine to be disabled for testing purposes if necessary. 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 28d1dbfee4 Move conditionals which control whether a task is placed in the JobEngine inside Watchdog.RunJob() (renamed from RunWhenPossible) and generalize them. 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 124be38f74 Add [BulletSim] option AvatarToAvatarCollisionsByDefault to control whether avatars collide. This is true by default.
This is implemented with a new collision type (PhantomToOthersAvatar) to potentially allow colliding and non-colliding avatars to be present in the same scene.
So there is no provision yet for giving avatars different collision types.
This commit replaces the temporary change in commit f3eaa6d8 where avatars would never collide when using BulletSim
This is equivalent to the av_av_collisions_off option in ODE.
2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 3a296a817b Fix compile error from previous 1d56029848 2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 550cf714bc 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-25 23:23:11 +00:00
Justin Clark-Casey (justincc) aeae34505f When processing incoming attachments via HG, if a request for uuid gathering or final asset import takes too long remove remaining requests from same user to prevent hold up of other user's incoming attachments.
This improves upon the earlier naive simply queueing immplementation.
Threshold is 30 seconds.  If this happens to a user they can relog and fetch will be reattempted.
2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 06a5d6e9ef Introduce an IteratingUuidGatherer where each fetch from the asset service (iteration) can be controlled by the caller.
This is to enable an imminent change where incoming HG scene object fetching can assess the time taken by each request rather than being forced to perform all requests in one call.
Soon, this will replace the existing UuidGatherer since it is both simpler and more flexible.
2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) d6c9705a3b Add incoming packet async handling engine to queue some inbound udp async requests.
This is to reduce the potential for overload of the threadpool if there are many simultaneous requets in high concurrency situations.
Currently only applied to AvatarProperties and GenericMessage requests.
2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) 1c5c6af274 Add missing class from recent commit 69abade 2014-11-25 23:23:10 +00:00
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) 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
Justin Clark-Casey (justincc) 709038aa2a Remove some use of database connection locking from MySQLSimulationData - this has not been necessary for some time as database connections are not shared.
However, many locks remain since they may effectively be providing transactionality in some operations (e.g. prim updates across multiple tables).
These are candidates for being replaced with proper database transactions, since this would not block unrelated operations (e.g. land save and object save)
or unrelated operations on the same tables (e.g. storage of one linkset whilst another is being removed).
In practice, any performance deg due to contention is probably rare and short lived as the major prim operations are performed in memory and only persisted some time afterwards.
2014-08-22 20:23:48 +01:00
Justin Clark-Casey (justincc) d899bdcb9b Remove lock in MySQLFramework. This is not necessary as the connection is not shared. 2014-08-22 19:52:03 +01:00
Justin Clark-Casey (justincc) f129b824c3 Removing locking on requests in MySQLAssetData.
These locks are not necessary since the connection is taken from the underlying mysql pool and not shared.
Such locking is already not done by some other parts of OpenSim.Data.MySQL.
Pointed out by arribasim-dev
2014-08-22 19:46:46 +01:00
Robert Adams 7ba3b88fb6 Merge branch 'master' into bullet-2.82 2014-08-21 06:36:19 -07:00
Robert Adams 674be72225 BulletSim: add new Bullet 2.82 constraint type codes and rename the
BulletSim fixed constraint to not be confused with the native version.
2014-08-21 06:33:04 -07:00
Justin Clark-Casey (justincc) 4e03d352c3 Extend drop command to "debug lludp drop <in|out>..." to allow drop of inbound packets.
For test/debug purposes.
2014-08-19 18:43:21 +01:00
Justin Clark-Casey (justincc) 298376d5c7 Add "debug lludp drop out <add|remove> <packet-name>" console command for debug/test purposes.
This drops all outbound packets that match a given packet name.
Can currently only be applied to all connections in a scene.
2014-08-19 18:34:17 +01:00
Justin Clark-Casey (justincc) ce74418c20 minor:Give console feedback when we sit or stand pCampbot bots.
Also only write console lines for actually connected bots.
2014-08-19 00:58:33 +01:00
Justin Clark-Casey (justincc) 88b2fc61ff Add clientstack.<scene>.OQRERequestsWaiting stat
Only present if OQRE is enabled
2014-08-19 00:42:19 +01:00
Justin Clark-Casey (justincc) 84cea46c10 Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool.
Disabled by default.  Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running.
When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests.
However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues.
This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead.
Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time.
Early implementation - currently only one thread which may (or may not) get overloaded with requests.  Added for testing purposes.
2014-08-19 00:17:12 +01:00
Justin Clark-Casey (justincc) b375f86f11 Make LLUDPServer.Scene publicly gettable/privately settable instead of protected so that other logging code in the clientstack can record more useful information
Adds some commented out logging for use again in the future.
No functional change.
2014-08-19 00:17:12 +01:00
Kevin Cozens 321816b32c Prevent exception if inventory item in llGiveInventory() call doesn't exist. 2014-08-18 16:00:49 -04:00
Justin Clark-Casey (justincc) 3a643e2456 Don't allow the last behavior to be removed from a pCampbot bot
If you want to stop existing behavious, add the None behaviour.
2014-08-15 22:44:31 +01:00
Justin Clark-Casey (justincc) 1d2933ca51 Resolve a small race condition on removing bot behaviours that might leave previous behaviour active
Also closes behaviours on disconnect instead of interrupt, though this makes no practical difference.
If existing behaviour is None, other added behavious will not take affect until None is removed (as this is an infinite wait until interrupted).
2014-08-15 22:41:00 +01:00
Justin Clark-Casey (justincc) e0c6bfa81e If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region. 2014-08-15 21:47:34 +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
Kevin Cozens 626536b8cc Added RestrictEmail to make llEmail only send to avatars email address if true. 2014-08-14 02:40:06 -04:00
Justin Clark-Casey (justincc) 4c781db572 Make RootTerseUpdatePeriod and ChildTerseUpdatePeriod configurable in [InterestManagement] in OpenSim.ini for experimental purposes.
If n > 1 for RootTerseUpdatePeriod only every n terse update is actually sent to observers on same region, unless velocity is effectively zero (to stop av drift).
If n > 1 for ChildTerseUpdatePeriod only every n terse update is sent to observers in other regions, unless velocity is effectively zero.
Defaults are same as before (all packets are sent).
Tradeoff is reduction of UDP traffic vs fidelity of observed av mvmt.
Increasing n > 1 leads to jerky observed mvmt immediateley for root, though not on child, where experimentally have gone to n = 4 before jerkiness is noticeable.
2014-08-14 01:39:26 +01:00
Justin Clark-Casey (justincc) 6ea82ad48a Make some existing reprioritization values changeable outside the scene for test purposes, and use more consise property syntax.
No functional change.
2014-08-14 01:16:58 +01:00
BlueWall dabb8e62f4 Update OpenID server handler with proper interface. fixes http://opensimulator.org/mantis/view.php?id=7301 2014-08-13 20:06:07 -04:00
Justin Clark-Casey (justincc) bc0895c758 On entity transfer of scene presence, replace polling sleep in SP.WaitForUpdateAgent() with a triggered event instead.
Rapid polls are more expensive than triggered events (several polls vs one trigger) and may be problematic on heavily loaded simulators where many threads are vying for processor time.
A triggered event is also slightly quicker as there is no maximum 200ms wait between polls.
2014-08-13 23:45:51 +01:00
Justin Clark-Casey (justincc) 0d2a25b477 Remove redundant origin region lock in SP.CompleteMovement()
This is already going to be correctly set by WaitForUpdateAgent() earlier on in that method, which is always called where a callback to the originating region is required.
2014-08-13 23:11:32 +01:00
Justin Clark-Casey (justincc) 0db6f3a2bd Only set up the UnackedMethod for an outgoing message if that message is actually meant to get an ack (because it's reliable). 2014-08-13 22:57:14 +01:00
Justin Clark-Casey (justincc) 21176a3a90 Terminate 'nothing' behaviour (and potentially others) by signalling using an event rather than polling connection state every 100ms
This kind of polling is very expensive with many bots/polling threads and appears to be the primary cause of bot falloff from the client end at higher loads.
Where inbound packet threads can't run in time due to contention and simulator disconnect timeout occurs.
2014-08-13 22:38:27 +01:00
Justin Clark-Casey (justincc) f1f935ed95 Add 'server' stats information to pCampbot, as used elsewhere in OpenSimulator
This adds the "show stats", "stats record", etc. commands and information on available Threadpool threads, etc.
It also adds the Watchdog which logs warnings if time between executions is unexpectedly large.
2014-08-13 19:53:42 +01:00
Justin Clark-Casey (justincc) f1cec684e2 For pCampbot, set max number of permitted connections to an endpoint to int.MaxValue
This is to avoid issues where many bots connect to a single end point with multiple regions, where each region requires a long-lived poll connection for each bot.
2014-08-12 18:46:09 +01:00
Melanie Thielker 37921c66e5 Avination's Dynamic Floater Module. This works with Singularity viewer only.
It's WIP in that a dialog builder is on it's way. For now, the XML needs to
be handmade.
2014-08-12 01:04:29 +02: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
Justin Clark-Casey (justincc) 30f1b424bb Change RootRotationUpdateTolerance from 0.01 to 0.1 in code as well. 2014-08-08 23:47:53 +01:00
Justin Clark-Casey (justincc) 36f01dce2d Change MaxPoolThreads default in code as well from 15 to 300 2014-08-08 23:47:03 +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
Oren Hurvitz e36e416637 Fixed crash when using Allowed/Denied Viewers, and the viewer's name is shorter than one of the test strings
This fixes http://opensimulator.org/mantis/view.php?id=7294
2014-08-06 19:02:15 +03:00
Justin Clark-Casey (justincc) 78ccadb27e Add RootPositionUpdateTolerance, RootRotationUpdateTolerance, and RootVelocityUpdateTolerance parameters to [InterestManagement] in OpenSimDefaults.ini
These govern when AgentUpdates are sent to observers on position, rotation and velocity changes to an avatar (including the avatar themselves).
Higher values reduce AgentUpdate traffic but at a certain level will degrade smoothness of avatar and perceived avatar movement.
2014-08-06 00:53:14 +01:00
Justin Clark-Casey (justincc) 961cb9cc77 refactor: Rename recent new Client*UpdateTolerance to Root*UpdateTolerance for better accuracy and consistency with other similar parameters 2014-08-06 00:35:26 +01:00
Oren Hurvitz dc2471fedd Fixed premature closing of the connection in DataSnapshotManager 2014-08-05 19:09:11 +03:00
Justin Clark-Casey (justincc) 0e71e3889c Go back to disconnecting bots in parallel since serially is too slow.
However, disconnecting now halts any current connection, with the possible exception of the single currently connecting bot.
2014-08-05 01:37:10 +01:00
Justin Clark-Casey (justincc) fcc665a567 Put pCampbot "disconnect" command on separate thread like "connect" so that we can continue to run status commands whilst bots are disconnecting. 2014-08-05 01:15:07 +01:00
Justin Clark-Casey (justincc) e57e9e95d4 Allow "show bots" pCampbot console command to quickly report status by not locking entire bot list for almost 100% of connection time. 2014-08-05 01:07:08 +01:00
Justin Clark-Casey (justincc) d6890d78ad Make currently unfiltered EventQueue log messages only appear now at DebugLevel 1
This covers event queue setup messages and some outgoing messages (e.g. EnableSimulator)
In my experience these messages are only useful if you really know what they mean and you're looking for them
Otherwise, they're quite spammy.
Event queue DebugLevel 1 is enabled with the "debug eq 1" console command
2014-08-05 00:52:04 +01:00
BlueWall de3421b408 Fix typo in log message 2014-08-02 08:21:25 -04:00
Justin Clark-Casey (justincc) 7cec4997db Fix regression in SimulatorFeatures module that would stop OpenSimulator from starting if no [SimulatorFeatures] section was present in config. 2014-08-01 20:29:25 +01:00
Justin Clark-Casey (justincc) dfd0c2a54a If REMOVEAGENTFROMGROUP core groups call fails because requesting agent does not have sufficient permission, return null failure result rather than true.
On non-HG this is on the only recognized failure state so we can return more information in the error result.
On HG there are multiple failure states which would require more work to distinguish, so currently return the unsatisfying "Internal Error" like some other existing calls.
2014-07-31 21:32:20 +01:00
Justin Clark-Casey (justincc) 6ab463a446 Don't overwrite the null result with the true result is groups service REMOVEAGENTFROMGROUP call has failed because of missing parameters 2014-07-31 21:20:55 +01:00
BlueWall cac910d401 Add region-side extra feature setting for destination guide 2014-07-31 08:20:06 -04:00
Robert Adams 50ed97aa1a BulletSim: thread safe handling of list of avatars.
Fix for 7284 which is an enumeration exception when starting up a region.
2014-07-30 21:49:57 -07:00
Justin Clark-Casey (justincc) 6c4eed5539 Fix bug where calling PUTGROUP on the core groups service without specifying a ServiceLocation would set the group name to an empty string.
This should set the ServiceLocation to an empty string instead.
2014-07-31 00:32:35 +01:00
BlueWall 3ec695e05b Add Chat module extra feature settings to GridExtraFeatures service 2014-07-30 15:01:26 -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) fcf5fb5dfd Implement "scene debug set root-upd-per" for dropping 1 in N root agent updates except to originator
For experimental purposes.
Also corrects a previous bug where each terse update sent was counted rather than each set of terse updates to agents.
2014-07-29 18:54:16 +01:00
Justin Clark-Casey (justincc) 0f87a99e54 Add debug mechanism for only sending 1 in N AgentUpdate packets to child agents.
Allows experiments in manually reducing updates under heavy load.
Activated by "debug scene set client-upd-per" console command.
In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
2014-07-29 18:09:11 +01:00
Justin Clark-Casey (justincc) 5cd21516a4 Add "debug scene set appear-refresh true|false" to control whether periodic appearance refresh is active.
Corresponds to ResendAppearnceUpdates setting in [Appearance] in OpenSim.ini
This was originally implemented to alleviate cloud appearance problems but could be too expensive with large numbers of avatars.
2014-07-29 03:26:14 +01:00
Justin Clark-Casey (justincc) f54fccba1e Make it possible to change avatar position update, rotation and velocity tolerances on the fly.
This is done via "debug scene set client-pos-upd, client-rot-upd, client-vel-upd".
For testing purposes.
2014-07-29 03:13: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) df816b38ac minor: make "debug scene set" usage command accurate again from last commit f6f7585 2014-07-29 00:20:35 +01:00
Justin Clark-Casey (justincc) f6f7585ec5 Add a "debug scene set child-repri <double>" command that allows child reprioritization distance to be changed on the fly.
This governs when child agent position changes are sent to neighbouring regions.
Corresponding config parameter is ChildReprioritizationDistance in [InterestManagement] in OpenSim.ini
For test purposes.
2014-07-29 00:13:29 +01:00
Robert Adams 9c804466e5 BulletSim: rearrange code for sensing whether shapes have been
constructed.
Add routine to check for failed and use that method rather than
    checking individual state.
2014-07-26 16:03:43 -07:00
Justin Clark-Casey (justincc) 327632dc66 Add inventory.<url>.RequestsMade stat.
This gives a count of all requests made to the remote inventory service.
This is finer grained than inventory.httpfetch.ProcessedFetchInventoryRequests since such a request can be comprised of many individual inv service calls.
In addition, this will count requests that don't go through the HTTP inventory fetch (e.g. HG, archiving, etc.)
2014-07-26 02:17:04 +01:00
Justin Clark-Casey (justincc) 56a623ac0c Fix issue with TestTextureNotFound in previous commit 1e3027a
Stop failure by actually giving the test handler a path instead of null
2014-07-26 01:56:42 +01:00
Justin Clark-Casey (justincc) 1e3027afb1 Temporary stop CAPS service points from being added to stats as this can be a huge number.
A stop gap solution - a better one may be to improve stats display on simulator-side.
Caps information is still accessible via the "show caps stats by user" and "show caps stats by cap" commands
2014-07-26 01:41:03 +01:00
Justin Clark-Casey (justincc) c0c92a95bf Add undocumented RemoteRequestTimeout seconds parameter to xinventory requests
This is for testing purposes (chiefly http://opensimulator.org/mantis/view.php?id=7054) so many not be permanent
Setting this will change the xinventory request timeout from the simulator from the default 100 seconds
2014-07-25 23:06:23 +01:00
Justin Clark-Casey (justincc) 8c5c9806d7 Add stats for service endpoints using existing data.
For each service endpoint (e.g. posts to the xinventory service), a stat is available which shows the number of requests received and moving average per second
The full name is "service.<http-method>:<path>.requests (e.g. service.POST:/xinventory.requests)
2014-07-25 23:00:41 +01:00
Justin Clark-Casey (justincc) cc61681484 Revert "Write UDP statistics to the log, not just the console (e.g., "show queues")"
Fixes http://opensimulator.org/mantis/view.php?id=7280
It can't be done this way because the stats data needs to show up on the console at all log levels, not just debug.
But this means setting it to log at fatal, which is not appropriate for this stuff in the log.
I understand the desire but this has to be done some other way, perhaps by (yet another) config parameter.
Also, this was already being done with the ClientStatsReport but that also should be done in another way, I think.

This reverts commit 5d53412766.
2014-07-25 01:56:41 +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) 36920adb96 minor: convert tabs to spaces that got in on recent commit 4a9282e 2014-07-21 23:58:30 +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
Justin Clark-Casey (justincc) 3355bedaeb minor: Limit processor related stats to 3 decimal places instead of all the places.
Easier to read and analyze, and probably still too much detail (1 dp would probably be fine)
2014-07-21 23:08:15 +01:00
Justin Clark-Casey (justincc) 200dcee1b7 Fix CPU processor use reporting on Mono.
Despite the comments in the code, it appears that the issue where the .NET performance counter was wrongly idle time time on Mono was fixed in 2009.
https://bugzilla.novell.com/show_bug.cgi?id=468625
Which means that the workaround is no longer necessary and produces bad results instead.
2014-07-21 22:55:38 +01:00
root 1a9c14b041 Revert "Removed unused files: Texture/Mesh server connectors"
This reverts commit f6ea5088f4.
2014-07-21 21:25:48 +00:00
BlueWall 4a9282e681 Add missing parts to profiles - classified delete 2014-07-21 12:46:26 -04:00
Oren Hurvitz 899bcb7acd Fixed: after a Hypergrid teleport, attachments often either disappear, or appear both on the avatar AND as in-world objects.
Another manifestation of this bug is that after a Hypergrid teleport, when you click on one of the avatar's attachments the object doesn't show its name. This means that the viewer knows the attachment is there, but the simulator does not.

The problem was caused by treating Hypergrid teleports as if they're Logins (because the teleport flag ViaLogin is enabled).

This may fix: http://opensimulator.org/mantis/view.php?id=7238
This may fix: http://opensimulator.org/mantis/view.php?id=7220
2014-07-21 09:29:51 +01:00
Oren Hurvitz 712c50e0bf Don't append attachments multiple times 2014-07-21 09:29:50 +01:00
Oren Hurvitz feacae173e Fixed avatar hovering above the ground. The avatar physics capsule was too tall.
This is related to http://opensimulator.org/mantis/view.php?id=7067 .
But that bug complains about BulletSim, and this fix is for ODE.
2014-07-21 09:27:57 +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 6b57b61836 Log RestClient requests similarly to WebClient (e.g, "debug http all 6" logs the entire request and response) 2014-07-21 09:24:45 +01:00
Oren Hurvitz 4c5d7d4683 Fixed problems if an avatar tries to cross regions when the previous cross hasn't completed yet
This caused the client to stop responding, and even the simulators to have problems. The solution is to disallow crossing before the previous cross has completed.
2014-07-21 09:23:13 +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 46c1d4e319 pCamBot: download Meshes
The "Sculpt" field in prims is used for both Sculpties (where the assets are Textures), and real meshes. Meshes require a different download URL than textures.
2014-07-21 09:12:16 +01:00
Oren Hurvitz 470161ae2e Write some pCampBot messages to the log 2014-07-21 09:11:51 +01:00
Oren Hurvitz af3498efdb In "show throttles", show the maximum drip rate. This shows whether a client is being throttled due to past poor performance. 2014-07-21 09:10:50 +01:00
Oren Hurvitz 5d53412766 Write UDP statistics to the log, not just the console (e.g., "show queues") 2014-07-21 09:10:19 +01:00
Oren Hurvitz 0d70033a5d Include the group name in group IM's
When sending an ImprovedInstantMessage to a group, the IM's binary bucket is supposed to contain the group's name (this is what SL does). Singularity uses this to show the group name when it shows the message at the bottom of the viewer for a few seconds: "[Group Name] From User: Message". Before this update, the group name was empty ("[]").

This update doesn't have any visible effect in Firestorm, because it doesn't use the group name sent in the IM.
2014-07-21 09:09:17 +01:00
Oren Hurvitz 528704bc04 Added "debug packet --all" option, which changes the packet logging level for both current and future clients
The existing "--default" option only changes the logging level for future clients.
2014-07-21 08:31:20 +01:00
Oren Hurvitz a57b4b81b9 Fixed the logic that decides if a packet was queued (it was reversed) 2014-07-21 08:31:09 +01:00
Oren Hurvitz f6ea5088f4 Removed unused files: Texture/Mesh server connectors 2014-07-21 08:30:23 +01:00
Oren Hurvitz 48d1cca303 Better logging of threadpool activity in Overload mode: if we didn't log "Queue threadfunc" for a particular thread then don't log "Run threadfunc" or "End threadfunc" for that thread either. 2014-07-21 08:30:17 +01:00
Oren Hurvitz 9fa8d84598 Eliminated some warnings 2014-07-21 08:30:10 +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
Robert Adams aa8b44c001 Add code to GridService to check for overlapping of varregions
when registering a new region.

Adds parameter "[GridService]SuppressVarRegionOverlapCheckOnRegistration=false"
that can be turned on to suppress the error check if a simulator's database
has old regions that overlap.
2014-07-20 10:34:09 -07:00
Vegaslon 738c60459c BulletSim: Modify first and default vehicle vertical attractor to be feature complete with use of the Limit Roll Only Flag.
Signed-off-by: Robert Adams <misterblue@misterblue.com>
2014-07-18 19:07:00 -07:00
Justin Clark-Casey (justincc) d1b7c2ece3 minor: remove long unused RegionInfo.ignoreIncomingConfiguration 2014-07-19 01:15:15 +01:00
Justin Clark-Casey (justincc) 29d5950838 minor: remove long unused RegionInfo.commFailTF 2014-07-19 01:10:53 +01: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
Justin Clark-Casey (justincc) a26d1ffc66 minor: add method doc to ICommands.HasCommand() 2014-07-18 22:31:04 +01:00
Justin Clark-Casey (justincc) 9be935ac6d Add ICommands.HasCommand() method so that we can detect whether a command has already been registered without needing to also run it 2014-07-18 22:27:39 +01:00
Justin Clark-Casey (justincc) f0853139d5 refactor: slightly adjust some code in ODECharacter.Move() to eliminate a condition check without changing the logic 2014-07-18 18:13:38 +01:00
Justin Clark-Casey (justincc) cfbfca6447 With ODE physics, fix an issue where the avatar couldn't jump and then move forward when moving south or west.
Addresses http://opensimulator.org/mantis/view.php?id=5003
Thanks to UbitUmarov for this fix.
2014-07-18 18:03:30 +01:00
Robert Adams 1daec26ba0 BulletSim: rearrange code to prevent using null pointers when a
child mesh is not available when building a linkset.
2014-07-17 21:41:39 -07: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
Justin Clark-Casey (justincc) 8cd7ca568d Change default script stop method to co-op instead of abort.
co-op should be more stable as it doesn't abort threads, which can trigger virtual machine instability
This change will be invisible to users as script DLLs are recompiled automatically where necessary, though the change won't take affect until the next simulator restart.
This change has no effect on existing script state.
If you want to continue using abort, set ScriptStopStrategy = abort in the [XEngine] section of OpenSim.ini
2014-07-16 22:58:38 +01:00
Justin Clark-Casey (justincc) 0c8f3dddd8 Use thread-safe version of .NET Random as the SDK class is not thread-safe.
As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx, the .NET Random class is not thread-safe.
If called by multiple threads at once, methods may return 0.
Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance.
This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe.
This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant.
2014-07-14 20:08:11 +01:00
Justin Clark-Casey (justincc) e008d54cd4 minor: Remove compiler warning in GridService 2014-07-14 19:28:43 +01:00
Dev Random 4e92b55231 Call RemoveScriptInstance when removing from inventory 2014-07-14 18:06:24 +01:00
Justin Clark-Casey (justincc) 2766bf3fef minor: Move debug xengine script console command to Debug help section where other debug commands live. 2014-07-11 00:18:39 +01:00
Justin Clark-Casey (justincc) 15b38f0036 minor: further cleanup of old vb and yield prolog script engine references that were removed some time ago 2014-07-11 00:15:47 +01:00
Justin Clark-Casey (justincc) d7b9260496 If [XEngine] ScriptStopStrategy is changed between abort and co-op, for the existing session use the previous strategy for that script rather than not starting the script at all.
We have to do this since we can't unload existing DLLs if they're all in the same AppDomain.
But we can still update the underlying DLL which will be used in the next simulator session.
2014-07-11 00:03:02 +01:00
Justin Clark-Casey (justincc) 6d3b409af2 refactor: use existing Compiler.CreateScriptsDirectory() (renamed to CheckOrCreateScriptsDirectory()) when checking that scripts directory exists on compile.
Code was identical apart from error logging, but if there are failures creating these directories then you'll be
seeing lots of errors anyway, and these will be more informative
2014-07-10 19:40:44 +01:00
Justin Clark-Casey (justincc) fea18a909f Fix bug in "show modules" comamnd that was showing shared modules as non-shared and non-shared as shared 2014-07-09 23:24:12 +01:00
Justin Clark-Casey (justincc) a8860d79d8 Turn RestClient.Request() logging down the debug and comment out for now. 2014-07-09 23:12:14 +01:00
Justin Clark-Casey (justincc) 8ae5ab809f Fix issue with running "stats record start|stop" console command
In commit e6080a38 (Wed Mar 19 00:29:36 2014) I renamed this from "debug stats record start|stop"
Unfortunately, I didn't do this fully so before this commit "stats record start|stop" will report a usage failure with the old debug text.
Unfortunately this is in the 0.8 release.  The workaround is to repeat the last command twice (e.g. "stats record start start")
2014-07-08 18:49:57 +01:00
Diva Canto ba233008cd Changed GetUserInfo so that the exposure of user account details is ruled by a configuration variable. It's on by default. 2014-07-06 16:02:04 -07:00
Diva Canto 108978be1e Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-07-06 15:17:27 -07:00
Blake Bourque 63b5c11b9c Lookup username given key(uuid) XML-RPC 2014-07-06 15:14:55 -07:00
Justin Clark-Casey (justincc) 219d273418 Add experimental "show grid size" robust console command.
This will show an approximate grid size that doesn't count regions that are hyperlinks
Not particularly trustworthy since it will still count regions that are not active but were not deregistered (deliberately or due to simulator crash or similar)
2014-07-05 00:50:33 +01:00
Diva Canto bb9071e5f0 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-07-04 16:28:58 -07: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
Justin Clark-Casey (justincc) b019fd5a95 Show region size column in simulator version of "show regions" console command 2014-07-05 00:20:39 +01:00
Justin Clark-Casey (justincc) 82a5d00bc8 Adjust "show regions" and "show region" robust service console output to show size
"show regions" drops the owner id column but is till present in "show region"
"show regions" name column expanded to allow for longer hg regions (probably still too short, may eventually have to truncate rather than taking up huge screen space)
2014-07-05 00:15:35 +01: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) 4b73268cbd minor: put standard 'category' in brackets at front of log messages from previous commit 3d70db4a 2014-07-04 23:48:37 +01:00
Latif Khalifa 3d70db4a58 When uploading mesh objects with textures also create inventory items for uploaded textures.
This implements:
http://opensimulator.org/mantis/view.php?id=7250
2014-07-04 23:40:09 +01:00
AliciaRaven 6e0e35cd66 Include option to remove auto backup files older than given number of days. New property created to specify how many days to keep files for. Off by default, also made sure only oar files will be removed. 2014-07-04 23:32:13 +01: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 82b875317b On logout, delay the removal of AgentCircuitData until the very end, because that data structure contains important information about the agent that may be needed by modules. 2014-07-04 14:36:11 -07:00
Diva Canto 60ad72357e This fixes the bug related to rebooting neighboring varregions while avatars are logged in; the avies would not see the region anymore until they relogged. Same problem as before: inconsistent calculation of scope. 2014-07-04 11:45:30 -07: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) 4ba396b81c Temporarily disable new regression test TestLifecycle() until I have a chance to fix it
This was working for me locally because it was still picking up all my *.ini config files, which jenkins won't have in its test env
2014-07-03 00:30:42 +01:00
Justin Clark-Casey (justincc) c3923a1aa6 Re-enabled TestLifecycle regression test logging so I can get some idea of why it's failing on jenkins but not locally 2014-07-03 00:01:47 +01: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
Justin Clark-Casey (justincc) fe6dab7f13 minor: Change default max phys prim size in code to match OpenSimDefaults.ini 2014-06-28 00:20:09 +01:00
Justin Clark-Casey (justincc) cd031d129a minor: change allow script crossings default in code to true in order to match OpenSimDefaults.ini 2014-06-28 00:18:00 +01:00
dahlia 9d2789aff8 add LSL constant PRIM_ALPHA_MODE 2014-06-27 16:06:03 -07:00
Vegaslon abf85b7f19 Bulletsim: Create AvatarTerminalVelocity to BulletSim like what ODE and SL has. Before this falling from really high caused the avatar to fall faster then the veiwer can handle and cause camera issues. 2014-06-27 23:34:34 +01:00
dahlia a93799d03b add LSL constants PRIM_SPECULAR and PRIM_NORMAL 2014-06-23 20:06:22 -07: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
Robert Adams 481b7c71c3 BulletSim: add some locking for collision lists to prevent collsions
from locking up when running BulletSim on a separate thread.
2014-06-20 21:42:08 -07:00
Aleric Inglewood c90b986d8b Improved line map heuristics.
If the C# column can't be found in the positionMap (but the line can),
use the map immediately after it while correcting for the offset,
unless that results in an LSL position before the previous LSL position
in the positionMap.

The idea behind this heuristic is that in most, if not all cases C#
consumes more characters than LSL (for example LSL_Types.LSLInteger
instead of just 'integer').

Thus if the distance between the columns of two markers differ in
the C# and LSL file, the distance in the C# file will be larger.
Moreover, we can assume that every time this happens we will have
a marker at the beginning of the longer 'keyword', because those
keywords were generated by us in the first place.

For example:

C#:     LSL_Types.LSLInteger f2(LSL_Types.LSLString s)
        ^                       ^
        1                       2

will always have markers at the beginning of the long keywords
'LSL_Types.LSLInteger' and 'LSL_Types.LSLString'.
If an error is generated in between (for example at the beginning
of the function name 'f2') then the correct position is found
by using an offset relative to 2 rather than 1.

Note that a case where this isn't working correctly is
when the user adds extra spaces. For example:

LSL:   integer f2(    string s)

would still use the start of 'string' as reference and
then go backwards 3 characters only because the corresponding
C# still looks like

C#:     LSL_Types.LSLInteger f2(LSL_Types.LSLString s)
                             ^  ^
			     only 3 chars difference

and the reported error at 'f2' would be here:

LSL:   integer f2(    string s)
                   ^

This can only be fixed by generating a mapping for 'f2' itself, or
generating a mapping whenever the amount of spaces is changed.
2014-06-19 23:52:51 +01:00
Aleric Inglewood 3fe9c7c49d Fix looking up line number and colum when there is no exact match.
When a compile error reports a colum/error that is not an exact
match in the positionMap dictionary, the last position in the
map with a line number and position before the reported error
should be returned.

The old code had the following problems:
1) It returns l,c - which are line and column of the C# file, not LSL.
2) It doesn't set l to 'line' when the map has an entry with 'line'.
3) It sorts the map without taking columns into account, which may
   result in a random order of the columns. With my mono implementation
   the columns were reversed in order.

For example, if the map contains the following lines:

99,5,49,10
100,30,50,10
100,40,1,0
101,5,51,10

and a translation of 100,35 was requested,
then the old code would compare '100' with the keys in
the first column - setting l to that key while it is
smaller. Hence, l is set to 99.
Then it finds the key 100 and doesn't update l.
Because of the reversed sort order, it first compares
the column 35 with 40, finding that it is smaller
and therefore it stops; returning 99,1 instead of finding
the correct 100,30 entry and returning 50,10.

This patch causes 50,10 to be returned.

The remaining problems after this patch are:
1) The sorting might not be necessary at all.
2) The is code duplication (I fixed both instances,
   but really there should be no code duplication
   imho).
2014-06-19 23:52:51 +01:00
Robert Adams 4651cd1f50 BulletSim: stop processing linkset child when it is discovered that the
child doesn't have a physical shape. Another attempt at fixing Mantis 7191.
2014-06-18 23:01:39 -07:00
Robert Adams f348928590 BulletSim: more tweeks to AliciaRaven's flying mods. Added parameters
AvatarFlyingGroundMargin and AvatarFlyingGroundUpForce set to 5.0 and
2.0 respectively which seems to give about the same action as in SL.
Also moved force addition to before the velocity to force computation
so the upward velocity is properly applied to the avatar mass.
2014-06-18 22:39:28 -07:00
Justin Clark-Casey (justincc) 3cbdf3bfe0 refactor: Simplify compilation result tests by factoring out common code. 2014-06-18 23:04:31 +01:00
Justin Clark-Casey (justincc) 7b2f125fb6 In compiler regression tests, setup and teardown structures for each test to avoid any possibility of inter-test inter-ference 2014-06-18 22:46:54 +01:00
Justin Clark-Casey (justincc) a0d6705fe6 Fix issue with LSL jumps screwing up the C# compiler error -> LSL code position map and leading to invalid error line numbers/columns
This is because jump statement generation was mistakenly inserting its own line without updating the csharp positions in CSCodeGenerator.
This is Aleric Inglewood's patch in http://opensimulator.org/mantis/view.php?id=7195 but applied to opensim itself rather than the defunct code generation in opensim-libs.  Thanks!
This patch also adds a regression test for this case from myself.
2014-06-18 22:24:36 +01:00
AliciaRaven db0c41501c Fix previous commit to ignore water height and allow flying underwater (swimming)
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-06-17 23:06:49 -04:00
AliciaRaven ff892b5bcf Add upward force to flight when close to the ground. Prevents current belly flop to the floor when flying with bullet physics and acts more like ODE and SL flight.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-06-17 21:47:36 -04:00
Justin Clark-Casey (justincc) 5450b1b024 Change assembly versions to 0.8.1 2014-06-17 18:37:15 +01:00
Justin Clark-Casey (justincc) 602587b8d5 Update dev version to 0.8.1 2014-06-17 18:32:26 +01:00
Justin Clark-Casey (justincc) b59812b4e3 If MaterialsModule unexpected sees a part with DefaultTexture of null, log this with a warning. 2014-06-16 22:20:30 +01:00
Justin Clark-Casey (justincc) 4374ce9fbf If processing a queued request fails up to the top of the stack, log the exception and move to the next request rather than terminate the simulator. 2014-06-16 22:11:34 +01:00
Justin Clark-Casey (justincc) 696df33e5c In materials module, if a texture entry somehow has no default entry then don't try to extract materials data rather than throw an exception 2014-06-16 21:47:34 +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
Robert Adams 7f0adfd203 Add [Startup]LogShowStatsSeconds=n parameter which controls the interval
that simulator statistics is output to the console. Setting to zero turns
stats logging off.
2014-06-13 21:27:07 -07:00
Justin Clark-Casey (justincc) 31096fb1fe Add rc3 flavour option 2014-06-10 20:19:19 +01:00
Diva Canto 807fb8339b Revert "Let HG users be gods too, if they have local permission to be so."
HG gods are not safe at this point. It's better to disallow this until
they can be made safe.

This reverts commit e86c765be3.
2014-06-09 22:00:10 -07:00
Diva Canto e86c765be3 Let HG users be gods too, if they have local permission to be so. 2014-06-09 21:46:24 -07:00
Diva Canto c915791824 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-06-08 12:18:49 -07:00
Diva Canto 7f45ac72e1 Don't try to package null invites. 2014-06-08 12:18:26 -07:00
Robert Adams 3552cfb1a5 BulletSim: fix exceptions while rebuilding linksets with mesh children.
This should get around the exception reported in Mantis 7191 and 7204
by checking for the unbuilt child and rebuilding the linkset the next tick.
A warning message is output when this rebuild happens and this message is
clamped to 10 times in case there is a problem with a loop.
2014-06-08 09:03:38 -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
AliciaRaven c1bdd22274 Fix AutoBackupModule and include option to skip saving assets.
Signed-off-by: Michael Cerquoni <nebadon2025@gmail.com>
2014-06-04 22:01:55 -04:00
Diva Canto f8fe4dee8f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-06-02 08:46:00 -07:00
Diva Canto 77913eb679 Added a ResetLand method to RemoteAdmin, whereby all land is reset with the given parameters. 2014-06-02 08:45:39 -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 14a31c3e9b Correct minor bug regarding packing of estate bans 2014-06-01 12:01:49 -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 a2ea844494 Move the generation of the multi-resolution map tiles off the main
region creation thread. For varregions or simulators with many regions,
this will speed up simulator startup and elimiate some thread timeout
warnings.
2014-05-31 14:21:39 -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
Diva Canto eaf595c008 Fix a bug where estate not found would result in a dummy estate record with erroneous information.
Also, added conversion of EstateSettings from/to key-value pairs in preparation for robust net work connectors.
2014-05-31 11:40:54 -07:00
Diva Canto d6f9f690e5 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-05-31 08:22:56 -07:00
Justin Clark-Casey (justincc) bf5320eb26 minor: rename velocidyDiff -> velocityDiff 2014-05-30 22:21:13 +01:00
Justin Clark-Casey (justincc) 3c992b028c minor: Add some commented out logging to ScenePresence.SendTerseUpdateToAllClients() which is extremely helpful when investigating presence update triggers. 2014-05-30 22:18:07 +01:00
Justin Clark-Casey (justincc) a755c57b44 Fix issue with BulletSim avatar level flight jitter by commenting out RawVelocity update threshold for now in BSCharacter.UpdateProperties().
For some reason as yet unidentified (feedback?) a threshold above 0.4 here causes the RawVelocity to move between a lower and upper bound rather than remaining constant.
The RawVelocity increased until it triggered the threshold update, at which point it started to decrease until it again triggered the threshhold update.
This delta-v was enough to exceed the checks in ScenePresence.SendTerseUpdateToAllClients() and produce jittery avatar flight because of the fluctuating velocity.
With a threshold of 0.4 (or 0, as with ODE), the RawVelocity remains constant in BulletSim and so avatar flight becomes mostly smooth - remaining occasional glitches appear to be a result of errors in distance extraploation.
There are no obvious problems with commenting out the threshold.
Misterblue, if this is wrong or I've missed some subtlety here, please feel free to revert and/or correct.
The same considerations may or may not apply to object velocity updates.
2014-05-30 22:12:23 +01:00
dahlia 9ced61fbc2 Add a 0 parameter overload for RestClient.Request() for use when no auth is required. This preserves API compatibility for external modules using this function. 2014-05-30 13:47:19 -07:00
Diva Canto 0eede1467f Moved these two estate-related interfaces to the projects where they belong. 2014-05-30 13:11:46 -07:00
Justin Clark-Casey (justincc) 35c7fb2038 minor: Comment out log line in Groups V2 GroupsServicePostHandler for now which logs every request it receives. 2014-05-30 19:45:05 +01: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
Justin Clark-Casey (justincc) 27597463da Change Assembly verson of OpenSim.Data.PGSQL.dll to 0.8.0.* to match all other assembly versions 2014-05-27 23:40:29 +01:00
Justin Clark-Casey (justincc) c32ccfb520 minor: Comment out 2 error level debugging message in authentication code 2014-05-27 23:18:33 +01:00
Justin Clark-Casey (justincc) 9ca86664bb Make RegionReady login disabled during initialization message a console messages instead of a warning message.
Same justification as earlier commit 996a6c2.  These are not warnings but should still be visible to the user at any log level.
2014-05-27 23:15:50 +01:00
Justin Clark-Casey (justincc) 5622cf68aa In compiler tests, remove the ResolveEventHandlers after test exit 2014-05-27 18:47:42 +01:00
Justin Clark-Casey (justincc) 394ec508f6 Make CompilerTest add same AssemblyResolver as XEngine to see if this solves the issue with different AppDomain BaseDirectory in local and Jenkins test runs 2014-05-27 18:37:16 +01:00
Justin Clark-Casey (justincc) bcaacb4e41 Temporarily print regression TestCastAndConcatString() script compile errors out to console to get a handle on what's going wrong.
Does not fail for me locally and I failed to notice this test was failing on Jenkins.
2014-05-27 18:19:08 +01:00
Justin Clark-Casey (justincc) d131c57978 Update regression TestInventoryDescendentsFetch() to account for recent commit 1fa3a6f
This was hidden in continuous integration because of another regression test issue.
2014-05-27 18:14:36 +01:00
Diva Canto 987c56984d Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-05-27 10:13:43 -07: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
Robert Adams fab0389cb1 BulletSim: add locking of PhysObjects while processing simulation
step updates and collisions. This is an attempt to fix a crash reported
by Justin when doing high velocity teleports.
2014-05-26 20:29:45 -07:00
Diva Canto d2877b9cd4 Don't report NPC presences. 2014-05-26 10:28:31 -07:00
Diva Canto b778bd9423 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-05-26 08:14:34 -07:00
Diva Canto 449548d7a4 Adds an optional redirect URL to the asset server handler for when assets are not found locally. 2014-05-26 08:13:49 -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 5aeaa7fcdd Prevent login to a region if the Telehub or Landing Point are in a banned parcel 2014-05-25 15:37:28 +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
Oren Hurvitz 1fa3a6f1bd When creating a new user, create the folders "Current Outfit", "Favorites", and the standard subfolders of "Calling Cards".
(If we don't create them now then they'll be created later by the viewer, but why wait.)
2014-05-25 15:34:49 +01:00
Diva Canto ff9da24465 Added HTTP Authentication also to Groups and offline IM. 2014-05-23 17:31:39 -07: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) 9bae636ff0 Fix issues where reported LSL compiler error line numbers do not match the script.
This is probably due to changes in the layout of the generated script preamble (using statements etc, ) in c8afc852 (Jan 17 2013).
Re-enabled existing regression test that exercises at least one case of this.
2014-05-24 00:12:23 +01:00
Justin Clark-Casey (justincc) cf95b65c10 Get regression test TestUseUndeclaredVariable() functional again, though not yet enabled.
This reveals the position map problems and will make the fix (and subsequent continual checking) easier.
2014-05-23 22:29:47 +01:00
Justin Clark-Casey (justincc) 250ea09328 Reactivate regression test TestCastAndConcatString() in CompilerTests. 2014-05-23 22:12:49 +01:00
Justin Clark-Casey (justincc) f55e153636 Compile the regex that extract categories for colourization just once rather than on every single log.
Compiling every time is unnecessary since Regex is thread-safe.
2014-05-23 21:09:48 +01:00
Justin Clark-Casey (justincc) fbcb76383d Allow console output to be multiline by making colourization regex RegexOptions.SingleLine 2014-05-23 20:57:50 +01:00