Testing

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Physics / Collision)
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{Quicklinks|Testing}}
{{Template:Quicklinks}}
+
<br />
+
  
{{content}}
+
= Automated Testing =
 +
OpenSimulator uses nant to implement an automated code-level test suite.  Contributions to this suite are very welcome.  See [[Automated Testing]] for more information.
  
= Automated Testing =
+
OpenSimulator comes with a tool called [[pCampBot]] that can simulate multiple clients logging and performing actions in an installation.
For information on the current continuous integration system for OpenSim go to [[Automated Testing]].
+
 
 +
OpenSimulator also has some executables that test some local service operations.
  
For information about debugging the test cases go to [[Debugging Unit Tests]].
+
OpenSim.Tests.Clients.GridClient.exe
 +
OpenSim.Tests.Clients.InstantantMessage.exe
 +
OpenSim.Tests.Clients.PresenceClient.exe
 +
OpenSim.Tests.Clients.UserAccountClient.exe
 +
 
 +
However, these executables are currently short and basic (e.g. they are hardcoded to assume services are on various 8001, 8002 and 8003 ports on 127.0.0.1).
  
 
= Current functionality =
 
= Current functionality =
  
* [[Features Currently Supported]]<br>
+
{{content}}
* [[Priorities and Test Plans]]<br>
+
 
<br>
+
''Possibly this section should hang off the [[Feature Matrix]] when/if it is updated -- [[User:Justincc|Justincc]] 12:02, 2 May 2012 (PDT)''
Check [[LSL Status|LSL Status]] Page for currently implemented scripting features.<br>
+
 
Note: not all scripting features are supported yet.<br>
+
* [[Features Currently Supported]]<br />
<br>
+
* [[Priorities and Test Plans]]<br />
 +
<br />
 +
Check [[LSL Status]] Page for currently implemented scripting features.<br />
 +
Note: not all scripting features are supported yet.<br />
 +
<br />
 
* Standalone region tested with svn version 9379
 
* Standalone region tested with svn version 9379
 
* Grid region tested with svn version 9379
 
* Grid region tested with svn version 9379
Line 23: Line 32:
  
 
== Account ==
 
== Account ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| login
  <tr>
+
bgcolor="lime" | OK
    <td>login</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| logout
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>logout</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| relog
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>relog</td>
+
| Home - Login Start Location
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK - Configurable by Region
  </tr>
+
|-
  <tr>
+
| Alt Home - if Home unavailable
    <td>Home - Login Start Location</td>
+
bgcolor="yellow" | unknown
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | Alternate Region hardset by GRID
    <td bgcolor="lime">OK - Configurable by Region</td>
+
|}
  </tr>
+
  <tr>
+
    <td>Alt Home - if Home unavailable</td>
+
    <td bgcolor="yellow">unknown</td>
+
    <td bgcolor="lime">Alternate Region hardset by GRID</td>
+
  </tr>
+
</table>
+
  
 
== World ==
 
== World ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| day / night cycle
  <tr>
+
bgcolor="lime" | OK
    <td>day / night cycle</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| windlight
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>windlight</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| clouds
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | Working
  </tr>
+
bgcolor="lime" | Working
  <tr>
+
|-
    <td>clouds</td>
+
| wind
    <td bgcolor="lime">Working</td>
+
bgcolor="lime" | Working
    <td bgcolor="lime">Working</td>
+
bgcolor="lime" | Working
  </tr>
+
|-
  <tr>
+
| water and water texture
    <td>wind</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">Working</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">Working</td>
+
|-
  </tr>
+
| terrain and terrain textures
  <tr>
+
bgcolor="lime" | OK
    <td>water and water texture</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|}
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>terrain and terrain textures</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
== Accounts and permissions ==
 
== Accounts and permissions ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| multiple account creation
  <tr>
+
bgcolor="lime" | OK
    <td>multiple account creation</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| permissions per account
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>permissions per account</td>
+
|-
    <td bgcolor="yellow">partially working</td>
+
| account has inventory
    <td bgcolor="yellow">minimal</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-  
    <td>account has inventory</td>
+
| sim supports multiple logins
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK - Early stages</td>
+
bgcolor="lime" | OK
  </tr>
+
|}
  <tr>
+
    <td>sim supports multiple logins</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
== Avatar ==
 
== Avatar ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| teleport within region
  <tr>
+
bgcolor="yellow" | partially working (always facing north after teleport)
    <td>teleport within region</td>
+
bgcolor="yellow" | partially working (go inside ground when teleport from low to high position,always facing north after teleport)
    <td bgcolor="yellow">partially working (always facing north after teleport)</td>
+
|-
    <td bgcolor="yellow">partially working (go inside ground when teleport from low to high position,always facing north after teleport)</td>
+
| teleport between regions
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>teleport between regions</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| built-in animations (walking, flying, sitting)
    <td bgcolor="lime">OK</td>
+
bgcolor="yellow" | partially working
  </tr>
+
bgcolor="yellow" | partially working
  <tr>
+
|-
    <td>built-in animations (walking, flying, sitting)</td>
