
语音开黑软件Mumble的部署与使用
阿呆什么是Mumble?
Mumble是一款开源的语音通信软件,专为游戏玩家和团队协作设计。它以低延迟、高质量的语音传输和强大的权限管理系统而闻名,是许多游戏社区和专业团队的首选语音工具。
Mumble的主要特点
- 低延迟:专为游戏优化,延迟极低,确保实时通信
- 高质量音频:支持高保真音频传输,提供清晰的语音体验
- 强大的权限系统:灵活的ACL(访问控制列表)管理,可精细控制用户权限
- positional audio:支持3D positional audio,在支持的游戏中提供沉浸式体验
- 开源免费:完全开源,无广告,可自由部署和定制
- 跨平台:支持Windows、macOS、Linux等多种操作系统
- 安全加密:所有通信均经过加密,保护用户隐私
版本1.5.735密码:adai
Mumble设置
登录
服务器->添加地址: 输入服务器地址端口: 服务器端口号默认64738用户名: 进入服务器的用户昵称。管理员输入:superuser会出现密码别名: 服务器别名[{"url":"/img/posts/mumble/denglu2.jpg","alt":""},{"url":"/img/posts/mumble/denglu.jpg","alt":""}]麦克风设置
设备:设备修改成自己麦克风设置
传输模式: 连续发言,语音激活 ,按键发言
连续发言:自由麦
语音激活:安静阈值:低于此值视为不启用麦克风,语音阈值:高于此值使用启用麦克风
按键发言:设置按键触发麦克风
压缩质量:你的语音数据包的音频质量,理论是越高越好,但也要看服务器最高支持多少质量设置耳机
点击设置->音频输出快速连接服务器
点击设置->网络->勾选启动时自动连接上次的服务器关闭上传隐私数据
勾选 请勿向Mumble服务器和页面服务器发送操作系统信息开启语音播报
点击设置->消息->启动语音播报高级设置
- 回声消除:在音频输入设置中,勾选”启用回声消除”可以减少麦克风拾取的扬声器声音
- 噪音抑制:勾选”启用噪音抑制”可以自动过滤背景噪音,提高语音清晰度
- 自动增益控制:勾选”启用自动增益控制”可以自动调整麦克风音量,保持稳定的输出水平
- 压缩质量:根据网络状况调整压缩质量,建议在良好网络环境下设置为9-10
服务器搭建
1 | #添加用户 |
安装mumble-server
1 | apt install mumble-server |
启动服务
1 | sudo systemctl start mumble-server |
打开配置文件
1 | sudo nano /etc/mumble-server.ini |
welcometext:服务器欢迎语句
port:端口
serverpassword:服务器密码
bandwidth:带宽,影响音频质量和服务器资源消耗默认72000,可设置更高如96000/128000
users:服务器可加入人数
registerName:更改默认Root频道名称
部分配置被注释,请删除前面的 ;
1 | sudo service mumble-server restart |
1 | sudo ufw allow 64738 |
- 拉取镜像(可选,运行时会自动拉取)
1
docker pull mumblevoip/mumble-server:latest
- 运行容器
1
2
3
4
5
6
7docker run --detach \
--name mumble-server \
--publish 64738:64738/tcp \
--publish 64738:64738/udp \
--volume ./data/mumble:/data \
--restart on-failure \
mumblevoip/mumble-server:latest - 更新与删除
1
2
3
4
5
6
7# 拉取最新版
docker pull mumblevoip/mumble-server:latest
# 或拉取指定版本(如 v1.5.634)
docker pull mumblevoip/mumble-server:v1.5.634
# 删除
docker stop mumble-server
docker rm mumble-server
- 创建文件夹并进入
1
mkdir mumble && cd mumble
- 创建并编辑docker-compose.yml Ctrl + X按Y,Enter保存
1
2
3
4
5
6
7
8
9
10
11
12
13
14services:
mumble-server:
image: mumblevoip/mumble-server:latest
container_name: mumble-server
hostname: mumble-server
restart: on-failure
environment:
MUMBLE_CUSTOM_CONFIG_FILE: /data/mumble-server.ini
MUMBLE_SUPERUSER_PASSWORD: password
ports:
- 64738:64738
- 64738:64738/udp
volumes:
- ./data:/data如果只需要最新版本填写:latest,MUMBLE_SUPERUSER_PASSWORD:Superuser账户密码
- 启动docker
1
sudo docker compose up -d
连接 Docker Hub 时超时,需要更换Docker源。点击查看更换方法 - 编辑mumble参数,mumble-server.ini配置模板。
停止docker compose进入data并创建mumble配置文件1
sudo docker compose stop
1
2cd data #docker-compose文件夹中
sudo nano mumble-server.ini重启docker compose1
2
3
4
5
6welcometext="欢迎来到我的服务器" #欢迎语
port=64738 #连接端口号
serverpassword=password # 连接服务器密码
users=100 #连接服务器最高人数
registerName=xx #默认频道名称
bandwidth=72000 #带宽,影响音频质量和服务器资源消耗默认72000,可设置更高如96000/1280001
sudo docker compose up -d
- 更新与删除
1
2
3
4
5
6
7# 更新
docker-compose pull #拉取最新镜像
docker-compose up -d #重新部署容器
# 删除
docker-compose down #基础删除(保留数据卷,仅删除容器和网络)
docker-compose down -v #彻底删除(包括数据卷,数据会丢失)
docker-compose down --rmi all #额外清理(删除未使用的镜像)
开放外部端口
- 本地服务器:在路由器中找到端口转发添加端口
- 云服务器:进入服务器实例详情页面->配置安全组规则->配置规则->手动添加->选择协议类型,目标填写端口号
权限管理(ACL)
官方文档
创建分组
右键默认频道(ROOT)->编辑->分组,输入名称点击添加。
添加成员
分组中选中新增的分组,在成员栏中,需要手动输入管理员名称,点击添加
添加成员必须是注册的用户才能添加。
赋予分组权限
右键默认频道(ROOT)->编辑->ACL(访问控制列表)
@all 所有人
@auth 已注册用户
@in 在这个频道里
@out 在此频道之外
@~sub 子频道
点击添加,在分组中找到我们刚添加的分组,在右侧给予相关权限
这里需要注意权限的上下顺序依次覆盖的。如果@all放在最下面,那么我们设置的所有权限都没有任何作用
区分权限范围
- 全局权限:在Root频道激活的ACL是可以被任何频道继承的。如果每个频道都勾选继承ACL即可实现全局
创建第二个频道,并打开ACL(访问控制列表),这时候默认继承ACL是不勾选的。此时就没有任何管理权限。[{"url":"/img/posts/mumble/mumble5.png","alt":""},{"url":"/img/posts/mumble/mumble6.png","alt":""}] - 频道内权限:非ROOt频道创建的权限仅适用于当前频道,如使用相同分组,那么分组中的成员也仅适用于当前频道。
名称 适用范围 详细说明 编辑ACL 频道 频道控制的写权限,包含除说话外的所有其他权限 通过 频道 允许穿越该频道访问子频道,没有此权限无法访问子频道(是Enter权限的前提) 进入 频道 允许加入并停留在该频道 说话 频道 允许在频道中说话,没有此权限会被服务器静音 禁言/禁听 频道 允许静音和禁听其他用户 移动用户 频道 允许将用户从当前频道移动到其他频道,需要源和目标频道都有此权限 创建频道 频道 允许创建新的子频道 链接频道 频道 允许链接频道,需要源和目标频道都有此权限 文字消息 频道 允许在频道中发送文本消息 密语 频道 允许从外部向该频道密语,类似于说话权限,但适用于密语数据包 创建临时频道 频道 允许创建临时子频道 踢出用户 服务器 允许踢出服务器用户,仅在Root频道有效 封禁用户 服务器 允许封禁服务器用户,仅在Root频道有效 注册用户 服务器 允许注册和注销用户,仅在Root频道有效 注册自己 服务器 允许用户注册自己,仅在Root频道有效 重置用户信息 服务器 允许重置用户的评论或头像,仅在Root频道有效 监听 频道 允许收听该频道的声音,没有此权限无法听到频道中的语音
ACL核心逻辑
ACL管理(参考)
- 全局管理员 :管理整个服务器
- 频道_管理员 :仅管理特定频道及子频道
- 频道_成员 :只能访问特定频道
- 专属频道_管理员 :仅管理该专属频道
- 专属频道_成员 : 仅访问该专属频道
- 游客 :只能访问公共频道
Mumble ACL权限生效遵循3条关键规则,直接决定配置是否生效:
- 身份多标签匹配:一个用户会同时属于多个组(如已注册用户=auth + 所有人=all;管理员=管理员组 + auth + all),系统会检查所有匹配该用户的规则;
- 拒绝权限优先(Deny > Allow):只要有任意一条匹配规则拒绝某权限,即使其他规则允许,最终权限仍为“拒绝”;
- 默认拒绝:所有匹配规则都未明确允许某权限时,默认权限为“拒绝”;
- 规则顺序仅作用于:同一用户匹配的多条规则均为“允许”或均为“拒绝”时,按从上到下取第一条生效。
1. 创建全局组
- 右键Root频道 → 编辑 → 分组
- 创建以下全局组:
全局管理员(管理整个服务器)频道_管理员(仅管理非公共频道)频道_成员(仅访问非公共频道)
二、详细权限设置
1. 默认权限设置(Root频道)
- 右键Root频道 → 编辑 → ACL
- 点击添加按钮添加新规则
- 设置规则:
- 组:
all(所有人) - 权限:仅勾选
- 通过
- 进入
- 文字消息
- 其他权限全部拒绝
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 组:
- 再次点击添加按钮
- 设置规则:
- 组:
auth(已注册用户)- 通过
- 进入
- 监听
- 说话
- 文字消息
- 其他权限全部拒绝
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 组:
- 再次点击添加按钮
- 设置规则:
- 组:
全局管理员 - 权限:勾选需要授予的权限和拒绝的权限
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 组:
- 点击应用保存设置
- 确保ACL规则按以下顺序排列(从上到下优先级递减):
- all
- all
- auth
- 全局管理员
2. 非公共频道设置
- 右键非公共频道 → 编辑 → ACL
- 点击添加按钮添加新规则
- 设置规则:
- 组:
all(所有人) - 权限:全部拒绝
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 组:
- 再次点击添加按钮
- 设置规则:
- 组:
频道_成员 - 权限:勾选
- 通过
- 进入
- 说话
- 密语
- 文字消息
- 监听
- 其他权限全部拒绝
- 应用到:勾选”作用于子频道”和”作用于当前频道”,如果是仅限专属频道的单个频道,勾选”作用于当前频道”即可。
- 组:
- 再次点击添加按钮
- 设置规则:
- 点击添加按钮
- 组:
频道_管理员 - 权限:勾选需要授予的权限和拒绝的权限
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 确保ACL规则按以下顺序排列(从上到下优先级递减):
- all
- all
- auth
- 全局管理员
- all
- 频道_成员
- 频道_管理员
3. 专属频道(不受全局管理员管理)
右键专属频道设置 → 编辑 → ACL → 取消勾选”继承父频道的ACL”
点击添加按钮添加新规则
- 组:
all(所有人) - 权限:全部拒绝
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 组:
再次点击添加按钮
设置规则:
- 组:输入
频道_成员 - 权限:勾选
- 通过
- 进入
- 说话
- 密语
- 文字消息
- 监听
- 其他权限全部拒绝
- 应用到:勾选”作用于子频道”和”作用于当前频道”,如果是仅限专属频道的单个频道,勾选”作用于当前频道”即可。
- 组:输入
再次点击添加按钮
设置规则:
- 组:输入
频道_管理员 - 权限:勾选需要授予的权限和拒绝的权限
- 应用到:勾选”作用于子频道”和”作用于当前频道”
- 组:输入
确保ACL规则按以下顺序排列:
- all
- all
- 频道_成员
- 频道_管理员
三、添加组成员
添加全局管理员:
- 右键Root频道 → 编辑 → 分组
- 选择
全局管理员组 - 在成员栏输入用户名,点击”添加”
添加非全局权限:
- 右键频道 → 编辑 → 分组
- 选择对应管理员或成员组,添加相应用户
视频
Mumble备份文件
Windows
数据库:%APPDATA%\Mumble\mumble.sqlite
设置:在Windows注册表的HKEY_CURRENT_USER\Software\Mumble\Mumble
Mac OS X
数据库:$HOME/Library/Application Support/Mumble/Mumble/.mumble.sqlite
设置:$HOME/Library/Preferences/net.sourceforge.mumble.Mumble.plist
Linux
数据库: $HOME/.local/share/Mumble/Mumble/mumble.sqlite
设置: $HOME/.config/Mumble/Mumble.conf
故障排除
常见问题及解决方法
1. 无法连接到服务器
- 检查服务器地址和端口是否正确
- 确认服务器已启动且网络正常
- 检查防火墙设置,确保64738端口已开放
- 尝试暂时关闭防火墙和杀毒软件
2. 语音质量差或有延迟
- 检查网络连接,确保带宽充足
- 调整客户端压缩质量,降低网络负载
- 服务器端增加带宽设置(bandwidth参数)
- 关闭其他占用网络资源的应用程序
3. 麦克风无法正常工作
- 确认麦克风设备已正确连接并设置为默认设备
- 检查Mumble中的麦克风设置,确保选择了正确的设备
- 调整语音激活阈值或切换到按键发言模式
- 检查操作系统的麦克风权限设置
4. 听不到其他用户的声音
- 确认耳机设备已正确连接并设置为默认设备
- 检查Mumble中的音频输出设置,确保选择了正确的设备
- 确认未被静音或音量过低
- 检查服务器端的权限设置,确保有收听权限
5. 回声问题
- 启用Mumble中的回声消除功能
- 调整麦克风和扬声器的位置,避免近距离放置
- 使用耳机替代扬声器
- 降低扬声器音量
6. 服务器启动失败
- 检查配置文件语法是否正确
- 确认端口未被其他程序占用
- 查看服务器日志文件获取详细错误信息
- 尝试使用默认配置文件重新启动
















