September 01, 2010

justincc.org

This Week in OpenSim Dev - week ending Saturday 28th August 2010

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 OpenSim’s cutting edge Git ‘master’ branch. 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 OpenSim 0.7.0.1 (released on Tuesday 10th August 2010).

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

This week in OpenSim ( 74e5fe5 - 374807d ).

General news

  • None this week.

Features & bug fixes

  • I fixed a bug where items given through llGiveInventory() disappeared.  This regression has probably been present since OpenSim 0.7, though OpenSim 0.6.9 should be unaffected.  The problem may still be present for Hypergrid setups.  This should be addressed shortly (c72d298).
  • Apelsin contributed a patch that fixes the behaviour of llSetPos() and llGetLocalPos() for attachments.  Thanks to Marck for packaging this.  See Mantis 3923 for more details (a7a45cb).
  • Melanie fixed a problem where some outgoing HTTP forms requests were unreliable due to an early closing of the outgoing stream (604423d).
  • I increased locking in order to make object linking/delinking more reliable rather than occasionally failing (1c0b445).
  • I reinstated the LLUDP client protocol ‘kill guard’ in order to stop viewers receiving object updates after they had been told the object had been deleted.  Receiving late updates could make undeletable ‘ghost’ objects stay behind until the client was relogged.  The kill guard was present in OpenSim 0.6.9 but had been accidentally dropped for OpenSim 0.7 (d99c601).
  • Diva fixed issues with the DataSnapshot module (used by search and other things).  See Mantises 4984 and 4985 (436fdc2).
  • I made a change so that Inventory Archive (IAR) loading paths can now start with a slash.  For instance, load iar /Objects and Objects are now both valid (86937d0).
  • I finally reinserted the KickFlags parameter for a received GodKickUser packet from the client.  This appears to allows Gods to kick, freeze and unfreeze users.  Not sure where the corresponding functionality is on the viewer.  Thanks to Revolution for the original patch and Fly-Man for bringing this to my attention (374807d).

Infrastructure

  • No news this week

by justincc at September 01, 2010 01:45 AM

August 25, 2010

Zonja Capalini » OpenSim

Condensation Land: A status report

Introduction

Recently, the page about performance in the Opensim wiki has been extensively updated, and this prompted me to gather some data for Condensation Land, a mini virtual world powered by Opensim which I administer, to be able to add this data to the page. Condensation Land is special in the sense that while it’s a quite small, home-based, world, at the same time it hosts a relatively big number of prims and scripts, and I thought that adding that data to the page might end up being useful to somebody.

0840 - Temple 1

Temple, an island by Omurtag Milev in Condensation Land

When collecting the data I had to visit all the islands, one by one, and this made me remember the story of Condensation Land, how it all started, the things we did there, the people who have contributed wonderful stuff to be displayed, and I thought I’d write a blog post listing and commenting detailedly the technical data I had gathered, and at the same time giving an account of the history of the mini-world.

History

Condensation Land started as an experiment in looking for alternatives to Second Life after the OpenSpace fiasco. The initial six months of this process are explained in detail here. Shortly after writing this article, the company I was working for decided that virtual world technology was not adequate for their needs and started using WebEx. The initial founders of Condensation Land (Ludmilla Writer, Favio Piek and myself) decided to keep Condensation Land as an experiment and a playground, and to invite people to show their content in the mini-world.

Technical status

Condensation Land is a mini virtual world powered by Opensim. We are using r13558 of the Diva distribution (D2); the Wifi page can be accessed here. Condensation Land has a WordPress blog, used mainly to keep users informed of new releases and content additions, and a Flickr group.

The physical machine

The whole Condensation Land virtual world runs on a non-dedicated home machine with Windows XP SP3, 3 GB of RAM, and two SATA ST3400620AS HD’s of 372 GB each. The first HD (C:) hosts the operating system and the swapfile, while the second HD (D:) is dedicated to Opensim and MySQL. Apart from keeping the system updated and running the disk defragmenter every so often, the machine requires almost no maintenance.

Networking is provided by JazzTel (a spanish ISP) in the form of a symmetrical 2 Mb SDSL line; the machine has an external IP address and can thus be used for HyperGrid teleports, accesed from anywhere, etc. This line costs around € 200/mo, which is more or less US$ 250/mo.

World setup

