<?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; Work</title>
	<atom:link href="http://www.adamfrisby.com/blog/category/work/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>Introducing GridMix</title>
		<link>http://www.adamfrisby.com/blog/2009/12/introducing-gridmix/</link>
		<comments>http://www.adamfrisby.com/blog/2009/12/introducing-gridmix/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 06:54:18 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[SimHost]]></category>
		<category><![CDATA[gridmix]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[web interface]]></category>
		<category><![CDATA[wi]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=517</guid>
		<description><![CDATA[Flashback to sometime in November: after yet another weekend spent fighting with the old &#8220;Wi-Redux&#8221; interface for OpenSim on behalf of customers &#8211; myself and James Stallings at SimHost decided two things &#8211; first Wi-Redux is the spawn of the devil, and second &#8211; we probably should write our own. So we did.
Which brings me [...]]]></description>
			<content:encoded><![CDATA[<p><em>Flashback to sometime in November:</em> after yet another weekend spent fighting with the old &#8220;Wi-Redux&#8221; interface for OpenSim on behalf of customers &#8211; myself and James Stallings at SimHost decided two things &#8211; first Wi-Redux is the spawn of the devil, and second &#8211; we probably should write our own. So we did.</p>
<p>Which brings me to the following pretty screenshot:</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_05.png"><img class="alignnone size-thumbnail wp-image-518" title="gridmix_screen_05" src="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_05-680x496.png" alt="gridmix_screen_05" width="680" height="496" /></a></p>
<p>This is a fresh install of Gridmix &#8211; one of the main aims of the package has been to make it so it requires very minimal configuration to look good, and do what you want. It&#8217;s pretty easily adapted for either a private or a public grid with a host of settings suitable for each.</p>
<p>For example &#8211; Signup &amp; Registration, for private grids you might not care about verifying email address. In which case, you signup form is configured like so:</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_04.png"><img class="alignnone size-thumbnail wp-image-520" title="gridmix_screen_04" src="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_04-680x496.png" alt="gridmix_screen_04" width="680" height="496" /></a></p>
<p>But if you are running a public grid &#8211; and you want to ensure signups are legitimate, you will want to verify email addresses, enable a captcha &#8212; and assuming you are in beta, you might want to say enforce a &#8217;signup code&#8217; to limit who can create accounts. Your signup form might look like this instead:</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_03.png"><img class="alignnone size-thumbnail wp-image-521" title="gridmix_screen_03" src="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_03-680x496.png" alt="gridmix_screen_03" width="680" height="496" /></a></p>
<p>The entire skin is very customisable &#8211; not only can we easily substitute alternate themes in, but the entire default skin has been setup so that all the images and CSS can be HSL shifted at any time (allowing you to easily recolour your grid with minimal effort)</p>
<p>In addition, we&#8217;ve implemented a Mediawiki-Syntax parser into the content management system &#8211; allowing you to edit each page on the site using wiki-syntax. This allows you to ensure a consistent appearance across all pages &#8211; and keep that in the event that you choose to change the theme.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_01.png"><img class="alignnone size-thumbnail wp-image-523" title="gridmix_screen_01" src="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_01-680x496.png" alt="gridmix_screen_01" width="680" height="496" /></a></p>
<p>Finally &#8211; there&#8217;s a bunch of features in there which I know many people will find a big improvement over what Wi supports; such as Google Maps based world maps (which are generated in realtime &#8211; and include live positioning of all online agents on the grid &#8211; see the green dot.)</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_02.png"><img class="alignnone size-thumbnail wp-image-524" title="gridmix_screen_02" src="http://www.adamfrisby.com/blog/wp-content/uploads/gridmix_screen_02-680x496.png" alt="gridmix_screen_02" width="680" height="496" /></a></p>
<h3>Cost, Availibility, etc.</h3>
<p>We&#8217;re providing GridMix as an alternative to Wi for all current (and new) SimHost customers who have private grids. This will be a private beta for a period of around three months while we work in any specific feature requests and bugfixes that our customers bring to us &#8211; if you are a current customer, just contact support and we can get you setup with GridMix fairly quickly.</p>
<p>We&#8217;ll be releasing a limited &#8220;core&#8221; version as open source software sometime in the future (once we&#8217;re out of beta) &#8211; we&#8217;ve built this all using a MVC framework and have spent some time ensuring that it is both secure, functional and a lot more useful than Wi was. One of the big improvements has been the implementation of an ACL system based on the godLevel &#8211; you can now delegate users with a range of roles which grants them certain powers to ban or edit users or change grid settings.</p>
<p>It represents a complete ground-up rewrite, no-code has been copied from the original Wi (or anywhere else), the only foreign code is the base MVC framework. We&#8217;ll be adding new features fairly regularly as time goes on &#8211; some of the features we plan to implement include some compatibility with the search system, events calendar support &amp; some analytics.</p>
<p>The full version will be available for a fee to non-customers, and a hosted version will be free to all current and future SimHost customers, who have one of our hosted grid packages (or a dedicated server). If you are a current (or potential) SimHost customer and wish to participate in the beta &#8211; as I said above, please contact us via support for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/12/introducing-gridmix/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<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>The Imaginary 45K Wall</title>
		<link>http://www.adamfrisby.com/blog/2009/11/the-imaginary-45k-wall/</link>
		<comments>http://www.adamfrisby.com/blog/2009/11/the-imaginary-45k-wall/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 14:41:53 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[SimHost]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[prim counts]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[usage]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=487</guid>
		<description><![CDATA[
I see on a fairly regularly basis reports that OpenSim supports 45,000 prims versus Second Life®&#8217;s 15,000. It&#8217;s rubbish; but it comes from a somewhat logical source. The viewer itself will not display more than 45,000 objects in the &#8216;prims parcel supports&#8217; field. There&#8217;s no technical reason for it &#8211; it just clamps the value [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/kohala_680px.png"><img class="alignnone size-full wp-image-499" title="Kohala (the SimHost region on OSgrid)" src="http://www.adamfrisby.com/blog/wp-content/uploads/kohala_680px.png" alt="Kohala (the SimHost region on OSgrid)" width="680" height="251" /></a></p>
<p>I see on a fairly regularly basis reports that OpenSim supports 45,000 prims versus Second Life®&#8217;s 15,000. It&#8217;s rubbish; but it comes from a somewhat logical source. The viewer itself will not display more than 45,000 objects in the &#8216;prims parcel supports&#8217; field. There&#8217;s no technical reason for it &#8211; it just clamps the value (and I&#8217;m not entirely sure why). If OpenSim is set to unlimited prims (or 99,999,999), the viewer will show it as &#8216;Supports 45,000 Prims&#8217; and not what it really is (&#8217;Supports &#8220;99,999,999&#8243; prims&#8217;).</p>
<p>But, you can go well above that boundary. Some of Shenlei&#8217;s Leviathan builds are now breaking the 160,000 primitive count mark (and I have no doubt she intends to push it further!), but those builds are <em>incredibly intensive</em> on other aspects of the system, particularly memory usage. Primitive counts as a resource delimiter have never been accurate as far as underlying consumption goes; how they evolved goes straight back to when SL was still a MMORPG with nifty building tools (circa 2002-2004).</p>
<p>This is evident in SL &#8211; certain scripts cause &#8220;lag&#8221;, popular clubs can block other users from accessing the region (by eating up the whole max avatar count) &#8211; neither of these is factored into the current resource limits. This is applicable in OpenSim too &#8211; an unscripted region will behave better than a scripted one, an empty region will have uptimes measured in months, a popular one in days (or hours).</p>
<p>So, with this entry I aim to do two things &#8211; first dispell the myth that OpenSim supports 45K primitives. That is incorrect &#8211; OpenSim supports whatever you tell it to handle, whether it behaves is up to the underlying consumption required for your build, and what you are hosting it on. And second &#8211; clarify where the limits really are, and how you can optimise them.</p>
<p>With SimHost, we needed to give a number to our potential customers that is indicative of their usage, in a manner that can be understood like prim counts, but reflects the actual capacity used. We decided to go with RAM usage &#8211; this is because memory is the primary requirement of the OpenSim software. The amount of memory a region needs is pretty much directly proportional to all the other requirements (scripts need a roughly equal amount of memory as CPU, so do avatars, prims, etc.). There are other limits too &#8211; network bandwidth, processor usage, etc. All of these can become a bottleneck depending on the design of a region.</p>
<p>To give you a rough estimate of capacity-by-memory, one of our heavier customers has a 10,000 prim sim which hosts weekly meetings; it&#8217;s somewhat scripted &#8211; memory use for this region is between 405MB (Resident) and 1070MB (Total). Each avatar to the region adds between 20 and 50mb to the &#8220;resident&#8221; figure (and when occupied, some of the paged memory moves into the resident as it is accessed). If you use this as an example &#8211; 1024MB of resident memory should get you a &#8220;standard region equivilent&#8221;; if you want to start pushing on it further, then you might want to allocate 2GB dedicated to the region.</p>
<p>Network bandwidth is directly tied to # of avatars plus, # of primitives plus, # and size of textures. You can drop your bandwidth requirements fairly dramatically simply by building more efficiently, encouraging texture re-use, optimising your textures, etc. Sculpties actually work to your benefit here &#8211; since they can replace many prims with just one; and that one is &#8216;instanced&#8217; &#8211; so that every copy you use, is only downloaded once by the viewer.</p>
<p>Processor usage is generally not a problem; to avoid any issues &#8211; giving a region a dedicated core will let it do it&#8217;s own thing. Scripts are about the only thing that can really push this figure (and physics to a much lesser degree). With recent updates to OpenSim enabling much larger concurrencies &#8211; processor usage is beggining to appear; but an average user will often struggle to push an average CPU core usage of more than 10%.</p>
<p>So, next time you see the claim that &#8216;OpenSim supports 45,000 prims&#8217; (as I often do) &#8211; think of it not as a hard limit, or even a ballpark figure that is remotely accurate. OpenSim will try serve whatever you tell it to &#8212; but whether it does so successfully is more likely to be up to other factors relating to the underlying hardware; than the software itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/11/the-imaginary-45k-wall/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>DTL-PayPal (or how you can transfer money in a virtual world without significant risk.)</title>
		<link>http://www.adamfrisby.com/blog/2009/10/dtl-paypal-or-how-you-can-transfer-money-in-a-virtual-world-without-significant-risk/</link>
		<comments>http://www.adamfrisby.com/blog/2009/10/dtl-paypal-or-how-you-can-transfer-money-in-a-virtual-world-without-significant-risk/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 12:32:24 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[DeepThink]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[currency]]></category>
		<category><![CDATA[hypergrid]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[osgrid]]></category>
		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=473</guid>
		<description><![CDATA[WARNING:
What is being described below is dealing in real currency &#8211; you owe it to yourself if you plan to use this, to understand how it works, and perform your own risk assessment. The module is completely unsupported and unwarrantied. Use it at your own risk.

Suppose you are a user of one of the Open [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="color: #ff0000;">WARNING:</span></h3>
<p>What is being described below is dealing in real currency &#8211; you owe it to yourself if you plan to use this, to understand how it works, and perform your own risk assessment. The module is completely unsupported and unwarrantied. Use it at your own risk.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/paypal-example.png"><img class="alignnone size-thumbnail wp-image-493" title="PayPal Demonstration - Paying US$0.50 into an object." src="http://www.adamfrisby.com/blog/wp-content/uploads/paypal-example-535x500.png" alt="PayPal Demonstration - Paying US$0.50 into an object." width="535" height="500" /></a></p>
<p>Suppose you are a user of one of the Open Grids or Hypergrid system &#8211; and you want to purchase an item, pay into an object, or otherwise transact business where a real currency transfer occurs somewhere down the line. Up until now, in all environments you are reliant on trusting a third party to act as a middleman, providing some currency-equivilent (such as say V$, L$ or whatever.).</p>
<p>The problems with this scenario is that that currency is at best backed by a single corporate entity (and even then they may not choose to &#8216;back&#8217; it at all) &#8211; leaving you exposed in the event something goes wrong. This is compounded by the general trading size of these operators &#8211; tending to be sole-traders or small-business; the best scenario is one where neither the user nor the merchant needs to rely on a third party beyond the credit card processor.</p>
<p>Which is where DTL-PayPal comes in, this is a free (3-Clause BSD), open source module we&#8217;ve developed to solve this explicit problem. It uses PayPal as the backend for the transaction, and prices inworld goods in US cents. You pay me, OS$100 &#8211; and you get a bill for US$1.00 from PayPal. Every transaction needs to be confirmed by you with PayPal thus adding security into the system; in addition you don&#8217;t need to carry existing balances of &#8216;currency&#8217; in order to buy items &#8211; each item can be bought individually with a seperate transaction on your Credit Card for each purchase.</p>
<p>The transaction is a 2 step process for the user &#8211; which is illustrated in the diagram below. Step one, you &#8216;negotiate&#8217; the payment size &#8212; this is basically filling out the payment or &#8216;buy&#8217; dialog that the vendor or merchant has setup already. Step two is you will be asked to visit a special webpage (which links to one at PayPal) which sets up and pays the transaction. From a users perspective you need to do nothing more.</p>
<p><a href="http://www.adamfrisby.com/blog/wp-content/uploads/pp_paymentprocessing.png"><img class="alignnone size-full wp-image-474" title="Payment Processing Overview" src="http://www.adamfrisby.com/blog/wp-content/uploads/pp_paymentprocessing.png" alt="Payment Processing Overview" width="666" height="317" /></a></p>
<p>Steps 3 and 4 occur when PayPal has confirmed the transaction for you &#8211; once the payment is confirmed (usually within 10 seconds), PayPal notifies the module, which in turn completes the transaction, finally PayPal deposits the balance in the vendors account for immediate use.</p>
<p>Obviously the problems with inventory server issues, vendor malfunctions, etc still exist &#8211; but to a customer PayPal does allow you to dispute charges on non-delivery grounds (however beware doing this to scam the system &#8211; the merchant gets a chance at rebuttal and it can be a complicated process)</p>
<p>From a vendor perspective &#8211; the main drawback to this solution is cost, PayPal will charge you roughly $0.28 plus 2.2% for a standard account in order to process the transaction. On tiny transactions (such as one for $0.50, fee would be $0.31) this can add up to a significant portion of the transaction. For users using this exclusively, I highly recommend using a PayPal <a href="https://www.paypal.com/IntegrationCenter/ic_micropayments.html">MicroTransactions account</a> which has much lower fees (but certain additional terms &amp; conditions).</p>
<p>So, where can I get the code for this? It&#8217;s on my personal GitHub account (along with a few of my other goodies) &#8211; <a href="http://github.com/AdamFrisby/DTL-PayPal">http://github.com/AdamFrisby/DTL-PayPal</a> &#8211; I will add some further notes, first this module is currently somewhat hard coded to present a warning to the user about it&#8217;s experimental nature, remove this at your own risk. Second &#8211; OpenSim is still alpha software, you may run into other issues, so be prepared to handle them if you want to accept payments from users in it. This software has only been tested on the PayPal sandbox so far (and I recommend you do the same), however should work with the live version fine.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/10/dtl-paypal-or-how-you-can-transfer-money-in-a-virtual-world-without-significant-risk/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Minor Post: SimHost specials on Twitter</title>
		<link>http://www.adamfrisby.com/blog/2009/10/minor-post-simhost-specials-on-twitter/</link>
		<comments>http://www.adamfrisby.com/blog/2009/10/minor-post-simhost-specials-on-twitter/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 23:31:44 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[SimHost]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=469</guid>
		<description><![CDATA[A quick and minor post &#8211; we&#8217;re posting our special simhost offers on Twitter &#8211; follow @simhost for more.
]]></description>
			<content:encoded><![CDATA[<p>A quick and minor post &#8211; we&#8217;re posting our special <a href="http://www.simhost.com">simhost</a> offers on Twitter &#8211; follow <a href="https://twitter.com/simhost">@simhost</a> for more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/10/minor-post-simhost-specials-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</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>How to choose a good OpenSim host?</title>
		<link>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/</link>
		<comments>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/#comments</comments>
		<pubDate>Thu, 07 May 2009 08:40:32 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[DeepThink]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[cari.net]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[osgrid]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=199</guid>
		<description><![CDATA[Update Sept &#8216;09: We&#8217;ve started offering OpenSim Hosting to the public &#8211; you can read the announcement here.
This is modelled somewhat after the same guide for wordpress. Running an OpenSimulator instance is a challenging prospect for many &#8211; there are a number of important criteria you should be looking at before purchasing, but the single [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update Sept &#8216;09:</strong> We&#8217;ve started offering OpenSim Hosting to the public &#8211; you can read the <a href="http://www.adamfrisby.com/blog/2009/09/simhost-com-opensim-realxtend-hosting/">announcement here</a>.</p>
<p>This is modelled somewhat after the <a href="http://hostwordpress.com/">same guide for wordpress</a>. Running an OpenSimulator instance is a challenging prospect for many &#8211; there are a number of important criteria you should be looking at before purchasing, but the single most important question is &#8220;Will I be managing this myself?&#8221;.</p>
<h2>&#8220;Do it yourself&#8221;</h2>
<p>DIY Hosting OpenSim while relatively easy by comparison to most hosting software, is still not something that should be done by the technically uninitiated. OpenSim requires a healthy amount of maintainence in the form of updates, backups and patching.</p>
<h4>Virtual or Dedicated?</h4>
<p>For DIY hosting you have two choices in terms of hosting &#8211; Virtual Private Servers (VPS) or Dedicated Servers. Virtual Servers are a percentage of a physical server provided inside of a <a href="http://en.wikipedia.org/wiki/Virtual_private_server">virtual machine</a>. Virtual servers are often significantly cheaper than a dedicated server, however come at a heavy cost in performance.</p>
<p>Virtual server pricing starts at approximately US$15.00 per month. Dedicated servers will start at approximately US$50.00 per month. Virtual servers are appropriate for low performance private sandboxes, Dedicated servers are a must for public or regular usage.</p>
<p>A final note on dedicated servers &#8211; the most inexpensive dedicated server will often outperform the most expensive VPS. If you are on the price border between the two, I recommend switching to the lower performance, but dedicated server &#8211; than the higher performance but shared VPS.</p>
<h4>Linux or Windows?</h4>
<p>Unless you have significant investments in using Linux for your hosting, I recommend using Windows 2003 or 2008, especially if you are not familiar with running hosting environments. The reasons for this are fairly simple &#8211; Mono has memory management problems, memory requirements under Mono are often doubled or quadrupled.</p>
<p>Unfortunately Windows server is not always availible &#8211; especially at the lower price ranges. Microsoft charges hosting companies a $10/month per cpu fee for Windows Server, so this will always be passed on in the form of higher prices. In the highly competitive VPS industry this price increase makes good Windows VPSs a rare niche.</p>
<h4>What processor?</h4>
<p>OpenSim will very rarely peg your processor &#8211; I would not bother investing too much into the processing capacity of your instance or server. (Whether a VPS or Dedicated machine).</p>
<p>My own experience says that &#8220;off the shelf&#8221; desktop processors are more than adequate. Here at DeepThink we have standardised on Xeon 3220 based machines (Quad Core, 2.4Ghz) and we find these are more than suitable for our higher-end clients. For an average user, a off-the-shelf Core2Duo is more than sufficient.</p>
<h4>How much memory?</h4>
<p>This is a much more relevant question for OpenSim. If you are running on Mono, I recommend no less than 1GB of memory per region (512MB if it is mostly empty). If you are running Windows/.NET you can use a rule of thumb at approximately 384 to 512mb per region.</p>
<p>A more precise metric is to total up the following: A base cost of 200mb, total size of all textures in the region + 30% in megabytes (average region is around 50mb), 30mb per 1,000 primitives, 50mb per concurrent user and double the sum if you are running under Mono.</p>
<p>So a region with 5,000 primitives, an average number of textures (50mb) and ten concurrent users you should allocate approximately 900MB of memory for .NET and 1.8GB for Mono. Leave at least 100mb on top of this sum for the operating system itself; if the machine runs out of memory page file access will cripple the performance of your region.</p>
<p>Memory should be as fast as possible &#8211; the faster you can get the better.</p>
<h4>How much hard disk?</h4>
<p>None. OpenSim rarely uses more than a few gigabytes of space unless you are operating a large grid (OSGrid.org is only about 120GB of assets currently). Anything over 10GB is sufficient.</p>
<h4>How much bandwidth?</h4>
<p>This is a slightly tougher question to answer &#8211; it depends a lot on your sim, the complexity and texture detail, the number of visitors. We at DeepThink sponsor the servers running the OSGrid.org Plaza&#8217;s, which I believe are the six most visited OpenSim instances running. The Plazas are broken up over two physical machines &#8211; each uses about 240GB of bandwidth each month &#8211; or approximately 80GB per region per month.</p>
<p>In pratice your region should come in significantly under this &#8211; but I recommend making sure you have at least 100GB of traffic per region in the event that you create a popular space. Most hosts provide at least 1TB of transfer on dedicated servers, so this should in most cases be a non-concern.</p>
<p>The other side of bandwidth is connectivity &#8211; how fast your server can speak with the outside world. I recommend having at least 200kbit per concurrent user. So for a standard &#8216;10 concurrent&#8217; situation, you should have at least 2mbit of connectivity.</p>
<h4>Backup Space</h4>
<p>Make sure to have some kind of external backup system &#8211; most hosting providers will sell you SFTP access to a backup server, however make sure that they in turn provide good backup policies on your backups (offsite backup, etc.). OpenSim can be very fickle software, so make sure you have a good backup routine setup.</p>
<h4>Latency</h4>
<p>If you are a non-american user or cater to a foreign crowd, Latency is a very important issue. Latency is the &#8220;lag&#8221; between when you do an action and when it occurs on the simulation server &#8211; unfortunately latency is often best fixed by changing the geographical location of your servers.</p>
<p>If you cater to an audience in a specific country &#8211; I would recommend searching for servers in countries nearby. Often localised hosting is several times more expensive than in the US due to higher prices for local bandwidth, however most of the time there is a cheaper alternative nearby. For example, Japan has very high local server costs &#8211; but Korean or Singaporean servers are cheaper and have similar latency characteristics.</p>
<h3>Who?</h3>
<h3>Dedicated Servers</h3>
<h4>CariNet (San Diego, CA, USA)</h4>
<p>CariNet have been a popular choice for people running regions on OSGrid thanks to great pricing and astonishgly quick setup times. Their live support is pretty good and tends to fix most issues within 30 minutes of reporting. Cari have a highly flexible pricing system &#8211; so make sure to remember to include additional RAM and the Windows operating system with your purchases.</p>
<p>CariNet are also an official sponsor of OSGrid.org, providing regular free upgrades to the official servers that are hosted there (Currently the two plaza machines and the one welcome machine). They have also provided some special pricing for OpenSim users &#8211; see the italics below.</p>
<p><strong>Pricing:</strong> Minimum $50.00 per month (<a href="http://www.cari.net/extreme-deals.html">special offer at time of writing</a>).</p>
<p>I spoke with CariNet&#8217;s sales department, and we have worked out a few &#8220;OpenSim Optimized&#8221; configurations -</p>
<ul>
<li><a href="https://www.cari.net/iBizPanel/PurchaseAdd?;billing_cycle=MONTH;attrib_cpu_type=KENTSFIELD-04-QCE;attrib_cpu_bits=64;attrib_ram_size=04GB;attrib_os_name=WIN2K8-STD64;attrib_control_panel=NONE;attrib_disk_quantity=1;attrib_disk1_size=160GB-SATA;attrib_disk2_size=NONE;attrib_disk3_size=NONE;attrib_disk4_size=NONE;attrib_disk_raid=NONE;attrib_custom_partitioning=NO;attrib_special_instructions=;attrib_bandwidth_plan=6MBPS-INC;attrib_bandwidth_contact_lang=EN;attrib_bandwidth_contact=;attrib_interface_speed=10%2F100;attrib_remote_kvm=NONE;attrib_shared_firewall=NO;attrib_shared_firewall_config=DEFAULT%20OPEN%20PORTS%3A%0AHTTP%3A80%2C443%20FTP%3A20%2C21%20SMTP%3A25%20NTP%3A123udp%2C110%20DNS%3A53udp%20PPTP%3A1723%2Cgre%0APOP3%3A110%20SPOP3%3A995%20IMAP%3A143%20IMAPS%3A993%0A%0ADEFAULT%20MGT%20PORTS%3A%0ASSH%3A22-Linux%20RDP%3A3389-W2K%20PLESK%3A8443%0A%0ADEFAULT%20OFF%3A%0AMySQL%3A3306-Linux%20MSSQL%3A1433-W2K%20IRC%3A6667;attrib_nic_quantity=1;attrib_virtualization=NO;generic_hidden=1;productoffer_id=47294;assoc_verified=;license_confirm=;final_price=200;final_setup=0;quantity=;saved_item_id=;assoc_purchaseorder_id=">High Performance</a> &#8211; Windows, 4 Core Xeon, 4GB configuration is US$200.00/mo with no setup fee.<br />
This configuration is ideal for a &#8220;SL-replacement&#8221; style region host, you could probably get a couple of regions off this hardware, but the exact number will vary as above. I would estimate approximately 2 &#8220;Full Regions&#8221; could be run on this hardware configuration.<br />
<em>If you want this server for only $160/month (but with a $120 setup), contact Cari.net sales via their Live Chat with the discount code &#8220;OSGRID&#8221;. (Speak with Mike or Shawn)</em></li>
<li><a href="https://www.cari.net/iBizPanel/PurchaseAdd?;billing_cycle=MONTH;attrib_cpu_type=CORE2DUO-02-DCE;attrib_cpu_bits=64;attrib_ram_size=02GB;attrib_os_name=WIN2K8-STD64;attrib_control_panel=NONE;attrib_disk_quantity=1;attrib_disk1_size=250GB-SATA-INCLUDED;attrib_disk2_size=NONE;attrib_disk3_size=NONE;attrib_disk4_size=NONE;attrib_disk_raid=NONE;attrib_custom_partitioning=NO;attrib_special_instructions=;attrib_bandwidth_plan=4MBPS-INC;attrib_bandwidth_contact_lang=EN;attrib_bandwidth_contact=;attrib_interface_speed=10%2F100;attrib_remote_kvm=NONE;attrib_shared_firewall=NO;attrib_shared_firewall_config=DEFAULT%20OPEN%20PORTS%3A%0AHTTP%3A80%2C443%20FTP%3A20%2C21%20SMTP%3A25%20NTP%3A123udp%2C110%20DNS%3A53udp%20PPTP%3A1723%2Cgre%0APOP3%3A110%20SPOP3%3A995%20IMAP%3A143%20IMAPS%3A993%0A%0ADEFAULT%20MGT%20PORTS%3A%0ASSH%3A22-Linux%20RDP%3A3389-W2K%20PLESK%3A8443%0A%0ADEFAULT%20OFF%3A%0AMySQL%3A3306-Linux%20MSSQL%3A1433-W2K%20IRC%3A6667;attrib_nic_quantity=1;attrib_virtualization=NO;generic_hidden=1;productoffer_id=47294;assoc_verified=;license_confirm=;final_price=140;final_setup=0;quantity=;saved_item_id=;assoc_purchaseorder_id=">Mid-Range</a> &#8211; Windows, Core2Duo, 2GB configuration is US$140/mo with no setup fee.<br />
Expect to get one heavy region out of this configuration (or quite a few &#8220;homestead-esque&#8221; regions) &#8211; as always, this varies based on consumption.<br />
<em>As above, if you want this server for only $120/month (but with a $60 setup), contact Cari.net sales via their Live Chat with the discount code &#8220;OSGRID&#8221;. (Speak with Mike or Shawn)</em></li>
<li><a href="https://www.cari.net/iBizPanel/PurchaseAdd?;billing_cycle=MONTH;attrib_cpu_type=CELERON-DUAL-02-DCE;attrib_cpu_bits=64;attrib_ram_size=02GB;attrib_os_name=WIN2K8-STD64;attrib_control_panel=NONE;attrib_disk_quantity=1;attrib_disk1_size=160GB-SATA;attrib_disk2_size=NONE;attrib_disk3_size=NONE;attrib_disk4_size=NONE;attrib_disk_raid=NONE;attrib_custom_partitioning=NO;attrib_special_instructions=;attrib_bandwidth_plan=4MBPS-INC;attrib_bandwidth_contact_lang=EN;attrib_bandwidth_contact=;attrib_interface_speed=10%2F100;attrib_remote_kvm=NONE;attrib_shared_firewall=NO;attrib_shared_firewall_config=DEFAULT%20OPEN%20PORTS%3A%0AHTTP%3A80%2C443%20FTP%3A20%2C21%20SMTP%3A25%20NTP%3A123udp%2C110%20DNS%3A53udp%20PPTP%3A1723%2Cgre%0APOP3%3A110%20SPOP3%3A995%20IMAP%3A143%20IMAPS%3A993%0A%0ADEFAULT%20MGT%20PORTS%3A%0ASSH%3A22-Linux%20RDP%3A3389-W2K%20PLESK%3A8443%0A%0ADEFAULT%20OFF%3A%0AMySQL%3A3306-Linux%20MSSQL%3A1433-W2K%20IRC%3A6667;attrib_nic_quantity=1;attrib_virtualization=NO;generic_hidden=1;productoffer_id=47294;assoc_verified=;license_confirm=;final_price=125;final_setup=0;quantity=;saved_item_id=;assoc_purchaseorder_id=">Low-End</a> &#8211; Windows, Celeron 2 Core, 2GB configuration is US$125/mo with no setup fee<br />
Consider this a homestead replacement, you should be able to get a small number of &#8220;homestead-equivilents&#8221; running off of this &#8211; obviously you dont have primitive limits or things like that, but you will notice degrading performance if you rely on a lot of scripted functionality.<br />
<em>As above, if you want this server for only $105/month (but with a $60 setup), contact Cari.net sales via their Live Chat with the discount code &#8220;OSGRID&#8221;. (Speak with Mike or Shawn)</em></li>
</ul>
<p>Annual and quarterly discounts are availible for paying more than one month at a time.</p>
<p><strong>Website:</strong> <a href="http://www.cari.net">http://www.cari.net/</a></p>
<h4>OVH (Paris, France, EU)</h4>
<p>OVH are the largest dedicated server host in Europe and provide unbeatable pricing on European servers. English pricing is expensive, however the same servers ordered from their French or German language sites are 10-20% cheaper.</p>
<p>OVH provide large amounts of memory and disk space by default, so very little customisation is required on their default servers. Windows 2003/2008 is an additional EUR 15.00 per month. Their RPS low-end machines may be a suitable mid-way point between a VPS and a full machine, but I haven&#8217;t tested one myself.</p>
<p><strong>Pricing:</strong> Minimum EUR 49.95 per month. An OpenSim optimized configuration will start at EUR 114.00 per month (fully equipped).</p>
<p><strong>Website:</strong> <a href="http://www.ovh.co.uk">http://www.ovh.co.uk</a></p>
<h3>Virtual Servers</h3>
<h3>Tektonic (Dallas, TX, USA)</h3>
<p>Highly recommended by one of our employees, Tektonic provide good quality Linux VPS solutions &#8211; while they only offer Linux based VPS instances, their pricing is affordable and do not appear to oversell their servers in any noticable capacity.</p>
<p><strong>Pricing:</strong> Minimum $15.00 per month. A &#8220;workshop&#8221; quality VPS is US$28.00 per month.</p>
<p><strong>Website:</strong> <a href="http://www.tektonic.net">http://www.tektonic.net</a></p>
<h3>Slicehost (St Louis, MO, USA)</h3>
<p>Slicehost guaruntee a minimum level of performance on their virtual servers which makes them more expensive than other hosts, however have a solid customer service reputation and a high quality control panel.</p>
<p><strong>Pricing:</strong> Minimum $20.00 per month. A &#8220;workshop&#8221; quality VPS is US$38.00 per month.</p>
<p><strong>Website:</strong> <a href="http://www.slicehost.com">http://www.slicehost.com</a></p>
<h3>FsckVPS (Atlanta, LA or Texas)</h3>
<p>FsckVPS is often recommend on the OSGrid forums as a potential host &#8211; their slices are of a reasonable configuration and have plenty of memory availible. Processing time is more limited and some users have complained about running into processor limits, so their higher end packages are recommended.</p>
<p><strong>Pricing:</strong> Minimum $9.95 per month. A &#8220;workshop&#8221; quality VPS is $19.90 per month, however I recommend the $34.90 plan if you plan on concurrent users.</p>
<p><strong>UPDATE 9 June 2009:</strong> These guys dropped the ball badly on an exploit, while it does look like their upstream provider gets the lions share of the blame, they had an unacceptable amount of data loss that could have been avoided by doing some simple backup precautions when an exploit becomes known.</p>
<p><strong>Website:</strong> <a href="http://www.fsckvps.com">http://www.fsckvps.com</a></p>
<h2>&#8220;Someone host it for me&#8221;</h2>
<p>As an alternative to setting up and managing your own OpenSim instance, you can pay for someone else to manage it for you. Often this is simply bundled with a grid &#8211; however a number of companies (including DeepThink) offer managed hosting services for OpenSim.</p>
<p>On average, an OpenSim instance will take around four hours of maintanence each month &#8211; at an average industry salary this is around $80.00 per month to the hosting company in engineering costs. You should expect the margin per-server to be about this size.</p>
<p>OpenSim hosting companies will charge based on one of two methods &#8211; the first method is Second Life(r) style limits &#8211; Primitive, Avatar and Script limitations. The companies that charge this way are generally those providing regions within a grid.</p>
<p>The second method is charging for the underlying service used &#8211; Processor time, RAM usage and Bandwidth. The companies offering this tend to be fairly agnostic as to where your regions will connect.</p>
<p>An important distinction between the two methods is that you will often get more &#8216;bang for buck&#8217; on the underlying capacity. For instance if you need multiple low performance regions &#8211; you will come out significantly ahead by purchasing server time rather than regions. Likewise if you need a single high performance region you can tailor your requirements more specifically.</p>
<p>A final note &#8211; many simulators are sold as &#8217;supporting 45,000 prims&#8217;. This is not reflective of actual usage &#8211; the 45,000 number is the largest number the Second Life(R) client will display, however on the backend there is often no limit. That however does not mean the region is capable of supporting 45,000 prims.</p>
<p>We often find that simulator performance degrades rapidly past the 10,000 primitive limit per region and it requires a significant amount of work to get more than 15,000 prims into a region while the region itself is stable, especially when scripts and multiple users are factored into the equasion.</p>
<p>As an addendum to the above &#8211; the per region count is not reflective of the per-simulator count. OpenSim can host multiple regions per simulator instance and we have found that the simulator instance itself can host in excess of 100,000 primitives as long as they are distributed between multiple regions.</p>
<h3>A note on SLAs and Uptime</h3>
<p>OpenSim is still alpha software. If you expect 99%+ uptime, you will also expect to pay for it. Keeping a region running with guarunteed uptime requires active maintainence and attention by an engineer. This means it is impactical to expect 99%+ uptime unless you can afford a technician 24/7.</p>
<p>Our experience with client projects is between 97.6% and 99.2% uptime over the course of a month. (including scheduled and unscheduled maintainence) &#8211; this will vary slightly depending on the version of OpenSim used, number of users and other factors.</p>
<p>If someone claims to offer bug-free and stable deployments of OpenSim, they are probably lying or are very naieve. OpenSim will occasionally run into bugs. If you have a specific project in mind that requires a production deployment it is strongly recommended to hire a consultant who is familiar with the OpenSim project (eg DeepThink, IBM, 3Di, Tribal Media, etc.).</p>
<p>List of companies providing OpenSim hosting (note this is incomplete &#8211; there are likely to be others)</p>
<h3>Customized OpenSim Hosting Providers</h3>
<p>The following companies provide customisation services and will tailor your OpenSim install to your specific needs. These companies all provide pricing on a per-server basis rather than per-region.</p>
<p>DeepThink (Managed OpenSim hosting and Customisation services): <a href="http://www.deepthink.com.au">http://www.deepthink.com.au</a></p>
<p>ReactionGrid (Managed OpenSim hosting): <a href="http://www.reactiongrid.com">http://www.reactiongrid.com</a></p>
<p>3Di (Customisation services, hosting. Tokyo based.): <a href="http://www.3di-opensim.com/en/">http://www.3di-opensim.com/en/</a></p>
<p>Not listed here, but likely to offer these services are IBM, Tribal Media and Genkii.</p>
<h3>Grid Hosting Providers</h3>
<p>These companies provide hosting within the context of a grid. Most of these companies use very similarly specced hardware, however many of them share multiple clients per server &#8211; to use Second Life as an example, Linden Lab charges $295 per &#8220;island&#8221; which is stacked at 4 per server (or $1,180 per server per month).</p>
<p>While I did attempt to compile an exhaustive list of companies here &#8211; finding pricing and stacking ratios for many of them proved a difficult and time consuming process. You can find a more comprehensive list of grids (most of which offer region hosting), here:</p>
<p><a href="http://opensimulator.org/wiki/Grid_List">http://opensimulator.org/wiki/Grid_List</a></p>
<h2>Stability Remarks</h2>
<p>As noted all over the OpenSimulator website &#8211; OpenSim is alpha quality software. To quote our downloads page</p>
<blockquote><p><span style="color: red;"><strong>Please note:</strong></span> As OpenSim is still at an alpha code maturity stage, there is absolutely no guarantee that functionality works or is stable, even in the numbered releases. Certain features may not work either because the code is in rapid evolution, or because functionality expected by the Linden Labs Second Life viewer has simply not been implemented yet. However, constructive feedback is still welcomed.</p></blockquote>
<p>If you are putting OpenSim into a production environment, make sure to speak with your hosting provider about what you plan to do &#8211; many of them may be able to make recommendations or tweaks to better suit your demands. If you have clients involved &#8211; it is often better to stick to an older more stable release as all releases are not nessecarily equal (eg 0.5.8 was somewhat stable, whereas 0.6.3 had appearance bugs).</p>
<p>If you are planning on using the &#8216;bleeding edge&#8217; version of OpenSim in production, expect to get cut, or again quoting the downloads page:</p>
<blockquote><p><span><strong>There Be Dragons Beyond This Point</strong></span></p>
<p>If you are truly feeling dangerous, adventurous, or want to help us test the next version of OpenSim you are welcome to grab the latest unstable code out of our subversion trunk. Any warnings previous expressed about the alpha nature of the code go double or triple if you are running directly off of trunk. <strong>Never, ever, ever, never</strong> run this in production environments, it is not suitable for that unless you are very familiar with the source code, and can hot fix any piece of it (that probably means you are an OpenSim core member). Feedback and testing on the unstable tree is appreciated, as that helps us make the next release better. If this scares you from using trunk, that was intended.</p>
<p>If it breaks, you get to keep both pieces.</p></blockquote>
<h2>Final Remarks</h2>
<p>Running an Opensimulator instance can be a perfect fit for your organisation or person as long as you respect the limits. OpenSim can provide fantastic discounts to other commercial virtual worlds software, however it is worth remembering that it is still new and experimental &#8211; often this can be an advantage in customisability and features, but at the same time you need to respect the limitations of the software.</p>
<p>If you are unsure about whether to put OpenSim into production or how to do it in a way that fits what you need to do &#8211; like every Open Source piece of software, there are a lot of developers and organisations who can provide consulting services. Check the <a href="http://opensimulator.org/wiki/Development_Team">Core Developers List</a> on the OpenSimulator wiki for a full list.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/05/how-to-choose-a-good-opensim-host/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Securing Currency Exchange in an Open Environment</title>
		<link>http://www.adamfrisby.com/blog/2009/04/securing-currency-exchange-in-an-open-environment/</link>
		<comments>http://www.adamfrisby.com/blog/2009/04/securing-currency-exchange-in-an-open-environment/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 09:40:15 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[DeepThink]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[currency]]></category>
		<category><![CDATA[money]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=147</guid>
		<description><![CDATA[As some of you may or may not be aware, earlier in the year someone [see bottom of post] contracted us to develop a secured currency infrastructure for a &#8216;hypergrid-aware&#8217; environment. Meaning, something that will work even when you cannot guaruntee the simulators (or their operators) themselves are trustworthy. Within this infrastructure we only have [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you may or may not be aware, earlier in the year someone [<em>see bottom of post</em>] contracted us to develop a secured currency infrastructure for a &#8216;hypergrid-aware&#8217; environment. Meaning, something that will work even when you cannot guaruntee the simulators (or their operators) themselves are trustworthy. Within this infrastructure we only have two trusted entities &#8211; the user, and the &#8220;bank&#8221; which holds their funds.</p>
<p>The flexibility of this design allows us to setup currency systems that could work on a completely user-supported environment like OSGrid, rather than relying on a &#8220;walled garden&#8221; ala Second Life(R). It also could be used for multiple grids simultaneously &#8211; that is, several independent grids agree to utilize a single &#8220;bank&#8221;, and are then capable of grid to grid user transactions (most likely supported over a hypergrid link).</p>
<h3>How does it work?</h3>
<p>The basic method of operation is fairly simple &#8211; in both cases, the user attempts to make a payment from within the viewer (such as to another avatar, into a vendor, etc). Where the HG version differs is, it then sends the user to a website operated by the &#8220;bank&#8221; to confirm the action. The user is authenticated against the bank (via a password or other login), and is presented with the transaction details (amount, who to, etc). If the user is happy with the transaction, they approve it &#8211; and it continues to process on the server like any other normal transaction. If the user denies the transaction, then it reverses itself as if it had never been requested.</p>
<h3>The basic process</h3>
<p>If you examine the module we ship by default with OpenSim, the &#8220;SampleMoneyModule&#8221; &#8211; it is fairly straight forward when operating in a grid environment. When you make a payment in the region <strong>(1)</strong>, the simulator can check and process the payment via the money server <strong>(2)</strong>, then finally confirm the transaction with the seller <strong>(3)</strong>. The biggest limitation here is that it requires trust on most parties involved &#8211; for instance if the simulator went &#8216;rogue&#8217;, then it would be possible to just say you made a payment, without your involvement.</p>
<p><img class="aligncenter size-full wp-image-149" title="Sample Currency Server Operation" src="http://www.adamfrisby.com/blog/wp-content/uploads/currency_sample.png" alt="Sample Currency Server Operation" width="608" height="321" /></p>
<p>This is essential for some types of payments (eg, llGiveMoney), but completely unpractical in an open environment. Eg &#8211; it allows for the &#8216;credit card fraud&#8217; situation, whereby if the seller knows you exist and your account number, then it is entirely possible to debit from it without your permission. Credit cards are badly designed on this respect &#8211; there is no &#8216;confirmation of identity&#8217; with the bank required. (<a href="http://en.wikipedia.org/wiki/3-D_Secure">Something there has been some work into fixing</a>.)</p>
<p>By comparison, the DTL currency processor is a lot more complicated &#8211; it requires some &#8220;handshaking&#8221; between the parties before the transaction can proceed. To the user this is transparent mostly, however on the backend there is a more complicated web of data flow, of which there are six major steps.</p>
<p><img class="aligncenter size-full wp-image-148" title="DTL Currency Processing" src="http://www.adamfrisby.com/blog/wp-content/uploads/currency_dtl.png" alt="DTL Currency Processing" width="608" height="346" /></p>
<p>The first step is the negotiation step &#8211; in this step, the user initiates a payment to an object or user (requests a money transfer). The simulator will contact its registered money server and ask for a link that the user can confirm their intent with <strong>(1)</strong>. The user is then given that link via an IM (we&#8217;ve also made it possible to configure so that you can get that link sent to you via email from the moneyserver directly.).</p>
<p>The user should at this point (for anti-&#8221;phishing&#8221; purposes) check that the link they are given is sent from the money server (we strongly recommend using a recognizable domain with an SSL certificate). This link acts as a verification of intent &#8211; the money server will present the user with the details of the transaction, and ask them to login to confirm the transaction <strong>(2)</strong>. Eg, see the picture below:</p>
<p><img class="aligncenter size-full wp-image-150" title="Currency Confirmation Form" src="http://www.adamfrisby.com/blog/wp-content/uploads/currency_approveform.png" alt="Currency Confirmation Form" width="470" height="326" />If the user aborts the transaction, then it simply stops all further processing &#8211; only a request for payment was made, and no funds have exchanged hands. However, if the user approves the transaction, then the money server notifies the simulator that the transaction was approved <strong>(3)</strong>, this acts in a similar way to PayPal Instant Payment Notification. At this point, the simulator can execute <em>money()</em> events in scripts, approve an object purchase, or send notifications to buyer <strong>(5)</strong> or seller <strong>(6)</strong> that their balance has been updated. The money server also updates the sellers account balance with the new funds <strong>(4)</strong>.</p>
<p>To the end user, the exchange can be shown in the following screenshot (the user webpage is a slightly old version now, also ignore the spelling mistake.)</p>
<p><img class="aligncenter size-full wp-image-151" title="&quot;In Action&quot; Screenshot" src="http://www.adamfrisby.com/blog/wp-content/uploads/currency_inaction.png" alt="&quot;In Action&quot; Screenshot" width="663" height="388" /></p>
<h3>Disclaimer of liability</h3>
<p>The above does not guaruntee security &#8211; we&#8217;ve made as many steps as possible to make this usable in a public environment, <strong>however OpenSim is alpha software</strong>, and this code does not provide any kind of guaruntee of mechantability or usefulness. If you are planning on starting a virtual bank with &#8220;Real Money Trade&#8221; allowed, then you need to do a lot more work into fraud prevention and audits of this code before thinking about using it. <strong>You use this strictly at your own risk.</strong></p>
<h3>Final notes</h3>
<p>This is not the final version yet, we still have work to do in that department, however you can access a alpha version on the OpenSimulator forge (Please note, there are no NAnt build files for this project yet &#8211; it&#8217;s on the TODO list, but Linux users will need to generate them if you want to use this, or get a Visual Studio user to compile for you.)</p>
<p><a href="http://forge.opensimulator.org/gf/project/currency/">http://forge.opensimulator.org/gf/project/currency/</a></p>
<h3>Credits</h3>
<p>This was developed with funds provided by Michael Huntington &#8211; credit to him for sponsoring this project.</p>
<p>Development was done by DeepThink&#8217;s Shanghai development team (Korey Wan, Leon Zhu and Jed Zhu [in our plush SH office shared with SineWave]), planning was done by Korey and Leon, with the master architectural design done by yours truly. We&#8217;re planning on finishing this project up this week, once we have done so &#8211; we will be moving onto a Groups implementation, also sponsored by Michael Huntington.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2009/04/securing-currency-exchange-in-an-open-environment/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>And now, for some shameless self promotion.</title>
		<link>http://www.adamfrisby.com/blog/2008/11/and-now-for-some-shameless-self-promotion/</link>
		<comments>http://www.adamfrisby.com/blog/2008/11/and-now-for-some-shameless-self-promotion/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 16:24:58 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[DeepThink]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=86</guid>
		<description><![CDATA[
As many of you know &#8211; we&#8217;ve been doing a little bit more content development than usual lately. If you have attended one of the Sine Wave Pub Quizzes on OSGrid, you will probably recognise some of the items above. It&#8217;s part of our DeepThink content collection &#8211; something we&#8217;re licensing to people who need [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.gwala.net/cyanic_preview1.png" alt="Cyanic Content - Part 1" width="700" height="303" /></p>
<p>As many of you know &#8211; we&#8217;ve been doing a little bit more content development than usual lately. If you have attended one of the Sine Wave Pub Quizzes on OSGrid, you will probably recognise some of the items above. It&#8217;s part of our <a href="http://deepthink.com.au/www/index.php/DeepDesigns">DeepThink content collection</a> &#8211; something we&#8217;re licensing to people who need to get some nice looking content onto OpenSim grids quickly.</p>
<p>It&#8217;s all very low prim (most of the items are either 1 or 3 prims &#8211; the majority just a single prim), it&#8217;s all professionally rendered and sculpted by our artists, and up until this week, it hasnt really been availible in Second Life itself (with the exception of the halloween content pictured below).</p>
<p>It is now. You can find our content individually packaged and for sale now on <a href="http://shop.onrez.com/Content_Cyanic">OnRez</a> and <a href="http://www.xstreetsl.com/modules.php?name=Marketplace&amp;MerchantID=210300">XStreetSL</a>. We&#8217;re still lagging a little bit behind on our OnRez deployment, but we&#8217;ll get there eventually (we do seem to find the OnRez interface significantly more thought out). We&#8217;ve so far released only a portion of the total content we have developed, and we&#8217;re adding more regularly &#8211; so expect some new releases fairly often.</p>
<p><img src="http://www.gwala.net/cyanic_preview3.png" alt="Cyanic Preview 3" width="700" height="303" /></p>
<p>We&#8217;ve also started to add a little bit of holiday content to our mix &#8211; we did a little bit of Halloween content in October which is availible, that content also has some general purpose bits and bobs which would be useful for any gothic or vampiric castle. (Coffins, Tombstones, etc.)</p>
<p>Finally, a small preview of some of the content we&#8217;re adding to the mix for Christmas this year, this is still a very early preview (there&#8217;s a lot more coming) &#8211; but we&#8217;re hoping to have it all ready and availible by December 1st.</p>
<p><img src="http://www.gwala.net/cyanic_preview2.png" alt="Cyanic Preview 2" width="700" height="303" /></p>
<h3>Where to get it</h3>
<ul>
<li><strong>OnRez </strong>- [<em>Somewhat</em>] Availible now at <a href="http://shop.onrez.com/Content_Cyanic">http://shop.onrez.com/Content_Cyanic</a></li>
<li><strong>XStreetSL</strong> &#8211; Availible at <a href="http://www.xstreetsl.com/modules.php?name=Marketplace&amp;MerchantID=210300">http://www.xstreetsl.com/modules.php?name=Marketplace&amp;MerchantID=210300</a></li>
<li><strong>In World</strong> &#8211; Coming soon to <a href="secondlife://Kuipers/128/128/30/">Kuipers</a>.</li>
</ul>
<h3>Pricing</h3>
<p>Most items range between L$100 and L$300. Most permissions are copyable / no-trans (although a couple of items are no-copy/trans &#8211; check before buying).</p>
<h3>Running an OpenSim Grid?</h3>
<p>We&#8217;ve also got this all availible in a convenient OAR format for OpenSim operators. We provide the content to you under a few restrictions (mostly relating to distribution) as a flat yearly subscription fee for access to our entire library. We also have a bunch of content suitable for realXtend and Multiverse (and probably other virtual worlds). Contact us for licensing details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2008/11/and-now-for-some-shameless-self-promotion/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Logging into an OpenSim via realXtend accounts</title>
		<link>http://www.adamfrisby.com/blog/2008/11/logging-into-an-opensim-via-realxtend-accounts/</link>
		<comments>http://www.adamfrisby.com/blog/2008/11/logging-into-an-opensim-via-realxtend-accounts/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 04:21:54 +0000</pubDate>
		<dc:creator>Adam Frisby</dc:creator>
				<category><![CDATA[DeepThink]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[modrex]]></category>
		<category><![CDATA[modular]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[realxtend]]></category>

		<guid isPermaLink="false">http://www.adamfrisby.com/blog/?p=83</guid>
		<description><![CDATA[
Previously&#8230;
For those who havent been reading up on the OpenSim IRC channels or mailing list, your probably not aware of the work we&#8217;re doing at DeepThink for the realXtend team.
For the last month and a half, we&#8217;ve been working with the realXtend team to convert their version of OpenSimulator, to something that closer resembles a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.gwala.net/modular_rex2.png" alt="Modular realXtend Login" width="680" height="300" /></p>
<h3>Previously&#8230;</h3>
<p>For those who havent been reading up on the OpenSim IRC channels or mailing list, your probably not aware of the work we&#8217;re doing at DeepThink for the realXtend team.</p>
<p>For the last month and a half, we&#8217;ve been working with the realXtend team to convert their version of OpenSimulator, to something that closer resembles a suite of OpenSim plugins rather than a fork. Part of this work has been some sponsored contributions to improving the modularity of OpenSim itself with alternate clients (like the IClientAPI changes that are currently in progress), the other part has been conversion of the current realXtend server into a single plugin DLL called &#8216;ModularRex.dll&#8217; which encompasses all the previous internal changes.</p>
<p>The single biggest bit of news however is, once this is done &#8211; realXtend is no longer a fork of OpenSim. It&#8217;s not opensim stock, but it&#8217;s not a seperate codebase either. Patches from realXtend can be applied fairly smoothly towards OpenSim-trunk and vice-versa, because the core files are unchanged.</p>
<p>Now we&#8217;re not done yet, but we&#8217;re making some pretty steady progress to getting there by the end of the year &#8211; today marks the date at which the core architectural bits and pieces are mostly done and the realXtend <a href="http://www.adminotech.com">server developers</a> can get onboard and help finish the rest.</p>
<p>The code for the modular rex DLL&#8217;s is located on the <a href="http://forge.opensimulator.org/gf/project/modrex/">forge project for it</a>. It may not always represent the latest testing versions (since we&#8217;re working offline a lot), but we&#8217;re doing checkins every now and then &#8211; if you&#8217;re interested in following progress, that&#8217;s the best spot to go. Future development will be going on on the forge exclusively however.</p>
<h3>Multiple Concurrent Clients</h3>
<p>One of the largest feature&#8217;s we&#8217;ve now got with the latest version is the ability to insert clients into the scene while bypassing the normal login routines. This may not sound like much &#8211; but the technology needed to support this, is the same technology that will allow you to login with two completely different virtual world clients and have a conversation between them, while viewing potentially the same content.</p>
<p>The new ModularRex code skips all the current login methods and actually has a new subclassed and derived version which it enables entirely through a shared region module. In future &#8211; we may be able to take this same methodology and convert the current login and protocol handling routines into their own modules which allows them to be replaced without effort.</p>
<h3>ModRex Support Table</h3>
<p>Features</p>
<ul>
<li><strong>Rex Avatars </strong>- We support all the packeting for the avatars now, however we do not automatically send this on login <em>yet</em>. If you know your rexav address, you can just type &#8220;/rexav http://somewhere.com/myav&#8221; in chat to set the parameter manually &#8211; or you can wait a few days now that we have login implemented and we can get to setting it automatically.</li>
<li><strong>Rex Logins</strong> &#8211; You can now login with a traditional rex username, that is you can login with &#8220;username@hostname.com&#8221;, and your authentication server will authorise you instead of a direct login.</li>
</ul>
<p>Infrastructure</p>
<ul>
<li><strong>Rex Packet Handling via RexClientView</strong> &#8211; We implement a IClientNetworkServer compatible interface which deals specifically with the modified realXtend protocol. This is subclassed from LLClientView / LLUDPServer / LLPacketServer but contains overrides and new methods to represent realXtend features.</li>
<li><strong>Rex Methods and Events on ClientView</strong> &#8211; We now process a number of the realXtend events and packets and fire new &#8216;OnRexXYZ&#8217; events that you can use to send specific things to users. This does not effect IClientAPI, rather these are members of RexClientView which means you need to check the client supports features before using them. Currently, we&#8217;re sitting at about 13 of 36 handlers &#8211; however we&#8217;re 13/13[?] if you exclude methods related to RexPython (as of 0.31, there are likely going to be new things to support with the upcoming Rex release).</li>
</ul>
<p>The TODO List</p>
<ul>
<li><strong>Conversion to IClientCore</strong> &#8211; We started a lot of the conversion work before 0.6.0 was tagged, this means that the realXtend modules use a older method for checking client capabilities. We need to convert it to the new IClientCore interface to allow us standardised access to extension capabilities in modules.</li>
<li><strong>Finish SceneObjectGroup/SceneObjectPart Overloads</strong> &#8211; We&#8217;re inheriting and extending from the SOG/SOP interfaces to add additional rex-only properties to objects. There&#8217;s a degree of difficulty involved here which may nessecitate additional metadata fields in SOG/SOP. A post to OpenSim-dev will be coming shortly no doubt with some suggestions there. This is needed to be able to get rex meshes and other special object features working.</li>
<li><strong>Provide RexCommsManager</strong> &#8211; One of the limitations right now with the modular rex code is that Rex Logins (see above) dont provide a valid UserProfile class, because the Rex protocol there is different to OGS1. We need to provide an additional comms manager to allow Rex avatars to be handled correctly, or abstract OpenSim to allow ClientView to indicate the type of CommsManager it needs. This will also allow the global inventory features to be re-enabled (however moving them to the client may be a smarter long term move).</li>
<li><strong>Write generic LibRexAuth</strong> &#8211; A problem with the current dealings with the authentication server are that they are fairly hard coded for specific features. It would be nice to add a library or static class which can provide simple functions such as &#8216;GetProfileByAccountName&#8217; or &#8216;IsUserAuthorised&#8217; &#8211; this allows us to communicate better with the authentication server, saving hassle and headache and centralising things so that problems are more easily fixable. A similar class may be useful for the avatar server &#8211; however the simulator&#8217;s dealings with that server are very limited.</li>
<li><strong>Python</strong> &#8211; This needs to be converted a module, but shouldnt be too difficult as most of the code is presently abstracted and modular. With a little bit of work it may be possible to make realXtend python scripts editable in a similar manner to the LSL/C#/etc scripts, which would be very cool.</li>
<li><strong>Voice</strong> &#8211; As with the above, the Rex Voice Daemon is fairly seperate from the main codebase, so porting this should be a fairly quick and painless job.</li>
<li><strong>Update protocols to 0.35</strong> &#8211; We&#8217;re currently sitting at the 0.31 release of realXtend which means there might be issues when the 0.35 realXtend viewer goes mainstream.</li>
<li><strong>Minor bits and bobs</strong> &#8211; Getting things such as the ODE Mesh Collisions working with realXtend collision meshes may nessecitate some additional work (and probably a subclassed version of our current ODE DLLs with additional functionality). There are probably a number of minor features and fixes that will need to be ported over once the main items on the TODO are done.</li>
</ul>
<p>So overall, we&#8217;ve still got a lot of work to do &#8211; but the great news is all the architectural bits are just about done, and we&#8217;ve proven that such advanced functionality can infact be done entirely with the current OpenSim region modules.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamfrisby.com/blog/2008/11/logging-into-an-opensim-via-realxtend-accounts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
