使用PHP列出服务器上的Minecraft播放器用户名


Use PHP to List Minecraft Player Usernames on a Server

我一直在寻找一个解决方案,列出目前在Minecraft服务器上在线的玩家的用户名。我的客户不想使用插件,所以这看起来更棘手。

我看到DinnerBone在他的网站上使用Python列出在线玩家的用户名。我想知道这是否可行,如果不可行,有人知道如何实现吗?

是的,可以做到。您应该阅读PHP的套接字API。然后,您只需要找出正确的消息来发送并解析接收到的结果。

请记住,并非所有主机都允许基于安全设置进行此类操作,因为理论上,它可能会被滥用到大多数主机不希望你做的事情上(比如运行游戏或聊天服务器等)。

我找到了我想要的答案。如果其他人想知道以备将来参考,我使用xPaw的PHP类,这些类使用RCON来查询服务器的IP并返回各种信息(在本例中是当前服务器上的用户名)。

我使用了MinecraftQuery_Simple.php文件。然后它就像定义服务器地址/IP和(在我的情况下):一样简单

    <?PHP
        if(($Players = $Query->GetPlayers()) !== false) {
            foreach($Players as $Player) {
            echo "<img src=https://minotar.net/avatar/".$Player."/74.png>
                  <p>".$Player."</p>";
            }
        } 
    ?>

希望将来有人能发现这个和我一样有用。