- Home
- QuickLinks
- HyperGrid Networks
- Primary
Primary
OpenSim v0.7.x

The Primary HyperGrid Network consists of many of the largest OpenSim grids as well as many smaller, personal grids. The destinations on this Network are running the more recent OpenSim revisions providing the very latest features that OpenSim has to offer.
- Primary
- Grids
- Primary
Grids on the Primary Network
{gatesByGrid_gridName_bellona}
{/gatesByGrid_gridName_bellona}
- Primary
- Media
- Downloads
- Register
- Support
- Contact
justincc.org
This week in OpenSim Dev – week ending 12th May 2012
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.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( b60f51d – 9d66792 ).
General news- None this week
- Melanie from Avination fixed a bug where updating an object position would send out updates for all its prims rather than just the root prim. This should improve the network efficiency of such operations, whether they come from a user or from script commands such as llSetPos() (b60f51d).
- I fixed a bug where friends online/offline status was often not properly updated on the viewer (cd497ab).
- I fixed a bug where the osGetGridNick(), osGetGridName(), osGetGridLoginURI() and osGetGridCustom() OSSL functions would not work on standalone simulators because they were attempting to read from a [GridInfo] section rather than [GridInfoService] (a82dc26).
- I fixed a possible race condition where link ordering could be screwed up if linking/delinking and object duplication (by shift-copy on the region) were done in very quick succession over a low quality network link between the viewer and the simulator (abbd050).
- Talun contributed a patch to fix same region teleport of a sitting avatar. The avatar now correctly stands up and can move once it reaches the target co-ordinates (c21c9e1).
- Talun contributed a patch to implement llGetAgentList() (61e99bcd).
- I improved escaping and unescaping of XML element names for communication between the simulator and services and between services. This allows one to now use AvatarService over the network, which wasn’t possible before due to escaping issues (e813f41).
- Mic Bowman from ScienceSim improved the speed of saving estate data. Since this is down every time a region starts up this may improve startup time for simulators with an extremely large number of regions (though it isn’t generally a good idea to do this in OpenSimulator due to performance and stability issues) (de44734).
- No news this week.
Categories: OpenSim News
This week in OpenSim Dev – week ending 5th May 2012
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.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 522eff6 – c11b376 ).
General news- None this week
- TBG Renfold contributed a patch to implement llGenerateKey() (9c2a73b).
- Snoopy Pfeffer of Dreamland Metaverse fixed a bug where using PRIM_BUMP_SHINY in llSetLinkPrimitiveParams() generated a runtime error (100e4ca).
- On teleport, I reduced the delay before the user agent in the source region is closed after the teleport is approved by the destination region down to 2000ms from 5000ms. This eliminates a bug where the client would be closed if the user teleported back to the source region within 5 seconds. However, there still needs to be some delay since some viewers (e.g. Imprudence) take a couple of hundred milliseconds to register the client’s presence in the new region (fcd5b08).
- I extended ‘slow’ request logging to other simulator outbound network comms (to grid services and other simulators). This is to help identify simulator issues which occur because of degraded network conditions (6096a1f).
- Gudule Lapointe of Speculoos and Olivier Van Helden contributed a patch so that viewers are sent Daylight Savings Time (true or false) for US Pacific Time by default. Oddly, the viewer doesn’t accept any other time information such as the actual zone. So as viewers DST to always related to US Pacific DST, this is the correct information to send for now. If you want the old behaviour (where DST was set depending on the local timezone of the login server) then please set DSTZone = local in the [LoginService] section (cccef2e).
- Talun contributed a patch to fix problems with damage and llSetDamage(). This deletes any objects which hit an avatar where llSetDamage() has been set, stops gods receiving damage, stops volume detect causing damage, deletes NPCs when their health falls to zero, gradually heals damage to an avatar, resets health when an avatar goes to a non-damage area and allows damage on parcels set to safe if the region as a whole is set to damage enabled. See Mantis 6004 for more details (92fde6e).
- I made a change so that OpenSimulator no longer tries to update the access time of a file that is still being cached by another thread. This may reduce IOErrors on Windows when loading OpenSim Archives (OARs) or Inventory Archives (IARs) (dec6ad2).
- I fixed a bug so that the changed scripting event is now properly fired with CHANGED_OWNER when a an object that has changed owners is rezzed (01b00ad).
- No news this week.
Categories: OpenSim News
This week in OpenSim Dev – week ending 28th April 2012
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.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 8205fe7 – 8380166 ).
General news- None this week
- Talun contributed a patch to improve llRegionSayTo() so that text can’t be sent on the DEBUG_CHANNEL, text is properly sent to the target avatar and text can be sent to an object on channel 0 (679da63).
- I added osForceAttachToAvatar() and osForceDetachFromAvatar() OSSL script functions. These behave identically to llAttachToAvatar() and llDetachFromAvatar() except that they do not require the user to have granted PERMISSION_ATTACH. These functions are intended for use in completely controlled dedicated environments where the checks hinder more than help (40e37d8).
- Melanie of Avination corrected llCreateLink() to link alternate prims from each object rather than all the prims in object 1 followed by all the prims in object 2. See Mantis 5990 for more details (8855eb).
- Talun contributed a patch to add an overload of osNpcSay() that allows a channel to be specified and implementations of osNpcShout() and osNpcWhisper() (b8114d2).
- Oren Hurvitz of Kitely contributed a patch so that if the contents of a created OpenSim Archive (OAR) are being restricted based on object permissions, objects created by the estate owner are exported no matter what their permissions (ee13d81).
- Diva improved the map service so that only regions registered for a given map co-ordinate can upload map images for that co-ordinate (9bc94c5).
- Stefan_Boom contributed a patch to fix LSL sensors in child prims so that they correctly rotate when the root prim rotates (b35a1d5).
- Oren Hurvitz of Kitely contributed a patch to improve compression of OARs and IARs when saved in Windows. This will have no impact on saved sizes under Mono (db566fb).
- Oren Hurvitz of Kitely contributed a patch to get custom walking animations to properly stop when the avatar stops walking. This was a regression in OpenSimulator 0.7.3 and 0.7.3.1 (fe8e835).
- No news this week.
Categories: OpenSim News
This week in OpenSim Dev – week ending 21st April 2012
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.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( f213f55 – ae2b8f7 ).
General news- None this week
- I fixed a bug in the WebStats client statistics module where a non-fatal exception would be thrown when the client tried to send updated statistics if the user has teleported to another region on that simulator (f213f55).
- Talun contributed a patch to stop an exception being thrown if llGetObjectMass() was called for a seated avatar (5655239).
- Mic Bowman added a region module that provides a structured JSON data store. This can be used by region modules or scripts – in the latter case scripts on the same simulator can share data between themselves and outside sources as long as they have the UUID for that data store (8489193).
- Melanie fixed a bug so that an assembly resolver is no longer added for every script that’s loaded by the script engine into the same AppDomain. This improves startup times on regions with lots of scripts and improves script startup where avatars with scripted attachments are moving in and out of regions (beb7b8d).
- I fixed a bug where a relatively short avatar offering a teleport to a relatively tall avatar (luring) would teleport the target avatar to a position where it could drop through a thin floor (2b98e2f).
- Garmin Kawaguichi contributed a patch to fix a bug where files opened to load terrain data were not explicitly closed when they were no longer needed. On Windows this was leading to occasional IOExceptions due to locked files. I later made other code changes to resolve this problem in other areas (c8e07cdf).
- I fixed a bug where moving a physical object once (e.g. sliding it along an axis) would see the object snap back to its original position when deselected. This resolves Mantis 5966 (566327a).
- I fixed a bug where linking a non-physical prim with a physical prim as root would make the non-physical prim phantom rather than part of the physics object. On a more general level, the expected behaviour in this cases is that the child prims in a new linkset take on the properties of the root prim. Other bugs remain in operating on child prims in a physical linkset (e.g. resizing, moving) (9ac48b2).
- No news this week.
Categories: OpenSim News
This week in OpenSim Dev – week ending 14th April 2012
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.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 0f277df – 2c74e1b ).
General news- None this week
- Talun contributed a patch to implement OBJECT_RUNNING_SCRIPT_COUNT, OBJECT_TOTAL_SCRIPT_COUNT and OBJECT_SCRIPT_TIME in llGetObjectDetails(). He also implemented suitable dummy values for OBJECT_SCRIPT_MEMORY, OBJECT_SERVER_COST, OBJECT_STREAMING_COST and OBJECT_PHYSICS_COST (08e5099).
- Talun contributed a patch to implement llGetMemoryLimit(), llSetMemoryLimit(), llGetSPMaxMemory(), llGetUsedMemory() and llScriptProfiler(). These return values and behave in a similar manner to LSO scripts on the Linden Lab grid (4d652c7).
- Snoopy added osSetTerrainTexture() and osSetTerrainHeight() OSSL script functions (78fd487).
- I removed the hard-coded god requirement from osSetRegionWaterHeight(), osSetRegionSunSettings() and osSetEstateSunSettings() as these can now be controlled through OSSL script permissions config. If you were relying on the hard-coded setting (very unlikely) then you must adjust your OSSL script permissions. Thanks to Oren Hurvitz for pointing out this issue (ab7c0e7).
- Kevin Cozens contributed a patch to allow specific inventory items or folders to be excluded when saving an inventory archive (IAR). This feature needs further refinement and wiki documentation (a366c05).
- No news this week.
Categories: OpenSim News
These two weeks in OpenSim Dev – week ending 8th April 2012
Hello everybody. This is a summary of the last two 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.3.1 (released on March 30th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( cb44808 – d4a370a ).
General news- OpenSimulator 0.7.3.1 was released. This is a minor point release so the focus is on a few bug fixes, in particular a fix to an NPC attachments regression when using osNpcLoadAppearance(). However, there are also a few small new features, such as a config option to prevent Hypergrid foreigners (users coming from other grids) from entering certain regions. This release is taken from the 0.7.3-post-fixes line and so doesn’t contain the development changes listed here unless otherwise stated.
- Robert Adams updated the BulletSim physics library builds to the latest Bullet + some OpenSimulator patches. This also means that the libraries should work again on Linux (4138880).
- Robert Adams fixed avatar animations when using the BulletSim physics plugin (872d513).
- Snoopy implemented the ability to restrict Hypergrid teleports, asset uploads, group creation and IM from other grids depending on user level (7223b63).
- Snoopy implemented group-based access restrictions for land parcels. Due to caching there can be a delay of up to 30 seconds for scripted objects if the owner is not present (67537f3).
- Snoopy implemented osInviteToGroup and osEjectFromGroup OSSL group scripting functions. These allow a script to invite/eject users to/from the group that the prim belongs to (19837ff).
- I enabled voice by default on new parcels. This avoids a viewer bug where the viewer will continually request a voice channel on voice-disabled parcels. Enabling voice only has an effect if the simulator in general is set up to use a voice service, otherwise the setting is correctly ignored. This change was also in OpenSimulator 0.7.3.1 (874bf1f).
- Melanie contributed support from calling cards from Avination (c52ff5c).
- Pixel contributed a patch to properly inform the viewer if their attempt to build fails because they are in a no-rez zone (69fc8c4).
- I fixed llRegionSayTo() to work properly on the public chat channel (387d7fd).
- I fixed llGetMass() so the total mass of the linkset is returned if executed by a script in the root prim (627efc1).
- I fixed llGetMass() to return the avatar’s mass if the linkset is acting as an attachment (f2903db).
- Talun contributed a patch to return dummy values for some missing constants (e.g. OBJECT_TOTAL_SCRIPT_COUNT, OBJECT_STREAMING_COST) in llGetObjectDetails(). Implementations of some of these (e.g. OBJECT_TOTAL_SCRIPT_COUNT) to follow (c3a8c00).
- I fixed llGetLinkPrimParams() to work for PRIM_POS_LOCAL. This also fixes llGetLocalPos() (3af1cd6).
- I implemented PRIM_POS_LOCAL in llSetPrimitiveParams() and other similar prim param LSL functions. This acts identically to PRIM_POSITION (33e91f1).
- Diva started working on version 2.0 of the Hypergrid. This includes better security for a user’s inventory when visiting foreign grids and asset export control. This is not currently active and probably won’t be until the summer.
Categories: OpenSim News
OpenSimulator 0.7.3.1 released
Hi folks. Just a quick note to say that OpenSimulator 0.7.3.1 has just been released. This is a minor point release from OpenSimulator 0.7.3 so it’s mainly a few minor bug fixes and a fix for a regression where osNpcLoadAppearance() stopped rezzing NPC attachments. However, three are also a few new small features, such as the ability to stop foreigners from visiting certain regions on a multi-region simulator that has Hypergrid enabled.
Please see the release notes for more details.
As always, many thanks to everyone who contributed to this release and to OpenSimulator in general, whether with code, testing, documenting, different distributions (e.g. osgrid, Diva, Sim-On-A-Stick) or helping people with all the questions involved in using this complex piece of software!
Categories: OpenSim News
This week in OpenSim Dev – week ending 24th March 2012
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.3 (released on Feb 29th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( ab54ce1 – a14437a ).
General news- None this week.
- I made a correction to development code where the experimental de-duplicating asset service could be picked up accidentally without explicit configuration. This has been an issue in master development code only for the part two weeks. Thanks to Diva for the initial fix (ab54ce1).
- I fixed a rare race condition where the simulator could crash if a simulator was running more than one region and both tried to update the internal mesh dictionary at the same time (1c0f3a1).
- Nebadon adjusted avatar jumping from 5 meters to 3 meters in order to better match what people are used to seeing elsewhere (bd1f848).
- Diva added the ability to establish friendships over the Hypergrid without requiring both users to be in the same simulator. You can do this by searching for names in the form “first.last@grid.com:<port-number>” (e.g. justin.clark-casey@example.com:9000). Friendship requests are stored if the target user is offline. This has only been tested on standalone configuration so far (df624c1).
- Robert Adams updated the Bulletsim OpenSimulator physics module. However, there are still issues running it on 64-bit mono (6c50442).
- Robert Adams tweaked default avatar friction and restitution on Bulletsim and added them as runtime settable parameters (ff54b3c).
- Diva and Melanie added a new simple_build_permissions config parameter to the OpenSim.ini.example file. This allows you to restrict building rights in parcels to only the avatars on the access list. See OpenSim.ini.example for more information. Default is false (25e5b6a).
- I fixed llAllowInventoryDrop() (760010d).
- I added an experimental SendPeriodicAppearanceUpdates setting to the [Startup] section of OpenSimDefaults.ini. If this is set to true, then avatar appearance updates are sent out at regular intervals rather than just when the user enters a region or rebakes. This is to tackle the remaining grey avatar issues. However, it won’t help with cloudy avatars which are due to different appearance rebake or upload problems, either originating on the server or in the viewer itself. Default is currently false whilst this is being tested (d4beb2f).
- Nebadon fixed an issue where OpenSimulator would not compile with the mono 2.11.0 alpha release. However, it still won’t run – OpenSimulator crashes shortly after startup with this mono alpha release (6b87a29).
- I changed the help system so that help on topics (which are seen which a single invocation of “help”) now work in both upper and lowercase, which is much less annoying. Thanks to Whitestar for this suggestion (4f17537).
- Mic added support for key, vector, rotation and list times to the feature that allows you to define new script functions in region modules without having to patch OpenSimulator code code. See the wiki for more details (a14437a).
- I added a separate scene maintenance thread from the main scene loop thread. The idea here is to simplify the main scene loop by moving out activities that are not time critical and don’t depend on the order of scene updates. At the moment, the only operation that has been moved is the one that updates avatar positions on the mini-map. Move operations will be moved over time.
Categories: OpenSim News
This week in OpenSim Dev – week ending 17th March 2012
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.3 (released on Feb 29th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 13fb582 – d125653 ).
General news- None this week.
- Robert Adams fixed a very recent development code bug with running OpenSimulator on .NET 4.0 (e0dd38f).
- Diva added the ability to obfuscate the data provider URLs (used to gather data for search) (4eb2605).
- Diva stopped repeated teleport requests from starting and causing problems before the first one had succeeded (479dd65).
- I alleviated an issue where multiple scripts in a linkset where llDie() had been called could occasionally freeze the simulator (2f81e53).
- Diva worked around a viewer bug concerning SLURLs and version 3 Linden Lab viewers and derivatives. It appears that SLURLs of the form secondlife://ucigrid00.nacs.uci.edu|8002/128/128 work in viewer chat but not as SLURLs in the built-in web-browser. A hacked SLURL of the form secondlife://http|!!grid.sciencesim.com!grid!hypergrid.php+Yellowstone01+74/128/128, where all slashes after the initial two in the gatekeeper address have been replaced by ! and all slashes in the region section have been replaced by + will work in both chat and the built-in web-browser (18d1d6d).
- I changed the “Top Scripts” report to use script execution time scaled by an idealised frame time rather than a lines per second count. We have to do it this way because the OpenSimulator XEngine scripting engine doesn’t execute scripts within the frame loop. So this is not a completely accurate number but it’s a good enough approximation to better determine which scripts are taking up a lot of processing time, at least relative to one another (8550a4a).
- I fixed the owner display in the “Top Colliders” and “Top Scripts” reports (7df4a54).
- I allowed startup, shutdown and other ad-hoc region console command scripts to contain comments starting with ; # or // (aa881e8).
- Diva added the beginnings of an ability to set a different default terrain for newly created regions. At the moment, only a flat land at 21 meters and the traditional “pinhead island” are available. Eventually it would be good to load this terrain from a file. The “pinhead island” is still the current default on an OpenSimulator installation (a2009ff).
- MarcelEdward and GuduleLapointe contributed an osGetInventoryDesc() scripting command to return a prim inventory item’s description (4a57112).
- Diva added the ability to disallow Hypergrid foreigners from entering a region and/or disallowing residents from entering a region (admins and managers only). This is implemented at the simulator level of both standalone and grid configurations. It can only be set at simulator start and is controlled in the [AuthorizationService] section of StandaloneCommon.ini or StandaloneHypergrid.ini. See the corresponding example files for more information (33c14cb).
- Mic Bowman started work on making it possible to add completely new script functions in region modules without having to patch the core OpenSimulator code.
Categories: OpenSim News
This week in OpenSim Dev – week ending 10th March 2012
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.3 (released on Feb 29th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 94b323d – 824eb7e ).
General news- None this week.
- Chris Hart of Reactiongrid contributed a patch to update the MSSQL OpenSimulator database plugin to match MySQL. This includes telehub support, friends lookup bug fixes and creator field updates (413bc1e7).
- I fixed a bug where the line number reporting in script errors was always off by one (81598a4).
- I added counts of sensor, dataserver requests, timer and listener counts to the “xengine status” region console command for script engine information (98251cd).
- I altered the console help system so that typing “help” shows the command categories (Regions, Scripts, Users, etc.) rather than all the commands at once. Subsequently typing “help <category>” (e.g. help Regions) shows all the commands in that category (dfd0e14).
- Diva made a few changes to try and improve inventory transfers over the HyperGrid (a58152bd).
- satguru srivastava contributed a patch to allow NPCs to play the animations that come with the viewer (35f2479).
- Mic added a patch to serialize web requests to a particular host in a subset of calls. This is to see if such a change improves network performance (7b8e9d8).
- Fernando Oliveira contributed a patch to allow a default estate to be used when creating new regions, rather than always asking the user for these details. This is set in OpenSim.ini (see the new [Estates] section in OpenSim.ini.example for more details (d6ebf2d).
- I made a change to fetch assets required by OpenSim Archive (OAR) saving serially rather than concurrently and asynchronously. This may improve reliability of OAR saving (6e26f17).
- Diva added an osGetGridGatekeeperURI() OSSL function to return the Hypergrid gatekeeper of the current grid (if there is one). This is the first component of any Hypergrid address, for example the hg.osgrid.org:80 part of hg.osgrid.org:80:<region-name> (824eb7e).
- BlueWall continued with work to make it possible to use the newer web profiles with OpenSimulator.
- I merged in work on a ROBUST asset service that will automatically do asset de-duplication. This means that identical textures, scripts, etc. will only have one copy stored in the database – at the moment multiple copies can be stored in some circumstances. This works but I still regard it as experimental. Eventually it will become the default asset service. More details are in the wiki proposal.
- I continued work on basic performance oriented tests, concentrating on making sure objects can be quickly cleaned up between different test invocations.
Categories: OpenSim News
This week in OpenSim Dev – week ending 3rd March 2012
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.3 (released on Feb 29th 2012).
The letters and numbers in brackets after some entries tell you the latest git commit to which they apply.
This week in OpenSim ( 4268427 – 98ad6ed ).
General news- OpenSimulator 0.7.3 was released! Downloads at the usual place and release notes on the wiki. This release contains all the features, bug fixes and infrastructure changes detailed in all the weekly blog posts since the 0.7.2 release (plus many more under-the-hood changes that don’t directly affect users). This and future blog posts now list the changes that are going into the development stream for the next release, though some of these will be backported to the 0.7.3-post-fixes branch in OpenSimulator’s git repository. Many, many thanks to all the testers, developers and helpers in the OpenSimulator community – none of this would be possible without you.
- I fixed inconsistent reading and writing of the sandbox region parameter to persistent data storage (40c8388).
- Plugh contributed a patch to fix llSetText() when the script attempt to set a string longer than 255 characters. Thanks also to zadark and smxy for the fixing help (a2b0ed5).
- Mic Bowman added an OSSL command for regular expression-based string replacement. The signature is osReplaceString(string source, string pattern, string replace, integer count, integer start). The count parameter specifies the total number of replacements to make where -1 makes all possible replacements (8a375f3c).
- I stopped threads potentially stepping on each other when a new sensor was added from rezzing a script with existing state. This might help with errors associated with rezzing such scripts when many sensors are in operation though this is not certain (d8c4985).
- tglion contributed a patch so that whether a script receives events is determined by the position of its root prim rather than the prim that the script is in. This fixes resetting of scripts in child prims that are outside a region’s boundaries (089fd61).
- No news this week.
Categories: OpenSim News
OpenSimulator 0.7.3 released
Hi folks. Today sees the release of OpenSimulator 0.7.3, the open-source multi-platform 3D virtual environment server platform. Despite having a minor point release number, it actually contains a very large number of features and fixes, including support for running in Windows as a 64-bit process, Hypergrid improvements, avatar movement improvements, ODE crash fixes, prim manipulation improvements, etc. Please see the OpenSimulator 0.7.3 release notes for all the gory details.
As always, OpenSimulator is still at alpha level code quality, so please expect breakages, inconsistencies and difficulties – and be pleasantly surprised when they don’t occur. Running your own streaming multi-user 3D environment ain’t easy but it can be done .
Many, many thanks to all the testers and developers who contributed to this release. Without you none of this would be possible.
Categories: OpenSim News
This week in OpenSim Dev – week ending Saturday 25th February 2012
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 ( a114367 – 142f8a4 ).
General news- The second release candidate (rc2) for OpenSimulator 0.7.3 is now available. This includes all OpenSimulator development code changes up until commit 7b5e42c (Fri Feb 24 2012) below. Please report any major regressions compared to previous versions. As in the past, only major regressions are guaranteed to be dealt with in some way (where that way can be wontfix).
- Pixel Tomsen contributed a patch to fix omega persistence in child prims of a linkset (a114367).
- Pixel Tomsen contributed a patch to fix the persistence of fly settings on parcels (d227151).
- Diva continued her work to improve avatar movement in situations where neighbouring regions are being run on different machines (4a32909).
- I removed the old PhysXPlugin physics plugin that was never any more than an empty shell. You might need to run “nant clean” or delete the contents of bin/Physics (apart from the OpenSim.Region.PhysicsBulletSPlugin.dll.config file) to get a clean startup if you are updating OpenSimulator directly from the git repository (19d271d).
- I fixed a bug where NPCs could establish child agents on neighbour regions that came up after the NPC was created (90d5f47).
- I added a 64-bit Windows SQLite DLL and changed the code so that the correct 32-bit or 64-bit SQLite library is loaded automatically on Windows. Along with last weeks ODE additions, this should mean that Windows users can run OpenSimulator as a 64-bit process using OpenSim.exe (giving it access to more than 2GB of memory) instead of using OpenSim.32BitLaunch.exe. However, bugs might remain (f034958).
- I fixed a bug where inventory items could not be dragged from a child prim in a linkset into a user’s inventory. This was inspired by an earlier patch from Pixel Tomsen (cd9b3e7).
- Pixel Tomsen contributed a patch to fix the LINK_ROOT flag in llGetLinkName() when it’s used with an unlinked prim (1c533eb).
- Melanie added a position parameter to objects crossing regions so that they don’t occasionally appear for a few frames at the opposite end of the origin sim. This should be backward compatible with earlier OpenSimulator code (4a5f9fe).
- I resolved some problems with avatars getting stuck on banlines after they hit them. However, other problems remain (90ea00a).
- Pixel Tomsen contributed an implementation of llLinkSitTarget() (0b9f4d7).
- Pixel Tomsen contributed implementations of llGetLinkMedia(), llSetLinkMedia(), llClearLinkMedia() (7b5e42c).
- Pixel Tomsen contributed a patch to fix PRIM_SCULPT_FLAG_MIRROR and PRIM_SCULPT_FLAG_INVERT in llSetPrimitiveParams() and similar functions (01f4542).
- Diva made a change to significantly reduce the delay sometimes incurred by a Hypergrid user when transferring inventory when they’re on a foreign grid (142f8a4).
Categories: OpenSim News
This week in OpenSim Dev – week ending Saturday 18th February 2012
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 ( 189c67d – 2ffc055 ).
General news- The first release candidate (rc1) for OpenSimulator 0.7.3 is now available. This includes all OpenSimulator development code changes up until commit 972f73e (Fri Feb 17 2012). Please report any major regressions compared to previous versions. As in the past, only major regressions are guaranteed to be dealt with in some way (where that way can be wontfix).
- Mic Bowman improved the efficiency of group permission checks when manipulating scene objects by not proceeding with the group lookup if the manipulator is the owner of the prim (04a1952).
- Pixel Tomsen contributed a patch that persists windlight settings changed via script when using the sqlite database plugin (33e6610).
- I fixed a recent regression introduced in 1f402fdf (Feb 7 2012) where a delete friends grid call would try to contact the wrong URI. This would result in eventual failure of the simulator (80ec2ac).
- Pixel Tomsen contributed a patch that fixes the failure of a group owned object to return to it’s last (pre-deed) owner if returned from a simulator (4486b7d).
- I fixed a bug where osNpcStopAnimation() tried to start an animation rather than stop it (972f73e).
- BlueWall introduced code to honor estate teleport routing via telehubs (ba98d6f).
- BlueWall added support for telehubs to OpenSimulator’s SQLite database module (d03e878).
- I added a 64-bit Windows version of the OpenDynamicsEngine (ODE) physics library to OpenSimulator and code to automatically load either the 32-bit or 64-bit library on Windows as appropriate. This means that OpenSimulator can now run as a 64-bit Windows process with MySQL (and ignoring BulletSim errors) using OpenSim.exe rather than OpenSim.32BitLaunch.exe. Further changes happened the next week to resolve those remaining issues (0ef64fb).
- BlueWall added parcel sales support to the SQLite database module (8f8b478).
- I fixed a bug where changing the shape parameters of a child prim in a linkset would not be persisted by the simulator (8418470).
- Diva made changes to improve avatar movement in situations where neighbouring regions are being run on different machines. This work continued into the next week (2ffc055).
- I improved stress tests to better garbage collect objects between test runs, resulting in much better memory statistics. However, this currently involves manually deleting every scene object which takes a long time. For some reason the entire scene isn’t being garbage collected upon release. More work here is required.
Categories: OpenSim News
This week in OpenSim Dev – week ending Saturday 28th January 2012
(Yep, this is out of order – somehow I managed to write this but not publish it!).
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 ( 68365c2 – ae057a7 ).
General news- OpenSimulator git master should be stable again with regards to database migrations. If you are following git master and haven’t yet updated since last week, we recommend that you update directly to commit 48379e6 (Mon Jan 23 2012) or later. As always, please remember to keep regular backups and be prepared to rollback if you are directly following OpenSimulator’s development code branch.
- BlueWall started to implement telehub support, with later changes by Melanie. There should be some support for manipulating telehubs and spawnpoints in the viewer and these should be persisted over simulator restarts. Telehub map items should be displayed (da720ce).
- I removed disabled periodic statistics (those which appear every hour in the region console). This includes the ASSET STATISTICS and INVENTORY STATISTICS sections for now. Some of this data is available via other means (e.g. “fcache status”). I repaired the abnormal thread terminations statistic in CONNECTION STATISTICS – this now tracks the number of times that viewers fail due to UDP ack message timeouts (09baa3e).
- I serialized OpenSimulator main scene loop calls to the ODE physics engine’s collide() function. This should prevent collider associated crashes in the native ODE code when running more than one region – it turns out that ODE is using a static cache for this function and simultaneous calls from different scene loops can interfere with each other (e20cf37).
- Pixel Tomsen contributed an implementation of llGetParcelMusicURL() (8f53c76).
- Robert Adams updated the Bullet physics plugin with some interface changes and tuning (e9de7e7).
- I (re)-enabled error logging associated with script loading. This may make some errors in this area easier to identify (13d9b64).
- Pixel Tomsen contributed an implementation of llManageEstateAccess() (616373d).
- Diva improved Hypergrid error handling when requested inventory items are not found (91ac21b).
- I implemented osIsNpc(). This function will tell you whether a given key belongs to an NPC (7c1d075).
- I implemented osNpcGetOwner(). This signals if an NPC is ‘owned’ (i.e. can only be manipulated by scripts with the same owner as the script that created it) or ‘unowned’ (i.e. can be manipulated by any script with access to the required osNpc functions) (9939f94).
- I implemented an OS_NPC_SENSE_AS_AGENT option for osNpcCreate(). If an NPC is created with this option, then LSL sensors will detect it as an AGENT rather than as the currently OpenSimulator specific NPC extension. This and the other functions discussed earlier will be documented on the wiki once they are reasonably stable (7837c61).
- I stopped OpenSimulator from spitting out spurious errors and “script saved” messages if the properties of a script in prim inventory were changed. Many thanks to Garmin Kawaguichi for suggesting the fix (deeb728).
- I added an experimental –publish option to the save oar command. This will strip ownership (but not creator) information from saved OpenSim Archives (OARs), so that if someone reloads them to another simulator on the same grid, they will become the owner (and so able to manipulate those objects) rather than have the original saver as the owner. This option isn’t necessary for “save iar” since loaded inventory objects belong to the loader by default. Many thanks to Linda Kellie for the suggestion (154ba01).
- No news this week.
Categories: OpenSim News
This week in OpenSim Dev – week ending Saturday 11th February 2012
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 ( 35f14a2 – b92b922 ).
General news- None this week.
- Melanie fixed a recent performance regression (probably from 447a66d on Thu Feb 2 2012) where every step of an avatar was causing a database land data write (130b1c0).
- I set UseMeshiesPhysicsMesh = true in the [Mesh] section of OpenSimulator default configuration. This means that meshes will now have a corresponding collision mesh if that option is chosen during the upload. This was available before but wasn’t turned on by default (a4367e7).
- I stopped a scene object from ever attempting to link with itself. This may fix occasional linking errors where the viewer starts to vociferously complain “ WARNING: LLViewerObjectList::findOrphans: <uuid> has self as parent, skipping!” (dfa19e2).
- I fixed mesh uploading so that rezzing it in the scene does not give it the next owner permissions instead of the current owner permissions. This also fixes a bug where renaming the mesh inventory item would cause permission problems (since the rename updated the permissions on the server) (ddca534).
- Pixel Tomsen contributed a patch to fix a bug where people could not be removed from the friends list when using the SQLite database plugin (7273e05).
- I fixed a bug which occurred when an avatar took a copy of an object that they didn’t own (but had permissions for anybody to copy). If the object had been rezzed before a region restart, the copy would appear in the original owner’s inventory rather than in the copiers (44d84bc).
- Pixel Tomsen contributed a patch to fix an issue where notecards put into covenants would no longer be displayed if the viewer cache was cleared. Please see Mantis 2879 for more details (a7dc7e6).
- I fixed a bug where an avatar falling from a great height when using the OpenDynamicsEngine (ODE) physics plugin would get teleported back to their original location before hitting the ground or would suffer other odd effects. As part of this, default maximum avatar falling speed is now 54m/s, which is the same as a falling skydiver on Earth (b92b922).
- I added more stress tests for object, script and NPC creation. However, these are still not particularly accurate, not least because garbage collection is not cleaning up some objects created during the tests. This is under investigation.
Categories: OpenSim News
This week in OpenSim Dev – week ending Saturday 4th February 2012
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 ( 68365c2 – ae057a7 ).
General news- It looks like there was a very recent significant performance regression connected with ban list expiry (probably 447a66d on Thu Feb 2 2012). This may now be resolved in git master 130b1c0 (Sun Feb 5 2012) but the code may still be unstable.
- Pixel Tomsen contributed a fix for attaching objects to a notecard. See Mantis 2607 for more details (e8b688b).
- Garmin Kawaguichi contributed a fix to make the LSL scripting function llEdgeOfWorld() actually work (5e60afe).
- Melanie added parcel overlays to map tiles. This involves a region database migration (d2dfa4c).
- Pixel Tomsen contributed a patch to limit llSetText() to a maximum of 254 characters (a98a146).
- I improved the output of the “show threads” region console command to not roll over the “last update” statistic quite so quickly which makes the displayed numbers negative (1505c22).
- I made the “delete object” region console commands only operate on the current region if one is selected (ac7cded).
- I implemented “show object uuid” and “show object name” region console commands. These show summary information about a particular object/linkset in the current region or regions (996cc6).
- I implemented “show part uuid” and “show part name” region console commands. These show information about a particular prim in the current region or regions. Unlike the “show object” commands above, these will show information about non-root prims in a linkset (f028dca).
- I implemented an “xengine status” region console command to show various information about the current state of the XEngine scripting engine, including how many scripts are queued for compilation and the number of script threads currently in use (8b3da1b).
- Melanie changed attachment state saving on leaving a sim so that this only occurs for changed attachments (241ddd0).
- Melanie stopped attachment states being saved on a simulator where the user is a foreign visitor via Hypergrid. I hear that this fixes a long-standing bug where attachments would be corrupted for travelling Hypergrid users (fcc1fa2).
- Melanie improved the reliability of script state saving in various saving and loading scenarios (567f4c5).
- Diva fixed a bug with OpenID authentication to OpenSimulator where identity queries were failing (db46381).
- I made the LSL function llGetLinkNumberOfSides() visible to scripts. This was already implemented but for some reason had never been placed on the required interface (54d473e).
- Pixel Tomsen contributed a patch to implement persistence of estate covenant change times (5c545d1).
- I fixed a very recent regression where saving notecards in prim inventories had stopped working (9b762a5).
- I corrected the RC_* LSL constants used in llCastRay() (09d6521).
- I added the missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants. However, though these are used by llCastRay() OpenSimulator will never currently return them (edc11a1).
- BlueWall and Nebadon made various changes to fix the NonphysicalPrimMax configuration setting simulator-wide and for particular regions (36ed0dc).
- I began a long term project to stress or “torture” tests to the project. These are tests that will subject OpenSimulator to various stressful operating conditions. They will look for failure in various scenarios and measure memory usage and time taken (though the latter statistic can be inaccurate). From a command line, they can be run with the “nant torture” target. At the moment, there are only simple tests to add large numbers of linked and unlinked prims.These tests currently operate directly on the server and so will not match real usage scenarios where viewers connect through the client stack over connections of different bandwidth and quality, among other heterogeneous factors. However, they will hopefully at some point provide useful insight into OpenSimulator performance changes over time.
Categories: OpenSim News
Speaking at the NVWN Innovation in Virtual Worlds Seminar tomorrow
Hi folks. Just a brief note to say that I’ll be speaking at the Nordic Virtual Worlds Network’s “Innovation in Virtual Worlds” seminar tomorrow (Wednesday 1st February 2012). This is in Linden Lab’s Second Life grid at the Stockholm School of Economics Island.
I’m going to be on the Future of VW Platforms panel (Session II – 16.15-18.00 EET (GMT +2) / 6:15-8:00 am SLT) which should be a lot of fun. I think we’re only in the middle of the prologue of the story of virtual spaces, so there’s huge scope for a great discussion .
The seminar is free to attend and there are other interesting talks in the (European) afternoon.
Categories: OpenSim News
This week in OpenSim Dev – week ending Saturday 21st January 2012
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 ( 82ad9d4 – 32d58d6 ).
General news- OpenSimulator git master is currently unstable due to quick changes made to database tables associated with future telehub functionality that were not associated with migrations. Please see this mailing list post for more details. This kind of thing happens in the development branch occasionally. As ever, I recommend that if you are following it then take regular database backups or be prepared to manually revert errant changes.
- Bluewall added a JSON handler for grid info (ef5575b).
- Bluewall fixed the osGetGrid*() OSSL functions to correctly return information from the [GridInfo] section set up in the ROBUST service in grid mode. Before, they were returning information from the simulator’s config, which mean having to set this data in every single simulator (9ed9720).
- Bluewall added an osGetGridCustom() OSSL function to allow any property to be retrieved from grid info.
- Bluewall added an osGetGridHomeURI() OSSL function. This allows a script to retrieve the Hypergrid address of the current grid (8f871cc).
- I fixed a bug where a texture download request via UDP that failed due to an unanswered asynchronous request to the asset service could block all subsequent UDP texture requests of lower priority. However, this may well not be the cause of all or even most grey avatars. Version 3 viewers still receive baked avatar textures via UDP even where other textures are fetched via HTTP (ea72428).
- No news this week.
Categories: OpenSim News