部署 TeamSpeak 3

准备

首先需要一台 Ubuntu 24.04 服务器。

设置一下这几个端口:

9987/udp:语音,必需
30033/tcp:文件传输,必需
10011/tcp:ServerQuery,可选

从官网下载 TeamSpeak 3 服务端并解压

sudo apt update
sudo apt install -y curl bzip2 ca-certificates

TS_VER="3.13.7"
TS_SHA256="775a5731a9809801e4c8f9066cd9bc562a1b368553139c1249f2a0740d50041e"
INSTALL_DIR="/opt/teamspeak3"

sudo install -d -m 0755 "${INSTALL_DIR}"
cd /tmp

curl -fL -o "teamspeak3-server_linux_amd64-${TS_VER}.tar.bz2" \
  "https://files.teamspeak-services.com/releases/server/${TS_VER}/teamspeak3-server_linux_amd64-${TS_VER}.tar.bz2"

echo "${TS_SHA256}  teamspeak3-server_linux_amd64-${TS_VER}.tar.bz2" | sha256sum -c -

sudo tar -xjf "teamspeak3-server_linux_amd64-${TS_VER}.tar.bz2" \
  -C "${INSTALL_DIR}" \
  --strip-components=1

创建一个 teamspeak3 用户,仅给予必要权限

sudo useradd \
  --system \
  --home-dir /opt/teamspeak3 \
  --shell /usr/sbin/nologin \
  --user-group \
  teamspeak3

sudo chown -R teamspeak3:teamspeak3 /opt/teamspeak3
sudo chmod -R u=rwX,g=rX,o= /opt/teamspeak3

以该用户身份运行 TeamSpeak 3 服务器

sudo -u teamspeak3 -H bash -lc '
  cd /opt/teamspeak3
  touch .ts3server_license_accepted
  ./ts3server_minimal_runscript.sh
'

然后会拿到一个 Server Admin Token ID,记得用。

添加开机自启动

创建 systemd 单元文件:

sudo tee /etc/systemd/system/teamspeak3.service > /dev/null <<'EOF'
[Unit]
Description=TeamSpeak 3 Server
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=teamspeak3
Group=teamspeak3
WorkingDirectory=/opt/teamspeak3
ExecStart=/opt/teamspeak3/ts3server_minimal_runscript.sh
Restart=on-failure
RestartSec=5
LimitNOFILE=100000

NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=true
ReadWritePaths=/opt/teamspeak3
CapabilityBoundingSet=
AmbientCapabilities=
RestrictSUIDSGID=true
LockPersonality=true

[Install]
WantedBy=multi-user.target
EOF

加载并启动:

sudo systemctl daemon-reload
sudo systemctl enable --now teamspeak3
sudo systemctl status teamspeak3 --no-pager -l
sudo journalctl -u teamspeak3 -n 50 --no-pager

没问题的话可以 Ctrl + C 退出,然后:

sudo systemctl start teamspeak3

就可以在关闭终端时保持服务器开启了。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注