如何在 Debian 11 上安装 TeamSpeak 服务器如何在 Debian 11 上安装 TeamSpeak 服务器如何在 Debian 11 上安装 TeamSpeak 服务器如何在 Debian 11 上安装 TeamSpeak 服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 11 上安装 TeamSpeak 服务器

在此页

  1. 先决条件
  2. 第 1 步 - 配置防火墙
  3. 第 2 步 - 下载 TeamSpeak
  4. 第 3 步 - 创建 TeamSpeak 用户和目录
  5. 第 4 步 - 运行 TeamSpeak 服务器
  6. 第 5 步 - 创建 TeamSpeak 服务守护进程
  7. 第 6 步 - 使用 TeamSpeak 客户端连接
  8. 第 7 步 - 更改访问密码
  9. 第 8 步 - 安装和配置 MySQL
  10. 第 9 步 - 升级 TeamSpeak
  11. 结论

TeamSpeak 是游戏玩家、团队和学校使用的跨平台语音聊天软件。它重量轻且速度快,并且可以将其托管在您的服务器上,因此可以为您提供更多控制。它提供了一种安全且简单的方式来与全球各地的人们联系。它具有完全可定制的用户界面,支持直接消息传递、无限制文件传输并允许匿名使用。

本教程将教您如何在基于 Debian 11 的服务器上安装 TeamSpeak 服务器并使用 Windows 客户端连接到它。

先决条件

  • A Debian 11 based server.

  • A non-root user with sudo privileges.

  • Sudo package is installed.

  • Everything is updated.

    $ sudo apt update && sudo apt upgrade
    
  • Few packages that your system needs.

    $ sudo apt install nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring wget -y
    

    Some of these packages may already be installed on your system.

第 1 步 - 配置防火墙

第一步是配置防火墙。 Debian 带有 ufw(简单防火墙)。

检查防火墙是否正在运行。

$ sudo ufw status

您应该得到以下输出。

Status: inactive

允许 SSH 端口,以便防火墙在启用时不会中断当前连接。

$ sudo ufw allow OpenSSH

打开 TeamSpeak 所需的以下端口。

  • 9987/udp 语音。
  • 30033/tcp 用于文件传输。
  • 10011/tcp 用于服务器查询(原始)。
  • 10022/tcp 用于服务器查询 (SSH)。
  • 10080/tcp 网络查询 (HTTP)。

$ sudo ufw allow 9987/udp
$ sudo ufw allow 30033/tcp
$ sudo ufw allow 10011/tcp
$ sudo ufw allow 10022/tcp
$ sudo ufw allow 10080/tcp

启用防火墙

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

再次检查防火墙的状态。

$ sudo ufw status

您应该会看到类似的输出。

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
9987/udp                   ALLOW       Anywhere
30033/tcp                  ALLOW       Anywhere
10011/tcp                  ALLOW       Anywhere
10080/tcp                  ALLOW       Anywhere
10022/tcp                  ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
9987/udp (v6)              ALLOW       Anywhere (v6)
30033/tcp (v6)             ALLOW       Anywhere (v6)
10011/tcp (v6)             ALLOW       Anywhere (v6)
10080/tcp (v6)             ALLOW       Anywhere (v6)
10022/tcp (v6)             ALLOW       Anywhere (v6)

第 2 步 - 下载 TeamSpeak

访问 TeamSpeaks 下载页面并注意最新版本号。在编写本教程时,v3.13.6 是可用的 TeamSpeak 服务器的最新版本。

使用以下命令下载 TeamSpeak 服务器。

$ TVERSION=3.13.6
$ wget https://files.teamspeak-services.com/releases/server/${TVERSION}/teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2

提取下载的存档。

$ tar -xf ./teamspeak3-server_linux_amd64-${TVERSION}.tar.bz2

第 3 步 - 创建 TeamSpeak 用户和目录

安装 TeamSpeak 的第一步是为服务器创建一个用户。用户的主目录位于 /opt/teamspeak 并且没有密码。

$ sudo adduser ts3 --home /opt/teamspeak --shell /bin/bash --disabled-password

现在我们可以将提取的目录移动到 /opt/teamspeak 目录。

