AI摘要

文章介绍在CentOS/Ubuntu/Docker上搭建TeamSpeak服务器的配置要求、必须放行的UDP 9987语音端口及TCP 30033、10011等端口,并提醒云主机需在安全组再次放行。

配置

端口和协议

说明协议主机端口是否放行其他
语音服务UDP9987放行你说话的声音走这儿
文件传输TCP30033放行传文件、发骚图靠它
服务器查询(raw)TCP10011放行管理员背后偷窥用的
服务器查询(SSH)TCP10022可选
网络查询(http)TCP10080可选
网络查询(https)TCP10443可选
TSDNSTCP41144可选

云服务器(阿里云、腾讯云、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 screen

2. 创建运行用户(安全加固)

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),即可成为服务器管理员

如果觉得我的文章对你有用,请随意赞赏
END
本文作者:
文章标题:TeamSpeak 服务器搭建(Linux&Docker)
本文地址:https://blog.hh2xx.cn/archives/510/
版权说明:若无注明,本文皆HH の Blog's原创,转载请保留文章出处。