+
| uploaded animations / gestures
    <td bgcolor="yellow">partially working</td>
+
bgcolor="lime" | OK
    <td bgcolor="yellow">partially working</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| uploaded sounds
    <td>uploaded animations / gestures</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| can wear clothes
  <tr>
+
bgcolor="lime" | OK
    <td>uploaded sounds</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| can attach items
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="yellow" | OK
    <td>can wear clothes</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| profile
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | pics & text
  </tr>
+
bgcolor="lime" | pics & text
  <tr>
+
|-
    <td>can attach items</td>
+
| DRAG / CTRL DRAG objects
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="yellow">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|}
  <tr>
+
    <td>profile</td>
+
    <td bgcolor="lime">pics & text</td>
+
    <td bgcolor="lime">pics & text</td>
+
  </tr>
+
  <tr>
+
    <td>DRAG / CTRL DRAG objects</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
== Building ==
 
== Building ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| create prim
  <tr>
+
bgcolor="lime" | OK
    <td>create prim</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| change prim type
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>change prim type</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| change prim transparency
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>change prim transparency</td>
+
| change prim colour
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| change prim texture (including uploaded textures)
    <td>change prim colour</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| change prim size, cut, hollow, etc
  <tr>
+
bgcolor="lime" | OK
    <td>change prim texture (including uploaded textures)</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| prim light, fullbright and flexi
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>change prim size, cut, hollow, etc</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| link prims
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>prim light, fullbright and flexi</td>
+
| unlink prims
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| permissions
    <td>link prims</td>
+
bgcolor="lime" | Working
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | Working
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| objects persist in world across login / logoff and server restart
  <tr>
+
bgcolor="lime" | OK
    <td>unlink prims</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| parcel support
  </tr>
+
bgcolor="lime" | OK See Parcels Below
  <tr>
+
bgcolor="lime" | OK See Parcels Below
    <td>permissions</td>
+
|}
    <td bgcolor="lime">Working</td>
+
    <td bgcolor="lime">Working</td>
+
  </tr>
+
  <tr>
+
    <td>objects persist in world across login / logoff and server restart</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>parcel support</td>
+
    <td bgcolor="lime">OK See Parcels Below</td>
+
    <td bgcolor="lime">OK See Parcels Below</td>
+
  </tr>
+
</table>
+
 
+
 
== Terraforming ==
 
== Terraforming ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| select land
  <tr>
+
bgcolor="lime" | OK
    <td>select land</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| raise land
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>raise land</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| lower land
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>lower land</td>
+
| flatten land
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| roughen land
    <td>flatten land</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| smooth land
  <tr>
+
bgcolor="lime" | OK
    <td>roughen land</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|}
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>smooth land</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
== Land and parcels ==
 
== Land and parcels ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| subdivide
  <tr>
+
bgcolor="lime" | Working
    <td>subdivide</td>
+
bgcolor="lime" | Working
    <td bgcolor="lime">Working</td>
+
|-
    <td bgcolor="lime">Working</td>
+
| join
  </tr>
+
bgcolor="lime" | Working
  <tr>
+
bgcolor="lime" | Working
    <td>join</td>
+
|-
    <td bgcolor="lime">Working</td>
+
| buy and sell
    <td bgcolor="lime">Working</td>
