Mumble is an open-source, low-latency, high quality voice chat software.
Go to file
Robert Adam b3dd3d3f79 CHANGE(server): Remove gRPC implementation
The gRPC implementation never left the experimental state and never
reached a properly stable state to the point where we would feel good
about enabling it by default. In addition to that, there has been no
further attempts at finding and fixing the encountered issues in the
implementation (except #3947 but that was discontinued).

As such we had an essentially unmaintained piece of code in our server
implementation that was known to be buggy and that nobody wanted to fix.
In addition to that the implementation itself could not be considered
very clean or elegant and therefore only represented a few smelly
corners in our code base.

For this reason, we decided to remove the gRPC support entirely from
Mumble (for now).

What we hope to gain by that is:
- Prevent people from building unstable server versions and then coming
to us complaining that it crashed/misbehaved
- Removing (essentially) dead code
- Reduce the RPC implementation complexity

That last piece is crucial: By removing gRPC support we reduce the
amount of supported RPC frameworks to only one (ignoring DBus for now).
Our future plans include a refactoring of how RPC is being handled and
implemented and only having to worry about maintaining compatibility
with one RPC system is much easier than having to worry about two (with
(slightly) different APIs).
Once the RPC implementation has been rewritten, more RPC backends may be
reintroduced and in that process we might investigate adding a proper
gRPC implementation to the code (that then hopefully is more stable than
the current one).

Fixes #4567
Fixes #4197
Fixes #3496
Fixes #3429
Fixes #3265
2022-03-16 08:23:38 +01:00
.ci CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
.github CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
.tx Add transifex client configuration for project. 2014-04-27 03:20:48 +02:00
3rdparty Merge PR #5531: CHANGE(client): Use JSON file for storing settings 2022-02-11 18:47:11 +01:00
3rdPartyLicenses FORMAT: Removed CRLF line endings 2021-03-28 20:17:24 +02:00
cmake CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
docs CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
g15helper MAINT: Update copyright to 2022 2022-01-04 20:17:33 +01:00
helpers/vcpkg/ports/zeroc-ice MAINT: Update copyright to 2022 2022-01-04 20:17:33 +01:00
icons MAINT: Added Mumble PNG image 2020-10-18 09:15:58 +02:00
installer FIX(installer): Re-add URL protocol registration registry keys on install 2022-01-26 14:29:03 -06:00
macx MAINT(client): Remove SBCELT leftovers 2022-01-22 11:36:52 +03:00
man MAINT(manpages): Replace murmur with mumble-server 2022-02-07 08:32:23 +01:00
overlay MAINT: Update copyright to 2022 2022-01-04 20:17:33 +01:00
overlay_gl BUILD(client, overlay): Require libGL includes 2022-02-06 18:47:52 +01:00
overlay_winx64 BUILD: Use build number instead of patch version 2021-11-28 20:12:06 +01:00
plugins BUILD(positional-audio): Fix missing <memory> include 2022-02-27 17:24:07 +00:00
samples Add sound for recording state change notifications 2010-08-25 23:24:37 +02:00
screenshots MAINT(docs): the Game bar trigger must be disabled for the guide button to work 2020-10-10 21:08:22 +02:00
scripts CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
src CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
themes Merge PR #5455: CHANGE(ui): Make lock icons fit with other icons 2022-02-06 18:57:19 +01:00
.appveyor.yml CI(appveyor): Enable shortcut elevation for signed builds 2022-02-06 19:09:58 +01:00
.backportrc.json MAINT: Add config for backport CLI 2021-05-30 13:45:15 +02:00
.cirrus.yml CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
.clang-format MAINT: Added clang-format support 2020-09-11 18:28:38 +02:00
.gitignore MAINT: Ignore local Visual Studio CMake settings file CMakeSettings.json 2021-03-19 23:56:19 +01:00
.gitmodules CHANGE(client): Use JSON file for storing settings 2022-02-07 20:00:41 +01:00
.mailmap Added aliases of Robert Adam 2020-01-28 12:47:16 +01:00
CMakeLists.txt CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
CODE_OF_CONDUCT.md MAINT: Add Code of Conduct 2021-04-07 19:58:21 +02:00
CODING_GUIDELINES.md MAINT: Add coding guidelines 2021-07-24 20:21:11 +02:00
COMMIT_GUIDELINES.md CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
Dockerfile CHANGE(server): Remove gRPC implementation 2022-03-16 08:23:38 +01:00
Doxyfile Doxyfile: set "EXTRACT_ALL" to "YES" 2019-12-26 20:27:52 +01:00
LICENSE MAINT: Update copyright notice to 2022 2022-01-23 14:41:25 +03:00
README.md DOCS: Fix typos 2022-02-06 18:27:12 +01:00
SECURITY.md Add link to advisories in SECURITY.md 2020-05-31 16:39:12 +02:00

Mumble screenshot

Mumble - Open Source voice-chat software

https://www.mumble.info

#mumble:matrix.org

Codacy Azure Cirrus CI Travis CI

Mumble is an Open Source, low-latency and high-quality voice-chat program written on top of Qt and Opus.

There are two modules in Mumble; the client (mumble) and the server (murmur). The client works on Windows, Linux, FreeBSD, OpenBSD and macOS, while the server should work on anything Qt can be installed on.

Please note that with "Windows" we mean 7 and newer. Vista may be supported, but we can't guarantee it. If you don't want to encounter potential issues, you may download Mumble 1.3.x, the last version to provide support for XP.

The documentation of the project can be found on the wiki. The FAQ can also be found there.

Contributing

We always welcome contributions to the project. If you have code that you would like to contribute, please go ahead and create a PR. While doing so, please try to make sure that you follow our commit guidelines.

If you are new to the Mumble project, you may want to check out the general introduction to the Mumble source code.

Translating

Mumble supports various languages. We are always looking for qualified people to contribute translations.

We are using Weblate as a translation platform. Register on Weblate, and join our translation project.

Writing plugins

Mumble supports general-purpose plugins that can provide functionality that is not implemented in the main Mumble application. You can find more information on how this works and on how these have to be created in the plugin documentation.

Building

For information on how to build Mumble, checkout the dedicated documentation.

Reporting issues

If you want to report a bug or create a feature-request, you can open a new issue (after you have checked that there is none already) on GitHub.

Windows

Running Mumble

After installation, you should have a new Mumble folder in your Start Menu, from which you can start Mumble.

Running Murmur

Doubleclick the Murmur icon to start murmur. There will be a small icon on your taskbar from which you can view the log.

To set the superuser password, run murmur with the parameters -supw <password>.

MacOS

Running Mumble

To install Mumble, drag the application from the downloaded disk image into your /Applications folder.

Running Murmur

Murmur is distributed separately from the Mumble client on MacOS. It is called Static OS X Server and can be downloaded from the main webpage.

Once downloaded it can be run in the same way as on any other Unix-like system. For more information please see the "Running Murmur" in the Linux/Unix section below.

Linux/Unix

Running Mumble

If you have installed Mumble through your distributon's package repository, you should be able to find Mumble in your start menu. No additional steps necessary.

Running Murmur

Murmur should be run from the command line, so start a shell (command prompt) and go to wherever you installed Mumble. Run murmur as

murmurd [-supw <password>] [-ini <inifile>] [-fg] [v]

-supw   Set a new password for the user SuperUser, which is hardcoded to
        bypass ACLs. Keep this password safe. Until you set a password,
        the SuperUser is disabled. If you use this option, murmur will
        set the password in the database and then exit.

-ini    Use an inifile other than murmur.ini, use this to run several instances
        of murmur from the same directory. Make sure each instance is using
        a separate database.

-fg     Run in the foreground, logging to standard output.

-v      More verbose logging.

Build and run from Docker

On recent Docker versions you can build images directly from sources on GitHub:

docker build --pull -t mumble-server github.com/mumble-voip/mumble#master

Example --pulls each time to check for updated base image, then downloads and builds master branch.

OpenGL Overlay

The OpenGL overlay works by intercepting the call to switch buffers, and just before the buffer switch, we draw our nice GUI.

To load a game with the overlay enabled, start the game like this:

LD_PRELOAD=/path/to/libmumble.so.1.1 gamename

If you have Mumble installed through the binary packages, this can be done by simply typing:

mumble-overlay gamename