Natenom´s Blog

Notizblock, Linux, IT, Sonstiges und Meins

Durchsuche Beiträge mit Schlagwörtern Murmur

Es gibt neue Funktionen in den Entwicklerversionen von Mumble und Mumble-Server (Murmur):

  • Klickt man bei neuen Nachrichten auf die Benachrichtigungs-Dingsda-Blase während Mumble minimiert ist, so öffnet sich das Mumble-Fenster; soll die Nachricht nur verschwinden, so muss man auf das X klicken oder, wie bisher auch, kurz warten.

    Klickt man hier drauf, öffnet sich das Mumble-Fenster

    Klickt man hier drauf, öffnet sich das Mumble-Fenster

  • Wird jemand stumm gestellt, so kann er nun nicht mehr in einen eigenen, temporären Kanal wechseln und sich entstummen (diese Änderung betrifft den Mumble-Server).
    Video dazu (Direktlink):
  • Dank eines neuen Plugins gibt es nun auch positionsabhängiges Audio mit League of Legends
  • viele weitere Änderungen unter der Haube, die man nicht sieht…, hier die Liste

Und hier die Links:

Unser Server wurde schon aktualisiert.

Verwandte Themen...

Es ist nicht möglich, sich mit dem, seit 2010 nicht mehr weiterentwickelten, Mumble-Client für Android auf einen Mumble-Server zu verbinden, der die Entwicklerversion (1.2.4) verwendet; der Android-Client verbindet sich zwar, verliert aber sofort wieder die Verbindung zum Server.

Durch eine minimale Änderung am Quellcode des Mumble-Servers (danke an pcgod für den Tipp) funktioniert der Android-Client auch auf einem 1.2.4-Server wieder.
Einziger Nachteil an der Änderung ist, dass die Empfehlungen bezüglich der Clienteinstellungen nicht mehr an die Mumble-Clienten aller Benutzer gesendet werden, aber das kann man verschmerzen.
Nebenwirkungen gab es bisher keine.

Die entsprechende Stelle, die man ändern muss, ist im im Wiki hinterlegt; da ich von dem Code nichts verstehe, hoffe ich, die richtige Stelle erwischt zu haben :)

Wir verwenden übrigens die aktuelle Serverversion aus folgenden Gründen:

Und hier ein paar Beweis-Screenshots, danke an TheMrAdamus dafür:

Damit ist nun auch die Existenz der beiden Verbindungsbots überflüssig geworden :)

Verwandte Themen...

Vorgeschichte

Vor ein paar Tagen kam jemand auf unseren Mumble-Server und suchte Hilfe beim Einrichten von Mumble-Django, da ihm irgend jemand erzählt hatte er bräuchte das, um seinen Server so einzustellen, dass bestimmte Sonderzeichen in Kanal- und Benutzernamen verwendet werden können …

Alleine dafür braucht man jedoch kein Webinterface, das geht auch direkt in der Konfigurationsdatei murmur.ini bzw. mumble-server.ini bei Debian/Ubuntu.

Konfiguration

Man ändert dazu die beiden Variablen channelname und username auf folgende Werte:

username=[^\\s<>](?:(?!\\s)\\s|[^<>])*[^\\s<>]
channelname=[^\\s<>](?:(?!\\s)\\s|[^<>])*[^\\s<>]

Ergebnis

Nach einem Restart des Servers kann man beliebige Zeichen, auch Sonderzeichen, Symbole und mehr, für die Kanal- und Benutzernamen verwenden, solange folgende Bedingungen eingehalten werden:

  • kein < im Namen
  • kein > im Namen
  • kein(e) Leerzeichen am Anfang
  • kein(e) Leerzeichen am Ende

Bereits registrierte Benutzer/erstellte Kanäle sind von diesen Einschränkungen nicht betroffen.

Sonderzeichen in Mumble

Sonderzeichen in Mumble

Die beiden Zeichen < und > sind deshalb gesperrt, weil man sonst unsinnige Dinge mit URLs anstellen könnte.

Danke an Deltachaos auf Mumble und DireFog und pcgod in #mumble.de für den regulären Ausdruck :)

