0.9.3.1/de
From OpenSimulator
Contents |
Allgemeines
VERSION IN ENTWICKLUNG
Diese Version erfordert dotnet 8. Wenn Sie nur Mono oder .Net4x verwenden können, verwenden Sie bitte Version 0.9.2.2 ( http://opensimulator.org/dist )
Siehe auch 0.9.3.0 Release Notes
Anforderungen
OpenSimulator 0.9.3.1 erfordert:
- dotnet8 Runtime für Ihre Plattform (sowie das SDK, wenn Sie kompilieren möchten)
- Unter Windows müssen Sie möglicherweise die Runtime-Dateien für vc++ installieren
- Unter Windows müssen Sie möglicherweise die Installation des älteren .NetFramework 3.5 autorisieren
- Unter Linux benötigen Sie libgdiplus
- Wenn Sie mono 6.x vollständig haben, haben Sie bereits libgdiplus, andernfalls müssen Sie es installieren, zum Beispiel unter Debian:
- apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
- Um die Unterstützung für aktuelle und ältere Viewer aufrechtzuerhalten, müssen neue Viewer PBR-Materialien oder Texturen für Terrain anfordern, indem sie eine Anfrage für eine Fake-Capability namens "VETPBR" (ViewerExtendedTerrainPBR) senden
Aufgrund der Datenbank-Migrationsnummerierung, die bei Release 0.9.0.0 erfolgte, MÜSSEN Sie, wenn Sie von einer OpenSimulator-Version vor 0.8.2.1 aktualisieren, zuerst auf *0.8.2.1* aktualisieren und dann direkt auf 0.9.3.0 upgraden. Siehe 0.9.0.0_Release#Pivot_Release:_0.8.2.1 für weitere Hinweise.
Breaking Changes
- Skripte, die mit älteren Versionen kompiliert wurden, werden neu kompiliert und setzen ihren Status zurück, entweder beim ersten Regionstart nach dem Update oder bei Teleport.
Bekannte Probleme mit Asset-Speicherung
MySQL Asset Storage
Die aktuelle MySQL-Asset-Speicherimplementierung hat ein erhebliches Skalierbarkeitsproblem:
- Monolithische Asset-Tabelle: Alle Assets (Texturen, Skripte, Sounds, Animationen, etc.) werden in einer einzigen großen Tabelle gespeichert, was mit wachsender Asset-Anzahl zu einem Performance-Engpass wird
- Wartungsschwierigkeiten: Eine einzige massive Tabelle macht Datenbankwartungsoperationen (Optimierung, Reparatur, Indexierung) extrem zeitaufwendig und ressourcenintensiv
- Empfohlene Lösung: Aufteilung der Asset-Tabelle nach Asset-Typen (z.B. separate Tabellen für Texturen, Skripte, Sounds, Animationen, Notecards), um Abfrageleistung und Verwaltbarkeit zu verbessern
- Auswirkung: Große Grids mit Millionen von Assets erfahren langsamen Asset-Abruf und Datenbankabfragen, was die Gesamtleistung des Grids beeinträchtigt
FSAssets Storage
Die FSAssets (File System Assets) Speichermethode hat ebenfalls architektonische Probleme:
- Dateisystem-Fragmentierung: Die Speicherung jedes Assets als einzelne Datei erzeugt Millionen von kleinen Dateien, die die Dateisystem-Performance stark beeinträchtigen
- Verzeichnis-Limitierungen: Die meisten Dateisysteme verschlechtern sich erheblich, wenn Verzeichnisse Hunderttausende von Einträgen enthalten
- I/O-Overhead: Jeder Asset-Zugriff erfordert separate Datei-Öffnen/Schließen-Operationen, was zu übermäßigem Disk-I/O führt
- Wartungs-Alptraum: Dateisystem-Checks, Defragmentierung und Routine-Wartung werden mit Millionen von kleinen Dateien nahezu unmöglich
- Backup-Herausforderungen: Das Sichern von Millionen kleiner Dateien ist deutlich langsamer als das Sichern von Datenbanktabellen
- Ähnlich wie SQLite-Probleme: Wie SQLite's Limitierungen skaliert fsassets' Datei-pro-Asset-Ansatz nicht gut für Produktions-Grids
Auswirkung auf die OpenSimulator-Akzeptanz:
Diese Speicherlimitierungen schaffen Barrieren für:
- Neue Benutzer, die schlechte Performance mit Standard-Speicherkonfigurationen erleben
- Grid-Betreiber, die mit Skalierbarkeitsproblemen konfrontiert werden, während ihr Grid wächst
- Hosting-Provider, die mit Dateisystem- und Datenbank-Performance-Problemen kämpfen
- Die breitere Akzeptanz von OpenSimulator aufgrund wahrgenommener Instabilität und Performance-Probleme
Empfohlene Workarounds:
- Für kleine bis mittlere Grids: Verwenden Sie MySQL mit regelmäßiger Datenbankoptimierung und -wartung
- Für größere Grids: Erwägen Sie die Implementierung von Asset-Typ-Partitionierung oder alternativen Storage-Backends
- Überwachen Sie regelmäßig die Asset-Tabellengröße und Dateisystem-Statistiken
- Implementieren Sie Asset-Cleanup-Richtlinien, um verwaiste oder ungenutzte Assets zu entfernen
Änderungen und Fehlerbehebungen
- Neue OSSL-Funktionen osSetTerrainTextures. Mit dieser Funktion kann man den Satz von Terrain-Texturen für alte Viewer und Karten-Generatoren oder den Satz von Texturen oder Materialien für neue Viewer ändern, ohne für jeden Fall einen anderen Viewer verwenden zu müssen, Satz von Funktionen osListAs*
- Neue LSL-Funktionen wie llGetStartString, llRezObjectWithParams, llGetLinkSitFlags, llSetLinkSitFlags, osListFindListNext, llGetInventoryDesc, llGetSimStats, llGetHealth, llHMAC, llListFindListNext, llGetVisualParams, llMapBeacon, llGetRenderMaterial, llIsLinkGLTFMaterial, llWorldPosToHUD
Danksagungen
Vielen Dank an alle Entwickler (und ihre Katzen), Tester und Community-Mitglieder, die zu diesem Release beigetragen haben und die allgemein bei OpenSimulator helfen. Ihre harte Arbeit macht dies alles möglich.