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 |
|---|---|
| v766 | 1.21.50 |
repositories {
mavenCentral()
}
dependencies {
implementation("org.allaymc:protocol-extension:0.1.0")
}<dependency>
<groupId>org.allaymc</groupId>
<artifactId>protocol-extension</artifactId>
<version>0.1.0</version>
</dependency>import org.allaymc.protocol.extension.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