+
bgcolor="orange" | Partial, sell and buy, but no money recieved. (Set helper uri to IP ADDRESS AND PORT:9000
  </tr>
+
bgcolor="lime" | Working (when using a 3rd party module)
  <tr>
+
|-
    <td>buy and sell</td>
+
| Set Land To Group
    <td bgcolor="orange">Partial, sell and buy, but no money recieved. (Set helper uri to IP ADDRESS AND PORT:9000</td>
+
bgcolor="lime" | OK
    <td bgcolor="orange">Partial, sell and buy, but no money recieved. (Set helper uri to IP ADDRESS AND PORT:9000</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
<tr>
+
| Allow Deed To Group
    <td>Set Land To Group</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| Owner Makes Contribution With Deed
<tr>
+
bgcolor="red" | not working
    <td>Allow Deed To Group</td>
+
bgcolor="lime" | Working (when using a 3rd party module)
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OKd</td>
+
| Buy Pass - (Temporary Paid Access)
  </tr>
+
bgcolor="red" | not working
<tr>
+
bgcolor="red" | Not Yet Implemented
    <td>Owner Makes Contribution With Deed</td>
+
|-
    <td bgcolor="red">not working</td>
+
| Buy For Group
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
<tr>
+
|-
    <td>Buy Pass - (Temporary Paid Access)</td>
+
!scope="row" colspan="3"| '''Covenants'''
    <td bgcolor="red">not working</td>
+
|-
    <td bgcolor="red">Not Yet Implemented</td>
+
| Buy For Group
  </tr>
+
bgcolor="lime" | OK
<tr>
+
bgcolor="lime" | OK
    <td>Buy For Group</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Estate Owner
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
<td><b>Covenants</b></td>
+
|-
<tr>
+
!scope="row" colspan="3"| '''Land Objects'''
    <td>Buy For Group</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Sim Usage
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
<tr>
+
|-
    <td>Estate Owner</td>
+
| Prims on Parcel
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
<td><b>Land Objects</b></td>
+
| Return Parcel Primitives
<tr>
+
bgcolor="lime" | OK
    <td>Sim Usage</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| AutoReturn of Prims
  </tr>
+
bgcolor="lime" | OK
<tr>
+
bgcolor="lime" | OK
    <td>Prims on Parcel</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Show Owners (Land Menu)
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
<tr>
+
|-
    <td>Return Parcel Primitives</td>
+
!scope="row" colspan="3"| '''Land Options'''|
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Show Owners (Land Menu)
  </tr>
+
bgcolor="lime" | OK
<tr>
+
bgcolor="lime" | OK
    <td>AutoReturn of Prims</td>
+
|-
    <td bgcolor="lime">OK</td>
+
!scope="row" colspan="3"| '''Land Media'''
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| Replace Texture With Media
<tr>
+
bgcolor="lime" | OK
    <td>Show Owners (Land Menu)</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Music Stream URL
  </tr> 
+
bgcolor="lime" | OK
<td><b>Land Options</b></td>
+
bgcolor="lime" | OK
<tr>
+
|-
    <td>Show Owners (Land Menu)</td>
+
| Restrict Spatialized Sounds to Parcel
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | Not Yet Implemented
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | Not Yet Implemented
  </tr>
+
|-
<td><b>Land Media</b></td>
+
!scope="row" colspan="3"| '''Land Access'''
<tr>
+
|-
    <td>Replace Texture With Media</td>
+
| Show Owners (Land Menu)
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
<tr>
+
!scope="row" colspan="3"| '''Land Bans'''
    <td>Music Stream URL</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Limit Access to Group
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | Yes
  </tr>
+
bgcolor="lime" | Yes
<tr>
+
|-
    <td>Restrict Spatialized Sounds to Parcel</td>
+
| Limit Access by Avatar
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
<td><b>Land Access</b></td>
+
| Individual Avatar Ban
<tr>
+
bgcolor="lime" | Working
    <td>Show Owners (Land Menu)</td>
+
bgcolor="lime" | Working - Grid can disable feature gridwide
    <td bgcolor="lime">OK</td>
+
|}
    <td bgcolor="lime">OK</td>
+
  </tr>
+
<td><b>Land Bans</b></td>
+
<tr>
+
    <td>Limit Access to Group</td>
+
    <td bgcolor="red">Not Yet Implemented</td>
+
    <td bgcolor="red">Not Yet Implemented</td>
+
  </tr>
+
<tr>
+
    <td>Limit Access by Avatar</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
<tr>
+
    <td>Individual Avatar Ban</td>
+
    <td bgcolor="lime">Working</td>
+
    <td bgcolor="lime">Working - Grid can disable feature gridwide</td>
+
  </tr>
+
</table>
+
 
+
 
== UI ==
 
== UI ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| friends list
  <tr>
+
bgcolor="lime" | OK
    <td>friends list</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| uploads
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK, jpg, bmp,tga (alpha)
    <td>uploads</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| edit profile
    <td bgcolor="lime">OK, jpg, bmp,tga (alpha)</td>
+
bgcolor="lime" | OK, but not complete
  </tr>
+
bgcolor="lime" | OK, but not complete
  <tr>
+
|-
    <td>edit profile</td>
+
| search
    <td bgcolor="lime">OK, but not complete</td>
+
bgcolor="yellow" | partially working(User, Groups, Parcel, Region)
    <td bgcolor="lime">OK, but not complete</td>
+
bgcolor="yellow" | Working(User, Groups, Land Sales, Events, Classifieds)
  </tr>
+
|-
  <tr>
+
| large map
    <td>search</td>
+
bgcolor="lime" | OK
    <td bgcolor="yellow">partially working(User, Groups, Parcel, Region)</td>
+
bgcolor="lime" | OK
    <td bgcolor="yellow">partially working(User, Groups, Parcel, Region)</td>
+
|-
  </tr>
+
| minimap
  <tr>
+
bgcolor="lime" | OK
    <td>large map</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| money
  </tr>
+
bgcolor="lime" | Works if using IP ADDRESS AND PORT:9000
  <tr>
+
bgcolor="lime" | Works if using IP ADDRESS AND PORT:9000
    <td>minimap</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| HUD attachments
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|}
    <td>money</td>
+
    <td bgcolor="lime">Works if using IP ADDRESS AND PORT:9000</td>
+
    <td bgcolor="lime">Works if using IP ADDRESS AND PORT:9000</td>
+
  </tr>
+
  <tr>
+
    <td>HUD attachments</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
== Friends ==
 
== Friends ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| add
  <tr>
+
bgcolor="lime" | OK
    <td>add</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| remove
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>remove</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| permissions
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>permissions</td>
+
| mapping
    <td bgcolor="red">not working</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">not working</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| online visibility
    <td>mapping</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">not working</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">not working</td>
+
|-
  </tr>
+
| can edit my objects
  <tr>
+
bgcolor="lime" | OK
    <td>online visibility</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| send teleport
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>can edit my objects</td>
+
|}
    <td bgcolor="red">no</td>
