Commit Graph

9640 Commits (71ab7a1e2d4b613c1d897e26b518c0316b723f95)

Author SHA1 Message Date
Dr Scofield 840f5f9485 - adding a Persistent flag to RegionInfo
- adding  EstateSettings.Save() to RemoteAdmin ACL code (invoked only when region is persistent)
2009-07-03 15:36:47 +00:00
Charles Krinke 8344df886b Thank you kindly, AnakinLohner, for a patch that addresses:
The patch included updates the root and child prims' AttchedAvatar 
with the right UUID. It also cleans the AttachedAvatar properties 
for the root and child prims on Drop and Detach
2009-07-02 16:02:18 +00:00
Sean Dague 49f89dd758 make methods surounding backup virtual so they could be override for server side created objects 2009-07-02 12:00:39 +00:00
Melanie Thielker 412b555c27 Restore some lost functionality tot he combat module. Code that used to
reside in the economy module was lost in the shuffle when that was moved
to forge. Now it's where it belongs.
2009-07-02 02:46:40 +00:00
Jeff Ames 1d01d6d919 Formatting cleanup. 2009-07-01 23:37:09 +00:00
Jeff Ames a0a44d8ebc Add copyright headers. 2009-07-01 23:25:59 +00:00
Melanie Thielker 3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Jeff Ames 3f2fba610e Update svn properties. 2009-07-01 10:26:43 +00:00
Dahlia Trimble aae94a8c80 add some more intuitive overloads for PrimitiveBaseShape SetPathRange and SetProfileRange 2009-07-01 01:27:36 +00:00
Melanie Thielker 858b0a2efd Updated services to allow external applications like web interfaces to
authenticate against the services. This paves the way for such apps
to directly talk to services.
2009-06-30 21:48:03 +00:00
Sean Dague fe21189aa4 From: Chris Yeoh <yeohc@au1.ibm.com>
Ooops, sorry there was a bug in the patch and causes an exception
on some system (I think it only happens on windows since it didn't
occur during my testin). I've attached a one liner which fixes the problem.
2009-06-30 13:50:12 +00:00
Charles Krinke 6942eaed5b Thank you kindly, Snowdrop, for a patch that solves:
The current API for MRM is quite sparse, this patch 
supplies basic support for accessing the task 
inventory of object.
2009-06-29 21:47:47 +00:00
Arthur Valadares dc9900d73f Thanks StrawberryFride, for a patch that fixes MSSQL migration:
Minor tweak to a region migration SQL script for the OAR DateTime field - SQL Server syntax slightly different from MySQL (and there is no unsigned in MSSQL, sadly)
2009-06-29 19:24:43 +00:00
Arthur Valadares 4f6efa0249 * C# compiler is not smart enough to understand ClientLoop is under very heavy usage and inline DebugPacket, so DebugPacket is run as a method, causing Packet
to be constantly pushed and popped uselessly, if you are not debugging packets. This showed some really big difference in a mock test, let's see how it behaves here.
2009-06-29 19:24:30 +00:00
Charles Krinke 7bb070be55 Thank you kindly, Snowdrop/Snowcrash for a patch that:
This patch makes the worn attachments accessible to MRM scripting
2009-06-29 18:07:30 +00:00
Arthur Valadares 6da88dceb0 * Changing List to Dictionary in PacketQueue.Dequeue for great justice (and performance) 2009-06-29 16:55:00 +00:00
Jeff Ames 715f2f2798 Update svn properties, add copyright header, formatting cleanup. 2009-06-29 15:40:00 +00:00
Sean Dague 3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Charles Krinke 7545f12c5f Thank you kindly, Godfrey, for a patch that:
The new IRCd module causes an error when multiple instances of OpenSim 
are run on the same machine; since the port number (6666) is hardcoded,
the second and subsequent instances crash upon startup because the port 
is already in use. Attached is a patch which adds a Port specifier to the 
[IRCd] section of the config file, which defaults to 6666 if not present.
2009-06-29 14:01:08 +00:00
Charles Krinke c7c4bc8cd5 Thank you kindly, Grumly57 for a patch that solves:
When a sit position is modified by llSitTarget and the 
sim is restarted, the object sit position is lost until 
llSitTarget is applied again.
2009-06-28 18:19:11 +00:00
MW 706286b7fb Removed the List<NewForce> m_forceList from ScenePresence, as there wasn't any need for a list, as only the last entry in it was acted on. So it now has a single NewForce m_nextVelocity , which is updated (rather than a NewForce object being created every AgentUpdate). So as well as cutting out all the adds and clearing of the list, it also removes the creation of upto 100+ new objects per second per avatar. 2009-06-28 11:07:26 +00:00
Dahlia Trimble 147c9bcd45 Make cleartext authentication case sensitive. Thanks jhurliman for spotting this. 2009-06-27 07:49:10 +00:00
Jeff Ames 2d173d7556 Update svn properties. 2009-06-27 04:31:49 +00:00
MW 9e4d077d70 Fixed null bug, which was making unit tests fail 2009-06-26 12:30:54 +00:00
MW 7a2c41dea0 Extracted the code that handles the sending of prim updates to the client, from ScenePresence into ISceneViewer/SceneViewer. Currently ScenePresence "has" a ISceneViewer, although if we had a proper Node based scenegraph then it would most likely be attached directly to the nodes.
By extracting this code, it should make it easier to experiment with different ways of managing the update process. [Next step to make this module based, could be to create a SceneViewerFactoryModule]
2009-06-26 12:09:43 +00:00
Melanie Thielker febd54499b Enable the RemoteAdmin module to save regions as ini files rather than XML 2009-06-26 11:32:36 +00:00
Melanie Thielker 5869598c4c Make delete-region delete the section from an ini file. Will delete the whole
file if it has no sections left.
2009-06-26 00:00:20 +00:00
Melanie Thielker 7cc69ac97f Make create region save the new region to ini file format if the name
specifies an ini file.
If the ini file exists, the region will be added.
2009-06-25 23:31:55 +00:00
Melanie Thielker 82305b0dea From this version onwards, all new region files created automatically will
be created as new style INI files.
This doesn't yet affect create region, but it does affect first starts of
OpenSim.exe
Because master avatars are slated to be replaced by estate owners, this now
allows regions to be created without any master avatar data.
2009-06-25 17:53:03 +00:00
Melanie Thielker 9e714b9784 Add a comment and an example region config file 2009-06-25 16:05:59 +00:00
Melanie Thielker d9528bd06e Allow the reading of ini files instead of xml files when reading region
definitions from the file system
2009-06-25 15:48:54 +00:00
MW 934b291f59 Added a note to the ScenePresence.UpdateMovement() method, to remind everyone that the so called "forces" are actually velocities. 2009-06-25 13:12:48 +00:00
MW 684286f097 Applied patch from mantis #3820 which changed the clearing of the ScenePresence.m_forcesList, so it used the List.Clear method rather than doing a loop through the list and manually removing each item. Thanks dslake.
I also fixed the issue where the code also loops through the m_forcesList and copies each force to the ScenePresence's movementVector. Which resulted in only the last force in the list actually be acted on. As each copy overrode the last one. So now it only copies the last force in the list.
2009-06-25 12:26:23 +00:00
Dr Scofield c1976d1200 moving the m_PendingAcksMap.Remove() out of the foreach and clearing
it instead after the foreach as we are going through the whole
m_PendingAcks list anyhow
2009-06-25 11:30:31 +00:00
Dr Scofield aba4b0bd20 have to clear m_PendingAcks not m_PendingAcksMap 2009-06-25 11:30:16 +00:00
Dr Scofield e2db6c07ba hmph: missing '{'/'}', thx to nebadon for reporting it and rob smart
for spotting it!
2009-06-25 10:26:10 +00:00
Dr Scofield 74f7b586d3 fixing windows specific compile error. 2009-06-25 08:28:59 +00:00
Dr Scofield 98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.

