A NetEase (China) Minecraft protocol extension library for CloudburstMC/Protocol.
- NetEase client compression support (raw deflate format)
- NetEase login chain validation with NetEase public key
| Protocol Version | Minecraft Version |
|---|---|
| v630 | 1.20.50 |
| v686 | 1.21.2 |
| v766 | 1.21.50 |
repositories {
mavenCentral()
}
dependencies {
implementation("org.allaymc:protocol-extension:<version>")
}<dependency> <groupId>org.allaymc</groupId> <artifactId>protocol-extension</artifactId> <version>version</version> </dependency>
import org.allaymc.protocol.extension.codec.v766.Bedrock_v766_NetEase; import org.cloudburstmc.protocol.bedrock.codec.BedrockCodec; BedrockCodec codec = Bedrock_v766_NetEase.CODEC; session.setCodec(codec);
import org.allaymc.protocol.extension.NetEaseCompression; import org.cloudburstmc.protocol.bedrock.netty.codec.compression.BatchCompression; BatchCompression compression = new NetEaseCompression(); session.getPeer().setCompression(new SimpleCompressionStrategy(compression));
import org.allaymc.protocol.extension.NetEaseEncryptionUtils; import org.cloudburstmc.protocol.bedrock.util.ChainValidationResult; ChainValidationResult result = NetEaseEncryptionUtils.validateChain(chainData); if (result.signed()) { // Chain is valid and signed by NetEase }
NetEase clients use RakNet protocol version 8:
int NETEASE_RAKNET_VERSION = 8; boolean isNetEaseClient = session.getPeer().getRakVersion() == NETEASE_RAKNET_VERSION;
LGPL 3.0 - see LICENSE for details.
- AllayMC - Original implementation
- CloudburstMC/Protocol - Base protocol library