Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A NetEase (China) Minecraft protocol extension library for CloudburstMC/Protocol

Notifications You must be signed in to change notification settings

AllayMC/ProtocolExtension

Repository files navigation

Protocol Extension

protocol-extension

A NetEase (China) Minecraft protocol extension library for CloudburstMC/Protocol.

Features

  • NetEase client compression support (raw deflate format)
  • NetEase login chain validation with NetEase public key

Supported Protocols

Protocol Version Minecraft Version
v630 1.20.50
v686 1.21.2
v766 1.21.50

Installation

Gradle (Kotlin DSL)

repositories {
 mavenCentral()
}
dependencies {
 implementation("org.allaymc:protocol-extension:<version>")
}

Maven

<dependency>
 <groupId>org.allaymc</groupId>
 <artifactId>protocol-extension</artifactId>
 <version>version</version>
</dependency>

Usage

Using NetEase Codec

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);

Using NetEase Compression

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));

Validating NetEase Login Chain

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
}

Detecting NetEase Clients

NetEase clients use RakNet protocol version 8:

int NETEASE_RAKNET_VERSION = 8;
boolean isNetEaseClient = session.getPeer().getRakVersion() == NETEASE_RAKNET_VERSION;

License

LGPL 3.0 - see LICENSE for details.

Credits

About

A NetEase (China) Minecraft protocol extension library for CloudburstMC/Protocol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

Languages

AltStyle によって変換されたページ (->オリジナル) /