Condensation Land (loginuri: http://condensationland.com:9000) comprises 11 regions, of which 10 are public. The region with most prims is Condensation Land, with 10,278 prims, and the region with more active scripts is Angelico Miguelis, with 706 active scripts. The whole world uses 38,065 prims and 1,934 active scripts, as detailed in the following table.

+---------------------------+--------+---------+
| Region                    | Prims  | Scripts |
+---------------------------+--------+---------+
| Angelico Miguelis         | 10,024 |     706 |
| Conceptior                |  6,280 |     531 |
| Condensation Beach        |  2,455 |      46 |
| Condensation Land         | 10,278 |      97 |
| Condensation North        |  1,610 |     122 |
| Condensation South        |  1,908 |       7 |
| Condensation SouthWest    |    992 |      77 |
| Shoshisn                  |    555 |     163 |
| Temple                    |  3,239 |     139 |
| Tralfamadore              |    427 |      29 |
| (private region)          |    297 |      17 |
+---------------------------+--------+---------+
| Total                     | 38,065 |   1,934 |
+---------------------------+--------+---------+

MyWorld.ini sets CombineContiguousRegions to false to avoid the use of megaregions. The bin\library directory contains the default IARs shipped with D2, plus the large objects library downloadable from the D2 downloads page, plus some small animation IARs created by myself with freebie anims found elsewhere. I’ve not had time to set up default avatars for male, female and neutral preferences.

Performance

Opensim.exe is pretty stable. and oscilates between 0% and 10% of CPU usage (even when idle, there are a lot of scripted objects, and object status has to be saved frequently), and uses between 167 MB when idle to 512 MB with one avatar and 1 GB of RAM with some few avatars. MySQL.exe consistently uses 250-300MB of RAM, and MySQL backups (in .sql format) occupy 3.51 GB, 1.32 GB when zipped.

The following video shows a party with four avatars in the Condensation Land region:

Content evolution

After 20090430, I added a 2,889-prims Klein bottle,

and an exhibition called Mirror Worlds featuring pictures from Florence Babenco, Ludmilla Writer, Mikil Tiki, Monika Finchy, Senna (SennaSpirit Coronet), Shoshisn Shilova and myself, and sculptures by Shoshisn Shilova.

After that, a very nice thing happened: people started to contribute their own stuff to be shown at Condensation Land! :-)

Breen Whitman donated a fantastic building called “Eastern Gaswork”, which I placed in Condensation South;

0741 - Breen Whitman's 'Eastern Gasworks' building - Outside view

Breen Whitman's 'Eastern Gasworks'

Shoshisn Shilova got an island (called “Shoshisn”) and Mikil Tiki got another island (called “Tralfamadore – La Mikilina”);

0773 - Our world is growing

Condensation Land world map after adding "Shoshisn" and "Tralfamadore"

and finally Omurtag Milev added three awesome islands called Temple, Conceptior and AngelicoMiguelis,

which you should absolutely visit (or, at least, look at the videos and pictures here).

0837 - New, fantastic islands by Omurtag Milev

Condensation Land world map after the addition of Omurtag's islands

Condensation Land now has ten regions, instead of the initial five, and a lot of new wonderful places to visit! :-)

Conclusion

Condensation Land is a non-for-profit, home-based, virtual world maintained in my free time (and in the free time of the respective region owners). Obviously, since we don’t get any money from it, it’s a work of love. It’s also a proof-of-concept: of what can be done with simply some free time, a lot of passion for the technology, and some very talented friends :-) I won’t say that caring for Condensation is always nice and easy — being the administrator of even such a small world as Condensation takes quite a lot of work: users forget their passwords; upgrades don’t always work; we had a serious case of inventory messup, where tons of spurious folders were created and which I had to clean manually using SQL; sometimes electricity fails for so long that the UPS dies (yes, this happens in Barcelona in 2010) and the machine has to be physically restarted; and so on. But the feeling of having all this wonderful stuff in a machine of yours, and of being able to share it with the world, is more than enough to compensate for all of it :-)


by Zonja Capalini at August 25, 2010 02:48 PM

August 22, 2010

justincc.org

This Week in OpenSim Dev - week ending Saturday 21st August 2010

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 OpenSim’s cutting edge Git ‘master’ branch. 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 OpenSim 0.7.0.1 (released on Tuesday 10th August 2010).

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

This week in OpenSim ( d3c2424 - 8d8436e ).

General news

  • None this week.

Features & bug fixes

  • I added extra textures to OpenSim’s built-in asset library to replace those no longer shipped with Linden Lab’s Viewer 2 and derivatives.  Linden Lab provides these under a license which allows them to be included in OpenSim.  Remaining problems for OpenSim compatibility with viewer 2 include (a) the inability to initially set the appearance on new avatars and (b) the world map always displaying Linden Lab’s own grid map.  One can work around the appearance issue by setting all body parts, pants and shirt with a Viewer 1.23 or derivative.  The world map issue can probably be resolved for Linden Lab Viewer 2.1 and later by sending a MapURL on login (this will require an OpenSim code change) (11db33d).
  • Melanie added some map tile generation options to OpenSim.ini.example.  This includes whether to generate them at all, how long to wait between refreshing them and which texture to show if no maptiles are being generated (ae554a4).
  • Melanie removed all use of the estate_settings.xml file.  Estate settings should now be changed via the facilities provided by the viewer (f445659).

Infrastructure

  • Diva continued to work on improvements and bug fixes for Hypergrid 1.5.

by justincc at August 22, 2010 11:02 PM