Current version: version 0.0.1 (Layer of Fog)
Voxelwind is an upcoming Minecraft: Pocket Edition server project written in Java. It aims to provide a Java-first API, provide high performance, high scalability and flexibility while being easy to use for causal users.
Voxelwind aims to be a comprehensive implementation of MCPE, but is currently incomplete and lacks several important features.
Voxelwind is licensed under the permissive MIT license. However, we would love if you submit improvements you make to Voxelwind upstream so that the larger community can benefit from them.
- MiNET was invaluable in helping me figure out some of the more difficult stuff.
- yawkat's protocol documentation was also useful, especially for encryption.
- BungeeCord's native compression and cryptography support is used in Voxelwind for more performance. We forked it for our use.
- minecraft-data was used to generate item and block type data.
- The Hive is sponsoring the project.
To run Voxelwind, Java 8 (optionally with unlimited strength cryptography policy files for Xbox authentication support) is required. Additionally, it is strongly recommended you run Voxelwind on a recent 64-bit x86 Debian-based Linux distribution (Debian 8 or Ubuntu 16.04) for two reasons:
- Voxelwind can use multiple threads to listen to the same port on Linux (
SO_REUSEPORT). JDK 9 includes native support for this flag, so it is likely this will appear in a future Netty version.
- Voxelwind can take advantage of native compression and encryption support.
Voxelwind will work on other configurations outside 64-bit Debian/Ubuntu, but scalability and throughput will be affected.