iceiix / stevenarella

Multi-protocol Minecraft-compatible client written in Rust
Apache License 2.0
1.43k stars 58 forks source link

Since bedrock and java protocols are converging how hard would it be to connect to a bedrock server #314

Open IvanTurgenev opened 4 years ago

IvanTurgenev commented 4 years ago

There is no minecraft client for bedrock on OS X catalina, also i am learning rust, just wondering how hard is the task at hand

iceiix commented 4 years ago

Have not looked into Bedrock protocol support, but if the protocol is similar enough it should be a matter of adding a new definition to https://github.com/iceiix/stevenarella/tree/master/protocol/src/protocol/versions. New packets may have to be defined as well, and handled appropriately. If it is significantly different (I think it was last I checked, https://github.com/PrismarineJS/minecraft-data/tree/master/data?), more changes to support the protocol (framing, encryption, auth?) may be required.

IvanTurgenev commented 4 years ago

i mean these have poped up https://github.com/DragonetMC/DragonProxy https://github.com/GeyserMC/Geyser and they work well

IvanTurgenev commented 4 years ago

probably the in-game ui is going to be the most annoying

iceiix commented 4 years ago

https://github.com/DragonetMC/DragonProxy has been archived, but it looks like https://github.com/GeyserMC/Geyser is still active. "Currently supporting Minecraft Bedrock v1.14.6(0) and Minecraft Java v1.15.2."

gIsForGravity commented 3 years ago

Geyser is currently the only widely used Bedrock proxy for java edition. ProtocolSupport used to have a fork for bedrock, but they also stopped supporting that. Both ProtocolSupport and DragonProxy stopped around when Bedrock completely rewrote their protocol, (I guess to make it more similar to Java, not really sure).

gIsForGravity commented 3 years ago

According to https://wiki.vg/, Bedrock uses Raknet, but you aren't required to use Raknet to interpret its protocol. It still might be useful to take a look at this: https://github.com/JRakNet/JRakNet (It's a Java implementation of Raknet).