Land (database table)

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Filled in a few more descriptions for database fields.)
(LandFlags)
 
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{Quicklinks}}
{{Template:Quicklinks}}
+
''      (back to [[Database Documentation]])
 +
<br /><br />
 +
The current structure of the Land table is as follows:<br />
 
<br />
 
<br />
 
[[Category:Database]]
 
 
'''Estate Managers''' ''Records managers of estates ''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(back to [[Database Documentation]])
 
<br><br>
 
The current structure of the Land table is as follows:<br>
 
<br>
 
 
<table>
 
<table>
<tr><td>Field<br></td><td>Type</td><td>Null</td><td>Key</td><td>Default</td><td>Extra</td></tr>
+
<tr><td>Field<br /></td><td>Type</td><td>Null</td><td>Key</td><td>Default</td><td>Extra</td></tr>
 
<tr><td>&nbsp;</td></tr>
 
<tr><td>&nbsp;</td></tr>
 
<tr><td>UUID</td><td>varchar(255)</td><td>NO</td><td>PRI</td><td></td><td></td></tr>
 
<tr><td>UUID</td><td>varchar(255)</td><td>NO</td><td>PRI</td><td></td><td></td></tr>
Line 46: Line 41:
 
<tr><td>Dwell</td><td>int(11)</td><td>NO</td><td></td><td></td><td></td></tr>
 
<tr><td>Dwell</td><td>int(11)</td><td>NO</td><td></td><td></td><td></td></tr>
 
</table>
 
</table>
<br>
+
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(back to [[Database Documentation]])<br>
+
== UUID ==
<hr>
+
'''UUID'''
+
<br>
+
 
The unique ID of the Land Parcel.
 
The unique ID of the Land Parcel.
<br>
+
 
<br>
+
== RegionUUID ==
'''RegionUUID'''
+
<br>
+
 
The UUID of the region containing this land parcel.
 
The UUID of the region containing this land parcel.
<br>
+
 
<br>
+
== LocalLandID ==
'''LocalLandID'''
+
The number of the parcel.
<br>
+
 
The number of the parcel
+
== Bitmap ==
<br>
+
A block of 512 bytes (4,096 bits) of data with each bit of each byte indicating whether a 4m x 4m piece of a region (the smallest selectable) is in the parcel of land. The block of bytes starts in the bottom left corner of the region, proceeding west-east, south-north. As there are 8 bits in a byte, each byte corresponds to 8 pieces of land in a 256x256 region.
<br>
+
 
'''Bitmap'''
+
The first bit in the first byte refers to the square piece of land with corners (in region co-ordinates) at:
<br>
+
* (0, 0)
A block of 512 bytes (4,096 bits) of data with each bit of each byte indicating whether a 4m x 4m piece of a region (the smallest selectable) is in the parcel of land.
+
* (4, 0)
<br>
+
* (4, 4)
Additional data is needed on the organization of the bits in each byte.
+
* (0, 4)
<br>
+
 
<br>
+
The first byte corresponds to a rectangle with corners at:
'''Name'''
+
* (0 ,0)
<br>
+
* (32,0)
 +
* (32,4)
 +
* (0, 4)
 +
 
 +
The second byte corresponds to a rectangle with corners at:
 +
* (32, 0)
 +
* (64, 0)
 +
* (64, 4)
 +
* (32, 4)
 +
 
 +
The ninth byte thus corresponds to a rectangle with corners at:
 +
* (0, 4)
 +
* (32,4)
 +
* (32,8)
 +
* (0, 8)
 +
 
 +
To determine if a piece of land in the region belongs to the parcel, one should perform a bitwise operation on the byte, e.g.
 +
# byte & 1
 +
# byte & 2
 +
# byte & 4
 +
# byte & 8
 +
# byte & 16
 +
# byte & 32
 +
# byte & 64
 +
# byte & 128
 +
 
 +
== Name ==
 
The name of this land parcel.
 
The name of this land parcel.
<br>
+
 
<br>
+
== Description ==
'''Description'''
+
<br>
+
 
A description of this land parcel.
 
A description of this land parcel.
<br>
+
 
<br>
+
== OwnerUUID ==
'''OwnerUUID'''
+
<br>
+
 
The UUID of the user who owns this land parcel.
 
The UUID of the user who owns this land parcel.
<br>
+
 
<br>
+
== IsGroupOwned ==
'''IsGroupOwned'''
+
This is set to 1 if the parcel is owned by a group. If it is not group owned it will be 0.
<br>
+
 
To be identified.
+
== Area ==
<br>
+
<br>
+
'''Area'''
+
<br>
+
 
