Advanced Land Management¶
This page covers tool-level workflows for parcel, terrain, and estate administration.
Parcel tools¶
ParcelGetCurrentParcelGetByLocalIdParcelSetInfoParcelSetLandingParcelAccessListGetParcelAccessListSetParcelFlagsGetParcelSetFlagsParcelEjectUserParcelJoinParcelSubdivideParcelPermissionDiagnosticsParcelDeedToGroupParcelReclaim
Terrain tools¶
TerrainHeightmapSampleTerrainHeightmapExportRawTerrainHeightmapImportRawTerrainPatchCacheVerifyTerrainPatchDiffRawTerrainPatchApplyOffsetTerrainPatchApplyOffsetRawTerrainTerraform
Estate/admin tools¶
EstateGetInfoEstateGetCovenantEstateRestartRegionEstateCancelRestartEstateBroadcastMessageEstateRestartScheduleGetEstateRestartScheduleSet
Recommended operation order¶
- Inspect current state (
ParcelGetCurrent,EstateGetInfo). - Apply minimal change (
ParcelSetInfo,ParcelSetLanding,TerrainTerraform). - Re-read state and confirm behavior.
- Announce impact before disruptive actions (restart/schedule changes).
Prompt examples for precise control¶
Get parcel by local ID 42 with access lists included.
Update parcel 42 name to Main Landing, set media URL to https://example.com/screen.
Set parcel 42 landing type to direct.
Replace the allow list on parcel 42 with avatars <uuid-a>,<uuid-b>.
ParcelAccessListSet(localId=42, listType="access", action="replace", agentIdsCsv="<uuid-a>,<uuid-b>")
Remove avatar <uuid-a> from the ban list on parcel 42.
ParcelAccessListSet(localId=42, listType="ban", action="remove", agentIdsCsv="<uuid-a>")
Get parcel flags for parcel 42 and show enabled states.
ParcelFlagsGet(localId=42, forceRefresh=false)
Enable UseAccessList,AllowFly and disable UseBanList,AllowDamage on parcel 42.
ParcelSetFlags(localId=42, enableFlagsCsv="UseAccessList,AllowFly", disableFlagsCsv="UseBanList,AllowDamage")
Run parcel permission diagnostics for parcel 42.
Deed the current parcel to group <group-uuid>.
ParcelDeedToGroup(groupId="<group-uuid>", forceRefresh=false)
Reclaim the parcel under the bot's current position.
ParcelReclaim()
Join parcels in bounds west=96 south=96 east=160 north=160.
Subdivide parcels in bounds west=96 south=96 east=128 north=128.
Sample terrain heights with step 8 and report missing cache points.
Terraform parcel 42 with action smooth and brush large.
Export terrain heightmap to /workspace/state/region-terrain.r32
Import terrain heightmap from /workspace/state/region-terrain.r32
Verify terrain patch cache at step 8 with minimum coverage ratio 0.9 and timeout 20 seconds.
Diff terrain source current vs /workspace/state/region-terrain.r32 with min delta 0.05 and max samples 20.
Apply terrain patch offset in bounds west=96 south=96 east=128 north=128 with delta 0.5 meters.
Apply terrain patch offset from /workspace/state/base-terrain.r32 in bounds west=96 south=96 east=128 north=128 with delta 0.5 meters.
Set weekly restart schedule for tue,thu at 02:15 UTC.
Safe parcel ops playbook¶
Use this sequence to reduce mistakes and permission surprises:
- Inspect target parcel and permission hints.
- Confirm exact bounds and impact with the user.
- Execute one structural change (join or subdivide).
- Re-read parcel state and report what changed.
Example prompt sequence:
Get parcel by local ID 42 with access lists included.
Run parcel permission diagnostics for parcel 42 and summarize blockers.
Subdivide parcels in bounds west=96 south=96 east=128 north=128.
Get parcel by local ID 42 again and confirm landing, media, and access-list state.
Notes and current limitations¶
- Terrain sampling reads simulator-cached patches; missing samples usually mean the patch cache is incomplete.
- If cache coverage is 0%,
TerrainHeightmapExportRawnow fails instead of writing a misleading all-zero file. - Terraform now uses a cache-safe reference-height fallback when terrain patch cache is incomplete.
- Patch-level workflows are available: verify cache coverage, diff RAW sources, and apply bounded offsets.
- For cache-cold sessions, prefer
TerrainPatchApplyOffsetRawwith a known.r32source file/URL. - Access list updates are scope-specific (
accessorban) and supportadd,remove,replace, andclearoperations. ParcelDeedToGrouponly works when the bot currently owns the parcel under its position and has rights to deed to the target group.ParcelReclaimuses the current simulator and parcel under the bot position; reclaim success depends on simulator/estate privileges.- Estate operations depend on simulator capabilities and your estate permission level.
Prefer capability-aware retries
If a call fails, first re-check capability availability and privileges, then retry with narrower scope.