<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://osimdev.org/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenSimulator_Internals%2FAssetService</id>
	<title>OpenSimulator Internals/AssetService - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://osimdev.org/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenSimulator_Internals%2FAssetService"/>
	<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/AssetService&amp;action=history"/>
	<updated>2026-08-04T15:31:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/AssetService&amp;diff=13&amp;oldid=prev</id>
		<title>Jwbshaw: first</title>
		<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/AssetService&amp;diff=13&amp;oldid=prev"/>
		<updated>2026-06-21T06:56:48Z</updated>

		<summary type="html">&lt;p&gt;first&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= OpenSimulator Internals/AssetService =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
AssetService stores and serves asset blobs -- textures, meshes, scripts, notecards, and other content. Intentionally dumb -- no referential awareness. It does not know or care what references an asset.&lt;br /&gt;
&lt;br /&gt;
This service is stateless and can be load-balanced across multiple ROBUST instances.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Storage Backends ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Backend !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Database blob (default) || Asset data stored as LONGBLOB in the assets table. Simple, works out of the box.&lt;br /&gt;
|-&lt;br /&gt;
| FSAssets || Asset data stored on the filesystem. Recommended for installations above 50GB. More efficient for large asset stores.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Asset Properties ==&lt;br /&gt;
&lt;br /&gt;
Assets are immutable by design -- no updates, only inserts. The database only grows. No built-in garbage collection exists.&lt;br /&gt;
&lt;br /&gt;
When an object is rezzed on a foreign HyperGrid grid, assets are copied to that grid&amp;#039;s asset table -- same UUID, separate copy, no link between them, no cleanup on either end.&lt;br /&gt;
&lt;br /&gt;
=== Asset type classification (computed, not stored) ===&lt;br /&gt;
&lt;br /&gt;
* IsBinaryAsset: Animation, Gesture, Simstate, Unknown, Object, Sound, SoundWAV, Texture, TextureTGA, Folder, ImageJPEG, ImageTGA, Mesh, LSLBytecode&lt;br /&gt;
* IsTextualAsset: everything else&lt;br /&gt;
* ContainsReferences: textual assets excluding Notecard, CallingCard, LSLText, Landmark&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
See [[OpenSimulator Internals/Data Dictionaries#assets|assets table]] for the full database schema.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[OpenSimulator Internals/ROBUST Services]]&lt;br /&gt;
* [[OpenSimulator Internals/Data Dictionaries]]&lt;/div&gt;</summary>
		<author><name>Jwbshaw</name></author>
	</entry>
</feed>