AI摘要
文章介绍在CentOS/Ubuntu/Docker上搭建TeamSpeak服务器的配置要求、必须放行的UDP 9987语音端口及TCP 30033、10011等端口,并提醒云主机需在安全组再次放行。
配置
基本要求:1核CPU,1GB内存,10GB硬盘
端口和协议
| 说明 | 协议 | 主机端口 | 是否放行 | 其他 |
|---|---|---|---|---|
| 语音服务 | UDP | 9987 | 放行 | 你说话的声音走这儿 |
| 文件传输 | TCP | 30033 | 放行 | 传文件、发骚图靠它 |
| 服务器查询(raw) | TCP | 10011 | 放行 | 管理员背后偷窥用的 |
| 服务器查询(SSH) | TCP | 10022 | 可选 | |
| 网络查询(http) | TCP | 10080 | 可选 | |
| 网络查询(https) | TCP | 10443 | 可选 | |
| TSDNS | TCP | 41144 | 可选 |
云服务器(阿里云、腾讯云、AWS)还要去网页控制台的安全组再放一次,别问为什么,问就是怕你被黑。
Linux 部署 TeamSpeak3
一、安装依赖与创建专用用户
1. 更新系统并安装工具
**Ubuntu / Debian**
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget bzip2 tar curl screen
**CentOS / Rocky / Alma**
sudo yum update -y
sudo yum install -y wget bzip2 tar curl screen2. 创建运行用户(安全加固)
sudo useradd -r -m -d /opt/teamspeak -s /usr/sbin/nologin teamspeak二、下载并解压服务端
# 切换到 teamspeak 用户
sudo -u teamspeak bash
# 进入工作目录
cd /opt/teamspeak
# 下载服务端
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
# 解压(直接解压到当前目录,覆盖原有结构)
tar -xvjf teamspeak3-server_linux_amd64-3.13.7.tar.bz2 --strip-components=1
# 删除压缩包
rm -f teamspeak3-server_linux_amd64-3.13.7.tar.bz2
# 退出 teamspeak 用户
exit
TeamSpeak 3 当前稳定版为 3.13.7(若需最新版,请访问官网下载页获取链接)
三、接受许可协议
TeamSpeak 要求显式接受许可协议:
sudo -u teamspeak touch /opt/teamspeak/.ts3server_license_accepted四、配置 systemd 服务(开机自启)
创建服务文件 /etc/systemd/system/teamspeak.service:
sudo tee /etc/systemd/system/teamspeak.service > /dev/null <<EOF
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
User=teamspeak
Group=teamspeak
Type=forking
WorkingDirectory=/opt/teamspeak
ExecStart=/opt/teamspeak/ts3server_startscript.sh start
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
PIDFile=/opt/teamspeak/ts3server.pid
Restart=always
[Install]
WantedBy=multi-user.target
EOF重载 systemd 并启动服务:
sudo systemctl daemon-reload
sudo systemctl start teamspeak
sudo systemctl enable teamspeak五、获取管理员权限密钥(非常重要)
首次启动时,服务端会在日志中生成一个 ServerAdmin 权限密钥。如果不保存此密钥,你将无法获得服务器管理权限。
查看密钥:
sudo journalctl -u teamspeak | grep -i "token"
# 或者直接查看日志文件
sudo grep -i "token" /opt/teamspeak/logs/ts3server_*.log输出示例:
[INFO] | ServerAdmin privilege key created, please use it to gain serveradmin rights: 6xQ8s9dFgH2jKlM3nPqR首次连接时会弹出窗口要求输入 ServerQuery 管理员密码(即上一步获得的 token),输入后即可进入服务器。
Docker 部署 TeamSpeak3
方式一:单容器快速部署
docker run -d \
--name teamspeak \
-p 9987:9987/udp \
-p 10011:10011 \
-p 10022:10022 \
-p 30033:30033 \
-e TS3SERVER_LICENSE=accept \
-v ts3-data:/var/ts3server \
--restart unless-stopped \
teamspeak:3方式二:Docker Compose 部署(推荐)
创建项目目录
mkdir -p ~/teamspeak && cd ~/teamspeak创建 docker-compose.yml
version: "3.8"
services:
teamspeak:
image: teamspeak:3
container_name: teamspeak-server
restart: unless-stopped
ports:
- "9987:9987/udp"
- "10011:10011/tcp"
- "10022:10022/tcp"
- "30033:30033/tcp"
environment:
TS3SERVER_LICENSE: "accept"
TS3SERVER_DB_PLUGIN: "ts3db_sqlite3"
TS3SERVER_DB_SQLCREATEPATH: "create_sqlite"
TS3SERVER_QUERY_PROTOCOLS: "raw,ssh"
volumes:
- ts3-data:/var/ts3server
deploy:
resources:
limits:
cpus: "1.0"
memory: 256M
volumes:
ts3-data:
driver: local启动服务
docker compose up -d查看运行状态
docker compose ps
docker compose logs获取管理员权限密钥
首次启动时,容器日志中会生成 ServerAdmin 权限密钥。务必保存此密钥,否则无法获得服务器管理员权限。
docker compose logs teamspeak-server 2>&1 | grep -i "token"输出示例:
ServerAdmin privilege key created, please use it to gain serveradmin rights: 6xQ8s9dFgH2jKlM3nPqR首次连接时会弹出窗口要求输入 ServerQuery 管理员密码(即上一步获得的 token),输入后即可进入服务器。
使用 TeamSpeak 客户端连接
- 下载 TeamSpeak 3 客户端 并安装
- 打开客户端,点击 Connections → Connect
- 输入服务器 IP 地址,端口 9987
- 首次连接时输入上面获取的 ServerAdmin 权限密钥(token),即可成为服务器管理员