ARM設備通過docker”一鍵“搭建teamspeak3服務器


TeamSpeak3是全球流行的團隊語音通訊工具軟件,OW賽事指定語音供應商,官網https://teamspeak.com/ ,相信國內很多玩FPS的玩家都有用到,比如戰地1、4、3、V、CSGO、COD、OW等。

優點:
低延遲毫秒級超低延遲,適合於對語音即時通訊有嚴格要求的團隊游戲、遠程會議等場合
高品質語音編碼格式豐富,支持SPEEX、CELT、OPUS不同質量的語音編碼
更保密基於不對稱加密方式(RSA加密算法),對用戶認證、語音傳輸進行加密,保護用戶隱私
客戶端相比於YY鋪天蓋地的廣告簡直就是一股清流,占用資源少,無廣告。
缺點:官方未開源、官方並未提供arm服務器軟件支持

服務器方面國內代理商也有出租,例如ts1,但服務器按人數容量收費價格仍然偏高,並且因為他們使用的是TEASPEAK盜版服務端,目前已被TS官方拉黑。所以不如用自己玩客雲搭建一個arm teamspeak3正版語音服務器。
(該教程理論上適用於所有運行LINUX的armv7\v8設備,Nanopi、Orangepi、路由、樹莓派等)

這里的客戶端仍可以使用他們的國內客戶端
客戶端下載
http://www.ts1.cn/download
(不推薦服務器安裝寶塔,寶塔默認會禁行所有UDP端口,BT放行只會放行TCP,需要手動禁用防火牆,有web業務需求可使用LNMP腳本https://lnmp.org/install.html sql安裝時不要選擇innodb太吃內存 )

1.安裝docker

wget -qO- https://get.docker.com/ | sh
這里使用一鍵安裝,如果想使用官方正宗方法安裝可以參考這里 在Linux上安裝Docker的兩種方法

2.獲取並使用阿里雲docker鏡像加速

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
獲取自己的加速地址

3.應用第2步獲得的鏡像地址加速

使用winscp或者其他軟件vi或vim 編輯/etc/docker/daemon.json
示例

{
"registry-mirrors": ["你的阿里雲加速鏡像地址","https://dockerhub.azk8s.cn","https://reg-mirror.qiniu.com"]
}

保存然后在ssh輸入
sudo systemctl daemon-reload
回車
sudo systemctl restart docker
回車

4.安裝Docker Web圖形化界面portainer(可選)

這里為了方便選擇安裝portainer圖形化界面,熟悉docker命令的朋友可以不裝
ssh中操作
docker volume create portainer_data
回車
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
回車
然后訪問 http://你的主機地址:9000 設置好用戶名密碼 登錄

5.安裝ts3server與客戶端管理權獲取

該鏡像由ertagh制作(github地址歡迎大家點贊)
對於armv8 64位處理器、64位系統可以在ssh中操作
docker run -d --name TeamSpeak3_Server -e TIME_ZONE=Asia/Shanghai -p 9987:9987/udp -p 10011:10011/tcp -p 30033:30033/tcp --restart=unless-stopped -v ts3:/teamspeak/save/ ertagh/teamspeak3-server:latest-predownloaded
對於armv7 32位處理器、32位系統可以在ssh中操作,該鏡像使用box86進行模擬,效率更高更快
docker run -d --name TeamSpeak3_Server -e TIME_ZONE=Asia/Shanghai -p 9987:9987/udp -p 10011:10011/tcp -p 30033:30033/tcp --restart=unless-stopped -v ts3:/teamspeak/save/ ertagh/teamspeak3-server:arm32v7-latest-box86-predownloaded

6.端口映射

如果服務器有防火牆記得開放 UDP 9987端口 TCP 10011 30033端口,路由器外網端口映射同理。

7.查看TS3服務器超管密鑰與客戶端使用

在portainer中打開ts3容器的log界面看到version xxx installed succesfully意味着運行成功,找到Important相關信息如loginname="xxxx",password="xxx" apikey="xxxx"並把它們全部儲存在某個地方。
然后登陸teamspeak3客戶端第一次連接服務器的時候會彈出使用管理員授權key,這時候把記錄的apikey輸入即可。

8.忘記密碼怎么辦

此處參考文章 盒子里的神經怪
如果你擁有server query的訪問權限,請直接跳至步驟6
如果你擁有server query的密碼但卻不記得用戶名,請記住server query默認的用戶名為serveradmin,然后請跳至步驟6.
進入服務器TeamSpeak 3所在的文件夾
cd /opt/teamspeak3-server_linux_amd64
首先關閉TeamSpeak 3服務。如果已經把TeamSpeak 3作為服務添加到系統里,請停止服務:
systemctl stop teamspeak.service
如果沒有作為服務運行,請執行以下來停止TeamSpeak
./ts3server_startscript.sh stop
用以下命令啟動TeamSpeak 3服務端:
./ts3server_minimal_runscript.sh serveradmin_password=yOuR_nEwP@ssw0rd
這一步操作會重置你的serveradmin密碼,請自行替換yOuR_nEwP@ssw0rd為你想要的密碼。
打開任意telnet客戶端,比如PuTTy telnet 你的服務器IP:10011
輸入login serveradmin yOuR_nEwP@ssw0rd
yOuR_nEwP@ssw0rd是你剛剛重設的密碼
選擇teamSpeak instance,默認為1, use 1並回車,現在輸入以下命令來生成token
tokenadd tokentype=0 tokenid1=6 tokenid2=0
這一步會生成新的token並打印在telnet客戶端界面,復制好后進入客戶端,連接到你自己的服務器,然后選擇“權限” --> “使用權限秘鑰”,完成!在此之后關閉./ts3server_minimal_runscript.sh,使用你正常的方式啟動TeamSpeak 3服務端即可。

9.不想用docker建立TS3服務器怎么辦

可以參考此篇文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM