This is a warning about trinity triunity... this person installed a very bad skript on my regions... i took the whole server offline ... i am so sorry....
.
Summary: The script is a **radical cleanup machine**. It scans the environment, detects **objects with identical positions**, and deletes one of them **via console command**. Meanwhile, the object containing the script systematically teleports around the region. This is not harmless—it's an administrative tool.
Now, let's take it apart.
The script is written in **LSL with OpenSim extensions (osConsoleCommand)**. This **would not** work in Second Life. It requires **Sim admin rights**.
What it actually does:
First: **On/Off switch via touch**
When you click the object:
* Sensor is turned on or off
* Every 5 seconds, it scans a 20-meter radius
* Additionally, a timer runs every 15 seconds
Second: **Sensor collects object IDs**
The sensor finds **all passive objects** (i.e., not avatars) within its range. It saves:
* the **Keys (IDs)** of the objects
* later their **Positions**
This involves double data collection, which is a first warning sign: the logic isn't particularly elegant.
Third: **Comparison of Object Positions**
Now comes the critical part.
The script checks:
> Do two objects have exactly the same position?
If yes, it assumes:
> One of them is a duplicate / ghost / bugged object
Fourth: **DELETION via Console Command**
If the positions are identical, this command is executed:
`delete object id `
This is **not a normal LSL command**.
This is a **direct server command**.
If successful:
* The object is immediately removed from the region
* A message is displayed in the public chat
This is permanent. No undo. No recycle bin.
Fifth: **Region Grid Teleport**
In parallel, the object itself moves through the region:
* Start at (4,4,4)
* Step size: 10 meters
* Grid up to 250 meters in X/Y/Z
* Then repeats
This is essentially a **3D scanner** that attempts to systematically scan the entire region to achieve sensor range everywhere.
* ... What the script **doesn't** do well (and this is important):
* It deletes objects **solely based on identical position**, not:
* same owner
* same name
* same prim content
* Two legitimate objects can be in exactly the same position → **incorrect deletion**
* Lists are completely cleared with every sensor event → inefficient
* The position comparison `vector == vector` is extremely harsh, but unfortunately often the trigger for OpenSim ghosts
What the script **is probably intended** to do:
* Remove ghost prims
* Delete duplicate bug objects after region crashes
* Automatic region cleanup without manual intervention
What it **actually** is:
An **automatic object executor** with very crude decision logic.
My clear verdict:
The script is **potentially useful**, but **dangerous** if:
* it's running in a populated area
* you're not the sole owner
* you don't know exactly which objects overlap where
It belongs in:
* test areas
* admin sandboxes
* repair situations after server problems
Not in:
* residential areas
* galleries
* role-playing sims
* anything you're passionate about
If you want, I can:
* build a **safe version** (owner check, name filter, logging)
* explain **how to detect ghost prims without deleting them**
* or completely **disarm** the script and just have it report only
This thing is a chainsaw robot. You can use it to remove weeds – or the whole garden.
.
this is the description in german:
.
Kurzfassung: Das Skript ist eine **radikale Aufräum-Maschine**. Es scannt die Umgebung, erkennt **Objekte mit identischer Position** und löscht eines davon **per Konsolenbefehl**. Nebenbei teleportiert sich das Objekt, in dem das Skript steckt, systematisch durch die Region. Das ist nichts Harmloses – das ist ein administratives Werkzeug.
Jetzt sauber auseinandergebaut.
Das Skript ist in **LSL mit OpenSim-Erweiterungen (osConsoleCommand)** geschrieben. In Second Life würde das so **nicht** funktionieren. Es setzt **Sim-Admin-Rechte** voraus.
Was es konkret tut:
Erstens: **An/Aus-Schalter per Touch**
Wenn du das Objekt anklickst:
* Sensor wird eingeschaltet oder ausgeschaltet
* Alle 5 Sekunden scannt es einen Radius von 20 Metern
* Zusätzlich läuft ein Timer alle 15 Sekunden
Zweitens: **Sensor sammelt Objekt-IDs**
Der Sensor findet **alle passiven Objekte** (also keine Avatare) im Umkreis.
Er speichert:
* die **Keys (IDs)** der Objekte
* später deren **Positionen**
Dabei wird doppelt gesammelt, was schon ein erstes Warnsignal ist: Die Logik ist nicht besonders elegant.
Drittens: **Vergleich der Objektpositionen**
Jetzt kommt der kritische Teil.
Das Skript prüft:
> Haben zwei Objekte exakt dieselbe Position?
Wenn ja, wird angenommen:
> Eines davon ist ein Duplikat / Ghost / Bug-Objekt
Viertens: **LÖSCHEN per Konsolenbefehl**
Bei identischer Position wird dieser Befehl ausgeführt:
`delete object id `
Das ist **kein normales LSL**.
Das ist ein **direkter Server-Befehl**.
Wenn erfolgreich:
* Objekt wird sofort aus der Region entfernt
* Meldung im öffentlichen Chat
Das ist endgültig. Kein Undo. Kein Papierkorb.
Fünftens: **Region-Raster-Teleport**
Parallel dazu bewegt sich das Objekt selbst durch die Region:
* Start bei (4,4,4)
* Schrittweite: 10 Meter
* Raster bis 250 Meter in X/Y/Z
* Dann von vorne
Das ist im Prinzip ein **3D-Scanner**, der versucht, die gesamte Region systematisch abzufahren, um überall Sensor-Reichweite zu haben.
Was das Skript **nicht** gut macht (und das ist wichtig):
* Es löscht Objekte **allein aufgrund identischer Position**, nicht:
* gleicher Owner
* gleicher Name
* gleicher Prim-Inhalt
* Zwei legitime Objekte können exakt gleich liegen → **falsches Löschen**
* Listen werden jedes Sensor-Event komplett geleert → ineffizient
* Positionsvergleich `vector == vector` ist extrem hart, aber bei OpenSim-Ghosts leider oft genau der Trigger
Was das Skript **wahrscheinlich gedacht ist** zu tun:
* Ghost-Prims entfernen
* Duplizierte Bug-Objekte nach Region-Crashes löschen
* Automatische Region-Bereinigung ohne manuelles Eingreifen
Was es **real** ist:
Ein **automatischer Objekt-Exekutor** mit sehr grober Entscheidungslogik.
Mein klares Urteil:
Das Skript ist **potenziell nützlich**, aber **gefährlich**, wenn:
* es in einer belebten Region läuft
* du nicht alleiniger Owner bist
* du nicht genau weißt, welche Objekte sich wo überlappen
Es gehört in:
* Testregionen
* Admin-Sandboxen
* Reparatursituationen nach Serverproblemen
Nicht in:
* Wohnregionen
* Galerien
* Rollenspiel-Sims
* irgendetwas mit Herzblut
Wenn du willst, kann ich dir:
* eine **sichere Version** bauen (Owner-Check, Name-Filter, Logging)
* erklären, **wie man Ghost-Prims ohne Löschen erkennt**
* oder das Skript komplett **entwaffnen** und nur reporten lassen
Das Ding ist ein Kettensägenroboter. Man kann damit Unkraut entfernen – oder den ganzen Garten.
| WienerSchnitzel: Trag das mal in deine osslEnable.ini ein (Verzeichnis config-include) falls du die überhaupt eingebunden hast.
Allow_osConsoleCommand = false 17 minutes ago |