Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
VirtuLife geht an den Start
#41
Guten Morgen Mareta,

wenn mich nicht alles täuscht ist das nicht ganz richtig. Ein Asset was auf einer Region existiert (sofern alle dienste auf eine DB zugreifen) existiert definitiv auch in der DB. Somit wird das Asset auch nicht gelöscht weil es existiert ja auf einer Region Smile oder habe ich das jetzt total falsch verstanden?

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#42
Hallo Christian,

normalerweise existiert jedes Asset auf einer Region auch in der Grid-Datenbank. Man muss es beim Rezzen aus dem Inventar ziehen, also schon im Grid haben, oder per OAR importieren. Ausnahme könnten Objekte sein, die Hypergrid-Touristen auf einer Region liegen lassen (ob mit oder ohne Absicht) und die niemand der Residents des eigenen Grids jemals ins Inventar genommen hat.

Wenn nun aber gerezzte Objekte bzw. deren Assets irgendwann später bei niemandem mehr im Inventar sind, weil alle das gelöscht haben, dann würde ein Bereinigungs-Script die Assets als nicht mehr benutzt ansehen. Denn auf den Regionenservern kann das Script nicht nachschauen - außer in deinem Fall, wo du die Regionen selber hostest.

Nach dem Bereinigen würden also unter Umständen Assets fehlen, die noch auf irgendwelchen Regionen existieren. Die Regionen haben zwar einen temporären Cache-Speicher, aber keinen dauerhaften. Die Regionen holen sich ggf. die Assets wieder aus dem Grid.

Wenn allen Residents im Grid von Anfang an klar ist, dass dort ein Bereinigungsscript läuft, könnten sie das Problem umgehen: Sie müssten einfach von allen auf der Region gerezzten Objekten eine Kopie im Inventar aufheben. (Meistens machen sie das ja eh.) Dann gibt es wieder mindestens ein Inventar im Grid, wo das Objekt vorkommt, und das Bereinigungsscript lässt die zugehörigen Assets stehen.

Bei einer Umstellung im laufenden Betrieb müssten alle Landbesitzer rechtzeitig dafür sorgen, dass sie sich Kopien ihrer gerezzten Objekte wieder ins Inventar legen. ein gespeichertes OAR zurückzuspielen wäre nur eine Notmaßnahme, wenn das Kind schon in den Brunnen gefallen ist, also irgendwas fehlt. Wenn das Script erst mal läuft, kann ja niemand mehr ernsthaft vor einem OAR-Backup eine voll bebaute Region auf Vollständigkeit überprüfen.

Liebe Grüße,
Mareta
Hyperweb.eu => Server-Tutorial für Linux mit OpenSim, OpenSim Arriba compiliert und für Metropolis konfiguriert!
Zitieren
#43
(Gestern, 20:55)Mareta Dagostino schrieb: Hallo Christian,

normalerweise existiert jedes Asset auf einer Region auch in der Grid-Datenbank. Man muss es beim Rezzen aus dem Inventar ziehen, also schon im Grid haben, oder per OAR importieren. Ausnahme könnten Objekte sein, die Hypergrid-Touristen auf einer Region liegen lassen (ob mit oder ohne Absicht) und die niemand der Residents des eigenen Grids jemals ins Inventar genommen hat.

Wenn nun aber gerezzte Objekte bzw. deren Assets irgendwann später bei niemandem mehr im Inventar sind, weil alle das gelöscht haben, dann würde ein Bereinigungs-Script die Assets als nicht mehr benutzt ansehen. Denn auf den Regionenservern kann das Script nicht nachschauen - außer in deinem Fall, wo du die Regionen selber hostest.

Nach dem Bereinigen würden also unter Umständen Assets fehlen, die noch auf irgendwelchen Regionen existieren. Die Regionen haben zwar einen temporären Cache-Speicher, aber keinen dauerhaften. Die Regionen holen sich ggf. die Assets wieder aus dem Grid.

