| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
The current API for MRM is quite sparse, this patch
supplies basic support for accessing the task
inventory of object.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This patch makes the worn attachments accessible to MRM scripting
|
|
|
|
| |
performance)
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
When a sit position is modified by llSitTarget and the
sim is restarted, the object sit position is lost until
llSitTarget is applied again.
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
| |
file if it has no sections left.
|
|
|
|
|
|
|
| |
specifies an ini file.
If the ini file exists, the region will be added.
|
|
|
|
| |
everyone that the so called "forces" are actually velocities.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
it instead after the foreach as we are going through the whole
m_PendingAcks list anyhow
|
| |
|
|
|
|
|
| |
for spotting it!
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
instantiations and object copies.
|
| |
|
|
|
|
|
| |
LLQueItem m_NeedAck queue each time.
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
engine, caused by an "avatar infinite position" occurring under
heavy load.
- fixes "value too small" exception in ChatModule
|
|
|
|
|
|
|
| |
is only required when taing an object you don't own, now.
Fixes Mantis #3838
|
|
|
|
|
|
|
| |
This may fix the Mantii where individual prims ctrl-z to nirvana, but
it's not tested.
|
| |
|
| |
|
|
|
|
|
|
| |
Also reduce limit to 40 to allow for last logon dates and titles
|
|
|
|
|
|
| |
without crashing
|
|
|
|
|
|
| |
yet.
|
|
|
|
|
|
| |
Fixes Mantis #3831
|
|
|
|
|
|
| |
connector and the glue code.
|
| |
|
| |
|
|
|
|
| |
yes? Panda happy, eh?
|
| |
|
|
|
|
|
|
| |
* Changed some fields to protectesd to enable faking
|
|
|
|
|
|
|
| |
or logoff. Regions come and go and we can't throw just because someone
took their region off the grid, or crashed.
|