• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Objekt verfolgen

Sulu Nurmi

Nutzer
Hallo liebe LSL Gemeinde,

ich möchte für ein RP ein Objekt verfolgen, also die Frage beantworten wer hat es gerade.
Wenn das Objekt gerezzt wird ist das ja kein Problem, dann sendet das Objekt eine Http-Message an einen Http-Listener. Aber was ist wenn das Objekt ohne zu rezzen weitergegeben wird. Gibt es da ein "Ereignis" das anspringt und Code ausführt?
Bitte entschuldigt meine Unwissenheit, für eine Antwort wäre ich sehr dankbar.
 
Vielen Dank für die schnelle Antwort.
Hatte ich mir schon gedacht, bei der LSL Schlappersprache.
Aber die Hoffnung stirbt halt zuletzt.
 
Das hat allerdings nichts damit zu tun, dass LSL eine "Schlappersprache" ist.
Sondern mit der Art und Weise wie das mit Scripten und mit dem Inventory funktioniert.

Scripte laufen nicht alleine, sie brauchen immer ein Prim, zu dem sie gehören. Aber:
Ein Script läuft nämlich nicht im Prim selbst, sondern immer nur auf einem Simulator-Server. D.h. in einem Bereich des Speichers dort, in einer virtuellen Maschine.
Also kann ein Script auch nur laufen, wenn das Prim, zu dem das Script gehört, auf einem Simulator auch vorhanden (= gerezzt) ist. Oder wenn man es als Attachment trägt. Packt man ein Prim dann wieder ein in sein Inventory, dann wird der aktuelle Zustand des Scriptes gespeichert, d.h. der aktuelle State, die Variablenbelegung etc. (LSL Scripte sind ja im Grunde nur endliche Automaten mit Zuständen und Events). Und wenn man das Prim mit dem Script dann wieder auspackt, dann wird eben der Code des Scripts neu in den Speicher des Servers geladen und das Script wird in den Zustand versetzt, in dem es vorher war. Zusätzlich wird dann durch das Rezzen ein "on_rez" Event bzw. durch das Anziehen ein "attach" event ausgelöst.

Einfacher kann man das weitergeben aber mit einem "changed" Event erkennen:
Wenn man ein Objekt weitergibt, dann ändert sich der Owner des Scripts.
Und das führt dazu, dass das Script ein "changed"-Signal (genauer: ein Bitfield) bekommt, sobald es in den Server geladen wird und aktiv ist.
Wenn dann (Bitfield & 0x080) wahr ist, dann wurde das Objekt weitergegeben.
(0x080 ist das Bitfield für CHANGED_OWNER).


Im Inventory selbst laufen aber keine Scripte, das Inventory (bzw. der Asset Server) selbst ist lediglich eine wirklich gigantische SQL Datenbank > 500 Terrabyte, die auf einer speziellen Datenbank Hardware läuft und noch teilweise in der Amazon-Cloud gespiegelt wird. Und da steht einfach nur zu jedem Avatar und zu jedem Objekt und jeder Textur usw. drin, welche UUID wo zu gehört, welche Permissons gesetzt sind, welche Parameter das Prim hat usw.
 
Vielen Dank für diese ausführlichen Informationen.
Naja ich gebe zu "Schlappersprache" war etwas flapsig,

Aber es ist ,aus meiner Sicht, wohl wirklich so das LSL hier eine grosse Definitionslücke hat.
Es gibt halt die Möglichkeit Objekte ohne sie zu rezzen weiterzugeben.
Leider hat Linden hier vergessen den normalen Nutzer oder Scripter Abfragemöglichkeiten
auf die Datenbank zu geben, welche ja im ganzen SL Konzept ja eine wichtige Rolle spielt.
Das müssen ja keine SQL Abfragemöglichkeiten sein, die würden wahrscheinlich
auch die Performance der Datenbank gegen Null senken.

Ich denke hier eher an ein gerüttelt Mass von "Ereignissen"
die mir sagen könnten:

"Wer hat ein Objekt?",
"Wann hat es gewechselt?",
"Ist es gelöscht worden?",
etc.

Alles das sind ja Informationen die in der SQL Datenbank der Firma
Linden festgehalten sind, und eine vordefinierte Abfrage darauf ja wirklich kein Problem ist.
Wobei das Script dann ja ruhig in einem gerezzten Objekt laufen kann.
 
Ich könnte mir vorstellen, das es einigen Leuten gar nicht gefallen würde, wenn so ein Objekt nachzuverfolgen ist ? Ist nur eine Vermutung, ich kann mir im Moment nicht wirklich vorstellen, was das sein soll.
 
Jup, den Ownerwechsel zu erkennen können ist mitunter schon wichtig. Denn viele Scripte haben ja z.B. den Key des Owner in einer Variable gespeichert und müssen erst mal resettet werden um einen neuen Key da einzutragen.
Das ist so völlig unproblematisch.

Allerdings wäre ein Tool oder Objekt, das heimlich Daten über andere sammelt nicht erlaubt in SL:

SL TOS 8.3 (i) schrieb:
8.3 You agree that you will not post or transmit Content or code that may be harmful, impede other users' functionality, invade other users' privacy, or surreptitiously or negatively impact any system or network.

You agree to respect both the integrity of the Service and the privacy of other users. You will not:
(i) Post or transmit viruses, Trojan horses, worms, spyware, time bombs, cancelbots, or other computer programming routines that may harm the Service or interests or rights of other users, or that may harvest or collect any data or personal information about other users without their consent;

übersetzt:


8.3 Sie stimmen zu, dass sie keinen Content oder Code veröffentlichen oder übertragen werden, der schädlich sein könnte, die Funktionalität anderer User beeinträchtigen könnte, die Privatsphäre anderer User beeinträchtigen könnte oder heimlich irgend ein System oder Netzwerk negativ beeinflussen könnte.
Sie stimmen zu, dass sie die Integrität des Services und die Privatsphäre anderer User respektieren. Sie werden nicht:
(i) Viren, Trojaner, Würmer, Spyware, Zeitbomben, Cancel Bots oder sonstige Computer Programm Routinen veröffentlichen oder hochladen, die den Service oder die Rechte anderer User beeinträchtigen könnten oder die irgendwelche Daten oder persönliche Informationen von anderen Usern ohne deren Zustimmung einholen oder sammeln könnten.


Anm: "Service" = SL und die Website secondlife.com

D.h. man darf keine Viren und Trojaner hochladen und man darf natürlich auch keine Scripte mit dieser Funktionalität erstellen. Z.B. darf man andere User nicht heimlich überwachen, und natürlich darf man andere User auch nicht über ein Tool überwachen, das sie besitzen und eventuell weitergeben. Es sei denn sie stimmen dem explizit zu. So machen das z.B. diverse Tracking- oder Stalking-RP Tools, da muss man vor der Nutzung explizit zustimmen im Rahmen eines RP überwacht zu werden.

Und sollte LL irgendwann mal auf die Server Logs bzw. IM logs schauen (LL speichert wohl alles an IM und chat und was auf den Servern so los ist für eine Weile...) und feststellen, dass z.B. ein Tool über ein Script heimlich bei jedem Owner wechsel eine IM oder eine Mail oder sonst eine Nachricht an eine dritte Person sendet, dann kann das Konsequenzen haben von einer einfachen Verwarnung bis hin zum finalen Rauswurf aus SL. Je nachdem, was eben bereits schon vorgefallen ist und in welchem Umfang hier die User ausgespäht werden.
 
D.h. man darf keine Viren und Trojaner hochladen und man darf natürlich auch keine Scripte mit dieser Funktionalität erstellen. Z.B. darf man andere User nicht heimlich überwachen, und natürlich darf man andere User auch nicht über ein Tool überwachen, das sie besitzen und eventuell weitergeben. Es sei denn sie stimmen dem explizit zu. So machen das z.B. diverse Tracking- oder Stalking-Rollenspiel Tools, da muss man vor der Nutzung explizit zustimmen im Rahmen eines Rollenspiel überwacht zu werden.

darf man denn unter diesem aspekt, das script von dae anwenden, mit dem sie überprüft, ob jemand das demo script woanders einbaut überhaupt anwenden?

da wird ja auch eine message an der creator geschickt, ohne dass der ava etwas davon weiss

nicht dass ich plötzlich die böse bin, nur weil ich meine kreation schützen will
 
darf man denn unter diesem aspekt, das script von dae anwenden, mit dem sie überprüft, ob jemand das demo script woanders einbaut überhaupt anwenden?

da wird ja auch eine message an der creator geschickt, ohne dass der ava etwas davon weiss

nicht dass ich plötzlich die böse bin, nur weil ich meine kreation schützen will

Welches Script von Dae meinst du genau?
das Spyscript hier:

http://www.slinfo.de/vb_forum/fragen-scripting/75816-demo-shield.html?post1293646

halte ich zumindest für grenzwertig bis illegal, wenn man das einfach einbaut und ein Objekt verteilt ohne darauf hin zu weisen, dass es möglicherweise nach Hause telefoniert. Und dabei nicht nur den Namen, sondern auch noch den exakten Ort meldet, an dem das Script feststellt, dass es sich in einem "fremden" modify Objekt befindet.

Allerdings müssen das die Lindenbären entscheiden im Zweifel.

Und deine Kreation "schützen" mit Scripten geht nicht wirklich. Alles, was ein Viewer darstellt kann wird als LLSD String vom Server gesendet, und das kann man auch als LLSD String abspeichern, also eine Art Liste, in der für jedes Prim usw. drin steht wie es aussieht. Ist nicht erlaubt, aber technisch möglich. Damit muss man leider leben.

Demo scripte selbst schützen, kann man aber auch einfacher als mit dem Code von Dae. Also zumindest ohne diese Spionagefunktion.
 
danke shirley

aber nochmal genau

1. laufe ich echt gefahr mir mit diesem script einen ban einzuhandeln?

2. was gibts denn noch für eine möglichkeit demos zu schützen?
 
@ calry

Wenn du das Script einzig und allein dazu verwendest, deine Demo-Scripte vor missbrauch zu schuetzen, spricht nichts dagegen es zu benutzen.
Die bedenkliche Creator Message ist bei Default deaktiviert und stellt kein verstoss gegen die TOS dar.
Solltest du dieses Script oder Bestandteile davon fuer Spionagezwecke verwenden, ist eine suspendierung oder ein permanenter ban aus Second Life nicht mehr ausgeschlossen.

Ich selber verwende dieses Script auch in meinen Demos, alledings habe ich es so weit runter gekuerzt das es nur noch das Object sofort komplett vom Server mit llDie() loescht, ohne mir eine Mitteilung zu schicken.

LG
Dae
 
Ist eben wie mit allen Werkzeugen eine Frage wie man es anwendet.

Man kann mit dem 5kg Vorschlaghammer wunderbar im Garten einen Pflock in den Boden rammen um daran ein Bäumchen zu befestigen. Oder man kann damit ohne viel Anstrengung den PKW des Nachbarn in wenigen Minuten zum Totalschaden machen.
Weswegen so ein Hammer nichts in der Hand von Kindern, Narren und Betrunkenen verloren hat.

Und nicht anders ist es mit Skripten.
 

Users who are viewing this thread

Zurück
Oben Unten