使用腾讯云轻量应用服务器搭建Teamspeak语音服务器

2021-08-27 11:16:16 浏览数 (1)

准备阶段

首先选择服务器,这里我使用的是腾讯云近期推出的无忧计划的轻量服务器,最基础的1C2G50GB国内地区只要15元一个月,还送一年的域名属实是真香了。

轻量无忧计划购买直达:https://curl.zijiebao.com/DpFvxIlD

购买时可以按我下面的选择即可,按我的习惯系统推荐是使用Debian10,因为相对centos来说,debian更省资源,当然你想用centos也没什么问题。域名就随意了,按自己喜好来就行,后面可以给TS直接用域名指向。

根据提示购买即可

购买并创建完成后,前往控制台-轻量应用服务器查看服务器信息,首次登陆服务器需要重置一下root密码

根据提示修改密码即可

重置完密码后,可以使用Xshell来连接服务器,如下图所示设置即可

设置完成后点击连接即可,根据提示输入用户名与密码,默认用户名为root

至此,准备工作完成

部署步骤

连接服务器后,我们先输入apt apdate来更新一下软件包清单

安装screen(可选)

  • 更新完成后,首先执行apt install screen -y来安装一下screen
  • 安装screen后,执行screen -R ts来创建一个新的shell窗口,后续代码可在此窗口执行,即使SSH意外中断也可以恢复窗口

如需退出screen创建的shell窗口,请键盘同时按下Ctrl Shift D,如果在此窗口意外中断SSH,请重新连接SSH后执行screen -d ts后执行screen -r ts即可恢复窗口,如忘记screen窗口名称,请执行screen -ls查看全部窗口列表

下载Teamspeak软件包

首先,我们从teamspeak官网下载解压最新的server端软件包

Teamspeak官网下载地址直达:TeamSpeak 下载 | TeamSpeak

这里演示使用64Bit的3.13.6版本,如果不理解64bit与32bit区别,请查看此文章:操作系统64位和32位的区别及原理_JUST DON’T GIVE UP!的技术博客_51CTO博客

代码语言:javascript复制
wget -c https://files.teamspeak-services.com/releases/server/3.13.6/teamspeak3-server_linux_amd64-3.13.6.tar.bz2tar -xvf teamspeak3-server_linux_amd64-3.13.6.tar.bz2
好!下载失败!这时候我们就需要自己下然后用其他软件来进行手动传了,国内特色404好!下载失败!这时候我们就需要自己下然后用其他软件来进行手动传了,国内特色404

好!下载失败!这时候我们就需要自己下然后用其他软件来进行手动传了,大陆这高墙属实顶。

此时我们可以使用XFTP来进行手动上传

在Xshell客户端内点击箭头所指图标即可启动XFTP并自动使用SCP协议连接到服务器

传输完成后,现在来进行解压并重命名文件夹,再移动文件夹到/home

代码语言:javascript复制
tar -xvf teamspeak3-server_linux_amd64-3.13.6.tar.bz2mv teamspeak3-server_linux_amd64 teamspeakmv teamspeak /homecd /home/teamspeak

创建用户并赋予权限

由于teamspeak官方不建议使用root用户来运行,所以我们来创建个新用户给teamspeak并切换到此用户来运行

代码语言:javascript复制
useradd teamspeakpasswd teamspeak

如果切换到teamspeak用户后,界面只显示$,请输入bash后回车即可临时解决 如果想永久解决,请切换至root用户后,使用vi编辑器编辑/etc/passwd文件,将最后一行的sh改为bash保存即可。

切回root用户,赋予teamspeak文件夹权限

代码语言:javascript复制
su rootchown -R teamspeak:teamspeak /home/teamspeak/

同意许可证条款并启动服务器

切到teamspeak用户,并创建授权文件

代码语言:javascript复制
su teamspeakcd teamspeaktouch .ts3server_license_accepted

启动服务器,注意第一次启动会显示token密钥和server query管理账号与密码,注意保存

代码语言:javascript复制
./ts3server_startscript.sh start

放行通信端口

端口

协议

使用说明

是否必须

9987

UDP

默认语音服务端口

10011

TCP

ServerQuery raw 端口

10022

TCP

ServerQuery SSH 端口(3.3.0 以上版本服务端)

