OpenSimulator Internals/MapImageService
Appearance
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.