P3

Cuberite — modern version support

Porting a C++ Minecraft server implementation from its stalled 1.14 ceiling up through the current game version.

Language
C++
Upstream support
Up to 1.14 (partial for 1.13–1.14)
My contribution
Full support for 1.15 through 1.21.8

Cuberite is a from-scratch, C++ implementation of a Minecraft Java Edition server. The project's official support tops out at 1.12, with experimental support for 1.13 and 1.14. I took it on and extended support all the way from 1.15 up to 1.21.8.

That meant learning and working within a large legacy codebase, understanding Minecraft's networking protocol in depth, and reverse-engineering undocumented parts of the game to figure out what had changed between versions. Beyond basic connection support, I implemented compatibility with the newer save/NBT format and the new data components system introduced in recent versions.