The size of the parcel (in square meters).
 
The size of the parcel (in square meters).
<br>
+
 
<br>
+
== AuctionID ==
'''AuctionID'''
+
<br>
+
 
To be identified.
 
To be identified.
<br>
+
 
<br>
+
== Category ==
'''Category'''
+
This specifies the category the parcel of land is in when doing a search. A value of 0 indicates no category was set, -1 is any category, and positive numbers indicate a specific category.
<br>
+
 
 +
== ClaimDate ==
 +
The date the parcel of land was claimed by an avatar (ie. the date of sale).
 +
 
 +
== ClaimPrice ==
 
To be identified.
 
To be identified.
<br>
+
 
<br>
+
== GroupUUID ==
'''ClaimDate'''
+
<br>
+
To be identified.
+
<br>
+
<br>
+
'''ClaimPrice'''
+
<br>
+
To be identified.
+
<br>
+
<br>
+
'''GroupUUID'''
+
<br>
+
 
To be identified when Groups are implemented.
 
To be identified when Groups are implemented.
<br>
+
 
<br>
+
== SalePrice ==
'''SalePrice'''
+
<br>
+
 
If the land is for sale this is the price asked.
 
If the land is for sale this is the price asked.
<br>
+
 
<br>
+
== LandStatus ==
'''LandStatus'''
+
''From OpenMetaverse.ParcelStatus''
<br>
+
* -1 : None
To be identified.
+
* 0 : Leased
<br>
+
* 1 : LeasePending
<br>
+
* 2 : Abandoned
'''LandFlags'''
+
 
<br>
+
== LandFlags ==
To be identified.
+
<table>
<br>
+
<caption>OpenMetaverse.ParcelFlags</caption>
<br>
+
<tr><th>Name</th><th align="left">Decimal</th><th align="left">Hex</th><th align="left">Description</th></tr>
'''LandingType'''
+
<tr>
<br>
+
<th scope="row">None</th>
 +
<td>0</td>
 +
<td>0</td>
 +
<td>No flags set</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowFly</th>
 +
<td>1</td>
 +
<td>1</td>
 +
<td>Allow avatars to fly (a client-side only restriction)</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowOtherScripts</th>
 +
<td>2</td>
 +
<td>2</td>
 +
<td>Allow foreign scripts to run</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">ForSale</th>
 +
<td>4</td>
 +
<td>4</td>
 +
<td>This parcel is for sale</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowLandmark</th>
 +
<td>8</td>
 +
<td>8</td>
 +
<td>Allow avatars to create a landmark on this parcel</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowTerraform</th>
 +
<td>16</td>
 +
<td>10</td>
 +
<td>Allows all avatars to edit the terrain on this parcel</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowDamage</th>
 +
<td>32</td>
 +
<td>20</td>
 +
<td>Avatars have health and can take damage on this parcel.  If set, avatars can be killed and sent home here</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">CreateObjects</th>
 +
<td>64</td>
 +
<td>40</td>
 +
<td>Foreign avatars can create objects here</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">ForSaleObjects</th>
 +
<td>128</td>
 +
<td>80</td>
 +
<td>All objects on this parcel can be purchased</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UseAccessGroup</th>
 +
<td>256</td>
 +
<td>100</td>
 +
<td>Access is restricted to a group</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UseAccessList</th>
 +
<td>512</td>
 +
<td>200</td>
 +
<td>Access is restricted to a whitelist</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UseBanList</th>
 +
<td>1024</td>
 +
<td>400</td>
 +
<td>Ban blacklist is enabled</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UsePassList</th>
 +
<td>2048</td>
 +
<td>800</td>
 +
<td>Unknown</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">ShowDirectory</th>
 +
<td>4096</td>
 +
<td>1000</td>
 +
<td>List this parcel in the search directory</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowDeedToGroup</th>
 +
<td>8192</td>
 +
<td>2000</td>
 +
<td>Allow personally owned parcels to be deeded to group</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">ContributeWithDeed</th>
 +
<td>16384</td>
 +
<td>4000</td>
 +
<td>If Deeded, owner contributes required tier to group parcel is deeded to</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">SoundLocal</th>
 +
<td>32768</td>
 +
<td>8000</td>
 +
<td>Restrict sounds originating on this parcel to the parcel boundaries</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">SellParcelObjects</th>
 +
<td>65536</td>
 +
<td>10000</td>
 +
<td>Objects on this parcel are sold when the land is purchsaed</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowPublish</th>
 +
<td>131072</td>
 +
<td>20000</td>
 +
<td>Allow this parcel to be published on the web</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">MaturePublish</th>
 +