$ sudo mv teamspeak3-server_linux_amd64/* /opt/teamspeak/

授予目录正确的权限。

$ sudo chown -R ts3:ts3 /opt/teamspeak

第 4 步 - 运行 TeamSpeak 服务器

下一步是运行 TeamSpeak 服务器以首次创建特权密钥。此密钥将帮助您以管理员身份访问服务器。

在启动服务器之前,您需要以 TeamSpeak 用户身份登录。运行以下命令以 TeamSpeak 用户身份登录到您的 shell。

$ sudo -u -i ts3

为此,我们将在 TeamSpeaks 工作目录中创建一个名为 .ts3server_license_accepted 的文件。

$ touch .ts3server_license_accepted

运行以下命令以启动服务器。

$ ./ts3server_startscript.sh start
------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
               Server Query Admin Account created
         loginname= "serveradmin", password= "BtXdJaCb"
         apikey= "BAD8rYVPM61p_-TdrsBqEL_8ZxKzEHIKOkUk6_e"
------------------------------------------------------------------


------------------------------------------------------------------
                      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=WIRagRYXkCnWqM5g7gBoSgcHHpfgLG9w17pcLORy
------------------------------------------------------------------

首次运行服务器将创建一个服务器查询管理员帐户。记下它的用户名和密码。另外,记下 API 密钥和生成的特权令牌。您将在接下来的步骤中需要它。

要停止服务器,请按键盘上的 Ctrl + C。

以 TeamSpeak 用户身份注销。

$ exit

第 5 步 - 创建 TeamSpeak 服务守护进程

创建文件 /lib/systemd/system/ts3server.service 并打开它进行编辑。

$ sudo nano /lib/systemd/system/ts3server.service

将以下代码粘贴到其中。

[Unit]
Description=TeamSpeak3 Server
Wants=network-online.target
After=syslog.target network.target local-fs.target

[Service]
WorkingDirectory=/opt/teamspeak
User=ts3
Group=ts3
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1
ExecStop=/opt/teamspeak/ts3server_startscript.sh stop
ExecReload=/opt/teamspeak/ts3server_startscript.sh restart
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

按 Ctrl + X 并在出现提示时输入 Y 关闭文件。

重新加载服务守护进程。

$ sudo systemctl daemon-reload

启用并启动 TeamSpeak 服务。

$ sudo systemctl enable ts3server --now

检查服务的状态。

$ sudo systemctl enable ts3server
? ts3server.service - TeamSpeak3 Server
     Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-03-29 08:18:17 UTC; 2s ago
    Process: 23120 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 (code=exited, status=0/SUCCESS)
   Main PID: 23127 (ts3server)
      Tasks: 21 (limit: 2341)
     Memory: 17.3M
        CPU: 1.953s
     CGroup: /system.slice/ts3server.service
             ??23127 ./ts3server license_accepted=1  daemon=1 pid_file=ts3server.pid

Mar 29 08:18:17 teamspeak systemd[1]: Starting TeamSpeak3 Server...
Mar 29 08:18:17 teamspeak ts3server_startscript.sh[23120]: Starting the TeamSpeak 3 server
Mar 29 08:18:17 teamspeak ts3server_startscript.sh[23120]: TeamSpeak 3 server started, for details please view the log file
Mar 29 08:18:17 teamspeak systemd[1]: Started TeamSpeak3 Server.

第 6 步 - 使用 TeamSpeak 客户端连接

从官方网站下载并安装 Windows TeamSpeak 3 客户端。您还可以下载客户端的最新测试版 (v5),但对于我们的教程,我们将使用较旧且稳定的 v3。

在您的桌面上启动客户端,通过许可证提示后您将看到以下屏幕。

单击“连接”并选择“连接”选项以开始使用。输入您的服务器 IP 地址、第 4 步中生成的密码以及您自己的昵称。

单击“连接”按钮继续。系统将要求您在下一个提示中输入权限密钥。输入第 4 步中的特权令牌,然后单击“确定”继续。

您现在已连接到您的 TeamSpeak 服务器,可以开始使用客户端进行通信。

第 7 步 - 更改访问密码

您可以将 Server Administrator 密码更改为您选择的一个更强的密码。为此,请停止 TeamSpeak 服务。

$ sudo systemctl stop ts3server

切换到 TeamSpeak 用户。

$ sudo -i -u ts3

启动 TeamSpeak 服务器并在命令中添加 serveradmin_password 参数。

$ ./ts3server_startscript.sh start serveradmin_password=password
Starting the TeamSpeak 3 server
TeamSpeak 3 server started, for details please view the log file

将 password 替换为您选择的强密码。

再次停止服务器。

$ ./ts3server_startscript.sh stop
Stopping the TeamSpeak 3 server .
done

切换回您的用户帐户。

$ exit

再次启动 TeamSpeak 服务。

$ sudo systemctl start ts3server

第 8 步 - 安装和配置 MySQL

默认情况下,TeamSpeak 使用 SQLite 数据库来存储所有通信和用户数据。虽然这对于小型社区来说很好,但如果您使用 TeamSpeak 来容纳更多用户,它可能会成为一个问题。幸运的是,TeamSpeak 可以配置为使用 MySQL 或 PostgreSQL 数据库。

我们将配置它以与 MySQL 服务器一起使用。

安装 MariaDB 服务器,它是 MySQL 的直接替代品,因为默认情况下 Debian 不附带 MySQL 8。

$ sudo apt install mariadb-server -y

安装程序将为您启动并启用 Mariadb 服务。您可以检查服务的状态。

$ sudo systemctl status mariadb

运行 MariaDB 的安全脚本。使用下面给出的选项。

$ sudo mysql_secure_installation
Enter current password for root (enter for none): (Press Enter)
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

登录到 MySQL 外壳。

$ sudo mysql

创建 ts3user 用户。将 your_password 替换为您选择的强密码。

mysql> CREATE USER 'ts3user'@'localhost' IDENTIFIED BY 'your_password';

创建 teamspeak3 数据库。

mysql> CREATE DATABASE teamspeak3;

授予用户对 teamspeak3 数据库的权限。

mysql> GRANT ALL PRIVILEGES ON teamspeak3.* TO 'ts3user'@'localhost';

退出外壳。

mysql> exit

切换到 TeamSpeak 用户。

$ sudo -i -u ts3

配置 MariaDB 以使用 TeamSpeak 的第一步是添加 MariaDB 库。您可以在 /opt/teamspeak/redist 文件夹中找到它。

为库创建一个从 redist 文件夹到主工作目录的符号链接。

$ ln -s /opt/teamspeak-server/redist/libmariadb.so.2 /opt/teamspeak-server/libmariadb.so.2

运行以下命令打印 TeamSpeak 所需的共享库。

$ ldd /opt/teamspeak3-server/libts3db_mariadb.so

创建用于存储数据库参数的配置文件并打开它进行编辑。

$ nano ts3db_mariadb.ini

将以下代码粘贴到其中。

[config]
host=127.0.0.1
port=3306
username=ts3user
password=your_password
database=teamspeak3
socket=

使用上面创建的数据库凭据。按 Ctrl + X 并在出现提示时输入 Y 关闭文件。

为 TeamSpeak 创建配置文件并打开它进行编辑。

$ nano ts3server.ini

将以下代码粘贴到其中。

machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
query_ip_whitelist=query_ip_whitelist.txt
query_ip_blacklist=query_ip_blacklist.txt
dbsqlpath=sql/
dbplugin=ts3db_mariadb
dbsqlcreatepath=create_mariadb/
dbpluginparameter=ts3db_mariadb.ini
dbconnections=10
logpath=logs
logquerycommands=0
dbclientkeepdays=30
logappend=0
query_skipbruteforcecheck=0

按 Ctrl + X 并在出现提示时输入 Y 关闭文件。要了解这些配置设置,您可以参考 doc 文件夹中的文件 server_quickstart.md。上述文件将 TeamSpeak 配置为使用 MariaDB 而不是 SQLite 数据库。

退出 TeamSpeak shell。

$ exit

我们需要告诉 TeamSpeak 服务器使用新创建的配置文件。停止并禁用 TeamSpeak 服务。

$ sudo systemctl stop ts3server && sudo systemctl disable ts3server

打开服务文件。

$ sudo nano /lib/systemd/system/ts3server.service

找到行 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 并通过添加配置文件详细信息来更改它,如下所示。

....
Type=forking
ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini
....

按 Ctrl + X 并在出现提示时输入 Y 关闭文件。

重新加载服务守护程序以应用更改。

$ sudo systemctl daemon-reload

启用并启动 TeamSpeak 服务。

$ sudo systemctl enable ts3server --now

检查服务器的状态。

$ sudo systemctl status ts3server
? ts3server.service - TeamSpeak3 Server
     Loaded: loaded (/lib/systemd/system/ts3server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-03-29 12:21:22 UTC; 6s ago
    Process: 26511 ExecStart=/opt/teamspeak/ts3server_startscript.sh start license_accepted=1 inifile=ts3server.ini (code=exited, status=0/SUCCESS)
   Main PID: 26518 (ts3server)
      Tasks: 21 (limit: 2341)
     Memory: 16.0M
        CPU: 1.818s
     CGroup: /system.slice/ts3server.service
             ??26518 ./ts3server license_accepted=1 inifile=ts3server.ini  daemon=1 pid_file=ts3server.pid

Mar 29 12:21:23 teamspeak ts3server_startscript.sh[26518]:          apikey= "BAA_lDBRBQxy2nPJXwPQvTRk9_sX3o403Ktlbjz"
Mar 29 12:21:23 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:                       I M P O R T A N T
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       ServerAdmin privilege key created, please use it to gain
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       serveradmin rights for your virtualserver. please
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:       also check the doc/privilegekey_guide.txt for details.
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]:        token=kuFsCpz8G7204KiYgQJR8X8orHR+C8OrSv21MZRw
Mar 29 12:21:24 teamspeak ts3server_startscript.sh[26518]: ------------------------------------------------------------------

这样做将重新创建特权密钥。下次您登录服务器时,系统会要求您提供它。但是,您的服务器管理密码将保持不变。

第 9 步 - 升级 TeamSpeak

升级 TeamSpeak 服务器的第一步是停止服务器。

$ sudo systemctl stop ts3server

从官方网站下载最新版本并将存档解压缩到 /opt/teamspeak 目录,按照教程中的步骤 2 和 3 覆盖原始文件。确保更改提取文件夹的权限。

完成后,再次启动服务器。

$ sudo systemctl start ts3server

结论

我们关于在基于 Debian 11 的服务器上安装和使用 TeamSpeak Server 的教程到此结束。如果您有任何问题,请在下面的评论中发表。

©2015-2025 艾丽卡 support@alaica.com