https://wiki.mumble.info/api.php?action=feedcontributions&user=Cheald&feedformat=atomMumble Wiki - User contributions [en]2024-03-28T17:35:57ZUser contributionsMediaWiki 1.31.0https://wiki.mumble.info/index.php?title=Hosters&diff=5116Hosters2010-10-12T01:05:49Z<p>Cheald: </p>
<hr />
<div>This is a list of '''Mumble Server Hosters''':<br />
<br />
{|class="sortable" style="margin:4px;"<br />
!style="width:120px; text-align:left;"|Name<br />
!style="width:80px; text-align:left;"|Country<br />
!style="width:120px; text-align:left;"|Type<br />
!style="width:200px; text-align:left;"|Website<br />
!style="width:200px; text-align:left;"|Comment<br />
|-<br />
|MumbleSlots.com ||UK ||Commercial ||[http://www.mumbleslots.com MumbleSlots.com] || Servers: USA, UK, Europe inc Control Panel<br />
|-<br />
|Voice-Hosting.de ||Germany ||Commercial ||[http://www.voice-hosting.de Voice-Hosting.de] || Inclusive Mumb1e Admin Plugin<br />
|-<br />
|MumbleVoice ||USA ||Commercial ||[http://www.mumblevoice.com MumbleVoice.com] || Servers: USA, Canada, UK, Europe, Australia<br />
|-<br />
|mumble.ru ||Russian Federation ||Commercial&Non-Commercial ||[http://www.mumble.ru/ Mumble.ru]<br />
|-<br />
|24H-Hosting ||Germany ||Commercial ||[http://www.24hours-hosting.de/modules.php?name=shop&op=details&ids=52 24hours-hosting.de]<br />
|-<br />
|Vision-Hosting ||Germany ||Commercial ||[http://vision-hosting.de vision-hosting.de]<br />
|-<br />
|Mumble-Tower ||Germany ||Commercial ||[http://mumble-tower.de mumble-tower.de] || Available in German & English<br />
|-<br />
|Mumbled ||Germany ||Non-Commercial ||[http://mumbled.de mumbled.de]<br />
|-<br />
|Mumbling ||Germany ||Commercial ||[http://mumbling.de mumbling.de]<br />
|-<br />
|Midnight Gaming || USA ||Commercial ||[http://midnightgaming.net MidnightGaming.net] || Web Panel, $.01 Servers<br />
|-<br />
|Sabrienix/MumbleDog || USA ||Commercial ||[http://www.sabrienix.com/voice/mumble sabrienix.com]/[http://www.mumbledog.com/ mumbledog.com]<br />
|-<br />
|Teamspeak Command Center ||USA ||Commercial ||[http://teamspeak.cc teamspeak.cc] || <br />
|-<br />
|Mumble.pl || Poland ||Commercial ||[http://www.mumble.pl Mumble.pl] || Servers location: France, Germany and Poland.<br />
|-<br />
|Command Channel || USA ||Commercial ||[http://CommandChannel.com CommandChannel.com] ||<br />
|-<br />
|MMO-Mumble || USA ||Commercial ||[http://mmo-mumble.com mmo-mumble.com] || Servers: USA, UK; Control Panel, website widget, API<br />
|}<br />
<br />
<br />
[[Category:Documentation]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Hosters&diff=5115Hosters2010-10-12T01:04:06Z<p>Cheald: </p>
<hr />
<div>This is a list of '''Mumble Server Hosters''':<br />
<br />
{|class="sortable" style="margin:4px;"<br />
!style="width:120px; text-align:left;"|Name<br />
!style="width:80px; text-align:left;"|Country<br />
!style="width:120px; text-align:left;"|Type<br />
!style="width:200px; text-align:left;"|Website<br />
!style="width:200px; text-align:left;"|Comment<br />
|-<br />
|MumbleSlots.com ||UK ||Commercial ||[http://www.mumbleslots.com MumbleSlots.com] || Servers: USA, UK, Europe inc Control Panel<br />
|-<br />
|Voice-Hosting.de ||Germany ||Commercial ||[http://www.voice-hosting.de Voice-Hosting.de] || Inclusive Mumb1e Admin Plugin<br />
|-<br />
|MumbleVoice ||USA ||Commercial ||[http://www.mumblevoice.com MumbleVoice.com] || Servers: USA, Canada, UK, Europe, Australia<br />
|-<br />
|mumble.ru ||Russian Federation ||Commercial&Non-Commercial ||[http://www.mumble.ru/ Mumble.ru]<br />
|-<br />
|24H-Hosting ||Germany ||Commercial ||[http://www.24hours-hosting.de/modules.php?name=shop&op=details&ids=52 24hours-hosting.de]<br />
|-<br />
|Vision-Hosting ||Germany ||Commercial ||[http://vision-hosting.de vision-hosting.de]<br />
|-<br />
|Mumble-Tower ||Germany ||Commercial ||[http://mumble-tower.de mumble-tower.de] || Available in German & English<br />
|-<br />
|Mumbled ||Germany ||Non-Commercial ||[http://mumbled.de mumbled.de]<br />
|-<br />
|Mumbling ||Germany ||Commercial ||[http://mumbling.de mumbling.de]<br />
|-<br />
|Midnight Gaming || USA ||Commercial ||[http://midnightgaming.net MidnightGaming.net] || Web Panel, $.01 Servers<br />
|-<br />
|Sabrienix/MumbleDog || USA ||Commercial ||[http://www.sabrienix.com/voice/mumble sabrienix.com]/[http://www.mumbledog.com/ mumbledog.com]<br />
|-<br />
|Teamspeak Command Center ||USA ||Commercial ||[http://teamspeak.cc teamspeak.cc] || <br />
|-<br />
|Mumble.pl || Poland ||Commercial ||[http://www.mumble.pl Mumble.pl] || Servers location: France, Germany and Poland.<br />
|-<br />
|Command Channel || USA ||Commercial ||[http://CommandChannel.com CommandChannel.com] ||<br />
|-<br />
|MMO-Mumble || USA ||Commercial ||[http://mmo-mumble.com.com mmo-mumble.com.com] || Servers: USA, UK; Control Panel, website widget, API<br />
|}<br />
<br />
<br />
[[Category:Documentation]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Running_Murmur&diff=4679Running Murmur2010-03-01T01:46:22Z<p>Cheald: Remove my service's info</p>
<hr />
<div>'''If you find anything incorrect or missing in this article feel free to add it yourself. After you register, you must wait three days before you can edit a page.'''<br />
= Introduction =<br />
'''For a step-by-step guide to setting up a Murmur server, read [[Murmurguide|this]].'''<br />
<br />
Murmur is the server component for Mumble. This article is meant to give you the necessary information to configure and run your own server.<br />
<br />
= Distribution-Specific Murmur =<br />
<br />
By default, Murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works. <br />
<br />
However, on distributions with prepackaged Murmur (Debian/Ubuntu), Murmur is configured to run as a system service, just like your webserver, mailserver and whatever else you have running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).<br />
<br />
So, on these systems, you can still run Murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.<br />
<br />
If you need to register users externally, or change the settings of a virtual server, read the section on Advanced Configuration.<br />
<br />
= Basic Configuration =<br />
<br />
== Settings, Ports, and Authentication ==<br />
The default settings for a Murmur server are configured in ''murmur.ini''. Here, you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the [[Ice]] RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has it's own configuration, which is maintained internally by Murmur (see below).<br />
<br />
The default port for a Murmur server is UDP and TCP 64738. Have a look at [[URLs]] to see how to publish links to your server.<br />
<br />
Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use [http://mumble.sourceforge.net/Ice Ice] or [http://mumble.sourceforge.net/DBus DBus].<br />
<br />
== Setting the SuperUser Password ==<br />
<br />
Until you've set a password for the SuperUser, the account will be disabled. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges. <br />
<br />
To set the password on the Linux static server, run<br />
murmur.x86 -supw <password><br />
To set the password on Debian-based systems, run<br />
sudo dpkg-reconfigure mumble-server<br />
To set the password on Windows systems, run<br />
<path to murmur.exe> -supw <password><br />
This will set the password and then shut down Murmur. To run the server, remove this parameter.<br />
<br />
'''Note that on some configurations, the ''-supw'' flag will only work if the server's database already exists i.e. you must have already run the server process once.'''<br />
<br />
== Starting Murmur ==<br />
<br />
To start Murmur, <br />
<br />
On a static Linux build, cd to the directory where you extracted the files and do<br />
murmur.x86<br />
On Debian-based,<br />
sudo dpkg-reconfigure mumble-server<br />
On Windows,<br />
<path to murmur.exe> (usually C:\Program Files\Mumble\Murmur.exe)<br />
<br />
For debugging or real time logging, you might want to add ''-fg -v'' to the command line, which will stop the program from running in the background.<br />
<br />
By default, Murmur opens it's configuration file, database file and logfile in your current directory. The configuration file can be overridden with the ''-ini'' parameter, and the database and logfile can be set from the ini file, using their respective parameters.<br />
<br />
= Advanced Configuration and Administration=<br />
This section contains different ways of administrating a Murmur Server.<br />
<br />
'''Note:''' Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects. Also, nearly all of the basic administration tasks can be completed '''through the client''' when using > Mumble 1.2.x.<br />
<br />
== Compatibility With RPC-Interfaces ==<br />
<br />
For full functionality with an RPC interface, Murmur requires either a working [[DBus]] daemon or [[Ice]] installation that is enabled. We recommend using the [[Ice]] interface; [[DBus]] is considered deprecated and although it will not be removed in the near future, it is not receiving any new functionality. Once you have Murmur working with the RPC interface, you can install a compatible web interface; see below for possible options.<br />
<br />
== Authenticating With an External Database/Forum ==<br />
<br />
===Ice===<br />
For phpBB3, there is [http://gitorious.org/mumble-scripts/mumble-scripts/trees/master/Authenticators/phpBB3 phpBB3auth]. You must point the python script to the ini file; read the in-source documentation for more infomation.<br />
<br />
For SMF (Simple Machines Forum), there is [http://gitorious.org/mumble-scripts/mumble-scripts/trees/master/Authenticators/SMF smfauth]. You must point the python script to the ini file; read the in-source documentation for more infomation.<br />
<br />
===DBus===<br />
<br />
There is an extended example of how to use the authenticator called ''scripts/dbusauth.pl''. You'll need to configure where your phpBB3 database resides, but once that is done you'll simply have to run the script after starting murmur to allow authentication to be done through the phpBB3 database.<br />
<br />
Any group associations the user has on phpBB3 is copied to a temporary group on a root channel (and by default inherited to all subchannels). Please note that this is a temporary group membership and as such will not show up in the Edit ACL dialogs.<br />
<br />
== Web-Interfaces ==<br />
<br />
There are several browser based interfaces which can be used to administrate the Murmur server. If you need something very basic or want to create your own interface you should take a look at Murmur's [http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble/mumble;a=tree;f=scripts script folder] which contains some basic web-interface examples which use [[Ice]] or [[DBus]].<br />
Additionally the following table contains a collection of more elaborate Web-Interfaces:<br />
<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! Technology<br />
! [[DBus]]<br />
! [[Ice]]<br />
! 1.1.x<br />
! 1.2.x<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MAP - Mumb1e Admin Plugin]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| Serverhosting; Permissionssystem; Webinterface to manage Server User, Plugin User and virtual Servers; request function for Server Users; uses DBUS or Slice or nothing; Channelviewer for own homepage; Logging functions; German, English, Frensh; Template functions and more! <br />
| [http://www.mumb1e.de/]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble-Django]]<br />
| [http://www.python.org Python] + [http://www.djangoproject.com Django]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| Channel viewer, admin panel, multiserver, registration, textures<br />
| [http://bitbucket.org/Svedrin/mumble-django/wiki/Home]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble PHP Interface|MumPI - Mumble PHP Interface]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| Admin and User functionality; multiserver (start, stop, add, remove, edit virtual servers), registration & online user management, interface admin, admin-group and permission system, (serverviewer in repository)<br />
| [https://sourceforge.net/projects/mumpi/]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MurmurCP]]<br />
| [http://www.asp.net/ ASP.NET] + [http://www.zeroc.com/ ICE]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Multiple Virtual Servers, Registration, Server Status, Forgot Password<br />
| [http://Murmurcp.hiddenservers.org]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Simpleregister]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Extended script from the sample folder<br />
| [http://kissaki.clandooc.de/mumble/interfaces/simpleregister.php]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble Admin Ice PHP]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Admin functionality<br />
| [http://bitbucket.org/gallagher/mumble-admin-ice-php/downloads/Mumble_Admin.zip]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Php Mumble Admin]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Administration panel control for murmur designed for multiple virtual server.<br />
| [http://sourceforge.net/projects/phpmumbleadmin/]<br />
|}<br />
<br />
<small>Note: We recommend using a preferably [[Ice]] or at least [[DBus]] capable interface.</small><br />
<br />
== Standalone Applications ==<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! OS<br />
! [[DBus]]<br />
! [[Ice]]<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Murmur Admin Console]]<br />
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Add, edit and delete players over SSH<br />
| [http://bograt.com/Murmur/]<br />
|}<br />
<br />
== Commandline-Interfaces ==<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! OS<br />
! [[DBus]]<br />
! [[Ice]]<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[mice]]<br />
| multi-platform<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Helper script written in [http://www.python.org Python]<br />
| [http://gitorious.org/mumble-scripts/mumble-scripts/blobs/raw/master/Helpers/mice.py]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[RegMum]]<br />
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Bat script<br />
| [http://mumble.sourceforge.net/DBus_scripts#Windows]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[mmctl]]<br />
| [http://www.python.org Python]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| 1.1.8 - Easy to use script for managing servers and adding users locally<br />
| [http://github.com/mbr/mmctl]<br />
|<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Murmur-manager]]<br />
| Ruby<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| 1.2.1<br />
| [http://github.com/cheald/Murmur-manager/ GitHub]<br />
|<br />
<br />
|}<br />
<br />
== Manual Configuration Using DBus ==<br />
<br />
If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using [[DBus]]. You can find detailed information on this in our [[DBus|DBus article]].<br />
<br />
= Alternative Murmur Implementations =<br />
The Mumble team appreciates and supports the implementation of the Mumble protocol. Unlike other proprietary applications, everyone is free to their own Mumble server software and add it to this list.<br />
<br />
== uMurmur ==<br />
uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers. It currently supports 1.1.x Mumble clients, but 1.2.x support is available, if you're willing to compile it from source (it's very easy to do). Read more at [http://code.google.com/p/umurmur/ the uMurmur project page].<br />
<br />
== Mumble iPhone ==<br />
There is currently an iPhone version of Mumble in the works; you can see more information about it from the [http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble/mumble-iphoneos;a=summary Git repository]. Any help with the project is always appreciated.<br />
<br />
[[Category:Documentation]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Running_Murmur&diff=4505Running Murmur2010-01-24T01:44:55Z<p>Cheald: /* Web-Interfaces */</p>
<hr />
<div>= Introduction =<br />
'''If you need a step-by-step guide to help you set up a Murmur server, read [[Murmurguide|this]].'''<br />
<br />
Murmur is the server component for Mumble. This article is meant to give you the necessary information to configure and run your own server.<br />
<br />
'''If you find anything incorrect or missing in this article feel free to add it yourself.'''<br />
<br />
= Distribution-specific Murmur =<br />
<br />
By default, murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works. However, on distributions with prepackaged murmur (Debian/Ubuntu), murmur is configured to run as a sytem service, just like your webserver, mailserver and whatever else you've got running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).<br />
<br />
So, on these systems, you can still run murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.<br />
<br />
If you need to register users or change the settings of a virtual server, read the section on Advanced Configuration.<br />
<br />
= Basic configuration =<br />
<br />
The default settings for a murmur server are configured in ''murmur.ini''. Here you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the [[Ice]] RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has it's own configuration, which is maintained internally by Murmur (see below).<br />
<br />
The default port for a Murmur server is UDP and TCP 64738. Have a look at [[URLs]] to see how to publish links to your server.<br />
<br />
Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use [http://mumble.sourceforge.net/Ice Ice] or [http://mumble.sourceforge.net/DBus DBus].<br />
<br />
== Setting the SuperUser password ==<br />
<br />
Until you've set a password for the SuperUser, the account will be disabled. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges. To set the password on Linux run<br />
murmurd -supw <password><br />
This will set the password and return immediately. To run the server remove this parameter. If you are on a debian based system, you may also run<br />
sudo dpkg-reconfigure mumble-server<br />
<br />
If you're on Windows, then you set the password by running<br />
"C:\Program Files\Mumble\murmur.exe" -supw <password><br />
<br />
'''Note that this only works if the server's database already exists i.e. you must have already run the server process once.'''<br />
<br />
= Running Murmur as a regular user =<br />
<br />
If you are on Win32, you can simply start ''murmur.exe'' from the command line, or even easier just start it from the Start Menu.<br />
<br />
== RPC-Interfaces ==<br />
<br />
For full functionality, murmur requires either a working [[DBus]] daemon or [[Ice]] being enabled. We recommend using the [[Ice]] interface, as [[DBus]] is considered deprecated and while it is not planned to remove it anytime soon it will not receive any new functionality.<br />
<br />
== Running the daemon ==<br />
<br />
To run murmur, simply type<br />
murmurd<br />
Although, depending on your operating system, this will be different. On Win32, it's<br />
C:\Program Files\Mumble\murmur.exe<br />
on GNU/Linux, it's usually<br />
mumble-server<br />
but you should not manually start the server on Debian/Ubuntu. Simply install the mumble-server package and then run <br />
sudo dpkg-reconfigure mumble-server<br />
If you are running a static build, simply cd to the directory that you extracted the file to, and run<br />
./murmur.x86<br />
<br />
For debugging, you might want to add ''-fg -v'' to the command line, which will stop the program from running in the background.<br />
<br />
By default murmur opens it's configuration file, database file and logfile in your current directory. The configuration file can be overridden with the ''-ini'' parameter, and the database and logfile can be set form the ini file.<br />
<br />
= Administration =<br />
This section contains different ways of administrating a murmur Server.<br />
<br />
'''Note:''' Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects.<br />
<br />
== Web-Interfaces ==<br />
<br />
There are several browser based interfaces which can be used to administrate the Murmur server. If you need something very basic or want to create your own interface you should take a look at Murmur's [http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble;a=tree;f=scripts script folder] which contains some basic web-interface examples which use [[Ice]] or [[DBus]].<br />
Additionally the following table contains a collection of more elaborate Web-Interfaces:<br />
<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! Technology<br />
! [[DBus]]<br />
! [[Ice]]<br />
! 1.1.8<br />
! 1.2.0<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble-Django]]<br />
| [http://www.python.org Python] + [http://www.djangoproject.com Django]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| Channel viewer, admin panel, multiserver, registration, textures<br />
| [http://bitbucket.org/Svedrin/mumble-django/wiki/Home]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble PHP Interface]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| User and Admin functionality<br />
| [http://kissaki.clandooc.de/mumble/interfaces/PHP_Interface.php]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MAP - Mumb1e Admin Plugin]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffd659 | planed<br />
| Webinterface to manage Server User, Plugin User and virtual Servers; request function for Server Users; useful for Server hosting; uses DBUS or Slice or nothing; Channelviewer for own homepage; German, English, Frensh; Template functions and more! <br />
| [http://www.mumb1e.de/]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MurmurCP]]<br />
| [http://www.asp.net/ ASP.NET] + [http://www.zeroc.com/ ICE]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Multiple Virtual Servers, Registration, Server Status, Forgot Password<br />
| [http://murmurcp.hiddenservers.org]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Simpleregister]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Extended script from the sample folder<br />
| [http://kissaki.clandooc.de/mumble/interfaces/simpleregister.php]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble Admin Ice PHP]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Admin functionality<br />
| [http://bitbucket.org/gallagher/mumble-admin-ice-php/downloads/Mumble_Admin.zip]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MMO-Mumble]]<br />
| Web service<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Manage your server via Glacier2 without installing anything. Just enter your Glacier2 connection in you MMO-Mumble account and you can manage it fully from there.<br />
| [http://mmo-mumble.com/help/Glacier2]<br />
|}<br />
<br />
<small>Note: We recommend using a preferably [[Ice]] or at least [[DBus]] capable interface.</small><br />
<br />
== Standalone applications ==<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! OS<br />
! [[DBus]]<br />
! [[Ice]]<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Murmur Admin Console]]<br />
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Add, edit and delete players over SSH<br />
| [http://bograt.com/Murmur/]<br />
|}<br />
<br />
== Commandline-Interfaces ==<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! OS<br />
! [[DBus]]<br />
! [[Ice]]<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MurmurCL]]<br />
| multi-platform<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Commandline interface written in [http://www.python.org Python]<br />
| [http://d0t.dbclan.de/dump/murmurcldist.exe win32 exe] / [http://nodefab.de/git/?p=mumble-scripts.git;a=blob_plain;f=murmurcl.py;hb=HEAD python source]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[mice]]<br />
| multi-platform<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Helper script written in [http://www.python.org Python]<br />
| [http://nodefab.de/git/?p=mumble-scripts.git;a=blob_plain;f=mice.py;hb=HEAD]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[RegMum]]<br />
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Bat script<br />
| [http://mumble.sourceforge.net/DBus_scripts#Windows]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[mmctl]]<br />
| [http://www.python.org Python]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| 1.1.8 - Easy to use script for managing servers and adding users locally<br />
| [http://github.com/mbr/mmctl]<br />
|<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[murmur-manager]]<br />
| Ruby<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| 1.2.1<br />
| [http://github.com/cheald/murmur-manager/ GitHub]<br />
|}<br />
<br />
== Manual configuration using DBus ==<br />
<br />
If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using [[DBus]]. You can find detailed information on this in our [[DBus|DBus article]].<br />
<br />
= Alternative Murmur implementations =<br />
The Mumble team appreciates and supports the implementation of the Mumble protocol. Unlike other proprietary applications everyone is free to write his own Mumble server software and add it to this list. <br />
== uMurmur ==<br />
uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers. It currently supports 1.1.x Mumble clients. Read more at [http://code.google.com/p/umurmur/ the uMurmur project page].<br />
[[Category:Documentation]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Murmur-manager&diff=4229Murmur-manager2010-01-11T19:19:43Z<p>Cheald: /* Update a configuration option */</p>
<hr />
<div>= murmur-manager =<br />
<br />
murmur-manager is a set of Ruby classes for managing Murmur servers. It comes packaged with a handy dandy command-line script, so you can easily manage your servers.<br />
<br />
== Getting It ==<br />
<br />
1. Clone the Github repo<br />
<br />
git clone http://github.com/cheald/murmur-manager/<br />
<br />
2. Make sure you have Ice set up for your Ruby install<br />
$ irb<br />
irb(main):001:0> require 'Ice'<br />
=> true<br />
<br />
If this doesn't succeed, you need to [[Ice|set up Ice and/or Ice Ruby bindings]]. <br />
<br />
== Commands ==<br />
<br />
You can get help at any time by just running the script with no arguments.<br />
<br />
Usage: manager.rb [opts]<br />
Args Effect<br />
---- ------<br />
[server-id] config List a server's config<br />
[server-id] set [key] [val] Set a server's config value<br />
[server-id] start Start a server<br />
[server-id] stop Stop a server<br />
[server-id] destroy Permanently destroy a server<br />
[server-id] supw [password] Set superuser password for this server<br />
new Create a new server<br />
list List existing servers<br />
<br />
== List all your current servers ==<br />
<br />
[chris@polaris manager]$ ./manage-ice.rb list<br />
Server ID Running<br />
--------- ------<br />
1 true<br />
2 true<br />
3 true<br />
4 true<br />
5 true<br />
8 false<br />
12 false<br />
13 true<br />
14 true<br />
<br />
== Get a server's configuration ==<br />
<br />
[chris@polaris manager]$ ./manage-ice.rb 1<br />
allowhtml true<br />
obfuscate false<br />
registerhostname<br />
certificate -----BEGIN CERTIFICATE-----<br />
port 50001<br />
registerurl<br />
timeout 30<br />
defaultchannel 0<br />
textmessagelength 5000<br />
username [-=\w\[\]\{\}\(\)\@\|\.]+<br />
welcometext Welcome to my Mumble server<br />
bonjour true<br />
certrequired false<br />
channelname [ \-=\w\#\[\]\{\}\(\)\@\|]+<br />
registername<br />
bandwidth 72000<br />
host 0:0:0:0:0:0:0:0<br />
registerpassword<br />
users 150<br />
key -----BEGIN RSA PRIVATE KEY-----<br />
password<br />
<br />
== Update a configuration option ==<br />
<br />
./manage-ice.rb 1 set port users 175<br />
<br />
== Spawning a new virtual server ==<br />
<br />
[chris@polaris manager]$ ./manage-ice.rb new<br />
New server: ID 17 added<br />
[chris@polaris manager]$ ./manage-ice.rb 17 set port 64049<br />
[chris@polaris manager]$ ./manage-ice.rb 17 restart<br />
<br />
You get the idea. Not too hard!</div>Chealdhttps://wiki.mumble.info/index.php?title=Murmur-manager&diff=4228Murmur-manager2010-01-11T19:15:46Z<p>Cheald: Created page with '= murmur-manager = murmur-manager is a set of Ruby classes for managing Murmur servers. It comes packaged with a handy dandy command-line script, so you can easily manage your s…'</p>
<hr />
<div>= murmur-manager =<br />
<br />
murmur-manager is a set of Ruby classes for managing Murmur servers. It comes packaged with a handy dandy command-line script, so you can easily manage your servers.<br />
<br />
== Getting It ==<br />
<br />
1. Clone the Github repo<br />
<br />
git clone http://github.com/cheald/murmur-manager/<br />
<br />
2. Make sure you have Ice set up for your Ruby install<br />
$ irb<br />
irb(main):001:0> require 'Ice'<br />
=> true<br />
<br />
If this doesn't succeed, you need to [[Ice|set up Ice and/or Ice Ruby bindings]]. <br />
<br />
== Commands ==<br />
<br />
You can get help at any time by just running the script with no arguments.<br />
<br />
Usage: manager.rb [opts]<br />
Args Effect<br />
---- ------<br />
[server-id] config List a server's config<br />
[server-id] set [key] [val] Set a server's config value<br />
[server-id] start Start a server<br />
[server-id] stop Stop a server<br />
[server-id] destroy Permanently destroy a server<br />
[server-id] supw [password] Set superuser password for this server<br />
new Create a new server<br />
list List existing servers<br />
<br />
== List all your current servers ==<br />
<br />
[chris@polaris manager]$ ./manage-ice.rb list<br />
Server ID Running<br />
--------- ------<br />
1 true<br />
2 true<br />
3 true<br />
4 true<br />
5 true<br />
8 false<br />
12 false<br />
13 true<br />
14 true<br />
<br />
== Get a server's configuration ==<br />
<br />
[chris@polaris manager]$ ./manage-ice.rb 1<br />
allowhtml true<br />
obfuscate false<br />
registerhostname<br />
certificate -----BEGIN CERTIFICATE-----<br />
port 50001<br />
registerurl<br />
timeout 30<br />
defaultchannel 0<br />
textmessagelength 5000<br />
username [-=\w\[\]\{\}\(\)\@\|\.]+<br />
welcometext Welcome to my Mumble server<br />
bonjour true<br />
certrequired false<br />
channelname [ \-=\w\#\[\]\{\}\(\)\@\|]+<br />
registername<br />
bandwidth 72000<br />
host 0:0:0:0:0:0:0:0<br />
registerpassword<br />
users 150<br />
key -----BEGIN RSA PRIVATE KEY-----<br />
password<br />
<br />
== Update a configuration option ==<br />
<br />
./manage-ice.rb 1 set port users 175<br />
<br />
== Spawning a new virtual server<br />
<br />
[chris@polaris manager]$ ./manage-ice.rb new<br />
New server: ID 17 added<br />
[chris@polaris manager]$ ./manage-ice.rb 17 set port 64049<br />
[chris@polaris manager]$ ./manage-ice.rb 17 restart<br />
<br />
You get the idea. Not too hard!</div>Chealdhttps://wiki.mumble.info/index.php?title=Running_Murmur&diff=4227Running Murmur2010-01-11T19:00:29Z<p>Cheald: /* Commandline-Interfaces */</p>
<hr />
<div>= Introduction =<br />
'''If you need a step-by-step guide to help you set up a Murmur server, read [[Murmurguide|this]].'''<br />
<br />
Murmur is the server component for Mumble. This article is meant to give you the necessary information to configure and run your own server.<br />
<br />
'''If you find anything incorrect or missing in this article feel free to add it yourself.'''<br />
<br />
= Distribution-specific Murmur =<br />
<br />
By default, murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works. However, on distributions with prepackaged murmur (Debian/Ubuntu), murmur is configured to run as a sytem service, just like your webserver, mailserver and whatever else you've got running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).<br />
<br />
So, on these systems, you can still run murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.<br />
<br />
If you need to register users or change the settings of a virtual server, read the section on Advanced Configuration.<br />
<br />
= Basic configuration =<br />
<br />
The default settings for a murmur server are configured in ''murmur.ini''. Here you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the [[Ice]] RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has it's own configuration, which is maintained internally by Murmur (see below).<br />
<br />
The default port for a Murmur server is UDP and TCP 64738. Have a look at [[URLs]] to see how to publish links to your server.<br />
<br />
Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use [http://mumble.sourceforge.net/Ice Ice] or [http://mumble.sourceforge.net/DBus DBus].<br />
<br />
== Setting the SuperUser password ==<br />
<br />
Until you've set a password for the SuperUser, the account will be disabled. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges. To set the password on Linux run<br />
murmurd -supw <password><br />
This will set the password and return immediately. To run the server remove this parameter. If you are on a debian based system, you may also run<br />
sudo dpkg-reconfigure mumble-server<br />
<br />
If you're on Windows, then you set the password by running<br />
"C:\Program Files\Mumble\murmur.exe" -supw <password><br />
<br />
= Running Murmur as a regular user =<br />
<br />
If you are on Win32, you can simply start ''murmur.exe'' from the command line, or even easier just start it from the Start Menu.<br />
<br />
== RPC-Interfaces ==<br />
<br />
For full functionality, murmur requires either a working [[DBus]] daemon or [[Ice]] being enabled. We recommend using the [[Ice]] interface, as [[DBus]] is considered deprecated and while it is not planned to remove it anytime soon it will not receive any new functionality.<br />
<br />
== Running the daemon ==<br />
<br />
To run murmur, simply type<br />
murmurd<br />
Although, depending on your operating system, this will be different. On Win32, it's<br />
C:\Program Files\Mumble\murmur.exe<br />
on GNU/Linux, it's usually<br />
mumble-server<br />
but you should not manually start the server on Debian/Ubuntu. Simply install the mumble-server package and then run <br />
sudo dpkg-reconfigure mumble-server<br />
If you are running a static build, simply cd to the directory that you extracted the file to, and run<br />
./murmur.x86<br />
<br />
For debugging, you might want to add ''-fg -v'' to the command line, which will stop the program from running in the background.<br />
<br />
By default murmur opens it's configuration file, database file and logfile in your current directory. The configuration file can be overridden with the ''-ini'' parameter, and the database and logfile can be set form the ini file.<br />
<br />
= Administration =<br />
This section contains different ways of administrating a murmur Server.<br />
<br />
'''Note:''' Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects.<br />
<br />
== Web-Interfaces ==<br />
<br />
There are several browser based interfaces which can be used to administrate the Murmur server. If you need something very basic or want to create your own interface you should take a look at Murmurs [http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble;a=tree;f=scripts script folder] which contains some basic web-interface examples which use [[Ice]] or [[DBus]].<br />
Additionally the following table contains a collection of more elaborate Web-Interfaces:<br />
<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! Technology<br />
! [[DBus]]<br />
! [[Ice]]<br />
! 1.1.8<br />
! 1.2.0<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble PHP Interface]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes (git repo)<br />
| User and Admin functionality<br />
| [http://kissaki.clandooc.de/mumble/interfaces/PHP_Interface.php]<br />
<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MAP - Mumb1e Admin Plugin]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | planed<br />
| Webinterface to manage Server User, Plugin User and virtual Servers; request function for Server Users; useful for Server hosting; uses DBUS or Slice or nothing; Channelviewer for own homepage; German, English, Frensh; Template functions and more! <br />
| [http://www.mumb1e.de/]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MurmurCP]]<br />
| [http://www.asp.net/ ASP.NET] + [http://www.zeroc.com/ ICE]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Multiple Virtual Servers, Registration, Server Status, Forgot Password<br />
| [http://murmurcp.hiddenservers.org]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble-Django]]<br />
| [http://www.python.org Python] + [http://www.djangoproject.com Django]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| Channel viewer, admin panel, multiserver, registration, textures<br />
| [http://bitbucket.org/Svedrin/mumble-django/wiki/Home]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Simpleregister]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Extended script from the sample folder<br />
| [http://kissaki.clandooc.de/mumble/interfaces/simpleregister.php]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Mumble Admin Ice PHP]]<br />
| [http://php.net/ PHP]<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Admin functionality<br />
| [http://bitbucket.org/gallagher/mumble-admin-ice-php/downloads/Mumble_Admin.zip]<br />
|}<br />
<br />
<small>Note: We recommend using a preferably [[Ice]] or at least [[DBus]] capable interface.</small><br />
<br />
== Standalone applications ==<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! OS<br />
! [[DBus]]<br />
! [[Ice]]<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[Murmur Admin Console]]<br />
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Add, edit and delete players over SSH<br />
| [http://bograt.com/Murmur/]<br />
|}<br />
<br />
== Commandline-Interfaces ==<br />
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"<br />
! Name<br />
! OS<br />
! [[DBus]]<br />
! [[Ice]]<br />
! Comment<br />
! Weblink<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[MurmurCL]]<br />
| multi-platform<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Commandline interface written in [http://www.python.org Python]<br />
| [http://d0t.dbclan.de/dump/murmurcldist.exe win32 exe] / [http://nodefab.de/git/?p=mumble-scripts.git;a=blob_plain;f=murmurcl.py;hb=HEAD python source]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[mice]]<br />
| multi-platform<br />
| bgcolor=#ffdddd | No<br />
| bgcolor=#ddffdd | Yes<br />
| Helper script written in [http://www.python.org Python]<br />
| [http://nodefab.de/git/?p=mumble-scripts.git;a=blob_plain;f=mice.py;hb=HEAD]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[RegMum]]<br />
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| Bat script<br />
| [http://mumble.sourceforge.net/DBus_scripts#Windows]<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[mmctl]]<br />
| [http://www.python.org Python]<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ffdddd | No<br />
| 1.1.8 - Easy to use script for managing servers and adding users locally<br />
| [http://github.com/mbr/mmctl]<br />
|<br />
<br />
|-bgcolor="#f8f8ff"<br />
| [[murmur-manager]]<br />
| Ruby<br />
| bgcolor=#ddffdd | Yes<br />
| bgcolor=#ddffdd | Yes<br />
| 1.2.1<br />
| [http://github.com/cheald/murmur-manager/ GitHub]<br />
|}<br />
<br />
== Manual configuration using DBus ==<br />
<br />
If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using [[DBus]]. You can find detailed information on this in our [[DBus|DBus article]].<br />
<br />
= Alternative Murmur implementations =<br />
The Mumble team appreciates and supports the implementation of the Mumble protocol. Unlike other proprietary applications everyone is free to write his own Mumble server software and add it to this list. <br />
== uMurmur ==<br />
uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers. It currently supports 1.1.x Mumble clients. Read more at [http://code.google.com/p/umurmur/ the uMurmur project page].<br />
[[Category:Documentation]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Ice&diff=4226Ice2010-01-11T18:48:59Z<p>Cheald: /* Configuring Client (Ruby) */</p>
<hr />
<div>Murmur supports remote scripting using [http://www.zeroc.com/ ZeroC Ice], a RPC mechanism. There are bindings for C++, Java, .NET, Python, PHP and Ruby, and this is supported on all our platforms (Win32, Linux and OSX). Ice also works over a network, meaning you can create a web application that interfaces with a murmur process running on another machine.<br />
<br />
= Getting ready to use Ice =<br />
<br />
You can download Ice directly from ZeroC. If you installed a binary version of Murmur, it already includes the necessary components for running Ice, but you might need additional tools to develop with it.<br />
<br />
To enable Ice in your murmur.ini configuration file first comment out<br />
dbus=session<br />
to disable dbus and add<br />
ice="tcp -h 127.0.0.1 -p 6502"<br />
to enable Ice for localhost on port 6502.<br />
<br />
To check if Ice in fact does listen, type<br />
netstat -apn | grep 6502<br />
<br />
== Ice Installation ==<br />
<br />
There are a number of binary packages available at [http://www.zeroc.com/download.html ZeroC's website]. If they are out of date, or do not work for you, then you will have to build it from source.<br />
<br />
== Building Ice on Redhat/CentOS machines ==<br />
<br />
1. Download and unpack ICE<br />
wget http://www.zeroc.com/download/Ice/3.3/Ice-3.3.1.tar.gz<br />
tar -xzf Ice-3.3.1.tar.gz<br />
<br />
2. Compile the ICE CPP bindings (these are required for all other bindings)<br />
You will need mcpp-devel from the Zeroc website installed to compile.<br />
http://www.zeroc.com/download.html - Ctrl-F and look for "mcpp-devel". There is a big package of various Ice RPMs to download. You will install a few dependencies, along with the mcpp-devel package. <br />
<br />
cd Ice-3.3.1/cpp<br />
make<br />
(wait 20 minutes)<br />
sudo make install<br />
<br />
3. Compile and install the Ice bindings for your preferred language. For example, to install Ruby bindings:<br />
cd ../rb<br />
make<br />
sudo make install<br />
<br />
4. Export the paths for your newly-installed libraries. These will be different for each language - check the INSTALL or README files in each language's subdirectory for exact instructions.<br />
<br />
For Ruby:<br />
<br />
export RUBYLIB=/opt/Ice-3.3.1/ruby:$RUBYLIB<br />
export LD_LIBRARY_PATH=/opt/Ice-3.3.1/lib:LD_LIBRARY_PATH<br />
<br />
If you don't want to always have to keep running those export lines, also add them to your ~/.bashrc:<br />
<br />
export RUBYLIB=/opt/Ice-3.3.1/ruby:$RUBYLIB<br />
export LD_LIBRARY_PATH=/opt/Ice-3.3.1/lib:LD_LIBRARY_PATH<br />
<br />
4. At this point, Ice should be available to your language (in this case, Ruby):<br />
<br />
$ irb<br />
irb(main):001:0> require 'Ice'<br />
=> true<br />
<br />
5. Generate the Slice file for your language.<br />
<br />
To generate it for ruby, we use the slice2rb program, which is in the Ice/cpp/bin directory. Similar binaries for your language of choice will be there, too.<br />
<br />
wget -O Murmur.ice "http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble/mumble;a=blob_plain;f=src/murmur/Murmur.ice;hb=HEAD"<br />
../cpp/bin/slice2rb Murmur.ice<br />
<br />
cp Murmur.rb #{MANAGER_ROOT}/vendor/ice<br />
<br />
Congrats! Ice should be set up and fully functional.<br />
<br />
== Apache and PHP ==<br />
<br />
If you want to use Ice from PHP, you'll have to add the extension to php and tell php where to find the Murmur.ice file.<br />
<br />
To add the IcePHP extension to php, first check that the file IcePHP.so for linux, or php_ice.dll for windows is in your php extensions folder specified in your php.ini as <br />
extension_dir = /usr/lib/php5/extensions<br />
If it is not, get the correspoding files from [http://www.zeroc.com/download.html ZeroCs downloads page].<br />
<br />
Then either in your php.ini file or in your /etc/php.d or /etc/php5/conf.d folder in ice.ini, add the line<br />
extension=IcePHP.so<br />
At least the linux rpms will do this automatically, so check that you're not doing it a second time.<br />
<br />
Second, you have to tell the PHP parser where to find the slice ('''S'''pecification '''L'''anguage for '''Ice''') file.<br />
Add<br />
ice.slice = /path/to/Murmur.ice<br />
to your php.ini or other config file (ice.ini).<br />
<br />
=== Troubleshooting ===<br />
If you encounter problems, check your apache log.<br />
<br />
If it tells you the php extension was compiled on an older api, you have to compile the IcePHP.so from source.<br />
<br />
Download Ice-3.3.0.tar.gz from [http://www.zeroc.com/download.html ZeroCs downloads page], untar, cd, cd into php, as written in the INSTALL file export ICE_HOME environment variable pointing to your ice install dir. If you installed it with an rpm, type<br />
export ICE_HOME=/usr<br />
then make, and in the lib folder, there'll be your IcePHP.so file.<br />
<br />
= Using Ice =<br />
<br />
How to use Ice differs from language to language. The parameters and method names will remain the same, but the syntax will naturally be different. Murmur will, by default, open up an adapter on port 6502 (or 10000 for homedir installs), which has a single accessible object named "Meta". This is the Meta server, and from it you can retrieve adapters for any configured server.<br />
<br />
There's an example included in the source; have a look at [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/icedemo.php?view=markup icedemo.php].<br />
<br />
The ice interface is fully documented, and you can browse the [http://mumble.sourceforge.net/slice generated documentation].<br />
<br />
= How to set up a Debian web server to work with ZeroC-Ice =<br />
<br />
These are example scripts. Use at your own risk.<br />
<br />
'''This guide is for debian 5.0 (lenny) -upgraded to date 06.04.2009-'''<br />
<br />
I assume you already have a working apache2 and php environment.<br />
<br />
<br />
'''Prerequisites'''<br />
<br />
First we need some essentials to aquire these execute the following in a root shell<br />
<br />
apt-get update<br />
<br />
apt-get install mumble-server icecpp libzeroc-ice32 php-zeroc-ice lzma<br />
<br />
These are namely the Mumble server himself (mumble-server), ZeroC Ice himself (icecpp), the ZeroC-Ice C++ runtime Library (libzeroc-ice32), the Ice PHP extension (php-zeroc-ice) and the lzma extractor.<br />
Be aware that this installs a older server version WITHOUT Ice support. We will fix this later on.<br />
<br />
Additionally we need the current Murmur, thats what the Mumble server is called, release.<br />
<br />
Go to http://mumble.sourceforge.net/ and download the latest stable Static Linux Server. I suggest your home directory for that.<br />
cd ~<br />
wget http://switch.dl.sourceforge.net/sourceforge/mumble/murmur-static_x86-1.1.8.tar.lzma<br />
unlzma -v murmur-static_x86-1.1.8.tar.lzma<br />
tar xfv murmur-static_x86-1.1.8.tar<br />
<br />
<br />
''' Step 1 - Murmur Setup'''<br />
<br />
OPTIONAL: To run Murmur at every startup change the config value in /etc/default/mumble-server acordingly with a editor of your choice.<br />
<br />
Now open the file /etc/mumble-server.ini<br />
vim /etc/mumble-server.ini<br />
OR<br />
nano -w /etc/mumble-server.ini <br />
Uncomemnt the line that starts with dbus=<br />
#dbus=system<br />
Create a new line and paste<br />
ice="tcp -h 127.0.0.1 -p 6502"<br />
Murmur now knows that he should listen for Ice requests.<br />
<br />
<br />
''' Step 2 - Manual update Murmur '''<br />
<br />
First of all why did we installed a old version first to replace it now?<br />
<br />
It's easy, we have much less to do. Anyway there is a downside.<br />
<br />
When the package is updated in the repository you will probably break your Ice support. But i think thats the best way and you can easily fix that just with replacing the murmurd binary again.<br />
<br />
You alread extracted the Static Linux Server to your home directory. Now we need some files from there.<br />
<br />
First replace the repository binary with the manually downloaded one.<br />
cd ~/murmur-static_x86-1.1.8<br />
chmod +x ./murmur.x86<br />
cp murmur.x86 /usr/sbin/murmurd<br />
Now copy the Ice specification for murmur.<br />
cp Murmur.ice /var/lib/mumble-server/Murmur.ice<br />
<br />
<br />
''' Step 3 - PHP Setup '''<br />
Now we need to tell the PHP-Ice Extension where the Ice specification file can be found.<br />
You should already have a file /etc/php5/conf.d/IcePHP.ini from your PHP module install.<br />
Open it with a editor.<br />
vim /etc/php5/conf.d/IcePHP.ini<br />
OR<br />
nano -w /etc/php5/conf.d/IcePHP.ini<br />
Paste the folowing in a new line at the end of the file<br />
ice.slice = /var/lib/mumble-server/Murmur.ice<br />
<br />
<br />
''' Step 4 - Reload and Check '''<br />
<br />
Everything needed should be done now let us populate your new settings.<br />
<br />
Restart your apache2.<br />
/etc/init.d/apache2 restart<br />
And start your Mumble server<br />
/etc/init.d/mumble-server start<br />
Now we will take a look in the mumble-server log to see if everything is fine.<br />
tail -n10 /var/log/mumble-server/mumble-server.log<br />
If you find a line similar to the following <br />
...<br />
<W>2009-04-06 13:37:11.316 MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running<br />
...<br />
everything is fine and you can now comunicate to Murmur over the IcePHP extension.<br />
<br />
''' Again be aware of that you can break your Ice support when the package gets an update in the repository! '''<br />
<br />
--[[User:xenonR|xenonR]] 13:02, 06 April 2009 (UTC)<br />
<br />
= How to set up a Windows web server and use the Ice php scripts =<br />
<br />
These are example scripts. Use at your own risk. These scripts are not intended for production machines. These are examples of what Ice can do. Note that if you already have a web server installed on the server you can adapt this guide to use it instead of installing Apache.<br />
<br />
First install [http://apache.mirror.facebook.com/httpd/binaries/win32/apache_2.2.11-win32-x86-openssl-0.9.8i.msi Apache]. Install it to ''C:\apache\''. <br />
<br />
Now install [http://www.php.net/get/php-5.2.8-win32-installer.msi/from/us.php.net/mirror PHP]. Tell PHP to install to ''C:\PHP5\''. In the installer on the "Web Server Setup" window select Apache 2.2.x Module. When you get to "Select Apache Configuration Directory" put ''C:\apache\conf\''. Proceed through the installer. Install the defaults, you do not need to install the extensions for PHP. <br />
<br />
Now [http://zeroc.com/download.html download] and install Ice-''x.x.x''-VC60.msi. Go to ''C:\Ice-3.3.1-VC60\bin\'' and copy <br />
bzip2.dll <br />
ice33.dll <br />
iceutil33.dll <br />
msvcp60.dll <br />
msvcrt.dll <br />
php_ice.dll <br />
slice33.dll <br />
stlport_vc646.dll <br />
to ''C:\apache\bin'' . Now open ''C:\PHP5\php.ini'' and add the following two lines to the bottom of the file: <br />
extension=php_ice.dll<br />
ice.slice=C:\PHP5\Murmur.ice<br />
<br />
Now save and exit php.ini.<br />
<br />
After you have done all that, download [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/src/murmur/Murmur.ice?view=log Murmur.ice], [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/icedemo.php?view=log icedemo.php], and [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/weblist.php?view=log weblist.php] (Click the links, and on the Sourceforge page right click on "(download)" and select "Save Link As...".) Put Murmur.ice in ''C:\PHP5''. Put icedemo.php and weblist.php in ''C:\apache\htdocs''. <br />
<br />
Double click the Apache icon in the system tray and select "Restart".<br />
<br />
You now need at least one running Murmur server. Go to C:\Program Files\Mumble and double click murmur.exe and the server will start.<br />
<br />
You should now be able to go to http://<your IP or Domain>/icedemo.php (or weblist.php). Make SURE that you have icedemo.php protected so that only YOU can access it. If you do not want to use icedemo.php, [http://mumble.sourceforge.net/Running_Murmur#Web-Interfaces here] is a list of other web interfaces you can use.<br />
<br />
= Using Glacier2 =<br />
<br />
Glacier2 is a Ice routing and firewall utility, and allows you to securely run the server on one machine and murmur on another. Note that if both server and client are on a secure LAN, you can just use iptables to protect the Ice port, which is a lot easier than setting up Glacier2.<br />
<br />
The examples here assume that 1.2.3.4 is the public IP address of the server running Murmur. We're going to use the username "magic" with the password "pink".<br />
<br />
== Configuring Glacier2 ==<br />
<br />
Create a config file called config.glacier2 and put the following in it:<br />
Glacier2.Client.Endpoints=tcp -h 1.2.3.4 -p 4063<br />
Glacier2.SessionTimeout=60<br />
Glacier2.CryptPasswords=passwords.txt<br />
<br />
Your endpoint host should be the public IP that you are running Glacier on. If you don't specify a client via -h, then Glacier will bind to all listening interfaces.<br />
<br />
Then, create a password hash using the OpenSSL utility.<br />
openssl passwd pink<br />
this will spit out a hash, which looks something like CTThafhdv9Lz2<br />
<br />
Create a file called passwords.txt containing:<br />
magic CTThafhdv9Lz2<br />
<br />
Start glacier2 as this:<br />
glacier2router --Ice.Config=config.glacier2<br />
<br />
You will need to have Ice installed - http://zeroc.com/download.html glacier2router is a binary that is located in ''<location_of_Ice_installation>/bin/glacier2router.exe.''<br />
<br />
== Configuring Murmur ==<br />
<br />
There's nothing to do in murmur. Seriously. Leave the default setting of binding to 127.0.0.1 alone.<br />
<br />
== Configuring Client (PHP) ==<br />
<br />
This is where it starts getting slightly ugly. Note that this requires Ice >= 3.3.1, as Ice 3.3.0 has a bug in it which prevents this from working. The following is the adaptation necessary to weblist.php to get it to work:<br />
<br />
<pre><br />
try {<br />
$router = $ICE->stringToProxy("Glacier2/router:tcp -p 4063 -h 1.2.3.4");<br />
$router = $router->ice_uncheckedCast("::Glacier2::Router")->ice_router(null);<br />
$session = $router->createSession("magic", "pink");<br />
$base = $ICE->stringToProxy("Meta:tcp -h 127.0.0.1 -p 6502")->ice_router($router);<br />
$meta = $base->ice_checkedCast("::Murmur::Meta")->ice_router($router);<br />
<br />
...<br />
</pre><br />
<br />
For each object you get a proxy to (including the return from $meta->getServer), you need to add ->ice_router($router)<br />
<br />
== Configuring Client (Ruby) ==<br />
There is a set of classes for easily working with Ice directly and through Glacier available at [http://github.com/cheald/murmur-manager/tree/master/interfaces/ GitHub]. However, if you want to do it manually, it's not too hard.<br />
<br />
<pre><br />
glacierHost = "yourhost.com"<br />
glacierPort = 1234<br />
user = "glacieruser"<br />
pass = "glacierpass"<br />
server_id = 1<br />
<br />
prx = ic.stringToProxy("Glacier2/router:tcp -h #{glacierHost} -p #{glacierPort}")<br />
router = ::Glacier2::RouterPrx::uncheckedCast(prx).ice_router(nil)<br />
router.createSession(user, pass)<br />
meta = Murmur::MetaPrx::checkedCast(ic.stringToProxy("Meta:tcp -h #{host} -p #{port}")).ice_router(router)<br />
server = meta.getServer(server_id).ice_router(router)<br />
</pre><br />
<br />
For each object you get a proxy to (including the return from Murmur::MetaPrx::getServer), you need to add #ice_router(router)<br />
<br />
[[Category:Documentation]]<br />
[[Category:Documentation English]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Ice&diff=4225Ice2010-01-11T18:47:23Z<p>Cheald: /* Building Ice on Redhat/CentOS machines */</p>
<hr />
<div>Murmur supports remote scripting using [http://www.zeroc.com/ ZeroC Ice], a RPC mechanism. There are bindings for C++, Java, .NET, Python, PHP and Ruby, and this is supported on all our platforms (Win32, Linux and OSX). Ice also works over a network, meaning you can create a web application that interfaces with a murmur process running on another machine.<br />
<br />
= Getting ready to use Ice =<br />
<br />
You can download Ice directly from ZeroC. If you installed a binary version of Murmur, it already includes the necessary components for running Ice, but you might need additional tools to develop with it.<br />
<br />
To enable Ice in your murmur.ini configuration file first comment out<br />
dbus=session<br />
to disable dbus and add<br />
ice="tcp -h 127.0.0.1 -p 6502"<br />
to enable Ice for localhost on port 6502.<br />
<br />
To check if Ice in fact does listen, type<br />
netstat -apn | grep 6502<br />
<br />
== Ice Installation ==<br />
<br />
There are a number of binary packages available at [http://www.zeroc.com/download.html ZeroC's website]. If they are out of date, or do not work for you, then you will have to build it from source.<br />
<br />
== Building Ice on Redhat/CentOS machines ==<br />
<br />
1. Download and unpack ICE<br />
wget http://www.zeroc.com/download/Ice/3.3/Ice-3.3.1.tar.gz<br />
tar -xzf Ice-3.3.1.tar.gz<br />
<br />
2. Compile the ICE CPP bindings (these are required for all other bindings)<br />
You will need mcpp-devel from the Zeroc website installed to compile.<br />
http://www.zeroc.com/download.html - Ctrl-F and look for "mcpp-devel". There is a big package of various Ice RPMs to download. You will install a few dependencies, along with the mcpp-devel package. <br />
<br />
cd Ice-3.3.1/cpp<br />
make<br />
(wait 20 minutes)<br />
sudo make install<br />
<br />
3. Compile and install the Ice bindings for your preferred language. For example, to install Ruby bindings:<br />
cd ../rb<br />
make<br />
sudo make install<br />
<br />
4. Export the paths for your newly-installed libraries. These will be different for each language - check the INSTALL or README files in each language's subdirectory for exact instructions.<br />
<br />
For Ruby:<br />
<br />
export RUBYLIB=/opt/Ice-3.3.1/ruby:$RUBYLIB<br />
export LD_LIBRARY_PATH=/opt/Ice-3.3.1/lib:LD_LIBRARY_PATH<br />
<br />
If you don't want to always have to keep running those export lines, also add them to your ~/.bashrc:<br />
<br />
export RUBYLIB=/opt/Ice-3.3.1/ruby:$RUBYLIB<br />
export LD_LIBRARY_PATH=/opt/Ice-3.3.1/lib:LD_LIBRARY_PATH<br />
<br />
4. At this point, Ice should be available to your language (in this case, Ruby):<br />
<br />
$ irb<br />
irb(main):001:0> require 'Ice'<br />
=> true<br />
<br />
5. Generate the Slice file for your language.<br />
<br />
To generate it for ruby, we use the slice2rb program, which is in the Ice/cpp/bin directory. Similar binaries for your language of choice will be there, too.<br />
<br />
wget -O Murmur.ice "http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble/mumble;a=blob_plain;f=src/murmur/Murmur.ice;hb=HEAD"<br />
../cpp/bin/slice2rb Murmur.ice<br />
<br />
cp Murmur.rb #{MANAGER_ROOT}/vendor/ice<br />
<br />
Congrats! Ice should be set up and fully functional.<br />
<br />
== Apache and PHP ==<br />
<br />
If you want to use Ice from PHP, you'll have to add the extension to php and tell php where to find the Murmur.ice file.<br />
<br />
To add the IcePHP extension to php, first check that the file IcePHP.so for linux, or php_ice.dll for windows is in your php extensions folder specified in your php.ini as <br />
extension_dir = /usr/lib/php5/extensions<br />
If it is not, get the correspoding files from [http://www.zeroc.com/download.html ZeroCs downloads page].<br />
<br />
Then either in your php.ini file or in your /etc/php.d or /etc/php5/conf.d folder in ice.ini, add the line<br />
extension=IcePHP.so<br />
At least the linux rpms will do this automatically, so check that you're not doing it a second time.<br />
<br />
Second, you have to tell the PHP parser where to find the slice ('''S'''pecification '''L'''anguage for '''Ice''') file.<br />
Add<br />
ice.slice = /path/to/Murmur.ice<br />
to your php.ini or other config file (ice.ini).<br />
<br />
=== Troubleshooting ===<br />
If you encounter problems, check your apache log.<br />
<br />
If it tells you the php extension was compiled on an older api, you have to compile the IcePHP.so from source.<br />
<br />
Download Ice-3.3.0.tar.gz from [http://www.zeroc.com/download.html ZeroCs downloads page], untar, cd, cd into php, as written in the INSTALL file export ICE_HOME environment variable pointing to your ice install dir. If you installed it with an rpm, type<br />
export ICE_HOME=/usr<br />
then make, and in the lib folder, there'll be your IcePHP.so file.<br />
<br />
= Using Ice =<br />
<br />
How to use Ice differs from language to language. The parameters and method names will remain the same, but the syntax will naturally be different. Murmur will, by default, open up an adapter on port 6502 (or 10000 for homedir installs), which has a single accessible object named "Meta". This is the Meta server, and from it you can retrieve adapters for any configured server.<br />
<br />
There's an example included in the source; have a look at [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/icedemo.php?view=markup icedemo.php].<br />
<br />
The ice interface is fully documented, and you can browse the [http://mumble.sourceforge.net/slice generated documentation].<br />
<br />
= How to set up a Debian web server to work with ZeroC-Ice =<br />
<br />
These are example scripts. Use at your own risk.<br />
<br />
'''This guide is for debian 5.0 (lenny) -upgraded to date 06.04.2009-'''<br />
<br />
I assume you already have a working apache2 and php environment.<br />
<br />
<br />
'''Prerequisites'''<br />
<br />
First we need some essentials to aquire these execute the following in a root shell<br />
<br />
apt-get update<br />
<br />
apt-get install mumble-server icecpp libzeroc-ice32 php-zeroc-ice lzma<br />
<br />
These are namely the Mumble server himself (mumble-server), ZeroC Ice himself (icecpp), the ZeroC-Ice C++ runtime Library (libzeroc-ice32), the Ice PHP extension (php-zeroc-ice) and the lzma extractor.<br />
Be aware that this installs a older server version WITHOUT Ice support. We will fix this later on.<br />
<br />
Additionally we need the current Murmur, thats what the Mumble server is called, release.<br />
<br />
Go to http://mumble.sourceforge.net/ and download the latest stable Static Linux Server. I suggest your home directory for that.<br />
cd ~<br />
wget http://switch.dl.sourceforge.net/sourceforge/mumble/murmur-static_x86-1.1.8.tar.lzma<br />
unlzma -v murmur-static_x86-1.1.8.tar.lzma<br />
tar xfv murmur-static_x86-1.1.8.tar<br />
<br />
<br />
''' Step 1 - Murmur Setup'''<br />
<br />
OPTIONAL: To run Murmur at every startup change the config value in /etc/default/mumble-server acordingly with a editor of your choice.<br />
<br />
Now open the file /etc/mumble-server.ini<br />
vim /etc/mumble-server.ini<br />
OR<br />
nano -w /etc/mumble-server.ini <br />
Uncomemnt the line that starts with dbus=<br />
#dbus=system<br />
Create a new line and paste<br />
ice="tcp -h 127.0.0.1 -p 6502"<br />
Murmur now knows that he should listen for Ice requests.<br />
<br />
<br />
''' Step 2 - Manual update Murmur '''<br />
<br />
First of all why did we installed a old version first to replace it now?<br />
<br />
It's easy, we have much less to do. Anyway there is a downside.<br />
<br />
When the package is updated in the repository you will probably break your Ice support. But i think thats the best way and you can easily fix that just with replacing the murmurd binary again.<br />
<br />
You alread extracted the Static Linux Server to your home directory. Now we need some files from there.<br />
<br />
First replace the repository binary with the manually downloaded one.<br />
cd ~/murmur-static_x86-1.1.8<br />
chmod +x ./murmur.x86<br />
cp murmur.x86 /usr/sbin/murmurd<br />
Now copy the Ice specification for murmur.<br />
cp Murmur.ice /var/lib/mumble-server/Murmur.ice<br />
<br />
<br />
''' Step 3 - PHP Setup '''<br />
Now we need to tell the PHP-Ice Extension where the Ice specification file can be found.<br />
You should already have a file /etc/php5/conf.d/IcePHP.ini from your PHP module install.<br />
Open it with a editor.<br />
vim /etc/php5/conf.d/IcePHP.ini<br />
OR<br />
nano -w /etc/php5/conf.d/IcePHP.ini<br />
Paste the folowing in a new line at the end of the file<br />
ice.slice = /var/lib/mumble-server/Murmur.ice<br />
<br />
<br />
''' Step 4 - Reload and Check '''<br />
<br />
Everything needed should be done now let us populate your new settings.<br />
<br />
Restart your apache2.<br />
/etc/init.d/apache2 restart<br />
And start your Mumble server<br />
/etc/init.d/mumble-server start<br />
Now we will take a look in the mumble-server log to see if everything is fine.<br />
tail -n10 /var/log/mumble-server/mumble-server.log<br />
If you find a line similar to the following <br />
...<br />
<W>2009-04-06 13:37:11.316 MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running<br />
...<br />
everything is fine and you can now comunicate to Murmur over the IcePHP extension.<br />
<br />
''' Again be aware of that you can break your Ice support when the package gets an update in the repository! '''<br />
<br />
--[[User:xenonR|xenonR]] 13:02, 06 April 2009 (UTC)<br />
<br />
= How to set up a Windows web server and use the Ice php scripts =<br />
<br />
These are example scripts. Use at your own risk. These scripts are not intended for production machines. These are examples of what Ice can do. Note that if you already have a web server installed on the server you can adapt this guide to use it instead of installing Apache.<br />
<br />
First install [http://apache.mirror.facebook.com/httpd/binaries/win32/apache_2.2.11-win32-x86-openssl-0.9.8i.msi Apache]. Install it to ''C:\apache\''. <br />
<br />
Now install [http://www.php.net/get/php-5.2.8-win32-installer.msi/from/us.php.net/mirror PHP]. Tell PHP to install to ''C:\PHP5\''. In the installer on the "Web Server Setup" window select Apache 2.2.x Module. When you get to "Select Apache Configuration Directory" put ''C:\apache\conf\''. Proceed through the installer. Install the defaults, you do not need to install the extensions for PHP. <br />
<br />
Now [http://zeroc.com/download.html download] and install Ice-''x.x.x''-VC60.msi. Go to ''C:\Ice-3.3.1-VC60\bin\'' and copy <br />
bzip2.dll <br />
ice33.dll <br />
iceutil33.dll <br />
msvcp60.dll <br />
msvcrt.dll <br />
php_ice.dll <br />
slice33.dll <br />
stlport_vc646.dll <br />
to ''C:\apache\bin'' . Now open ''C:\PHP5\php.ini'' and add the following two lines to the bottom of the file: <br />
extension=php_ice.dll<br />
ice.slice=C:\PHP5\Murmur.ice<br />
<br />
Now save and exit php.ini.<br />
<br />
After you have done all that, download [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/src/murmur/Murmur.ice?view=log Murmur.ice], [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/icedemo.php?view=log icedemo.php], and [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/weblist.php?view=log weblist.php] (Click the links, and on the Sourceforge page right click on "(download)" and select "Save Link As...".) Put Murmur.ice in ''C:\PHP5''. Put icedemo.php and weblist.php in ''C:\apache\htdocs''. <br />
<br />
Double click the Apache icon in the system tray and select "Restart".<br />
<br />
You now need at least one running Murmur server. Go to C:\Program Files\Mumble and double click murmur.exe and the server will start.<br />
<br />
You should now be able to go to http://<your IP or Domain>/icedemo.php (or weblist.php). Make SURE that you have icedemo.php protected so that only YOU can access it. If you do not want to use icedemo.php, [http://mumble.sourceforge.net/Running_Murmur#Web-Interfaces here] is a list of other web interfaces you can use.<br />
<br />
= Using Glacier2 =<br />
<br />
Glacier2 is a Ice routing and firewall utility, and allows you to securely run the server on one machine and murmur on another. Note that if both server and client are on a secure LAN, you can just use iptables to protect the Ice port, which is a lot easier than setting up Glacier2.<br />
<br />
The examples here assume that 1.2.3.4 is the public IP address of the server running Murmur. We're going to use the username "magic" with the password "pink".<br />
<br />
== Configuring Glacier2 ==<br />
<br />
Create a config file called config.glacier2 and put the following in it:<br />
Glacier2.Client.Endpoints=tcp -h 1.2.3.4 -p 4063<br />
Glacier2.SessionTimeout=60<br />
Glacier2.CryptPasswords=passwords.txt<br />
<br />
Your endpoint host should be the public IP that you are running Glacier on. If you don't specify a client via -h, then Glacier will bind to all listening interfaces.<br />
<br />
Then, create a password hash using the OpenSSL utility.<br />
openssl passwd pink<br />
this will spit out a hash, which looks something like CTThafhdv9Lz2<br />
<br />
Create a file called passwords.txt containing:<br />
magic CTThafhdv9Lz2<br />
<br />
Start glacier2 as this:<br />
glacier2router --Ice.Config=config.glacier2<br />
<br />
You will need to have Ice installed - http://zeroc.com/download.html glacier2router is a binary that is located in ''<location_of_Ice_installation>/bin/glacier2router.exe.''<br />
<br />
== Configuring Murmur ==<br />
<br />
There's nothing to do in murmur. Seriously. Leave the default setting of binding to 127.0.0.1 alone.<br />
<br />
== Configuring Client (PHP) ==<br />
<br />
This is where it starts getting slightly ugly. Note that this requires Ice >= 3.3.1, as Ice 3.3.0 has a bug in it which prevents this from working. The following is the adaptation necessary to weblist.php to get it to work:<br />
<br />
<pre><br />
try {<br />
$router = $ICE->stringToProxy("Glacier2/router:tcp -p 4063 -h 1.2.3.4");<br />
$router = $router->ice_uncheckedCast("::Glacier2::Router")->ice_router(null);<br />
$session = $router->createSession("magic", "pink");<br />
$base = $ICE->stringToProxy("Meta:tcp -h 127.0.0.1 -p 6502")->ice_router($router);<br />
$meta = $base->ice_checkedCast("::Murmur::Meta")->ice_router($router);<br />
<br />
...<br />
</pre><br />
<br />
For each object you get a proxy to (including the return from $meta->getServer), you need to add ->ice_router($router)<br />
<br />
== Configuring Client (Ruby) ==<br />
There is a set of classes for easily working with Ice directly and through Glacier available at [http://github.com/cheald/murmur-manager/tree/master/interfaces/ GitHub]. However, if you want to do it manually, it's not too hard.<br />
<br />
<pre><br />
glacierHost = "yourhost.com"<br />
glacierPort = 1234<br />
user = "glacieruser"<br />
pass = "glacierpass"<br />
<br />
prx = ic.stringToProxy("Glacier2/router:tcp -h #{glacierHost} -p #{glacierPort}")<br />
router = ::Glacier2::RouterPrx::uncheckedCast(prx).ice_router(nil)<br />
router.createSession(user, pass)<br />
meta = Murmur::MetaPrx::checkedCast(ic.stringToProxy("Meta:#{conn}")).ice_router(router)<br />
server = meta.getServer(id).ice_router(router)<br />
</pre><br />
<br />
For each object you get a proxy to (including the return from Murmur::MetaPrx::getServer), you need to add #ice_router(router)<br />
<br />
[[Category:Documentation]]<br />
[[Category:Documentation English]]</div>Chealdhttps://wiki.mumble.info/index.php?title=Ice&diff=4224Ice2010-01-11T18:43:32Z<p>Cheald: Added RHEL build instructions and Ruby Glacier2 examples.</p>
<hr />
<div>Murmur supports remote scripting using [http://www.zeroc.com/ ZeroC Ice], a RPC mechanism. There are bindings for C++, Java, .NET, Python, PHP and Ruby, and this is supported on all our platforms (Win32, Linux and OSX). Ice also works over a network, meaning you can create a web application that interfaces with a murmur process running on another machine.<br />
<br />
= Getting ready to use Ice =<br />
<br />
You can download Ice directly from ZeroC. If you installed a binary version of Murmur, it already includes the necessary components for running Ice, but you might need additional tools to develop with it.<br />
<br />
To enable Ice in your murmur.ini configuration file first comment out<br />
dbus=session<br />
to disable dbus and add<br />
ice="tcp -h 127.0.0.1 -p 6502"<br />
to enable Ice for localhost on port 6502.<br />
<br />
To check if Ice in fact does listen, type<br />
netstat -apn | grep 6502<br />
<br />
== Ice Installation ==<br />
<br />
There are a number of binary packages available at [http://www.zeroc.com/download.html ZeroC's website]. If they are out of date, or do not work for you, then you will have to build it from source.<br />
<br />
== Building Ice on Redhat/CentOS machines ==<br />
<br />
1. Download and unpack ICE<br />
wget http://www.zeroc.com/download/Ice/3.3/Ice-3.3.1.tar.gz<br />
tar -xzf Ice-3.3.1.tar.gz<br />
<br />
2. Compile the ICE CPP bindings (these are required for all other bindings)<br />
You will need mcpp-devel from the Zeroc website installed to compile.<br />
http://www.zeroc.com/download.html - Ctrl-F and look for "mcpp-devel". There is a big package of various Ice RPMs to download. You will install a few dependencies, along with the mcpp-devel package. <br />
<br />
cd Ice-3.3.1/cpp<br />
make<br />
(wait 20 minutes)<br />
sudo make install<br />
<br />
3. Compile and install the Ice bindings for your preferred language. For example, to install Ruby bindings:<br />
cd ../rb<br />
make<br />
sudo make install<br />
<br />
4. Export the paths for your newly-installed libraries. These will be different for each language - check the INSTALL or README files in each language's subdirectory for exact instructions.<br />
<br />
For Ruby:<br />
<br />
export RUBYLIB=/opt/Ice-3.3.1/ruby:$RUBYLIB<br />
export LD_LIBRARY_PATH=/opt/Ice-3.3.1/lib:LD_LIBRARY_PATH<br />
<br />
If you don't want to always have to keep running those export lines, also add them to your ~/.bashrc:<br />
<br />
export RUBYLIB=/opt/Ice-3.3.1/ruby:$RUBYLIB<br />
export LD_LIBRARY_PATH=/opt/Ice-3.3.1/lib:LD_LIBRARY_PATH<br />
<br />
4. At this point, Ice should be available to your language (in this case, Ruby):<br />
<br />
$ irb<br />
irb(main):001:0> require 'Ice'<br />
=> true<br />
<br />
5. Generate the Slice file for your language.<br />
<br />
To generate it for ruby, we use the slice2rb program, which is in the Ice/cpp/bin directory. Similar binaries for your language of choice will be there, too.<br />
<br />
wget -O Murmur.ice "http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble/mumble;a=blob_plain;f=src/murmur/Murmur.ice;hb=HEAD"<br />
../cpp/bin/slice2rb Murmur.ice<br />
<br />
cp Murmur.rb #{MANAGER_ROOT}/vendor/ice<br />
<br />
Congrats! Ice should be set up and fully functional.<br />
<br />
== Apache and PHP ==<br />
<br />
If you want to use Ice from PHP, you'll have to add the extension to php and tell php where to find the Murmur.ice file.<br />
<br />
To add the IcePHP extension to php, first check that the file IcePHP.so for linux, or php_ice.dll for windows is in your php extensions folder specified in your php.ini as <br />
extension_dir = /usr/lib/php5/extensions<br />
If it is not, get the correspoding files from [http://www.zeroc.com/download.html ZeroCs downloads page].<br />
<br />
Then either in your php.ini file or in your /etc/php.d or /etc/php5/conf.d folder in ice.ini, add the line<br />
extension=IcePHP.so<br />
At least the linux rpms will do this automatically, so check that you're not doing it a second time.<br />
<br />
Second, you have to tell the PHP parser where to find the slice ('''S'''pecification '''L'''anguage for '''Ice''') file.<br />
Add<br />
ice.slice = /path/to/Murmur.ice<br />
to your php.ini or other config file (ice.ini).<br />
<br />
=== Troubleshooting ===<br />
If you encounter problems, check your apache log.<br />
<br />
If it tells you the php extension was compiled on an older api, you have to compile the IcePHP.so from source.<br />
<br />
Download Ice-3.3.0.tar.gz from [http://www.zeroc.com/download.html ZeroCs downloads page], untar, cd, cd into php, as written in the INSTALL file export ICE_HOME environment variable pointing to your ice install dir. If you installed it with an rpm, type<br />
export ICE_HOME=/usr<br />
then make, and in the lib folder, there'll be your IcePHP.so file.<br />
<br />
= Using Ice =<br />
<br />
How to use Ice differs from language to language. The parameters and method names will remain the same, but the syntax will naturally be different. Murmur will, by default, open up an adapter on port 6502 (or 10000 for homedir installs), which has a single accessible object named "Meta". This is the Meta server, and from it you can retrieve adapters for any configured server.<br />
<br />
There's an example included in the source; have a look at [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/icedemo.php?view=markup icedemo.php].<br />
<br />
The ice interface is fully documented, and you can browse the [http://mumble.sourceforge.net/slice generated documentation].<br />
<br />
= How to set up a Debian web server to work with ZeroC-Ice =<br />
<br />
These are example scripts. Use at your own risk.<br />
<br />
'''This guide is for debian 5.0 (lenny) -upgraded to date 06.04.2009-'''<br />
<br />
I assume you already have a working apache2 and php environment.<br />
<br />
<br />
'''Prerequisites'''<br />
<br />
First we need some essentials to aquire these execute the following in a root shell<br />
<br />
apt-get update<br />
<br />
apt-get install mumble-server icecpp libzeroc-ice32 php-zeroc-ice lzma<br />
<br />
These are namely the Mumble server himself (mumble-server), ZeroC Ice himself (icecpp), the ZeroC-Ice C++ runtime Library (libzeroc-ice32), the Ice PHP extension (php-zeroc-ice) and the lzma extractor.<br />
Be aware that this installs a older server version WITHOUT Ice support. We will fix this later on.<br />
<br />
Additionally we need the current Murmur, thats what the Mumble server is called, release.<br />
<br />
Go to http://mumble.sourceforge.net/ and download the latest stable Static Linux Server. I suggest your home directory for that.<br />
cd ~<br />
wget http://switch.dl.sourceforge.net/sourceforge/mumble/murmur-static_x86-1.1.8.tar.lzma<br />
unlzma -v murmur-static_x86-1.1.8.tar.lzma<br />
tar xfv murmur-static_x86-1.1.8.tar<br />
<br />
<br />
''' Step 1 - Murmur Setup'''<br />
<br />
OPTIONAL: To run Murmur at every startup change the config value in /etc/default/mumble-server acordingly with a editor of your choice.<br />
<br />
Now open the file /etc/mumble-server.ini<br />
vim /etc/mumble-server.ini<br />
OR<br />
nano -w /etc/mumble-server.ini <br />
Uncomemnt the line that starts with dbus=<br />
#dbus=system<br />
Create a new line and paste<br />
ice="tcp -h 127.0.0.1 -p 6502"<br />
Murmur now knows that he should listen for Ice requests.<br />
<br />
<br />
''' Step 2 - Manual update Murmur '''<br />
<br />
First of all why did we installed a old version first to replace it now?<br />
<br />
It's easy, we have much less to do. Anyway there is a downside.<br />
<br />
When the package is updated in the repository you will probably break your Ice support. But i think thats the best way and you can easily fix that just with replacing the murmurd binary again.<br />
<br />
You alread extracted the Static Linux Server to your home directory. Now we need some files from there.<br />
<br />
First replace the repository binary with the manually downloaded one.<br />
cd ~/murmur-static_x86-1.1.8<br />
chmod +x ./murmur.x86<br />
cp murmur.x86 /usr/sbin/murmurd<br />
Now copy the Ice specification for murmur.<br />
cp Murmur.ice /var/lib/mumble-server/Murmur.ice<br />
<br />
<br />
''' Step 3 - PHP Setup '''<br />
Now we need to tell the PHP-Ice Extension where the Ice specification file can be found.<br />
You should already have a file /etc/php5/conf.d/IcePHP.ini from your PHP module install.<br />
Open it with a editor.<br />
vim /etc/php5/conf.d/IcePHP.ini<br />
OR<br />
nano -w /etc/php5/conf.d/IcePHP.ini<br />
Paste the folowing in a new line at the end of the file<br />
ice.slice = /var/lib/mumble-server/Murmur.ice<br />
<br />
<br />
''' Step 4 - Reload and Check '''<br />
<br />
Everything needed should be done now let us populate your new settings.<br />
<br />
Restart your apache2.<br />
/etc/init.d/apache2 restart<br />
And start your Mumble server<br />
/etc/init.d/mumble-server start<br />
Now we will take a look in the mumble-server log to see if everything is fine.<br />
tail -n10 /var/log/mumble-server/mumble-server.log<br />
If you find a line similar to the following <br />
...<br />
<W>2009-04-06 13:37:11.316 MurmurIce: Endpoint "tcp -h 127.0.0.1 -p 6502" running<br />
...<br />
everything is fine and you can now comunicate to Murmur over the IcePHP extension.<br />
<br />
''' Again be aware of that you can break your Ice support when the package gets an update in the repository! '''<br />
<br />
--[[User:xenonR|xenonR]] 13:02, 06 April 2009 (UTC)<br />
<br />
= How to set up a Windows web server and use the Ice php scripts =<br />
<br />
These are example scripts. Use at your own risk. These scripts are not intended for production machines. These are examples of what Ice can do. Note that if you already have a web server installed on the server you can adapt this guide to use it instead of installing Apache.<br />
<br />
First install [http://apache.mirror.facebook.com/httpd/binaries/win32/apache_2.2.11-win32-x86-openssl-0.9.8i.msi Apache]. Install it to ''C:\apache\''. <br />
<br />
Now install [http://www.php.net/get/php-5.2.8-win32-installer.msi/from/us.php.net/mirror PHP]. Tell PHP to install to ''C:\PHP5\''. In the installer on the "Web Server Setup" window select Apache 2.2.x Module. When you get to "Select Apache Configuration Directory" put ''C:\apache\conf\''. Proceed through the installer. Install the defaults, you do not need to install the extensions for PHP. <br />
<br />
Now [http://zeroc.com/download.html download] and install Ice-''x.x.x''-VC60.msi. Go to ''C:\Ice-3.3.1-VC60\bin\'' and copy <br />
bzip2.dll <br />
ice33.dll <br />
iceutil33.dll <br />
msvcp60.dll <br />
msvcrt.dll <br />
php_ice.dll <br />
slice33.dll <br />
stlport_vc646.dll <br />
to ''C:\apache\bin'' . Now open ''C:\PHP5\php.ini'' and add the following two lines to the bottom of the file: <br />
extension=php_ice.dll<br />
ice.slice=C:\PHP5\Murmur.ice<br />
<br />
Now save and exit php.ini.<br />
<br />
After you have done all that, download [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/src/murmur/Murmur.ice?view=log Murmur.ice], [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/icedemo.php?view=log icedemo.php], and [http://mumble.svn.sourceforge.net/viewvc/mumble/trunk/scripts/weblist.php?view=log weblist.php] (Click the links, and on the Sourceforge page right click on "(download)" and select "Save Link As...".) Put Murmur.ice in ''C:\PHP5''. Put icedemo.php and weblist.php in ''C:\apache\htdocs''. <br />
<br />
Double click the Apache icon in the system tray and select "Restart".<br />
<br />
You now need at least one running Murmur server. Go to C:\Program Files\Mumble and double click murmur.exe and the server will start.<br />
<br />
You should now be able to go to http://<your IP or Domain>/icedemo.php (or weblist.php). Make SURE that you have icedemo.php protected so that only YOU can access it. If you do not want to use icedemo.php, [http://mumble.sourceforge.net/Running_Murmur#Web-Interfaces here] is a list of other web interfaces you can use.<br />
<br />
= Using Glacier2 =<br />
<br />
Glacier2 is a Ice routing and firewall utility, and allows you to securely run the server on one machine and murmur on another. Note that if both server and client are on a secure LAN, you can just use iptables to protect the Ice port, which is a lot easier than setting up Glacier2.<br />
<br />
The examples here assume that 1.2.3.4 is the public IP address of the server running Murmur. We're going to use the username "magic" with the password "pink".<br />
<br />
== Configuring Glacier2 ==<br />
<br />
Create a config file called config.glacier2 and put the following in it:<br />
Glacier2.Client.Endpoints=tcp -h 1.2.3.4 -p 4063<br />
Glacier2.SessionTimeout=60<br />
Glacier2.CryptPasswords=passwords.txt<br />
<br />
Your endpoint host should be the public IP that you are running Glacier on. If you don't specify a client via -h, then Glacier will bind to all listening interfaces.<br />
<br />
Then, create a password hash using the OpenSSL utility.<br />
openssl passwd pink<br />
this will spit out a hash, which looks something like CTThafhdv9Lz2<br />
<br />
Create a file called passwords.txt containing:<br />
magic CTThafhdv9Lz2<br />
<br />
Start glacier2 as this:<br />
glacier2router --Ice.Config=config.glacier2<br />
<br />
You will need to have Ice installed - http://zeroc.com/download.html glacier2router is a binary that is located in ''<location_of_Ice_installation>/bin/glacier2router.exe.''<br />
<br />
== Configuring Murmur ==<br />
<br />
There's nothing to do in murmur. Seriously. Leave the default setting of binding to 127.0.0.1 alone.<br />
<br />
== Configuring Client (PHP) ==<br />
<br />
This is where it starts getting slightly ugly. Note that this requires Ice >= 3.3.1, as Ice 3.3.0 has a bug in it which prevents this from working. The following is the adaptation necessary to weblist.php to get it to work:<br />
<br />
<pre><br />
try {<br />
$router = $ICE->stringToProxy("Glacier2/router:tcp -p 4063 -h 1.2.3.4");<br />
$router = $router->ice_uncheckedCast("::Glacier2::Router")->ice_router(null);<br />
$session = $router->createSession("magic", "pink");<br />
$base = $ICE->stringToProxy("Meta:tcp -h 127.0.0.1 -p 6502")->ice_router($router);<br />
$meta = $base->ice_checkedCast("::Murmur::Meta")->ice_router($router);<br />
<br />
...<br />
</pre><br />
<br />
For each object you get a proxy to (including the return from $meta->getServer), you need to add ->ice_router($router)<br />
<br />
== Configuring Client (Ruby) ==<br />
There is a set of classes for easily working with Ice directly and through Glacier available at [http://github.com/cheald/murmur-manager/tree/master/interfaces/ GitHub]. However, if you want to do it manually, it's not too hard.<br />
<br />
<pre><br />
glacierHost = "yourhost.com"<br />
glacierPort = 1234<br />
user = "glacieruser"<br />
pass = "glacierpass"<br />
<br />
prx = ic.stringToProxy("Glacier2/router:tcp -h #{glacierHost} -p #{glacierPort}")<br />
router = ::Glacier2::RouterPrx::uncheckedCast(prx).ice_router(nil)<br />
router.createSession(user, pass)<br />
meta = Murmur::MetaPrx::checkedCast(ic.stringToProxy("Meta:#{conn}")).ice_router(router)<br />
server = meta.getServer(id).ice_router(router)<br />
</pre><br />
<br />
For each object you get a proxy to (including the return from Murmur::MetaPrx::getServer), you need to add #ice_router(router)<br />
<br />
[[Category:Documentation]]<br />
[[Category:Documentation English]]</div>Cheald