Свой сервер

Сервер Mumble на Windows, macOS или Linux примерно за десять минут.

MumbleWay работает с любым сервером Mumble. Серверная программа так и называется — Mumble Server (раньше — Murmur). Исполняемый файл обычно называется mumble-server, а в сборках постарше — murmurd.

Понадобится одно из трёх:

Порт 64738, TCP и UDP. По TCP идёт управление, по UDP — голос. Если UDP закрыт, голос пойдёт по TCP: работать будет, но задержка вырастет. Пробросьте оба.

Linux

Самое привычное место для сервера Mumble, и возни здесь меньше всего.

Debian, Ubuntu, Raspberry Pi OS

sudo apt update
sudo apt install mumble-server

# Задаёт пароль SuperUser и включает автозапуск службы.
sudo dpkg-reconfigure mumble-server

Конфигурация лежит в /etc/mumble-server.ini (в старых пакетах — /etc/murmur.ini). После правки:

sudo systemctl restart mumble-server
sudo systemctl status mumble-server

Fedora, RHEL

sudo dnf install mumble-server
sudo systemctl enable --now mumble-server
sudo mumble-server -supw ВАШ_ПАРОЛЬ_SUPERUSER

Docker, где угодно

docker run -d --name mumble \
  -p 64738:64738 -p 64738:64738/udp \
  -v mumble-data:/data \
  --restart unless-stopped \
  mumblevoip/mumble-server:latest

Задайте пароль SuperUser при первом запуске:

docker exec -it mumble mumble-server -supw ВАШ_ПАРОЛЬ_SUPERUSER

Windows

  1. Скачайте пакет сервера с mumble.info/downloads — это отдельная загрузка, не клиент.
  2. Установите его. Установщик предложит запускать сервер как службу Windows; согласитесь, если хотите, чтобы он поднимался после перезагрузки.
  3. Настройте murmur.ini (или mumble-server.ini) рядом с исполняемым файлом либо в %ProgramFiles%\Mumble\.
  4. Задайте пароль SuperUser из консоли администратора:
cd "C:\Program Files\Mumble"
.\mumble-server.exe -supw ВАШ_ПАРОЛЬ_SUPERUSER
  1. Разрешите его в брандмауэре — оба протокола:
New-NetFirewallRule -DisplayName "Mumble TCP" -Direction Inbound `
  -Protocol TCP -LocalPort 64738 -Action Allow
New-NetFirewallRule -DisplayName "Mumble UDP" -Direction Inbound `
  -Protocol UDP -LocalPort 64738 -Action Allow

В старых выпусках исполняемый файл назывался murmur.exe, в новых — mumble-server.exe. Используйте тот, что лежит в папке.

macOS

Homebrew — наименее болезненный путь:

brew install mumble-server
brew services start mumble-server

Задайте пароль SuperUser:

mumble-server -supw ВАШ_ПАРОЛЬ_SUPERUSER

Файл конфигурации лежит внутри префикса Homebrew — /opt/homebrew/etc/ на Apple Silicon и /usr/local/etc/ на Intel. brew info mumble-server печатает точные пути для вашей установки.

Домашний Mac вполне годится на роль сервера, но засыпать ему нельзя: Системные настройки → Экономия энергии, отключить сон.

Настройки, которые стоит поменять

В mumble-server.ini / murmur.ini:

Настройка Что поставить Зачем
welcometext Название вашей группы Показывается при подключении.
serverpassword Любой, если сервер доступен из интернета Самая простая защита, какая бывает.
port 64738 Стандартный порт Mumble. Меняйте, только если иначе никак.
users 20 Ограничьте число участников — оставлять его без предела незачем.
bandwidth 72000 Бит в секунду на человека — для Opus с запасом. Снизьте, если исходящий канал узкий.
registerName Название вашей группы Имя корневого канала.
registerUrl, registerHostname оставить пустыми Заполните их — и сервер попадёт в публичный каталог. Оставьте пустыми, чтобы его там не было.
allowping false Чтобы посторонние не могли узнать, сколько человек на сервере.
sslCert, sslKey Пути к настоящему сертификату Необязательно: без него клиенты просто запомнят самоподписанный сертификат при первом подключении.

Подключение из MumbleWay

  1. Добавьте сервер в приложении.
  2. Адрес — ваш внешний IP, имя динамического DNS или адрес VPS.
  3. Порт — 64738, если вы его не меняли.
  4. Имя пользователя — любое: под ним вас увидят в канале.
  5. Пароль — serverpassword, если вы его задали.

Дальше раздайте адрес группе: откройте QR-код сервера в приложении и дайте его отсканировать — всяко лучше, чем диктовать IP-адрес через шлем.

Регистрация участников. Зайдите один раз с настольного клиента Mumble под именем SuperUser с заданным паролем и зарегистрируйте всех. Mumble узнаёт людей по клиентскому сертификату, а не по паролю, так что дальше зарегистрированный участник опознаётся автоматически — потому и стоит беречь Идентификацию в приложении.

Форма добавления сервера: отображаемое имя, адрес, порт, имя
              пользователя и необязательный пароль, а также кнопки для
              просмотра публичных серверов, импорта файла и сканирования
              QR-кода.
