
、服务器配置本教程默认大家都有一个自己的服务器和公网IP如果没有可以去华为云阿里云腾讯云学生或者新人都有优惠99一年啥的。再或者去各种小站、外网之类的地方搞一个云服务器服务器怎么购买怎么配置我在这里就不说了可以去搜相关教程。我就说一下服务器的配置teamspeak对于服务器的硬件要求其实很低其实1核1G的服务器就能跑得动虽然国内基本上买不到这么低的配置但是对带宽要求比较高。我自己的带宽的计算方法如下不一定正确teamspeak软件的每个频道都能设置音频质量在最高质量的情况下带宽为7.71KiB/s上行带宽计算公式为说话人数×(频道中的人数-1)×所选编解码器带宽假如10人服务器里10人都在说话那么上行带宽需要的值为10×9×7.71KiB/s693.9KiB/s。一般服务器用来表示带宽的单位都是Mbps所以现在要把KiB/s换算成Mbps。理论来说1KiB1024B1KB1000B1MB1000KB1B8b(bit)可得1KiB1024B1.024KB0.001024MB0.008192Mb。所以上述例子中服务器上行带宽就需要693.9KiB/s5.68Mbps。不过10人服务器基本上不太会出现10人同时说话的情况所以5Mbps的服务器也基本上够用。如果是4人服的话基本上1Mbps的服务器已经够用了。二、下载teamspeak服务端进入teamspeak官网点击Downloads然后点击Server进入服务端下载页面也可以直接点击这里。正常情况是下载Server 64-bit的版本如果选择32-bit的版本系统如果不对应可能会有问题。三、开放端口teamspeak服务器需要开放防火墙端口下表显示了需要开放的端口服务协议本地端口服务器是否必要语音服务UDP9987是文件传输TCP30033是服务器查询rawTCP10011可选服务器查询SSHTCP10022可选网络查询httpTCP10080可选网络查询httpsTCP10443可选TSDNSTCP41144可选其中语音服务和文件传输为必要项其他随意。强烈建议在服务器上安装面板比如1Panel图形化的界面直接启用防火墙然后开放端口就行了。也可以在Linux里面使用命令我是用面板的所以以下内容未经本人测试开启9987端口协议UDP如果没安装firewall命令需要先安装一下firewall-cmd --zonepublic --add-port9987/udp --permanent firewall-cmd --reload开启30033端口协议TCPfirewall-cmd --zonepublic --add-port30033/tcp --permanent firewall-cmd --reload然后检查一下有没有开启防火墙查看防火墙状态firewall-cmd --state如果没开启开启防火墙systemctl start firewalld.service最好最后检查一下防火墙开启端口firewall-cmd --list-ports注意如果服务器供应商的界面有防火墙设置除了在服务器上需要开启端口之外在服务器供应商的管理界面也需要开放端口。四、开始部署将teamspeak服务端文件上传到服务器/root文件夹下可以使用ftp之类的软件或者面板我是用1Panel面板上传的解压文件tar xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2后面的版本号根据实际情况修改我也是用面板解压的所以说面板真方便将解压出来的文件夹teamspeak3-server_linux_amd64改名成更简单的ts3servermv teamspeak3-server_linux_amd64 ts3server同意许可条款touch .ts3server_license_accepted启动服务器./ts3server_startscript.sh start最前面的点不要漏了屏幕会报警WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT!!!!!!!!!!出于安全原因我们建议不要使用root账户运行服务器此时等待十个感叹号之后服务器会正常启动。正常启动之后会出现类似下图的文字上面是api秘钥和管理员账户密码下面是管理员秘钥最好全部复制保存下来。五、用其他账户部署如果比较介意安全问题可以创建一个新账户来部署teamspeak服务器。创建名为ts的用户useradd ts保险起见创建的用户名、home文件夹内的文件夹名、调整权限时候的用户组三者全部需要统一否则有可能会出现权限不足的问题。给新创建的用户设置密码passwd ts该行命令执行完毕后会让你输入密码需要输两遍移动到home文件夹cd /home在/home下创建一个名为ts的文件夹mkdir ts回到/root文件夹cd /root将文件复制到/home/ts下cp -R ts3server /home/ts改变ts3server下所有文件的拥有者为ts刚刚创建的用户名chown -R ts:ts /home/ts/ts3server/移动到ts3server文件夹切换用户之后就没有权限了cd /home/ts/ts3server切换为ts用户su ts如果正确的话终端命令提示行前的符号会由#变为$同意许可条款touch .ts3server_license_accepted启动服务器./ts3server_startscript.sh start最前面的点不要漏了如果报sh: 2: ./ts3server_startscript.sh: Permission denied类似权限不足的错可以通过改文件权限解决chmod -R 777 /home/ts/ts3server/如果一切正常会出现与上一条类似的文字请复制保存。六、增加自启动脚本因为有时候teamspeak服务器会莫名挂掉这时候可以弄一个自启动脚本。使用vi编辑器新建一个文档如果系统里没有vi编辑器用别的替代也可以vi /lib/systemd/system/teamspeak.service在其中输入以下内容注意文中四处的/root/ts3server目录需要改成各位实际部署时的目录[Unit]DescriptionTeamSpeak 3 ServerAfternetwork.target[Service]WorkingDirectory/root/ts3serverUserrootTypeforkingExecStart/root/ts3server/ts3server_startscript.sh start inifilets3server.iniExecStop/root/ts3server/ts3server_startscript.sh stopPIDFile/root/ts3server/ts3server.pidRestartSec15Restartalways[Install]WantedBymulti-user.target或使用其他用户部署时注意文中四处的/home/ts/ts3server目录需要改成各位实际部署时的目录[Unit]DescriptionTeamSpeak 3 ServerAfternetwork.target[Service]WorkingDirectory/home/ts/ts3serverUsertsGrouptsTypeforkingExecStart/home/ts/ts3server/ts3server_startscript.sh start inifilets3server.iniExecStop/home/ts/ts3server/ts3server_startscript.sh stopPIDFile/home/ts/ts3server/ts3server.pidRestartSec15Restartalways[Install]WantedBymulti-user.target使用:wq命令保存并退出编辑器。启动服务systemctl enable teamspeak.service启动脚本systemctl start teamspeak.service命令行会报错Job for teamspeak.service failed because the control process exited with error code. See systemctl status teamspeak.service and journalctl -xe for details.无视他再次输入systemctl start teamspeak.service最后输入命令检查运行状态systemctl | grep teamspeak.service成功应该会显示teamspeak.service的红字和后面的loaded activating auto-restart TeamSpeak 3 Server。应该吧我也不确定七、连接服务器做完前面所有步骤之后服务器就可以连接了在teamspeak5的搜索框内输入服务器的IP地址应该会正常连接。第一次连接时语音界面会询问这是否为您的服务器点击是之后在权限秘钥框内输入之前保存的Token即可成为服务器管理员。成为服务器管理员后点击服务器名称再点击右侧的笔图标进入服务器编辑模式可以在这里修改服务器名称和密码之类的频道名称的修改也类似在此不再赘述。八、用域名替换IP如果有自己的域名可以使用域名来替换服务器的IP地址这样就算是服务器迁移换了IP之后也能使用原域名连接新的服务器。1. 进入自己域名网站的DNS设置界面。2. 添加A记录主机名Hostname处填写子域名如我想使用ts.abc.com作为teamspeak服务器的域名则填写ts。在地址/值Address/Value处填写teamspeak服务器的IP地址。TTL可以设置为3600秒。3. 添加SRV记录以_ts3作为服务以_udp作为协议以上一条填写的子域名为名称在主机名Hostname处填写_ts3._udp.ts。在目标主机名Target Hostname处填写完整的域名如ts.abc.com端口Port处填写Teamspeak语音服务端口默认为9987。权重Weight处填写5。优先级Distance/Priority处填写0或1。TTL可以设置为1800秒因为这是ts3服务器刷新的时长。4. 结果保存后你的两个记录应该是这样的类型名称内容/值TTLAts你的服务器IP3600秒SRV_ts3._udp.ts0 5 9987 ts.abc.com1800秒到此应该是成功了不过DNS刷新需要最长48小时所以如果连不上的话就等两天。以及如果用了别的DNS名称服务器如cloudflare名称服务器内的DNS也要同步设置。九、服务器迁移[!NOTE] Teamspeak官网的迁移教程如果想要移动Teamspeak服务器到另一台机器以下文件和文件夹如果您想保留相应信息则需要复制licensekey.dat此文件包含您的许可证。您可能没有此文件在这种情况下您无需复制它query_ip_whitelist.txt查询接口的白名单 IPquery_ip_blacklist.txt查询接口的黑名单 IPfiles/*上传到服务器的任何图标、头像和文件。请务必复制整个文件夹包括任何子文件夹和其中的文件。ts3server.sqlitedb数据库。此文件最为重要包含有关虚拟服务器、用户、权限、频道和组等的所有信息。服务器实例及其虚拟服务器的所有设置都包含在此文件中。*.ini可能存在的包含启动参数和数据库配置的文件。默认情况下不存在这些文件tsdns/tsdns_settings.iniTSDNS 服务的配置。仅在您实际使用 TSDNS 时需要此配置。移动到ts3server文件夹cd /home/ts/ts3server如果之前是使用新账户部署的ts那么需要切换为ts用户su ts如果正确的话终端命令提示行前的符号会由#变为$关闭服务器./ts3server_startscript.sh stop最前面的点不要漏了对照官网的迁移教程将旧服务器需要的文件复制到ts3sever文件夹下覆盖同名文件可以使用面板操作或Linux命令此处不再赘述。以及如果之前是使用新账户部署的ts这一步和下一步需要切换回root账户。如果之前是使用新账户部署的ts需要调整文件权限需要切换回root账户chown -R ts:ts /home/ts/ts3server/重启服务器再次移动到ts3server文件夹如果之前是使用新账户部署的ts那么需要切换为ts用户如果是root账户部署不需要切换用户然后执行./ts3server_startscript.sh start最前面的点不要漏了