savander/twservers

Teeworlds 服务器信息

1.2.1 2017-09-04 21:26 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:04:36 UTC


README

PHP 库(+Laravel)- Teeworlds 服务器信息 此软件包允许您从 Teeworlds 服务器以及 TeeWorlds 主服务器收集信息。

要求

  • PHP ^7.0

Composer

使用以下命令通过 composer 安装此软件包

composer require savander/twservers

若仅在开发系统中安装此软件包,请向 composer 命令添加 --dev 标志

composer require --dev savander/twservers

对于 Laravel

Laravel 5.5+

Laravel 5.5 引入了软件包自动发现功能。这意味着您无需自己添加别名和提供者到您的应用程序。

对于 Laravel 5.4~

更新 composer 后,将服务提供者添加到 config/app.php 中的 providers 数组

Savander\TwServers\TwServersServiceProvider::class,

另外,将外观添加到 config/app.php 中的 aliases 数组

'TwServers' => Savander\TwServers\Facades\TwServers::class,

用法(基于 Laravel Facade 的示例)

Teeworlds 服务器

从服务器/服务器收集信息可能需要一些时间。

您可以通过传递 arrayServerResolver 类直接到函数来向对象添加一个或多个服务器。

$servers = TwServers::addServers([
        new ServerResolver('192.168.0.1', 8303),
        new ServerResolver('192.168.0.2', 8305)
    ]
);

(默认情况下,您无需传递 port,默认为 8303

$servers = TwServers::addServer(
        new ServerResolver('192.168.0.1')
);

要列出您添加的每个服务器,请使用 getServers() 函数

  $servers->getServers();

它将返回您传递给对象的、包含服务器数据的服务器列表。

您可以使用 getPlayers() 函数自动从服务器获取玩家。您可以传递 ServerResolverInterface 对象或字符串(如 ip:port)以从已添加的服务器获取数据。

$servers = TwServers::getPlayers(
        new ServerResolver('192.168.0.1')
);

# Array of Player objects
$players = $server->getPlayers();

要从已添加的服务器中获取特定服务器,请使用函数 getServer(string $string)

# Index as a combination of ip and port => ip:port or
#                                          ip (only if standard port 8303)
$server = $servers->getServer('192.168.0.1')

ServerResolver 有一些您可以使用的功能,请检查 ServerResolverInterfaceServerResolverInterface.php

如果服务器有玩家,ServerResolver 存储了 PlayerInterface,它也有一些功能: PlayerInterface

Teeworlds 主服务器

从主服务器收集信息可能需要一些时间。

您可以通过传递 arrayServerResolver 类直接到函数来向对象添加一个或多个服务器。

$servers = TwServers::addMasterServers([
       new MasterServerResolver('master1.teeworlds.com', 8300),
       new MasterServerResolver('master2.teeworlds.com', 8300),
       new MasterServerResolver('master3.teeworlds.com'),
       new MasterServerResolver('master4.teeworlds.com')
    ]
);

或直接传递 MasterServerResolver 类到函数。(您无需传递 port,默认为 8300

$servers = TwServers::addMasterServer(
        new MasterServerResolver('master2.teeworlds.com')
);

要列出您添加的每个服务器,请使用 getMasterServers() 函数

  $servers->getMasterServers();

它将返回您传递给对象的、包含主服务器数据的服务器列表。

要从已添加的服务器中获取特定主服务器,请使用函数 getMasterServer(string $string)

# Index as a combination of ip and port => ip:port or
#                                          ip (only if standard port 8300)
$server = $servers->getMasterServer('master2.teeworlds.com')

MasterServerResolver 有一些您可以使用的功能,请检查 MasterServerResolverInterfaceMasterServerResolverInterface.php

您可以根据这些接口添加自己的版本。