如何快速准确的查找到服务器玩家Hunluan_2的UUID
参与须知
- 无需用户等级条件,MCBBS注册会员均可参赛;
- 活动帖将在“你问我答”大区下的“综合问答”、“联机问答”、“Mod问答”、“PE问答”四个板块同时进行;
- [活动专用问题悬赏]帖会不止1个,版主会在指定时间段内随机发布多个问题供大家抢答;
- [活动专用问题悬赏]是具备高亮色的版主发帖,回答非活动悬赏贴不算作参与本次活动;
- 率先回答正确答案即可获得奖品,正确与否由发题版主裁定;
- 每个会员仅可获得激活码1条与下界之星1颗,多次抢答仅可获得其他积分奖励;
- 不得复制、摘抄、使用他人的答案,违规的回复将依照版规处罚;
- 活动获奖信息会在7月12日统一公示,并在之后通过论坛私信统一发放激活码;
- 活动最终解释权由我的世界中文论坛以及网易所有;
SmartTable ——来自MCBBS客户端PC版 |
用ctrl+F查服务器的log文件
服务器目录下的 usercache.json 文件
利用entitydata获得UUIDLeast和Most,然后使用PCB将其转换成UUID
在服务器文件usercache.json 里搜寻Hunluan_2这个游戏id就可以查到
usercache.json
[{"name":"Xing_XiaoWang","uuid":"a9a9ca04-e9d9-32d7-b14d-8ef52cf0df74","expiresOn":"2017-08-09 21:53:56 +0800"},{"name":"c8w","uuid":"eb3654e8-1c84-31b9-8aee-4865a31192c0","expiresOn":"2017-07-28 20:49:39 +0800"},{"name":"c7w","uuid":"e38ade1e-db55-3afa-af10-fb241cd80ead","expiresOn":"2017-08-09 20:35:45 +0800"}]
[{"name":"Xing_XiaoWang","uuid":"a9a9ca04-e9d9-32d7-b14d-8ef52cf0df74","expiresOn":"2017-08-09 21:53:56 +0800"},{"name":"c8w","uuid":"eb3654e8-1c84-31b9-8aee-4865a31192c0","expiresOn":"2017-07-28 20:49:39 +0800"},{"name":"c7w","uuid":"e38ade1e-db55-3afa-af10-fb241cd80ead","expiresOn":"2017-08-09 20:35:45 +0800"}]
1345979462 发表于 2017-7-10 17:42
usercache.json
[{"name":"Xing_XiaoWang","uuid":"a9a9ca04-e9d9-32d7-b14d-8ef52cf0df74","expiresOn":" ...
就像这样 找name: Hunluan_2
然后找uuid
/testfor @a[name=Hunluan_2]
- https://namemc.com/ ???
- http://www.mcbbs.net/thread-574471-1-1.html ???
- 打开 usercache.json ???
- 进服不是有提示的吗??
打开网址http://mcuuid.net/,在查询框中输入Hunluan_2即可
打开网站https://mcuuid.net/在查询栏里输入Hunluan_2就可以找到
这个只能查询正版玩家的UUID,盗版玩家的UUID可以在服务器里的usercache.json文件中查询关键字找到

这个只能查询正版玩家的UUID,盗版玩家的UUID可以在服务器里的usercache.json文件中查询关键字找到
正版玩家UUID:
http://wiki.vg/Mojang_API 中有写明,只需在浏览器中打开 https://api.mojang.com/users/profiles/minecraft/Hunluan_2 即可
非正版玩家UUID:
执行Java代码复制代码所得输出即为想要的结果。
目前没有找到对于 nameUUIDFromBytes 的其他语言实现。
http://wiki.vg/Mojang_API 中有写明,只需在浏览器中打开 https://api.mojang.com/users/profiles/minecraft/Hunluan_2 即可
非正版玩家UUID:
执行Java代码
- java.util.UUID.nameUUIDFromBytes("OfflinePlayer:Hunluan_2".getBytes("UTF-8"))
目前没有找到对于 nameUUIDFromBytes 的其他语言实现。
补充:我Google了一下,nameUUIDFromBytes的确没有其他语言的类似实现。但你可以随便找一个能运行Java代码的在线工具 例如https://c.runoob.com/compile/10,然后执行如下代码复制代码
具体哪个更快捷,要分情况来,没有一种方法同时擅长于所有情况的。如果觉得要执行Java代码很麻烦的话还可以试试:
上面提到的Java代码来源于我在研究MC协议时无意中的发现。位于NMS的LoginListener类:复制代码
- public class HelloWorld {
- public static void main(String []args) throws Throwable{
- System.out.println(java.util.UUID.nameUUIDFromBytes("OfflinePlayer:Hunluan_2".getBytes("UTF-8")));
- }
- }
具体哪个更快捷,要分情况来,没有一种方法同时擅长于所有情况的。如果觉得要执行Java代码很麻烦的话还可以试试:
- 查询 usercache.json
- 查询服务器日志
- 如果那个玩家在线,执行 /testfor @a[name=Hunluan_2]
上面提到的Java代码来源于我在研究MC协议时无意中的发现。位于NMS的LoginListener类:
- protected GameProfile a(GameProfile gameprofile)
- {
- UUID uuid = UUID.nameUUIDFromBytes(("OfflinePlayer:" + gameprofile.getName()).getBytes(Charsets.UTF_8));
-
- return new GameProfile(uuid, gameprofile.getName());
- }
在登录插件的josn文件中查找该玩家UUID 应该是这样~
/testfor @a[name=Hunluan_2]