funtimecoding / seat-teamspeak
此插件为标准SeAT角色作业提供扩展,用于处理Teamspeak用户的自动毕业
Requires
- ext-json: *
- warlof/seat-connector: ^2.1
This package is auto-updated.
Last update: 2024-09-26 01:23:07 UTC
README
此插件是为SeAT编写的,它为您的实例提供了一种使用查询和授权权限系统来管理Teamspeak的方式。
要求
- 为了使此驱动程序与Teamspeak一起工作,目标Teamspeak服务器必须是3.12.x或更高版本。请确保您正在运行最新版本
- 必须启用Teamspeak服务器上的REST Api(http或https查询协议) - 见下面的说明
安装
包部署
裸金属安装
在您的seat目录中(默认:/var/www/seat
),输入以下命令:
php artisan down composer require warlof/seat-teamspeak php artisan vendor:publish --force --all php artisan migrate php artisan up
现在,当您登录到SeAT
时,您应该在侧边栏中看到一个Connector
类别。
Docker安装
在您的docker-compose.yml
文件所在的目录中,编辑.env
配置文件(默认:/opt/seat-docker/.env
)
找到SEAT_PLUGINS
行,并在末尾追加warlof/seat-teamspeak:^5.0
。
- 如果该行以尖括号
#
开头,请用SEAT_PLUGINS=warlof/seat-teamspeak:^5.0
替换该行。 - 如果已定义其他插件,请将逗号追加到现有值的末尾:
SEAT_PLUGINS=author/package,warlof/seat-teamspeak:^5.0
。
完成后,您可以使用docker-compose up -d
重新启动您的堆栈。
Teamspeak服务器配置
访问您的Teamspeak服务器,找到query_ip_whitelist.txt
文件。将Seat安装服务器的IP地址添加到列表中,以避免在运行作业时发生洪水式封禁。别忘了在query_ip_whitelist.txt
的末尾添加一个空行。
如果尚未这样做,您必须启用http
或https
协议以允许服务器查询。这可以通过将一个或两个追加到环境变量TS3SERVER_QUERY_PROTOCOLS
(如果使用Docker)或作为启动参数的query_protocols
(如果使用blade安装)来完成。
注意
使用的IP地址必须是SeAT将用来联系您的Teamspeak服务器的IP地址。如果您有两个服务器通过私有网络连接,并且您计划让SeAT在该网络上联系teamspeak实例,您必须添加SeAT的私有IP而不是其公共IP地址。
一旦完成此配置,我们将生成一个API密钥,SeAT将使用它来发送其命令到Teamspeak。为此,请使用您选择的工具(例如:putty或YaTQA)通过serveradmin
帐户在teamspeak服务器上进行身份验证
- 使用
login serveradmin ${serveradminpassword}
对服务器进行身份验证 - 使用
apikeyadd scope=manage lifetime=0
为SeAT生成新的API密钥
服务器应回答类似的内容
TS3
Welcome to the TeamSpeak 3 ServerQuery interface, type "help" for a list of commands and "help <command>" for information on a specific command.
error id=0 msg=ok
apikey=BAByFoiEXZfnSJyE6dbXFiW_nn_SdwkclpKNz9j id=4 sid=0 cldbid=1 scope=manage time_left=unlimited created_at=1582102492 expires_at=1582102492
error id=0 msg=ok
在上面的示例中,生成的API密钥是BAByFoiEXZfnSJyE6dbXFiW_nn_SdwkclpKNz9j
。这是您需要设置的用于SeAT连接器的部分。
连接器设置
使用管理员账户在您的SeAT实例上进行认证。您可以使用内置的管理员用户,通过php artisan seat:admin:login
进行登录,这将提供给您适当的权限。
在侧边栏中,点击连接器
,然后点击设置
。
将配置更改以符合您的Teamspeak服务器设置到Teamspeak
模块。
- 服务器地址:这是用户将用于连接到您的Teamspeak实例的地址(可以是IP或域名)
- 服务器端口:这是用户将用于连接到您的Teamspeak实例的端口(默认为
9987
) - API基础URL:这是SeAT将用于联系您的Teamspeak服务器的URL(默认为
http://teamspeak_address:10080
或https://teamspeak_address:10443
) - API密钥:这是您在前一步骤中生成的密钥
初始化
使用管理员账户在您的SeAT实例上进行认证。您可以使用内置的管理员用户,通过php artisan seat:admin:login
进行登录,这将提供给您适当的权限。
在侧边栏中,点击连接器
,然后点击设置
。
在驱动程序下拉列表中,选择Teamspeak
,然后点击更新集
按钮,这将排队一个作业以拉取您当前定义的所有服务器组。
通过访问管理
部分进行授权。
调度器
使用管理员账户在您的SeAT实例上进行认证。您可以使用内置的管理员用户,通过php artisan seat:admin:login
进行登录,这将提供给您适当的权限。
在侧边栏中,点击设置
,然后点击调度
。
- 添加
seat-connector:apply:policies
(建议每30分钟运行一次)
为了授予对身份
部分的访问权限,您必须将seat-connector.view
权限添加到分配给用户的角色中。
查询权限
以下列出所需权限和使用的查询模式: