Commit Graph

288 Commits (fefe767476f3233a7cf2d2dd68d967f23231c73e)

Author SHA1 Message Date
John Hurliman 3a1ee79ee4 Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool 2009-10-27 02:36:57 -07:00
John Hurliman 4847e62e9f * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman a41cd1d069 * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system
* Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler
* Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
2009-10-23 13:14:29 -07:00
John Hurliman 4c45b5fd3c Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been removed and several new parameters have been added to [ClientStack.LindenUDP] 2009-10-23 10:35:47 -07:00
John Hurliman 62f1a5e36d Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you 2009-10-23 02:38:59 -07:00
John Hurliman 4121a02936 OpenSim.ini.example had the wrong names for default values in the [InterestManagement] section. Fixed 2009-10-22 10:15:28 -07:00
John Hurliman 2f394b7e7e * Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation)
* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
2009-10-22 01:30:12 -07:00
Melanie b35fbe1f98 Merge branch 'melanie_test' into prioritization
This makes SmartThreadPool configurable and also makes it the default, since
the regular thread pool simply stinks.
2009-10-22 07:02:21 +01:00
John Hurliman 32ccd5bb40 * Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to Util.FireAndForget()
* Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
2009-10-21 23:03:18 -07:00
Melanie 8ce4fd7234 Reduce the default pool threads to 15 (from 30) and the minimum from 5 to 2 2009-10-22 04:02:26 +01:00
Melanie 8a336c6860 Add MaxPoolThreads in startup to limit the size of the thread pool used
for FireAndForget. This lets us limit concurrency to make OpenSim play nice
2009-10-22 02:28:53 +01:00
John Hurliman fdce1be3db * Removed OpenSim.Data.NHibernate
* Replaced calls to ThreadPool.QueueUserWorkItem() with ThreadPool.UnsafeQueueUserWorkItem() since OpenSim does not use Code Access Security sandboxing
2009-10-19 16:52:27 -07:00
John Hurliman 5a4fda9dc3 Updating OpenSim.ini.example with the section required to enable a useful prioritization scheme 2009-10-16 11:09:18 -07:00
John Hurliman 06990b074c Allow the LLUDP server to run in either synchronous or asynchronous mode with a config setting, defaulting to synchronous mode 2009-10-14 16:48:27 -07:00
John Hurliman 82012ec4e3 * Clean up the SetThrottle() code and add a maxBurstRate parameter to allow more tweaking in the future 2009-10-14 16:21:48 -07:00
John Hurliman 0d2e6463d7 * Minimized the number of times textures are pulled off the priority queue
* OnQueueEmpty is still called async, but will not be called for a given category if the previous callback for that category is still running. This is the most balanced behavior I could find, and seems to work well
* Added support for the old [ClientStack.LindenUDP] settings (including setting the receive buffer size) and added the new token bucket and global throttle settings
* Added the AssetLoaderEnabled config variable to optionally disable loading assets from XML every startup. This gives a dramatic improvement in startup times for those who don't need the functionality every startup
2009-10-14 11:43:31 -07:00
Justin Clark-Casey (justincc) 46110b0195 change default ports for inventory and grid connectors in example .ini files to 8003 to match the ROBUST default
altered wiki page to reflect this
2009-10-05 20:18:35 +01:00
Melanie ce8974539e Merge branch 'master' into diva-textures 2009-10-02 19:03:22 +01:00
Diva Canto 2e1c76f836 Added a default for grid services in standalone. 2009-10-02 07:18:36 -07:00
Melanie 31d8cec0f8 Merge branch 'master' into diva-textures 2009-10-02 08:23:38 +01:00
Melanie 18a744cac1 Change texture sending to be driven by the queue empty event from the
packet queue, rather than a timer
2009-10-02 04:04:14 +01:00
Melanie d0bf084da5 Remove the settings for the J2KDecoder, since they are now obsolete (thank god!) 2009-09-30 21:31:48 +01:00
Diva Canto 632bb71262 Fixed MapBlocks bug, wrong order of arguments. First version that seems completely functional.
Also fixed the notification of the message server in standalone -- that server doesn't usually exist.
2009-09-26 08:49:48 -07:00
Diva Canto be7afa0b1f Changed a [Groups] config as per mcortez' request. 2009-09-25 08:44:26 -07:00
Melanie 97c18caa76 Thank you, Intari, for a patch that implements the missing pieces of
Http-in and makes the host name for URL generation configurable.
Applied with changes:
llGetSimulatorHostname was not changed, because the change breaks
existing behavior and carries a data exposure risk. That value needs
to be configurable, the proposed fixed change is not acceptable.
2009-09-22 17:04:34 +01:00
Justin Clark-Casey (justincc) 077d01c225 switch default physics engine to ODE and default meshmerizer to Meshmerizer in code and in OpenSim.ini.example 2009-09-16 18:44:55 +01:00
Justin Clark-Casey (justincc) a964bc3ca4 Apply http://opensimulator.org/mantis/view.php?id=4142
Re-enable XMLRPC scripting calls
Moves XMLRPC scripting setup to a separate section
Thanks Fly-Man-
2009-09-14 18:31:34 +01:00
Teravus Ovares (Dan Olivares) 38e462ed8a * Milestone GridFriendly reached so Adding CombineContiguousRegions to the OpenSim.ini.example 2009-09-13 07:27:24 -04:00
dahlia 2ddb73f5f3 update documentation in OpenSim.ini.example for j2k decode cache expiration time 2009-09-01 23:42:31 -07:00
dr scofield (aka dirk husemann) 953581698d - making font name used by VectorRenderModule configurable: can be set
via

      [VectorRender]
      font_name = "Comic Sans MS"

  in OpenSim.ini

