什么是 Mumble
Open Source, Low Latency, High Quality Voice Chat
开源、低延迟、高质量的语音聊天软件
安装 Murmur
Murmur 是 Mumble 的服务端名称,在新版本中更名为 Mumble Server
手动安装
1 | wget https://github.com/mumble-voip/mumble/releases/download/1.3.4/murmur-static_x86-1.3.4.tar.bz2 |
创建用户组
1 | sudo groupadd -r murmur |
在 /etc/systemd/system/
中新建 murmur.service
,并键入以下内容,用于创建 Murmur 服务
1 | [Unit] |
在 /etc/tmpfiles.d/
中新建 murmur.conf
,并键入以下内容
1 | d /var/run/murmur 775 murmur murmur |
为防止日志过多,最好进行日志轮换,在 /etc/logrotate.d/
中新建 murmur
,并键入以下内容
1 | /var/log/murmur/*log { |
其他安装方式
CentOS
CentOS 7 中可以使用 yum 指令安装 Murmur
Murmur 在默认的 CentOS 7 库中不存在,因此需安装 EPEL 库
1 | sudo yum install epel-release |
执行下面指令安装 Murmur
1 | yum installl murmur |
Ubuntu
Ubuntu 下可以使用 apt 指令安装 Murmur
先增加仓库
1 | sudo add-apt-repository ppa:mumble/release |
安装 mumble server
1 | sudo apt-get install mumble-server |
进入基本配置向导
1 | sudo dpkg-reconfigure mumble-server |
其中,会依次配置 自启动
- 网络优先级
- SuperUser 密码
等
配置 Murmur
修改 Murmur 配置文件,通常位于 /etc/
下,名为 murmur.ini
或 mumble-server.ini
1 | database=/var/lib/murmur/murmur.sqlite # 服务器数据库存储位置 |
在防火墙中打开 64738 的 TCP 和 UDP 端口
1 | # CentOS |
如果使用阿里云等服务商,还需在控制台中放行 64738 的 TCP 和 UDP 端口
启动 Murmur
输入以下指令启动 Murmur
1 | sudo systemctl start murmur.service # 服务名根据自己实际情况修改 |
输入以下指令关闭 Murmur
1 | sudo systemctl stop murmur.service |
连接至 Murmur
普通用户
下载 Mumble 客户端,然后在 服务器
- 连接
中添加服务器
- 地址:mumble.demo.com
- 端口:64738
- 用户名:你的用户名(在服务器中显示的名字)
- 别名:对这个连接的备注
点击确认后连接即可
超级用户
设置超级用户的密码
1 | /usr/local/murmur/murmur.x86 -ini /etc/murmur.ini -supw superuserpassword [srv] |
在 服务器
- 连接
中添加服务器
- 地址:mumble.demo.com
- 端口:64738
- 用户名:SuperUser
- 密码:你的密码
- 别名:对这个连接的备注
点击确认后连接即可
注意,超级用户强制禁言且不可更改名称
相关问题
使用域名连接报错
如果 Murmur 使用了没有进行 ICP 备案的域名,在连接时可能会误遭到拦截并出现如下报错:
1 | Connection closed: The remote host closed the connection [1] # 服务端报错 |
由于这个报错没头没尾的,整的我压根不清楚是什么出了问题
我一开始以为是我 DNS 有问题,或者我 Murmur 配置有问题,最后在我朋友 @NaCl 的帮助下才发现是因为我用的域名没有备案
具体报错分析移步该文章
关于该问题,有如下几种解决方法:
- 对域名进行 ICP 备案
- 把服务器迁移到大陆之外
- 改为使用 IP 进行访问
注册用户的数据迁移问题
注册用户在更换设备时数据会丢失,是因为 Mumble 对用户的认证是通过证书,而不是通过 ID。因此即使在新设备上使用原 ID 仍不能将数据迁移过去,甚至可能会因证书不匹配而拒绝连接
解决方法:
在旧设备上选择 配置
- 证书向导
- 导出当前证书
,将导出的证书复制到新设备
在新设备上选择 配置
- 证书向导
- 导入证书
,将复制过来的证书导入进去即可