OpenSimulator One Year Ago

As I reflect back on the state of the OpenSim software one year ago I seem to remember:

1. We were getting some physics functionality with ODE but all physics would run for maybe an hour or two and then tend to crash. Collisions were working, but physics was just barely hanging together.

2. Tedd Hansen had added scripting capability to OpenSim and we were struggling with the most basis llSay() scripts and the kan-ed list. We made an agreement amongst ourselves to enable the running water on Wright Plaza when we had a modicum of stability scripting even though we had the particle generator (mostly) working.

3. DeepGrid had been around for six months, OSGrid for five, OpenLifeGrid for two and CentralGrid had just started.

4. There were 1150 users on OSGrid (11,000 today) along with about 50 sims (1900 today) and on an average day 100 folks logged in (2200/day now).

5. The core developers were considering a field trip to see the Rex folks.

6. With more then 6 avatars on a sim, chat started doubling and the avatar tended to walk into the ground.

7. There were about ten active core developers and about another 40 active patch submitters.

8. We were headed towards our 0.5 release and thought we would probably get to 1.0 and Beta in about a year and a half, or about July of 2009.

I just thought some of these thoughts might cause a few to smile as we look forward from our current 0.6.2 which appears to be fairly stable and seems to be causing a buzz on the internet. We also have 90% of the LSL functions implemented and complex scripts can reasonably be expected to work. There are tens of thousands of OpenSim users and thousands of sims. We have 25 or so active core developers and probably another 125 submitting patches.

So, well done all. This is a time to grin, look around, enjoy a bit. I declare all bugs non-existent until next Monday at 8:00AM, when we can get hyper again after using the HyperGrid for OS2B.

Charles Krinke
OpenSim Core Developer
Director of OSGrid

OpenSim 2nd Birthday (OS2B), OSGrid & Passion

Looking back on the last two years, we have come from nowhere to a reasonably functioning set of sim software. There are over 8000 commits to OpenSim from hundreds of programmers. We are currently at 0.6.2, which means about 62% feature complete for an average users expectations of a SL compatible sim in these two years. It is possible to get to 1.0.0 in 2009 and whether we do or not will be determined by the community this year.

Along the way, various grids and standalones have been created using OpenSim or derivative works of OpenSim. To the point where it looks like there are 1000′s of regions and tens of thousands of users using OpenSim at this point. There are folks building out our part of the Metaverse in ways not imagined before. The evolution of OpenSim has been and will continue to be based on the passion of the community which exists in IRC on FreeNode on the #opensim and #opensim-dev channels and on the opensim-users and opensim-dev mailing lists. Additionally a significant part of the community participates in OSGrid on the #osgrid channel and in-world on the grid.

As we move forward, the trick will be to balance adding features and keeping stability. Features can and do introduce bugs, but by testing OpenSim in real deployments and using it every day, we can diagnose and fix those bugs quickly.

And that gets me to OSGrid, which is one of the key ways we deploy, test and feedback to the developers of OpenSim on a daily basis. There are other, younger grids, but one of the things OSGrid strives to do is encourage all the region owners to update every day and feedback observations via our OpenSim Mantis system to help the developers move forward. And this works amazingly well.

Additionally, OSGrid is a community developed grid with some 1800 regions. All but six of which are owned by individuals, companies and universities. The six exceptions are the plazas, which along with the UGAIM constitutes all that is owned by OSGrid. So, this is a community effort and as such, the community determines where we go with features, bugs, and all the rest.

There are folks currently leasing parcels and even regions on OSGrid. I look at that and think this blossoming community is a wonderful thing. There are folks using AWG/OGP on OSGrid. There are a number of HyperGrid nodes including some gateways in different part of the grid from UCI. Other grids have put regions to advertise their projects and visions on OSGrid, along with companies and universities.

So, this OpenSim Metaverse, which includes a free and open grid is something unique and blossoming and a source of pleasure for many and I am honored to have a place in helping OpenSim and OSGrid move forward in 2009.

Charles Krinke
OpenSim Core Developer
Director of OSGrid