<td>262144</td>
 +
<td>40000</td>
 +
<td>The information for this parcel is mature content</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UrlWebPage</th>
 +
<td>524288</td>
 +
<td>80000</td>
 +
<td>The media URL is an HTML page</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UrlRawHtml</th>
 +
<td>1048576</td>
 +
<td>100000</td>
 +
<td>The media URL is a raw HTML string</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">RestrictPushObject</th>
 +
<td>2097152</td>
 +
<td>200000</td>
 +
<td>Restrict foreign object pushes</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">DenyAnonymous</th>
 +
<td>4194304</td>
 +
<td>400000</td>
 +
<td>Ban all non identified/transacted avatars</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">LindenHome</th>
 +
<td>8388608</td>
 +
<td>800000</td>
 +
<td>No comment in documentation or this one!</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowGroupScripts</th>
 +
<td>33554432</td>
 +
<td>2000000</td>
 +
<td>Allow group-owned scripts to run</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">CreateGroupObjects</th>
 +
<td>67108864</td>
 +
<td>4000000</td>
 +
<td>Allow object creation by group members or group objects</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowAPrimitiveEntry</th>
 +
<td>134217728</td>
 +
<td>8000000</td>
 +
<td>Allow all objects to enter this parcel</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowGroupObjectEntry</th>
 +
<td>268435456</td>
 +
<td>10000000</td>
 +
<td>Only allow group and owner objects to enter this parcel</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">AllowVoiceChat</th>
 +
<td>536870912</td>
 +
<td>20000000</td>
 +
<td>Voice Enabled on this parcel</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">UseEstateVoiceChan</th>
 +
<td>1073741824</td>
 +
<td>40000000</td>
 +
<td>Use Estate Voice channel for Voice on this parcel. This correspond to unchecking "Restrict voice to this parcel" in the viewer.</td>
 +
</tr>
 +
<tr>
 +
<th scope="row">DenyAgeUnverified</th>
 +
<td>2147483648</td>
 +
<td>80000000</td>
 +
<td>Deny Age Unverified Users</td>
 +
</tr>
 +
</table>
 +
 
 +
== LandingType ==
 
The landing point setting for the parcel: 0 is Blocked, 1 is 1anding point set, 2 is for landing allowed anywhere.
 
The landing point setting for the parcel: 0 is Blocked, 1 is 1anding point set, 2 is for landing allowed anywhere.
<br>
+
 
<br>
+
== MediaAutoScale ==
'''MediaAutoScale'''
+
A boolean (1 or 0) indicating whether media should be stretched to fit the face of the prim it's displayed on.
<br>
+
 
To be identified.
+
== MediaTextureUUID ==
<br>
+
<br>
+
'''MediaTextureUUID'''
+
<br>
+
 
The UUID of a texture. Objects using this texture will show a video stream or web page after they click the video play arrow in their viewer.
 
The UUID of a texture. Objects using this texture will show a video stream or web page after they click the video play arrow in their viewer.
<br>
+
 
<br>
+
== MediaURL ==
'''MediaURL'''
+
<br>
+
 
The URL of the video stream, or media, to be played in this land.
 
The URL of the video stream, or media, to be played in this land.
<br>
+
 
<br>
+
== MusicURL ==
'''MusicURL'''
+
<br>
+
 
The URL of the Music station to be played in this land.
 
The URL of the Music station to be played in this land.
<br>
+
 
<br>
+
== Passhours ==
'''Passhours'''
+
<br>
+
 
The length of time that a pass to his parcel is valid.
 
The length of time that a pass to his parcel is valid.
<br>
+
 
<br>
+
== PassPrice ==
'''PassPrice'''
+
<br>
+
 
The cost of a pass to this parcel.
 
The cost of a pass to this parcel.
<br>
+
 
<br>
+
== SnapshotUUID ==
'''SnapshotUUID'''
+
<br>
+
 
The UUID (key) on the asset table of a picture of this parcel.
 
The UUID (key) on the asset table of a picture of this parcel.
<br>
+
 
<br>
+
== UserLocationX ==
'''UserLocationX'''
+
The X co-ordinate of the parcel's landing zone (if set).
<br>
+
 
 +
== UserLocationY ==
 +
The Y co-ordinate of the parcel's landing zone (if set).
 +
 
 +
== UserLocationZ ==
 +
The Z co-ordinate of the parcel's landing zone (if set).
 +
 
 +
== UserLookAtX ==
 
To be identified.
 
To be identified.
<br>
+
 
<br>
+
== UserLookAtY ==
'''UserLocationY'''
+
<br>
+
 