+
    <td bgcolor="grey">no friends = generic perms application only</td>
+
  </tr>
+
  <tr>
+
    <td>send teleport</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
 
+
</table>
+
 
+
 
== Groups ==
 
== Groups ==
 
Groups are implemented, but must be enabled in opensim.ini
 
Groups are implemented, but must be enabled in opensim.ini
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| create
  <tr>
+
bgcolor="lime" | OK
    <td>create</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| join
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>join</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| description
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>description</td>
+
| graphic
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| notices
    <td>graphic</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| vote
  <tr>
+
bgcolor="red" | Not Yet Implemented
    <td>notices</td>
+
bgcolor="red" | Not Yet Implemented
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| invite
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>vote</td>
+
|-
    <td bgcolor="red">Not Yet Implemented</td>
+
| remove
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>invite</td>
+
| members
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| group list
    <td>remove</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| publish
  <tr>
+
bgcolor="grey" | unknown
    <td>members</td>
+
bgcolor="red" | Not Yet Implemented
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| set title
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>group list</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| change active title
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>publish</td>
+
| enrollment fee
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="red" | Not Yet Implemented
  </tr>
+
|-
  <tr>
+
| open enrollment
    <td>set title</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| set mature flag
  <tr>
+
bgcolor="lime" | OK
    <td>change active title</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| group land
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>enrollment fee</td>
+
|}
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="red">Not Yet Implemented</td>
+
  </tr>
+
  <tr>
+
    <td>open enrollment</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>set mature flag</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>group land</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
=== Group Roles ===
 
=== Group Roles ===
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| create
  <tr>
+
bgcolor="lime" | OK
    <td>create</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| edit
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>edit</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| remove
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>remove</td>
+
| add person
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| remove person
    <td>add person</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| abilities
  <tr>
+
bgcolor="yellow" | Partially Implemented
    <td>remove person</td>
+
bgcolor="yellow" | Partially Implemented
    <td bgcolor="lime">OK</td>
+
|}
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>abilities</td>
+
    <td bgcolor="yellow">Partially Implemented</td>
+
    <td bgcolor="yellow">Partially Implemented</td>
+
  </tr>
+
</table>
+
 
+
 
== Chat, IM, Voice ==
 
== Chat, IM, Voice ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| local chat
  <tr>
+
bgcolor="lime" | OK
    <td>local chat</td>
+
bgcolor="lime" | OK - Plus Configurable Distance (server)
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK - Plus Configurable Distance (server)</td>
+
| Shout
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK - Plus Configurable Distance (server)
    <td>Shout</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| send / receive IM
    <td bgcolor="lime">OK - Plus Configurable Distance (server)</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>send / receive IM</td>
+
| offline IM
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
  <tr>
+
| group IM
    <td>offline IM</td>
+
bgcolor="lime" | OK, but groups must be enabled
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK, but groups must be enabled
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| multiple friend IM
  <tr>
+
bgcolor="red" | unknown
    <td>group IM</td>
+
bgcolor="red" | Not Yet Implemented
    <td bgcolor="lime">OK, but groups must be enabled</td>
+
|-
    <td bgcolor="lime">OK, but groups must be enabled</td>
+
| participant list
  </tr>
+
bgcolor="red" | unknown
  <tr>
+
bgcolor="red" | Not Yet Implemented
    <td>multiple friend IM</td>
+
|-
    <td bgcolor="red">unknown</td>
+
| voice
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="lime" | Must enable and use freeswitch voice
  </tr>
+
bgcolor="lime" | Must enable and use freeswitch voice
  <tr>
+
|-
    <td>participant list</td>
+
| IRC bridge
    <td bgcolor="red">unknown</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">Not Yet Implemented</td>
+
bgcolor="lime" | OK (Configurable on Server)
  </tr>
+
|}
  <tr>
+
    <td>voice</td>
+
    <td bgcolor="lime">Must enable and use freeswitch voice</td>
+
    <td bgcolor="lime">Must enable and use freeswitch voice</td>
+
  </tr>
+
  <tr>
+
    <td>IRC bridge</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK (Configurable on Server)</td>
+
  </tr>
+
</table>
+
 
+
 
== Physics / Collision ==
 
== Physics / Collision ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="150" | &nbsp;
    <th width="150">&nbsp;</th>
+
width="150" | basicphysics
    <th width="150">basicphysics</th>
+
width="150" | POS
    <th width="150">POS</th>
+
width="150" | OpenDynamicsEngine
    <th width="150">OpenDynamicsEngine</th>
+
width="150" | modified_BulletX
    <th width="150">modified_BulletX</th>
+
width="150" | RealPhysX
    <th width="150">RealPhysX</th>
+
width="150" | BulletDotNET
    <th width="150">BulletDotNET</th>
+
|-
  </tr>
+
| walk on ground
  <tr>
