Services/de
From OpenSimulator
Einführung
OpenSimulator kann konzeptionell in den Simulator selbst (der Teil, der Objekte und Avatare in der Szene, Physik, Gelände usw. handhabt) und eine Reihe von Diensten (Assets, Inventar usw.) unterteilt werden, die das Grid-weite Speichern und Abrufen von Daten handhaben . Simulatorspezifische Daten (z. B. Objektpositionen, Priminventarinhalte) werden im Simulator selbst gespeichert.
In der Standalone-Konfiguration laufen Simulator und Dienste im selben Prozess (OpenSim.exe). Im Grid-Modus läuft jeder Simulator in einem separaten Prozess (OpenSim.exe) und stellt eine Verbindung zu einer oder mehreren ROBUST-Shells (Robust.exe) oder einer alternativen Dienstimplementierung her, die die Dienste hosten. Siehe Configuration#Standalone_vs._Grid für eine schematische Ansicht.
Jeder Dienst ist zustandslos – mit anderen Worten, einzelne Anforderungen haben keine Beziehung zueinander, sodass die Last auf mehrere Kopien eines bestimmten Dienstes (z. B. Inventar) verteilt werden kann.
Die meisten Dienste sind Grid-Dienste (dh jeder Simulator verbindet sich mit ihnen in einem Hub-Spoke-Muster). Einige Dienste (Simulatordienste) werden jedoch von jedem Simulator implementiert, wenn ein Simulator Daten von einem anderen anfordern muss (z. B. Landdaten).
Grid-Dienste
Hier ist eine Tabelle mit jedem Grid-Service in OpenSimulator und seiner Funktion. Alle Dienstschnittstellen befinden sich im Paket OpenSim.Services.Interfaces. Weitere Informationen zu den Datenbanktabellen, die diese Dienste unterstützen, finden Sie unter Database:Documentation.
Service | ROBUST database tables | Description |
---|---|---|
Asset | assets | Speichert Asset-Daten (Texturen, serialisierte Objekte, Skripte usw.) und stellt diese auf Anfrage bereit |
Authentication | auth, tokens | Behandelt die Anmeldeauthentifizierung. Kernimplementierungen sind Passwort und Webkey. |
Authorization | none | Überprüft, ob der Benutzer berechtigt ist, eine bestimmte Region zu betreten |
Avatar | Avatars | Enthält das Aussehen, die Größe des Avatars und welche Gegenstände angebracht sind. |
BasicProfile | n/a | Stub-Basisprofildienst. Derzeit unbenutzt (?). |
Freeswitch | n/a | Freeswitch-Sprachdienst. Sehr niedrige Sprachqualität, da der Betrachter auf einen Debug-Codec zurückgreift - nicht die Schuld von Freeswitch. |
Friends | Friends | Datenspeicherung von Benutzer freunden |
Grid | regions | Enthält Regionsinformationen für ein Raster. Simulatoren registrieren sich hier beim Start. |
GridUser | GridUser | Zeichnet Statusinformationen für einen Benutzer in einem Raster auf, einschließlich Ausgangsposition, letzte Position (festgelegt beim Abmelden) und ob sie online sind oder nicht. Bei einem Nicht-Hypergrid-Setup hat jeder Grid-Benutzer ein Benutzerkonto. Die Online-Informationen sind wahrscheinlich weniger genau als der Präsenzdienst, der häufiger aktualisiert wird. Informationen werden hinzugefügt (wenn ein Benutzer zum ersten Mal ein Root-Agent in einem beliebigen Simulator im Grid wird), aber nie entfernt, sodass der Datensatz der letzten Anmeldung beim Grid erhalten bleibt, wenn er sich abgemeldet hat. |
Groups | os_groups_* (core groups) | Gruppendienst. OpenSimulator verfügt sowohl über einen core groups service der noch nicht standardmäßig aktiviert ist, als auch über einen externen XmlRpc/Flotsam groups service. |
HG* | n/a | Hypergrid-Dienste. Diese überschreiben normalerweise „normale“ Dienste (z. B. Asset, Inventar) mit einigen Hypergrid-spezifischen Funktionen |
Inventory | inventoryitems, inventoryfolders | Benutzerinventarspeicherung |
Login | n/a | Behandelt die Benutzeranmeldung. OpenSimulator implementiert einen LL Anmeldedienst. |
MapImage | stored on filesystem | Speichert und stellt Hauptkarten bereit. |
Presence | Presence | Zeichnet Benutzersitzungen und den regionalen Standort einer bestimmten Sitzung auf. Einträge existieren normalerweise nur für Benutzer, die online sind, obwohl, wenn ein Client abgestürzt ist, die Anwesenheit bestehen bleiben kann, bis der Simulator, den sie besetzt haben, die Verbindung abbricht. Dies ist jedoch genauer als die in GridUser aufgezeichneten Online-Informationen. Wird unter anderem für Instant Message Routing verwendet. |
UserAccount | UserAccounts | Speicherung von Benutzerkonten (avatar name, service URLs, user level, flags, etc.) |
Simulator Services
Here is a table of each simulator service in OpenSimulator and its function. All service interfaces are in the package OpenSim.Services.Interfaces.
Service | Description |
---|---|
Land | Provides land data for a particular simulator. Read only. |
Library | Library items and folders. This is currently implemented per region but should really be a grid service. Data comes from the filesystem. |
Simulation | General simulation functions (create agent, update agent, create object, etc.). User in both login service -> simulator comms (e.g. login service creating an agent at a target region) and simulator -> simulator comms (e.g. teleport, updating child agents, moving objects between regions, etc.). |