在 2020 年 02 月 28 日的時候,我們上線了我們自己的 TeamSpeak 頻道 Alkaid Pro,時隔數個月,我們來好好談一談 我們的 TeamSpeak 頻道建設過程,以及中間的踩坑心得
準備#
搭建一個私有的 TeamSpeak 伺服器需要準備以下東西
- 一台伺服器
- 一個域名(可選)
在開始之前,請確保你的操作系統是最新的。我們推薦使用最新的 LTS 版本,如 Ubuntu 22.04 LTS 或 Debian 11。
您可以用 uname -a
命令來檢查你的 Linux Kernel 版本
系統基礎配置#
當安裝完畢操作系統後,建議你第一時間打開終端,然後進行系統更新,安裝軟體日常更新補丁和系統安全補丁。
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
當然,如果你覺得你下載或者更新軟體的速度有些慢,可以考慮執行命令替換軟體所使用的軟體源地址,我個人比較喜歡將替換為 “北京外國語大學開源軟體鏡像站”,然後再執行上面的命令:
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
等待軟體和系統補丁更新完畢之後,執行重啟操作,讓補丁生效即可(首次更新,會更新內核)。
sudo reboot
下載 TeamSpeak 伺服器#
進入 /opt 目錄
cd /opt
下載 Liunx 伺服器#
從 TeamSpeak 官網中獲取最新 Liunx Server 64-bit 伺服器並下載
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)
比如
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 伺服器壓縮包
tar -xjvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2 && rm teamspeak3-server_linux_amd64-3.13.7.tar.bz2
為了保證系統的安全,我們通常不使用 root 賬戶配置 TeamSpeak 伺服器,所以我們在此新建一個名為 teamspeak 用戶
useradd teamspeak
賦予剛剛新建的用戶權限,並進入該 teamspeak 目錄
chown -R teamspeak:teamspeak teamspeak3-server_linux_amd64 && cd /opt/teamspeak3-server_linux_amd64 && su teamspeak
安裝 Liunx 伺服器#
在啟動伺服器之前您需要同意許可條款
touch .ts3server_license_accepted
啟動伺服器
./ts3server_startscript.sh start
設置自啟動#
如果您需要讓 TeamSpeak 伺服器在開機的時候自動啟動的話,可以按照此處進行編寫 service 文件。請注意此步需要 root 權限
創建 teamspeak.service 文件並編輯
vim /lib/systemd/system/teamspeak.service
在文件中輸入並且保存下方內容
[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 |