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