This patch introduces a couple of read-only properties,
so that I can grab the asset server plugin from a region
module. This is needed to set up an http service for
accessing standalone assets remotely.
Included patch fixes error: Z and W terms in the quaternion were
swapped (ZERO_ROTATION is <0,0,0,1>, it was checking for <0,0,1,0>).
There is an issue with older prims: it seems their default sit
target was not always set to ZERO_ROTATION;
Add more unit tests for user cases
Persist more user fields into mysql that already had columns
defined but weren't getting passed to the mysql manager.
potential (asset bloat, asset server DOS due to no enforced delay)
Formatting cleanup. Change default permissions on the notecard to
not include "anyone can copy" and "anyone can move", as they are
meaningless on non-prim items.
- fixes IRCBridgeModule's XmlRpc method really paying attention to
region parameter
- cleans up indentation in IRCBridge code
- fixes ConciergeModule exception on client logout
* This should (hopefully) allow TestClient and stuff built on top of it to work again
* Will probably come back later and change variable names to stop this happening again
* Really this should be 1, but I think that this would be too slow compared to a Second Life server until we improve our ability to send textures of variable quality
* This may improve one aspect of sim performance where there are many avatars. However, there are still other performance problems that are unrelated to this change
* Value may be further tuned
* Removed temporary decals since the multipler setting will stick around now
* Inserts proper animation state names into data/avataranimations.xml file so that llGetAnimation() works as one would expect.
* Thanks StrawberryFride!
* This is a partial implementation of llGetAnimation that returns the name of the animation as stored in data/avataranimations.xml but not its state name (since we don't yet
have these).
* Thanks StrawberryFride
This patch allows an object to directly message another object given its
key using the method osMessageObject(key objectUUID,string message).
to communicate with an object it must implement the dataserver listener
method. The dataserver method is passed the key of the calling object
and a string message.
* Now I've had time to analyze this, the Second Life grid doesn't appear to send this to the client (which in principle should know what wearables it has already)
So basically simplifies what a lsl script that detects a avatar sitting on a prim, then stopping the sit animation and playing a custom animation, does.
Also added another ScenePresence.HandleAgentRequestSit() method , that accepts the name of the sit animation. So that modules can override the animation used, when they are doing a server controlled sit.
Started some work on making the stand pose be played as soon as a user logs into a region. Rather than them starting with their arms stretched. This still needs more work
* This should probably be 1, but currently by default it is 8, to reflect what was being eon3 in OpenSim before this revision. So if the client requested a maximum throttle
of 1500 kilobits per second, we would actually send out 1500 kilobytes per second
* Adjusting this multiplier down towards 1 may improve your OpenSim experience, though in other situations it may degrade (e.g. if you're using a standalone over high bandwidth
links)
* This is currently a user setting because adjusting it down may currently reveal other OpenSim bugs.
* The attached patch changes the LSLInteger operator overrides for == and != to return LSLIntegers 1 or 0 instead of a bool and adds similar operator overrides for >, <, >= and
<=
* Thanks idb!
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
* This is to avoid repetitive null checks - I'm beginning to think that blasting away the root part on object deletion is actually a bad move. Perhaps we should leave it around
and let the client ignore any superfluous packets (which it may well do anyway), since we're constantly exposing a race condition
with the old Grid Instant Message over OGS1. Refactor the EventManager
to be independent of the rigid module structure design imposed by
the current implementation. Message routing is now done in the destination
module rather than in the event manager. This way, more or less granular
solutions are possible without core changes.
locks to just before the try/catch/finally block, so that an exception
thrown between taking the lock and entering the try doesn't leave a mutex
locked
* This may help us detect if mysterious UDP disconnects are happening because of this.
* Shouldn't be any functional change but I would appreciate a buddy check from Teravus if he has time (as for all client stack changes)
* Since the client sets the appearance in the first place (in response to receiving wearables information originally) this seems a little redundant
* But I've realized I didn't actually test this assumption, so I'm going to reinstate it for now
SQLite reports System NUll Reference, but works, inside
LoadItems, on SQLiteRegionData.cs
From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
* This is to make things less confusing to users (and maybe a little easier to do future version filtering for grid connections)
* If there's disagreement about this, then please say so (preferably in the opensim-dev mailing list)
* Whilst this does automatically get the client to rebake, on crossing a region border the 'local' assets are left behind
* There may be a cunning solution (such as squirting the assets on region crossing, or having them fetched from the original region) but
instead I'm going to opt for the easy solution of keeping them in the asset database, for now
* And hopefully rebaking all the time should no longer be necessary now
* It turns out that when the client baked the texture, the uploaded asset had the Temporary flag to true (Temporary is actually deprecated).
* It also had the StoreLocal flag set to true, which signifies that the asset should be stored locally. If it disappears we should reply to the asset request with
ImageNotInDatabasePacket
* However, last time this was enabled some clients started crashing. This may well no longer be the case and needs to be tested, but in the mean time we will store
the asset instead.
* This needs to be resolved in a better way, possibly by starting to send the ImageNotInDatabase packet again instead
When the avatar stops flying in mid air, it stays still
while it falls to the ground. Normally, the avatar would
use the falling animation (when it spins its arms and legs
while falling) until it reaches the ground.
The attached patch fixes the bug where when linking in a new set of
prims to an already linked set of objects the prims were placed at the
end of the list rather than just after the root prim. ie. link prim
order result was different on OpenSim compared to an LL server. This
causes a few issues with respect to compatibility of scripts,
especially when using llCreateLink.
* If a change is going to affect a unit test, then please could we change the unit test at the same time? Otherwise this will never get done
* It also seems a bad idea to disable tests which start failing unless there's a very good reason
The following should silently fail when attached,
llBreakAllLinks, llBreakLink, llCreateLink.
The following should be restricted to avatars in the same sim,
llGetAgentInfo, llSameGroup, llGetAgentSize, llGetAnimationList.
Comment added to the following unimplemented functions,
llGetAgentLanguage, llGetAnimation.
llGetBoundingBox is completely unimplemented. The attached
patch contains a partial implementation for single prim
objects and standing, flying and ground sitting avatars.
In the case of an avatar sat on an object or multi-prim
objects only the bounding box of the root prim is returned.
llRezObject and llRezAtRoot ignored any velocity parameter.
The attached patch makes use of it if it is not a zero vector.
Support of strength-slider in latest sl-client (1.21.6)
Added a patch, which includes the support of strength-slider
in latest sl-client (1.21.6) for Raise- and LowerSphere.
* This moves authentication from the client thread (where failure was difficult to detect) to the particular thread handling that packet
* I've kept the authentication outside of the crucial clientCircuits lock (though any delay here is probably swamped by the other delays associated with login)
* Also added more to the unit test to ensure this doesn't regress
* This checks that a client circuit is established when the udp server is given a use client circuit code packet
* And checks that other circuit codes do not exist
* Not sure why things still worked in the presence of this bug - possibly the problem is compensated for later on. If you are having udp session problems this bug fix may help
(though no guarantees).
UUID parameter without checking for it at the method entry. this patch
adds logic to obtain the master UUID via the user profile service,
and, if the master avatar does not exist, will create the user. in any
case the UUID is then the one supplied by the user profile service.
logic to ConciergeModule. adding XmlRpc method to allow update of
welcome template for a region. documenting [Concierge] "password"
option in OpenSim.ini.example.
KeepAlive for certain XmlRpc handlers.
Making use of new AddXmlRpcHandler method in RemoteAdminPlugin to
avoid clients waiting indefinitely for response.
taking note of BaseHttpServer parameter in CommunicationsManager
constructor (was passed it but then just ignored so far).
Attached patch protects against a NullReferenceException
in SceneObjectGroup.stopMoveToTarget (used by LSL function
llStopMoveToTarget). Thanks to M. Igarashi.
welcomes = /path/to/welcome/files/directory
a directory in which you can place welcome templates for concierged
regions (those regions that match the "regions" regexp). you can use
format substitution:
0: will be replaced by avatar name of the avatar entering the region
1: will be replaced by region name
2: will be replaced the name of the concierge
MemberwiseClone() also clones the "already backed up" flag, preventing prims
created by drag-copying from being persisted. If such a prim is made the root
prims of a link set, the entire set will not be persisted. Fixed now.
chat relaying via private channels, and old IRCBridgeModule
behaviour. also cleaning up IRCBridgeModule's OpenSim.ini
configuration variable names (still supporting "old" variable
names). refactored IRCChatModule into IRCConnector and incorporating
watchdog from IRCBridgeModule into IRCConnector.
enabling ChatModule to be used as a super-class and utilizing it in
ConciergeModule.
* Guys, there's an endless loop there *ON PURPOSE*. Please don't try to *fix* it. We must continue to process the UDP stream buffer on clients that disconnected nastily until it ends or the UDP server accept thread will die a horrible death.
* Unix epoch starts at midnight, not at 8:00am
* All date/time handling should be done in UTC in the server, not in
the local timezone.
* Refactor out repeated computation of a constant value
- Added setting of CreationTime to some places where inventoryitems
are created
This fixes Mantis#2390.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
* Implement the linear impulse portion of llPushObject. We should have a lsl compatible implementation of that portion of the push. Angular.. well. still have yet to implement a torque accumulator.
* llPushObject respects the region and parcel settings for Restrict Push, it also respects GodMode as is defined in the LSL spec.
* Regarding an earlier change, I think it would be possible to eliminate the creation of new IPEndPoints on every end receive if we did the client circuit lookup before starting
the next receive. However, this would be a performance trade off and hence not worth trying without performance testing
* This widened what I think is an existing race condition where asynchronous recieves could potentially stomp on each other's end points (though this must occur very rarely, if at
all, in reality)
* This allows multiple user profile providers to be specified in OpenSim.ini separated by commas
* If multiple providers are specified then a request for a user profile will query each in turn until the profile is either found or all have been queried
* Unfortunately I don't believe this order can currently be specified, which if true is something that will need to be fixed.
* Thanks to smeans for the original patch.
* Additionally, you can probably get more physical prim now together.. though, I think this puts us back on par with where we were in the beginning of the year on number of physical objects. Experiment. Make videos. Send Feedback. Enjoy.
- Added two missing caps (UpdateScriptAgent, UpdateScriptTask)
- Added one missing EventQueue event (ScriptRunningReply)
- Changed DNE and XEngine to use this new event
As we only use the mono engine anyway, the "Mono" checkbox is set by
default but doesn't have any function.
* If you are hosting many regions on a single instance, you will probably notice a decrease in region startup time and maybe a slight increase in performance.
* Single regions won't notice anything different
- Makes SQLite mimick MySQL default behavior on first
and last name already on db: it does not insert the
new record.
- Added tests for UUID 0 and for new UUID with existing
first and last name.
* I believe this is reasonable since code outside the Linden client stack shouldn't be aware of the packet format being used
* I would love to have made the method protected, but the LoadBalancerPlugin is still calling it and resolving that would require more work
* This should fix a long standing issue where you often wouldn't see other people simply turn around without moving at all
* Arguably lastPhysRot (to mirror lastPhysPos) is not a good name, may change variable names later
* This may help http://opensimulator.org/mantis/view.php?id=2377 where large linksets do not always correctly delete - since a lost kill packet to the client could result in
the symptoms described
* Re-enabled the native ODE prim types when possible
* Fixed several invalid assumptions in the prim recycle process.
* Added better message for 'reused a disposed physicsactor'
* Added a way to recover from errors during collision_optimized
* Added a way to recover from an error condition where prim_geom wasn't reset properly
* Calculate an agents height in LLGetAgentSize() from apperance parameters rather than physics avatar numbers
* Another good looking patch from idb - thanks!
* Region registration is enabled by default in the configuration unless the user chooses otherwise
* On the console
* show status - shows grid status
* enable-reg - enables region registration to the grid
* disable-reg - disables region registration
* Enabling or disabling region registration will not affect any other grid functions or regions already on the grid
* If you're experiencing knee bendiness try the windows settings, as the *nix settings seem to now be incorrect. (this update does that, but you may have your own opensim.ini settings active.
* Mac users, pray to chi11ken to make you a .dylib version
* This is semi-tuned and post teravus hack. (Though I didn't apply the terrain pitting fix hack. I'm still deciding if it's necessary as there was a lot of work over the past several months on the heightfield collider.
* Please use '--enable-shared --disable-demos --disable-asserts' if you are building your own libode in the configure step. Asserts are pretty much useless for use with .NET
* This also updates ODE.NET as, there were some API changes in May that were just added to ODE.NET today.