Vasants Notizen

Zielsetzung

Tanelorn.net betreibt eine Discord-Instanz mit ~100 gleichzeitig angemeldeten Benutzern. Discord ist ein risikokapitalfinanzierter[^1] Onlinedienst, der aktuell noch kostenlos und ohne Werbung zu nutzen ist. Aufgrund von Befürchtungen, dass der Dienst sich drastisch verschlechtern könnte, sollten alternative Plattformen für die Community getestet werden.

Anforderungen

Zunächst wurde ein Ersatz nur in Bezug auf die Unterhaltung via Text betrachtet. Folgende Funktionen von Discord wurden hier betrachtet:

  • Erstellen von Instanzen („Servern“) mit eigenen Kategorien und Textkanälen
  • Einstellen von Berechtigungen pro Kanal und Kategorie für bestimmte Benutzer und Benutzergruppen
  • Kicken und Bannen von Benutzern durch Administratoren und Moderatoren
  • Emoji-Reaktionen auf Nachrichten
  • Antworten auf Nachrichten (mit Benachrichtigung des Autors)
  • Zitieren von Nachrichten
  • Einbinden von Bildern und Videos
  • Erstellen von Threads innerhalb eines Textkanals
  • Unterstützung von verschiedenen Formatierungen via Markdown
  • Nutzung verschiedener Geräte, auf denen alle Nachrichten abrufbar sind, unabhängig davon, wann die Geräte verbunden waren
  • Zugriff per App und Web-Client

Durchführung

Für den Test wurde zunächst ein Benutzerkonto und ein privater, verschlüsselter Textkanal („Raum“) auf rollenspiel.chat erstellt. Der Server wurde deshalb ausgewählt, weil er laut Matrix Federation Tester auf der aktuellen Serverversion läuft und alle Test besteht. Abgesehen davon hat der Server bereits einen Rollenspielbezug und einen hilfsbereiten Administrator. Da wir vermutlich bei einem positiven Testergebnis ebenfalls selbst einen Homeserver betreiben wollen würden, wurde der matrix.org-Server nicht als Homeserver für die Testräume genutzt, aber als Server für Benutzerkonten mitgetestet. In den Raum wurden die vier weiteren Testteilnehmer, die Benutzerkonten auf verschiedenen Servern („Homeservern“) hatten, nach und nach eingeladen. Die allgemeinen Chatfunktionen wurden dort mit verschiedenen Clients getestet. Desweiteren wurde ein „Space“ erstellt, der Räume, Benutzer und Berechtigungen gruppiert und so in etwa einem Discord-Server entspricht. Dort wurde ein weiterer Raum erstellt, welcher dann für alle Mitglieder des Spaces einsehbar und betretbar sein sollte, und die Testteilnehmer eingeladen.

Ergebnisse

Textchat

Der Textchat in Matrix unterstützt die erwarteten Funktionen (s. [[/Anforderungen]]). Zu beachten ist, dass hier nicht jeder Client alle Funktionen unterstützt. Auf Der Matrix-Website kann eine Übersicht für jeden Client angezeigt werden, welche Funktionen unterstützt werden. Clients, die Threads nicht unterstützen, können diese Threads nicht als solche sehen. Die Nachrichten werden zusammen mit den anderen im Raum angezeigt. Antworten mit der „Antworten“-Funktion werden aber trotzdem korrekt in den dazugehörigen Thread einsortiert. Die Unterstützung von Markdown ist in manchen Clients nicht standardmäßig aktiviert. Die Umsetzung weist einige Unterschiede zur Discord-Umsetzung auf, so ist z.B. die Syntax für „Durchgestrichen“ anders und die Umsetzung von Spoilern variiert zwischen Clients.

Erstellen und Verwalten von Räumen und Spaces

