我想制作一个程序,允许我检查Minecraft服务器的状态,无论他们是在线,离线还是已满。我该怎么做呢?我在考虑PHP服务器端,Python客户端和SQL作为服务器吗?
我需要一些重要的建议,说明为完成这项任务需要做些什么。
答案 0 :(得分:8)
您不需要数据库。 Ping服务器。如果它响应,它就会......显示一个大的绿色复选标记。如果它没有响应......那就失败了。显示一个大的红色x。您可以在FB API中或在任何地方使用普通的PHP。
请参阅this question,其中提供了以下代码:
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";
}
答案 1 :(得分:1)
值得注意的是,如果您需要的信息不仅仅是服务器启动/关闭状态,您可以使用大多数服务器启用的MineQuery协议。
更多信息@ DinnerBone's tool。
如果服务器使用CraftBukkit,这将允许您获取当前/最大播放器,MOTD,游戏版本和一些其他详细信息。