0%

在centos7上搭建teamspeak3服务端


概述

刚买个云主机,系统为centos7,在上面试试搭一个teamspeak服务端看看效果。


创建用户

这里单独创建一个用户来操作:

1
2
3
4
5
useradd -d /home/${username} -m ${username}
passwd ${username}

echo "${username} ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/${username}
chmod 0440 /etc/sudoers.d/${username}

下载teamspeak

这里直接去官网上下载一个服务端https://www.teamspeak.com/en/downloads/#

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

我这里使用wget下载老是失败,所以直接windows使用梯子下载了一个teamspeak3-server_linux_amd64-3.13.3.tar.bz2

解压:

1
2
3
tar -xvf teamspeak3-server_linux_amd64-3.13.3.tar.bz2
mv teamspeak3-server_linux_amd64 teamspeak3.13.3
cd teamspeak3.13.3

运行teamspeak

1
2
3
4
$ ls

CHANGELOG libts3db_mariadb.so libts3db_sqlite3.so LICENSE redist sql ts3server_minimal_runscript.sh tsdns
doc libts3db_postgresql.so libts3_ssh.so logs serverquerydocs ts3server ts3server_startscript.sh

可以看到目录结构如上所示,都没找到配置文件在哪(不会不能配置端口吧?),算了直接使用ts3server_startscript.sh来启动。

1
2
3
4
5
6
7
8
$ ./ts3server_startscript.sh start

Starting the TeamSpeak 3 server
Please set the environment variable TS3SERVER_LICENSE to "accept" in order to accept the license agreement.
Alternatively, create a file named ".ts3server_license_accepted" in the working directory or start the server with the command line parameter "license_accepted=1".
To view the license agreement set TS3SERVER_LICENSE to "view" in order to print the license to the console.
Alternatively view the file "LICENSE" in your favorite text viewer yourself.
TeamSpeak 3 server could not start

按照上述提示,创建一个.ts3server_license_accepted:

1
touch .ts3server_license_accepted

再次启动:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$ ./ts3server_startscript.sh start

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= "*******"
apikey= "B****QtDheObpa9KiwHwDQIiebL"
------------------------------------------------------------------


------------------------------------------------------------------
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=Kl+****FuVP4xrR9McBb
------------------------------------------------------------------

启动成功,查看运行状态:

1
2
3
$ ./ts3server_startscript.sh status

Server is running

这里的token是用来做远程管理用的,需要注意。


查看端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ netstat -nlp

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:30033 0.0.0.0:* LISTEN 15739/./ts3server
tcp 0 0 0.0.0.0:10011 0.0.0.0:* LISTEN 15739/./ts3server
tcp 0 0 0.0.0.0:10080 0.0.0.0:* LISTEN 15739/./ts3server
tcp 0 0 0.0.0.0:2021 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:10022 0.0.0.0:* LISTEN 15739/./ts3server
tcp6 0 0 :::30033 :::* LISTEN 15739/./ts3server
tcp6 0 0 :::10011 :::* LISTEN 15739/./ts3server
tcp6 0 0 :::10080 :::* LISTEN 15739/./ts3server
tcp6 0 0 :::2021 :::* LISTEN -
tcp6 0 0 :::10022 :::* LISTEN 15739/./ts3server
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp 0 0 0.0.0.0:9987 0.0.0.0:* 15739/./ts3server
udp6 0 0 :::9987 :::* 15739/./ts3server
raw6 0 0 :::58 :::* 7 -
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] SEQPACKET LISTENING 10527 - /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 12087 - /run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 13769 - /var/run/NetworkManager/private-dhcp
unix 2 [ ACC ] STREAM LISTENING 7402 - /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 10228 - /run/systemd/private

其中9987是连接端口,10011是管理端口,30033是文件传输端口,如果有防火墙,那么需要把这三个端口放开。

其实可以自定义端口,详细配置可以参考doc下面的文档,这里不再细究了。


客户端连接

下载一个teamspeak客户端,连接ip:9987即可,然后输入上面的token,就可以顺利进入频道并进行管理了, 设置密码之后,后续就不再需要每次输入token。

image


参考

CentOS 7系统搭建TeamSpeak服务器详细教程