- adding osSetFontName OSSL function
2009-08-31 10:30:10 +02:00
Melanie 1a6b30e092 Add a slow cache cleaner thread. By default, the thread starts a cleanup
sweep every 10 minutes. If any texture data is older than 12 hours, it is
regenerated and the memory cache is refreshed. After each decode, the thread
delays for 5 seconds.
2009-08-29 05:54:38 +01:00
Melanie 4b2e62fd3c Make the j2kDecodeCache expire after 50 minutes (configurable). Alse allows
setting the path for it. This commit introduces NEW DEFAULT BEHAVIOR. To
retain the old behavior (eternal cache) you will need to change your OpenSim.ini
and set the timeout to 0.
2009-08-29 04:35:18 +01:00
dahlia 465d1095dd Added new OpenSim.ini setting: "client_throttle_max_bps" which overrides user's viewer network throttle settings 2009-08-18 17:06:14 -07:00
Justin Clark-Casey (justincc) eb78ac343e Apply http://opensimulator.org/mantis/view.php?id=3538
Add ability to silence IRC relay of region joins and quits from certain users
This is useful for admins who wish to remain hidden, or service bots.
Thanks RemedyTomm
2009-08-17 19:48:32 +01:00
Adam Frisby 30c4aa55e6 Added additional configuration options for MRM Security. See OpenSim.ini.example under the [MRM] section. 2009-08-18 00:58:42 +10:00
Melanie 3d7bb7567c Add the ability to use -console=rest to the region server. User
and pass are specified the same way as for the ROBUST server
2009-08-17 09:21:39 +01:00
Jeff Ames 9d9fcac038 Misc cleanup. 2009-08-16 17:14:21 +09:00
Michael Cortez 2ac04cb624 Merge branch 'master' into groups-core-contrib 2009-08-06 09:38:51 -07:00
Melanie 00aceec799 Add the config-include statement to OpenSim.ini.example.
addon-modules/*/config/*.ini is now included in the configuration
2009-08-06 02:33:44 +01:00
Michael Cortez c73a6ab7e0 Continue with renaming of Groups module components 2009-08-05 14:56:48 -07:00
Dr Scofield 1c965b5a74 adding documentation for DisableUndergroundMovement 2009-07-30 08:38:54 +00:00
Dr Scofield 7a4abf0def From: Dr Scofield <hud@zurich.ibm.com> & Alan Webb <alan_webb@us.ibm.com>
this commit finally adds the VivoxVoiceModule: it supports positional
as well as conference call type voice (currently only per region
server), region and parcel voice, speaker indication (LL client
family), direct avtar-to-avatar voice chat. NOTE: you need to obtain
an customer admin account from Vivox to be able to use this module ---
DON'T ask me about how to about an admin account, i've NO clue, we
just wrote this code.
2009-07-11 08:16:47 +00:00
Justin Clarke Casey 2ff08c84f5 * minor: formatting adjustments in OpenSim.ini.example 2009-07-10 19:47:26 +00:00
nlin 0ec6dfb1a1 Experimental fix for tilted avatar capsule, Mantis #2905
Set av_capsule_tilted to false in opensim.ini. Default is true, so there is
no change in avatar behavior (and no breaking of existing content which
relies on the tilted capsule).

This commit straightens up the avatar capsule so it behaves consistently
(e.g. same collision behavior against prims regardless of which direction
the avatar is coming from; ability to fit through narrow doorways).

Please note this introduces other side effects which have not been fixed.
In particular:

* The avatar frequently falls through the terrain if it is not flat, though
the avatar behaves pretty well on flat terrain. This requires investigation
of the ode terrain collider.
* The apparent foot position of the avatar with respect to the ground
is changed. This requires investigation of the avatar height/capsule height.

Please consider this as work in progress.
2009-07-08 01:41:05 +00:00
Dr Scofield 8f5efc4994 - adds the possibility of setting the socket receive buffer size
option for LLUDPServer. On windows .NET the default socket receive
  buffer size is 8192 bytes, on recent linux systems it's about
  111K. both value can be a bit small for an OpenSim instance serving
  many clients. The socket receive buffer size can be configured via
  an OpenSim.ini config option

- adds a general catch clause to LLUDPServer.OnReceivedData() to
  prevent it submerging when an unexpected Exception occurs.
2009-06-25 07:50:02 +00:00
Dr Scofield afd5f76648 From: Alan Webb <alan_webb@us.ibm.com>
This change moves texture send processing out of the main
  packet processing loop and moves it to a timer based
  processing cycle.

  Texture packets are sent to the client consistently over
  time. The timer is discontinued whenever there are no
  textures to transmit.

  The behavior of the texture sending mechanism is controlled
  by three variables in the LLCLient section of the config
  file:

   [1] TextureRequestRate (mS) determines how many times per second
       texture send processing will occur. The default is 100mS.
   [2] TextureSendLimit determines how many different textures
       will be considered on each cycle. Textures are selected
       by priority. The old mechanism specified a value of 10 for
       this parameter and this is the default
   [3] TextureDataLimit determines how many packets will be sent for
       each of the selected textures. The old mechanism specified a
       value of 5, so this is the default.

  So the net effect is that TextureSendLimit*TextureDataLimit
  packets will be sent every TextureRequestRate mS.

  Once we have gotten a reasonable feeling for how these parameters
  affect overall processing, it would be nice to autonmically manage
  these values using information about the current status of the
  region and network.

  Note that this also resolves the pathologcal problem that
  previously existed which was that a seated avatar generated very
  few in-bound packets (theoretically) and would therefore be the
  least able to retrieve the images being displayed by a
  projector script.
2009-06-25 07:42:06 +00:00
Jeff Ames ffcb58e568 Formatting cleanup. 2009-06-14 22:00:08 +00:00
diva a3f36f1954 Added some defaults to OpenSim.ini.example so that it works out of the box again with zero configuration. 2009-06-10 16:31:22 +00:00
Arthur Valadares eb330f71be * Making silent logoff of old hung sessions for new connections default for
StandAlone users. Not touching grid.
2009-06-01 18:34:40 +00:00
Arthur Valadares d0084f08f2 * Allows standalone region users to skip the "You must wait 5 minutes to log again" message and
allow the region to kick the old user and log the new one without reporting any failure.
Default is still to show message and fail login
2009-05-29 22:38:18 +00:00