我想做一个程序,让我可以检查 Minecraft 服务器的状态,无论它们是在线、离线还是已满。我该怎么做呢?我在想 PHP 服务器端、Python 客户端和 SQL 作为服务器?
我需要一些关于完成这样一项任务需要做什么的重要建议。
我想做一个程序,让我可以检查 Minecraft 服务器的状态,无论它们是在线、离线还是已满。我该怎么做呢?我在想 PHP 服务器端、Python 客户端和 SQL 作为服务器?
我需要一些关于完成这样一项任务需要做什么的重要建议。
您不需要数据库。ping 服务器。如果它有响应,它就启动了……显示一个大的绿色复选标记。如果它没有响应……它就挂了。显示一个大的红色 x。您可以在任何地方在 FB API 或纯 PHP 中执行此操作。
请参阅这个问题,它提供了以下代码:
function ping($host, $port, $timeout)
{
$tB = microtime(true);
$fP = fSockOpen($host, $port, $errno, $errstr, $timeout);
if (!$fP) { return "down"; }
$tA = microtime(true);
return round((($tA - $tB) * 1000), 0)." ms";
}
值得注意的是,如果您想要的不仅仅是服务器启动/关闭状态的更多信息,您可以使用大多数服务器已启用的 MineQuery 协议。
更多信息@ DinnerBone 的工具。
如果服务器使用 CraftBukkit,这将允许您获取当前/最大玩家、MOTD、游戏版本和一些其他详细信息。
这个版本也是用 PHP 编写的。