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

Testing the blog waters

Hi. I have been asked to pick up this blog and do a weekly report on OpenSimulator. This is my first test posting as I see if I can actually drive wordpress.

I’m one of the Core Developers and the OSGrid Director and have been around since about r500 in the Spring of 2007. Many of those on IRC know me as “ckrinke”. Those on OSGrid know me as “Charles Krinkeb”. My real-life name is “Charles Krinke”.

OpenSim Docs, OpenSim Nightly Builds

This is just a quick post to let everyone know we’ve added two new resources to the OpenSimulator.org website. The first, we’ve added Doxygen programming docs covering the entire OpenSim codebase – these will be refreshed periodically with every major release that we do. You can find the docs at http://docs.opensimulator.org/

The second major thing we’ve done lately is introduce a Continuous Integration (CI) server which produces regular builds and monitors for build failures. Right now it is configured to produce a new build after every commit – the result of which will be copied to our new builds repository at http://builds.opensimulator.org/

Enjoy – and thanks to everyone involved who helped get this setup!

Adam

SVN Module – or, DIY Rollbacks and Backups.

So, earlier this week I committed a prototype of something I have been musing on for DeepThink internally into the OpenSim SVN. It’s a shared region module which acts sort of as a non-realtime datastore. The purpose of which is to allow you to store (and load) region backups to a SVN server.

The SVNModule will use the also-new ‘export’ module, to serialise your region to a collection of XML and binary files that make up your region (XML for anything human editable, ie – object data. Binary for non-human editable components such as terrain data)

It’s worth noting you can use “load-xml2″ on the objects.xml file, and “terrain load heightmap.32″ to import those parts back into the region from outside the SVN server.

Before I continue, I should point out that this is a very untested module – I have only confirmed it works under Windows 32bit, and has not gone under any sort of sufficient testing for large scale use, yet. Proceed at your own risk.

To setup the module, copy the [SVN] section from OpenSim.ini.example to your OpenSim.ini – make sure ‘enabled = true’ is set, and the other details are in there. At the moment it will only work with svn:// and http[s]:// repositories. I am working on SSL/SSH wrapped repositories at the moment, but it is more difficult to implement, so may take some time. You can use any SVN URL (it doesnt have to be the root of a SVN repository). I recommend that you use one subdirectory per server unless you have a high speed link between all your servers — this is because if all servers share a directory, checkout times will include updates from every directory (something on my agenda to implement a workaround).

Start your sim up, and check to make sure you get [SVNBACKUP]: messages on your console, as long as no errors are thrown (of type SvnException) you should be good. If you see an error – there is help text buried in the exception.

Presuming all has gone well, there are several console commands worth reviewing:

svn save – saves a current copy of all your regions to SVN.
svn load – loads SVN head and imports it to your region.
svn load <revision> – loads a specified revision
svn load-region <name> – loads a specified region at head revision
svn load-region <name> <revision> – loads a specified region from a specified SVN revision.

Automatic backups (periodic saves) and several other features are on the cards, but have not yet been implemented. Ideally I would like to convert this to a datastore-style adapter that imports changes live (so you can rollback individual changes), but that may be unwieldy. Some thought is required on the matter.

Adam.

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.

New Terrain Commands

Some time ago, I reworked the terrain engine into a new shiny module. This module is now nearing completion as far as core features go – from here on in, new features will be towards things like v2.0 goals. Since it is now working correctly for most things, I have reworked the console commands back in – with some improvements. Many of you noticed in the last two-three weeks the old commands were ‘depreciated’ – these should now be working again as of r4039/4040.

So, a little guide.

First – I’ve created a new ‘command manager’ which also handles console commands, the goal of here is to enable LSL/Scripting functions for every console command, as well as allowing proper syntax-checked console input plus help. The short of this is you can now type “<module> <command> help” for help about a particular command, or “<module> help” for a list of valid commands. At the moment only “terrain” is supported for modules.

Example:
Region# :
terrain help
17:48:06 - ===Terrain===
17:48:06 - * load - Loads a terrain from a specified file.
17:48:06 - * load-tile - Loads a terrain from a section of a larger file.
17:48:06 - * save - Saves the current heightmap to a specified file.
17:48:06 - * fill - Fills the current heightmap with a specified value.
17:48:06 - * newbrushes - Enables experimental brushes which replace the standar
d terrain brushes. WARNING: This is a debug setting and may be removed at any ti
me.
Region# :

You can see the list of commands there, with a brief description of what they do. You can see more detailed help, IE.

Example:
Region# :
terrain load-tile help
17:50:26 - == load-tile ==
17:50:26 - Loads a terrain from a section of a larger file.
17:50:26 - = Parameters =
17:50:26 - * filename (String)
17:50:26 -      The file you wish to load from, the file extension determines th
e loader to be used. Supported extensions include:  .r32 (RAW32) .f32 (RAW32) .t
er (Terragen) .raw (LL/SL RAW) .jpg (JPEG) .jpeg (JPEG)
17:50:26 - * file width (Integer)
17:50:26 -      The width of the file in tiles
17:50:26 - * file height (Integer)
17:50:26 -      The height of the file in tiles
17:50:26 - * minimum X tile (Integer)
17:50:26 -      The X region coordinate of the first section on the file
17:50:26 - * minimum Y tile (Integer)
17:50:26 -      The Y region coordinate of the first section on the file
Region# :

You will notice some of the commands have subtly changed since the previous version, load-tile now takes a slightly different input format, measured in tiles rather than pixels. Tiles are assumed to be equal to Constants.RegionSize (256) squared. So, the old format of ‘load-tile file.raw 512 512 1999 1999′ now takes the syntax ‘load-tile file.raw 2 2 1999 1999′.

The help in this new version should be more comprehensive and user-friendly for end users (or I at least hope so), I’m keen to see what users think. Also, if there are any features the previous version had that are not supported now and you were using, please let me know and I will add them to my TODO, but all other things being equal – I’m now going to move on to redesigning the console input for the rest of OpenSim.

Adam