我一直在寻找一个解决方案,列出目前在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>";
}
}
?>
希望将来有人能发现这个和我一样有用。