Developer Guide - RoryMCDev/RoryMC GitHub Wiki

Compiling

  1. Clone the repo to your computer (EG: git clone https://github.com/RoryMCDev/RoryMC.git)
  2. Install Maven
  3. Navigate to the Rory root directory and run git submodule update --init --recursive. This downloads all the needed submodules for Rory and is a crucial step in this process.
  4. Run mvn clean install and locate to the bootstrap, then your desired Rory version, then target folder.

Project layout

  • bootstrap is where we hold the specific platform code. So if you're porting Rory to a new platform, or working with platform-specific code, you likely want to be in here.
  • connector is where connections are handled and the data conversion is done. The majority of Rory work is held here.

Compiler Tools

Lombok

If you're using an IDE for editing any of the RoryMC projects you will most likely need to install Project Lombok plugin as it is used to generate a bunch of handy functions. You can edit without it but you may get missing functions and or other issues displayed in your IDE. Please see the IDE section on their site for the supported plugins and install methods https://projectlombok.org/setup/overview.

Protocol Information

GopherTunnel

GopherTunnel is a library for Bedrock Edition written in Go. The source code is an excellent documentation for the Bedrock protocol.

wiki.vg

For a full rundown of the Java Edition protocol, see here.

wiki.vg (Bedrock)

The Bedrock Edition protocol is documented here, but it's currently incomplete so only use it as a reference.

Programs

debuginfo-be

debuginfo-be is a Spigot plugin that displays an overlay to Rory clients with useful debug information, similar to the F3 screen in Java Edition.

pakkit

pakkit is a GUI-based tool for intercepting packets between a server and client developed by circuit10/Heath123 built using Electron. It works for both Java Edition (using node-minecraft-protocol) and Bedrock (as a GUI wrapper for ProxyPass adding extra features). It supports features such as viewing packet data in JSON format, Edit and Resend and a hex view for raw packet data. You can download it from here. It's currently WIP, so expect bugs.

ProxyPass

ProxyPass is a tool for intercepting packets between a Bedrock server and client developed by the Cloudburst team. It can be found here and the vanilla Bedrock server can be found here.

MCC Toolchest

MCC Toolchest is a tool for viewing and editing NBT data for Bedrock edition, this allows you to see data as it is stored in Bedrock. You can download it from here.

NBTExplorer

NBTExplorer is a tool for viewing and editing NBT data for Java edition, this allows you to see data as it is stored in Java edition. You can download it from here.