<?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%2FMapImageService</id>
	<title>OpenSimulator Internals/MapImageService - 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%2FMapImageService"/>
	<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/MapImageService&amp;action=history"/>
	<updated>2026-08-04T14:40:29Z</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/MapImageService&amp;diff=18&amp;oldid=prev</id>
		<title>Jwbshaw: first</title>
		<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/MapImageService&amp;diff=18&amp;oldid=prev"/>
		<updated>2026-06-21T07:03:39Z</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/MapImageService =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
MapImageService stores and serves map tile images. Stored on the filesystem, not in the database.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
&lt;br /&gt;
Config key: TilesStoragePath in [MapImageService] section. Defaults to maptiles/&lt;br /&gt;
&lt;br /&gt;
Directory structure: maptiles/{scopeID}/&lt;br /&gt;
&lt;br /&gt;
File naming: map-{zoomLevel}-{x}-{y}-objects.jpg&lt;br /&gt;
&lt;br /&gt;
=== Zoom Levels ===&lt;br /&gt;
&lt;br /&gt;
8 levels. Level 1 is full resolution (256x256 pixels). Levels 2-8 are generated automatically by downsampling 4 adjacent tiles into 1.&lt;br /&gt;
&lt;br /&gt;
=== Behaviour ===&lt;br /&gt;
&lt;br /&gt;
* Multi-resolution tile generation is queued and asynchronous. Waits 60 seconds after a tile arrives before building zoom levels -- avoids thrashing when large varregions upload many tiles at once.&lt;br /&gt;
* Missing tile returns a pre-cached water-coloured JPEG (RGB 29, 72, 96) rather than an error.&lt;br /&gt;
* All file I/O uses a single mutex. Thread safe but potentially a bottleneck on busy grids.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
No database tables. All storage is on the filesystem.&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>