{"id":48629,"library":"mumble-client-websocket","title":"Mumble-Client-WebSocket","description":"WebSocket transport protocol for the Mumble voice chat client library. Version 1.0.0 provides a callback/Promise-based interface to connect to Mumble servers via WebSockets. Works in Node.js and browsers. Key differentiator: browser support via WebSocket transport (mumble-client also supports TCP). Low maintenance: last release 2015; no versioned changelog.","status":"abandoned","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/johni0702/mumble-client-websocket","tags":["javascript"],"install":[{"cmd":"npm install mumble-client-websocket","lang":"bash","label":"npm"},{"cmd":"yarn add mumble-client-websocket","lang":"bash","label":"yarn"},{"cmd":"pnpm add mumble-client-websocket","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: provides the core Mumble protocol implementation, authentication, and audio codecs. This module only provides the WebSocket transport layer.","package":"mumble-client","optional":false}],"imports":[{"note":"Default export is a function. ES import syntax requires default import.","wrong":"const { connect } = require('mumble-client-websocket')","symbol":"default","correct":"import connect from 'mumble-client-websocket'"},{"note":"CommonJS default export is directly assigned to module.exports, not an object with .default.","wrong":"const mumble = require('mumble-client-websocket').default","symbol":"connect","correct":"const connect = require('mumble-client-websocket')"},{"note":"Protocol must be 'wss://' (secure WebSocket) in browser environments; insecure 'ws://' may be blocked. The function returns a Promise if no callback is provided.","wrong":"connect('ws://host:port', options, callback)","symbol":"Promise usage","correct":"connect('wss://host:port', options).then(client => {}).catch(err => {})"}],"quickstart":{"code":"import connect from 'mumble-client-websocket'\n\n// Replace with your Mumble server WebSocket URL and credentials\nconst url = process.env.MUMBLE_URL ?? 'wss://voice.example.com:64737'\nconst options = {\n  username: process.env.MUMBLE_USER ?? 'Bot',\n  password: process.env.MUMBLE_PASS ?? ''\n}\n\ntry {\n  const client = await connect(url, options)\n  console.log('Connected! Welcome message:', client.welcomeMessage)\n  console.log('Assigned username:', client.self?.username)\n} catch (err) {\n  console.error('Connection failed:', err)\n}","lang":"typescript","description":"Connects to a Mumble server via WebSocket using async/await. Uses environment variables for credentials (fallback placeholders). Shows welcome message and username on success."},"warnings":[{"fix":"Use mumble-client's TCP transport for traditional Mumble connections, or configure your server (e.g., Murmur) to enable WebSocket.","message":"The module only supports WebSocket transport (not TCP). Ensure your Mumble server exposes a WebSocket endpoint (typically port 64738).","severity":"gotcha","affected_versions":"all"},{"fix":"Install @types/mumble-client if available, or declare module augmentation.","message":"No TypeScript type definitions are provided. All types come from mumble-client.","severity":"breaking","affected_versions":"all"},{"fix":"Consider migrating to a maintained alternative or forking. Check mumble-client status.","message":"Last release in 2015; unmaintained. No security updates or compatibility with modern Mumble protocol versions.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Always provide a callback OR use .then()/.catch() – never both.","message":"The connect function expects a callback with two arguments (err, client) but returns a Promise only if the callback is omitted. Mixing patterns causes silent failures.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.0.0':16 '2015':50 'also':43 'browser':32,35 'callback/promise-based':19 'changelog':53 'chat':12 'client':3,13,42 'connect':22 'differenti':34 'interfac':20 'javascript':54 'key':33 'last':48 'librari':14 'low':46 'mainten':47 'mumbl':2,10,24,41 'mumble-cli':40 'mumble-client-websocket':1 'node.js':30 'protocol':7 'provid':17 'releas':49 'server':25 'support':36,44 'tcp':45 'transport':6,39 'version':15,52 'via':26,37 'voic':11 'websocket':4,5,27,38 'work':28","created_at":"2026-06-07T16:57:37.511736+00:00","updated_at":"2026-06-07T16:57:37.511736+00:00","problems":[{"fix":"npm install mumble-client mumble-client-websocket","cause":"Missing required peer package mumble-client.","error":"Error: No 'mumble-client' peer dependency installed."},{"fix":"const connect = require('mumble-client-websocket'); // no destructuring","cause":"Incorrect import in CommonJS (e.g., using destructuring on a default export).","error":"TypeError: connect is not a function"},{"fix":"Use 'wss://' URL for the Mumble WebSocket endpoint.","cause":"Using 'ws://' in a browser context; modern browsers block insecure WebSocket on secure pages.","error":"SecurityError: The operation is insecure."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/johni0702/mumble-client-websocket#readme","github":"https://github.com/johni0702/mumble-client-websocket","docs":null,"changelog":null,"pypi":null,"npm":"mumble-client-websocket","openapi_spec":null,"status_page":null,"smithery":null,"categories":["communication"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}