Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Open Simulator Technical Help
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
OpenSimulator Internals/Databases
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Region Database (osimdev_t1) == === Table List === {| class="wikitable" ! Table !! Purpose |- | prims || Every prim/object in the region -- 103 fields |- | primshapes || Shape, scale, and texture data for each prim |- | primitems || Inventory items inside prim object contents |- | terrain || Region heightmap -- one blob per region |- | bakedterrain || Baked terrain data |- | land || Parcel definitions |- | landaccesslist || Per-parcel access lists |- | regionsettings || Region-wide settings (gravity, water level, sun, terrain textures) |- | regionenvironment || Environment/windlight settings |- | regionwindlight || Legacy windlight settings |- | regionextra || Extra region key-value data |- | estate_settings || Estate configuration (name, owner, access flags) |- | estate_map || Maps regions to estates |- | estate_managers || Estate manager UUID list |- | estate_groups || Estate group access list |- | estate_users || Estate user access list |- | estateban || Estate ban list |- | regionban || Region-level ban list |- | spawn_points || Avatar spawn point locations |- | migrations || Schema version tracking |} ---- === prims === 103 fields. One row per prim. The root prim of a linked object has UUID = SceneGroupID. Key fields: {| class="wikitable" ! Field !! Notes |- | UUID || Primary key -- prim UUID |- | SceneGroupID || UUID of the root prim of the linked object this prim belongs to |- | RegionUUID || Foreign key to regions table in osimdev_robust |- | Name || Prim name |- | OwnerID || Owner UUID |- | CreatorID || Creator UUID or HyperGrid URI (varchar 255) |- | LinkNumber || Position in linkset (1 = root, 2+ = children) |- | GroupPositionX/Y/Z || World position of the linkset root in region-local metres |- | PositionX/Y/Z || Position relative to the linkset root |- | RotationX/Y/Z/W || Quaternion rotation |- | ScaleX/Y/Z || Scale (in primshapes table) |- | ObjectFlags || Prim property flags bitmask |- | OwnerMask/NextOwnerMask/GroupMask/EveryoneMask/BaseMask || Permission bitmasks |- | Material || Material type (default 3 = wood) |- | PhysicsShapeType || Physics shape (0=prim, 1=none, 2=convex hull) |- | Density/Friction/Restitution/GravityModifier || Physics properties |- | SitTargetOffset/Orient || Sit target position and orientation |- | TextureAnimation || Blob -- animated texture data |- | ParticleSystem || Blob -- particle system data |- | KeyframeMotion || Blob -- keyframe animation path |- | Vehicle || Text -- vehicle parameters |- | DynAttrs || Text -- dynamic attributes (LSL) |- | sopanims || Blob -- object animation data |- | lnkstBinData || Blob -- linkset binary data |- | pseudocrc || Integer -- change detection checksum |} '''Important:''' When querying object names by SceneGroupID, use WHERE UUID = SceneGroupID to get the root prim name. Using MIN(Name) or similar aggregates will return a child prim name, not the object name. Sample objects on osimdev T1 (472 prims across 8 linksets): {| class="wikitable" ! Name !! Prims !! World Position |- | Athena Mesh Body Skin Applier (HUD) || 193 || 178, 264, 26 |- | Brown House || 181 || 238, 255, 24 |- | 4 Chair Set || 54 || 244, 266, 25 |- | Athena Bento BoM Mesh Body 6.5 (worn attachment) || 36 || 181, 284, 24 |- | Brown House Sculpts || 5 || 252, 255, 26 |- | Sofa || 1 || 247, 272, 25 |- | Object (cube) || 1 || 188, 275, 24 |- | Box || 1 || 219, 281, 24 |} ---- === primshapes === One row per prim. UUID is foreign key to prims.UUID. {| class="wikitable" ! Field !! Notes |- | UUID || Primary key -- foreign key to prims.UUID |- | ScaleX/Y/Z || Prim dimensions in metres |- | PCode || Primitive code: 9=primitive, 95=grass, 111=tree, 255=avatar |- | Shape || Shape type: 0=box, 1=cylinder, 2=prism, 3=sphere, 4=torus, 5=tube, 6=ring, 7=sculpt/mesh |- | ProfileCurve || Profile shape: 1=square, 0=circle, 2=isometric triangle, 4=equilateral triangle |- | PathCurve || Path type: 16=straight, 32=circle, 17=flexible |- | PathBegin/End || Path cut start/end (0-50000 maps to 0.0-1.0) |- | ProfileBegin/End || Profile cut |- | ProfileHollow || Hollow amount |- | PathTwist/TwistBegin || Twist |- | PathTaperX/Y || Taper |- | PathShearX/Y || Shear (top shear) |- | PathSkew || Skew |- | PathRadiusOffset || Radius offset |- | PathRevolutions || Revolutions (torus) |- | Texture || Longblob -- serialized per-face texture data |- | ExtraParams || Longblob -- mesh/sculpt UUID and extra parameters |- | Media || Text -- media-on-a-prim settings |- | LastAttachPoint || Last attachment point if worn |- | MatOvrd || Blob -- material override data (PBR) |} Sample (cube): PCode=9, Shape=0, Scale=0.5x0.5x0.5, ProfileCurve=1 (square), PathCurve=16 (straight). ---- === primitems === Inventory items inside prim contents. One row per item. {| class="wikitable" ! Field !! Notes |- | itemID || Primary key |- | primID || Foreign key to prims.UUID -- which prim contains this item |- | assetID || Foreign key to osimdev_robust.assets.id -- cross-database reference |- | assetType || Asset type |- | invType || Inventory type |- | name || Item name |- | CreatorID || varchar(255) -- accommodates HyperGrid URIs |- | ownerID || Owner UUID |- | parentFolderID || Folder UUID (within prim inventory) |- | nextPermissions/currentPermissions/basePermissions/everyonePermissions/groupPermissions || Permission bitmasks |- | salePrice/saleType || Sale settings |- | creationDate || Bigint Unix timestamp |} The assetID field in primitems references osimdev_robust.assets -- a cross-database foreign key. The asset data lives in the grid database; only the inventory record lives in the region database. Example: notecard "test note" (assetType 7) in the Box object, assetID 6f2d7ffb-99f4-431a-919e-eb8cd174a620 confirmed present in osimdev_robust.assets. ---- === terrain === {| class="wikitable" ! Field !! Notes |- | RegionUUID || varchar(255) -- region identifier |- | Revision || int -- incremented on each terrain save |- | Heightfield || longblob -- compressed binary heightmap |} One row per region. Heightfield is a compressed float array. For a 512x512 varregion: 262144 points, stored compressed. Export via simulator console: terrain save filename.r32. R32 format is a flat array of 32-bit IEEE floats, one per point, row by row SW to NE. Point at index N: X = N % width, Y = N / width, Z = elevation in metres. Sample (T1): Revision=23, Heightfield=27337 bytes compressed. ---- === regionsettings === One row per region. 50 fields covering all region-wide configuration. Key fields: {| class="wikitable" ! Field !! Default !! Notes |- | regionUUID || -- || Primary key |- | agent_limit || 40 || Maximum simultaneous avatars |- | water_height || 20 || Water level in metres |- | terrain_texture_1..4 || (library UUIDs) || Terrain textures for SW, NW, NE, SE corners |- | elevation_1/2_nw/ne/se/sw || 10/60 || Elevation blend thresholds per corner |- | terrain_raise/lower_limit || 100/-100 || Terraforming range in metres |- | maturity || 0 || 0=General, 1=Moderate, 2=Adult |- | disable_scripts || 0 || 1 = scripts disabled region-wide |- | disable_collisions || 0 || 1 = collisions disabled |- | disable_physics || 0 || 1 = physics disabled |- | block_terraform || 0 || 1 = terraforming blocked |- | block_fly || 0 || 1 = flying blocked |- | allow_damage || 0 || 1 = damage enabled |- | use_estate_sun || 1 || 1 = follow estate sun settings |- | fixed_sun || 0 || 1 = sun locked at sun_position |- | Sandbox || 0 || 1 = sandbox mode |- | covenant || NULL || UUID of covenant notecard asset |- | map_tile_ID || (UUID) || UUID of generated map tile image |- | TelehubObject || zero UUID || UUID of telehub object if set |- | TerrainPBR1..4 || (UUIDs) || PBR terrain textures -- same UUIDs as terrain_texture on osimdev |- | object_bonus || 1 || Prim bonus multiplier |} ---- === land === One row per parcel. Bitmap field stores the parcel shape as a compressed bit array. Key fields: {| class="wikitable" ! Field !! Notes |- | UUID || Primary key -- parcel UUID |- | RegionUUID || Region this parcel belongs to |- | LocalLandID || Integer parcel ID within the region |- | Name || Parcel name |- | OwnerUUID || Owner UUID |- | Area || Parcel area in square metres |- | LandStatus || 0=owned, 1=for sale, 2=for sale to specific avatar |- | LandFlags || Bitmask of parcel permissions and settings |- | Bitmap || Longblob -- parcel shape bitmap |- | UserLocationX/Y/Z || Landing point position (0,0,0 = no landing point set) |- | water_height || Water level override |- | MusicURL || Parcel music stream URL |- | MediaURL || Parcel media URL |- | PassHours/PassPrice || Temporary pass settings |- | OtherCleanTime || Auto-return time in minutes (0 = disabled) |- | SeeAVs/AnyAVSounds/GroupAVSounds || Avatar and sound visibility settings |} Sample (T1): one parcel covering the entire 512x512 region (Area=262144), owned by Jagga, no landing point set. ---- === estate_settings === One row per estate. Key fields: {| class="wikitable" ! Field !! Notes |- | EstateID || Integer ID (101 on osimdev -- system default is 1) |- | EstateName || Display name |- | EstateOwner || UUID of estate owner |- | ParentEstateID || 1 = top-level estate |- | PublicAccess || 1 = open to all |- | AllowDirectTeleport || 1 = no telehub routing required |- | AllowVoice || 1 = voice enabled |- | AllowLandmark || 1 = landmark creation permitted |- | AllowParcelChanges || 1 = parcel subdivision/join permitted |- | AllowSetHome || 1 = avatars can set home here |- | DenyMinors || 1 = block avatars under 18 |- | DenyAnonymous || 1 = block unverified accounts |- | UseGlobalTime || 1 = use grid-wide time |- | FixedSun || 1 = sun locked |- | SunPosition || Sun angle when FixedSun=1 |- | ResetHomeOnTeleport || 1 = reset home when teleporting out |- | EstateSkipScripts || 1 = scripts disabled estate-wide |- | AllowEnviromentOverride || 1 = parcels can override environment |} ---- === estate_map === Two-field mapping table linking regions to estates. {| class="wikitable" ! Field !! Notes |- | RegionID || Primary key -- region UUID |- | EstateID || Foreign key to estate_settings.EstateID |} Sample (T1): RegionID = T1 UUID, EstateID = 101. ---- === estate_managers / estate_groups / estate_users / estateban / regionban / landaccesslist === All follow the same pattern -- EstateID or RegionID plus a UUID. All empty on a fresh single-user grid. {| class="wikitable" ! Table !! Purpose |- | estate_managers || UUIDs of avatars with estate manager rights |- | estate_groups || Groups with estate-level access |- | estate_users || Individual avatars with estate-level access |- | estateban || Avatars banned from the estate |- | regionban || Avatars banned from the region |- | landaccesslist || Per-parcel access and ban lists |} ---- === spawn_points === Stores avatar spawn locations for the region. Empty = use default spawn. {| class="wikitable" ! Field !! Notes |- | RegionID || Region UUID |- | Yaw || Horizontal angle in radians -- relative to region centre |- | Pitch || Vertical angle in radians |- | Distance || Distance from region centre in metres |} Note: spawn points are stored as spherical coordinates (yaw/pitch/distance) relative to the region centre, not as absolute X/Y/Z world coordinates. ---- === regionenvironment === Modern EEP (Extended Environment Protocol) settings. Replaces regionwindlight for viewers that support EEP. {| class="wikitable" ! Field !! Notes |- | region_id || Primary key -- region UUID |- | llsd_settings || mediumtext -- full environment settings serialized as LLSD |} Empty when using default environment settings. ---- === regionwindlight === Legacy Windlight environment settings. 63 fields covering water appearance, atmosphere, clouds, and sun/moon parameters. Present for backwards compatibility with viewers that do not support EEP. Key field groups: * Water: water_color_r/g/b, water_fog_density_exponent, underwater_fog_modifier, reflection_wavelet_scale, fresnel_scale/offset, refract_scale, blur_multiplier, wave directions, normal_map_texture * Atmosphere: horizon_r/g/b/i, haze_horizon, blue_density_r/g/b/i, haze_density, density_multiplier, distance_multiplier, max_altitude * Sun/Moon: sun_moon_color_r/g/b/i, sun_moon_position, ambient_r/g/b/i, east_angle, sun_glow_focus/size, scene_gamma, star_brightness * Clouds: cloud_color, cloud_x/y, cloud_density/coverage/scale, cloud_detail, cloud_scroll_x/y with lock flags, draw_classic_clouds Default values are the SL/OpenSim standard windlight preset. Empty when using defaults. ---- === regionextra === Generic key-value store for region-level extra data. Same pattern as the Avatars table in osimdev_robust. {| class="wikitable" ! Field !! Notes |- | RegionID || Composite primary key |- | Name || Key name -- varchar(32) |- | value || Text value |} Empty on osimdev -- no extra region data set. ---- === migrations === Schema version tracking. One row per migration set, recording the current schema revision. Used by OpenSim's migration system to apply database upgrades on startup. {| class="wikitable" ! Field !! Notes |- | version || Current schema revision number for this migration set |- | name || Migration set name (e.g. GridStore, AssetStore, InventoryStore) |} ----
Summary:
Please note that all contributions to Open Simulator Technical Help may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Open Simulator Technical Help:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
OpenSimulator Internals/Databases
(section)
Add topic