自建TeamSpeak服务器的方法记录

本文最后更新于 2025年1月30日 下午

为什么想要开个 TeamSpeak 服务器

前几天,跨年时,和服务器里的小伙伴一起唱了歌。用的什么语音软件呢,QQ群通话。这音质实在是不太能接受的了。放音乐伴奏根本没法听清楚。最后根本没对的上。心意已至,也没什么别的好说的了。然而我还是想有更好的语音环境,哪怕我们平时很少使用。

我选择了 TeamSpeak ,在这个领域其实很有名的软件。大多游戏赛事类的活动都是使用的 TeamSpeak 。

还有一个一个开源的免费替代,叫 munble 。这是我在已经搭建好服务器后才了解到的,所以没有使用。很有兴趣也可以了解啊。

搭建 TeamSpeak 有个条件,或者说你想免费使用的条件:服务器的人数不超过 32 人。小于等于这人数则 TeamSpeak 的使用免费,超过这数量则需要购买 TeamSpeak 的许可证了。

服务器常在的人不超过 32 ,我不用担心这个限制。

首先要先有一个服务器。这一步有很多方案。如果取得了公网 IP 那么不需要另外的服务器了,只需要找一台可以持续运行的电脑来运行 TeamSpeak 服务端。如果没这么幸运,没有公网 IP 可以租任何可靠的云服务器。(腾讯云、阿里云、或者别的更便宜的都行)

系统可以选 Windows Server、别的 linux 发行版。(实则 Windows Server 会少很多怪问题)此处我是用先前就有的阿里云 debian 服务器。

安装

连接服务器

首先连接到你的服务器。如果是 WIndows Server 就远程桌面连接,GNU/Linux 则 SSH 连接。接下来我就会一直遵循 linux 一系的步骤了。

创建一个 TeamSpeak 专用的用户

接下来,我们创建一个用户。不要用 root 账户哦,可能会有奇怪的问题。

理论上来说,如果你用自己的普通用户账户也是没问题的,新建一个用户安全性更高。

1
adduser --disabled-login ts3

名字叫什么就看喜好了。

adduser是一个傻瓜式脚本,它会交互式地问你如何设置账户每项。大部分都是可以留空的!当然也可以用useradd,提前再新建一个用户组就可以了。

这里我们可以不用 ts3 这个账户登陆。可以直接使用有权限的账户完成以下操作。这里我用的是 root ,普通账户可用sudo

下载服务端

下载 TeamSpeak 服务端。这一步就有些麻烦,根据地区不同,服务端可能下载速率不同,可能下载的很慢。使用魔法可以解决。也可以想办法本地下好之后用 ftp 或者 scp 传到服务器上。

认准 https://www.teamspeak.com/en/downloads/#server官方网址。一定不要从那个 TeamSpeak 中文站下载。那个是假的!

详细看这里 https://teamspeak.app/docs/advanced/why-not-ts-cn/

根据自己的系统版本下载对应的服务端。

我选择图片中的LINUX SERVER 64-BIT

首先进到 ts3 的home 目录。

1
cd /home/ts3

点旁边那个复制按钮,然后到服务器下载。

1
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

解压

1
2
tar -xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
cd teamspeak3-server_linux_amd64

运行

同意 TeamSpeak 条款

然而我们还不能直接运行 TeamSpeak ,因为我们要先同意 TeamSpeak 的条款。运行这个命令创建同意文件。

1
touch .ts3server_license_accepted

接下来,如果你也是用 root 完成的这些操作,我们需要更改一下这些文件的所属权,不然ts3这个用户是没法运行 TeamSpeak 的。

1
2
cd /home/ts3
chown -R ts3:ts3 teamspeak3-server_linux_amd64

用 Systemd 管理

然后我们就可以启动了。可以编写一个 service 文件,方便我们使用 systemd 管理。

1
vim /lib/systemd/system/teamspeak.service

以下是内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/home/ts3/teamspeak3-server_linux_amd64
User=ts3
Group=ts3
Type=forking
ExecStart=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/ts3/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
PIDFile=/home/ts3/teamspeak3-server_linux_amd64/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

保存后重载系统服务

1
systemctl daemon-reload

设置开机自启,并且立即启动

1
2
3
systemctl enable --now teamspeak
# 查看一下状态
systemctl status teamspeak

应该可以看到正常运行了。

enabled了

防火墙放行端口

现在我们去防火墙放行端口。如果你是云服务器的话这一步一般都是必要的。

参考 https://support.teamspeak.com/hc/en-us/articles/360002712257-Which-ports-does-the-TeamSpeak-3-server-use

这个表摘取自这篇:

Service Protocol Local Port (Server) Required?
Voice UDP 9987 Yes
Filetransfer TCP 30033 Yes
ServerQuery (raw) TCP 10011 Optional
ServerQuery (SSH) TCP 10022 Optional
WebQuery (http) TCP 10080 Optional
WebQuery (https) TCP 10443 Optional
TSDNS TCP 41144 Optional

其实这里面有的我也不知道有什么用,不过我全放行了。

连接服务器!

获取 Key

连接界面

此时我们已经可以连接了。第一次连接的时候,不需要填写密码,只需要填写服务器地址和名称。然后会发现 TeamSpeak 问我们要一个 Key ,因为我们是连接的第一个用户,要作为服务器的管理员。这个码可以在服务端处找到。

再来到服务器,运行命令

1
cat /home/teamspeak/teamspeak3-server_linux_amd64/logs/ts3server_*

此时里面会有很多内容,我问需要寻找这样的一行:

1
2
ServerAdmin privilege key created, please use the line below
token=xxxxxxxxxxxxxxxxxxxx

我们需要做的就是复制下面的那一行 Key (包括 ”token=“ !),粘贴进 TeamSpeak的那个框中。接下来我们就会以服务器管理员的身份登陆服务器。

如果不出意外的话,我们就已经可以登陆服务器了。


自建TeamSpeak服务器的方法记录
https://www.appe.moe/2025/01/30/自建TeamSpeak服务器的方法记录/
作者
APPE
发布于
2025年1月30日
许可协议