Wenn allen Residents im Grid von Anfang an klar ist, dass dort ein Bereinigungsscript läuft, könnten sie das Problem umgehen: Sie müssten einfach von allen auf der Region gerezzten Objekten eine Kopie im Inventar aufheben. (Meistens machen sie das ja eh.) Dann gibt es wieder mindestens ein Inventar im Grid, wo das Objekt vorkommt, und das Bereinigungsscript lässt die zugehörigen Assets stehen.

Bei einer Umstellung im laufenden Betrieb müssten alle Landbesitzer rechtzeitig dafür sorgen, dass sie sich Kopien ihrer gerezzten Objekte wieder ins Inventar legen. ein gespeichertes OAR zurückzuspielen wäre nur eine Notmaßnahme, wenn das Kind schon in den Brunnen gefallen ist, also irgendwas fehlt. Wenn das Script erst mal läuft, kann ja niemand mehr ernsthaft vor einem OAR-Backup eine voll bebaute Region auf Vollständigkeit überprüfen.

Liebe Grüße,
Mareta

Hallo Mareta,

das ist nicht ganz richtig. Auch Hypergrid Avatare haben Asset IDs und produzieren asset ids wenn sie ein Objekt auf einer Region platzieren. Das habe ich getestet. Wenn ich von OSGrid (angemeldet bei OSGrid) mich nach VirtuLife teleportiere und auf der Sandbox ein objekt erstelle oder aus dem Inventar auf die Region ziehe wird in der Datenbank ein entsprechendes asset erstellt. Gleichzeitig wird in der Regionen-tabelle auf das asset in der DB referenziert.

Das mit den Backups sehe ich begrenzt so. Ich meine klar. Backups sollte man so oder so vor einer solchen Aktion machen OHNE WENN UND ABER Big Grin. Ein OAR / IAR Backup reicht den Benutzern / dem Grid-Owner theoretisch aber praktisch wäre das DB-Backup eindeutig die sinnvollste variante, da, wenn wirklich etwas fehlt, wird einfach das DB-Backup zurückgespielt, der Assetcache der Region gelöscht und voila. Alles wieder wie vorher (habe ich auch bereits getestet Big Grin). Ein Restore der Datenbank nach einer Bereinigung führt nach entfernung des Assetcaches dazu, dass die Region die assets aus der DB neu lädt und da da alle Einträge vor der Bereinigung vorhanden sind ist auch alles wieder da wie vorher. Ich habe einfach in meinem Testgrid die gesamte regionentabelle geleert, dass angeblich keine Prims mehr auf der SIM sind. Dann habe ich die SIM gestartet und voila sie war leer (natürlich was auch sonst). Dann habe ich das backup wiederhergestellt, habe den assetcache der region geleert und habe die region gestartet. Voila alles wieder da (inklusive Scripte usw).

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
[-] The following 1 user says Thank You to bimbam2103 for this post:
  • Mareta Dagostino
Zitieren
#44
(Heute, 10:00)bimbam2103 schrieb: ... Auch Hypergrid Avatare haben Asset IDs und produzieren asset ids wenn sie ein Objekt auf einer Region platzieren. Das habe ich getestet. Wenn ich von OSGrid (angemeldet bei OSGrid) mich nach VirtuLife teleportiere und auf der Sandbox ein objekt erstelle oder aus dem Inventar auf die Region ziehe wird in der Datenbank ein entsprechendes asset erstellt. Gleichzeitig wird in der Regionen-tabelle auf das asset in der DB referenziert. ...

Vielen Dank, wieder was gelernt.

Zitat:... Praktisch wäre das DB-Backup eindeutig die sinnvollste variante ... Dann habe ich die SIM gestartet und voila sie war leer (natürlich was auch sonst). Dann habe ich das backup wiederhergestellt, habe den assetcache der region geleert und habe die region gestartet. Voila alles wieder da (inklusive Scripte usw).

