Okay so as I wrote in my last post, Sabrienix is getting ready to offer Mumble hosting so I need a fancy control panel to impress users and show that Mumble’s a serious competitor to Ventrilo and TeamSpeak. Murmur (the mumble server software) now supports ICE for inter-process communication, and ICE has PHP hooks which make connecting to Murmur rather trivial.
The problem has been finding the right methods for the job, the first hurdle being user authentication. The sample PHP scripts are almost useless for this purpose, I thought perhaps I could yank the password from the “pw” property of the Registered User object, but for security reasons that is always blank when you’re reading a user object.
The old IPC method, DBUS supports an “introspect” method which lets you grab all the available properties and methods and makes it easy. It’s not like I’m looking for personalized books on the subject, I just want some damn documentation! Of course there’s nothing in the Wiki, but I might change that myself since it looks like they’re well underway to phasing out DBUS.
Finally I dug through the SVN repository, and found the Murmur.ice file which describes all the properties and methods available via ICE. I’ll probably add all this information into the Wiki soon, since no one else has done it yet. But so far so good, users can authenticate to the control panel page for their Mumble server, and so far they can kick other users and log out of the control panel.
Tomorrow, I plan on allowing them to change the various simple settings such as the name of their server, the welcome message, and whether it’s listed in the global server list. For obvious reasons they can’t stop/start their server or modify the number of slots, but I am considering allowing them to select their own port if they wish. Then I’ll work on controlling ACLs, with an eventual goal to allowing sub users inside the control panel access to certain features perhaps.
Can’t wait to keep going, but my fingers are too cold.