Es gibt einige Optionen, die sich von der Vanilla Version unterscheiden. Die meisten Änderungen sind Erleichterungen. Es gibt aber auch einige neue Funktionen. In der Regel sollte keiner dieser Änderungen offensichtlich in den normalen Betrieb eingreifen. Da diese aber doch einige Eigenheiten haben die bekannt sein sollten, hier eine Übersicht in chronologischer Reihenfolge der Einführung.
### Version Name
Die Software hat eine Extra Versionsnummer bekommen: OpenSim 0.9.2.0.**05** Yeti Dev
Je höher um so aktueller. Dies hat nichts mit der Vanilla OpenSim Version zu tun.
### CachedMapImageModule
- Speichert das Map Image im OpenSim Ortner in einem Unterordner um es während dem Regionstart nicht immer neu Generieren zu müssen.
- Es wird erst nach einem Monat neu generiert. Dies spart einiges an Zeit und RAM während dem Startvorgang.
- Es kann auch die Region Position und Region Namen auf das Bild schreiben.
- Es gibt einige Einstellungen, um dies zu steuern. Diese müssen in den [Map] Bereich.
- **enableDate** == true/false | Zeigt das Datum der Generierung an.
- **enableName** == true/false | Zeigt den Namen der Region an.
- **enablePosition** == true/false | Zeigt die Position im Grid auf dem MapImage an.
- **RefreshEveryMonth** == true/false | Schaltet das Neugenerieren an/aus.
- **enableHostedBy** == true/false | Zeigt einen weiteren Text an.
- **HosterText** == ".." | Der Text der angezeigt werden soll.
### JPEG Converter Module
- Dies erlaubt Texturen und Dynamisch generierte Texturen als Bild auf Websiten einzubinden.
- Dynamisch generierte Texturen gehen nur auf der Region wo sie generiert wurden.
- Es muss die Asset UUID benutzt werden.
- Host und Port sind von der Region.
- URL zu den Daten: http://os.inc.li:7000/jpeg/?assetID=1345d1d3-a717-4590-9010-2a2efef84379
- Setzt alle aufgestellten Objekte auf der Region auf FullPerm.
- Beinflust **nicht** wie sich leute die Objekte nehmen können. Es muss weiterhin einzeln freigegeben werden ob sich leute die Objekte Kaufen oder Kopieren dürfen.
- So ist es nicht mehr nötig sich Änderungsrechte oder ähnliches mit dem GodMode zu verschaffen. (Man hat eine Ausrede warum es fullPerm ist :D)
- Objekte der Gruppe zu übertragen funktioniert so ohne Probleme.
- Jeder mit entsprechenden Rechten in der Gruppe kann die Objekte bearbeiten.
Aktuell gibt es einen Fehler in der OpenSim Software, dieser bewirgt dass neu erstellte Objekte, die auf "Jeder darf Kopieren" gestellt werden, nicht kopierbar sind.
Dies ist ein kleiner Helfer der es ermögliches soll texturen von anderen Bauwerken zu benutzen.
Es nimmt alle Texturen von einem Linkset und fügt sie dem Inventar des Root Prims hinzu.
Diese können dann entnommen werden um diese weiter zu benutzen.
- Dies geschieht nicht wenn das Root Prim ein Script enthält welches mit Texturen aus dem Inventar arbeitet.
- Mit der Option **TextureFetcherCheckAssets** wird geprüft, ob die Textur im Asset Server exestiert. Dies Verzögert den Regionsstart um mehrere Minuten.
Diese Funktionen ermöglicht es Daten dauerhaft zu speichern.
- Dies funktioniert auf der ganzen Region und unabhängig von Objekt/Eigentümer/Script.
- Um eine gewisse Datensicherheit zu ermöglichen ist es nur möglich Daten zu teilen oder zu schreiben, wenn die Objekte dieselbe Gruppe haben. (Wenn das Objekt eine andere Gruppe bekommt, sind die Daten nicht mehr verfügar!)
- Der Datenbestand wird nicht auf den Speicherverbrauch des Skriptes aufgerechnet.
- Ein Scriptreset hat keine Auswirkungen auf den Datenbestand.
- Die Daten werden auf dem Datenträger gespeichert. (Ordner DataScriptValue) und können dort auch ausgelesen und verändert werden.
- Mehrere Regionen können die Daten nutzen.
- Der Ordner wo die Daten gespeichert werden, kann in der OpenSim.ini unter [XEngine] Verändert werden.
Diese Funktionen ermöglichen es die kürzeste Route über Wegpunkte einer Region zu finden. Zusätzlich zu diesen Funktionen benötigt es noch ein Script das diese Wegpunkte einfügt. Diese können entweder mit **osSetPathPositionData** einzeln für jeden Punkt auf der Region eingegeben werden oder mit **osSetPathLineData** in Form von Verbindungen zwischen 2 Punkten erfolgen.
PathFinding ist ein sehr aufwendiger vorgang und nimmt etwas Zeit in Anspruch. Deshalb arbeiten alle funktionen asynchron und geben die jeweiligen Resultate als link_message an das Script zurück.
**osGetSearchableObjectList** ist ein Hilfsmittel um den Weg einfacher zu finden. Diese Funktion erwartet den namen eines Objektes und gibt eine Liste mit UUID zurück von allen Objekten auf der Region mit diesen Namen.