Ввести один раз — или отсканировать QR-код из приложения.
Та же форма на iPhone, уже заполненная по ссылке mumble://:
              отображаемое имя, адрес, порт и имя пользователя, ниже кнопка
              добавления.
Или перейти по ссылке mumble:// — форма заполнится сама.

Администрирование прямо из приложения

Чтобы вести сервер изо дня в день, настольный клиент Mumble не нужен. Всё, что ниже, есть в MumbleWay — на телефоне, в перчатках, на заправке, если так вышло.

Каждое действие — это просьба, в которой сервер вправе отказать. Поэтому приложение гасит то, чего вам нельзя, и показывает отказ словами самого сервера, а не делает вид, что получилось.

Участник

⋯ рядом с человеком в канале:

Пункт Что делает
Заглушить на сервере (для всех), Отключить звук на сервере Глушит его для всего канала, а не только для вас. Нужны права Mute/Deafen на этом канале.
Перевести в канал Переносит в другой канал — обычное лекарство для того, кто сидит в канале, который не передаёт его голос.
Сделать приоритетным Приглушает остальных, пока он говорит. Для ведущего группы.
Зарегистрировать на сервере Заводит ему учётную запись: в следующий раз сервер узнает его по сертификату, и на него можно будет сослаться в списке доступа.
Отключить от сервера… Отсоединяет, с необязательной причиной, которую ему покажут. Вернуться он может сразу же.
Забанить на сервере Убирает и закрывает вход по адресу и по сертификату, так что новым подключением это не обойти.
Сведения Что сервер готов о нём рассказать: клиент, система, адрес, сертификат — и только тому, кому позволено спрашивать.

Сервер

⋯ на карточке сервера:

Канал

⋯ в строке канала — и теперь он рисуется по каждому каналу отдельно: там, где вам можно писать, меню есть, где нельзя — нет, независимо от того, где вы стоите:

Списки доступа

Права в канале «…» показывают правила канала в том порядке, в каком их применяет сервер, и каждое прямо говорит, что оно разрешает или запрещает, кому — группе или одному человеку — и где: Здесь или И ниже.

Правила, унаследованные от родительского канала, показаны серым с пометкой из родительского канала: они принадлежат тому каналу, где заданы, и правятся там. Выключите Применять ещё и правила родительского канала — и они перестанут действовать, а заодно и показываться: список правил, которые больше ни на что не влияют, только путает.

Группы — это имена, которым правило может дать права. В группе может быть только тот, у кого есть учётная запись на этом сервере, — поэтому Зарегистрировать на сервере обычно идёт первым шагом. Группа может Брать участников из канала выше и оставаться доступной: Каналы ниже могут пользоваться этой группой.

Murmur ограничивает частоту записи списка доступа. Две подряд — и вторую он отклонит. Приложение перечитывает список на своём такте проверки, а не сразу после записи, так что дайте ему мгновение, прежде чем ждать в списке то, что вы только что сохранили.

Что из вашего текста видят райдеры

Две настройки из таблицы выше читает каждый, кто подключается, и MumbleWay показывает обе.

В welcometext можно писать HTML, и ссылки в нём работают. Напишите ссылку — и по ней можно будет нажать:

welcometext=Настройте рацию — <a href="https://example.test/ptt">вот как, с картинками</a>

Ссылками становятся только http, https и mailto. Всё остальное — javascript:, file: и даже mumble: — остаётся обычным текстом: приветствие пишете вы, а нажатие, которое добавило бы райдеру сервер или прокси прямо из фразы, он не выбирал.

Описание канала тоже показывается — под тем каналом, где райдер стоит, и под каждым, который он слушает. Не под всеми подряд: абзац у каждой строки похоронил бы сам список. Ссылки в описании работают так же. Сюда стоит написать, для чего канал: штатный клиент Mumble показывает описание при выборе канала, так что текст пригодится и там, и здесь.

Редактор на Qt дописывает в каждое сохранённое описание блок <style>. MumbleWay его выбрасывает, а не рисует — поэтому описание, написанное в штатном клиенте, читается здесь как текст, а не как таблица стилей.

Канал, в котором говорить нельзя, помечен. Там, где ваш список доступа не даёт право Speak, в строке появляется перечёркнутый микрофон — райдер видит это до того, как перейдёт, а не после. А если он уже там, на карточке сервера появляется сообщение, что канал не передаёт его голос и что помогает переход, и кнопка микрофона становится янтарной и перестаёт быть переключателем: это не его молчание и снять его он не может.

Карточка сервера на телефоне: янтарное сообщение о том, что канал не передаёт голос и что нужно перейти в другой или спросить того, кто ведёт сервер; ниже строка Root с перечёркнутым микрофоном рядом со счётчиком участников, а под ней описание канала, в котором одно слово оформлено как нажимаемая ссылка.
Всё сразу: сообщение для того, кто там стоит, пометка в строке и описание со ссылкой.

Дальше

Здесь описано ровно столько, чтобы группа заговорила. В Mumble есть куда больше: списки доступа и группы, права на каналы, администрирование через Ice/gRPC, боты, позиционный звук, вход через LDAP.

Документация Mumble →
Настройка сервера, администрирование и сам протокол, от проекта Mumble. На английском языке.

mumble.info →
Загрузки, сообщество и новости.