Jump to content

OpenSimulator Internals/MapImageService

From Open Simulator Technical Help
Revision as of 07:03, 21 June 2026 by Jwbshaw (talk | contribs) (first)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

OpenSimulator Internals/MapImageService

[edit]

Overview

[edit]

MapImageService stores and serves map tile images. Stored on the filesystem, not in the database.


Storage

[edit]

Config key: TilesStoragePath in [MapImageService] section. Defaults to maptiles/

Directory structure: maptiles/{scopeID}/

File naming: map-{zoomLevel}-{x}-{y}-objects.jpg

Zoom Levels

[edit]

8 levels. Level 1 is full resolution (256x256 pixels). Levels 2-8 are generated automatically by downsampling 4 adjacent tiles into 1.

Behaviour

[edit]
  • 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.
  • Missing tile returns a pre-cached water-coloured JPEG (RGB 29, 72, 96) rather than an error.
  • All file I/O uses a single mutex. Thread safe but potentially a bottleneck on busy grids.

Database

[edit]

No database tables. All storage is on the filesystem.


See Also

[edit]