我知道有可能获得有关远程Minecraft服务器的一些信息,例如:
当前玩家/最大玩家
MOTD
版
但是是否有可能在任何服务器上获取白名单的状态?
Socket socket = new Socket();
socket.connect(new InetSocketAddress(ip, port), 1 * 1000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
DataInputStream in = new DataInputStream(socket.getInputStream());
out.write(0xFE);
StringBuilder str = new StringBuilder();
int b;
while ((b = in .read()) != -1) {
if (b != 0 && b > 16 && b != 255 && b != 23 && b != 24) {
str.append((char) b);
}
}
String[] data = str.toString().split("§");
String motd = data[0];
int onlinePlayers = Integer.valueOf(data[1]);
int maxPlayers = Integer.valueOf(data[2]);
我知道可以通过加入服务器并检查用户是否被踢“您在此服务器上未列入白名单”来实现。但这将花费太长时间。
那么,实际上是否可以通过不加入服务器来检查服务器是否启用了白名单?
最佳答案
您无需对服务器进行硬编码即可获得列入白名单的播放器。只需使用包含白名单方法的Bukkit API。
要从文件中获取白名单播放器,请执行以下操作:
Bukkit.getServer().getWhitelistedPlayers();
要检查是否启用了白名单:
Bukkit.getServer().hasWhitelist();
关于java - 检查我的世界服务器是否启用了白名单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57385650/