1、更新系统
yum update
2、创建teamspeak账户
useradd teamspeak
passwd teamspeak
3、下载ts3安装包
wget http://dl.4players.de/ts/releases/3.2.0/teamspeak3-server_linux_amd64-3.2.0.tar.bz2
Centos7解压.tar.bz2提示tar (child): bzip2: Cannot exec: No such file or directory解决方法
原因是因为该centos没有bzip2解压工具
解决方法如下:
yum -y install bzip2
tar -xjf teamspeak3-server_linux_amd64-3.9.1.tar.bz2
mv teamspeak3-server_linux_amd64 teamspeak3
cp -R teamspeak3 /home/teamspeak/
chown -R teamspeak:teamspeak /home/teamspeak/teamspeak3/
手动启动TeamSpeak服务
su - teamspeak
$ cd teamspeak3/
$ touch .ts3server_license_accepted
$ ./ts3server_startscript.sh start

如果没有创建ts3server_license_accepted”的文件,在启动过程中出现如下图的报错信息:
accept in order to accept the license agreement ...
其原因在于服务器启动时需要读取一个TS3SERVER_LICENSE文件,如果当前工作目录不存在授权文件,则报错。处理方法也很简单,使用如下命令在当前目录下新建一个名为”.ts3server_license_accepted”的文件即可:
$ touch .ts3server_license_accepted
之后再使用之前的命令启动服务器,就可以正常启动服务器了。第一次启动服务器时,会出现如下提示:
登录名 密码 第一次秘钥的信息,一定要记录了,连接服务器的时候必须用的。
可以看到,程序会提示创建了一个服务器管理员帐户,并且创建了一个管理服务器的token字符串,这个token串是通过客户端管理服务器的,所以会着重提醒。

  1. 添加systemctl服务
    为了管理服务器方便,可以将TeamSpeak服务器添加为CentOS服务,在”/lib/systemd/system/”目录中添加一个名为”ts3.service”的文件,使用如下命令:
    $ su -
    vi /lib/systemd/system/ts3.service
    将如下内容添加至”ts3.service”文件中:
    [Unit]
    Description=Team Speak 3 Server
    After=network.target
    [Service]
    WorkingDirectory=/home/teamspeak/teamspeak3
    User=teamspeak
    Group=teamspeak
    Type=forking
    ExecStart=/home/teamspeak/teamspeak3/ts3server_startscript.sh start inifile=ts3server.ini
    ExecStop=/home/teamspeak/teamspeak3/ts3server_startscript.sh stop
    PIDFile=/home/teamspeak/teamspeak3/ts3server.pid
    RestartSec=15
    Restart=always
    [Install]
    WantedBy=multi-user.target
    然后使用如下命令启动TeamSpeak服务,并将其设置为开机自动启动,最后查看服务状态:
    systemctl start ts3
    systemctl enable ts3
    systemctl status ts3
    好了,现在TeamSpeak服务器就安装完成了,可以通过”systemctl”命令来方便管理,并且开机可以自行启动。
  2. 打开系统防火墙端口
    CentOS 7 默认是安装并启用了防火墙的,现需要通过以下命令将TeamSpeak服务器侦听的所有端口都打开:
    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
    使用 systemctl list-unit-files 可以查看启动项
    左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动
    过滤查询可以systemctl list-unit-files | grep enable 过滤查看启动项如下
    开机启动
    systemctl enable server
    ----------------------------------------------------------------------------------------------------------------------------**