<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adam Frisby &#187; OSGrid</title>
	<atom:link href="http://www.adamfrisby.com/blog/category/technical/opensim/osgrid-opensim-technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adamfrisby.com/blog</link>
	<description>ZOMGWTFHAI</description>
	<lastBuildDate>Sat, 26 Dec 2009 07:02:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Automated OSGrid Region Launcher</title>
		<link>http://www.adamfrisby.com/blog/2009/12/the-automated-osgrid-region-launcher/</link>
		<comments>http://www.adamfrisby.com/blog/2009/12/the-automated-osgrid-region-launcher/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 19:12:30 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[SimHost]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[launcher]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[region setup]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=503</guid>
		<description><![CDATA[The OSgrid Region Launcher is a somewhat newish utility I wrote back late August &#8211; it&#8217;s designed to be a dead-set-simple zero-configuration region launcher for OpenSim. It&#8217;ll automatically deploy your own region on OSgrid, hosted on your own computer; and while not perfect &#8211; it can be a nifty way of checking out OpenSim without [...]]]></description>
			<content:encoded><![CDATA[<p>The OSgrid Region Launcher is a somewhat newish utility I wrote back late August &#8211; it&#8217;s designed to be a dead-set-simple zero-configuration region launcher for OpenSim. It&#8217;ll automatically deploy your own region on OSgrid, hosted on your own computer; and while not perfect &#8211; it can be a nifty way of checking out OpenSim without too much hassle. This is a new version of the tool for those who were testing it several weeks ago &#8211; version 0.22 brings in a bunch of new features, including confirmed Linux compatibility (and presumably OSX too.)</p>
<p>This tool is a from start-to-finish utility for launching regions, it will automatically negotiate with your router to forward ports as required; and it will handle automatic updates of new versions using the official OSgrid.org Binary Releases. The basic release contains all the features of the default OSgrid binary release (including preconfigured Groups, Physics, Scripts, etc.). <em>Shameless Plug:</em> Obviously this has all the limitations of regions hosted from home &#8211; namely bandwidth &amp; network considerations &#8211; if you want to host something permanently and reliably with support, come take a look at <a href="http://www.simhost.com">SimHost</a>.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid-region-launcher-22.png"><img class="alignnone size-full wp-image-505" title="osgrid-region-launcher-22" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid-region-launcher-22.png" alt="osgrid-region-launcher-22" width="597" height="330" /></a></p>
<h3>This new version of the launcher includes the following new features</h3>
<ul>
<li>Confirmed &amp; Tested Linux Support (and presumably OSX with Mono)</li>
<li>New Zip Library (uses Ionic.Zip now) &#8211; works better on Linux.</li>
<li>Completely rewritten UI &#8211; Now provides a great deal more feedback on what the tool is doing at any specific point in time.</li>
<li>Ability to manually position a region optionally.</li>
<li>Basic Input Validation (<strong>Bug:</strong> Glitchy on Linux &#8211; if you cant close the tool, input a few characters into the current field)</li>
<li>ILMerge&#8217;d Release &#8211; now just one self-contained .exe</li>
</ul>
<h3>To use the tool, follow the following steps:</h3>
<ol>
<li>Drop the .exe in it&#8217;s own folder somewhere. Run it.</li>
<li>Enter a region name &#8211; must be between 1 and 64 alphanumeric characters. Some symbols &amp; UTF8 characters are fine too. Known invalid symbols include: [ ] \r \n.</li>
<li>Select either automatic positioning (default), or enter a pair of free coordinate values. X first, followed by Y. Coordinates must be between 0 and 65,535.</li>
<li>Enter your Avatar Name on OSgrid.org &#8211; Firstname followed by Lastname.</li>
<li>Click Launch</li>
<li>At this point, the tool will download, unpack and install your region &#8211; you may be prompted to perform certain tasks manually (such as if Automatic Port Forwarding fails you may be asked to port forward manually.)</li>
<li>Once the OpenSim console appears &#8211; you should be good to go.</li>
</ol>
<h3>How to get this tool:</h3>
<p>This is an Open Source utility released under a liberal BSD license. The latest source may be obtained via github</p>
<p><strong>Source Code:</strong> <a href="http://github.com/AdamFrisby/OSGridLauncher">http://github.com/AdamFrisby/OSGridLauncher</a></p>
<p><strong>Release Download:</strong> <a href="http://www.adamfrisby.com/OSGL-r0.22.exe">http://www.adamfrisby.com/OSGL-r0.22.exe</a></p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/12/the-automated-osgrid-region-launcher/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>85.</title>
		<link>http://www.adamfrisby.com/blog/2009/10/85-users/</link>
		<comments>http://www.adamfrisby.com/blog/2009/10/85-users/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 23:39:26 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[load test]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[wright plaza]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=478</guid>
		<description><![CDATA[OK, so we didn&#8217;t quite get to 100 as originally planned &#8211; but this time it wasn&#8217;t OpenSim&#8217;s fault. Yes, by the end you could tell the sim was straining &#8211; and at about 65 avatars, the physics engine finally choked on trying to solve a 15 avatar capsule interpenetration (or at least, my interpretation [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so we didn&#8217;t quite get to 100 as originally planned &#8211; but this time it wasn&#8217;t OpenSim&#8217;s fault. Yes, by the end you could tell the sim <em>was</em> straining &#8211; and at about 65 avatars, the physics engine finally choked on trying to solve a 15 avatar capsule interpenetration (or at least, my interpretation of the bug &#8211; analysis pending); but it kept on accepting logins and people kept arriving &#8211; and very quickly we hit 70, &#8230; 75, &#8230; 80 then peaked at <strong>85</strong> before running out of people, slipping back to 79 and manually shutting the sim down to grab the all important debug dump.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/loadtest2.jpg"><img class="alignnone size-thumbnail wp-image-480" title="85 Avatars in Wright Plaza" src="http://www.adamfrisby.com/blog/wp-content/uploads/loadtest2-680x251.jpg" alt="85 Avatars in Wright Plaza" width="680" height="251" /></a></p>
<p>It&#8217;s important to note here &#8211; these were real clients, using SL-derived viewers. By comparison libsl is a lot friendlier on the packet engine than the full viewer, so bots tend to be a less effective test. (Plus users introduce randomness that bots cant quite emulate). Wright Plaza with 85 avatars and their attachments weighs in at a healthy 15,400 prims &#8211; so there was no shortage of texture of prim data to be sent to each client &#8211; it&#8217;s actually probably one of the nastiest sims to do load tests in &#8211; which makes it great for this. Furthermore the hardware it is located on isn&#8217;t exactly top of the line, or even middle-of-the-line.</p>
<p>The short news is &#8211; we&#8217;ve made some really impressive progress in the the last week. <a href="http://www.metaverseink.com/blog/?p=25">Earlier we got up to 50</a> &#8211; which was tweaked, tailored and adjusted to get us to where 100 or even 150 isn&#8217;t really that out of the question anymore. There&#8217;s three big causes for this &#8211; first, abandoning OpenJpeg for decoding J2K textures made some <em>very noticable</em> improvements to stability (it&#8217;s in progress to abandon it for Encoding too); this means we&#8217;re not crashing on the way up &#8211; which means we can hit higher concurrencies more reliably. Second &#8211; John Hurliman from Intel rewrote our throttle routines and some low-level packeting code, which delivered a big boost to packet performance. Third &#8211; multiple efforts to reduce memory use in key places, has at least halved operating memory requirements &#8211; at 85 concurrent, memory was peaking at a mere 1.7gb (~20mb/user).</p>
<p>A result of these improvements has been memory IO is no longer such a major bottleneck &#8211; we&#8217;re actually beggining to hit the point where CPU usage is nearly becoming a more important bottleneck (we were hitting 90% CPU at peak &#8212; although the physics interpenetration mentioned above might be distorting this, since it could lead to run-away CPU use) &#8211; which is a refreshing change, since it is a lot easier to optimise around, and the tools for CPU use profiling are a lot better than those for memory IO profiling &#8211; and produce a lot more meaningful information.</p>
<p>We&#8217;d like to continue these load tests &#8211; the information the devs have gotten in the last week has been absolutely invaluable. Having a big pool of testers able to jump in on a moments notice has resulted in getting performance fixes tested and integrated a lot faster than usual &#8211; it&#8217;s also helped stability, each crash has been diagnosed and debugged in series as it is encountered. It&#8217;d be very easy to say that performance &amp; stability wise, more has happened in the last week than the last 6 months &#8211; and we still need your help to keep going. We&#8217;re going to be continuing these load tests next week &#8211; there will probably be another major effort at getting 100+ avatars in a sim next Friday (same time, 1PM PST). If you want to know when the next test is planned, and help out &#8211; either hang around in #opensim on Freenode, or follow <a href="http://twitter.com/osgrid">@osgrid</a> or <a href="http://twitter.com/adamfrisby">@adamfrisby</a> where I&#8217;ll announce them they come.</p>
<p>Next stop, 150.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/10/85-users/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Building the Ringworld Racetrack &#8211; Part 1</title>
		<link>http://www.adamfrisby.com/blog/2009/09/building-the-ringworld-racetrack-part-1/</link>
		<comments>http://www.adamfrisby.com/blog/2009/09/building-the-ringworld-racetrack-part-1/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 06:45:02 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[hypergrid]]></category>
		<category><![CDATA[megaregions]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[ringworld racetrack]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[vehicles]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=437</guid>
		<description><![CDATA[
One racetrack, a little over 4 square kilometers of space (or 4,194,304sqm). This is my first attempt to build something with a bit of scale to it, now that we&#8217;ve got mega-regions working in OpenSim. (and vehicles.)
To start with, I need a terrain large enough to encompass the entire area (there&#8217;s no way in hell [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/Snapshot_008b.jpg"><img class="alignnone size-thumbnail wp-image-445" title="The Racetrack" src="http://www.adamfrisby.com/blog/wp-content/uploads/Snapshot_008b-680x411.jpg" alt="The Racetrack" width="680" height="411" /></a></p>
<p>One racetrack, a little over 4 square kilometers of space (or 4,194,304sqm). This is my first attempt to build something with a bit of scale to it, now that we&#8217;ve got mega-regions working in OpenSim. (and vehicles.)</p>
<p>To start with, I need a terrain large enough to encompass the entire area (there&#8217;s no way in hell I&#8217;m manually terraforming this one) &#8211; courtesy of DeepThink, I have a license to World Machine Professional, a commercial terrain editing package that absolutely kicks ass. World Machine builds terrains in a semi-layered manner, then allows you to combine those through a railroad-style filter scheme.</p>
<p>Grabbing one of the World Machine samples as a base (since it had road layers already setup), I modified them and redrew the paths to build a 16&#215;4 sim (4096&#215;1024) terrain and rendered it. You can see the output in World Machine below, of course from this scale it doesn&#8217;t really do it justice.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/ringworld_worldmachine.jpg"><img class="alignnone size-thumbnail wp-image-439" title="The racetrack in World Machine" src="http://www.adamfrisby.com/blog/wp-content/uploads/ringworld_worldmachine-680x389.jpg" alt="The racetrack in World Machine" width="680" height="389" /></a></p>
<p>Travelling at 55.5m/sec (200kph, 124mph) &#8211; you will cross into another region-sized space every 5 seconds; but the total racetrack length means that even at this speed it will take over a minute to complete, encompassing a minimum of 16 region-sized areas, which in turn is only a small subset of the entire space availible. Taking a picture of the terrain loaded into the mega region, you can see just how insignificant an avatar is at this scale.</p>
<p><img class="alignnone size-full wp-image-438" title="The Ringworld Racetrack - Untextured" src="http://www.adamfrisby.com/blog/wp-content/uploads/ringworld_terrain.jpg" alt="The Ringworld Racetrack - Untextured" width="680" height="412" /></p>
<p>This is compounded by the fact that the viewer refuses to put it&#8217;s &#8220;farclip&#8221; beyond about 4 sims distance, so at best you can see 1/4 of the track at once. The ringworld walls are each about 150m tall at this scale; and geographical features are quite recognisable as geographical features.</p>
<p>Of course, we can&#8217;t just leave it at that &#8211; to quote Mythbusters, &#8220;if it is worth doing, it is worth overdoing&#8221;, so I pulled up the terrain in world machine again, and decided to go a little bigger. I originally made it at 48&#215;4 sims, however had to crop back to 32&#215;4 due to my machine needing more memory to do the resulting 12,288 x 1024 terrain without swapping on disk constantly (resulting in a multi-hour render). For scale reference, the smaller of the two circles is about the dimensions of a single normal region.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/ringworld_worldmachine2.jpg"><img class="alignnone size-thumbnail wp-image-441" title="A 32x4 Megaregion Version" src="http://www.adamfrisby.com/blog/wp-content/uploads/ringworld_worldmachine2-680x129.jpg" alt="A 32x4 Megaregion Version" width="680" height="129" /></a></p>
<p>Part 2 will cover texturing and detailing this race track, followed by some first impressions of how it behaves with Kitto&#8217;s new vehicle patches. Once I&#8217;m done with it, it will go up live on the Hypergrid (and probably OSgrid) for public perusal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/09/building-the-ringworld-racetrack-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vehicles, Sculpty Terrain, Megaregions</title>
		<link>http://www.adamfrisby.com/blog/2009/09/vehicles-sculpty-terrain-megaregions/</link>
		<comments>http://www.adamfrisby.com/blog/2009/09/vehicles-sculpty-terrain-megaregions/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 06:37:22 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[megaregions]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[sculpty]]></category>
		<category><![CDATA[shiny]]></category>
		<category><![CDATA[terrain]]></category>
		<category><![CDATA[vehicles]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=430</guid>
		<description><![CDATA[
Kitto Flora deserves some major kudos for recent developments with OpenSim vehicles. Not only do they work, but the revised car script I toyed with earlier today &#8211; was actually quite usable; and dare I say it? good. All of this is thanks to Kitto&#8217;s work refining and improving the vehicle functions and how they [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/sculpty_terrain_megaregion3.jpg"><img class="alignnone size-thumbnail wp-image-431" title="Sculpty Megaregion Terrain" src="http://www.adamfrisby.com/blog/wp-content/uploads/sculpty_terrain_megaregion3-680x162.jpg" alt="Sculpty Megaregion Terrain" width="680" height="162" /></a></p>
<p>Kitto Flora deserves some major kudos for recent developments with OpenSim vehicles. Not only do they work, but the revised car script I toyed with earlier today &#8211; was actually quite usable; and dare I say it? good. All of this is thanks to Kitto&#8217;s work refining and improving the vehicle functions and how they interrelate with the internal ODE physics engine.</p>
<p>I could speculate here, and say if you were a decent vehicle coder &#8211; you could probably do some amazing things with OpenSim these days. So what happens if you combine these new vehicles, with Teravus&#8217;s recent mega regions code, and my sculpty terrain code (with mods from nebadon)? This. (<em>Recommend jumping to about 4:40</em>)</p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/w4BV1CNF6n8&#038;hl=en&#038;fs=1&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/w4BV1CNF6n8&#038;hl=en&#038;fs=1&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p>(Edit: Added a new link to the video &#8211; 22/09/09)</p>
<p>I probably do not need to go into too much detail here &#8211; the above is a 3<sub>x</sub>3 megaregion, using 576 physical sculpts, Kitto&#8217;s latest ODE mods &amp; vehicle script &#8211; running on a home users cable connection; with several people driving around at once. Not only does it work &#8211; it suprisingly works well. I expect a more skilled texture artist could pull some amazing things off with the sculpty terrain code &#8211; the terrain is just a quick output from L3DT done by Nebadon.</p>
<p>The vehicle code isnt in trunk quite yet &#8211; but if you ask around in #osgrid, I&#8217;m sure someone can point you to the github account where you can get the ODE patches. I&#8217;m sure much like mega-regions, it will be in trunk soon enough.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/sculpty_terrain_megaregion.jpg"><img class="alignnone size-thumbnail wp-image-432" title="Sculpty Megaregion Terrain" src="http://www.adamfrisby.com/blog/wp-content/uploads/sculpty_terrain_megaregion-680x205.jpg" alt="Sculpty Megaregion Terrain" width="680" height="205" /></a></p>
<p><strong>Credits:</strong> Kitto Flora (vehicles), Teravus (megaregions), Nebadon (video, hosting, testing, sculpty terrain), Bri Hasp &amp; Hiro Protagonist (hosting &amp; testing), Myself (sculpty terrain generator).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/09/vehicles-sculpty-terrain-megaregions/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SimHost.com &#8211; OpenSim &amp; realXtend Hosting</title>
		<link>http://www.adamfrisby.com/blog/2009/09/simhost-com-opensim-realxtend-hosting/</link>
		<comments>http://www.adamfrisby.com/blog/2009/09/simhost-com-opensim-realxtend-hosting/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 12:13:20 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[SimHost]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[realXtend]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[realxtend]]></category>
		<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=421</guid>
		<description><![CDATA[
We&#8217;ve just launched our brand-new OpenSim &#38; realXtend hosting service &#8211; at what we think are pretty decent rates. $49.95/mo gets you 1024MB of dedicated memory plus a dedicated processor core, including fully managed OpenSim support. James Stallings (a veteran OpenSim sys-admin and grid operator for OSgrid) is managing the operations side and providing full-time [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-422" title="SimHost.com Banner" src="http://www.adamfrisby.com/blog/wp-content/uploads/simhost_banner.png" alt="SimHost.com Banner" width="675" height="71" /></p>
<p>We&#8217;ve just launched our brand-new OpenSim &amp; realXtend hosting service &#8211; at what we think are pretty decent rates. $49.95/mo gets you 1024MB of dedicated memory plus a dedicated processor core, including fully managed OpenSim support. James Stallings (a veteran OpenSim sys-admin and grid operator for OSgrid) is managing the operations side and providing full-time dedicated support for SimHost.</p>
<p>So what&#8217;s that price get you?</p>
<ul>
<li>Fully Managed Support (we&#8217;ll deal with sim crashes, and keeping your simulator alive.)</li>
<li>Regular Updates of the official OpenSim Software (we know you like the latest shinies &#8211; so we can provide them)</li>
<li>Good Quality Hardware &#8211; 1GB of dedicated memory + 1 Processor Core is our &#8216;minimum&#8217;.</li>
<li>Warm fuzzy feeling that money you pay is going to feeding OpenSim developers (our profits are being reinvested in the platform)</li>
<li>Grid Agnostic Connections &#8211; Run your own grid (Standalone), Connect to OSGrid or any other public grid. It&#8217;s your choice. We wont force you into our own private grid.</li>
</ul>
<p>For a little bit extra per month, we have a premium plan that includes 4 regions, the option to use modular realxtend (modrex &#8212; not compatible with some other features, just ask us.) and the option for us to run versions that aren&#8217;t quite properly tested yet (they require more support on our behalf, hence the higher rate.) &#8211; such as megaregions and other more experimental features (we&#8217;ll need to talk with you about risks first though.)</p>
<p>If you input the promocode &#8220;ADAMFRISBY&#8221; (no quotes) you will get a bonus $5.00/mo off the pricing too. (So you can get our standard package for only $44.95/mo).</p>
<p>Web: <a href="http://www.simhost.com/">www.simhost.com</a><br />
Live &amp; Ticketed Support: <a href="http://www.simhost.com/support">www.simhost.com/support</a></p>
<p>If you have any questions &#8211; feel free to contact support and they will be happy to answer them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/09/simhost-com-opensim-realxtend-hosting/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>OpenSim on OSGrid &#8211; A HOWTO</title>
		<link>http://www.adamfrisby.com/blog/2009/08/opensim-on-osgrid-a-howto/</link>
		<comments>http://www.adamfrisby.com/blog/2009/08/opensim-on-osgrid-a-howto/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 09:46:12 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[connecting regions]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[osgrid]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=399</guid>
		<description><![CDATA[
OpenSimulator is experimental software. If it breaks, you get to keep both pieces.
OSGrid &#8220;map tiles&#8221; are only reserved for you while your region is online, if your region is offline it risks having it&#8217;s location taken by another user. OSGrid Admins may help resolve map position disputes, however it is not our responsibility to keep [...]]]></description>
			<content:encoded><![CDATA[<div class="contentWrapper user_settings">
<blockquote><p>OpenSimulator is experimental software. If it breaks, you get to keep both pieces.</p>
<p>OSGrid &#8220;map tiles&#8221; are only reserved for you while your region is online, if your region is offline it risks having it&#8217;s location taken by another user. OSGrid Admins may help resolve map position disputes, however it is not our responsibility to keep your location.</p>
<p><em>- OSGrid.org &#8220;How to Connect a Region&#8221;</em></p></blockquote>
</div>
<p>Connecting a region to OSGrid is a rewarding experience &#8211; many users however run into the difficulty of instructions being out of date; and while this set too will eventually go stale &#8211; they should at least be current for the next few months. Before getting started &#8211; you need to decide on a few things; information about your region (what to call it, where to put it on the map), where you will host it (at home, or on a dedicated server)</p>
<p>OSGrid is a free OpenSimulator network &#8211; connecting a region and using the central services is done free without charge (however donations to keep the infrastructure running are appreciated.)</p>
<p>First &#8211; this guide assumes Windows, and also assumes you are hosting from home. Users running in more professional setups will need to adapt accordingly. You may be able to skip a large portion of this setup procedure, by using the automated &#8216;OSGrid Region Launcher&#8217; utility, you can <a href="http://www.osgrid.org/elgg/pg/pages/view/52761/">download a copy of this experimental tool</a> from the OSGrid Website; however this has not been confirmed to work with all users (nonetheless, I recommend it as a <em>first step</em>).</p>
<h3>Preparing your region</h3>
<p>Before we undergo the region setup process, you need to know your internet facing IP address, have setup appropriate port forwards. OpenSimulator by default will use Port 9000 on TCP <strong>and</strong> UDP; if you are behind a router you need to forward these ports to the machine that will be running the simulator instance. If you don&#8217;t know how to do this &#8211; see experimental tool listed above; or consult instructions for your router. You will also need to configure your router to enable &#8216;NAT Loopback&#8217; &#8211; some support this by default, some don&#8217;t. If yours doesn&#8217;t, you may be out of luck and will need to host somewhere else (see <a href="http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/">my article on that topic</a>).</p>
<p>You will need to gather two bits of information about your hosting environment, first is your internet-facing IP address &#8211; if you do not know it, visit <a href="http://www.osgrid.org/elgg/pg/utilities/autoip">this page</a>. The second is some spare coordinates on the OSGrid World Map. If you don&#8217;t know them (or dont care to work some out), you can use <a href="http://www.osgrid.org/elgg/pg/utilities/autocoord">this page here</a>. Record both of these bits of information, because you will need them in a moment.</p>
<p>Download a copy of the OSGrid Package. It&#8217;s usually about 40mb, and can be currently found at this address: <a href="http://www.osgrid.org/elgg/pg/utilities/software">http://www.osgrid.org/elgg/pg/utilities/software</a></p>
<p>Unzip this package; and look for &#8216;OpenSim.32BitLaunch.exe&#8217; &#8211; ignore the other files within the directory (regardless of whether you have a 64bit or 32bit system) &#8211; right click on it, and hit &#8216;Run As Administrator&#8217;; text will scroll by for a little while, then you will be asked a series of questions, in the format &#8220;Question Name [default]: _&#8221; &#8211; the following is how to answer these questions.</p>
<h3>Questions</h3>
<ul>
<li>New Region Name []:<br />
This is the name of the region that you want, it should be less than 64 characters long &#8211; and cannot conflict with any existing registered region.</li>
<li>Region UUID[random]:<br />
You can ignore this, just hit enter.</li>
<li>Region Location [1000,1000]:<br />
Enter here the region coordinates you wrote down above &#8211; exactly as printed in the &#8216;autocoord&#8217; web page &#8211; that is, two numbers with a comma between them and no spaces. (The first number is the X coordinate, second the Y)</li>
<li>Internal IP address [0.0.0.0]:<br />
Hit enter here &#8211; 0.0.0.0 means use &#8216;any availible IP&#8217;; this should be your choice unless you know better.</li>
<li>Internal Port [9000]:<br />
This should be 9000, hit enter to use the default.</li>
<li>Allow alternate ports [False]:<br />
If you are using port forwarding, leave this setting as &#8216;False&#8217; and just hit enter.</li>
<li>External Host Name [SYSTEMIP]:<br />
For this setting you need to put in your internet-facing IP address (or DNS address); you can use the exact output of the page listed above.</li>
<li>Master Avatar UUID<br />
Skip this setting &#8211; just press enter.</li>
<li>Master Avatar First Name<br />
Enter the first name of your avatar name here &#8211; my Avatar Name is &#8220;Adam Frisby&#8221;, so here I would enter &#8220;Adam&#8221; (no quotes)</li>
<li>Master Avatar Last Name<br />
Enter the lastname of your avatar &#8211; eg; &#8220;Frisby&#8221; (again, without quotes)</li>
</ul>
<p>With a bit of luck, your region should have registered with the grid and is now accessible. Login to the grid, and try teleport to your region via the world map. If it connected successfully; then that is all you need to do &#8211; your region is now online.</p>
<p>Chances are however, something went wrong.</p>
<h3>Troubleshooting</h3>
<p>The following are the common sources of problems when hosting a region from home</p>
<ul>
<li><strong>&#8220;Remote Destination Timed Out&#8221;</strong>, or <strong>&#8220;Remote Destination is not responding&#8221;</strong><br />
This error means that your port forwarding was not done correctly; and that the grid services were not able to connect to your region on the TCP port. Double check your port forwarding, and that your external hostname is correct.</li>
<li>&#8220;<strong>Could not connect to region</strong>&#8220;, or &#8220;<strong>(done)</strong>&#8220;, or &#8220;<strong>Despite our best efforts, something has gone wrong</strong>&#8220;.<br />
This is a more insidious error, it means the grid was able to contact your region server on the TCP port, however the client was unable to contact your region server &#8211; double check your port forwarding and check that you have NAT Loopback enabled. If it still gives you problems; your router is incompatible with OpenSim &#8211; you may want to <a href="http://opensimulator.org/wiki/NAT_Loopback_Routers">read this article on the opensim wiki</a> for additional pointers.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/08/opensim-on-osgrid-a-howto/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>On Content Management, Standards &amp; Practices.</title>
		<link>http://www.adamfrisby.com/blog/2009/08/on-content-management-standards-practices/</link>
		<comments>http://www.adamfrisby.com/blog/2009/08/on-content-management-standards-practices/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 08:16:08 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[Copyright]]></category>
		<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[licensing]]></category>
		<category><![CDATA[not again]]></category>
		<category><![CDATA[permissions]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=391</guid>
		<description><![CDATA[I wanted to take a few moments to publically reply to Linden Lab&#8217;s recent changes to content management policy. I think overall it is a step in the right direction; however one subsection of the policy leaves me with grave reservations &#8211; the suggested standards for backup utilities. To quote from the original posting on [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to take a few moments to publically reply to Linden Lab&#8217;s recent changes to content management policy. I think <strong>overall it is a step in the right direction</strong>; however one subsection of the policy leaves me with grave reservations &#8211; the suggested standards for backup utilities. To quote from the <a href="https://blogs.secondlife.com/community/community/blog/2009/08/04/our-content-management-roadmap">original posting</a> on this subject:</p>
<blockquote><p>To those developing copying tools, we urge the simultaneous development of standard industry practices that protect against intellectual property infringement. For example, consider the following standard practices for tools copying content from Second Life:</p>
<ol>
<li>Check that the user of the tool is the Second Life “creator” of the content;</li>
<li>Do not facilitate the export of an entire Second Life inventory; and</li>
<li>Preserve the Second Life “creator” name and information that the content was originally created in the Second Life virtual world.</li>
</ol>
</blockquote>
<p>To summarise in other words, &#8220;You may only export content you created, and only if you label them as something you created in Second Life first, with your second life avatar name; and you cannot back up your whole inventory at once &#8211; you must do so piecemeal.&#8221; &#8211; every single one of these restrictions eliminates a large swathe of legitimate users and uses. Let&#8217;s go into them in detail.</p>
<h3>Check that the user of the tool is the Second Life “creator” of the content</h3>
<p>You have now eliminated all the content that is explicitly marked as compatible off-grid; everything licensed under creative commons or Open Source licenses, everything in the public domain. While I concur with &#8216;Full Permission != Permission to Export&#8217;; there is no way right now of programmatically indicating whether you want to allow content to be exported &#8212; however there are ways of legally indicating it, such as license files, README notecards, et al.</p>
<p>While Full Permissions are not an ideal situation &#8211; the overlap between content allowed off-grid, and full permission freebies is significant enough that a full permission check is a acceptable compromise. I personally would say &#8216;Full Permission OR Creator&#8217;; as both indicate a high level of permissiveness with the content itself (and the creator should always be able to export their own content). It is worth noting that Second Inventory (the popular backup tool) has been using &#8216;Full Permission&#8217; as its own metric for over a year now; with I believe mostly acceptable results (it is not used as an infringement tool &#8211; the infringement part is always done by a illegitimate tool first).</p>
<h3>Do not facilitate the export of an entire Second Life inventory</h3>
<p><em>Hello.</em></p>
<p>The only possible reasoning for this I imagine is simply to prevent competition &#8211; by allowing full inventory export; you make it easy to translate content you developed from Second Life, to the numerous third party grids. If someone high profile wants to leave for one of these, these tools definetely help streamline the process. With 50,000+ downloads of the OpenSimulator software since December &#8211; I suspect there is an alterior motive for this &#8217;standard&#8217; that is not related at all to helping content creators; infact I cannot see a reason at all where this helps Content Creators.</p>
<p>The unintentional targets of this are now people who perform inventory backups &#8211; the Second Life Inventory server is about 99.99% reliable &#8211; which means 1 in 10,000 users can expect to lose their whole inventory, and 1 in 10,000 items will mysteriously vanish over the course of a year. There are reasons why Second Inventory market themselves as a backup tool for the unreliable asset &amp; inventory services &#8211; and it is distinctly related to deficiencies in the platform itself.</p>
<p>As far as I can tell, this rule makes backups harder &#8211; which hurts content creators, because legitimate backup tools are now out of the question. It&#8217;s also saying something about the supposed &#8216;You own your IP&#8217; line Linden Lab has been stating for the last 7 years. If we own our IP, how can you state what we can do with it?</p>
<p>which brings us to&#8230;</p>
<h3>Preserve the Second Life “creator” name and information that the content was originally created in the Second Life virtual world.</h3>
<p>Many probably want to be able to do this optionally; but it is not a mandatory feature. Mandating this indicates that you do not have control over your IP &#8211; because Linden Lab is going to demand attribution to Second Life. We at DeepThink developed a whole bunch of content over the last 2 years for use in <em>both </em>Second Life and OpenSim &#8211; I dont want that attributed to our content creation account, I want that attributed to:</p>
<blockquote><p>DeepThink Pty Ltd. &lt;www.deepthinklabs.com&gt; &#8211; Copyright©2008, See attached license for licensing information</p></blockquote>
<p>and not&#8230;</p>
<blockquote><p>Adam Zaius &#8211; Second Life</p></blockquote>
<p>Forcing the latter is stupid, and less effective than the former. The latter does not hold any form of copyright, it does not imply any license &#8211; and it does not imply any contact information for the creator or copyright holding entity [especially if they leave SL]. The tools should include the capability to add attribution metadata, and maybe they can default to showing a Second Life name (eg &#8216;Adam Zaius inSL&#8217;) &#8211; but ultimately, *<strong>I</strong>* want freeform legal attribution &#8211; which carries a lot more weight in the real world, where copyright matters.</p>
<p>This personally reeks of an disingenous alterior motive &#8211; particularly the last bit (Created in SL) &#8211; I&#8217;m very skeptical that Linden Lab would be able to legally enforce this; Textures and other assets have no &#8216;creative&#8217; input by Linden Lab. The procedural primitive modelling may have some effect, but since a process is not legally creative &#8211; I dont believe the procedural algorithms themselves contribute creatively to the final work significantly enough to give Linden Lab joint copyright &#8212; although a legal experts opinion is<em> definetely </em>required here.</p>
<h3>Ultimately, I think this is a counterproductive effort.</h3>
<p>While I think this came from a earnest and honest discussion internally at Linden Lab &#8211; I dont believe it has any real world capacity to solve any real problems. Second Life needs a permission system that is capable of indicating an export permission. It should be clearly marked &#8216;Allow Export&#8217;; and be tied hand-in-hand with full permissions (so you can only check &#8216;Allow Export&#8217; on existing full permission content &#8212; this way people are under no pretenses)</p>
<p>It&#8217;s not an ideal solution to the permission model&#8217;s deficiencies &#8211; but it would be a much better start than the three listed above. Since permissions are implemented as a 32-bit bitflags on the backend, and 28 bits are currently unused, implementing this would require no significant database or architectural modifications to Linden Lab&#8217;s backend (if anything it is just a viewer modification.) &#8211; it would be a very simple modification to make.</p>
<p>As a administrator on the most popular alternate grid &#8211; I dont want content on the grid that doesn&#8217;t belong. Infact we do spend a great deal of time making sure that our freebie locations and newbie content is all legitimately licensed (tell us if you find something that isn&#8217;t!), and the original creator intended the content to be there; anything that simplifies that process has my wholehearted approval.</p>
<p>Illegitimate content is not just irritating to deal with, it is also a legal minefield &#8211; we do have a DMCA process for OSGrid, and we&#8217;ve got some pretty sophisticated ways of removing every instance of an asset off the core servers, but it is a painful and annoying process. DMCA takedowns require certain legal procedures to be followed to the letter &#8211; which makes things a liability if they are done wrong; and there are significant extra considerations for non-US residents and servers.</p>
<p>Speaking with four hats on &#8211; that of a Grid Admin, Software Developer, Copyright Holder and Consumer &#8211; my firm response to this proposal is &#8216;go back, and try again.&#8217; &#8211; because it&#8217;s not satisfying the requirements; and won&#8217;t do squat to solve the problem of content piracy; infact it will likely have the opposite effect where legitimate tools are handcuffed, and users favour of ones of illegitimate design.</p>
<p>There are good solutions to this problem, and I&#8217;ve got a proposal of my own in the works (one that I have been working on for a number of weeks already) &#8211; but these &#8216;Standards and Practices&#8217; are complete hogwash; and degrate creator rights by imposing restrictions on what creators can do with their <em>own content</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/08/on-content-management-standards-practices/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Inside the Asset Server</title>
		<link>http://www.adamfrisby.com/blog/2009/07/inside-the-asset-server/</link>
		<comments>http://www.adamfrisby.com/blog/2009/07/inside-the-asset-server/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 09:43:27 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[assets]]></category>
		<category><![CDATA[fragstore]]></category>
		<category><![CDATA[inventory]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[second life]]></category>
		<category><![CDATA[UGAIM]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=379</guid>
		<description><![CDATA[The single most misunderstood bit of technology in both OpenSim and Second Life is the thing called the asset server; while my understanding of the backend of Second Life&#8217;s asset cluster is limited (Squid+Isilon AFAIK) &#8211; my understanding of OpenSim&#8217;s is fairly comprehensive.
Let&#8217;s start with the basics &#8211; the asset server is a gigantic document [...]]]></description>
			<content:encoded><![CDATA[<p>The single most misunderstood bit of technology in both OpenSim and Second Life is the thing called the asset server; while my understanding of the backend of Second Life&#8217;s asset cluster is limited <em>(<a href="http://www.squid-cache.org/">Squid</a>+<a href="http://www.isilon.com/">Isilon</a> AFAIK)</em> &#8211; my understanding of OpenSim&#8217;s is fairly comprehensive.</p>
<p>Let&#8217;s start with the basics &#8211; the asset server is a gigantic document storage server. In our cases, documents are things such as primitives, textures, sounds, avatars &#8211; the works.</p>
<p>Each document is referred to by a specific unique filename called a UUID &#8211; which is  a 128-bit number (think 3 with 38 zeros behind it &#8211; big number) &#8211; a UUID looks something like this &#8220;d61c1990-79b9-11de-8a39-0800200c9a66&#8243; when represented in hexadecimal notation. You have probably seen them around a lot &#8211; just using OpenSim or Second Life.</p>
<p>A UUID is an excellent choice for a filename; because you can make them up randomly and statistically guaruntee it hasnt been used before (the chance of a UUID duplicate for a good random UUID is about <a href="http://en.wikipedia.org/wiki/Universally_Unique_Identifier#Random_UUID_probability_of_duplicates">1 in a very very very <em>very</em> large number</a>). This means you can have multiple asset servers on the one grid &#8211; each upload can be given an ID randomly, without the need for a central authority to give them out.</p>
<p>They also optimize extremely well &#8211; each &#8220;bit&#8221; is a single yes or no question; to find out exactly where an asset is located, you can play a game of 20 questions, but in this case, with 128 bits &#8211; you can ask 128 questions. For example; finding which server an asset is located on, in a server farm with 4 machines (labelled 1,2,3 &amp; 4) could be found with the following question chain&#8230;</p>
<ol>
<li>Is the asset on a server labelled closer to 4 than 1? (yes &#8211; servers 3,4 still possibilities)</li>
<li>Is the asset on an odd numbered server? (yes &#8211; located on server 3)</li>
</ol>
<p>Asset found on server #3. It&#8217;s not very long is it? Even with say 300 servers; you can find the answer within 9 questions. Some further searching is needed to be done to locate the asset on the physical disk itself; but even then you will be asking a very small number of questions &#8211; far less than the maximum 128 allowed.</p>
<p>To put this into a diagram, fetching an asset directly by it&#8217;s indexed UUID is equivilent to something like this:</p>
<div id="attachment_381" class="wp-caption alignnone" style="width: 653px"><img class="size-full wp-image-381" title="Fetching an Asset" src="http://www.adamfrisby.com/blog/wp-content/uploads/assetfetch.png" alt="Fig 1. How asset UUIDs divide and conquer" width="643" height="525" /><p class="wp-caption-text">Fig 1. How asset UUIDs divide and conquer</p></div>
<p>Given that computers are capable of asking and answering questions very very quickly (several billion per second); and that none of the above questions require a central server; you can expand your asset server farm in a fairly linear fashion without scaling constraints; providing that you structure your data appropriately.</p>
<p>128 questions also means that you can define very very precise questions; so many that if you created 100 trillion assets every second; the sun would be lifeless before you ran out of address space that can be answered by that many questions. (Although a piece of statistical mathematics called the <a href="http://en.wikipedia.org/wiki/Birthday_Paradox">Birthday Paradox</a> does make the address space significantly less usable the closer you get to that point &#8211; but for other reasons)</p>
<p>At this point, we know how assets are stored and retrieved &#8211; files are uploaded into the server farm, and given a UUID; that UUID can be used to find out where the asset is located precisely, and return the data later. However, when you access an item off the asset server; there&#8217;s only a modest chance you are accessing the asset by it&#8217;s UUID directly.</p>
<p>A lot of the time, you will be accessing the asset through a layer of redirection called the Inventory Server &#8211; if you have a texture within your inventory; there are actually two components; the first component is the data itself (the asset), and the second component is the inventory shell (uploader, time uploaded, permissions, reference to the asset, etc). When you lose an item of inventory (such as during a transaction); it is often not the asset servers fault, but instead the inventory server.</p>
<p>The inventory server exists so that if you give a copy of a texture to a friend; you and that friend do not make a duplicate copy of the heavier portion (the asset) &#8211; both inventory items, yours and your friends will have the same underlying asset ID. This also means that copying an item within your inventory will not prevent it from being saved during a asset glitch (as both point at the same data).</p>
<p>In Second Life®, the inventory server is using MySQL (and <em>probably</em> InnoDB), and the asset server uses IsilonFS (a custom hardware appliance based system.); in OpenSim this will vary a lot depending on the providers configuration &#8211; most grids use a SQL backend for storing both assets and inventory. By default, OpenSim will use a small embedded database for both Inventory and Assets &#8211; called SQLite. For grids, we recommend something more robust.</p>
<p>In grid mode, MySQL is still an appropriate solution for Inventory; however asset data will often exceed the normal operating tolerances of MySQL and lead to frequent table corruption, table locking issues (which in turn make performance suck) and other nasties. No large grid should be using MySQL for assets (small home and private grids are however fine.)</p>
<p>Grids such as ReactionGrid which use MS-SQL can get a bit further than MySQL when storing asset data (for inventory they are fundementally the same); MS-SQL like most <em>sane </em>database engines, store BLOB data seperately in a BSP-Tree indexed system; this means they can scale up pretty far (although at about the point of clustering, things degrade.); Postgres can do the same &#8211; however as best I am aware, Postgres is not yet properly supported in OpenSim.</p>
<p>For bigger grids like OSGrid (where we have hundreds of gigabytes of assets) a dedicated solution is ideal &#8211; unlike Second Life, we cant afford to purchase high end NAS-equipment for our storage solutions; so we have built a distributed system called Fragstore which has two big features.</p>
<ol>
<li> A configurable backend &#8211; it can use distributed storage systems (such as Project Voldemort or Hadoop), or export to a filesystem (which can be a distributed filesystem via projects like KosmosFS.)</li>
<li>A duplicate detection system &#8211; so files uploaded twice only get stored once.</li>
</ol>
<p>The duplicate detection is achieved via a secondary layer of indirection; when we allocate a UUID, we hash the incoming data (256-bit SHA1) and store the UUID and the Hash into a small database table (currently MySQL based); when we recieve future uploads; if the hash matches, the result is only stored once on disk.</p>
<p>The final point I would like to touch on is asset transmission and security &#8211; assets are transmitted in both SL and OpenSim over HTTP; the reason this works and is secure is because the UUIDs used in the requests are unguessable. Even by a computer making millions of guesses per second; the chance of hitting a valid address is very very small (same probability as generating a duplicate UUID).</p>
<p>From the asset server to the region server, the request is something in the form of http://assetserver.com/&lt;uuid&gt;/data &#8211; which will return the asset in a encoded container (usually packaging a little bit more information about the asset such as the content type, etc.) &#8211; using /metadata instead of /data will get you a JSON-encoded package with a bit more information about the asset (creation date, specific asset type, etc.)</p>
<p>From the region servers to the users &#8211; this transmission can vary a little. In both SL and OpenSim, the region servers act as proxy caches for the asset server; because assets cannot be updated (and instead are replaced) &#8211; this works fairly well. If twenty users in a region see a texture &#8211; it only needs to be fetched off the core asset service once; because the region will send it twenty times to the users; rather than twenty users hitting the core server.</p>
<p>In the case of OSGrid, this means we have 2,500+ reverse proxies sitting infront of the asset server (albeit in a somewhat suboptimal layout.); it reduces the bandwidth on the core asset server by approximately 90%+ (<a href="http://assets.osgrid.org/stats/">you can see our asset stats here</a>); which means we can get away with much lower operating costs (since asset delivery costs are shared with region operators).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/07/inside-the-asset-server/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>OSGrid Turns 2</title>
		<link>http://www.adamfrisby.com/blog/2009/07/osgrid-turns-2/</link>
		<comments>http://www.adamfrisby.com/blog/2009/07/osgrid-turns-2/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 07:17:18 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[osgrid]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=368</guid>
		<description><![CDATA[Yesterday, OSGrid officially turned 2, at the opening presentation hosted by yours truly. OpenSim interrupted my presentation just once &#8211; at about 40 minutes into it with 53 avatars, Mono finally kicked the bucket. (It crashed again just after I had finished. Serendipity at work!)

We&#8217;ve been experimenting with Vivox, so the entire presentation was streamed [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, OSGrid officially turned 2, at the opening presentation hosted by yours truly. OpenSim interrupted my presentation just once &#8211; at about 40 minutes into it with 53 avatars, Mono finally kicked the bucket. (It crashed again just after I had finished. Serendipity at work!)</p>
<p><img class="alignnone size-full wp-image-370" title="Opening Presentation" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid_openingpres.png" alt="Opening Presentation" width="680" height="321" /></p>
<p>We&#8217;ve been experimenting with Vivox, so the entire presentation was streamed via the new VivoxVoiceModule; running on the latest trunk code for OpenSimulator; both for the most part performed pretty admirably. A lot of the improvements from IBM and Intel lately into OpenSim&#8217;s packeting have been paying dividends. Mono&#8217;s previous concurrency &#8220;record&#8221; was about 40 users (for comparison .NET&#8217;s current record is 65).</p>
<p>So, what&#8217;s in store in the future and near-future for OSGrid? I had a couple of announcements at the opening presentation.</p>
<h3>First &#8211; Hello General Store</h3>
<p><img class="alignnone size-full wp-image-371" title="The General Store" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid_generalstore.png" alt="The General Store" width="680" height="302" /></p>
<p>The general store is the first &#8220;webshop&#8221; based on OpenSim that integrates directly into the grid itself. Listing of items, setting of permissions, etc are all done from within the viewer &#8211; directly integrated with your inventory itself.</p>
<p>This has one major advantage outside of the improved convenience &#8211; it means you do not need a region to mediate the transaction. Every transaction can be done directly on the inventory server (infact this is exactly what we do.); but what does this exactly mean?</p>
<p><img class="alignnone size-full wp-image-372" title="General Store" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid_genstore2.png" alt="General Store" width="669" height="557" /></p>
<p>When you create your general store &#8211; a special undeletable folder is created in your inventory called &#8216;My General Store&#8217;, items placed into this folder that are marked &#8216;Allow anyone to copy&#8217; are listed on our website automatically, providing you are the creator of the item in question (and have copy/trans permissions on it).</p>
<p>Purchasing of items will have them sent to your inventory directly via the inventory server (although you will need to relog after a shopping trip for the items to appear.); saves a bit of time and effort doing the transfers &#8211; and you dont lose a transfer because you were in busy mode.</p>
<h3>User Achievements</h3>
<p>Many of you spotted our new achievements system located on the OSGrid website &#8211; it&#8217;s mostly a bit of fun right now (and probably will always be), but we are going to be opening achievements up to region operators across the grid. If you have something open to the pubic (some form of competition, game or other activity that is &#8216;achievement-worthy&#8217;) you can offer achievements as rewards.</p>
<p>The exact process is yet to be exactly finalised &#8211; but you will recieve a bit of LSL at the end you can include which allows you to award your achievements to specified users. There will be some caps on who is eligable to be able to award achievements (particularly so that people do not just set them up for friends)</p>
<p>&#8220;More information soon&#8221;</p>
<h3>Acknowledgement of Direction</h3>
<p>OSGrid has traditionally been a test grid for OpenSimulator &#8211; that has been good and bad &#8211; in our case however, we&#8217;ve definetely moved on from those roots &#8211; OSGrid today is now more of a social space than a testing one. As a group, the admin team has decided to acknowledge this as part of OSGrid&#8217;s long term direction &#8211; and include those aspects in our mission statement (while preserving our current roles too).</p>
<p>While the testing aspects will always be present, we&#8217;re going to be focusing on making the social aspects more useful; such as improving our events calendars and website integration features. We would definetely like to see more live events &#8211; and will help promote any regular events to our wider communities.</p>
<p>Some of these changes will be more profound, which is actually tied to&#8230;</p>
<h3>Continents</h3>
<p>We are going to be introducing two new continents into the OSGrid ecosystem; so there will be three major continents in total. For lack of a name so far, they will be &#8216;Terra Alphus&#8217;, &#8216;Terra Betus&#8217; and &#8216;Terra Gammus&#8217; (subject to change). The current continent centered around 10,000&#215;10,000 is &#8216;Betus&#8217;; and will not be changing.</p>
<p>Alphus will be the most structured of the continents &#8211; and subdivided into three zones based on the server geography &#8211; US, Europe and Asia. Regions connected to Alphus need to be approved by a small committee, and subject themselves to a few construction limits. Alphus will:</p>
<ul>
<li>Consist only of regions on dedicated server hosts (or good quality VPSs)</li>
<li>Have a reasonable uptime (that is they are significantly likely to be online)</li>
<li>Follow a master terraforming pattern.</li>
</ul>
<p>Regions in Alphus will be organised so that servers located in the US are grouped with other US servers; EU with EU and Asia with Asia &#8212; meaning border crossing between Alphus regions is a lot more likely to be successful. The goals with the Alphus area is to ensure a more consistent user experience [especially for new users] and can be thought of as a &#8216;grid within a grid&#8217; of sorts.</p>
<p>Betus is the current continent &#8211; it&#8217;s not going to be touched (other than perhaps by a few regions moving into Alphus); the current strategy of nearly-anything-goes is not changing here. You can place your own regions in this section without any considerations at all.</p>
<p>Gammus is the final section, and also a new continent &#8211; this will be tied to our new highly experimental region launcher. Regions hosted from home using our launcher will end up here. Because these regions are less likely to be online at any given moment, we are conglomerating them together away from other regions &#8211; so that the other regions on the grid are not affected by constant neighbour checks.</p>
<p>In summation:</p>
<ul>
<li>Your current regions arent changing or moving. If you want to setup a new region on any random coordinates, that&#8217;s fine too.</li>
<li>The new continents will be fairly close to each other in coordinate terms (within 500 coordinates; or within reasonable scroll distance)</li>
<li>The goals of the introduction of the two other continents are to improve user experience (especially with border crossing, etc.)</li>
<li>This is not a grading system; Alphus regions are not better than Gammus &#8211; only that Alphus voluntarily comply with a tighter set of user experience restrictions.</li>
</ul>
<h3>New Orientation Sims</h3>
<p>We&#8217;re going to be working on some new orientation island sims with OSGrid; particularly to aquaint people with what OSGrid is and isnt. These are going to be seperate from our welcome area (LBSA), but we are going to look at ways we can integrate them together (such as providing a chat bridge with a helpers group, etc.)</p>
<p>Again, more information coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/07/osgrid-turns-2/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>OSGrid: New, Improved and nearly 2.</title>
		<link>http://www.adamfrisby.com/blog/2009/07/osgrid-new-improved-and-nearly-2/</link>
		<comments>http://www.adamfrisby.com/blog/2009/07/osgrid-new-improved-and-nearly-2/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 10:43:51 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OSGrid]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[elgg]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[lbsa plaza]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[rennovations]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=354</guid>
		<description><![CDATA[
If you haven&#8217;t popped your head over onto OSGrid in a while, you might want to take another look. We&#8217;ve made some reasonably big improvements in recent weeks; above pictured is part of the new LBSA Plaza (welcome area); but the real improvements have been in our website.

I mentioned previously the development of Elgg integration [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-thumbnail wp-image-355 alignnone" title="New Ruth in New LBSA" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid_av1-680x345.png" alt="New Ruth in New LBSA" width="680" height="345" /></p>
<p>If you haven&#8217;t popped your head over onto OSGrid in a while, you might want to take another look. We&#8217;ve made some reasonably big improvements in recent weeks; above pictured is part of the new LBSA Plaza (welcome area); but the real improvements have been in our website.</p>
<p><img class="alignnone size-thumbnail wp-image-356" title="LBSA Plaza Rennovation" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid_lbsa1-680x404.png" alt="LBSA Plaza Rennovation" width="680" height="404" /></p>
<p>I mentioned previously the development of Elgg integration on OSGrid &#8211; we put that into production just over a month ago, and have since spent quite some time refining the integration. Initially when we deployed, there were a couple of deficiencies in features over the old website &#8211; we&#8217;ve quickly gone past there, and the new website integrates a whole bunch of shiny new features.</p>
<p>Many of these features are or will be linked to popular places inworld &#8211; such as the website event calendar being visible on billboards inworld (using PHP+GD+osSetDynamicTextureURL). We&#8217;re working on doing some of the reverse too (such as each region getting it&#8217;s own &#8220;Page&#8221; automatically &#8212; similar to how each avatar has it&#8217;s <a href="http://www.osgrid.org/elgg/pg/profile/Adam.Frisby">own profile page</a>.)</p>
<p>OSGrid itself has grown pretty dramatically in this period too &#8211; it grew on almost every metric by a full 25% in the last 4 weeks. Regions, users, active users &#8211; all shot up. Infact, using the stats on the OpenSimulator.org grid list (skipping grids with missing data) &#8211; OSGrid now represents between 48 and 56% of OpenSimulator grid users; it&#8217;s by far the largest and busiest OpenSim grid. OSGrid currently has about <a href="http://www.osgrid.org/stats/detail.php?graph=11&amp;tree=&amp;filter=">2,100 active regions</a> (by comparison, the Second Life mainland is approximately 5,000 regions)</p>
<p><img class="alignnone size-full wp-image-357" title="Achievement Screenshot" src="http://www.adamfrisby.com/blog/wp-content/uploads/osgrid-achievement-screenshot.png" alt="Achievement Screenshot" width="680" height="250" /></p>
<p>Some of the other improvements we&#8217;ve added was a new achievements system (pictured above), which we will be expanding to encourage exploration and participation in OSGrid events. We&#8217;ll be rewarding people with &#8216;achievements&#8217; for various things such as participating in official (and some unofficial) events, exploring, building and more.</p>
<p>Which brings me to OSGrid itself &#8211; it&#8217;s nearly turning 2. On the 22nd of this month, we&#8217;re going to be celebrating our second birthday. We&#8217;re still sorting out what exactly the celebrations will be &#8211; but you can find them on <a href="http://www.osgrid.org/elgg/pg/event_calendar/">OSGrid&#8217;s Event Calendar</a> closer to the 22nd.</p>
<p>So if you haven&#8217;t already &#8211; come <a href="http://www.osgrid.org/elgg/account/register.php">register an avatar</a> and take a peek.</p>
<p>[<em>Apologies to readers for the lack of updates in the last 3 weeks - I've been buried in work, I'll be posting June's commits wrapup in the next few days -Adam</em>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/07/osgrid-new-improved-and-nearly-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