+
bgcolor="lime" | OK
    <td>walk on ground</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="yellow" | partially working (ground is very slippery)
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
    <td bgcolor="yellow">partially working (ground is very slippery)</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| fly
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>fly</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="grey">unknown</td>
+
| sit on ground
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>sit on ground</td>
+
bgcolor="red" | not working
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | not working
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="red">not working</td>
+
| sit on object
    <td bgcolor="red">not working</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | not working
  </tr>
+
bgcolor="yellow" | partially working (autopilot has trouble getting to the right spot 'try phantom prim')
  <tr>
+
bgcolor="grey" | unknown
    <td>sit on object</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">not working</td>
+
|-
    <td bgcolor="yellow">partially working (autopilot has trouble getting to the right spot 'try phantom prim')</td>
+
| walk on object
    <td bgcolor="grey">unknown</td>
+
bgcolor="red" | not working
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="grey" | unknown
  <tr>
+
bgcolor="grey" | unknown
    <td>walk on object</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">not working</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| bump into object
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | not working
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
  </tr>
+
bgcolor="grey" | unknown
  <tr>
+
bgcolor="lime" | OK
    <td>bump into object</td>
+
|-
    <td bgcolor="red">not working</td>
+
| Collidable Linksets
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | not working
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>Collidable Linksets</td>
+
| Avatar Land on Prim
    <td bgcolor="red">not working</td>
+
bgcolor="red" | not working
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
|-
 
+
| prim physics
  <tr>
+
bgcolor="red" | not working
    <td>Avatar Land on Prim</td>
+
bgcolor="red" | not working
    <td bgcolor="red">not working</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| Physical (active) Linksets
  </tr>
+
bgcolor="red" | not working
  <tr>
+
bgcolor="red" | not working
    <td>prim physics</td>
+
bgcolor="lime" | OK
    <td bgcolor="red">not working</td>
+
bgcolor="red" | not working
    <td bgcolor="red">not working</td>
+
bgcolor="red" | not working
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="grey">unknown</td>
+
| cut/hollow/dimpled prim (non)collisions
    <td bgcolor="lime">OK</td>
+
bgcolor="grey" | unknown
  </tr>
+
bgcolor="grey" | unknown
  <tr>
+
bgcolor="lime" | OK with Meshmerizer
    <td>Physical (active) Linksets</td>
+
bgcolor="grey" | unknown
    <td bgcolor="red">not working</td>
+
bgcolor="grey" | unknown
    <td bgcolor="red">not working</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="red">not working</td>
+
| physical vehicles
    <td bgcolor="red">not working</td>
+
bgcolor="red" | not working
    <td bgcolor="lime">OK</td>
+
bgcolor="red" | not working
  </tr>
+
bgcolor="lime" | OK, but friction is much too high.
  <tr>
+
bgcolor="red" | not working
    <td>cut/hollow/dimpled prim (non)collisions</td>
+
bgcolor="red" | not working
    <td bgcolor="grey">unknown</td>
+
bgcolor="red" | not working
    <td bgcolor="grey">unknown</td>
+
|}
    <td bgcolor="lime">OK with Meshmerizer</td>
+
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>physical vehicles</td>
+
    <td bgcolor="red">not working</td>
+
    <td bgcolor="red">not working</td>
+
    <td bgcolor="lime">OK, but friction is much too high.</td>
+
    <td bgcolor="red">not working</td>
+
    <td bgcolor="red">not working</td>
+
    <td bgcolor="red">not working</td>
+
  </tr>
+
  </table>
+
 
+
 
== Scripting ==
 
== Scripting ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| create LSL script
  <tr>
+
bgcolor="lime" | OK, see supported commands
    <td>create LSL script</td>
+
bgcolor="lime" | OK, see supported commands
    <td bgcolor="lime">OK, see supported commands</td>
+
|-
    <td bgcolor="lime">OK, see supported commands</td>
+
| add script to object
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | Drag from inventory into prim
    <td>add script to object</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| execute script in object
    <td bgcolor="lime">Drag from inventory into prim</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|}
    <td>execute script in object</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
</table>
+
 
+
 
Note: not all scripting features are supported yet.
 
Note: not all scripting features are supported yet.
 
Check [[LSL Status]] for currently implemented features.
 
Check [[LSL Status]] for currently implemented features.
 
 
== Inventory ==
 
== Inventory ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone
    <th width="200">Standalone</th>
+
width="200" | Grid
    <th width="200">Grid</th>
+
|-
  </tr>
+
| create new items (folder, notes, body, clothes, prims, scripts)
  <tr>
+
bgcolor="lime" | OK
    <td>create new items (folder, notes, body, clothes, prims, scripts)</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| delete prims -> trash
  </tr>
+
bgcolor="lime" | OK
<tr>
+
bgcolor="lime" | OK
    <td>delete prims -> trash</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| delete items -> trash
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>delete items -> trash</td>
+
| trash folder functions (restore, purge)
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr> 
+
|-
  <tr>
+
| search inventory
    <td>trash folder functions (restore, purge)</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
