MantisBT - opensim
View Issue Details
0004838opensim[GRID] Grid Servicepublic2010-07-03 12:402010-07-23 03:38
McCabe Maxsted 
Standalone (1 Region) , Standalone (Multiple Regions) , Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
0004838: Information needed by the viewer in order to support OpenSim grids
We have compiled a list here: [^]

This information is not currently sent to the viewer, but is necessary in order to make the viewer compatible with OpenSim features such as different currency, megaprims/megaregions, etc.

Priority-wise, first and foremost, the gridinfo info needs to be sent.
No tags attached.
Issue History
2010-07-03 12:40McCabe MaxstedNew Issue
2010-07-03 12:40McCabe MaxstedGit Revision => N/A
2010-07-03 12:40McCabe MaxstedSVN Revision => 0
2010-07-03 12:40McCabe MaxstedRun Mode => Standalone (1 Region) , Standalone (Multiple Regions) , Grid (1 Region per Sim) , Grid (Multiple Regions per Sim)
2010-07-03 12:40McCabe MaxstedPhysics Engine => BasicPhysics
2010-07-03 12:40McCabe MaxstedEnvironment => Unknown
2010-07-03 12:40McCabe MaxstedMono Version => None
2010-07-03 12:54melanieNote Added: 0015848
2010-07-03 12:55melanieNote Added: 0015849
2010-07-03 13:03McCabe MaxstedNote Added: 0015850
2010-07-03 13:17McCabe MaxstedNote Added: 0015851
2010-07-03 13:19McCabe MaxstedNote Edited: 0015851
2010-07-03 14:32melanieNote Added: 0015853
2010-07-04 09:55Fly-Man-Note Added: 0015859
2010-07-04 09:55Fly-Man-Statusnew => feedback
2010-07-22 21:35McCabe MaxstedNote Added: 0016187
2010-07-23 03:38melanieNote Added: 0016188

2010-07-03 12:54   
A number of these things are already settable in Hippo by means of additional fields in the login response. In fact, the entire grid info can be set, making only a login URI necessary to connect.
The login response is also the right place for the other data you requested. That is not the task of a region.

So, -1 on a cap.

+1 on interpreting the login response in a way compatible with what Hippo already does, and build on that.

Pretty much any field can be added to it. Please refer to the Hippo source, as I don't have a comprehensive list of the supported options, but there are quite a few. Max groups, currency symbol, and the entire grid info, which the server can override in that way, are there.
2010-07-03 12:55   
And, I forgot, a way to set the search URL for web search as well. It's all there, you could simply copy the code.
McCabe Maxsted   
2010-07-03 13:03   
Having not looked at the viewer source, I can understand why you might think that. Allow me to clarify. We use the hippo grid manager. These are things that are not in the Hippo source or any other source that we know of. There's currently no way to access this information.

And no, the way Hippo currently sets the web search is not usable with the viewer.
McCabe Maxsted   
2010-07-03 13:17   
(edited on: 2010-07-03 13:19)
Also, the login response is *not* the only place this info is needed. The viewer needs to the specific limits for a simulator, such as height limits, prim size limits, and region width limits, as listed.

A perfect use case for why this is true is OSGrid, where users can tweak limits to their liking. Simpy has the max prim size set to 1280m on his sims. Other sims set the limit to 256m. There's no way for the viewer to know which limit to use on these different sims unless the sim lets it know.

2010-07-03 14:32   
The hippo grid thing DOES use the login response for overriding/replacing grid info. It would be nice to be able to set the things Hippo accepts. Which is to override any and all fields of the grid info, and especially the "economy" item, which is the HelperURI. In addition, Hippo lets you set the currency symbol to use, the price for "show in search", the max number of groups and the search URL. Why is it not possible to do the search stuff as Hippo does it? Is there really a need to create two conflicting standards?

Some of the other things are parameters set on the region, however in all grids BUT OSGrid, those can be assumed to be homogenous.

We are attempting to move as much as possible away from the regions and into ROBUST services, and CAPS are not compatible with the connector structure. Also, there is no need for the implicit authentication CAPS grant, as that information is public.

So I could imagine that a REST call, like GET /limit_data, could be used to retrieve this. However, I would like that to be attempted on the login server first.

The viewer should try to retrieve <login_uri>/limit_data first. If there is a valid response, this should be considered authoritative for the grid, and simulators should not be queried.

If there is no valid response, the data could be provided as <sim_uri>/limit_data, however, there may also be no data available, in which case the viewer should operate with sane defaults.

In a homogenous grid, getting this data from regions would be a nightmare to maintain in some cases, so a grid should have the option to provide a single, grid-wide authoritative source.

I would really like to see imprudence adopt the Hippo login-response code, including the search URL. Let's go for compatibility, not multiple standards.

So, still -1 on a cap.

As a REST request, this can be packaged as a module that can be loaded either in a region or a central server, which is more fitting with OpenSim's architecture.
2010-07-04 09:55   
As Melanie already pointed out, inside the Hippo source is more then meets the eye.

Some of the things that you are proposing at this moment are already working perfectly inside the current Hippo versions.

I would suggest to have someone look at the Hippo source more closely because it's for most of the things already there.
McCabe Maxsted   
2010-07-22 21:35   
Melanie: you were right about the currency, the issue on my end was testing on a grid with a bad helperuri. I've removed some entries and updated the wiki page accordingly.

On our end, it doesn't matter whether or not it's a cap or a REST request so long as the viewer can find the info both on login and tp. Here's how I see our implementation working:

- Values are found on login to a grid. These override any region values, and regions are never queried if a grid value is found first.
- Values not found on login are queried during tp.
- If the values still aren't found, they're set to a sane default on that sim.

So, I think we're of pretty much of like mind on that.

Basically, the list was created with capabilities in mind because that's what we know, but we're not married to any one method. Whatever works best for you guys server-side, we'll work on the viewer-side. I assume this will be a process.

As for web search, last we were told, there was no standard opensim web search format and the person working on web search was taking a sabbatical (the viewer is hardcoded to use LL's web search format, by the way). Right now, it's better for us to support one search engine for opensim-based grids--MetaverseInk, in this case--until we know what OpenSim-specific features we need to add to the viewer.
2010-07-23 03:38   
Again, I can only strongly urge you to consider adopting Hippo's way of setting the search URL, because this method is already used in the wild.

Grids are not happy, in general, with using an external search engine and you will not make friends anmong the grid operators if you don't provide a way to let them set search to their own servers.

I'm one of those grid operators.

You never said what you think is wrong with Hippo's way of setting it.