Teamspeak & Mumble 语音服务器的配置
source link: https://blog.starryvoid.com/archives/1046.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
QQ 语音?YY 语音?Steam 语音?Discord 语音?我们总是需要一个本地可用的语音方案,而关于这个相对较好的主要有两个 Teamspeak 和 Mumble
1、Teamspeak 与 Mumble 的简介
TeamSpeak 是一套专有的 VoIP 软件,用户可以经由它与其他用户进行语音对话,很像电话会议。用户可以戴上耳机与麦克风进行通话。用户可以经由客户端软件连线到指定的服务器,在服务器内的频道进行通话。 通常 TeamSpeak 的用户大多为多人连线游戏的玩家,与同队伍的玩家进行通信。
Mumble 是一个网际协议通话技术软件,其使用目的是用于电子游戏的玩家通信。
它利用主从式架构允许用户在同一服务器与其他用户进行对话。它具有简单易用的管理接口,具备高清音质与音频延迟低的特性。所有通信皆被加密以确保用户的隠私安全。它是跨平台的自由及开放源代码软件,以 BSD 许可证发行的软件。
TeamSpeak 官网 https://www.teamspeak.com/zh-CN/
Mumble 官网 https://www.mumble.info/
Teamspeak 免费授权默认是 32 人/单服务器
Mumble 不限制用户数
Teamspeak 支持传送文件(虽然有安全隐患)支持云同步配置
Mumble 默认加密所有通讯,支持个性化,拥有中间件如 ICE 用以二次开发
两者基本相仿,从规模的角度,Teamspeak 作为商业软件,覆盖面更多。
许多 CSGO 战队使用的是 Teamspeak
许多 EVE 军团则使用的是 Mumble
2、配置 Teamspeak 服务器
开始配置服务器
首先因为 安全因素 考虑,Teamspeak 官方明确警告用户 不要使用 Root 权限运行
所以在一切开始之前,我们需要创建一个 teamspeak 用户,并限制该用户的登录可能
useradd -s /usr/sbin/nologin -r -M -d /opt/teamspeak teamspeak usermod -u 1500 teamspeak && groupmod -g 1500 teamspeak mkdir /opt/teamspeak chown -R teamspeak:teamspeak /opt/teamspeak
创建好用户后,我们需要下载 服务端程序文件 并分配权限属于 teamspeak 用户
这里图方便,将下载路径 URL 用 Bash 脚本提取出来,如果未来产生变化,可以自行去官方查找下载链接
官方下载地址 [ 链接 ]
cd /opt/teamspeak wget -O teamspeak3.tar.bz2 $(curl https://www.teamspeak.com/en/downloads/#server | grep "/releases/server/" | grep "value" | awk -F "\"" '{print $4}' | grep linux_amd64) tar xvpf teamspeak3.tar.bz2 mv teamspeak3-server_linux_amd64 /opt/teamspeak/teamspeak3 chown -R teamspeak:teamspeak /opt/teamspeak/teamspeak3
服务端文件已经安排完毕后,我们需要创建一个 许可证同意 文件
同时因为许可证检查方式的原因,我们还需要挂载动态分区(如果已经挂载了则不需要关注)
注意之后的所有操作,均需要切换到 teamspeak 用户身份下执行
cd /opt/teamspeak/teamspeak3 /usr/bin/mount -t tmpfs tmpfs /dev/shm sudo -u teamspeak touch .ts3server_license_accepted
创建好 许可证同意 文件后,我们可以 第一次启动 Teamspeak 服务端(默认 Sqlite 方案)
sudo -u teamspeak ./ts3server_startscript.sh start
Starting the TeamSpeak 3 server TeamSpeak 3 server started, for details please view the log file root@localhost:/opt/teamspeak/teamspeak3# ------------------------------------------------------------------ I M P O R T A N T ------------------------------------------------------------------ Server Query Admin Account created loginname= "serveradmin", password= "wwHnEqjT" apikey= "BABskzZob1Ob4m4cHKEH-a8rSxSnYB2NV3hnpd9" ------------------------------------------------------------------ ------------------------------------------------------------------ I M P O R T A N T ------------------------------------------------------------------ ServerAdmin privilege key created, please use it to gain serveradmin rights for your virtualserver. please also check the doc/privilegekey_guide.txt for details. token=PZtvVLbIJVU0GdQRRuR4GU9RWmW3RVgFjZJOsq5T ------------------------------------------------------------------
运行后我们使用 Ctrl + C
中断,然后检查上面的信息,信息每次都是随机生成的。
也可以通过访问 logs/ts3server_*.log
查看历史日志中包含的信息(记得删除初始化日志)
以防万一,我们额外输入一次 关闭服务器 命令确保服务器已经关闭
sudo -u teamspeak ./ts3server_startscript.sh stop
刚刚的部分,我们可以看到很多信息,这里面的信息有两个很重要的部分
第一部分:服务端后台 CLI 使用的 登录账号 登陆密码 API 密钥
第二部分:语音频道最高管理员账号 Token(客户端登录后可以输入用以提高到最高权限)
关于 最高管理员账号 Token,详细文件在 doc/privilegekey_guide.txt
这个文件中,但是这个文件只是讲解,里面已经存在的一个 token 和你的服务器无关
两条信息保存后,一定要删除服务器日志中的密钥信息
但是到这里我们依然没有得到 Teamspeak 服务端 配置文件 ts3server.ini
,因为默认不再生成了。
所以我们需要手动生成该配置文件 ts3server.ini
sudo -u teamspeak ./ts3server createinifile=1
此时会出现 服务端启动日志,并在结尾出现 ts3server has crashed
字样,可以忽略。
此时我们得到了完整的配置文件,关于这个文件,可以参考 [ 链接 ] 进行配置
注意该文件没有注释符号,也就意味着你无法使
machine_id= default_voice_port=9987 voice_ip= licensepath= filetransfer_port=30033 filetransfer_ip= query_port=10011 query_ip=0.0.0.0, :: query_ip_allowlist=query_ip_allowlist.txt|query_ip_whitelist.txt query_ip_denylist=query_ip_denylist.txt|query_ip_blacklist.txt dbplugin=ts3db_sqlite3 dbpluginparameter= dbsqlpath=sql/ dbsqlcreatepath=create_sqlite/ dbconnections=10 logpath=logs logquerycommands=0 dbclientkeepdays=30 logappend=0 query_skipbruteforcecheck=0 query_buffer_mb=20 http_proxy= license_accepted=0 serverquerydocs_path=serverquerydocs/ query_ssh_ip=0.0.0.0, :: query_ssh_port=10022 query_protocols=raw,http,ssh query_ssh_rsa_host_key=ssh_host_rsa_key query_timeout=300 query_http_ip=0.0.0.0, :: query_http_port=10080 query_https_ip=0.0.0.0, :: query_https_port=10443 query_pool_size=2 mmdbpath= logquerytiminginterval=0
同时,因为服务器已经初始化完毕,我们可以看到产生了更多文件。
由于创建用户使用 /sbin/nologin 该用户创建文件的 umask 为 666 而不是正常的 644,任何人都有写入权限!
当需要 迁移/升级 服务器时 ,第一部分文件是需要重点备份的文件 [ 链接 ]
root@localhost:/opt/teamspeak/teamspeak3# ll | grep "$(date +"%b %d" )" drwxr-xr-x 10 teamspeak teamspeak 4096 Nov 19 14:14 ./ drwxr-xr-x 4 teamspeak teamspeak 4096 Nov 19 14:04 ../ drwx------ 3 teamspeak teamspeak 4096 Nov 19 14:14 files/ -rw-rw-rw- 1 teamspeak teamspeak 14 Nov 19 14:14 query_ip_allowlist.txt -rw-rw-rw- 1 teamspeak teamspeak 0 Nov 19 14:14 query_ip_denylist.txt -rw-rw-r-- 1 teamspeak teamspeak 835 Nov 19 14:16 ts3server.ini -rw-r--r-- 1 teamspeak teamspeak 0 Nov 19 14:06 .ts3server_license_accepted -rw-r--r-- 1 teamspeak teamspeak 0 Nov 19 14:28 licensekey.dat -rw-r--r-- 1 teamspeak teamspeak 203776 Nov 19 14:14 ts3server.sqlitedb
drwxrwxrwx 2 teamspeak teamspeak 4096 Nov 19 14:14 crashdumps/ drwx------ 2 teamspeak teamspeak 4096 Nov 19 14:14 logs/ -rw-rw-rw- 1 teamspeak teamspeak 3243 Nov 19 14:14 ssh_host_rsa_key -rw-rw-r-- 1 teamspeak teamspeak 5 Nov 19 14:14 ts3server.pid
此时我们可以正式启动服务端,使用如下命令(包含配置文件指定)
sudo -u teamspeak ./ts3server_startscript.sh start inifile=ts3server.ini
启动后,记得额外放行公网服务端口。默认端口信息 [ 链接 ]
firewall-cmd --add-port=9987/udp --permanent firewall-cmd --add-port=30033/tcp --permanent firewall-cmd --reload
9987/udp 用户语音传输端口 UDP (必选) 30033/tcp 用户文件传输端口 10011/tcp 服务器 API 通讯端口 (telnet) 10022/tcp 服务器 API 通讯端口 (ssh) 10080/tcp 服务器 API 通讯端口 (http) 10443/tcp 服务器 API 通讯端口 (https)(不完整实现)
2.1、Systemd 管理 Teamspeak
使用脚本调度 Teamspeak 的操作方式比较繁琐,我们总是需要切换用户身份来运行,不注意就会导致权限问题
所以我们可以直接调度 Systemd 管理 Teamspeak
vim /etc/systemd/system/teamspeak.service
[Unit] Description=Team Speak 3 Server After=network.target [Service] WorkingDirectory=/opt/teamspeak/teamspeak3/ User=teamspeak Group=teamspeak Type=forking PermissionsStartOnly=true ExecStartPre=/usr/bin/mount -t tmpfs tmpfs /dev/shm ExecStart=/opt/teamspeak/teamspeak3/ts3server_startscript.sh start inifile=ts3server.ini ExecStop=/opt/teamspeak/teamspeak3/ts3server_startscript.sh stop PIDFile=/opt/teamspeak/teamspeak3/ts3server.pid RestartSec=15 Restart=always [Install] WantedBy=multi-user.target
配置完毕后我们可以使用 Systemd 管理 Teamspeak 服务。
systemctl enable teamspeak systemctl start teamspeak systemctl status teamspeak systemctl stop teamspeak
2.2、使用 Mariadb 方案
不只是 sqlite 我们还可以使用 Mariadb 方案配置 Teamspeak。
但是因为 Teamspeak 默认是 32 人授权,所以很少有人使用这样的方式
首先我们需要创建 Mariadb 数据库用户和数据表,注意关于密码的部分一定要强密码
CREATE DATABASE teamspeak_database DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL ON teamspeak_database.* TO 'teamspeak_user'@'localhost' IDENTIFIED BY 'teamspeak_password'; FLUSH PRIVILEGES; EXIT;
用户 teamspeak_user@localhost
密码 teamspeak_password
数据库表 teamspeak_database
创建完毕后,我们需要修改 Teamspeak 配置文件,建议使用 sqlite 方案生成配置文件并修改,或者手动输入如下内容
如果你是 Mysql 用户,则需要将额外创建的配置文件名 从 ts3db_mariadb.ini 改为 ts3_mysql.ini
vim ts3server.ini
dbplugin=ts3db_mariadb dbpluginparameter=ts3db_mariadb.ini dbsqlpath=sql/ dbsqlcreatepath=create_mariadb/ dbconnections=10
vim ts3db_mariadb.ini
[config] server='localhost' port='3306' username='teamspeak_user' password='teamspeak_password' database='teamspeak_database'
两个文件创建好后,我们需要将动态链接库文件复制到 Teamspeak 根目录下
cp /opt/teamspeak/teamspeak3/redist/libmariadb.so.2 /opt/teamspeak/teamspeak3/
做完以上操作后,我们就可以进行 第一次启动 Teamspeak 服务端。
2.3、Teamspeak SRV 记录
有时候我们需要修改端口,但并不想让用户在域名后面加上端口号后缀
Teamspeak 是 支持解析 域名 SRV 记录 的,当然,它曾经还有一种方式 TSDNS 已经过时淘汰
Teamspeak 对 SRV 的解析顺序如下(Host temp_teamspeak.yourdomain.com
)
Resolve _ts3._udp.temp_teamspeak.yourdomain.com IN SRV Resolve _tsdns.temp_teamspeak.yourdomain.com IN SRV Resolve forward.yourdomain.com IN AAAA Resolve forward.yourdomain.com IN A
当我们有需要时,直接在域名服务商增加 SRV 记录即可 [ 链接 ]
Name: _ts3.udp.temp_teamspeak.yourdomain.com Priority: 10 Weight: 10 Port: 9987 Address: teamspeak.yourdomain.com
旧版本的 TSDNS 所需要的记录(已经被淘汰了)
Name: _tsdns.tcp.temp_yourdomain.com Priority: 10 Weight: 10 Port: 41144 Address: tsdns.yourdomain.com
而如果你的 Teamspeak 服务器是主备关系的,那么你需要两个 SRV 记录,并指定不同优先级
例: yourdomain.com 配置 ts1 + ts2 双服务器,主 ts1
Name: _ts3.udp.temp_yourdomain.com Priority: 10 Weight: 10 Port: 9987 Address: ts1.yourdomain.com
Name: _ts3.udp.temp_yourdomain.com Priority: 20 Weight: 10 Port: 9987 Address: ts2.yourdomain.com
2.4、Teamspeak 修改默认语音端口
Teamspeak 3 默认的配置文件虽然可以被读取,但是 默认语音端口 因为第一次配置所以已经写入数据库 [ 链接 ]
所以我们需要在服务器启动后,通过命令手动更改 [ 链接 ]
首先需要登陆,参考默认端口,我们使用 SSH 的方式登录 10022 端口
ssh [email protected] -p 10022
登陆后可以得到 Teamspeak 服务端 Shell,在这里可以进行 信息变更(sid=0 是默认主机配置)
use sid=1 -virtual serveredit virtualserver_port=19987 use sid=0
在修改完毕后,我们还需要重启服务
serverstop sid=1 serverstart sid=1
此时服务端已经修改了语音监听端口到 19987/udp
,可以通过 netstat -anopu
查看到
在这里常用的查看信息命令如下,父子集关系为 TS 主机 (host)->TS 实例 (instance)->TS 服务 (server)->TS 频道 (channel)
# 查看具体命令帮助 serveradmin> help use Usage: use [sid={serverID}] [port={serverPort}] [-virtual] [client_nickname={nickname}] use {serverID} [-virtual] [client_nickname={nickname}] Permissions: b_virtualserver_select Description: Selects the virtual server specified with sid or port to allow further interaction. The ServerQuery client will appear on the virtual server and acts like a real TeamSpeak 3 Client, except it's unable to send or receive voice data. If your database contains multiple virtual servers using the same UDP port, use will select a random virtual server using the specified port. Example: use sid=1 error id=0 msg=ok error id=0 msg=ok
# 查看主机信息状态 serveradmin> hostinfo instance_uptime=736 host_timestamp_utc=1637636448 virtualservers_running_total=1 virtualservers_total_maxclients=32 virtualservers_total_clients_online=1 virtualservers_total_channels_online=1 connection_filetransfer_bandwidth_sent=0 connection_filetransfer_bandwidth_received=0 connection_filetransfer_bytes_sent_total=161977 connection_filetransfer_bytes_received_total=323954 connection_packets_sent_total=1572 connection_bytes_sent_total=79563 connection_packets_received_total=1576 connection_bytes_received_total=74572 connection_bandwidth_sent_last_second_total=82 connection_bandwidth_sent_last_minute_total=83 connection_bandwidth_received_last_second_total=84 connection_bandwidth_received_last_minute_total=88 error id=0 msg=ok
# 查看当前实例状态(文件传输端口) serveradmin> instanceinfo serverinstance_database_version=34 serverinstance_filetransfer_port=30033 serverinstance_max_download_total_bandwidth=18446744073709551615 serverinstance_max_upload_total_bandwidth=18446744073709551615 serverinstance_guest_serverquery_group=1 serverinstance_serverquery_flood_commands=10 serverinstance_serverquery_flood_time=3 serverinstance_serverquery_ban_time=600 serverinstance_template_serveradmin_group=3 serverinstance_template_serverdefault_group=5 serverinstance_template_channeladmin_group=1 serverinstance_template_channeldefault_group=4 serverinstance_permissions_version=24 serverinstance_pending_connections_per_ip=0 serverinstance_serverquery_max_connections_per_ip=5 error id=0 msg=ok
# 切换服务实例(参考 mysql 的 use database;) serveradmin> use sid=1 error id=0 msg=ok serveradmin@9987(1):online>
# 查看当前服务简介(虚拟服务 ID,虚拟服务语音端口,虚拟服务名) serveradmin@9987(1):online> serverlist virtualserver_id=1 virtualserver_port=19987 virtualserver_status=online virtualserver_clientsonline=1 virtualserver_queryclientsonline=0 virtualserver_maxclients=32 virtualserver_uptime=758 virtualserver_name=TeamSpeak\s]I[\sServer virtualserver_autostart=1 virtualserver_machine_id error id=0 msg=ok
# 查看当前服务信息(虚拟服务的与客户相关配置) serveradmin@9987(1):online> serverinfo virtualserver_unique_identifier virtualserver_name=TeamSpeak\s]I[\sServer virtualserver_welcomemessage=Welcome\sto\sTeamSpeak,\scheck\s[URL]www.teamspeak.com[\/URL]\sfor\slatest\sinformation virtualserver_maxclients=32 virtualserver_password virtualserver_created=0 virtualserver_codec_encryption_mode=0 virtualserver_hostmessage virtualserver_hostmessage_mode=0 virtualserver_filebase=files virtualserver_default_server_group=0 virtualserver_default_channel_group=0 virtualserver_flag_password=0 virtualserver_default_channel_admin_group=0 virtualserver_max_download_total_bandwidth=18446744073709551615 virtualserver_max_upload_total_bandwidth=18446744073709551615 virtualserver_hostbanner_url virtualserver_hostbanner_gfx_url virtualserver_hostbanner_gfx_interval=0 virtualserver_complain_autoban_count=5 virtualserver_complain_autoban_time=1200 virtualserver_complain_remove_time=3600 virtualserver_min_clients_in_channel_before_forced_silence=100 virtualserver_priority_speaker_dimm_modificator=-18.0000 virtualserver_antiflood_points_tick_reduce=5 virtualserver_antiflood_points_needed_command_block=150 virtualserver_antiflood_points_needed_ip_block=250 virtualserver_hostbutton_tooltip virtualserver_hostbutton_url virtualserver_hostbutton_gfx_url virtualserver_download_quota=18446744073709551615 virtualserver_upload_quota=18446744073709551615 virtualserver_needed_identity_security_level=8 virtualserver_log_client=0 virtualserver_log_query=0 virtualserver_log_channel=0 virtualserver_log_permissions=1 virtualserver_log_server=0 virtualserver_log_filetransfer=0 virtualserver_min_client_version=1560850141 virtualserver_name_phonetic virtualserver_icon_id=0 virtualserver_reserved_slots=0 virtualserver_weblist_enabled=1 virtualserver_hostbanner_mode=0 virtualserver_channel_temp_delete_delay_default=0 virtualserver_min_android_version=1559834030 virtualserver_min_ios_version=1559144369 virtualserver_nickname virtualserver_antiflood_points_needed_plugin_block=0 virtualserver_file_storage_class virtualserver_status=template error id=0 msg=ok
# 查看当前 服务/频道 权限密钥列表 type 是 serveradmin@9987(1):online> tokenlist token=nM25snqoW1uXQIRAhxR1DWbRRa4KPOQsCTuOoqU0 token_type=0 token_id1=6 token_id2=0 token_created=1637312348 token_description=Server_Admin token_customset token=JVlHDQQmT9QKzmDtGsDZlZW0tuZFHLVOjI9u5xNM token_type=0 token_id1=7 token_id2=0 token_created=1637312348 token_description=Server_Normal token_customset token=b1h3wF4PINM0slw1y+JD3ZOsbTPSQtqHOGH0jNEJ token_type=0 token_id1=8 token_id2=0 token_created=1637312348 token_description=Server_Guest token_customset token=hRCKE+QEQz2xAwKazbMO923Q0vNYR50zFePKjNs8 token_type=1 token_id1=5 token_id2=1 token_created=1637312348 token_description=Channel_Admin token_customset token=0aizebRk1JkxC7jfay8EsTLmYi9WCARR4pa1rnr7 token_type=1 token_id1=6 token_id2=1 token_created=1637312348 token_description=Channel_Operator token_customset token=Qd+pa12WhhoqaoqJ7AoXRn7pVfvxNMPqVFzQi1n9 token_type=1 token_id1=7 token_id2=1 token_created=1637312348 token_description=Channel_Voice token_customset token=u2VNYlU5k7QX7dvanyNwzwg8bJuRNStt0Y+biTlm token_type=1 token_id1=8 token_id2=1 token_created=1637312348 token_description=Channel_Guest token_customset token=u2VNYlU5k7QX7dvanyNwzwg8bJuRNStt0Y+biTlm token_type=1 token_id1=8 token_id2=2 token_created=1637312348 token_description=Channel_2_Guest token_customset
3、配置 Teamspeak 客户端
Teamspeak 因为商业化,在多平台的适配和支持上是相当不错的。
首先运行 Teamspeak ,默认界面上可以直接进行连接,但是此时连接的服务器是官方服务器
voice.teamspeak.com:9987
而我们如果想自行连接到个人服务器,可以使用 书签 功能,添加一个书签(比如添加官方服务器)
名称:Teamspeak Server 昵称:TeamSpeakUser 服务器域名或地址:voice.teamspeak.com 服务器密码:(官方频道默认空密码) 自动进入频道:(官方频道默认 Default Channel)
此时我们登录会自动引用默认身份,此身份会根据首次登陆设置好身份名,登录其他频道时如未指定则统一该名称
跟随身份的是 唯一 ID,频道识别唯一 ID 赋予用户权限,也就是更换身份(唯一 ID)会导致用户信息丢失
而关于身份,有一个安全级别的属性,该属性随挂机时间进行增长,可以手动进行挂机提升。
同时身份也是各频道防冲击所用的第一道防线(限制安全级别低于 N 的用户访问)
3.1、Teamspeak 客户端 的 中文汉化
Teamspeak 官方是没有中文支持的,意味着你必须手动汉化
Teamspeak 自身携带插件,插件中有一个语言包选项,但是里面只有繁体中文
所以我们只能借 Teamspeak 中文 网站的 汉化 一用 [ 链接 ]
通常来说,软件还是从官网进行下载的,不应该从 Teamspeak 中文 官网上下载。
Teamspeak 中文 的下载页,有一个选项是 插件/补丁 里面有 中文语言包
下载该语言包,安装,并直接重启 Teamspeak 即可
检查发现
Addons - Translations 中 额外增加了两项 Chinese 和 Chinese Simplified Translation
Application - Language 中 增加了 Chinese
3.2、Teamspeak 客户端 的 资料传输
首先服务端必须要开放 filetransfer_port 端口,在这里不多阐述
客户端在登陆后,右键任何 Channel ,可以看到第一个 文件浏览器
点击后会打开一个新窗口,里面是 该频道下所有文件内容。
初始频道的 服务端 文件路径 是 ./files/virtualserver_1/channel_1/*
陌生用户可能会遇到下列情况,此时是因为 TS 权限不足,需要提权,默认上传文件是 rw-rw-rw- 权限可能有风险
<16:49:00> 传输 "Chinese Simplified (zh-CN).ts3_translation" 报告: (insufficient client permissions) <16:49:17> 用户权限不够 (原因:i_ft_needed_directory_create_power)
4、配置 Mumble 服务器
Mumble 默认就在 Ubuntu 的官方源中,但是里面的版本可能过于老旧
所以我们需要指定最新版本的 apt-get 源
add-apt-repository ppa:mumble/release -y
apt-get update
更新 apt-get 源信息后,我们就可以安装了
apt-get install mumble-server -y
安装完毕后,我们需要进行初始化操作(自动停止服务)
dpkg-reconfigure mumble-server
# Mumble 服务端是否自动启动? Mumble-server (murmurd) can start automatically when the server is booted. Autostart mumble-server on server boot? # Mumble 服务端是否采用 更高进程优先级 以 降低延迟和增加网络相应速度 Mumble-server (murmurd) can use higher process and network priority to ensure low latency audio forwarding even on highly loaded servers. Allow mumble-server to use higher priority? # Mumble 默认超级用户 SuperUser 的密码是否重置(不输入则不修改) Murmur has a special account called "SuperUser" which bypasses all privilege checks. If you set a password here, the password for the "SuperUser" account will be updated. If you leave this blank, the password will not be changed. Password to set on SuperUser account:
修改完后,初始化程序会自动创建数据库文件以及程序运行的一些默认路径。
对 Mumble 来说,官方强烈推荐使用 sqlite 数据库,除非你的磁盘 IO 实在太差
# 配置文件 -rw-r----- root:mumble-server /etc/mumble-server.ini # 数据文件 -rw-r----- mumble-server:mumble-server /var/lib/mumble-server/mumble-server.sqlite
最后我们不要忘记放行防火墙端口 64738/tcp 64738/udp
firewall-cmd --add-service=murmur --permanent
firewall-cmd --reload
4.1、Mumble SRV 记录
Mumble 不想在域名后输入端口号,也可以通过修改 SRV 进行识别 [ 链接 ]
Mumble 对 多服务器分配是支持的,所以通过调整权重即可进行多服务器负载。
(Host temp_mumble.yourdomain.com
)
Name: _mumble._tcp.temp_mumble.yourdomain.com Priority: 10 Weight: 10 Port: 64738 Address: forward.yourdomain.com
Name: _mumble._udp.temp_mumble.yourdomain.com Priority: 10 Weight: 10 Port: 64738 Address: forward.yourdomain.com
5、配置 Mumble 客户端
Mumble 的客户端支持,先排除 2017 年停止维护的 IOS 端
其他的多平台客户端可谓简洁,除了语音通话,还是语音通话
在首次运行 Mumble 时,会有一个语音测试向导 + 证书生成向导。按照步骤一步步操作即可,也可以直接跳过
语音测试向导会修改语音设置,主要照顾老机型为主。
证书生成向导会创建自签名证书以向服务器提供身份。
5.1、Mumble 客户端 的 多用户量参考配置
通常来说,我们只需要按照默认设置走就可以了
以下设置参考 EVE 军团设置(大量用户同时在线方案)[ 链接 ] [ 链接 ]
音频输入:开启 混合回声消除,修改按键发言,压缩和数据包音频量,音频放大倍数
快捷键:清空默认快捷键(按键发言),增加快捷键 密语/呼喊
网络:强制 TCP 模式(默认优选 UDP),隐私勾选不发送本地系统信息
消息:关闭 用户进入/离开频道 用户连接服务器/断开连接 通知
游戏内界面:可选项,用来在游戏内看谁说话了,需要右键虚拟屏幕的右上角 人员列表 ,筛选,选择 仅正在说话
而以上所有操作内容的目的,详细阐述如下
问题/需求:个别用户声音破麦,回音(常见问题)
结果:开启回声消除,关闭音频放大
问题/需求:大量用户在频道中讲话,领队说话声音被覆盖
结果:禁用默认按键发言,改为密语/呼喊 方式
问题/需求:大量用户同时连接服务器,导致语音服务不稳定
结果:避免 QOS 选择 TCP,增大数据包音频量,增大数据包大小,节约服务器网络资源
问题/需求:用户登录的消息提醒总是播放语音提醒
结果:关闭频繁的消息提醒,如用户进入离开登录断开。
Recommend
-
43
Alternative Clients If you are looking for a client for an operating system we do not officially support ourselves, or if you are looking for an alternative client application please refer...
-
51
README.md Mumble - A voice chat utility for gamers
-
56
README.md TeamSpeak 3
-
9
``` docker pull teamspeak ``` # Quick reference - **Maintained by**: TeamSpeak Developers [nwerensteijn](https://github.com/nwerensteijn) and [muenchow](https://github.com/muenchow) - **Where to get help**: [the Docker Community Foru...
-
6
mumble - 自托管语音/文字聊天室 - azhuge233'sSkip to content mumble 使用起来比 TeamSp...
-
8
之前与朋友一起在CSGO开黑时一直用的是微信语音,没有按键发言用的很不顺手。YY语音的广告太多不忍直视,Discord又被墙了。正好自己有个阿里云的服务器,就想着自己搭建一个语音服务器,也方便上网课的时候建立讨论组。于是乎上网查找了一番,找到了一个叫Mumbl...
-
6
Teamspeak 安卓客户端有 V 友知道的吗? V2EX › 程序员 Teamspeak 安卓客户端有 V 友知道的吗?
-
6
<?xml encoding="utf-8" ??>Introduction TeamSpeak 3 server is a piece of Voice Over Internet Protocol (VoIP) software used to communicate through speech. For communication to occur, TeamSpeak use...
-
6
<?xml encoding="utf-8" ??>Introduction TeamSpeak3 is a popular voice communication platform commonly used by gamers. This guide describes how to set up a TeamSpeak server on a Vultr Arch Linux i...
-
3
How to Install TeamSpeak Server on Debian 11 TeamSpeak is cross-platform voice chat software used by gamers, teams, and schools. It is lightweight and fast and offers you more control since you can host it on your server. It offers...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK