简介
Teamspeak是一套专有的VoIP软件,用户可以经由它与其他用户进行语音对话,很像电话会议。用户可以戴上耳机与麦克风进行通话。用户可以经由客户端软件连线到指定的服务器,在服务器内的频道进行通话。
通常TeamSpeak的用户大多为多人连线游戏的玩家,与同队伍的玩家进行通信。在游戏的对战方面,语音对话通信具有竞争优势。
轻量化的客户端和简洁的界面成为了不少游戏玩家的选择,毕竟他占用是真的低
服务器的安装
本文使用的是AWS Lightsail Ubuntu22.04LTS
如果你是Centos的话,把下面所有的apt换成yum
1.首先先更新系统和系统组件
apt update && apt full-upgrade -y
apt install curl vim wget git sudo unzip apt-transport-https screen ca-certificates dialog softw
2.然后新建一个用户
useradd teamspeak
3.切换至opt目录下
cd /opt
4.下载Teamspeak服务器 (建议去Teamspeak官网获取最新版本)
wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2
如果这个版本过旧了就把后面链接的部分替换成官网上的下载链接就好了
5.解压服务器端
tar -xvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2
如果你在上一条操作中把后面链接更换了,要在这里注意后面的版本号,错了的话是不会解压的
如图报错,请运行以下命令之后重新解压
sudo apt-get update
sudo apt-get install bzip2
6.给权限&CD到目录&切换到teamspeak用户
chown -R teamspeak:teamspeak teamspeak3-server_linux_amd64 && cd /opt/teamspeak3-server_linux_amd64 && su teamspeak
7.同意Teamspeak条款
touch .ts3server_license_accepted
8.放行端口
这里只展示了服务器端的防火墙如何放行端口,如果你购买的是腾讯云/阿里云/华为云/亚马逊云/其他
,需要到管理面板放行相对应的端口,这里就不做演示
Centos,放行端口是这样的
firewall-cmd --zone=public --add-port=9987/udp --permanent #放行9987端口
firewall-cmd --zone=public --add-port=30033/tcp --permanent #放行30033端口
firewall-cmd --reload #重启防火墙服务
Ubuntu,放行端口是这样的
首先检查防火墙是否开启
sudo ufw status
如图显示inactive
就是没有开启,反之显示active
就是防火墙已经开启了
如果防火墙没有开启,执行以下命令开启防火墙
sudo ufw enable
如果ssh输入如下,那就是防火墙成功开启了
在确保防火墙是开启的情况下再执行接下来的命令
sudo ufw allow 9987/udp #放行9987udp
sudo ufw allow 30033/tcp #放行30033tcp
sudo ufw allow 10011/tcp #放行10011tcp
如果你使用了别的防火墙,请根据相对应的防火墙放行9987/udp 30033/tcp 10011/tcp
启动服务器
1.SQlite(最简单的)
Teamspeak默认使用SQlite,这也是最简单的方法,只需要一条命令
./ts3server_startscript.sh start
注意保存ssh输出的管理员账户和密码
然后根据ssh输出的token进入服务器设置,获取管理员
2.MySQL/MariaDB
这个方法比较适合熟悉并且掌握MySQL/MariaDB的人
1.使用root登录MySQL/MariaDB
mysql -u root -p
2.输入完密码进入之后,创建一个名为teamspeak
的数据库
CREATE DATABASE teamspeak_database DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
3.创建一个teamspeak_user
的用户,并且使用强密码并给予teamspeak_database
数据库权限
GRANT ALL ON teamspeak_database.* TO 'teamspeak_user'@'localhost' IDENTIFIED BY 'teamspeak_password';
这里可以将teamspeak_password
替换成自己想要的强密码,最好是别人猜不到的
ssh会提示类似 Query OK, 0 rows affected, 1 warning 这个不用管
4.刷新权限并退出
FLUSH PRIVILEGES;
EXIT;
5.创建ts3server.ini
文件,来启用数据库插件
cat > ts3server.ini << EOF
dbplugin=ts3db_mariadb
dbpluginparameter=ts3db_mariadb.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mariadb/
dbconnections=10
若使用的是 MySQL 数据库, 将dbpluginparameter=ts3db_mariadb.ini
部分修改为dbpluginparameter=ts3db_mysql.ini
6.新建ts3db_mariadb.ini
并输入如下内容
[config]
server='localhost'
port='3306'
username='teamspeak_user'
password='teamspeak_password'
database='teamspeak_database'
将 数据库名teamspeak_database
,用户名teamspeak_user
,以及密码teamspeak_password
修改成自己数据库的信息
把 redist 目录下的libmariadb.so.2
文件拷贝至当前目录下
cp redist/libmariadb.so.2 ./
执行以下命令即可启动服务器
./ts3server_startscript.sh start inifile=ts3server.ini
注意保存密钥和管理员账户密码
自启动设置
设置自启动需要切换回root权限
1.创建并编辑文件
创建文件
vi /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=/opt/teamspeak3-server_linux_amd64/、
ExecStart=/opt/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
ExecStop=/opt/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop
PIDFile=/opt/teamspeak3-server_linux_amd64/ts3server.pid
Type=forking
[Install]
WantedBy=multi-user.target
如果你使用的是MySQL
或MariaDB
数据库安装的话,将ExecStart=/opt/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
修改为ExecStart=/opt/teamspeak3-server_linux_amd64/ts3server_startscript.sh start inifile=ts3server.ini
指令
重新加载 systemd : systemctl daemon-reload
开启自启动 : systemctl enable teamspeak.service
启动 TeamSpeak : systemctl start teamspeak.service
停止 TeamSpeak : systemctl stop teamspeak.service
重启 TeamSpeak : systemctl restart teamspeak.service