Environment
Second Life Release 26.1.0.22641522367 (64bit)
Release Notes
You are at 224.0, 96.0, 20.6 in By Design located at simhost-0498f68eca16e9bd7.agni
SLURL: https://maps.secondlife.com/secondlife/By%20Design/224/96/21
(global coordinates 242144.0, 252256.0, 20.6)
Second Life Preflight 2026-03-04.22660319648
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.3.1 Darwin 25.3.0 Darwin Kernel Version 25.3.0: Wed Jan 28 20:54:46 PST 2026; root:xnu-12377.91.3~2/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 776x822
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 64m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 0
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (100.0% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 0/1603 (0.0%)
March 19 2026 10:31:00
Description
When the World Map floater is opened, the viewer sends many more MapBlockRequest messages than it probably needs to. I see this manifest in two ways:
- Each MapBlockRequest message only covers a 4x4 area of regions, as defined by [MinX, MaxX, MinY, MaxY] in PositionData. Multiple MapBlockRequest messages are sent if the viewer is interested in a larger range. @akleshchev indicates this is defined by
MAP_BLOCK_SIZE = 4 in the viewer.
For example, if the viewer is interested in the regions around grid coordinates 1315,1185, it sends 4 MapBlockRequest messages with these PositionData values:
- MinX = 1312, MaxX = 1315, MinY = 1180, MaxY = 1183
- MinX = 1312, MaxX = 1315, MinY = 1184, MaxY = 1187
- MinX = 1316, MaxX = 1319, MinY = 1180, MaxY = 1183
- MinX = 1316, MaxX = 1319, MinY = 1184, MaxY = 1187
I think it would be better for the viewer to send a single MapBlockRequest message requesting the 8x8 area it is interested in.
- When panning over the world map, the viewer sends many MapBlockRequest messages for regions, and I suspect it doesn't need this data at all. Example response data looks like this:
IN MapBlockReply [RELIABLE]
# ID: 759
[AgentData]
AgentID = [[AGENT_ID]]
Flags =| ('LAYER',) #0x2
[Data]
X = 968
Y = 995
Name = 'Phoenix Rising'
Access =| 'MATURE' #21
RegionFlags =| () #0x0
WaterHeight = 0
Agents = 0
MapImageID = fc40e182-4814-b012-4c9e-cb914bdd0b1a
The world map is only rendering the grid-coordinate-defined map tile image for these regions; it's not showing their names, and I don't believe it's using the other region data unless the user clicks on the region tile.
Reproduction steps
- Configure the viewer to show its MapBlockRequest messages. This might be accomplished via aggressive DEBUG logging, but I prefer to use https://github.com/SaladDais/Hippolyzer as a proxy and display the message log.
- Open World Map, and note the MapBlockReply messages that are sent
- Search for a distant region on mainland (I used 'Ahern'), and note the MapBlockReply messages that are sent
Expected results:
- Ideally, minimal MapBlockReply messages should be sent in general.
- In (2), the viewer would ideally send a single MapBlockReply message covering a sufficiently large area to cover the view, or at least a few messages covering a larger area (8x8?)
- In (3), the viewer should only send MapBlockReply messages for the searched region, and perhaps the regions immediately around it. It should not send MapBlockReply messages for all the regions located between the initial world map view and searched region.
Actual results:
- In (2), the viewer sends several MapBlockReply messages, each only requesting a 4x4 section around the initial world map view
- In (3), the viewer sends hundreds of MapBlockReply messages, for many unrelated mainland regions. I don't believe it actually uses any of the data that comes from the response
- Video example of both cases: https://www.youtube.com/watch?v=JCO2niE8sW8
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #5558 either in the PR description or in a PR's comment.
🪙 Also, everyone can tip any user commenting /tip 20 @maestrolinden (replace 20 with the amount, and @maestrolinden with the user to tip).
📖 If you want to learn more, check out our documentation.
Environment
Second Life Release 26.1.0.22641522367 (64bit)
Release Notes
You are at 224.0, 96.0, 20.6 in By Design located at simhost-0498f68eca16e9bd7.agni
SLURL: https://maps.secondlife.com/secondlife/By%20Design/224/96/21
(global coordinates 242144.0, 252256.0, 20.6)
Second Life Preflight 2026-03-04.22660319648
Release Notes
CPU: Apple M1 Pro (2400 MHz)
Memory: 16384 MB
OS Version: macOS 26.3.1 Darwin 25.3.0 Darwin Kernel Version 25.3.0: Wed Jan 28 20:54:46 PST 2026; root:xnu-12377.91.3~2/RELEASE_ARM64_T6000 arm64
Graphics Card Vendor: Apple
Graphics Card: Apple M1 Pro
OpenGL Version: 4.1 Metal - 90.5
Window size: 776x822
Font Size Adjustment: 96pt
UI Scaling: 0.75
Draw distance: 64m
Bandwidth: 10000kbit/s
LOD factor: 1.125
Render quality: 0
Texture memory: 12124MB
Disk cache: Max size 2150.4 MB (100.0% used)
HiDPI display mode:
J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.24.0.202510081737
CEF: 139.0.40+g465474a+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway
Packets Lost: 0/1603 (0.0%)
March 19 2026 10:31:00
Description
When the World Map floater is opened, the viewer sends many more MapBlockRequest messages than it probably needs to. I see this manifest in two ways:
MAP_BLOCK_SIZE = 4in the viewer.For example, if the viewer is interested in the regions around grid coordinates 1315,1185, it sends 4 MapBlockRequest messages with these PositionData values:
I think it would be better for the viewer to send a single MapBlockRequest message requesting the 8x8 area it is interested in.
The world map is only rendering the grid-coordinate-defined map tile image for these regions; it's not showing their names, and I don't believe it's using the other region data unless the user clicks on the region tile.
Reproduction steps
Expected results:
Actual results:
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100(replace100with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/tryto let everyone know!🙌 And when they open the PR, they can comment
/claim #5558either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @maestrolinden(replace20with the amount, and@maestrolindenwith the user to tip).📖 If you want to learn more, check out our documentation.