CloudburstMC / ProxyPass

MITM proxy tool for Minecraft: Bedrock Edition
GNU Affero General Public License v3.0
132 stars 47 forks source link

Initial Support for Minecraft Education Edition #10

Open bundabrg opened 4 years ago

bundabrg commented 4 years ago

I can now successfully run ProxyPass between two MCEE 1.14.60 devices.

Changes include:

Issues:

lukeeey commented 4 years ago

You kinda have to PR to protocol otherwise this pull request is useless and can’t be merged

bundabrg commented 4 years ago

That's why its a draft. Also in its current state it would be bad to merge into master as we need to specify the edition at runtime. I'm just placing this here in case there are any comments otherwise my actions will be to PR v363 to Protocol and add a config item for edition.

bundabrg commented 4 years ago

This now supports both MCPE and MCEE with a flag in the config file.

It will not compile unless first compiling https://github.com/NukkitX/Protocol/pull/39 which will provide 2.5.7-SNAPSHOT version of of Protocol.

Now all yours @lukeeey. I'm so tired of looking at raw packets of meaningless data and having intimate knowledge of both zig zag encoding and VarInts as well as forgetting when packets had varints and when it was ints.

bundabrg commented 4 years ago

I do have a question. If a packet that does not have any mapping comes across does this get logged or is it just silently passed on? I have a slight suspicion that MCEE is passing a packet that I'm not seeing when the client presses pause and running tcpdump to confirm this is tricky considering the deluge of other data flowing.

lukeeey commented 4 years ago

Is there any sort of server software for education edition? Or you may be able to use IDA to dissasemble the client and then search for strings containing "Packet", as every packet class has a method that returns the packet name as a string.

natekfl commented 4 years ago

Just chiming in - As far as I can tell, there is no standalone server software for edu at the moment. See my post here https://minecrafteducation.zendesk.com/hc/en-us/community/posts/360062461351

bundabrg commented 4 years ago

I've not needed to make any changes to this so I think this can be considered complete.

It's also now easier to test as the feature/mcee branch of GeyserMC provides a way to generate a token and connect using only 1 mcee account.

bundabrg commented 4 years ago

1.16 Version

bundabrg commented 4 years ago

This is now 1.16 ready