10080

TCP

WebQuery(HTTP)

10443

TCP

WebQuery(HTTPS)

30033

TCP

文件传输端口(上传每个房间的头像这个端口就必须开)

41144

TCP

TSDNS服务端口

腾讯云轻量的Debian镜像没有安装UFW防火墙,使用的是iptables进行端口管理,需要使用iptables进行端口放行。

代码语言:javascript复制
iptables -I INPUT -p udp --dport 9987 -j ACCEPTiptables -I INPUT -p tcp --dport 30033 -j ACCEPT#这里是放行了9987端口的UDP通信与30033的TCP通信

相对于iptables,我更推荐安装ufw进行端口管理,执行sudo apt install ufw -y即可安装,安装后请按下面命令启用ufw

代码语言:javascript复制
ufw enableufw allow sshufw allow 9987/udpufw allow 30033/tcpufw status #查看ufw状态#如果你还同时在此服务器上运行其他程序,请根据程序所需端口依次放行

没什么意外的话,此时就可以使用客户端进行连接了。

客户端连接

下载teamspeak客户端后,可以前往此页面下载teamspeak简中翻译包,下载文件名为Chinese_Translation_zh-CN.ts3_translation

  • Releases · jitingcn/TS3-Translation_zh-CN (github.com)

下载完成后点击即可启用翻译包,重启软件后生效。

启动软件后点击连接,输入服务器IP与昵称后即可连接服务器

第一次连接会要求输入token来激活管理员权限,这里输入之前启动服务器时出现的token后面的数值后点OK即可

取得管理员权限后,服务器的一切设定均可在客户端内设置,服务器端无需再进行其他设置。token只能使用一次,请务必保存好激活后的身份,点击工具-身份-鼠标右键点击身份-导出到本地

这里我推荐注册一个teamspeak账号进行身份与服务器的多端同步,要是软件配置也能同步那将绝杀,可惜加不得。

最后的工作(使用systemd进行守护)

因为teamspeak本身没有守护程序,所以出了问题你就只能手动重启(包括重启服务器)

所以我们这里使用systemd来进行程序守护,让我们省的麻烦了

首先创建service文件

代码语言:javascript复制
vi /lib/systemd/system/teamspeak.service

然后按下面样式写入,注意将路径换成你自己的路径

代码语言:javascript复制
[Unit]   Description=teamspeakAfter=network.target  [Service] User=teamspeakGroup=teamspeakType=forkingWorkingDirectory=/home/teamspeak/PIDFile=/home/teamspeak/ts3server.pidExecStart=/home/teamspeak/ts3server_startscript.sh startExecStop=/home/teamspeak/ts3server_startscript.sh stopRestartSec=15Restart=always[Install]   WantedBy=multi-user.target

然后重启systemd

代码语言:javascript复制
systemctl daemon-reload

设置开机自启动

代码语言:javascript复制
systemctl enable teamspeak.service

启动服务

代码语言:javascript复制
systemctl start teamspeak.service

重启服务

代码语言:javascript复制
systemctl restart teamspeak.service

停止服务

代码语言:javascript复制
systemctl stop teamspeak.service

经过我测试,teamspeak如果想要以systemd的方式守护,那么它的文件似乎不能放在用户根目录,systemd会返回错误1。新建一个目录放入即可

一些碎碎念

国内百度搜出来的什么中文站就tm离谱,难怪官方不愿意出中文包,这盗版站简直离谱到家了,要不是看到他那魔改客户端我都以为真的是中国官网了,一查代理商列表发现国内根本就没有代理商也没有任何官方的Teamspeak服务器,也就是说这是个铁盗版,还特么10块一个月起步,真的是相当的”便宜“啊。

参考资料

  • Which ports does the TeamSpeak 3 server use? – TeamSpeak
  • 虚拟机创建和删除用户以及切换用户后只显示$问题_冲冲冲的博客-CSDN博客_虚拟机新建用户命令
  • (⊙﹏⊙)哎呀,崩溃啦! (tdeh.top)
  • iptables参数详解 – 简书 (jianshu.com)
  • linux中用iptables开启指定端口 – 修瑾 – 博客园 (cnblogs.com)
  • 系统运维|Linux 防火墙 ufw 简介

0 人点赞