syz666
如题,正版服务器如何在玩家离线的情况下获取其UUID?即,已知其ID,如何知道其UUID?有无不需要插件的方法?如果没有,有无插件可解决?

服务器版本:PaperSpigot 1.12向下兼容至1.9


syz666
附加条件:已知该玩家更改了其ID.只知道原ID.

nsisogf
目前我已知的最简单方法是使用插件来获取。

首先创建一个OfflinePlayer(离线玩家)的变量并进行赋值(根据玩家游戏名称来赋值,xxx代表玩家名称)
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer("xxx");

其次创建一个UUID变量,用offlinePlayer.getUniqueId()方法进行赋值。
UUID uuid = offlinePlayer.getUniqueId();

最后将uuid.tostring()即可返回此离线玩家的UUID字符串值。
uuid.tostring();

只需要三句话:
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer("xxx");
UUID uuid = offlinePlayer.getUniqueId();
uuid.toString();

就可以获得离线玩家UUID了

希望对您有所帮助

BobPlayer
国外有一个网站可以通过名字查询UUID:https://mcuuid.net/
不过只能通过现在的名字。
根据你的描述应该是想知道服务器以前玩家的UUID,那么前提是服务器中还有该玩家的数据:
工具:FindStr 6.0:http://www.pc6.com/softview/SoftView_26088.html
FindStr可以查找文件中的字符串,而ESS会记录这些数据,我们可以利用它来查询UUID。
将FindStr的目录选择到plugins\Essentials\userdata文件夹,搜索玩家的名字。
很快你会发现至少有一个文件被搜索到,打开那个文件,检查其中的第一行lastAccountName参数是不是玩家的名字。
如果是这个配置文件的文件名就是该玩家的UUID。

syz666
浅念哥 发表于 2017-7-8 17:32
国外有一个网站可以通过名字查询UUID:https://mcuuid.net/
不过只能通过现在的名字。
根据你的描述应该是 ...

我知道mcuuid.net可以查 但是只能用现在的名字
我就是想问以前的名字。
服务器没装ess

https://namemc.com
可以查询玩家皮肤 UUID以及ID变更历史