Das ist mir bekannt und so empfehle ich es auch in meiner Anleitung für gewöhnliche tägliche Regionen-Backups. Ein SQL-Backup einer Region belastet das Grid viel weniger (nämlich gar nicht). Aber dieser Weg funktioniert eben nur, wenn die Assets auch noch alle im Grid vorhanden sind. Meine Kernfrage zielt darauf ab: Wie merkt sich dein Script, welche Assets die Regionen noch brauchen? Und zwar auch dann noch, wenn die zugehörigen Objekte aus allen Inventaren gelöscht wurden und über Monate hinweg sich niemand das Objekt mehr angeschaut hat? Die Assets werden aus dem Grid nur abgerufen, wenn sie ein Viewer zum Anzeigen braucht (der ein Script sie verwendet).

Also: Wie weiß dein Programm, ob Asset XY noch auf irgendeiner Region gebraucht wird, wenn es in der Grid-Datnbank mit keinem Inventar mehr verknüpft ist? Da musst du irgendeine Vorsorge treffen, entweder hast du eine gute technische Idee oder man muss das klar kommunizieren: Was in keinem Inventar mehr ist, wird ggf. bereinigt und ist dann weg...

Viele Grüße,
Mareta
Hyperweb.eu => Server-Tutorial für Linux mit OpenSim, OpenSim Arriba compiliert und für Metropolis konfiguriert!
[-] The following 3 users say Thank You to Mareta Dagostino for this post:
  • Anachron, Bogus Curry, Pius Noel
Zitieren
#45
Hallo Mareta,

kein Problem. Wenn ein Objekt in keinem Inventar mehr vorhanden ist und ansonsten nur noch auf einer Region vorhanden ist bleibt die Ursprüngliche Annahme. Die Region kann nur Objekte laden, die auch noch in der Tabelle 'prims' mit entsprechendem Verweis in der Spalte 'RegionUUID' vorhanden sind. Das heißt wenn das Prim in der DB der Region nicht mehr zugewiesen ist sollte es das Prim auch da nicht geben.

Wie gesagt. Die Annahme geht davon aus, dass sowohl Region wie auch Robust auf dieselbe Datenbank auf demselben Server zugreifen.

Aber ich würde immer noch gerne darauf hinweisen, dass es für diese Art von Script zwischenzeitlich einen extra Thread hier im Forum gibt: https://www.gridtalk.de/showthread.php?tid=3294

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#46
(Vor 9 Stunden)bimbam2103 schrieb: Wie gesagt. Die Annahme geht davon aus, dass sowohl Region wie auch Robust auf dieselbe Datenbank auf demselben Server zugreifen.

Davon kann man aber nicht ausgehenExclamation
Nicht einmal, dass die Region, welche das Asset nutzt, aktuell aktiv ist, kann in größeren Grids (z.B. Metropolis) als gegeben angenommen werden.
Wer nicht weiss wohin er will, der kommt leicht woanders hin.
Zitieren
#47
Hallo Anachron.

Das ist zwar richtig aber wenn die Region dieselbe Datenbank nutzt wie der Robust sind die Prims in der Datenbank registriert auch wenn die Region offline ist. Das ändert nichts an den Einträgen.

In Metropolis (weiß ich nicht genau) oder aus OSGrid ist es so, dass die Regionen eigene Datenbanken haben. Da ist es natürlich schwer bzw. sogar fast unmöglich die Bereinigung durchzuführen, da die Assets da nicht synchron mit den Regionen sind.

Ich persönlich habe einen Vorteil. Ich habe eine Tabelle in der alle Regionen, die in VirtuLife registriert sind aufgelistet. Das heißt ich kann sogar noch einen Schritt weiter gehen und Prims aus der prims-Liste löschen, die einer Region zugewiesen sind, die es schon gar nicht mehr gibt.

Das ist natürlich ein Punkt, der noch zu klären ist.

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
[-] The following 1 user says Thank You to bimbam2103 for this post:
  • Bogus Curry
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste