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.