Hello everybody. This is a summary of the last week of development in OpenSimulator. Except where otherwise specified, the changes described here appear only in OpenSimulator’s cutting edge Git ‘master’ branch. Only changes that I think will be interesting to end users are listed. Please do not attempt to use code taken directly from ‘master’ in any production environment. Sometimes this in-development code may not work or may even cause data corruption. If you are not a developer or tester, please treat this summary instead as a preview of what will be coming up in the next release. The latest official release is OpenSimulator 0.7.2 (released on Oct 7th 2011).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 266167f – 2e4fbe6 ).
General news
Features & bug fixes
- BlueWall fixed teleport routing so that non-owner avatars teleporting to a parcel are placed in the position and look direction given in the parcel settings (b3a1216).
- Diva fixed an issue where avatars arriving via Hypergrid to a parcel with a landing point were being placed at (0, 0, 0) (7b84942f).
- Mic made a change so that on OpenSim Archive (OAR) and Inventory Archive (IAR) loading, the simulator checks whether an asset with the same UUID already exists before uploading it to the simulator. Contrary to the commit log comment, sending it up to the server won’t overwrite anything already there but doing a separate initial check may reduce archive loading times, particularly if the asset is already cached on the simulator (5f7e392).
- I changed IAR loading so that a failure to deserialize an object asset won’t stop the load at that point (38db874).
- Bo Iwu contributed a patch to allow the update of user entries temporarily stored on the simulator. This is required to improve the operation of Hypergrid friends. See mantis 5847 for more details (6214e6a).
- Diva changed the Hypergrid ‘profile’ url to be called the ‘home’ url instead. This requires changes in both the simulator configuration and the service/ROBUST configuration. The ProfileServerURI attribute is renamed to HomeURI and drops any path it had (e.g. ProfileServerURI = “http://127.0.0.1:9000/profiles” in [HGInventoryService] in StandaloneCommon.ini becomes HomeURI = “http://127.0.0.1:9000″. At this development stage, please see the commit itself for more details. There might currently be a small bug in the new GridCommon.ini.example configuration according to Ai Austin (Mantis 5852) (8bdd80a).
- I changed the existing osNpcCreate() so that it creates an ‘owned’ NPC by default instead of an ‘unowned’ one. An unowned NPC can be manipulated by any script that knows the NPC avatar UUID and has access to the osNpc methods. An owned NPC can only be manipulated by scripts that have the same owner as the script that originally created the NPC. I don’t like to change functions that have been working in an OpenSimulator release, but owned NPCs appear the far better default than unowned ones and I don’t anticipate this change causing too many problems at this early stage. However, if you require the old unowned behaviour, there is now an osNpcCreate() method that takes an options parameter to which OS_NPC_NOT_OWNED can be specified. Please see the OpenSimulator wiki for more details (3b59af2).
- BlueWall fixed an issue were the RegionReady module (which stops clients logging in before scripts have finished loading, sends out alerts when a region is available, etc.) was triggering an alert when the first script was added to an empty region (57ba9ef).
- BlueWall updated the RegionReady module so that it will prevent new logins whilst an OAR is being loaded. Mic made a further fix so that this doesn’t fail if no alert URI is set (2e4fbe6).
- Mic added support for incrementally rotating physical objects in llLookAt() and llRotLookAt(). However, this does not use physics to do it. The rate of change is currently 1 / PI * strength (e1a2c44).
- I fixed an issue where every single script would register a register the UrlModule as a listener to the script remove event on the script engine. On Mono-run regions with many scripts (2000 plus) this would lead to a stack overflow failure. This might also be an issue on Windows .NET (b5bb559).
- Nebadon removed the hard-coded checks that would stop osTeleportAgent() from working if the script wasn’t in a parcel that was owned by the owner of the script. These restrictions can now be enforced via the more flexible and configurable OSSL permissions system (e.g. Allow_osTeleportAgent = PARCEL_OWNER). The osTeleportAgent() threat level was raised to severe to make it less likely that it would be accidentally enabled for everyone (43173f1).
Infrastructure
by justincc at January 17, 2012 10:42 PM