我想制作一个程序,允许我检查 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编写的。