Falls man bereits ein Admininterface installiert hat, wie z.B. Mumble-Django, kann man diese Ausdrücke natürlich auch dort eintragen, jedoch leicht verändert, nämlich:

username=[^\s<>](?:(?!\s)\s|[^<>])*[^\s<>]
channelname=[^\s<>](?:(?!\s)\s|[^<>])*[^\s<>]

Viel Spaß beim Suchen von ansprechenden Zeichen.

Reguläre Ausdrücke

Weitere Informationen zu Regulären Ausdrücken gibt es z.B. unter:

Verwandte Themen...

Die Flüster-Funktionen

Es gibt in Mumble zwei Sonderfunktionen mit denen man mittels Shortcuts/Tastenkürzel kommunizieren kann:

  1. An einen Kanal “Rufen/Shout”, alle im eingestellten Kanal hören den Rufenden.
  2. An einen bestimmten Benutzer oder eine Benutzerliste “Flüstern/Whisper”; dies funktioniert auch, wenn der Flüsternde im Zielkanal keine Sprechberechtigung hat; vorausgesetzt er befindet sich außerhalb dieses Kanals.

    Ziel für Rufen oder Flüstern ...

    Ziel für Rufen oder Flüstern ...

Das Problem

Für diese zwei Funktionen gibt es in Mumble aber nur eine Berechtigung namens “Flüstern/Whisper”.
Jedoch regelt diese Berechtigung nicht die Funktion “Flüstern”, sondern die Funktion “Rufen/Shout”.

Berechtigung "Flüstern" in Mumble

Berechtigung "Flüstern" in Mumble

Und genau hier liegt das Problem. Man konnte bisher nicht Server seitig verhindern, dass Leute beliebige Benutzer auf dem Server vollspammen oder nerven, ohne dass es jemand anderes mitbekommt. Es half nur, wenn jeder genervte Benutzer selbst unter “Konfiguration -> Einstellungen -> Nachrichten” im Bereich Flüstern einen Haken gesetzt hat bei “Flüstern nur von Freunden akzeptieren”.
Dann konnte man nur angeflüstert/gerufen werden von Leuten denen man ein Herzchen verpasst hat.

Wenn man angeflüstert wird oder jemand an den Kanal ruft, dann erkennt man dies an der Farbe des Mundes in Mumble:

Verschiedene Farben je nach Funktion

Verschiedene Farben je nach Funktion

Z.B. flüstert hier der “Bot” an Natenom:

Bot flüstert an Natenom

Bot flüstert an Natenom

Die (Er)Lösung

Nun endlich durch einen Patch von Benjamin Jemlich kann man auch das echte Flüstern Server-weit unterbinden, sofern man sich den Server aus dem Git-Archiv selbst übersetzt oder den nächsten Murmur-Snapshot installiert.
Ein Entzug der Berechtigung “Flüstern/Whisper” hat dann zur Folge, dass sowohl “Rufen” als auch “Flüstern” unterbunden werden.

Dankeschön :)

Zum Einrichten von legitim eingesetzten Flüster- und Ruf-Funktionen gibt es im Wiki eine kurze Beschreibung.

Verwandte Themen...

MuMo – Mumble Moderator – ist ein System, welches die Kommunikation zwischen Ice und einem Mumble-Server übernimmt und einem sehr einfach die Möglichkeit gibt, Plugins/Module zu entwickeln um die Funktionalität von eines Mumble-Servers (Murmur) zu erweitern. Man kann sich an bestimmte Ereignisse wie z.B. “userConnected” anhängen und kann dann dem Benutzer eine Nachricht zukommen lassen.
MuMo wird entwickelt von einem der Hauptentwickler von Mumble, Stefan ‘dd0t’ Hacker.
Es werden bereits Module mitgeliefert, um den Benutzer nach einer einstellbaren Zeit der Untätigkeit in einen AFK-Kanal zu verschieben oder mittels !seen Username eine Info zu erhalten, wann derjenige Benutzer das letzte Mal auf dem Server war.