OpenSim Weekly News – week ending Sunday January 18th, 2009

OpenSim has made the 0.6.2 minor release from SVN r8068 after going through a period of unstable teleports. Reports are good on stable teleports and the release is available for download on the OpenSimulator.org web site and the OSGrid.org web site.

The OpenSimulator.org download is here: http://opensimulator.org/wiki/Download

The OSGrid.org download is here: http://osgrid.org/index.php?&page=smodul&id=14&btn=7&subbtn=14

There are only 27 LSL functions left with no implementation and they are: llRotTarget, llRotTargetRemove, llLoopSoundMaster, llLoopSoundSlave, llPlaySoundSlave, llLookAt, llStopLookAt, llCollisionFilter, llAttachToAvatar, llDetachFromAvatar, llRotLookAt, llPointAt, llStopPointAt, llGodLikeRezObject, llPassTouches, llSetDamage, llTextBox, llPassCollisions, llGetCenterOfMass, llEdgeOfWorld, llSetSoundQueueing, llTriggerSoundLimited, llGroundRepel, llRemoteDataSetRegion & llSetInventoryPermMask.

We started with Tedd’s vision a bit over a year ago and 300 functions are implemented, that is a great job to all who contributed. The end is in sight, and patches to partially or completely implement one or more of these functions would be greatly appreciated by all.

Charles Krinke

OpenSim Weekly News – week ending Saturday Nov 1st, 2008

Over the last two weeks, I have run a longer term test on Yang, Celt, Io, Europa, Phobos & Deimos on OSGrid.org. First with version r6917 for one week and then with version r6976 for one week. In both cases, the six regions had a total of 4 crashes each week. The four crashes were spread across different regions and appear to be unhandled exceptions. There is a reasonable, but slightly lower amount of traffic on these regions compared to Wright Plaza which is right next door. In fact, all logins to Wright Plaza also manifest themselves as child agent logins to Yang, so Yang does have significant activity.

Some search is now functional, thanks to Fly-Man, Homer Horwitz and Melanie. Additionally, Diva has implemented a “HyperGrid” notion that allows teleporting between OSGrid, UCIGrid and back. UCIGrid is the grid at University California, Irvine.

We have 45 LSL functions left to implment and they can all be found by searching the source for the string “NotImplemented” in the file LSL_Api.cs. Patches are greatly appreciated.

OSGrid has had a significant number of new users in the last week or so. We finished the week with 6000 users, 600 regions and about 1250 logins/day. It was necessary to increase the maximum number of simultaneous connections to the mysql process on the server from 10 to 1000, but the server appears to be handling this load well.

Charles Krinke, Irvine CA, Core Developer and Director of OSGrid

OpenSim Weekly News – week ending Saturday October 18th, 2008

Revisions r6815, r6822, r6825, r6835, r6884, r6900, r6905 & r6908 have been tested in the last week for stability. There have been three crashes while testing six regions and these three crashes occurred with revisions between r6884 & r6905.

