renatorib / otinfo
Open Tibia 服务器信息解析器
dev-master
2015-05-26 23:33 UTC
Requires
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-28 16:39:19 UTC
README
通过IP和端口从服务器响应中获取信息
安装
只需下载此存储库,并将 otinfo.php 包含在内 重要:必须有一个可写的 cache 文件夹与 otinfo.php 在同一级别,否则将无法正常工作
include('otinfo.php');
开始使用
要实例化一个 otserv,创建一个新的 Otinfo 对象
$server = new Otinfo\Otinfo('shadowcores.twifysoft.net');
第一个参数是服务器 $ip,第二个是 $port(默认为 7171)
获取信息
if ($server->execute()) { echo "Players online: " . $server->players['online'] . "<br />"; echo "Server location: " . $server->serverinfo['location'] . "<br />"; echo "Client version: " . $server->serverinfo['client'] . "<br />"; // these are just a few examples } else { echo "Server offline"; // if execute() returns false, the server are offline }
`execute()` 方法会捕获/解析服务器返回的响应,如果服务器离线,则返回 false。
可能的响应
每个服务器都有自己的响应,可能与其他服务器不同。这意味着并非所有服务器都返回相同的信息,一个服务器可能拥有其他服务器没有的信息。
以下是一些可能的答案节点
玩家服务器信息motd所有者怪物地图NPC- 可能还有其他
这意味着如果想要测试,可以使用 print_r、var_dump 等,以了解返回响应的节点
print_r($server->players); print_r($server->serverinfo); //etc
缓存
Otinfo 缓存不仅为了性能,还为了避免由于 tfs 保护而导致的空响应。如前所述,您必须在 otinfo.php 同级目录下有一个可写的 cache 文件夹,否则将无法正常工作。默认缓存时间为 180 秒(三分钟)。您可以在 otinfo.php 中编辑此行进行更改
private static $cache = 180; //seconds you want
超时
当连接不好时,您可以增加超时时间
private static $timeout = 5; //seconds you want
由 Renato Ribeiro 和 Ranieri Althoff 用 ❤️ 制作
贡献者 - 我衷心的感谢
- gpedro
- rmobis
- yrpen
- DSpeichert