Closed lolcatw closed 11 months ago
The wiki is completely outdated in most regards and will be taken down once the most important bits of documentation have been migrated (and updated) to our website.
The resource for what kind of functions exist in the Ice interface is currently the source itself, which contains some documentation in form of comments: https://github.com/mumble-voip/mumble/blob/master/src/murmur/MumbleServer.ice
As for how to use this, I recommend the official docs for ZeroC Ice: https://doc.zeroc.com/ Essentially it boils down to compiling the Ice file (that I linked) to your favorite language and then using the generated functions to do the actual RPC.
That entire PHP business that you have stumbled upon is definitely not necessary.
There's also https://github.com/mumble-voip/mumo, which is mostly unmaintained at this point but the code might still give you some ideas on how to use the Ice interface.
And finally: We have moved away from IRC quite a while ago (which is why you didn't get any answers there). We have moved to a Matrix channel (see main README of this repository for the link there)
I am currently writing a simple ICE library made from scratch which uses PHP sockets, as I found the current implementation really hard to use. I eventually found this zeroc website as well, even though the documentation on there is really hard to follow, if your goal is to create your own implementation of a client. I will close this ticket once I have a working "build".
Thanks for linking to that .ice file, I think this will come in really handy.
Thank you very much for your reply.
I have only ever user Ice from Python, which was quite alright :shrug:
Thank you very much for your reply.
You're welcome - if you have further questions, feel free to ask :)
As there has been no activity on this issue for a couple of days, we assume that your issue has been fixed in the meantime. Should this not be the case, please let us know.
If no further activity happens, this issue will be closed within 3 days.
The wiki is completely outdated in most regards and will be taken down once the most important bits of documentation have been migrated (and updated) to our website.
The resource for what kind of functions exist in the Ice interface is currently the source itself, which contains some documentation in form of comments: https://github.com/mumble-voip/mumble/blob/master/src/murmur/MumbleServer.ice
As for how to use this, I recommend the official docs for ZeroC Ice: https://doc.zeroc.com/ Essentially it boils down to compiling the Ice file (that I linked) to your favorite language and then using the generated functions to do the actual RPC.
That entire PHP business that you have stumbled upon is definitely not necessary.
There's also https://github.com/mumble-voip/mumo, which is mostly unmaintained at this point but the code might still give you some ideas on how to use the Ice interface.
And finally: We have moved away from IRC quite a while ago (which is why you didn't get any answers there). We have moved to a Matrix channel (see main README of this repository for the link there)
Hi,
I'm having another question regarding the MumbleServer.ice
file.
After installing mumble-server on my linux server (Ubuntu-22.04), the file Murmur.ice
is created in /usr/share/slice
. However, this file is not existing in this repository and looks different than the MumbleServer.ice
. Which of the two ice files is the correct one to use? Am I doing anything wrong here?
I'm currently trying to write a custom authenticator for Mumble in Java. However, when I try to call server.setAuthenticator
, I'm permanently getting an InvalidCallbackException
. However, the authenticator I'm trying to use implements the ServerAuthenticator
interface as defined in Murmur.ice
.
By any chance, do you have any idea why this could be the case, or any ideas on how I could debug this problem?
Thanks your your help!
MumbleServer is the more modern name for what used to be called Murmur. So they are equivalent except for the name.
MumbleServer is the more modern name for what used to be called Murmur. So they are equivalent except for the name.
Thanks for clarifying. Does this imply that I'm running some outdated version of mumble-server? I've installed it on Ubuntu-22.04 via sudo apt-get install mumble-server
Yes, but not because of the name of this file. Not alk distros have actually followed the rename yet. However, for Debian you really do have an outdated Mumble version as the package hasn't been updated to the latest release(s). Long story short: just use the file provided by your system's package. It should work just fine :)
Alright, thank you!
Would you happen to have any idea why my mumble-server considers my authenticator invalid? I'm trying to implement a custom authenticator in Java based on this example.
The ice builder plugin does work correctly and generates the respective classes based on the Murmur.ice
. However, the server refuses my Authenticator Proxy, even though it seems to confirm with the required Interface.
Sorry for the super late response.
I don't know the answer though - I can only tell you that it seems like the authenticator you provide fails the checkedCast
calls here:
https://github.com/mumble-voip/mumble/blob/8833542dc72f92d17f75f84914c92664f84896cf/src/murmur/MumbleServerIce.cpp#L958-L964
The issue
Hello. I've been trying to get into scripting some quality of life improvements for my mumble server. It's really hard to figure out what's going on following the wikis. Installing the required packages went fairly smoothly but I have literally no idea on how to send & receive messages, mute people, ban, etc. I was not able to find a single resource that document those functions.
The documentation merely refers to the ICE protocol and tells me to create files in an unknown language that is poorly documented, and then use ice2php or whatever to convert that to PHP files?? I've been lurking in IRC but no one had replied so far..
The only thing I got to work was the "mute" function from an abandoned project made decades ago.
Like, what is going on here. I just want a function to send messages to a channel, and receive messages, a bit like using
socket_recv
(where it would block execution until a message is received). I could write my own mumble client in PHP, but that method has caveats I wish to avoid.How do you do any of this in PHP? Thank you for your time.
Mumble version
1.3.4-4
Mumble component
Both
OS
Linux
Additional information
No response