|-
  </tr>
+
| "recent items" list
  <tr>
+
bgcolor="red" | not working
    <td>search inventory</td>
+
bgcolor="yellow" | half, only new uploaded and self created stuff, but acctepted inventory offers not listed (8814)
    <td bgcolor="lime">OK</td>
+
|-
    <td bgcolor="lime">OK</td>
+
| inventory persists across logout / login
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
bgcolor="lime" | OK
    <td>"recent items" list</td>
+
|-
    <td bgcolor="red">not working</td>
+
| drag items to / from world
    <td bgcolor="yellow">half, only new uploaded and self created stuff, but acctepted inventory offers not listed (8814)</td>
+
bgcolor="lime" | OK
  </tr>
+
bgcolor="lime" | OK
  <tr>
+
|-
    <td>inventory persists across logout / login</td>
+
| give inventory items to other avatars
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
    <td bgcolor="lime">OK</td>
+
bgcolor="lime" | OK
  </tr>
+
  <tr>
+
    <td>drag items to / from world</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
  <tr>
+
    <td>give inventory items to other avatars</td>
+
    <td bgcolor="lime">OK</td>
+
    <td bgcolor="lime">OK</td>
+
  </tr>
+
 
Inventory should not yet be treated as permanent, whilst development is still occurring.
 
Inventory should not yet be treated as permanent, whilst development is still occurring.
</table>
+
|}
 
+
 
== Permissions ==
 
== Permissions ==
<table border="1" cellpadding="5" cellspacing="0">
+
{|  border="1" cellpadding="5" cellspacing="0"  
  <tr>
+
width="200" | &nbsp;
    <th width="200">&nbsp;</th>
+
width="200" | Standalone - Allowed User
    <th width="200">Standalone - Allowed User</th>
+
width="200" | Standalone - Denied User
    <th width="200">Standalone - Denied User</th>
+
width="200" | Grid - Allowed User
    <th width="200">Grid - Allowed User</th>
+
width="200" | Grid - Denied User
    <th width="200">Grid - Denied User</th>
+
|-
  </tr>
+
| Run Script - Estate Disabled
  <tr>
+
bgcolor="grey" | unknown
    <td>Run Script - Estate Disabled</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | no
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | no
    <td bgcolor="lime">no</td>
+
|-
    <td bgcolor="lime">no</td>
+
| Run Script - Parcel Disabled
  </tr>
+
bgcolor="grey" | unknown
<tr>
+
bgcolor="grey" | unknown
    <td>Run Script - Parcel Disabled</td>
+
bgcolor="lime" | yes
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | no
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="lime">yes</td>
+
| Rez Object - Estate Disabled
    <td bgcolor="lime">no</td>
+
bgcolor="grey" | unknown
  </tr>
+
bgcolor="grey" | unknown
  <tr>
+
bgcolor="grey" | N/A
    <td>Rez Object - Estate Disabled</td>
+
bgcolor="grey" | N/A
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="grey">unknown</td>
+
| Rez Object - Parcel Disabled
    <td bgcolor="grey">N/A</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">N/A</td>
+
bgcolor="grey" | unknown
  </tr> 
+
bgcolor="lime" | yes
  <tr>
+
bgcolor="red" | yes
    <td>Rez Object - Parcel Disabled</td>
+
|-
    <td bgcolor="grey">unknown</td>
+
| Edit Estate Settings
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">yes</td>
+
bgcolor="grey" | unknown
    <td bgcolor="red">yes</td>
+
bgcolor="lime" | yes
  </tr>
+
bgcolor="lime" | no
  <tr>
+
|-
    <td>Edit Estate Settings</td>
+
| Edit Terrain
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">yes</td>
+
bgcolor="lime" | yes
    <td bgcolor="lime">no</td>
+
bgcolor="red" | yes
  </tr>
+
|-
  <tr>
+
| Duplicate (Drag-Duplicate AND Ctrl-D) Object
    <td>Edit Terrain</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | yes
    <td bgcolor="lime">yes</td>
+
bgcolor="red" | yes
    <td bgcolor="red">yes</td>
+
|-
  </tr>
+
| Take Object
  <tr>
+
bgcolor="grey" | unknown
    <td>Duplicate (Drag-Duplicate AND Ctrl-D) Object</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="lime" | yes
    <td bgcolor="grey">unknown</td>
+
bgcolor="red" | yes
    <td bgcolor="lime">yes</td>
+
|-
    <td bgcolor="red">yes</td>
+
| Move Object
  </tr>
+
bgcolor="grey" | unknown
  <tr>
+
bgcolor="grey" | unknown
    <td>Take Object</td>
+
bgcolor="lime" | yes
    <td bgcolor="grey">unknown</td>
+
bgcolor="red" | yes
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="lime">yes</td>
+
| Copy Object
    <td bgcolor="red">yes</td>
+
bgcolor="grey" | unknown
  </tr>
+
bgcolor="grey" | unknown
  <tr>
+
bgcolor="lime" | yes
    <td>Move Object</td>
+
bgcolor="red" | yes
    <td bgcolor="grey">unknown</td>
+
|-
    <td bgcolor="grey">unknown</td>
+
| Edit Object
    <td bgcolor="lime">yes</td>
+
bgcolor="grey" | unknown
    <td bgcolor="red">yes</td>
+
bgcolor="grey" | unknown
  </tr>
+
bgcolor="lime" | yes
  <tr>
+
bgcolor="red" | yes
    <td>Copy Object</td>
+
|-
    <td bgcolor="grey">unknown</td>
+
| Delete Object
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">yes</td>
+
bgcolor="grey" | unknown
    <td bgcolor="red">yes</td>
+
bgcolor="lime" | yes
  </tr>
+
bgcolor="red" | yes
  <tr>
+
|-
    <td>Edit Object</td>
+
| Add/Remove to Object's Inventory
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="grey">unknown</td>
+
bgcolor="grey" | unknown
    <td bgcolor="lime">yes</td>
+
bgcolor="lime" | yes
    <td bgcolor="red">yes</td>
+
bgcolor="red" | yes
  </tr>
+
|}
  <tr>
