-1

我正在寻找一种方法来为我的客户拥有的 Teamspeak 3 服务器创建特权密钥,以便在完成用户注册后,会发送一封电子邮件欢迎他们,但如果他们愿意,还包含一个供他们使用的密钥,无需管理员在场即可轻松连接到 TS 服务器并获得所需的权限。不幸的是,我不知道从哪里开始。我认为这将使用 JavaScript,但现在我认为使用 php 可能会更好。我认为这会使它更安全。请帮忙。

4

2 回答 2

0

当 Teamspeak 3 服务器首次运行时,它会生成一个权限密钥以获得管理员访问权限。此密钥存储在生成的日志文件中,logs/ts3server_后跟日志日期。

为了获得密钥,您应该阅读该日志文件。此代码段打印出特权密钥,至少对我而言。

<?php
// Script in ts3 server's root directory, using PHP 5.4.4

error_reporting(0); // Prevent notices of nonexistent $matches[1], alternatively use array_key_exists before checking for matches[1]
$logs = scandir('logs');
foreach($logs as $log) // In case there are many log files
{
    $content = file_get_contents('logs/'.$log);
    preg_match('/token=(.+)/', $content, $matches); // Find privilege token and get it to $matches[1]
    if($matches[1]) break;
}
echo $matches[1];

现在您可以轻松地使用 $matches[1]mail()向用户发送他们的权限密钥。

于 2013-07-18T19:09:40.467 回答
-1

我认为 3ventic 误解了大卫在问什么。

无论如何,大卫所说的方式更像是编写一个脚本,该脚本将自动为注册用户等可以绕过服务器密码等的组生成特权密钥。

所以为了做他想做的事,你首先可以访问 serverquery 的服务器管理员(这就是 3ventic 所说的),一旦进入,请按照以下网址:https ://freevps.us/thread-11350.html

我很久没有用 PHP 接触过 TS3 的 serverquery 了,但这应该会让你在如何做的时候找到正确的方向。

  1. 通过 PHP 连接到 serverquery
  2. 使用登录 serveradmin密码登录 serverquery 的管理员
  3. 使用命令use sid= serverID选择您要使用的虚拟服务器
  4. 后跟tokenadd tokentype=0 tokenid1= groupID tokenid2=0为该特定组生成特权密钥
  5. 将生成的权限密钥输出返回给用户
于 2015-12-25T09:40:36.563 回答