1

我想做一个程序,让我可以检查 Minecraft 服务器的状态,无论它们是在线、离线还是已满。我该怎么做呢?我在想 PHP 服务器端、Python 客户端和 SQL 作为服务器?

我需要一些关于完成这样一项任务需要做什么的重要建议。

4

2 回答 2

8

您不需要数据库。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"; 
}
于 2012-06-28T14:10:38.653 回答
1

值得注意的是,如果您想要的不仅仅是服务器启动/关闭状态的更多信息,您可以使用大多数服务器已启用的 MineQuery 协议。

更多信息@ DinnerBone 的工具

如果服务器使用 CraftBukkit,这将允许您获取当前/最大玩家、MOTD、游戏版本和一些其他详细信息。

这个版本也是用 PHP 编写的

于 2012-06-29T13:17:41.147 回答