pmmp / BedrockProtocolDumper

Generate basic information about new protocol versions from BDS using Python and GNU objdump

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BedrockProtocolDumper

Generate basic information about new protocol versions from BDS using Python and GNU objdump

Requirements

Usage

python2 protocol_info_generator_objdump.py <path to bedrock_server_symbols.debug> <path to BedrockProtocol src>

How does it work?

protocol_info_generator_objdump uses GNU objdump to extract basic protocol information about a new version of Minecraft from Bedrock Dedicated Server, including the following:

  • Current version (major.minor.patch)
  • Whether or not this version is a beta
  • Current protocol version
  • List of packet IDs

The script currently patches the following files:

It will also generate stub classes for any new packets found.

FAQ

Can this find packet fields automatically?

No. It can only find some basic information like packet IDs and their associated names. Unfortunately, the compiled server doesn't retain any information about the names of struct fields, so the fields still have to be reverse-engineered manually.

Can I use this to generate stuff for other projects?

In theory, yes. Since this tool essentially just requires a list of known packet names, their IDs, and some version info, it should be easily possible to alter the scripts to generate similar code for another project.

About

Generate basic information about new protocol versions from BDS using Python and GNU objdump

License:MIT License


Languages

Language:Python 70.4%Language:PHP 29.6%