To be identified.
 
To be identified.
<br>
+
 
<br>
+
== UserLookAtZ ==
'''UserLocationZ'''
+
<br>
+
 
To be identified.
 
To be identified.
<br>
+
 
<br>
+
== AuthBuyID ==
'''UserLookAtX'''
+
<br>
+
To be identified.
+
<br>
+
<br>
+
'''UserLookAtY'''
+
<br>
+
To be identified.
+
<br>
+
<br>
+
'''UserLookAtZ'''
+
<br>
+
To be identified.
+
<br>
+
<br>
+
'''AuthBuyID'''
+
<br>
+
 
The UUID of the User authorised to buy this land.
 
The UUID of the User authorised to buy this land.
<br>
+
 
<br>
+
== OtherCleanTime ==
'''OtherCleanTime'''
+
<br>
+
 
Other residents objects in the parcel will be automatically returned after this many minutes has elapsed. Set to 0 to disable auto-return of objects.
 
Other residents objects in the parcel will be automatically returned after this many minutes has elapsed. Set to 0 to disable auto-return of objects.
<br>
+
 
<br>
+
== Dwell ==
'''Dwell'''
+
<br>
+
 
To be identified.
 
To be identified.
<br>
+
 
<br>
+
<hr>
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(back to [[Database Documentation]])<br>
+
 
[[Category:Database]]
 
[[Category:Database]]

Latest revision as of 12:16, 18 October 2012

      (back to Database Documentation)

The current structure of the Land table is as follows:

Field
TypeNullKeyDefaultExtra
 
UUIDvarchar(255)NOPRI
RegionUUIDvarchar(255)YES
LocalLandIDint(11)YES
BitmaplongblobYES
Namevarchar(255)YES
Descriptionvarchar(255)YES
OwnerUUIDvarchar(255)YES
IsGroupOwnedint(11)YES
Areaint(11)YES
AuctionIDint(11)YES
Categoryint(11)YES
ClaimDateint(11)YES
ClaimPriceint(11)YES
GroupUUIDvarchar(255)YES
SalePriceint(11)YES
LandStatusint(11)YES
LandFlagsint(11)YES
MediaAutoScaleint(11)YES
MediaTextureUUIDvarchar(255)YES
MediaURLvarchar(255)YES
MUSICURLvarchar(255)YES
PasshoursfloatYES
PassPriceint(11)YES
SnapshotUUIDvarchar(255)YES
UserLocationXint(11)YES
UserLocationYint(11)YES
UserLocationZint(11)YES
UserLookAtXint(11)YES
UserLookAtYint(11)YES
UserLookAtZint(11)YES
AuthBuyerIDvarchar(255)NO00000000-0000-0000-0000-000000000000
OtherCleanTimeint(11)NO
Dwellint(11)NO

Contents

[edit] UUID

The unique ID of the Land Parcel.

[edit] RegionUUID

The UUID of the region containing this land parcel.

[edit] LocalLandID

The number of the parcel.

[edit] Bitmap

A block of 512 bytes (4,096 bits) of data with each bit of each byte indicating whether a 4m x 4m piece of a region (the smallest selectable) is in the parcel of land. The block of bytes starts in the bottom left corner of the region, proceeding west-east, south-north. As there are 8 bits in a byte, each byte corresponds to 8 pieces of land in a 256x256 region.

The first bit in the first byte refers to the square piece of land with corners (in region co-ordinates) at:

  • (0, 0)
  • (4, 0)
  • (4, 4)
  • (0, 4)

The first byte corresponds to a rectangle with corners at:

  • (0 ,0)
  • (32,0)
  • (32,4)
  • (0, 4)

The second byte corresponds to a rectangle with corners at:

  • (32, 0)
  • (64, 0)
  • (64, 4)
  • (32, 4)

The ninth byte thus corresponds to a rectangle with corners at:

  • (0, 4)
  • (32,4)
  • (32,8)
  • (0, 8)

To determine if a piece of land in the region belongs to the parcel, one should perform a bitwise operation on the byte, e.g.

  1. byte & 1
  2. byte & 2
  3. byte & 4
  4. byte & 8
  5. byte & 16
  6. byte & 32
  7. byte & 64
  8. byte & 128

[edit] Name

The name of this land parcel.

[edit] Description

A description of this land parcel.

[edit] OwnerUUID

The UUID of the user who owns this land parcel.

[edit] IsGroupOwned

This is set to 1 if the parcel is owned by a group. If it is not group owned it will be 0.

[edit] Area

The size of the parcel (in square meters).

[edit] AuctionID

To be identified.

