群晖上搭建teamspeak3语音服务器

什么是 TeamSpeak ?
TeamSpeak(简称TS)是一款团队语音通讯工具,但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成,如果不是想自己架设TS服务器,只需下载客户端程序即可。Teamspeak依靠先进的体系结构,方便灵活的应用功能,特别是领先的多媒体技术,为用户提供了一款强大的网络通讯工具。
安装
建数据库
老苏用了群晖自带的 MariaDB 10 数据库。

在 phpMyAdmin 中创建名为 teamspeak 的空数据库。
为便于说明,假设数据库密码为
123456

所以根据上面的设置,最后得到的数据库相关的参数如下:
- 数据库主机:
192.168.0.197,与群晖主机IP一致; - 数据库端口:
3307; - 数据库用户:
teamspeak - 数据库密码:
123456 - 数据库库名:
teamspeak,因为勾选了与用户同名;
安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 teamspeak ,选择第一个 teamspeak,版本选择 latest。
本文写作时,
latest版本对应为3.13.7;

卷
在 docker 文件夹中,创建一个新文件夹 teamspeak,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/teamspeak/data | /var/ts3server | 存放设置、日志等 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 | 协议 |
|---|---|---|
9987 | 9987 | UDP |
30033 | 30033 | TCP |
10011 | 10011 | TCP |

关于
TeamSpeak 3端口的说明

上图截取自:https://support.teamspeak.com/hc/en-us/articles/360002712257-Which-ports-does-the-TeamSpeak-3-server-use
环境
| 可变 | 值 |
|---|---|
TS3SERVER_DB_PLUGIN | 控制数据库类型,设为 TS3SERVER_DB_WAITUNTILREADY |
TS3SERVER_DB_SQLCREATEPATH | 用于初始化数据库的 sql 脚本的路径,设为 create_mariadb |
TS3SERVER_DB_HOST | 数据库主机地址 |
TS3SERVER_DB_PORT | 数据库主机端口 |
TS3SERVER_DB_USER | 数据库用户 |
TS3SERVER_DB_PASSWORD | 数据库密码 |
TS3SERVER_DB_NAME | 数据库库名 |
TS3SERVER_DB_WAITUNTILREADY | 数据库等待时间,设为 30 |
TS3SERVER_LICENSE | 设为 accept |

更多的环境变量,请参考官方文档:https://github.com/docker-library/docs/tree/master/teamspeak#environment-variables
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 teamspeak 和 子目录
mkdir -p /volume1/docker/teamspeak/data# 进入 teamspeak 目录
cd /volume1/docker/teamspeak# 运行容器
docker run -d \--restart always \--name teamspeak \-p 9987:9987/udp \-p 30033:30033 \-p 10011:10011 \-v $(pwd)/data:/var/ts3server \-e TS3SERVER_DB_PLUGIN=ts3db_mariadb \-e TS3SERVER_DB_SQLCREATEPATH=create_mariadb \-e TS3SERVER_DB_HOST=192.168.0.197 \-e TS3SERVER_DB_PORT=3307 \-e TS3SERVER_DB_USER=teamspeak \-e TS3SERVER_DB_PASSWORD=123456 \-e TS3SERVER_DB_NAME=teamspeak \-e TS3SERVER_DB_WAITUNTILREADY=30 \-e TS3SERVER_LICENSE=accept \teamspeak
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3.1'services:teamspeak:image: teamspeakcontainer_name: teamspeakrestart: alwaysports:- 9987:9987/udp- 30033:30033- 10011:10011volumes:- ./data:/var/ts3serverenvironment:TS3SERVER_DB_PLUGIN: ts3db_mariadbTS3SERVER_DB_SQLCREATEPATH: create_mariadbTS3SERVER_DB_HOST: 192.168.0.197TS3SERVER_DB_PORT: 3307TS3SERVER_DB_USER: teamspeakTS3SERVER_DB_PASSWORD: 123456TS3SERVER_DB_NAME: teamspeakTS3SERVER_DB_WAITUNTILREADY: 30TS3SERVER_LICENSE: accept
然后执行下面的命令
# 新建文件夹 teamspeak 和 子目录
mkdir -p /volume1/docker/teamspeak/{data,mysql}# 进入 teamspeak 目录
cd /volume1/docker/teamspeak# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
容器成功启动后,在的日志中,会看到
token=bfIo9mvaU+lrhwTDBjj0zI7TfOOwoOGyD9AqD6Z2