Das Erstellen und Organisieren von Räumen und Spaces funktionierte recht reibungslos und intuitiv. Spaces können vor oder nach „ihren“ Räumen erstellt werden, Räume können zudem auch mehreren Spaces angehören und sind unabhängig von ihrem Homeserver. Spaces und Räume können sowohl öffentlich als auch beschränkt verfügbar sein: Bei Räumen ist es z.B. ein sinnvolles Feature, dass nur Mitglieder eines bestimmten Spaces Zugriff haben – so könnte man z.B. einen Tanelorn-Space in öffentliche Bereiche (für jeden Nutzer les- und betretbar) und Community-Bereiche (nur für Mitglieder des Tanelorn-Spaces verfügbar) aufteilen. Hier ergab sich aber schon direkt ein Problem: Möchte man einen Space nicht komplett öffentlich sicht- und betretbar machen, muss man ihn auf Eingeladene beschränken. Einladungen funktionieren nicht – wie bei Discord – über einen Link, sondern nur als Einladung innerhalb von Matrix. Seltsamerweise konnte ich mit meinem Testkonto auf rollenspiel.chat Benutzer von matrix.org – dem öffentlichen Homeserver der Matrix-Entwickler – zwar in Räume, aber nicht in Spaces einladen. Auf dem Github wurde auf den Server-Betreiber von rollenspiel.chat verwiesen, der jedoch aufgrund der Tatsache, dass die Einladung in Räume funktionierte, auch keine Abhilfe wusste. Als Rollen sind standardmäßig nur „Administrator“, „Moderator“, „Standard“ (bzw. „User“) und „Selbstdefiniertes Berechtigungslevel“ vorgesehen, wobei letzteres eine Zahl ist, zu der verschiedene Berechtigungen zugeordnet werden können. „Standard“ entspricht hier der Discord-Rolle „everyone“ und hat das Berechtigungslevel „0“. Es scheint also nicht möglich zu sein, Rollen so zu definieren, dass sie als Benutzer nur auf bestimmte Räume Zugriff zu haben, also z.B.

  • Rollenspiel Allgemein: Zugriff für alle Benutzer
  • Bastelstube: Zugriff für alle Benutzer mit der Rolle „Bastler“
  • OTT-Orga: Zugriff für alle Benutzer mit der Rolle „OTTO“ Stattdessen müssten die entsprechenden Benutzer wohl einzeln eingeladen werden. Eine weitere Option ist, die Räume auf „Anklopfen“ zu stellen, sodass ein Benutzer zum Beitritt erst von einem Moderator freigeschaltet werden muss. Obwohl diese Option schon in der aktuellen Serverversion integriert ist, war die Option im Referenz-Client Element nicht sichtbar und hat, nachdem sie über den Client Fluffychat eingeschaltet wurde, auch nicht funktioniert. Positiv hervorzuheben ist, dass Räume als „empfohlen“ markiert werden können, damit neue Mitglieder nicht direkt von der Anzahl der Räume erschlagen werden. Benutzer können außerdem Favoriten in Spaces markieren (diese werden dann separat gruppiert angezeigt) oder einen privaten Space erstellen, um dort ihre Lieblingsräume von verschiedenen Spaces und Homeservern nach Belieben zu gruppieren. Benachrichtungen können vom Benutzer für jeden Raum separat eingestellt („Alle Nachrichten“ oder „Erwähnungen und Schlüsselwörter“) oder komplett deaktiviert werden. Eine Standardeinstellung für neu betretene Räume kann ebenfalls definiert werden.

Verschlüsselung

Matrix unterstützt Ende-zu-Ende-Verschlüsselung sowohl für Privatchats als auch für private Gruppenräume. Ein Testteilnehmer hatte aber Probleme mit der Verschlüsselung und konnte in einem verschlüsselten Raum nur bestimmte Benutzer lesen. Das Problem konnte nicht bis zuletzt nicht behoben werden. 

Ein verschlüsselter Raum kann keine Bots oder Bridges unterstützen. Vermutlich sollten größere, öffentliche Gruppenräume daher standardmäßig nicht verschlüsselt werden. Für private Gespräche ist dies aber eine gute Option. 

Föderation

Prinzipiell kann man seinen Account auf irgendeinem Homeserver erstellen und trotzdem mit Benutzern und Räumen von anderen Homeservern kommunizieren. Das ist sehr löblich und funktonierte größtenteils auch problemlos, nur bei Spaces gab es Probleme mit dem Homeserver matrix.org.

Clients

Matrix unterstützt verschiedende Clients und verbietet diese nicht etwa, wie Discord, in seinen Nutzungsbedingungen. Die Clients haben allerdings unterschiedliche Funktionsumfänge, was zu Problemen in der Benutzung führen könnte. Einem Aufruf, ein bestimmtes Thema in einen Thread auszulagern, können manche Nutzer aufgrund ihres Clients dann möglicherweise nicht folgen.

Nutzung mehrerer Konten

Die Nutzung mehrerer Konten wird von Element standardmäßig nicht unterstützt. Wer sich also einmal als @queerponylover99:matrix.org registriert hat, „muss“ sich mit diesem Account dann auch auf dem Matrix-Space seiner Universität oder seiner Fußballmannschaft anmelden. Die Nicknames sind zwar konfigurierbar, der Accountname ist aber für alle sichtbar. Einige Clients wie Fluffychat unterstützen mehrere Konten. Wer Element mit mehreren Konten nutzen möchte, muss dann wohl mehrere Browserfenster im Privaten Modus o.ä. offen haben.

Fazit

Matrix ist ein vielversprechender Chat-Dienst, der auf den ersten Blick gut geeignet scheint, eine Discord-Community föderiert und mit FOSS-Software umzusetzen. Da es aber schon bei fünf Test-Teilnehmern zu verschiedenen Problemen kommt, die auch mithilfe des Server-Admins und den Entwicklern auf Github nicht gelöst werden konnten, kann ich einen kompletten Umzug daher leider nicht empfehlen.

Danksagungen

Lieben Dank an Bel-Chion, schneeland, Eris2Cats und Orko für das geduldige Testen, Tealk von RollenspielMonster für das Bereitstellen des Servers, das Beantworten von technischen Fragen und den technischen Support und die Matrix-Community auf GitHub für die schnellen und technisch versierten Antworten.

[^1]: https://venturebeat.com/games/hammer-chisel-pivots-to-voice-comm-app-for-multiplayer-mobile-games/