After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
2009-06-25 08:17:37 +00:00
Dr Scofield 17d37aa60d cosmetic change 2009-06-25 08:01:02 +00:00
Dr Scofield 1b06da0c54 streamlining m_NeedAck logic 2009-06-25 08:00:43 +00:00
Dr Scofield 9f83f124c7 streamling m_PendingAcks logic to get rid of gratuitous List<...>
instantiations and object copies.
2009-06-25 08:00:18 +00:00
Dr Scofield b84834c45b commenting out expensive bits (who in the world even uses SetClientInfo()?) 2009-06-25 07:59:58 +00:00
Dr Scofield e8e0ce5fc6 changing DropSend()'s foreach loop so that it does not copy the
LLQueItem m_NeedAck queue each time.
2009-06-25 07:59:47 +00:00
Dr Scofield fa060a7282 commenting out rather expensive bits of GetClientInfo() --- the only
bit of GetClientInfo that is actually used seems to be userEP as part of the
OSSL osGetAgentIP() script function. Now commented are the parts where
we serialize and copy out the *entire* packet queue of the client
(locking the packet handler in the process).
2009-06-25 07:59:38 +00:00
Dr Scofield 77122d7861 more efficient way of checking for already seen packets:
- uses Environment.TickCount for all timestamps (instead of more
  costly Util.UnixTimeSinceEpoch()
- takes care of Environment.TickCount overflow (which will happens
  after 24.8 days of system uptime)
- avoids instantiating List copies for each check
- gets rid of one lock() invocation
- moves calculation of loop invariant variable out of the loop itself
2009-06-25 07:59:25 +00:00
Dr Scofield a1ba9dee8d adding logging statement for receive buffer size 2009-06-25 07:50:19 +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
Dr Scofield 652bcf91d5 - fixes a "collection out of sync" exception in the ODE physics
engine, caused by an "avatar infinite position" occurring under
  heavy load.
- fixes "value too small" exception in ChatModule
2009-06-25 07:39:48 +00:00
Melanie Thielker 9d07584ea1 Allow "Take Copy" with copy only permissions if you own the object. Trans
is only required when taing an object you don't own, now.
Fixes Mantis #3838
2009-06-24 23:45:21 +00:00