File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # 简介
2+
3+ ## 支持正版服务器的命令行MC登陆器
4+
5+ ### 关键词:Java、支持正版验证、命令行(无图形界面)、仅支持协议757(MC 1.18)、简单
6+
7+ + 使用Java编写,许多代码来自另一开源项目 [ Another-Minecraft-Chat-Client] ( https://github.com/Defective4/Another-Minecraft-Chat-Client ) ,mCClient算是它的简化版本吧,只是加上了对正版的支持。
8+
9+ + 目前仅支持使用UUID及AccessToken进行正版验证,还没搞微软那个登录,如何获取UUID和AccessToken可以看看下面的说明。
10+
11+ + 本人Java功力不深,这个东西更多是一个半成品或者是一个示例,只有较少的功能。
12+
13+ ### 现阶段的具体功能
14+
15+ + 设置服务器的host、port、protocol及玩家的username、uuid、token(AccessToken) 。
16+
17+ + 使用设置上面好的参数登录正版/离线模式的服务器(离线模式可用不填uuid和token,username也可以任意填写)。
18+
19+ + 获取服务器的信息(就是MC服务器列表),这个可能信息会多一点,可以看到目前在线的玩家(应该吧)。
20+
21+ + 获取游戏内的消息,向游戏发送消息,没有给太多消息(一串Json)进行分析,看起来会有一点乱。
22+
23+ + 在玩家生命值、饥饿值发生变化时,返回数值。
24+
25+ + 当玩家死亡时,自动重生。同时返回提示。
26+
27+ + 保存玩家的参数到其文件夹内自动生成的json文档(mCClient.json),下次就能直接使了。
28+
29+ ### 如何使用
30+
31+ + 下载 "mCClient_1.0.zip",并解压。
32+
33+ + 双击 "GoGo.bat" 即可进入软件。
34+
35+ + 输入"help"获取比较简明的说明,应该就能直接看懂了。
36+
37+ #### 关于正版验证的UUID及AccessToken的获取
38+
39+ 我平常是使用HMCL登陆器的(一个开源的MC登陆器,可以去Github上看看)。在用微软账号授权后,它的认证系统可以帮助我们获取我们的UUID及AccessToken。
40+
41+ 在与启动器同一文件夹内的hmcl.json内就能看到。
42+
43+ # 具体实现
44+
45+ 可以去参考 [ wiki.vg] ( https://wiki.vg/Protocol ) ,以及 [ 列表] ( https://wiki.vg/Client_List ) 内的其他开源客户端。
46+
47+ 也可以看看我写的一个小总结[ mc的通信协议及其实现] ( https://c20c01.github.io/2022/02/23/mc%E7%9A%84%E9%80%9A%E4%BF%A1%E5%8D%8F%E8%AE%AE%E5%8F%8A%E5%85%B6%E5%AE%9E%E7%8E%B0/ ) 。
48+
49+ # 不足之处请多多包涵。 2022/2/23
50+
51+ ## ps:
52+
53+ 因为里面搞中文注释会没法编译,搞英文又看不懂,所以就没搞注释了。
54+ 里面那些注释应该都来自上面提到的“AMCC”,那个比较高级(就是没法支持正版验证,不然我就直接使那个了,当然也就没有这个了),起码有UI,从里面copy、学到了不少。
55+ 正版验证后的加密对话,那部分是从mc源码学到的,做mod的那个项目里就能看到。
56+ 我也不太会用Git,不太敢直接在人家那里搞的,再加上他那个有点难懂,于是就单搞了这个,比较简单明了的版本,比较适合大家从里面学习mc的相关协议(学我的Java还是算了吧)。
You can’t perform that action at this time.
0 commit comments