Natenoms Wiki

Weil Teilen Spaß macht :)

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mumble:benutzerhandbuch:murmur:messagesizemax

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

mumble:benutzerhandbuch:murmur:messagesizemax [2018/04/02 12:36]
mumble:benutzerhandbuch:murmur:messagesizemax [2020/06/01 23:14] (aktuell)
Zeile 1: Zeile 1:
 +======MessageSizeMax anpassen======
 +MessageSizeMax ist eine Einstellung in [[mumble:benutzerhandbuch:murmur:ice|Ice]], die die maximale Größe einer Nachricht in KiB ([[wpde>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.
  
 +[[mumble:benutzerhandbuch:murmur:ice|Ice]] wird als Schnittstelle zwischen dem [[mumble:benutzerhandbuch:murmur|Mumble-Server (Murmur)]] und einem beliebigen anderen Script/Programm verwendet, z. B. einem [[mumble:benutzerhandbuch:murmur:admin-interfaces|Admin-Interface]], einem [[mumble:viewer|Mumble-Viewer]] oder Sonstigem.
 +
 +Hat man einen sehr großen Server (bezogen auf [[mumble:benutzerhandbuch:mumble:kommentar_aendern|Kommentare]] und [[mumble:benutzerhandbuch:murmur:hinweise_zu_bildern|Bilder]]) und benutzt z. B. die Funktion getTree() in [[mumble:benutzerhandbuch:murmur:ice|Ice]], dann kann die resultierende Nachricht - die den kompletten [[mumble:benutzerhandbuch:mumble:kanalbaum|Kanalbaum]] samt Beschreibungen, etc. beinhaltet - größer sein als der Wert von MessageSizeMax und man bekommt je nach Programmiersprache eine Fehlermeldung wie:
 +  * In Python <code>exception ::Ice::MemoryLimitException</code>
 +  * In PHP <code>Ice::MemoryLimitException: protocol error: memory limit exceeded thrown in</code>
 +
 +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:benutzerhandbuch:murmur|Mumble-Server (Murmur)]] kann man mittlerweile die Größe von MessageSizeMax selbst festlegen. Die Voreinstellung in der mitgelieferten [[mumble:benutzerhandbuch:murmur:ini-konfigurationsdatei|.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:
 +  - Man macht das über Argumente beim Start des Mumble-Servers, die dann an Ice durchgereicht werden: [[:mumble/benutzerhandbuch/murmur/kommandozeile#ice_argumente|Ice-Argumente an Ice durchreichen...]].
 +  - Man ändert in der [[mumble:benutzerhandbuch:murmur:ini-konfigurationsdatei|.ini-Konfigurationsdatei]] ganz unten im Bereich [Ice] die folgende Zeile: <code>Ice.MessageSizeMax=65536</code>
 +
 +
 +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 [[mumble:tools:mumo#messagesizemax_fehlermeldung_in_mumo|hier]].
 +====Python====
 +<code>
 +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)
 +</code>
 +
 +====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:
 +<code>prop.setProperty("Ice.MessageSizeMax", "65535")</code>
 +
 +Am Ende sollte man das hier haben:
 +<code>
 +...
 +    prop = Ice.createProperties([])
 +    prop.setProperty("Ice.ImplicitContext", "Shared")
 +    prop.setProperty("Ice.MessageSizeMax", "65535")
 +
 +    idd = Ice.InitializationData()
 +...
 +</code>
 +
 +Nach einem Restart von Mumble-Django sollte nun wieder alles funktionieren.
 +
 +<WRAP center round tip>
 +Ein entsprechender [[https://bitbucket.org/Svedrin/mumble-django/issue/148/possibility-to-set-icemessagesizemax-for|Bugreport wurde bereits eingereicht]] :).
 +</WRAP>
 +
 +
 +====PHP====
 +In die entsprechende php.ini eintragen:
 +<code>ice.options=”--Ice.MessageSizeMax=65535″</code>
 +
 +Und danach den Server neustarten.
 +
 +=====Offizielle Dokumentation bei Zeroc=====
 +Hier ist die offizielle Dokumentation zu MessageSizeMax: https://www.zeroc.com/doc/Ice-3.4.1/manual/PropRef.50.11.html#51122.
 +
 +{{tag>Murmur Mumble-Server Ice MessageSizeMax Python PHP}}