This week in OpenSim Dev – week ending 24th November 2012

Hello everybody.  This is a summary of the weeks 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.4 (released on August 31st, 2012).

The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.

This week in OpenSim ( 079a1e7 – bd635e2 ).

General news

  • None this week.

Features & bug fixes

  • Robert Adams of Intel continued to work on the BulletSim physics engine plugin, this week looking at region crossings, avatar capsules, avatar position corrections, vehicles and config options (bd635e2).
  • Bluewall exposed an XmlRpcHubURI configuration option in the [XMLRPC] section of OpenSim.ini that allows XMLRPC channels opened with the llOpenRemoteDataChannel() to be automatically registered with an external routing service.  This is designed to make it easier to integrate in-world objects with external systems.  See his mailing list post for more details and further links (665f79e).
  • Iain Oliver contributed a patch to allow NPCs to move within the entire area of a megaregion, rather than be stuck within the ‘root’ 256m x 256m subregion (0962a35).
  • I made the ROBUST asset service return a 400 (bad request) HTTP status if the incoming XML was not well-formed or valid for deserialization, rather than simply dropping the request (448811c).
  • I made the “show uptime“, “show info“, “set log level“, “show version“, “config show/set/get/save“, “show threads“, “thread abort” and “force gc” commands available on the ROBUST grid service console as well as the simulator console (7133b6b).
  • I added a “get log level” console command which returns the current console logging level.  This replaces the old way of getting this information, which was to call “set log level” with no final parameter (42e87a6).
  • I added a “help all” console command which will display all available console commands in a single list, rather than categorized.
  • I fixed a problem where restarting the currently selected region from within the OpenSimulator process (whether by the estate manager dialog or from a console command) would cause failures in calling subsequent console commands until the selected region was changed.  I still don’t recommend this method of restarting regions (as opposed to restarting the entire simulator) since it is relatively untested and may well contain various other bugs (8c8c8a0).
  • I added an AllowRegionRestartFromClient option to a new [EstateManagement] section in OpenSim.ini.  Setting this to false prevents estate managers from restarting regions.  Default is true (f473252).
  • I turned on further Linden UDP client stack object pooling by default.  In testing, this reduces the base memory churn of viewer connections (which in turn triggers garbage collections that can lag busy scenes) without any impact on the speed of inbound packet processing.  However, if you do encounter any issues, you may want to try setting RecycleBaseUDPPackets = false in the [PacketPool] section of OpenSim.ini to see if this makes any difference (edbdbd4).
  • I fixed an issue where loading an OpenSimulator Archive (OAR) with a deeded land parcel would always wrongly set the owner ID to the estate owner instead of leaving it as the group ID if the group ID was found (82690e).

1 comment for “This week in OpenSim Dev – week ending 24th November 2012

  1. December 4, 2012 at 6:52 pm

    woohoo! all of you are awesome, the awesomest ever!

    thank you =)

Leave a Reply

Your email address will not be published. Required fields are marked *