自建TeamSpeak语音服务器教程

TeamSpeak(简称TS)是一款非常流行的跨平台VoIP和文本聊天应用程序,可用于企业内部业务通信、教育和培训(讲座)、在线游戏以及朋友间的聊天沟通。TeamSpeak 提供了一种使用更简单、安全性强、语音质量高、系统和带宽利用率低的解决方案。软件采用客户机——服务器体系结构,可以实时处理成千上万的用户。TeamSpaek的优点,轻量,语音质量清晰,占用内存极低,简洁无广告。

点击进入--->TeamSpeak官方网站

本教程是以Linux系统作为基础;

如果没有任何Linux基础并且不想折腾,建议用Windows系统,Windows系统的服务器相对简单,再此不多赘述。

一、下载TeamSpeak服务端

进入官网,下载安装包

根据自己的版本选择下载,通常情况都是Server 64-bit的版本,如果选择32-bit的版本系统(注:如果不对应可能会有问题)

二、端口设置

teamspeak服务器需要开放防火墙端口(推荐在服务器端安装面板控制更加方便,比如:宝塔面板)

服务说明

协议

端口号

是否必要

默认语音服务端口

UDP

9987

文件传输端口

TCP

30033

服务器查询RAW端口

TCP

10011

可选

服务器查询SSH端口

TCP

10022

可选

TSDND

TCP

41144

可选

1. 开启9987端口协议UDP(如果没安装firewall命令需要先安装一下)

firewall-cmd --zone=public --add-port=9987/udp --permanent && firewall-cmd --reload

2. 开启30033端口协议TCP

firewall-cmd --zone=public --add-port=30033/tcp --permanent && firewall-cmd --reload

3. 然后检查一下有没有开启防火墙(查看防火墙状态)

firewall-cmd --state

4. 如果没开启,开启防火墙

systemctl start firewalld.service

5. 检查防火墙开启端口

firewall-cmd --list-ports 

注 : 如果服务器供应商的界面有防火墙设置,除了在服务器上需要开启端口之外,在服务器供应商的管理界面也需要开放端口。

三、部署ts服务端

3.1创建用户

使用root用户创建teamspeak用户:

useradd teamspeak
passwd teamspeakpassword

赋予teamspeak用户sudo权限:

sudo vim /etc/sudoers

在打开的文件中找到"%wheel ALL=(ALL) ALL",在下面插入:(别忘了保存)

teamspeak       ALL=(ALL)       NOPASSWD:ALL

切换至teamspeak用户:

su - teamspeak

3.2安装服务端

可以使用xftp等工具上传windows端下载的安装包,或者直接在服务器端wget下载

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

如果出现如下报错

ERROR: cannot verify files.teamspeak-services.com's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:

Issued certificate has expired.

To connect to files.teamspeak-services.com insecurely, use `--no-check-certificate'.

执行命令

sudo yum install -y ca-certificates

解压

tar -jxvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2

如果解压出现报错

tar (child): cannot run bzip2: No such file or directory

tar (child): trying lbzip2

tar (child): lbzip2: Cannot exec: No such file or directory

tar (child): Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error is not recoverable: exiting now

执行命令

sudo yum install -y bzip2

3.3启动服务端

允许许可协议

touch /home/teamspeak/teamspeak3-server_linux_amd64/.ts3server_license_accepted

启动服务

/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start

第一次启动会显示如下图的密钥以及管理员账户和密码,请妥善保存

3.4设置服务自启

sudo vim /lib/systemd/system/teamspeak.service

在打开的文件中输入(记得保存)

[Unit]
Description=Teamspeak, The most superior online voice communication solution.
Wants=network-online.target
After=syslog.target network.target network-online.target

[Service]
User=teamspeak
Group=teamspeak
WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64/
ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid
Type=forking

[Install]
WantedBy=multi-user.target

常用指令

功能

指令

重新加载systemd

sudo systemctl daemon-reload

启动TeamSpeak

sudo systemctl start teamspeak.service

停止TeamSpeak

sudo systemctl stop teamspeak.service

重启TeamSpeak

sudo systemctl restart teamspeak.service

开启自启动

sudo systemctl enable teamspeak.service

四、使用客户端访问服务器

1.域名访问

如果服务器有绑定域名,即可直接使用域名访问

2.服务器别名设置服务器

进入TeamSpeak官网,登录并进入账号控制台,设置Server Nicknames,选择Domain的话就填写自己的域名,选择IP就填服务器的IP,保存之后就可以在客户端通过名称访问了(名称具有时效性)

Comment