告别第三方语音:自己动手搭建 TeamSpeak 3 服务器

告别第三方语音:自己动手搭建 TeamSpeak 3 服务器

_

目录

  1. 什么是 TeamSpeak?
  2. 准备工作
  3. Linux 服务器安装
  4. Windows 服务器安装
  5. Docker 快速部署(推荐)
  6. 基础配置与权限管理
  7. 防火墙与端口转发
  8. 配置 SSL 加密(可选)
  9. 设置开机自启
  10. 客户端连接与使用
  11. 常见问题

什么是 TeamSpeak?

TeamSpeak 是一款老牌的语音通讯软件,采用客户端-服务端(Client-Server)架构,广泛用于游戏开黑、远程协作、在线教学等场景。相比 Discord 等平台,TeamSpeak 最大的优势在于:

  • 完全自托管 —— 数据在自己手里,不依赖第三方平台
  • 低延迟高音质 —— Opus 编码,带宽占用极小
  • 丰富的权限系统 —— 精细到每个频道、每个用户
  • 免费 —— 非商业用途下,服务器端可免费承载最多 32 个用户(默认授权),超出可申请非商业授权(NPL)

授权说明: 默认安装后,服务器允许最多 32 个同时在线用户和 1 个虚拟服务器。如需更大规模,可以前往 TeamSpeak 官网申请 Non-Profit License(NPL),免费扩容至 512 用户。商业用途需购买付费授权。


准备工作

在开始之前,请确认你具备以下条件:

  • 一台拥有公网 IP 的云服务器(推荐阿里云、腾讯云,操作系统建议 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8)
  • 服务器的 root 或 sudo 权限
  • 基本的 Linux 命令行操作能力
  • (可选)一个域名,方便团队成员记忆地址
项目 最低配置 推荐配置
CPU 1 核 2 核以上
内存 512 MB 1 GB 以上
带宽 1 Mbps 5 Mbps 以上
系统 Ubuntu 20.04 / CentOS 7 Ubuntu 22.04 LTS

💡 提示: 腾讯云轻量应用服务器或阿里云 ECS 的入门款(约 50 元/月)就完全够用,10 人同时语音的流量远没有你想的那么大。


Linux 服务器安装

这是最主流、最推荐的部署方式。以下以 Ubuntu 22.04 LTS 为例。

第一步:SSH 连接服务器

ssh root@你的服务器IP

第二步:创建专用系统用户

出于安全考虑,不要用 root 直接运行 TeamSpeak 服务。

# 创建用户(不允许登录,纯服务账户)
sudo adduser --disabled-login --gecos "" teamspeak

第三步:下载并安装 TeamSpeak 服务端

# 切换到 teamspeak 用户的家目录
cd /home/teamspeak

# 下载最新版 TeamSpeak 3 服务端(请访问官网确认最新版本号)
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

# 解压
tar -xjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2

# 进入目录
cd teamspeak3-server_linux_amd64

# 将文件复制到统一路径
sudo cp -r . /opt/teamspeak
sudo chown -R teamspeak:teamspeak /opt/teamspeak

💡 注意版本号: 请前往 TeamSpeak 官网下载页 确认当前最新版本。目前稳定版为 3.13.7。

第四步:首次启动并获取 ServerAdmin 密钥

cd /opt/teamspeak
sudo -u teamspeak ./ts3server_startscript.sh start

首次启动后,终端会输出类似以下内容:

------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
               Server Query Admin Account created
         loginname= "serveradmin", password= "xxxxxxx"
              ServerAdmin privilege key created,
        please use it to gain serveradmin rights on your
        virtual server! (token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
------------------------------------------------------------------

⚠️ 务必保存! 上面这段输出中的 token 是你获得服务器管理员权限的唯一凭据,丢失后只能重置。请立即复制并妥善保管。ServerAdmin 密码是 Query 接口的登录凭证,也同样重要。

执行 start 后服务已经在后台运行。如果你想先停下,可以用:

sudo -u teamspeak ./ts3server_startscript.sh stop

稍后我们会用 systemd 来管理服务的启停,所以暂时不管也没关系。


Windows 服务器安装

如果你用的是 Windows Server,操作步骤同样简单:

  1. 前往 TeamSpeak 官网下载 Windows 版服务端(.zip 格式)
  2. 解压到 C:\teamspeak(或任意路径)
  3. 双击运行 ts3server.exe,首次启动会显示 token 和密码
  4. 创建防火墙入站规则,放行 9987(UDP)、10011(TCP)、30033(TCP) 端口

⚠️ 生产环境不建议用 Windows 跑 TeamSpeak。Linux 更稳定,资源占用更少,社区支持也更丰富。


Docker 快速部署(推荐)

如果你熟悉 Docker,这是最快的方式——一行命令搞定:

docker run -d \
  --name teamspeak \
  --restart unless-stopped \
  -p 9987:9987/udp \
  -p 10011:10011 \
  -p 30033:30033 \
  -e TS3SERVER_LICENSE=accept \
  -v teamspeak-data:/var/ts3server \
  teamspeak:latest

首次启动后,查看日志获取 token:

docker logs teamspeak | grep token

使用 Docker Compose 的版本:

version: "3.8"
services:
  teamspeak:
    image: teamspeak:latest
    container_name: teamspeak
    restart: unless-stopped
    environment:
      - TS3SERVER_LICENSE=accept
    ports:
      - "9987:9987/udp"
      - "10011:10011"
      - "30033:30033"
    volumes:
      - ./ts3-data:/var/ts3server

保存为 docker-compose.yml,然后 docker-compose up -d 即可。


基础配置与权限管理

使用 ServerAdmin Token

Step 1 — 下载客户端并连接

TeamSpeak 官网 下载 TS3 客户端,安装后连接到你的服务器 IP。首次连接时客户端会自动弹出权限提升对话框,在此输入你的 token。

Step 2 — 提升为 Server Admin

输入 token 后,你的身份将提升为 Server Admin(服务器管理员),拥有所有管理权限。

Step 3 — 创建频道结构

右键服务器名称 →「Create Channel」,按需创建大厅、游戏频道、AFK 频道等。可以设置频道密码、最大用户数、发言权限等。

频道结构建议

🏠 我的服务器
├── 📢 大厅(默认进入频道)
├── 🎮 游戏区
│   ├── 队伍 A
│   └── 队伍 B
├── 💬 闲聊区
├── 🔒 管理区(加密)
└── 😴 AFK(自动移入)

防火墙与端口转发

TeamSpeak 默认使用以下端口:

端口 协议 用途
9987 UDP 语音通讯(主要端口)
10011 TCP ServerQuery(远程管理接口)
30033 TCP 文件传输
41144 TCP TSDNS(用于客户端通过域名发现服务器)

UFW 防火墙(Ubuntu)

sudo ufw allow 9987/udp
sudo ufw allow 10011/tcp
sudo ufw allow 30033/tcp
sudo ufw enable

云服务商安全组

别忘了在阿里云/腾讯云控制台的安全组(防火墙)中添加入站规则,放行以上端口。这是最容易遗漏的一步

iptables(传统方式)

sudo iptables -A INPUT -p udp --dport 9987 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 10011 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 30033 -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4

配置 SSL 加密(可选)

默认情况下,TeamSpeak 的管理接口(ServerQuery)使用明文 TCP 通信。如果你希望增强安全性,可以改用 SSH 加密:

编辑 ts3server.ini(首次启动后会自动生成):

sudo -u teamspeak vi /opt/teamspeak/ts3server.ini

添加以下配置:

query_protocols=raw,ssh
query_ssh_ip=0.0.0.0
query_ssh_port=10022

重启服务生效(如果你已经配置了 systemd,也可以用 sudo systemctl restart teamspeak):

sudo -u teamspeak /opt/teamspeak/ts3server_startscript.sh restart

之后连接 ServerQuery 时使用 SSH 端口 10022 即可,通信内容将被加密。

💡 对语音流量本身的 SSL 加密需要额外配置证书并修改 voice_ip 相关参数,操作较复杂。对于大多数游戏开黑场景,管理接口加密已经足够,语音流量走 UDP 也不容易被中间人窃听。


设置开机自启

创建 systemd 服务文件,确保服务器重启后自动运行:

sudo vi /etc/systemd/system/teamspeak.service

写入以下内容:

[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
Type=forking
User=teamspeak
Group=teamspeak
WorkingDirectory=/opt/teamspeak
ExecStart=/opt/teamspeak/ts3server_startscript.sh start
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
PIDFile=/opt/teamspeak/ts3server.pid
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable teamspeak
sudo systemctl start teamspeak
sudo systemctl status teamspeak   # 检查运行状态

客户端连接与使用

连接服务器

  1. 打开 TeamSpeak 3 客户端
  2. 点击菜单栏 Connections → Connect(或 Ctrl + S
  3. 在 Server Address 填入服务器 IP 或域名
  4. Nickname 填入你的昵称
  5. 点击 Connect 即可加入

移动端连接

TeamSpeak 3 提供 iOS 和 Android 客户端,在 App Store / Google Play 搜索「TeamSpeak 3」即可下载。连接方式与桌面端完全一致。

常用快捷键

快捷键 功能
Ctrl + S 打开连接对话框
自定义按键 语音激活 / 按键发言切换
Ctrl + M 静音麦克风
Ctrl + Shift + M 静音扬声器

常见问题

Q: 客户端连接显示「Failed to connect to server」?

检查三点:① 服务器是否在运行(systemctl status teamspeak);② 云服务器安全组是否放行了 9987/UDP 端口;③ 服务商是否封了常见语音端口(部分国内 VPS 会限制)。

Q: 忘记 ServerAdmin token 了怎么办?

停止服务,删除 /opt/teamspeak/ts3server.sqlitedb(这会清空所有数据),重新启动后会生成新的 token。如果只是想重置 token 而不丢数据,可以在数据库中找到 tokens 表进行操作。

Q: 如何升级 TeamSpeak 服务端?

下载新版本,停止服务,覆盖文件(保留 ts3server.sqlitedb 和配置文件),重新启动即可。数据库会自动迁移。

Q: 超过 32 人怎么办?

前往 TeamSpeak 授权页面 申请 NPL(Non-Profit License),免费扩容至 512 用户和 2 个虚拟服务器。需要填写用途说明,审核通常需要 2-5 个工作日。

Q: 可以用域名代替 IP 吗?

当然可以。将域名的 A 记录指向服务器 IP,然后在客户端连接时填写域名即可。此外建议添加一条 SRV 记录:_ts3._udp.yourdomain.com,方便用户直接用 yourdomain.com 连接。

Q: TeamSpeak 5 / TeamSpeak 6 的情况?

TeamSpeak 5 曾长期处于 Beta 阶段,TeamSpeak 官方在 2025 年后发布了新一代 TeamSpeak 6 版本,带来全新 UI 和更现代的功能。但目前服务端仍然是 TeamSpeak 3 兼容模式,本文的搭建方法对 TS5/TS6 客户端同样有效。


技术博客 · 欢迎分享 · 如有疑问欢迎交流

Pi-hole 网络级去广告 DNS 部署手记 2026-08-09

评论区