头像

NestleLatte

要来一杯拿铁吗

《在CentOS7上搭建Teamspeak3服务器》

 10月前  •   turtorial  •     •   1.1k  •   1

最近在帮朋友物色适合搭建TeamSpeak(TS)的服务器,给我们小队开黑用。我的这个小游戏群每天晚上一般会有10-20人语音在线,一直用的TS。相比于臃肿而且疯狂弹广告的YY,TS内存占用低,语音质量好,除了界面古老可以说是非常不错了。我们曾经也考虑过Discord,但是Discord香港的softlayer服务器国内链路太毒,就没了下文。

国内的TS服务主要由ts1.cn代理运营,服务器是上海阿里云BGP不用多说,就是价格比较贵,一个30人的服务器要30R/mo,自己买的套路云学生机带宽性能感人。小队里还有国际友人,从新加坡连回国要300ms+,幸好语音不卡。

物色了半天,最后找到了UOvZ这家的香港服务器,链路和质量都可以接受。

UOvZ是一家去年年底成立的国人主机商,主营国内和香港等地区的线路。

更多信息可参见梨园博客:UOvZ: 全线产品清单

我买的是年付100的香港 BGP,国内去程BGP+CN2,回程BGP。

5m端口也够一个小型语音服务器,购买地址(包含AFF)

最后在搜索服务器搭建教程的时候,居然找不到一篇较为全面的中文教程,可能因为这个软件在国内用的人太少了。搭建过程中还踩了几个坑,就写文章记录一下。

安装说明

我用的系统是CentOS7,其他系统的安装方式类似。需要root权限,以下均以root账户输入。

更新系统和依赖

yum -y update
yum -y install nano wget perl tar net-tools bzip2

添加用户安装TS

使用普通用户权限运行TeamSpeak,隔离ts服务端与其他系统服务

adduser teamspeak
passwd teamspeak

会提示为新建的用户设置密码,这个密码之后不会用到。
坑点:因为国内ts1汉化的客户端版本不是最新版,不能支持新版服务端,故选择老版本服务端安装。

wget http://dl.4players.de/ts/releases/3.0.13.6/teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2
tar xvf teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2
cd teamspeak3-server_linux_amd64
cp * -R /home/teamspeak
cd ..
rm -rf teamspeak3-server_linux_amd64*
chown -R teamspeak:teamspeak /home/teamspeak

设置TS服务和防火墙

nano /lib/systemd/system/teamspeak.service

在打开的文件编辑器里输入

[Unit]
Description=Team Speak 3 Server
After=network.target
[Service]
WorkingDirectory=/home/teamspeak/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/home/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target

Ctrl+O回车保存,Ctrl+E退出

如果你的服务器打开了防火墙,就需要添加如下规则,对CentOS7上的firewall使用如下命令

firewall-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

启动TS服务

systemctl start teamspeak
systemctl enable teamspeak

确保TeamSpeak服务正确运行

systemctl status teamspeak

管理员登陆TS服务器

TS服务器第一次运行时,会生成一个一次性的权限密钥,用于给你本地端设置管理员权限。

cat /home/teamspeak/logs/ts3server_*

如果TS服务器正确运行,你应该能看到类似如下的输出

2018-04-24 05:15:19.808720|INFO    |ServerLibPriv |   |TeamSpeak 3 Server 3.0.13.6 (2016-11-08 08:48:33)
2018-04-24 05:15:19.808834|INFO    |ServerLibPriv |   |SystemInformation: Linux 2.6.32-042stab126.2 #1 SMP Wed Dec 6 18:08:29 MSK 2017 x86_64 Binary: 64bit
2018-04-24 05:15:19.808873|WARNING |ServerLibPriv |   |The system locale is set to "C" this can cause unexpected behavior. We advice you to repair your locale!
2018-04-24 05:15:19.808898|INFO    |ServerLibPriv |   |Using hardware aes
2018-04-24 05:15:19.809882|INFO    |DatabaseQuery |   |dbPlugin name:    SQLite3 plugin, Version 3, (c)TeamSpeak Systems GmbH
2018-04-24 05:15:19.819093|INFO    |DatabaseQuery |   |dbPlugin version: 3.11.1
2018-04-24 05:15:19.819377|INFO    |DatabaseQuery |   |checking database integrity (may take a while)
2018-04-24 05:15:19.835790|INFO    |SQL           |   |db_CreateTables() tables created
2018-04-24 05:15:19.880463|WARNING |Accounting    |   |Unable to find valid license key, falling back to limited functionality
2018-04-24 05:15:22.175884|INFO    |              |   |Puzzle precompute time: 2264
2018-04-24 05:15:22.177343|INFO    |FileManager   |   |listening on 0.0.0.0:30033, :::30033
2018-04-24 05:15:22.178288|INFO    |VirtualSvrMgr |   |executing monthly interval
2018-04-24 05:15:22.178463|INFO    |VirtualSvrMgr |   |reset virtualserver traffic statistics
2018-04-24 05:15:22.200638|INFO    |CIDRManager   |   |updated query_ip_whitelist ips: 127.0.0.1/32, ::1/128,
2018-04-24 05:15:22.200965|INFO    |Query         |   |listening on 0.0.0.0:10011, :::10011
2018-04-24 05:25:30.593174|INFO    |ServerMain    |   |Received signal SIGTERM, shutting down.
2018-04-24 05:15:22.198477|INFO    |VirtualServer |1  |listening on 0.0.0.0:9987, :::9987
2018-04-24 05:15:22.199370|WARNING |VirtualServer |1  |--------------------------------------------------------
2018-04-24 05:15:22.199410|WARNING |VirtualServer |1  |ServerAdmin privilege key created, please use the line below
2018-04-24 05:15:22.199434|WARNING |VirtualServer |1  |token=SVA+zpAPeqAr5QtJ2pSY0pTf5TwSRuPv4vuoDUdf
2018-04-24 05:15:22.199458|WARNING |VirtualServer |1  |--------------------------------------------------------

你应该能在最后几行看到ServerAdmin privilege key,登陆ts服务器,客户端输入token=后面的privilege key,你就是服务器管理员了。

疗效怎样

4月27日晚11点全球多地延迟检测如图

和我的小伙伴们一起开黑,TS检测有5%的丢包,但语音体感无延迟卡麦,TS对语音的优化确实是顶尖水平。

你能看出来频道里有几个梗呢2333

参考文章

Globo.Tech–How to install TeamSpeak Server on CentOS 7

HowtoForge–How to Install and Use TeamSpeak Server on CentOS 7

上一篇:
下一篇:

 评论


 已有1条评论

  1. kresr3p Windows 10 | 谷歌浏览器 70.0.3538.102 3月前

    太感谢了。。终于找到了合适的服务器了。。十分感谢推荐(´இ皿இ`)