Im Wiki gibt es auch noch ein paar andere Module, wie z.B. Antirecord, welches Benutzer stumm und taub stellt wenn sie aufnehmen oder DeafToAFK, welches nur Benutzer in den AFK-Kanal verschiebt, wenn sie sich stumm und taub gestellt haben: http://wiki.natenom.name/mumble/tools/mumo/module.

Es ist wirklich sehr einfach mit ein paar Python-Kenntnissen solche Module zu schreiben; und es macht Spass.

Einzig die Verwendung von Kontextmenüs (rechtsklick auf einen Benutzer oder Kanal) ist noch nicht in MuMo implementiert; doch stattdessen kann man über den Textchat Befehle an den Server senden, wie beim !seen Modul.

Die Installation von MuMo ist etwas tricky, deshalb gibt es hier eine Installationsanleitung für das aktuelle Debian Squeeze; andere Distris werden wohl etwas andere Bezeichnungen der Pakete haben; aber ab dem Punkt “MuMo holen” sollte alles gleich sein.

Hier die Installations-Anleitung: http://wiki.natenom.name/mumble/tools/mumo/mumo-installation.

Man braucht natürlich auch noch einen laufenden Mumble-Server, am besten die Version 1.2.3; dafür sollte es genügend Dokumentation geben.

Wenn MuMo läuft, ist die aktuelle und gut dokumentierte Murmur.ice sehr hilfreich; sie enthält Informationen über die Struktur der Daten, die man in MuMo verarbeiten kann.

Viel Spass beim Programmieren :)

Verwandte Themen...

DeafToAFK ist ein einfaches Modul für MuMo (MumbleModerator), das jeden Benutzer eines Mumble-Servers, der sich stumm und taub stellt, im fast selben Moment in einen einstellbaren Kanal verschiebt.
“Entstaubt” (=stumm und taub deaktivieren) sich der Benutzer so landet er wieder im vorherigen Kanal.

Dabei wird der AFK-Status bei registrierten Benutzern auch über eine Neuverbindung hinweg gespeichert.
Falls sich der Benutzer entstaubt, während er nicht auf dem Server ist, wird er nach dem Verbinden zum Server direkt wieder in den vorherigen Kanal verschoben.

Das Script ist sehr unordentlich geschrieben; das wird mit großer Wahrscheinlichkeit auch erst einmal so bleiben, da es soweit funktioniert :P

Eine genauere Erklärung und das Script finden sich im Wiki: http://wiki.natenom.name/mumble/tools/mumo/module/deaftoafk.

Vielen Benutzern auf unserem Server gefällt diese Variante besser als einfach nach einer bestimmten Idle-Time unabhängig vom eigenen Status in den AFK-Kanal verschoben zu werden; oft genug wollten die Leute einfach nur mithören.

Und hier eine Videodemonstration (ohne Ton) (Direktlink zu Youtube):

Verwandte Themen...

Sehr einfach aber effektiv…

… wenn ein Benutzer einen Mumble-Client älter als 1.2.3 verwendet, bekommt er beim Verbinden auf den Server eine definierte Nachricht im Chatlog.
Z.B. die Information weshalb er den Client aktualisieren sollte (wegen des neuen Codecs und mehr) und einen Link zum Herunterladen.

Das Plugin gibt es im Wiki unter: http://wiki.natenom.name/mumble/tools/mumo/module/wrongversion.

Texthinweis bei veralteter Mumble-Version

Texthinweis bei veralteter Mumble-Version

Verwandte Themen...

Habe gestern das alte Python-Script Antirecord als Modul für MuMo (Mumble Moderator) umgeschrieben.

Das Modul läuft soweit und die Funktionalität des alten Scripts ist komplett implementiert, wenn auch die Interaktion anders ist.

Der Code ist mit Sicherheit sehr unsauber; aber es funktioniert soweit.
Zumindest das Grundgerüst (MuMo) ist bestimmt sehr sauber. Es sollte also nicht mehr den Bug geben, dass nach einer gewissen Zeit der Server nicht mehr reagiert bis das Script gewaltsam beendet wird.