往上拉,还会看到管理员账号和密码
loginname= "serveradmin", password= "ZKowB7sM"
apikey= "BACDrGFPK9fKhyyTC76MjhZW6xpHlKbtPnVvIfN"

客户端
客户端下载地址:https://teamspeak.com/en/downloads/
第一次运行客户端,Nickname 中填serveradmin,Server Password 中填入 password 的值

Privillege key 中填入 token 值,

这个 token 值是一次性的

连接成功之后

服务器日志中会显示

其他自定义用户连接,不需要填 Server Password

直接连接就可以了,但默认的Server Groups 是不一样的

参考文档
TeamSpeak Systems GmbH
地址:https://github.com/TeamSpeak-Systems
Home | TeamSpeak
地址:https://teamspeak.com/zh-CN/
TeamSpeak - The Future of Online Communication
地址:https://new.teamspeak.com/
TeamSpeak-Systems/ts-services at beta-58rc20
地址:https://github.com/TeamSpeak-Systems/ts-services/tree/beta-58rc20
相关文章:
群晖上搭建teamspeak3语音服务器
什么是 TeamSpeak ? TeamSpeak (简称 TS)是一款团队语音通讯工具,但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成,如果不是想自己架设 TS 服务器,只需下载客户端程…...
Python爬虫(二十四)_selenium案例:执行javascript脚本
本章叫介绍如何使用selenium在浏览器中使用js脚本,更多内容请参考:Python学习指南 隐藏百度图片 #-*- coding:utf-8 -*- #本篇将模拟执行javascript语句from selenium import webdriver from selenium.webdriver.common.keys import Keysdriver webdri…...
Devops团队
DevOps(Development 和 Operations的缩写)是一种软件开发和运维(IT运营)之间协作和沟通的文化、原则和实践。DevOps团队是专注于实施DevOps原则的团队,旨在促进软件开发和运维之间的紧密协作,以加速软件交付…...
力扣labuladong——一刷day10
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣76. 最小覆盖子串二、力扣567. 字符串的排列三、力扣438. 找到字符串中所有字母异位词四、力扣3. 无重复字符的最长子串 前言 一、力扣76. 最小覆盖子串…...
https下载图片
OpenSSL用法示例 OpenSSL源码安装 对于ubuntu,懒得编译源码可以直接安装 sudo apt-get install libssl–dev /usr/include/openssl/ssl.h CMakeLists中添加 link_libraries(ssl crypto) apt-get安装不需要再制定libssl.a, libcrypto.a的路径了, 就像用libc标…...
二叉树的后续遍历(迭代法)
迭代法实现二叉树的后续遍历 1、递归版本 public static void dfs(TreeNode root){if(rootnull){return;}if(root.left!null)dfs(root.left);if(root.right!null)dfs(root.right);System.out.println(root.val); }从递归版本可以看出我们第一步需要遍历完所有的左节点 这里我…...
CVE-2021-41773/42013 apache路径穿越漏洞
影响范围 CVE-2021-41773 Apache HTTP server 2.4.49 CVE-2021-42013 Apache HTTP server 2.4.49/2.4.50 漏洞原理 Apache HTTP Server 2.4.49版本使用的ap_normalize_path函数在对路径参数进行规范化时会先进行url解码,然后判断是否存在…/的路径穿越符…...
前端性能测试工具WebPagetest
简介:一款web性能在线性能评测工具,可测试有关页面在各种条件下的性能,并且提供深入诊断信息。 WebPagetest 的主页:https://www.webpagetest.org/,也就是工具的使用界面。 注意:WebPageTest 并不是完全免…...
易语言软件定制软件开发脚本开发协议软件电脑网站APP应用视频制作工程制作
随着信息技术的不断发展,易语言软件定制开发已成为许多公司的一项重要业务。本文将探讨如何利用易语言承接软件定制软件开发脚本开发协议软件电脑网站APP应用视频制作工程制作。 一、易语言概述 易语言是一种简单易学的编程语言,它采用中文编程ÿ…...
Windows上配置IP端口转发
在通常涉及到使用网络地址转换(NAT)规则,可以使用一些工具和命令行选项来实现。以下是在Windows上配置端口转发的一般步骤: **注意:端口转发需要管理员权限,因此请确保以管理员身份运行命令行工具。** 1.…...
韦东山D1S板子——汇编启动代码第一行分析(.long 0x0300006f)
1、汇编启动源码 2、分析二进制:0x0300006f 2.1、反汇编代码 2.2、jal指令 jal指令的作用:跳转到当前PC值偏移offset处执行,其中offset由jal指令的bi[31:12]表示; 2.3、分析指令:j 20030 <reset> j 20030 //伪…...
了解单域名证书和通配符证书的区别,选择合适的SSL证书解决方案
随着互联网的不断发展,网站安全性问题一直备受关注,在保护网站数据安全的过程中,SSL证书一直发挥着至关重要的作用。而在选择SSL证书时,单域名证书和通配符证书是两种常见的选择。本文将详细介绍单域名证书和通配符证书的区别&…...
【LeetCode】7. 整数反转
题目链接 文章目录 Python3官方解法 ⟮ O ( ∣ x ∣ ) 、 O ( 1 ) ⟯ \lgroup O(|x|)、O(1)\rgroup ⟮O(∣x∣)、O(1)⟯写法2写法3 C官方解法 ⟮ O ( ∣ x ∣ ) 、 O ( 1 ) ⟯ \lgroup O(|x|)、O(1)\rgroup ⟮O(∣x∣)、O(1)⟯ Python3 官方解法 ⟮ O ( ∣ x ∣ ) 、 O ( 1…...
防止请求重复提交:注解+拦截器的实现方案
文章目录 了解请求重复提交解决思路具体实现 了解请求重复提交 请求重复提交是指用户在一次请求还未处理完成时,重复提交了相同的请求。这种情况通常发生在网络延迟、用户误操作或系统性能不佳等情况下。 请求重复提交可能会导致以下问题和影响: 数据不…...
C#使用mysql-connector-net驱动连接mariadb报错
给树莓派用最新的官方OS重刷了一下,并且用apt install mariadb-server装上“mysql”作为我的测试服务器。然后神奇的事情发生了,之前用得好好的程序突然就报错了,经过排查,发现在连接数据库的Open阶段就报错了。写了个最单纯的Con…...
SpringBoot 定时任务:@EnableScheduling @Scheduled
Scheduled注解参数 cron参数 这个参数是最经常使用的参数,表示接收一个cron参数,cron它是一个表达式,最多接收7个参数,从左到右分别表示:秒 分 时 天 月 周 年;参数以空格隔开,其中年不是必须参…...
Jquery 如何获取子元素。如何找到所有 HTML select 标签的选中项。jQuery 里的 ID 选择器和 class 选择器有何不同
可以使用 jQuery 的子选择器(Child Selector)或 find() 方法来获取子元素。 子选择器(Child Selector): 使用父元素的选择器和 > 符号来选取该父元素的子元素。 例如:选取 id 为 parent 的元素内所有 cl…...
Python Selenium 之数据驱动测试的实现!
数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据。可以将测试脚本…...
【Proteus仿真】【STM32单片机】智能语音家居陪护机器人
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用OLED显示模块、红外传感器、蜂鸣器、DS18B20温度传感器,风扇LED、语音识别模块等。 主要功能: 系统运行后,…...
C#上位机序列10: 批量读写+点对点更新+数据类型处理
一、源码结构 二、运行效果 三、源码解析 PLC批量读写点对点更新数据类型处理 优点:根据数据类型,判定监听的地址范围(40120_int 监听两个word:40120 40121;40130_long 监听四个word:40130 40131 40132 4…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
