TeamSpeak 服务器搭建指南(Liunx)

在 2020 年 02 月 28 日的时候，我们上线了我们自己的 TeamSpeak 频道 Alkaid Pro，时隔数个月，我们来好好的谈一谈 我们的 TeamSpeak 频道建设全过程，以及中间的踩坑心得

准备

搭建一个私有的 TeamSpeak 服务器需要准备以下东西

一台服务器

一个域名（可选）

在开始之前，请确保你的操作系统是最新的。我们推荐使用最新的 LTS 版本，如 Ubuntu 22.04 LTS 或 Debian 11。

您可以用 uname -a 命令来检查你的 Linux Kernel 版本

系统基础配置

当安装完毕操作系统后，建议你第一时间打开终端，然后进行系统更新，安装软件日常更新补丁和系统安全补丁。

Copy
sudo apt update && sudo apt -y upgrade && sudo apt -y install curl vim wget git sudo unzip apt-transport-https screen ca-certificates dialog softw

当然，如果你觉得你下载或者更新软件的速度有些慢，可以考虑执行命令替换软件所使用的软件源地址，我个人比较喜欢将替换为 “北京外国语大学开源软件镜像站”，然后再执行上面的命令：

Copy
cat <<'EOF' > /etc/apt/sources.list

deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.bfsu.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

EOF

等待软件和系统补丁更新完毕之后，执行重启操作，让补丁生效即可（首次更新，会更新内核）。

Copy
sudo reboot

下载 TeamSpeak 服务端

进入 /opt 目录

Copy
cd /opt

下载 Liunx 服务端

从 TeamSpeak 官网中获取最新 Liunx Server 64-bit 服务端并下载

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

因为 TeamSpeak 服务器到中国大陆的线路质量不佳，可能会出现下载缓慢或者下载失败的情况。此时您可以将 files.teamspeak-services.com 替换为 teamspeak-mirror.wevg.org (韩国首尔，推荐) 或者 files.ts.gkd.plus (中国大陆优化 CDN)

比如

Copy
wget https://teamspeak-mirror.wevg.org/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

或者

wget https://files.ts.gkd.plus/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2

解压 Liunx 服务端

解压并清除 TeamSpeak 服务端压缩包

Copy
tar -xjvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2 && rm teamspeak3-server_linux_amd64-3.13.7.tar.bz2

为了保证系统的安全，我们通常不使用 root 账户配置 TeamSpeak 服务器，所以我们在此新建一个名为 teamspeak 用户

Copy
useradd teamspeak

赋予刚刚新建的用户权限，并进入该 teamspeak 目录

Copy
chown -R teamspeak:teamspeak teamspeak3-server_linux_amd64 && cd /opt/teamspeak3-server_linux_amd64 && su teamspeak

安装 Liunx 服务端

在启动服务器之前您需要同意许可条款

Copy
touch .ts3server_license_accepted

启动服务器

Copy
./ts3server_startscript.sh start

设置自启动

如果您需要让 TeamSpeak 服务器在开机的时候自动启动的话，可以按照此处进行编写 service 文件。请注意此步需要 root 权限

创建 teamspeak.service 文件并编辑

vim /lib/systemd/system/teamspeak.service

在文件中输入并且保存下方内容

Copy
[Unit]
Description=Teamspeak, The most superior online voice communication solution.
Wants=network-online.target
After=syslog.target network.target network-online.target

[Service]
User=teamspeak
Group=teamspeak
WorkingDirectory=/opt/teamspeak3-server_linux_amd64/
ExecStart=/opt/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/opt/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
PIDFile=/opt/teamspeak3-server_linux_amd64/ts3server.pid
Type=forking

[Install]
WantedBy=multi-user.target

输入 :wq 退出并且保存

然后重新加载 systemd

systemctl daemon-reload

可用命令

这个时候您可以直接在命令行中使用下面这些命令

开启自启动

systemctl enable teamspeak.service

启动 TeamSpeak

systemctl start teamspeak.service

停止 TeamSpeak

systemctl stop teamspeak.service

重启 TeamSpeak

systemctl restart teamspeak.service

配置连接

防火墙设置

TeamSpeak 默认情况下需要下表中的端口，请在防火墙中配置以下端口

端口 | 协议 | 说明
9987 | UDP | 默认语音服务器端口
30033 | TCP | 文件传输端口

域名设置（可选）

一般情况您可以直接将域名解析至您的服务器 IP 即可，但这样子会直接暴露服务器的 IP，这个时候我们可以通过域名 SRV 的来绑定你的 Teamspeak 服务器

SRV 并不支持 IP 形式记录，所以在此之前先将一个子域名绑定到 TS 服务器，这里以 dc.hexg.me 为例子

类别 | 记录值
名称 | _ts3._udp.ts.hexg.me
Priority | 5
Weight | 0
Port | 9987
Address | dc.hexg.me