Live-Sync — Mehrere Geräte im Stab¶
ℹ️ Hinweis (Diátaxis): Sektion in drei Teile gesplittet — 18-A How-to (Sync aktivieren in 5 Schritten), 18-B Reference (Modi, Ports, Sync-Scope), 18-C Explanation (CRDT-/Yjs-/mDNS-Architektur).
18-A How-to: Live-Sync aktivieren [How-to]¶
So teilen Sie das Lagebild zwischen ELW-Laptop und Kartenführer-iPad in Echtzeit.
18-A.1 Sync-Dialog öffnen¶
Klicken Sie auf das Sync-Badge oben rechts in der Topbar. Es öffnet sich der Sync-Dialog:

18-A.2 Raum-ID festlegen¶
Geben Sie eine Raum-ID ein. Default ist die Einsatz-Nr.
(z. B. E-20260424-1430). Erlaubt sind 4–64 Zeichen aus A-Z 0-9 . - _.
🚨 Warnung: Verwenden Sie keine Klarnamen oder Adressen in der Raum-ID. Die ID wird (gehasht) an den Signaling-Server übermittelt.
18-A.3 Signaling-Modus wählen¶
| Modus | Wann verwenden |
|---|---|
| Öffentlich (Internet) | Standortverteilte Einsatzleitungen, Internet vorhanden |
| LAN (offline) | Vereins-Setup im selben WLAN, ohne Internet-Beteiligung — DSGVO-freundlichste Variante |
18-A.4 Sub-Modus (nur LAN): Host oder Join?¶
Im LAN-Modus muss genau ein Gerät den Signaling-Server hosten — die anderen verbinden sich darauf:
| Wenn dieses Gerät … | Wählen Sie |
|---|---|
| ELW-Laptop / Stations-PC (immer da, hat stabile IP) | Host |
| Kartenführer-iPad / mobiles Gerät (verbindet sich) | Join |
18-A.5 Geräte-Name + Aktivieren¶
- Vergeben Sie einen Gerätenamen (z. B. „ELW-Laptop", „Kartenführer-iPad") — dieser Name wird anderen Peers angezeigt.
- Klicken Sie auf Sync aktivieren.
- Im Join-Modus erscheint die Liste aller mDNS-entdeckten Hosts — wählen Sie den passenden aus.
- Sobald die Verbindung steht, sehen Sie unter Peer-Liste alle verbundenen Geräte mit grünem Punkt.
18-A.6 Peer-Cursor sichtbar machen¶
Sobald Sync aktiv ist, sehen Sie die Maus-Cursor der anderen Peers auf Ihrer Karte — jeder Peer hat eine eindeutige Farbe + Namens-Label. Nach 15 s Inaktivität verschwindet ein Cursor automatisch.
18-A.7 Sync deaktivieren¶
Klicken Sie im Sync-Dialog auf Deaktivieren. Im Host-Modus wird zusätzlich der lokale Server gestoppt und der mDNS-Service zurückgezogen.
💡 Tipp: Bei Übungen und Einsätzen legen Sie im Vorfeld fest, welches Gerät Host ist. Die Sub-Modus-Wahl wird im DSGVO-Settings- Dialog persistiert — Geräte, die immer in derselben Rolle laufen, müssen das nicht bei jedem Einsatz neu wählen.
18-B Reference: Modi, Ports, Sync-Scope [Reference]¶
18-B.1 Signaling-Modi¶
| Modus | Transport | Internet nötig? | Latenz |
|---|---|---|---|
| Öffentlich | WebRTC-P2P (UDP) + Public-Signaling-Server | ja | < 100 ms (P2P) |
| LAN — Host | y-websocket-Relay (TCP) auf Port 47833 + WebRTC-P2P | nein | < 50 ms |
| LAN — Join | Verbindung zu LAN-Host via mDNS-Discovery oder manuelle ws-URL | nein | < 50 ms |
18-B.2 Ports und Service-Identifier¶
| Port / Service | Verwendung |
|---|---|
| TCP 47832 | Tile-Server (Karten-Kacheln-Cache) |
| TCP 47833 | y-websocket-Relay (LAN-Sync) |
| WebRTC UDP (variabel) | P2P-Yjs-Updates |
mDNS Service _sarmission._tcp.local |
Auto-Discovery im LAN |
18-B.3 Synchronisierter Sync-Scope¶
Live-synchronisiert werden:
- Einheiten (Anlegen / Ändern / Löschen / Statuswechsel)
- Suchgebiete (Polygone / POA / POD / Zuweisungen / Vertex-Edits)
- POIs
- Tagebuch-Einträge inkl. Bearbeitungen + Löschungen
- IPP + Koester-Ringe (Vermisstenprofil)
- Tactical Signs (DV-101)
- Peer-Cursor auf der Karte
- Undo / Redo (Cmd+Z wirkt auf alle Peers)
Nicht synchronisiert (lokal je Gerät):
- Stammdaten (Hunde / Personen / Alarmgruppen / Adressbuch)
- Karten-Layer-Auswahl (Topo / OSM / Satellit)
- Karten-Zoom / -Pan
- Tile-Cache
- DSGVO-Settings + Encryption-Status
18-B.4 Browser-Kompatibilität¶
- ✅ macOS-Safari (Desktop + iPad-Safari)
- ✅ Chrome (Desktop + Android)
- ✅ Firefox
- ⚠️ Edge (WebRTC-Relay teilweise instabil bei Microsoft-Defender- Firewall — wechseln Sie zu LAN-Modus)
18-C Explanation: CRDT, Yjs, WebRTC, mDNS [Explanation]¶
🔧 Fortgeschritten: Diese Sektion erklärt die Sync-Architektur für Power-User und Datenschutzbeauftragte. Für die Bedienung der Software ist sie nicht erforderlich.
18-C.1 Conflict-Free Replicated Data Type (CRDT)¶
Wenn zwei Einsatzleiter:innen gleichzeitig denselben Datenpunkt ändern (z. B. den Status einer Einheit), muss die Software einen konfliktfreien Merge garantieren — niemand will, dass im Echteinsatz plötzlich Daten überschrieben werden, ohne dass es bemerkt wird.
CRDTs (Conflict-Free Replicated Data Types) sind Datenstrukturen mit einer mathematisch garantierten Konflikt-Auflösung: ungeachtet der Reihenfolge der Updates konvergieren alle Replikate auf denselben Endzustand.
SARmission verwendet die JavaScript-Bibliothek Yjs, die das operationally-transformed CRDT-Modell implementiert.
18-C.2 Zwei parallele Transport-Wege¶
┌──────────┐
│ ELW-Laptop│
└─────┬────┘
│
┌────────────┼────────────┐
│ │ │
▼ ▼ ▼
WebRTC-P2P y-websocket mDNS-Discovery
(UDP) (TCP) (Service-Annonce)
│ │ │
└─────────┬──┘ │
▼ │
┌─────────────┐ │
│ Karten-iPad │ ◄────────┘
└─────────────┘
- WebRTC-P2P (UDP): niedrige Latenz, direkter Peer-zu-Peer-Kanal — scheitert aber an strikten Firewalls (z. B. Windows-Defender ohne Ausnahme oder Vereinsheim-WLAN mit Multicast-Sperre).
- y-websocket-Relay (TCP, ab v3.4.0): läuft parallel zu WebRTC im Vereins-LAN. Wenn die WebRTC-UDP-Pakete blockiert werden, übernimmt TCP nahtlos. Lösung des v2.x-Bugs „Sync bricht nach 10 s ab".
18-C.3 mDNS-Auto-Discovery¶
Im LAN-Modus annoncieren sich Hosts via Bonjour/mDNS als
_sarmission._tcp.local-Service. Andere SARmission-Instanzen im
selben WLAN entdecken den Host innerhalb von ~500 ms.
⚠️ Achtung: Manche Vereinsheim-WLANs blockieren Multicast (typisch bei Gast-WLANs). Dann funktioniert mDNS nicht — fallen Sie auf manuelle
ws://-URL-Eingabe zurück.
18-C.4 Sicherheits-Modell¶
| Aspekt | Wer sieht was? |
|---|---|
| Yjs-Daten | nur Peers im selben Raum mit selber Raum-ID — niemals der Signaling-Server |
| WebRTC-Signaling-Server | sieht nur den gehashten Raum-ID-Token für Peer-Matching, keine Lage-Daten |
| LAN-Modus | kein Internet-Server beteiligt → DSGVO-freundlichste Variante |
| Encryption-at-Rest | gilt nur für lokale Persistenz (siehe § 31). Sync-Daten in Transit sind via WebRTC-DTLS / TLS verschlüsselt |
🌐 BOS-Übergreifend: Für Einsätze mit Personen-Daten ist der LAN-Modus die DSGVO-empfohlene Variante. Der Öffentlich-Modus ist für standortverteilte Einsatzleitungen praktisch, aber sollte über die Vereins-Datenschutz-Beauftragten freigegeben sein.
18-C.5 Undo ist sync-fest¶
Drückt jemand Cmd+Z, wird der wiederhergestellte Zustand als neuer
Yjs-Update über den Sync-Kanal an alle Peers verteilt. Kein
Ghost-Zustand, kein Diverge.
18-C.6 Auto-Reconnect¶
Bei Konfig-Wechsel (z. B. WLAN-Wechsel, Sleep/Wake) versucht SARmission alle 5 Sekunden einen Reconnect. Die Yjs-Bibliothek synchronisiert die zwischenzeitlich angefallenen lokalen Updates automatisch mit allen Peers, sobald die Verbindung wieder steht.
18-C.7 Quellen + weitere Lektüre¶
- Yjs: https://yjs.dev/
- CRDT-Theorie: Shapiro et al., „Conflict-Free Replicated Data Types", INRIA Research Report 7506, 2011
- WebRTC-Standard: RFC 8825-8848 (IETF)
- mDNS / Bonjour: RFC 6762 / 6763