Mumble client in Node.js
Switch branches/tags
Nothing to show
Clone or download
Rantanen Merge pull request #109 from Prior99/patch-2
Fix missing update for 'deaf' on User
Latest commit ce09f35 Sep 1, 2018

Mumble client for Node.js

Build Status Code Climate

This module implements mumble protocol handling for Node.js


npm install mumble


var mumble = require('mumble'),
    fs = require('fs');

var options = {
    key: fs.readFileSync( 'key.pem' ),
    cert: fs.readFileSync( 'cert.pem' )

console.log( 'Connecting' );
mumble.connect( 'mumble://', options, function ( error, connection ) {
    if( error ) { throw new Error( error ); }

    console.log( 'Connected' );

    connection.authenticate( 'ExampleUser' );
    connection.on( 'initialized', onInit );
    connection.on( 'voice', onVoice );

var onInit = function() {
    console.log( 'Connection initialized' );

    // Connection is authenticated and usable.

var onVoice = function( voice ) {
    console.log( 'Mixed voice' );

    var pcmData = voice;

Use openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem to generate the certificate.

Take a look at the advanced example in "examples/advanced.js"!

Please also take a look at the wiki for an complete documentation of the API.


Pull requests, found issues, etc. are welcome. The authors are tracked in the AUTHORS file. This file is kept up to date manually so authors are encouraged to pull request the necessary changes to the AUTHORS themselves.

Running tests

Tests can be executed with mocha. By default the tests are executed against local (localhost) Mumble server in the default port. To use a remote server or non-default port, launch mocha with MUMBLE_URL environment variable set: mocha

Related Projects