mumble:benutzerhandbuch:murmur:messagesizemax

MessageSizeMax anpassen

MessageSizeMax ist eine Einstellung in Ice, die die maximale Größe einer Nachricht in KiB (Kibibyte) angibt. Genauere Informationen gibt es auf der Herstellerseite unter https://www.zeroc.com/doc/Ice-3.4.1/manual/PropRef.50.11.html#51122.

Ice wird als Schnittstelle zwischen dem Mumble-Server (Murmur) und einem beliebigen anderen Script/Programm verwendet, z. B. einem Admin-Interface, einem Mumble-Viewer oder Sonstigem.

Hat man einen sehr großen Server (bezogen auf Kommentare und Bilder) und benutzt z. B. die Funktion getTree() in Ice, dann kann die resultierende Nachricht - die den kompletten Kanalbaum samt Beschreibungen, etc. beinhaltet - größer sein als der Wert von MessageSizeMax und man bekommt je nach Programmiersprache eine Fehlermeldung wie:

  • In Python
    exception ::Ice::MemoryLimitException
  • In PHP
    Ice::MemoryLimitException: protocol error: memory limit exceeded thrown in

In diesem Fall muss man den Wert erhöhen.

Um den Wert effektiv zu erhöhen, muss man ihn an beiden Endpunkten der Ice-Verbindung erhöhen, also sowohl am Endpunkt des Mumble-Servers als auch am Endpunkt des Scripts/Programms, über das man Daten mit dem Mumble-Server austauscht.

MessageSizeMax am Endpunkt Mumble-Server erhöhen

Auf dem Mumble-Server (Murmur) kann man mittlerweile die Größe von MessageSizeMax selbst festlegen. Die Voreinstellung in der mitgelieferten .ini-Konfigurationsdatei ist auf 65535 gesetzt - das entspricht 64 MebiByte, da die Angabe in KiB ausgewertet wird. Das reicht selbst für sehr große Server.

Möchte man den Wert noch größer einstellen, so gibt es zwei Möglichkeiten:

  1. Man macht das über Argumente beim Start des Mumble-Servers, die dann an Ice durchgereicht werden: Ice-Argumente an Ice durchreichen....
  2. Man ändert in der .ini-Konfigurationsdatei ganz unten im Bereich [Ice] die folgende Zeile:
    Ice.MessageSizeMax=65536

Diese Einstellung gilt nur für den Endpunkt Mumble-Server, der Endpunkt des Scripts/Programms muss man auch noch anpasst werden, siehe nächster Punkt.

MessageSizeMax am Endpunkt Script/Programm erhöhen

Allgemein

Wie man ganz allgemein Ice-Einstellungen in seinen Programmen festlegt, steht in folgender Liste zu den von Ice unterstützten Programmiersprachen: https://doc.zeroc.com/display/Ice/Setting+Properties.

Mumble Moderator (MuMo)

Siehe hier.

Python

Ice.loadSlice("--all -I/usr/share/Ice/slice /usr/share/Ice/slice/Murmur.ice")

props = Ice.createProperties([])
props.setProperty("Ice.MessageSizeMax", "65535")
id = Ice.InitializationData()
id.properties = props

ice = Ice.initialize(id)

Mumble-Django

Im aktuellen Mumble-Django 2.4 (wahrscheinlich auch entsprechend bei älteren Versionen) muss die Datei mumble-django/pyweb/mumble/MumbleCtlIce.py bzw. in Debian Squeeze nach Zeile 86 die folgende Zeile in derselben Einrückung eingefügt werden:

prop.setProperty("Ice.MessageSizeMax", "65535")

Am Ende sollte man das hier haben:

...
    prop = Ice.createProperties([])
    prop.setProperty("Ice.ImplicitContext", "Shared")
    prop.setProperty("Ice.MessageSizeMax", "65535")

    idd = Ice.InitializationData()
...

Nach einem Restart von Mumble-Django sollte nun wieder alles funktionieren.

Ein entsprechender Bugreport wurde bereits eingereicht :).

PHP

In die entsprechende php.ini eintragen:

ice.options=”--Ice.MessageSizeMax=65535″

Und danach den Server neustarten.

Offizielle Dokumentation bei Zeroc

mumble/benutzerhandbuch/murmur/messagesizemax.txt · Zuletzt geändert: 2022/10/27 14:21 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Dieses Wiki wurde archiviert und wird nicht mehr gepflegt. Mein neues Wiki gibt es auf wiki.natenom.de. Details auf der Startseite.