Skip to content

Commit f5348a8

Browse files
authored
Create README.md
1 parent c993a2e commit f5348a8

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
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还是算了吧)。

0 commit comments

Comments
 (0)