点击关注我的Telegram群组和微信公众号

MENU

在Linux下搭建Teamspeak 3游戏语音服务器

2019 年 10 月 03 日 • 阅读: 10199 • 技术,分享,教程

本文引用并修改于Defectink

Teamspeak 是一套专有的 VoIP 软件。所谓 VoIP 软件,就是基于网络协议的语音通话。而 Teamspeak 就是和现在市面上大多数即时通讯软件差不多,可以发送即时消息以及多人语音通话。它是以 S (erver) -> C (lient) 架构基于 Internet 的运作方式,但是与其他多数软件不同的是,它允许自己搭建服务器。也就是说它的服务端也是可以下载安装的。
而且 Teamspeak 是一款多平台的软件,这就意味着,如果我们想,可以让在任何机器上运行成为服务端。它甚至支持离线 / 局域网的通信。除此之外,它对自己的通信频道有着完全自定义的控制。设置官方称可以为整个服务器或只是特定通道启用基于 AES 的加密。
我使用 Teamspeak 的主要目的是和国内的小伙伴一起开黑的,而常见的公开的语音平台都不适合这一情况,因此自建 Teamspeak 服务器是有必要的。下面是我对常见平台的分析。

平台分析
Discord虽然是个很好的平台,很适合游戏,群聊功能也很赞。但日本和香港服务器线路对于国内用户而言还是太糟糕了,加上现在的网络阻断现象,在一些时期语音丢包情况也比较严重。对不会科学上网的小伙伴不太友好。
YY国内常见的游戏语音平台,然而全是无下限的广告。然而,这玩意用海外手机号注册居然每天限制名额,而且还禁止用户在北美使用语音服务
微信语音质量和丢包问题都还是可以,然而这需要添加好友,需要注意好友权限问题。另外游戏时需要注意屏蔽微信快捷键,否则游戏时各种意外惊喜。另外电脑客户端上接收到微信语音电话弹窗时会直接把全屏游戏给最小化(毕竟不是给游戏设计的)

服务端安装

Teamspeak官方网站获取到最新的服务端下载链接,写这篇文章时版本为3.9.1。除非你有旧版客户端,否则不要使用旧版的服务端。虽然服务端的下载链接不会失效,但是新版的客户端会拒绝连接到运行旧版服务端的服务器。

wget https://files.teamspeak-services.com/releases/server/3.9.1/teamspeak3-server_linux_amd64-3.9.1.tar.bz2

由于下载下来的是 tar.bz2 的压缩格式,所以我们使用 -xjvf 来进行解压操作。注意不同版本下不同的目录名,使用tab自动补全会很方便:

yum install vim wget perl tar net-tools bzip2 -y
tar -xjvf teamspeak3-server_linux_amd64-3.9.1.tar.bz2
mkdir teamspeak
mv  teamspeak3-server_linux_amd64/* teamspeak
rm -rf teamspeak3-server_linux_amd64
cd teamspeak

要运行服务端的软件,首先我们要同意它的许可协议

touch .ts3server_license_accepted

这是一个免费许可证,允许最多32用户在线。如果需要更多的用户需要在官网购买TS3 Gamer许可证,针对不同用户数有不同价格(最多1024用户数)
同意过后,我们执行它的启动脚本:

./ts3server_startscript.sh start

如果是 root 用户运行的话,会在启动时提示为了安全起见,不要使用 root 用户运行。

WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
!!!!!!!!!!!

等最后几个感叹号出现完之后,服务端软件就会正常运行了

Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file
                                                                 
------------------------------------------------------------------
                      I M P O R T A N T                           
------------------------------------------------------------------
               Server Query Admin Account created                 
         loginname= "serveradmin", password= "dxxxxxxAa"
------------------------------------------------------------------

 ○ 
------------------------------------------------------------------
                      I M P O R T A N T                           
------------------------------------------------------------------
      ServerAdmin privilege key created, please use it to gain 
      serveradmin rights for your virtualserver. please
      also check the doc/privilegekey_guide.txt for details.

       token=HxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxRL
------------------------------------------------------------------

serveradmin 账户和 token 都是 TS 的最高权限账户,可修改服务器设置。下文会用到

防火墙配置

Teamspeak3 需要以下端口

  • UDP: 9987
  • TCP: 10011
  • TCP: 30033

可以在iptables中添加

iptables -A INPUT -p udp --destination-port 9987 -j ACCEPT
iptables -A INPUT -p tcp --dport  10011 -j ACCEPT
iptables -A INPUT -p tcp --dport  30033 -j ACCEPT

亦可以使用firewalld

rewall-cmd --zone=public --add-port=9987/udp --permanent
firewall-cmd --zone=public --add-port=10011/tcp --permanent
firewall-cmd --zone=public --add-port=30033/tcp --permanent
firewall-cmd --reload

当然直接关了防火墙也可以

开机启动

当前已经添加过了端口并且已经成功启动了,我们基本上就可以正常连接了。当然还少了一个重要的一步,那就是开机自启了。
由于是使用脚本启动了,而没有使用systemd来进行控制,所以服务端需要使用Crontab来进行开机启动的控制

crontab -e

添加以下两项

@reboot /root/teamspeak/ts3server_startscript.sh start      //开机启动
0 4 * * * /root/teamspeak/ts3server_startscript.sh restart >/dev/null 2>&1    //每天四点重启服务,可选项

之所以定时重启服务是因为看到一些文章说长时间运行服务会出现语音不稳定的情况

客户端

下载

Teamspeak官网下载最新版的客户端

连接服务端

前面有介绍过 TS 使用的是 C/S 架构,我们搭建好了服务端当然是为了连接它。连接它比我们想象的要简单的多,打开软件后直接在工具栏就能找到连接这一选项。
单击连接,就可以根据服务器地来连接我们搭建好的服务端了。

图1

刚搭建好的TS3服务器是默认没有密码的,输入IP或者域名后只需要再写下自己的频道内昵称就可以连接了。连接上服务器后会提示输入token(授权码),在这里输入你刚刚在服务端启动时获得的token即可获得管理员权限。

翻译插件

如何安装软件这里就不再做赘述。ts 默认是英文版本的,可以自己在其他地方下载拥有中文汉化的第三方做的包来使用。也可以自己在原版的基础上添加汉化文件。亦或者是自己安装中文翻译的插件(目前中文插件仅有繁体中文)。
打开软件后,打开 “工具 - 选项”(Alt+P),找到 “插件 (add-ons)” 这一选项卡,选择"Browse online"进入插件商店,输入"Chinese"作为关键词

图2

商店中有一个普通话语音包和一个繁体中文语言包,根据自己的需要选择安装即可。安装完成后重启TS3客户端即可生效。

个人建议

  1. 选择国内的服务器,北美的家用网络线路质量远比国内的家用网络要好很多,所以优先考虑国内用户的延迟。
  2. 带宽不必多大,两三个小伙伴开黑的话1M带宽足够
  3. 尽量不要root帐号来运行TS3服务端,或者自己注意加强服务器安全
最后编辑于: 2021 年 03 月 30 日
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论

已有 12 条评论
  1. Leeds Leeds

    CRITICAL|Accounting | |Failed loading default license file!

    1. @LeedsLicense过期,使用"license_accepted=1"参数启动服务器就行了

    2. Leeds Leeds

      @Masterain不懂怎么用这个启动。。。直接输入并不启动服务

    3. @Leeds你先重新做一下“touch .ts3server_license_accepted”这一步,这个错误是没有同意协议

    4. @Leeds去官网下载最新的服务端即可解决,原文的服务端包已经是旧版本了

  2. |´・ω・)ノ

  3. aaa aaa

    设置头像和图标的时候会失败并提示:报告: (could not open file transfer connection)怎么解决

    1. @aaa端口没有开放

    2. aaa aaa

      @Masterain1-65535端口都开放了

    3. aaa aaa

      @Masterain已经可以了

  4. DimitriYoon DimitriYoon

    请问,我用nc -zvu测试端口都是通的但是连不上服务器是为什么