savander / twservers
Teeworlds 服务器信息
Requires
- php: ^7.0
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 服务器
从服务器/服务器收集信息可能需要一些时间。
您可以通过传递 array 或 ServerResolver 类直接到函数来向对象添加一个或多个服务器。
$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 有一些您可以使用的功能,请检查 ServerResolverInterface: ServerResolverInterface.php
如果服务器有玩家,ServerResolver 存储了 PlayerInterface,它也有一些功能: PlayerInterface
Teeworlds 主服务器
从主服务器收集信息可能需要一些时间。
您可以通过传递 array 或 ServerResolver 类直接到函数来向对象添加一个或多个服务器。
$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 有一些您可以使用的功能,请检查 MasterServerResolverInterface: MasterServerResolverInterface.php
您可以根据这些接口添加自己的版本。