+
    <td>Delete Object</td>
+
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="lime">yes</td>
+
    <td bgcolor="red">yes</td>
+
  </tr>
+
  <tr>
+
    <td>Add/Remove to Object's Inventory</td>
+
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="grey">unknown</td>
+
    <td bgcolor="lime">yes</td>
+
    <td bgcolor="red">yes</td>
+
  </tr>
+
</table>
+
  
 
-- note --
 
-- note --
 
new objects had to be rezzed for each change in permissions for a test - new permissions settings did not apply to existing objects
 
new objects had to be rezzed for each change in permissions for a test - new permissions settings did not apply to existing objects
 +
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 04:16, 4 December 2023

Contents

[edit] Automated Testing

OpenSimulator uses nant to implement an automated code-level test suite. Contributions to this suite are very welcome. See Automated Testing for more information.

OpenSimulator comes with a tool called pCampBot that can simulate multiple clients logging and performing actions in an installation.

OpenSimulator also has some executables that test some local service operations.

OpenSim.Tests.Clients.GridClient.exe
OpenSim.Tests.Clients.InstantantMessage.exe
OpenSim.Tests.Clients.PresenceClient.exe
OpenSim.Tests.Clients.UserAccountClient.exe 

However, these executables are currently short and basic (e.g. they are hardcoded to assume services are on various 8001, 8002 and 8003 ports on 127.0.0.1).

[edit] Current functionality


Possibly this section should hang off the Feature Matrix when/if it is updated -- Justincc 12:02, 2 May 2012 (PDT)


Check LSL Status Page for currently implemented scripting features.
Note: not all scripting features are supported yet.

  • Standalone region tested with svn version 9379
  • Grid region tested with svn version 9379


[edit] Account

  Standalone Grid
login OK OK
logout OK OK
relog OK OK
Home - Login Start Location OK OK - Configurable by Region
Alt Home - if Home unavailable unknown Alternate Region hardset by GRID

[edit] World

  Standalone Grid
day / night cycle OK OK
windlight OK OK
clouds Working Working
wind Working Working
water and water texture OK OK
terrain and terrain textures OK OK

[edit] Accounts and permissions

  Standalone Grid
multiple account creation OK OK
permissions per account OK OK
account has inventory OK OK
sim supports multiple logins OK OK

[edit] Avatar

  Standalone Grid
teleport within region partially working (always facing north after teleport) partially working (go inside ground when teleport from low to high position,always facing north after teleport)
teleport between regions OK OK
built-in animations (walking, flying, sitting) partially working partially working
uploaded animations / gestures OK OK
uploaded sounds OK OK
can wear clothes OK OK
can attach items OK OK
profile pics & text pics & text
DRAG / CTRL DRAG objects OK OK

[edit] Building

  Standalone Grid
create prim OK OK
change prim type OK OK
change prim transparency OK OK
change prim colour OK OK
change prim texture (including uploaded textures) OK OK
change prim size, cut, hollow, etc OK OK
prim light, fullbright and flexi OK OK
link prims OK OK
unlink prims OK OK
permissions Working Working
objects persist in world across login / logoff and server restart OK OK
parcel support OK See Parcels Below OK See Parcels Below

[edit] Terraforming

  Standalone Grid
select land OK OK
raise land OK OK
lower land OK OK
flatten land OK OK
roughen land OK OK
smooth land OK OK

[edit] Land and parcels

  Standalone Grid