All testing above was done with Linux using mono-1.9.1 and the secondlife.com client version 1.21.6 on OSGrid (http://osgrid.org) with Yang, Celt & the ‘moons’.

The plazas on OSGrid have had a significantly greater number of crashes with revisions between r6835 & r6905 and last weeks “Office Hour” crashed three times. There is a significant difference between regions with a number of simultaneous logins then regions with one or two avatars at this time and a number of folks are testing it and working out the issues.

Charles Krinke, Irvine CA, Core Developer and Director of OSGrid

OpenSim Weekly News – week ending Saturday October 11th, 2008

Revisions r6684, r6696,  r6699, r6713, r6721, r6727, r6740, r6774, r6792 & r6798 have been tested this week. All ran on Yang, Celt and the ‘moons’ without crashing and are reasonable. Some experimentation is ongoing with mono-2.0 and preliminary results look good on Wright Plaza and Lbsa Plaza on osgrid.org.

We have changed our official client again to accomodate secondlife.com and it is now 1.20.17 and works with all of the revisions tested. Adjacent regions are visible, sim crossing is manageable.

A new module implementing the beginnings of in-world search is on forge.opensimulator.org and is called “OSSearch” and testing is just starting.

SineWave (http://sinewavecompany.com) held an event on the SineWave region on OSGrid this week to test sim performance and showcase some of their AO technology. This is one example of a commercial company taking advantage of our unique non-profit OSGrid and I hope to see more of this in the future.

We did have a succesful “Office Hour” with about 20 avatars this week with no crashes of Wright Plaza on OSGrid during “Office Hour” and that is a good thing.

Justin still has his blog and it describes more detail of the weekly changes in SVN. This blog is intended to give an overview of testing and stability considerations each week.

Testing errors are getting a bit trickier do duplicate and I suggest that folks entering mantis try to get a confirming test from a different user, especially with a different operating system. Variations of Windows/Linux, XEngine/DotNetEngine, MySQL/MSSQL/SQLite and others are complicating the duplication of bugs and help from the testers is requested.

Again, I suggest additional patches for the remaining 51 or so LSL functions and packet handlers as folks work out the details. The LSL functions that are non-physics and could be implemented are things like llLookAt(), llPointAt(), llGetCameraRot(), llTextBox() and as I said, of the original 330+ functions, only 51 remain in the “NotImplemented” state. Search through the source in LSL_Api.cs for the string “NotImplemented” to find these.

Charles Krinke, Irvine, CA, Core Developer and Director of OSGrid

OpenSim Weekly News – week ending Saturday October 4th, 2008

Yang, circa 10/4/08

Yang, circa 10/4/08

I have been asked to take up the weekly update for OpenSim on this blog. I will start by describing my test setup for OpenSim on OSGrid which has been running for over a year. This blog will not describe the plazas, but rather the next set of test regions next to Wright Plaza on the SouthWest diagonal corner. For this purpose, I personally have six sims running on three different servers. I will be referring to these by name in the weeks to come and here is the test setup.

Yang – A single region running on a 1.6Ghz AMD CPU with 2GByte of RAM on a Linux Fedora desktop on the floor of my office at home.

Io, Europa, Phobos & Deimos – Four regions running on a dual-core Intel 3.4Ghz CPU with 3Gbyte RAM running on a different Linux Fedora desktop also on the floor of my office at home. These are collectively referred to as the moons.

Celt – A 256MByte VPS with a single core Intel Xeon running at 2.5Ghz and no swap from bodhost.com in Durham, UK.

Yang and the moons, five regions total communicate across my ADSL in Irvine, CA. Celt is seperate and in Europe. These six regions are on the SouthWest corner of Wright Plaza on OSGrid and form a 2×3 rectangle. Yang has about 2000 prims and 50 scripts and is the most heavily developed. Phobos is next, then Celt and the other three moons are mostly empty at this point.

Revisions r6543, r6550, r6564, r6620, r6669, r6672 & r6675 have been recently tested. There have been half a dozen crashes on the six regions in the last week, mostly due to thread stuff. OGP is currently suffering a bit with recent changes including sim crossings.

We have changed our official client for testing to 1.20.16 as that is the new download on secondlife.com and since updating, adjacent regions have not been visible. With the latest r6675, now tagged as release 0.5.11, I can now see and cross into adjacent regions again from Yang.  R6675, aka 0.5.11 seems stable and I would recommend it.

Script implementation and testing continues with about 56 LSL functions left to implement and patches are solicited. Additionally, many have been able to run kan-ed scripts with no problems. Google “grobe kan-ed lsl” for the kan-ed scripts.

I would recommend some attention be given to implementing some of the stubs of packet handlers at the bottom of LLClientView.cs. I believe we are at the point where we can benefit from additional packet handlers.

Sincerely, Charles Krinke, Irvine, CA, Core Developer and Director of OSGrid

OpenSim Weekly News – week ending Saturday 12th April 2008

Hello there. For the past couple of weeks I’ve posted a weekly OpenSim development summary to this group blog. However, I’ve realized that I’m a shameless traffic whore (and it does take a surprising amount of time to write the post!), so today’s summary and future editions will be posted to my own blog here. Corrections and comments are still welcome.

OpenSim Weekly News – week ending Saturday 5th April 2008

This week in OpenSim…

  • Teravus fixed a bug which caused problems with region interoperability between Windows and Linux servers. Hurrah for platform neutrality!
  • Adam made more changes to terrain commands.
  • I made a change where the “Take Copy” option in the pie menu really does take a copy of the object rather than the object itself.
  • I made a change so that prims copied using the shift copy method now properly retain their script contents.
  • Teravus updated our embedded OpenDynamicsEngine library. This may have an impact on physics stability when using this engine.
  • sdague reorganized the database namespaces to be OpenSim.Data.* rather than OpenSim.Framework.Data.*. If you’re having trouble running OpenSim, try changing all your references in OpenSim.ini and all the bin/*.xml configuration files (if you are running a grid) to point to the new namespace.
  • I made a change so that the scripts contained in all linked prims can now be properly edited using the ‘Edit linked parts’ option.
  • We had a small hiccup with inventory as the underlying mechanism has changed to CAPS in the latest Linden 1.19.1.4 client. But with lots of preparatory work by MW, Teravus and a very small fix by myself, inventory appears to be working again in the latest client! However, we do still appear to have all the inventory bugs which existed before the 1.19.1.4 client :-)
  • Teravus changed the default packet output queue throttle settings. This should help any problems people have been seeing with prims which appear to be missing when they login (but can still be bumped into!). It should also help with land block problems.

OpenSim Weekly News – Week ending 29th March 2008

opensim-weekly-news-snapshot1.jpg

So, since I’ve encountered a few situations where people haven’t been aware of certain new features or fixes (since us developers are in the habit of sometimes only writing this in the subversion logs), I thought I’d start writing a weekly summary of the technical activity. Most of this is culled from svn updates, so I might not actually know all that much about the change in question. As these changes are hot off the keyboard, there are also no guarantees that they actually work yet :) These entries are just the highlights – not all changes and fixes are included.

I’ve no idea how long I’m going to keep this up, but I’m going to try :)

Anyway, on with the show! This week in OpenSim…

  • I implemented code to limit incoming texture requests. For some time now we’ve had an issue (which shows up on osgrid) where memory leaks away when many clients are logged on until the simulator crashes. I believe this is primarily due to the fact that on a heavily loaded sim, we don’t respond to client texture requests within the client’s timeout and retry period. When the client retries the request, we add another load of texture packets on to the output queue. As a temporary solution, we now limit the number of requests that can be made for the same texture, dropping extra requests after a predetermined number. This is crude, but appears to work for now and can be improved later.
  • Alondria implemented the lsl functions llLoopSound(), llStopSound(), llAdjustSoundVolume(), llRemoveFromLandBanList, llRemoveFromLandPassList, llAddToLandBanList, llAddToLandPassList, llResetLandPassList, llResetLandBanList, llGetParcelPrimOwners(), llGetInventoryNumber(), llGetInventoryType(), llGetInventoryCreator(), llGetInventoryPermMask(), llGetInventoryNumber(). Go Alondria!
  • Teravus fixed up llApplyImpulse()
  • Teravus added partial support for llMoveToTarget() and llStopMoveToTarget() to the ODE physics engine.
  • Michael Osias submitted a patch to fix multiple llListens and implemented llMessageLinked()
  • Teravus implemented Oriented Bounding Box raytracing. Now you can rez one prim on top of another!
  • I implemented proper CAPS seed hand off on region crossings. Essentially, this means CAPS functions (which includes script and notecard saving) should be available on non-home regions on a grid.
  • I fixed initial inventory skeleton passing and some async inventory issues. Essentially, this means that folders deeper than the first level should now work better. Also, the texture picker in the edit prim dialog should now work (again).

Phew, that was more stuff than I thought.

– justincc (Justin Clark-Casey)

Follow

Get every new post delivered to your Inbox.