Dank MuMo kann man nun auch einstellen, für welche virtuellen Server sich das Modul verantworlich fühlen soll. Auch lässt sich die komplette Konfiguration pro virtuellem Server anders festlegen. Da es leider noch keine Möglichkeit gibt, Kontextmenüs zu verwenden, werden stattdessen die drei Befehle !allow, !list und !disallow verwendet, die als Nachricht an eine beliebige Stelle des Servers geschickt werden können (Benutzer oder Kanal).

Benutzer, die keine Aufnahmeerlaubnis haben, werden sofort stumm und taub gestellt; sobald sie ihre Aufnahme beenden können sie wieder hören und sprechen; genauso wie Benutzer, deren Aufnahmeerlaubnis während einer Aufnahme entzogen wird.

Mit dem Befehl !list bekommt man – nur als Mitglied der Gruppe canallowrecord – eine Übersicht der aktuell auf dem Server befindlichen Benutzer, deren SessionIDs und der Benutzer, die aktuell eine Aufnahmeerlaubnis haben:

!list

!list

Das Modul selbst und alle Infos dazu gibt es im Wiki: http://wiki.natenom.name/mumble/tools/mumo/module/antirecord.

Wer das ganze mal selbst erleben möchte, kann gerne auf unserem Server vorbeikommen und ausprobieren – temporär auch mit den entsprechenden Rechten :)

Update – Hier eine Videodemonstration:

Verwandte Themen...

Es gab in den letzten Tagen wieder einige Verbesserungen im Entwicklerbaum von Mumble (dem späteren Mumble 1.2.4).

Murmur:
Neue Kommandozeilenoption -wipelogs um die Logs in der Datenbank zu löschen.

Mumble:
Verbesserte Fehlermeldungen mit Erklärungen…

  1. Wenn das Passwort/Zertifikat für einen registrierten Benutzer nicht richtig ist wird man direkt darauf hingewiesen:
  2. Wenn der Benutzername von einem unregistrierten Benutzer bereits verwendet wird kann man direkt einen anderen Namen eingeben :)
  3. Auch wenn der Benutzername ungültige Zeichen enthält, kann man einen neuen eingeben:
  4. Wenn der Server per Passwort geschützt ist, kann man (wie bisher auch) das PW eingeben

Damit sollte die relativ große Fehlerquelle “nicht lesen wollender Mensch” abgemildert sein :)
Die Texte werden natürlich noch übersetzt.

Verwandte Themen...

Heute wurde ein Patch in die Entwicklerversion des Mumble-Servers (Murmur) integriert der es ermöglicht, Nachrichten von Benutzern mitzulesen.

Die neue Funktion heisst “userTextMessage” und wenn man sich mit mit einem Script dranhängt bekommt man den “user state” des Benutzers der eine Nachricht abschickt und folgende zusätzliche Daten:

  • sessions – SessionID des Benutzer an den die Nachricht geschickt wurde.
  • channels – ID des Kanals an den die Nachricht geschickt wurde.
  • trees – ID des Kanals an die die Baum-Nachricht geschickt wurde.
  • text – Die Nachricht selbst.

Man kann mit der neuen Funktion nette Dinge anstellen, z.B. einen steuerbaren Bot der Befehle per Text annimmt und vieles mehr.
Auf der anderen Seite ist das die Big-Brother-Funktion schlechthin, da man zukünftig beim Benutzen der Chat-Funktion im Hinterkopf hat, dass die Nachrichten mitgelesen und/oder gespeichert werden könnten.
Überprüfen lässt es sich, wie bisher auch, leider nicht, ob solch eine Funktion genutzt wird; man muss sich auf die Aussage des Server-Anbieters verlassen.

Letztlich ließ sich ein Server auch bisher (ohne diesen Patch) umprogrammieren um an die entsprechenden Daten zu kommen; nur wird diese Möglichkeit jetzt eben mitgeliefert. Und jeder Serverbetreiber könnte sie mit einem entsprechenden Zusatzscript nutzen.

Gefällt mir gar nicht :/

Verwandte Themen...