[edit] Category

This specifies the category the parcel of land is in when doing a search. A value of 0 indicates no category was set, -1 is any category, and positive numbers indicate a specific category.

[edit] ClaimDate

The date the parcel of land was claimed by an avatar (ie. the date of sale).

[edit] ClaimPrice

To be identified.

[edit] GroupUUID

To be identified when Groups are implemented.

[edit] SalePrice

If the land is for sale this is the price asked.

[edit] LandStatus

From OpenMetaverse.ParcelStatus

  • -1 : None
  • 0 : Leased
  • 1 : LeasePending
  • 2 : Abandoned

[edit] LandFlags

OpenMetaverse.ParcelFlags
NameDecimalHexDescription
None 0 0 No flags set
AllowFly 1 1 Allow avatars to fly (a client-side only restriction)
AllowOtherScripts 2 2 Allow foreign scripts to run
ForSale 4 4 This parcel is for sale
AllowLandmark 8 8 Allow avatars to create a landmark on this parcel
AllowTerraform 16 10 Allows all avatars to edit the terrain on this parcel
AllowDamage 32 20 Avatars have health and can take damage on this parcel. If set, avatars can be killed and sent home here
CreateObjects 64 40 Foreign avatars can create objects here
ForSaleObjects 128 80 All objects on this parcel can be purchased
UseAccessGroup 256 100 Access is restricted to a group
UseAccessList 512 200 Access is restricted to a whitelist
UseBanList 1024 400 Ban blacklist is enabled
UsePassList 2048 800 Unknown
ShowDirectory 4096 1000 List this parcel in the search directory
AllowDeedToGroup 8192 2000 Allow personally owned parcels to be deeded to group
ContributeWithDeed 16384 4000 If Deeded, owner contributes required tier to group parcel is deeded to
SoundLocal 32768 8000 Restrict sounds originating on this parcel to the parcel boundaries
SellParcelObjects 65536 10000 Objects on this parcel are sold when the land is purchsaed
AllowPublish 131072 20000 Allow this parcel to be published on the web
MaturePublish 262144 40000 The information for this parcel is mature content
UrlWebPage 524288 80000 The media URL is an HTML page
UrlRawHtml 1048576 100000 The media URL is a raw HTML string
RestrictPushObject 2097152 200000 Restrict foreign object pushes
DenyAnonymous 4194304 400000 Ban all non identified/transacted avatars
LindenHome 8388608 800000 No comment in documentation or this one!
AllowGroupScripts 33554432 2000000 Allow group-owned scripts to run
CreateGroupObjects 67108864 4000000 Allow object creation by group members or group objects
AllowAPrimitiveEntry 134217728 8000000 Allow all objects to enter this parcel
AllowGroupObjectEntry 268435456 10000000 Only allow group and owner objects to enter this parcel
AllowVoiceChat 536870912 20000000 Voice Enabled on this parcel
UseEstateVoiceChan 1073741824 40000000 Use Estate Voice channel for Voice on this parcel. This correspond to unchecking "Restrict voice to this parcel" in the viewer.
DenyAgeUnverified 2147483648 80000000 Deny Age Unverified Users

[edit] LandingType

The landing point setting for the parcel: 0 is Blocked, 1 is 1anding point set, 2 is for landing allowed anywhere.

[edit] MediaAutoScale

A boolean (1 or 0) indicating whether media should be stretched to fit the face of the prim it's displayed on.

[edit] MediaTextureUUID

The UUID of a texture. Objects using this texture will show a video stream or web page after they click the video play arrow in their viewer.

[edit] MediaURL

The URL of the video stream, or media, to be played in this land.

[edit] MusicURL

The URL of the Music station to be played in this land.

[edit] Passhours

The length of time that a pass to his parcel is valid.

[edit] PassPrice

The cost of a pass to this parcel.

[edit] SnapshotUUID

The UUID (key) on the asset table of a picture of this parcel.

[edit] UserLocationX

The X co-ordinate of the parcel's landing zone (if set).

[edit] UserLocationY

The Y co-ordinate of the parcel's landing zone (if set).

[edit] UserLocationZ

The Z co-ordinate of the parcel's landing zone (if set).

[edit] UserLookAtX

To be identified.

[edit] UserLookAtY

To be identified.

[edit] UserLookAtZ

To be identified.

[edit] AuthBuyID

The UUID of the User authorised to buy this land.

[edit] OtherCleanTime

Other residents objects in the parcel will be automatically returned after this many minutes has elapsed. Set to 0 to disable auto-return of objects.

[edit] Dwell

To be identified.

Personal tools
General
About This Wiki