OpenSimWorld is the directory of 3D Virtual Worlds based on OpenSimulator and connected through the HyperGrid. Learn More

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.