subdivide Working Working
join Working Working
buy and sell Partial, sell and buy, but no money recieved. (Set helper uri to IP ADDRESS AND PORT:9000 Working (when using a 3rd party module)
Set Land To Group OK OK
Allow Deed To Group OK OK
Owner Makes Contribution With Deed not working Working (when using a 3rd party module)
Buy Pass - (Temporary Paid Access) not working Not Yet Implemented
Buy For Group OK OK
Covenants
Buy For Group OK OK
Estate Owner OK OK
Land Objects
Sim Usage OK OK
Prims on Parcel OK OK
Return Parcel Primitives OK OK
AutoReturn of Prims OK OK
Show Owners (Land Menu) OK OK
Land Options|
Show Owners (Land Menu) OK OK
Land Media
Replace Texture With Media OK OK
Music Stream URL OK OK
Restrict Spatialized Sounds to Parcel Not Yet Implemented Not Yet Implemented
Land Access
Show Owners (Land Menu) OK OK
Land Bans
Limit Access to Group Yes Yes
Limit Access by Avatar OK OK
Individual Avatar Ban Working Working - Grid can disable feature gridwide

[edit] UI

  Standalone Grid
friends list OK OK
uploads OK OK, jpg, bmp,tga (alpha)
edit profile OK, but not complete OK, but not complete
search partially working(User, Groups, Parcel, Region) Working(User, Groups, Land Sales, Events, Classifieds)
large map OK OK
minimap OK OK
money Works if using IP ADDRESS AND PORT:9000 Works if using IP ADDRESS AND PORT:9000
HUD attachments OK OK

[edit] Friends

  Standalone Grid
add OK OK
remove OK OK
permissions OK OK
mapping OK OK
online visibility OK OK
can edit my objects OK OK
send teleport OK OK

[edit] Groups

Groups are implemented, but must be enabled in opensim.ini

  Standalone Grid
create OK OK
join OK OK
description OK OK
graphic OK OK
notices OK OK
vote Not Yet Implemented Not Yet Implemented
invite OK OK
remove OK OK
members OK OK
group list OK OK
publish unknown Not Yet Implemented
set title OK OK
change active title OK OK
enrollment fee unknown Not Yet Implemented
open enrollment OK OK
set mature flag OK OK
group land OK OK

[edit] Group Roles

  Standalone Grid
create OK OK
edit OK OK
remove OK OK
add person OK OK
remove person OK OK
abilities Partially Implemented Partially Implemented

[edit] Chat, IM, Voice

  Standalone Grid
local chat OK OK - Plus Configurable Distance (server)
Shout OK OK - Plus Configurable Distance (server)
send / receive IM OK OK
offline IM OK OK
group IM OK, but groups must be enabled OK, but groups must be enabled
multiple friend IM unknown Not Yet Implemented
participant list unknown Not Yet Implemented
voice Must enable and use freeswitch voice Must enable and use freeswitch voice
IRC bridge OK OK (Configurable on Server)

[edit] Physics / Collision

  basicphysics POS OpenDynamicsEngine modified_BulletX RealPhysX BulletDotNET
walk on ground OK OK OK partially working (ground is very slippery) unknown OK
fly OK OK OK OK unknown OK
sit on ground OK OK OK not working not working OK
sit on object OK not working partially working (autopilot has trouble getting to the right spot 'try phantom prim') unknown unknown OK
walk on object not working OK OK unknown unknown OK
bump into object not working OK OK unknown unknown OK
Collidable Linksets not working OK OK unknown unknown OK
Avatar Land on Prim not working OK OK unknown unknown OK
prim physics not working not working OK unknown unknown OK
Physical (active) Linksets not working not working OK not working not working OK
cut/hollow/dimpled prim (non)collisions unknown unknown OK with Meshmerizer unknown unknown OK
physical vehicles not working not working OK, but friction is much too high. not working not working not working

[edit] Scripting

  Standalone Grid
create LSL script OK, see supported commands OK, see supported commands
add script to object OK Drag from inventory into prim
execute script in object OK OK

Note: not all scripting features are supported yet. Check LSL Status for currently implemented features.

[edit] Inventory

  Standalone Grid
create new items (folder, notes, body, clothes, prims, scripts) OK OK
delete prims -> trash OK OK
delete items -> trash OK OK
trash folder functions (restore, purge) OK OK
search inventory OK OK
"recent items" list not working half, only new uploaded and self created stuff, but acctepted inventory offers not listed (8814)
inventory persists across logout / login OK OK
drag items to / from world OK OK
give inventory items to other avatars OK OK

Inventory should not yet be treated as permanent, whilst development is still occurring.

[edit] Permissions

  Standalone - Allowed User Standalone - Denied User Grid - Allowed User Grid - Denied User
Run Script - Estate Disabled unknown unknown no no
Run Script - Parcel Disabled unknown unknown yes no
Rez Object - Estate Disabled unknown unknown N/A N/A
Rez Object - Parcel Disabled unknown unknown yes yes
Edit Estate Settings unknown unknown yes no
Edit Terrain unknown unknown yes yes
Duplicate (Drag-Duplicate AND Ctrl-D) Object unknown unknown yes yes
Take Object unknown unknown yes yes
Move Object unknown unknown yes yes
Copy Object unknown unknown yes yes
Edit Object unknown unknown yes yes
Delete Object unknown unknown yes yes
Add/Remove to Object's Inventory unknown unknown yes yes

-- note -- new objects had to be rezzed for each change in permissions for a test - new permissions settings did not apply to existing objects

Personal tools
General
About This Wiki