Hosting Virtual Worlds Has Arrived
Hosting Virtual Worlds Has Arrived !!
Now that we have been using the opensim platform for over 2 years we feel it is ready to bring to the masses. We will offer a variety of hosting solutions and a knowlegable staff to help you through the set up of your own world. So stay tuned
This Week in OpenSim Dev – week ending Saturday 20th December 2008
This week in OpenSim ( r7708 – r7813 )
General news
This was originally posted by justincc and re posted with permission for more on justincc see the About section of this blog
Features & bug fixes
- Melanie implemented teleport requests/lures (r7710).
- Teravus made some physical prim fixes (including fixes for issues when using physics prims in linksets) to the Open Dynamics Engine (ODE) physics module (r7711).
- Teravus implemented torque in OpenSim for the ODE physics module. This means that the LSL methods llApplyRotationImpulse(), llSetTorque(), llGetTorque() and llSetForceAndTorque() are now available when using ODE (r7714).
- idb fixed llGetTimeOfDay(), llGetTime() and llGetAndResetTime() by removing time dilation effects (r7715).
- Melanie made scripted item and folder inventory giving pop up an “accept or decline” dialog (r7719).
- Melanie fixed some issues with script controls (as activated using llTakeControls()) (r7731).
- Mic Bowman and Dan Lake from Intel contributed performance analysis and patches for the LLClientStack, as well as one for terrain information sending. These changes may result in a performance improvement (r7781).
- Melanie fixed permissions so that no copy objects cannot be duplicated in-world (r7738).
- MW fixed permissions so that a user can’t duplicate or take a copy of an object that contains no-copy inventory items (r7740).
- I implemented the ‘Save Object Back to My Inventory‘ facility. This allows you to save changes to a rezzed object back to the original user inventory item (r7743).
- Melanie made improvements to the way in which the LLClientStack packet handler resends packets. This may result in less time being frozen after login on crowded sims (r7749).
- Melanie changed the LLClientStack PacketHandler so that packets are serialized only once there. This should result in small performance improvement (r7760).
- Melanie changed llSetAlpha() and llSetTexture() to show updates right away (r7780).
- jhurliman contributed code to add OpenID producer support to the grid mode user server. This means that the user server can now provide authentication against its user database using the OpenID API. Note that this implements incoming authentication requests only – the user server can not yet authenticate logins using other OpenID providers (r7802).
- Teravus made various fixes to the HttpServer.dll library and the surrounding OpenSim code that we use to provide HTTP functions. This may resolve a memory leak (r7805).
Infrastructure
- Diva carried out a lot of work on the Capabilities (CAPS) Event Queue infrastructure (this is a TCP based aspect of the Second Life protocol that handles some server <-> client communication).
- MW continued with work to move the current Second Life protocol specific file transfer code into the LLClientStack.
- justincc worked on moving historic code to region modules.
This Week in Open Sim Development Week Ending Saturday December 13th 2008
This week in OpenSim ( r7633 – r7707 )
General news
- This original post was written by justincc and re posted by Count Avatar with permission from justincc. For information on justincc read the About section of this blog !!
- At the time of this post we are using r7728
Features & bug fixes
- Teravus made linked prims a single body when using the ODE physics engine. He also fixed a bug that would cause the physics representations of prims to be scattered when an object was linked (r7633).
- idb fixed a bug where big startup database migrations were getting terminated after 30 seconds (r7641).
- jonc contributed a patch that means that RAW terrains are imported into OpenSim in the same orientation as they were downloaded from the Linden grid (via the download RAW terrain button in the estate dialog of the Linden Lab Second Life viewer).However, this does mean that any terrains saved in RAW format before this revision will now be flipped around the y axis when imported. To fix this, jonc also contributed a patch that allows one to execute the command “terrain flip y” on the console which should fix this (r7654).
- nlin contributed a patch that fixes a rare race condition on the ODE physics engine when an avatar’s capsule is created/altered/destroyed when another ODE operation has locked the space (e.g. during collision detection). One symptom of this was the error “ODE INTERNAL ERROR 2 (X) invalid operation for geom in locked space…” (r7659).
- MW repaired the facility to run a script containing OpenSim console commands on region shutdown (r7662).
- sdague changed the default scripting engine to be XEngine instead of DotNetEngine. In the past half a year, XEngine has received more development attention and appears to have better performance (r7678).
- Diva contributed a patch that may fix some of the current teleport issues (notably issues on an A -> B -> A teleport sequence). This patch upgrades the protocol version from v1 to v2. OpenSim regions will need to upgrade before they can connect to region servers running this revision (r7707).
Infrastructure
- justincc worked on user profile cache and inventory related tests.
- MW started on work to move the current Second Life protocol specific file transfer code into the LLClientStack.
This Week in Open Sim Development Week Ending Saturday Dec. 6th 2008
This week in OpenSim ( r7547 – r7632 )
General news
- At the time of this post we are running version 7601
Features & bug fixes
- idb improved the avatar height calculation in the Basic Physics and Physics Of Simplicity physics engines (r7557).
- MW stopped it being possible to bring down a grid server merely by sending it corrupt XML data (r7562).
- justincc resolved problems persisting some prims in the database by stopping storage or retrieval of the parent local ID field, which was unused anyway (r7586).
- mpallari contributed an update to the make the NHibernate database backend option useable. This now means that OpenSim requires an extra dependency on Linux systems, otherwise it will complain about a missing System.Data.Oracle namespace on startup. See this wiki page for more details (r7604).
- Godfrey contributed a patch to fix llTriggerSound() (r7589).
- Melanie fixed a bug where no copy objects would be lost if attached (r7608).
- Melanie fixed a bug where scripts were not stopped if they were removed from a prim’s inventory (r7611).
- idb implemented the llDetectedTouchBinormal(), llDetectedTouchFace(), llDetectedTouchNormal(), llDetectedTouchPos(), llDetectedTouchST(), llDetectedTouchUV() (r7621).
- Melanie added code to enable region crossing for scripts such that they will stay active in the new region. For this to work, both source and destination must be configured to allow script crossing. See the AllowScriptCrossing and TrustBinaries settings in OpenSim.ini.example (r7624).
Infrastructure
- Melanie added extra hooks in the Permissions module.
- Sean, Melanie and Diva worked on region crossing and teleporting issues (e.g. no texture downloading when a region is re-entered from another region).
Open Sim Development Week Ending Saturday Nov. 29, 2008
This week in OpenSim ( r7439 – r7546) development
General news
- At the time of this post we are running r7543
Features & bug fixes
- Melanie made the link order of a linkset persist over server restarts (r7474).
- justincc made a change such that on a border crossing, a flying avatar should now no longer sometimes shift back to a standing position in midair. However, the flicker and slowdown of the avatar on the region crossing still remains – I believe these are separate problems (r7487).
- nlin contributed a patch that implements autopilot (r7495).
- Melanie worked on improving attachments behaviour (r7542).
- Diva contributed a patch that significantly improves teleporting (r7541).
Infrastructure
- Melanie worked on improving presence notifications in the face of region restarts or crashes.
- Homer continued work on improving Friends/Presence handling.
- justincc started work on extracting inventory code to separate classes from the scene presence.
- justincc continued work on unit test infrastructure for scene object testing.
Open Sim Development Week Ending November 24th 2008
This week in OpenSim ( r7318 – r7438 )
Features & bug fixes
- Homer fixed a client session crashing bug which occurred if one’s home region was unavailable when teleporting to home (r7335).
- justincc stopped the root and child prims of an object being set to null when the a scene object is deleted. Doing this meant that lots of null checks had to be inserted in the code to prevent a race condition. Stopping this happening may prevent some crashes. Thanks to Melanie for fixing a regression I accidentally introduced while doing this (any future re-regression of this is now prevented by a unit test) (r7415).
- justincc added a permissions option (allowed_script_editors) to OpenSim.ini that allows one to stop anybody except administrators/gods from editing scripts. In conjunction with allowed_script_creators from last week, this may be enough to prevent non-administrators in a standalone/private closed grid from introducing arbitrary script code (though they can still run scripts that are available in the library or their inventory) (r7363).
- nlin contributed a patch that implements llCollisionSound() (r7392).
- Chris Yeoh contributed a patch that fixes a regression where scripts in child prims froze after being unlinked (r7398).
- Melanie added the ability to select objects by owner. I believe this can be done from the Objects tab of the About Land dialog in the Linden client (r7410).
- Melanie fully implemented object return (again accessible from the Objects tab) (r7311).
Infrastructure
- Dahlia continued work on the meshmerizer.
- Melanie started refactoring the Instant Messaging (IM) module.
- Homer worked on improving Friends handling.
- Melanie separated out a message transfer module from the general IM module.
- justincc updated libOMV and libopenjpeg to those in the libOMV repository as of their r2359 for jhurliman’s progressive texture delivery patch. Unfortunately, despite many people’s best efforts the patch is not useable (jhurliman himself documents the reasons for this in Mantis 2655).
- arthursv contributed a database layer unit test.
- justincc started work on scene presence/root agent/avatar oriented tests.
- justincc continued work on unit test infrastructure for scene object testing.
- justincc started work on extracting inventory code from Scene classes into their own classes. This work will probably be done slowly over a considerable period.
- Melanie continued work on infrastructure code for a more complete implementation of Second Life groups for OpenSim.
Open Sim Development Week Ending November 15, 2008
The first section – “Features and bug fixes”, contains prominent new functionality and bug fixes visible to users of OpenSim. The numbers in brackets in this section are the final svn revision numbers in which the work was completed for this week. This is right at the cutting edge so there is no guarantee that this functionality is stable.
The second section contains information about the infrastructure changes happening within the project. This is going to be a little more impressionistic than the features/bug fixes list, but hopefully it will give a picture of how OpenSim is evolving from week to week.
This week in OpenSim ( r7203 – r7317 )
General news
- OpenSim 0.6 (r7176) was officially released. Downloads can be found on the Opensimulator website. As well as binary packages there is a Windows installer and a Debian package available.
- This week, Teravus discovered that we were enabling non LSL script compilers (C#, Visual Basic, Javascript) by default. These languages can currently only be enabled if you trust all script writers, since they have access to system functions (unlike LSL). I highly recommend that you go through your OpenSim.ini file and make sure that you have only
allowedCompilers = lslset in both the [ScriptEngine.DotNetEngine] and [XEngine] sections.
- If you are following trunk, then regions regions older than r7306 will not be able to connect to grid services of r7306 or newer until the region server is updated to this later revision.
Features & bug fixes
- idb contributed a patch that improves avatar height calculation. This was then further improved by Melanie. Hopefully, this will mean that avatars will now tend to stand on the ground again, rather than sometimes being ankle deep in it (r7286).
- Melanie fixed an issue where unnecessary object updates were being sent for attachments that an avatar was wearing. This should reduce network traffic somewhat (r7219).
- Melanie made a change to prevent animation overrides from crashing a sim if the user logs out before the ao script stops (r7221).
- Christopher Yeoh contributed a patch tha prevents sim freezes from occuring if many objects call llDie() at the same time under the XEngine scripting engine (r7223).
- Melanie fixed a regression where avatars would have trouble crossing region boundaries because they had a local id in a range that they didn’t expect (r7239).
- Teravus implemented the ability to download and upload .raw terrains from the Second Life client estate tools (r7297).
- Melanie added a ClampPrimSize option to OpenSim.ini. If this option is on for a region, then any prim that crosses in that exceeds the region’s maximum prim size settings is automatically shrunk (r7260).
- Justincc implemented a very basic system for preventing out of date regions from connecting to a grid service. Under this system a developer increments an interface version number (unrelated to the OpenSim version number) if they have made an imcompatible change. Only regions with the same interface number as the grid service are allowed to connect (r7252).
- Melanie made a fix to prevent pieces from other people’s HUDs from displaying at the center of ever user’s HUD (r7257).
- Teravus updated OpenSim.ini.example settings and OpenSim’s defaults to prevent C#, Visual Basic and Javascript scripts from compiling by default. This is because these scripts are able to get access to system functions such as System.IO.File at the moment. LSL scripts do not suffer from this issue (r7262).
- jusntincc made a change that stops a significant lock being held for a large part of the agent crossing sequence. This may reduce the short freezes that happen for existing clients when somebody logs in, teleports in or crosses into the region (r7266).
- idb contributed a patch that if OpenSim receives a shutdown command, objects yet to be persisted are actually persisted before OpenSim exits (r7274).
- Alan Webb contributed a patch that may resolve a lost clothing issue on region servers containing more than one region (r7284).
- Christopher Yeoh contributed a patch that allows llAllowInventoryDrop() to work properly with the permissions module enabled (r7302).
- Melanie fixed an issue where attachments that had been dropped would still get removed when the avatar logged out (r7298).
- Melanie added support for group permissions in user inventory. This revision of OpenSim will not be able to interact with servers running older versions (though, of course, all data should migrate smoothly). StrawberryFride also contributed a patch to support this in the MSSQL database as well as MySQL and SQLite (r7306).
- idb contributed a patch that means that objects that change quite often are not persisted to the database after every single change, though they are guaranteed to still be persisted at regular intervals. There are some user configurable values to control this in OpenSim.ini, though the defaults should be fine (r7315).
- Following on from idb’s last patch, physical objects are now persisted to the database (before they were never saved) (r7315).
- Homer fixed llSetRot() behaviour to better match Second Life behaviour (r7316).
Infrastructure
- Adam changed the AssetCache to persist fetched assets temporarily by using the GlynnTucker.Cache. This will somewhat reduce the load on an asset server if OpenSim is running in grid mode.
- Melanie continued writing infrastructure code for region crossing scripts.
- Sean continued work on database layer oriented unit tests.
- justincc continued work on unit test infrastructure for scene testing. arthursv also contribute a scene test.
- Melanie started to revamp the inventory transfer module.
- justincc started on permissions options to prevent non-administrators/gods from creating, copying or editing scripts (though all users can still run them). This is to allow applications using OpenSim to control the type of scripts that can be run.
- Melanie continued work on infrastructure code for a more complete implementation of Second Life groups for OpenSim.
Open Sim Development Week Ending Saturday November 8th 2008
Hello everybody. This is a short summary of OpenSim development for the past week up until the end of last Saturday, as culled from our source code repository logs. After any general news there are two sections. The first section – “Features and bug fixes”, contains prominent new functionality and bug fixes visible to users of OpenSim. The numbers in brackets in this section are the final svn revision numbers in which the work was completed for this week. This is right at the cutting edge so there is no guarantee that this functionality is stable.
The second section contains information about the infrastructure changes happening within the project. This is going to be a little more impressionistic than the features/bug fixes list, but hopefully it will give a picture of how OpenSim is evolving from week to week.
This week in OpenSim ( r7057 – r7202 )
General news
- r7176 was tagged as the base for the 0.6 OpenSimulator release. An official announcement and binaries on the OpenSimulator website should follow in due course. If you need a stable revision you may well want to stick with this for the coming week, as fairly significant code changes are being made in OpenSim immediately after this tag.
Features & bug fixes
- Melanie made a change that may allow inventory items to be given to users that are not in the immediate vincinity or are offline (r7058).
- Homer improved the closing down of child agents on teleport (r7073).
- Rob Smart contributed a patch that implements osMessageObject(). This function allows an object to message another object with a known UUID through the LSL dataserver event (r7096).
- justincc exposed a client_throttle_multipler setting in OpenSim.ini, and set the default to x2 rather than x8 (it was effectively x8 before). This means that if the client has a throttle setting of, say, 250 kilobits per second, then OpenSim will actually send down data at 500 kilobits per second. This may improve performance in regions with high avatar numbers, though many other unrelated performance issues remain. This change should also reduce the incidence of terrain ‘craters’ and invisible objects (which are both a result of packets being dropped due to an overloaded link). If you still experience these symptoms you may want to try decreasing the multipler further. If you want ultra-fast texture downloads you may want to try increasing the multipler. A better solution for all this would be to allow higher network settings in Second Life environment clients (r7118).
- Sean added an e-mail field for users in the SQLite and MySQL database adapters. StrawberryFride then contributed a patch to also added this to MSSQL (r7105).
- StrawberryFride patches that implemented llGetAnimation() (r7109).
- Thomas contributed a patch that attempt to fix problems with creating avatar attachment records when first attaching objects (r7121).
- Thomas contributed a patch that addresses problems with incorrect attachment offsets (r7121).
- Christopher Yeoh contributed a patch that implements an osMakeNotecard() function, subseqently improved by Melanie. This function allows a new notecard to be created in the prim’s inventory containing a list of strings (r7124).
- Homer fixed bugs in llTeleportAgentHome() and osTeleportAgent() (r7139).
- idb contributed a patch that fixes the jump function in LSL (r7146).
- idb contributed a patch that fixes problems with setting the physics, tempory and phantom prim attributes (r7156).
- Homer added better locking to the land management module (this handles parcels in OpenSim). This may fix occasional, hard-to-reproduce parcel related bugs (r7182).
- idb contributed a patch that properly persists prim attribute changes (e.g. phantom) in the database (r7193).
- Adam Frisby made a change such that packet queues are cleared when a client connection is terminated. This may resolve a memory leak where agents were closed that still had many packets in their queues (texture packets would be a major culprit here) (r7197).
- idb contributed a patch that implements PRIM_TEMP_ON_REZ and PRIM_MATERIAL in llSetPrimitiveParams() (r7199).
Infrastructure
- Homer worked on friends interoperability between the 1.20 and 1.21 Linden Labs Second Life viewers on OpenSim.
- diva contributed patches that make it easier to implement alternative grid schemes, such as the Hypergrid.
- Dr Scofield and Alan Webb worked on refactoring the IRC module. The new code also has a number of improvements, such as the ability to send chat in different regions to different IRC channels. More details in the documentation.
- Sean continued work on database layer oriented unit tests.
- justincc continued work on Second Life UDP session stack unit tests.
- justncc continued work on unit test infrastructure for scene testing.
- justincc made various stability improvements by not allowing exceptions on various threads to terminate the program. In principle this may stop some functionality working but allow other activities to carry on before the server is rebooted (e.g. a crash of a texture serving thread would stop clients receiving new textures, but would allow existing clients to continue chatting).
- Dahlia continued work on the meshmerizer.
- MW moved OpenSim configuration fields (those that don’t go to their own modules) to a separate ConfigSettings class.
- Melanie started writing infrastructure code for region crossing scripts.
- Adam started decomposing the massive IClientAPI class which contains all the signatures for methods that deal with the client protocol (send chat packet, receive object select packet, etc) into separate interfaces. This will make it much easier to implement alternative clients and virtual world protocols in the future.
- Tedd continued work on the Script Engine Component System. More details at his blog.
-
Archives
- December 2009 (1)
- December 2008 (4)
- November 2008 (3)
-
Categories
-
RSS
Entries RSS
Comments RSS


