Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
OpenSim Chat log
#5
## Deutsche Zusammenfassung des OpenSimulator-Meetings vom 12.05.2026

Das Meeting drehte sich hauptsächlich um aktuelle Codeänderungen, Performance-Probleme, Viewer-/Cache-Fehler sowie Infrastruktur- und Shutdown-Themen in OpenSimulator.

### 1. Änderungen und Verbesserungen im Code

Ubit Umarov berichtete über mehrere kleinere Änderungen im OpenSimulator-Code:

* Ein Pull Request von Holoneon wurde übernommen, der einen Fehler bei `AssetTransactionModule` behebt. Dabei wurde ein Konfigurationswert (`min asset upload level`) zuvor nicht korrekt gelesen.
* Danach wurde die Konfigurationslogik weiter verbessert:

* Neue Methode `GetFirstConfigVarFromSections<T>` eingeführt.
* Vorteil: Die Suche stoppt sofort beim ersten Treffer statt alle Config-Sektionen unnötig zu durchsuchen.
* Dadurch weniger Overhead und bessere Performance.

Außerdem wurden viele kleinere „kosmetische“ Modernisierungen vorgenommen:

* Ersetzen von `Dictionary.Contains()` durch `TryGetValue()`
* Ziel:

* weniger doppelte Hash-Lookups,
* weniger unnötige Suchvorgänge,
* saubererer und effizienterer Code.

Es wurde mehrfach erwähnt, dass ein Großteil des OpenSim-Codes sehr alt sei und moderne .NET-Methoden beim ursprünglichen Schreiben teilweise noch nicht verbreitet waren.

---

### 2. Diskussion über Asset-Spam / Asset-Bombing

Bianca Blast berichtete über ein Problem mit sogenanntem „Asset Bombing“:

* Ein Benutzer konnte in kurzer Zeit extrem viele kleine Assets hochladen.
* Beispiel:

* etwa 100.000 Assets in ungefähr 10 Sekunden.
* Die hochgeladenen Dateien waren überwiegend kleine Animationen vom Typ 20.

Diskutiert wurde:

* ob ein Rate-Limiter direkt im Asset-Storage eingebaut werden sollte,
* oder ob das Problem bereits „vorne“ im Netzwerk-/Viewer-Bereich abgefangen werden sollte.

Ubit bemerkte dazu ironisch:

> „OpenSim vertraut seinen Benutzern …“

Die Teilnehmer waren sich einig:

* praktisch alle Systeme sollten heute irgendeine Form von Rate-Control besitzen.

---

### 3. Unsichtbare Prims / Viewer-Cache-Probleme

Ein großer Teil des Meetings beschäftigte sich mit einem schwer reproduzierbaren Problem:

* bestimmte Objekte („Prims“) werden im Viewer manchmal unsichtbar.

Vincent Sylvester erklärte:

* Das Problem tritt regionenabhängig auf.
* Nach bestimmten Scene-Updates funktionieren Regionen teilweise tagelang korrekt.
* Danach erscheinen plötzlich wieder unsichtbare Objekte.
* Besonders merkwürdig:

* welche Objekte fehlen, ändert sich ständig,
* manche Objekte laden immer korrekt,
* das Verhalten wirkt inkonsistent.

### Vermutete Ursachen

Diskutiert wurden mehrere mögliche Ursachen:

#### Objekt-Cache des Viewers

Ubit kritisierte den Viewer-Cache sehr deutlich:

* der Cache speichere LLUDP-Nachrichten statt echter Objekte,
* das Design sei problematisch,
* möglicherweise werde der Cache „vergiftet“.

#### Terse Updates

Es wurde beobachtet:

* das Senden von sogenannten „terse updates“ scheint das Problem oft temporär zu beheben.

Allerdings:

* das gilt eher als Workaround („Bandaid“) statt echte Lösung.
* Vermutlich zwingt ein Terse-Update den Viewer dazu, Objekte neu zu laden.

#### Viewer-/Protokoll-Inkompatibilität

Die Teilnehmer vermuten:

* Änderungen in modernen Viewern könnten alte Protokollfehler sichtbar gemacht haben.
* Möglicherweise existiert seit Jahren ein versteckter Kommunikationsfehler zwischen Viewer und Simulator.

Es wurde mehrfach beklagt:

* mangelnde Dokumentation des Protokolls,
* hoher technischer Schuldenstand („tech debt“),
* komplizierter Legacy-Code.

---

### 4. Threading und Performance

Ein weiterer Schwerpunkt war Multithreading und Threadpools.

Ubit erklärte:

* `Util.FireAndForget`

* nutzt den Threadpool,
* blockiert nicht den Hauptthread,
* eignet sich für asynchrone Aufgaben.

Außerdem gab es Kritik an:

* Microsofts Standard-Threadpool,
* .NET Tasks,
* langsamer Thread-Skalierung,
* möglicher Thread-Starvation.

Ubit bevorzugt weiterhin:

* den älteren „SmartThreadPool“,
* da dieser in manchen Szenarien stabiler arbeite.

---

### 5. Region-Shutdown und Events

Vincent suchte nach einem Mechanismus:

* der beim Shutdown einer Region ausgeführt wird,
* bevor die Scene-Daten gelöscht werden.

Problem:

* viele Events passieren erst nachdem wichtige Objektlisten bereits freigegeben wurden.

Diskutiert wurde:

* Nutzung des Backup-Events,
* mögliche neue „PreShutdown“-Events,
* Probleme mit Event-Reihenfolgen,
* Gefahr von Speicherverlusten bei Scene-Unload.

Ubit warnte:

* Scene-Unload sei generell problematisch,
* Speicher werde oft nicht sauber freigegeben.

---

### 6. Diskussion über Ctrl-C und Shutdown

Ein überraschend langer Teil des Meetings behandelte Konsolen-Shutdowns.

Wichtige Erkenntnisse:

* `Ctrl-C` ruft inzwischen sauber den normalen Shutdown-Prozess auf.
* `shutdown` und `quit` sind identische Befehle.
* Shutdown wartet auf Backups bevor beendet wird.

Außerdem wurde gewarnt:

* wenn die Konsole markiert oder gescrollt wird,
kann das Log-Ausgabesystem blockieren,
wodurch Regionen scheinbar „einfrieren“.

---

### 7. Firestorm Viewer und Gruppen-System

Nebenbei wurde erwähnt:

* eine neue Firestorm-Beta ist erschienen,
* Gruppenfunktionen fühlen sich weniger träge an,
* hauptsächlich kosmetische Verbesserungen.

Außerdem wurde über alternative Gruppenmodule gesprochen:

* insbesondere XML-basierte Varianten.

---

### 8. Standalone → Grid-Migration

Cuga Rajal berichtete:

* sein System wurde erfolgreich von Standalone auf Grid-Betrieb umgestellt.
* Die Grid-Version wirke insgesamt „snappier“ und performanter.

Vincent half dabei intensiv bei der Migration.

---

## Gesamteindruck des Meetings

Das Meeting war stark technisch geprägt und fokussierte sich vor allem auf:

* Low-Level-Protokolle,
* Viewer-Caching,
* Threading,
* alte Architekturprobleme,
* Performance-Optimierungen,
* Shutdown-Mechanismen,
* und schwer reproduzierbare Bugs.

Besonders deutlich wurde:

* OpenSimulator kämpft weiterhin mit historischem Legacy-Code,
* viele Probleme liegen tief in alten Viewer-/Protokollstrukturen,
* gleichzeitig wird kontinuierlich modernisiert und optimiert.
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 6 users say Thank You to Manfred Aabye for this post:
  • Akira, Bogus Curry, Dorena Verne, Jupiter Rowland, Leora Jacobus, Mareta Dagostino
Zitieren


Nachrichten in diesem Thema
OpenSim Chat log - von Manfred Aabye - 27.10.2025, 09:43
RE: OpenSim Chat log - von Bogus Curry - 27.10.2025, 18:58
RE: OpenSim Chat log - von Manfred Aabye - 29.10.2025, 14:37
RE: OpenSim Chat log - von Manfred Aabye - 16.12.2025, 12:54
RE: OpenSim Chat log - von Manfred Aabye - 13.05.2026, 15:31
RE: OpenSim Chat log - von Bogus Curry - 13.05.2026, 15:44
RE: OpenSim Chat log - von Jupiter Rowland - 13.05.2026, 23:30
RE: OpenSim Chat log - von Bogus Curry - 14.05.2026, 08:52

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Music [Sonstige] Floydd in OpenSim Jupiter Rowland 0 1.848 09.06.2024, 23:39
Letzter Beitrag: Jupiter Rowland
  Aus Hypergrid und Umgebung: Der Second-Life-Ageplay-Skandal und OpenSim Jupiter Rowland 3 3.104 15.03.2024, 19:01
Letzter Beitrag: Leora Jacobus
Exclamation Neue Angriffsform auf OpenSim-Grids? Jupiter Rowland 40 18.231 20.01.2024, 23:44
Letzter Beitrag: Leora Jacobus
  Chat log from the meeting on 2023-05-09 Manfred Aabye 16 8.187 22.05.2023, 16:01
Letzter Beitrag: DJ Archie
Video Edmund Fitzgerald: das Schiff, das Unglück, der Song - das OpenSim-Machinima Jupiter Rowland 2 3.036 02.01.2023, 19:37
Letzter Beitrag: Anachron

Gehe zu:


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