语音开黑软件Mumble的部署与使用

阿呆的服务器 客户端官网 云盘下载

版本1.5.735密码:adai

Mumble设置
  1. 登录
    服务器->添加
    地址: 输入服务器地址
    端口: 服务器端口号默认64738
    用户名: 进入服务器的用户昵称。管理员输入:superuser会出现密码
    别名: 服务器别名

  2. 麦克风设置

    设备:设备修改成自己麦克风设置
    传输模式: 连续发言语音激活按键发言
    连续发言:自由麦
    语音激活:安静阈值:低于此值视为不启用麦克风,语音阈值:高于此值使用启用麦克风
    按键发言:设置按键触发麦克风
    压缩质量:你的语音数据包的音频质量,理论是越高越好,但也要看服务器最高支持多少质量

  3. 设置耳机
    点击设置->音频输出

  4. 快速连接服务器
    点击设置->网络->勾选启动时自动链接上次的服务器

  5. 关闭上传隐私数据
    勾选 请勿向Mumble服务器和页面服务器发送操作系统信息

  6. 开启语音播报
    点击设置->消息->启动语音播报

服务器搭建

不推荐使用root搭建服务,创建新用户

1
2
3
4
5
6
7
8
#添加用户
adduser mumble
#添加sudo权限
sudo adduser mumble sudo
#切换到mumble用户
su mumble
#切换到mumble目录
cd /home/mumble

安装mumble-server

1
2
3
apt install mumble-server
#启动服务,点击两次yes,之后设置superuser用户密码
sudo dpkg-reconfigure mumble-server

开机自启动

1
sudo systemctl start mumble-server

打开配置文件

1
sudo nano /etc/mumble-server.ini

welcomtext:服务器欢迎语句
port:端口
serverpassword:服务器密码
bandwidth:带宽,影响音频质量和服务器资源消耗默认72000,可设置更高如96000/128000
users:服务器可加入人数
registerName:更改默认Root频道名称

部分配置被注释,请删除前面的 ;

设置完重启配置文件
1
sudo service mumble-server restart
开放64738端口
1
sudo ufw allow 64738
  1. 拉取镜像(可选,运行时会自动拉取)
    1
    docker pull mumblevoip/mumble-server:latest
  2. 运行容器
    1
    2
    3
    4
    5
    6
    7
    docker run --detach \
    --name mumble-server \
    --publish 64738:64738/tcp \
    --publish 64738:64738/udp \
    --volume ./data/mumble:/data \
    --restart on-failure \
    mumblevoip/mumble-server:latest
  3. 更新与删除
    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. 创建文件夹并进入
    1
    mkdir mumble cd mumble
  2. 创建并编辑dcoker-compose.yml Ctrl + XYEnter保存
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    services:
    mumble-server:
    image: mumblevoip/mumble-server:latext
    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账户密码

  3. 启动docker
    1
    sudo docker compose up -d


    连接 Docker Hub 时超时,需要更换Docker源。点击查看更换方法

  4. 编辑mumble参数
    停止docker compose
    1
    sudo docker compose stop
    进入data并创建mumble配置文件
    1
    2
    cd data #docker-compose文件夹中
    sudo nano mumble-server.ini
    1
    2
    3
    4
    5
    6
    welcometext="欢迎来到我的服务器" #欢迎语
    port=64738 #连接端口号
    serverpassword=password # 连接服务器密码
    users=100 #连接服务器最高人数
    registerName=xx #默认频道名称
    bandwidth=72000 #带宽,影响音频质量和服务器资源消耗默认72000,可设置更高如96000/128000
    重启docker compose
    1
    sudo docker compose up -d
  5. 更新与删除
    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 #额外清理(删除未使用的镜像)

开放外部端口

  1. 本地服务器:在路由器中找到端口转发添加端口
  2. 云服务器:进入服务器实例详情页面->配置安全组规则->配置规则->手动添加->选择协议类型,目标填写端口号
权限管理

官方文档

ACL

创建分组

右键默认频道(ROOT)->编辑->分组,输入名称点击添加。

添加成员

分组中选中新增的分组,在成员栏中,输入需要添加权限的成员,点击添加

添加成员必须是注册的用户才能添加。

赋予分组权限

右键默认频道(ROOT)->编辑->ACL(访问控制列表)
@all 所有人
@auth 已注册用户
@in 在这个频道里
@out 在此频道之外
@~sub 子频道

点击添加,在分组中找到我们刚添加的分组,在右侧给予相关权限

这里需要注意权限的上下顺序依次覆盖的。如果@all放在最下面,那么我们设置的所有权限都没有任何作用

区分权限范围

  1. 全局权限:在Root频道激活的ACL是可以被任何频道继承的。如果每个频道都勾选继承ACL即可实现全局
    创建第二个频道,并打开ACL(访问控制列表),这时候默认继承ACL是不勾选的。此时就没有任何管理权限。
  2. 频道内权限:非ROOt频道创建的权限仅适用于当前频道,如使用相同分组,那么分组中的成员也仅适用于当前频道。

个人权限方案

我们服务器需要两套管理系统,一套服务器全局,一套频道内管理,这时就需要用到ACL继承。

  1. 服务器全局权限:服务器所有者,服务器管理员,auth,all
    服务器所有者:一切权限
    服务器管理员:除编辑ACL一切权限
    auth:注册,进入其他频道。语音文字
    all: 仅能语音进入默认频道,因为all为默认权限无法修改所以我们创建一个新的all,覆盖默认的

    权限是从上到下依次覆盖的,如果all放在最下面,那么上面设置的所有权限都将无效

  2. 频道范围:所有者,组管理员,组成员
    所有者:频道所有权限
    组管理员:除编辑ACL权限
    组成员:进入频道,文字语音权限
    首先分别创建对应的分组

    打开此频道的编辑,ACL(访问控制列表)并添加对应权限

    这个组的成员中的成员只适用于当前频道及子频道,如果我们切换其他频道,再点开这个组成员里面列表就是空的

如果我们希望这个频道只能本频道成员进入,之前已经禁止all用户进入频道,还需要添加一个新的服务器正式用户权限,阻止进入

其他权限

  1. 专属权限
    如果说这个权限就是为一个用户单独设置的。那么我们可以直接填写用户ID,配置权限

视频

Mumblec备份文件

Windwos

数据库:%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